ZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL1JlYWQgTWUudHh0IGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvUmVhZCBNZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ5MTY1MgotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL1JlYWQgTWUudHh0CkBAIC0wLDAgKzEsNyBAQAorT3BlbiAqZGVtby5odG1sKiB0byBzZWUgYSBsaXN0IG9mIGFsbCB0aGUgZ2x5cGhzIGluIHlvdXIgZm9udCBhbG9uZyB3aXRoIHRoZWlyIGNvZGVzL2xpZ2F0dXJlcy4KKworVG8gdXNlIHRoZSBnZW5lcmF0ZWQgZm9udCBpbiBkZXNrdG9wIHByb2dyYW1zLCB5b3UgY2FuIGluc3RhbGwgdGhlIFRURiBmb250LiBJbiBvcmRlciB0byBjb3B5IHRoZSBjaGFyYWN0ZXIgYXNzb2NpYXRlZCB3aXRoIGVhY2ggaWNvbiwgcmVmZXIgdG8gdGhlIHRleHQgYm94IGF0IHRoZSBib3R0b20gcmlnaHQgY29ybmVyIG9mIGVhY2ggZ2x5cGggaW4gZGVtby5odG1sLiBUaGUgY2hhcmFjdGVyIGluc2lkZSB0aGlzIHRleHQgYm94IG1heSBiZSBpbnZpc2libGU7IGJ1dCBpdCBjYW4gc3RpbGwgYmUgY29waWVkLiBTZWUgdGhpcyBndWlkZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL2ljb21vb24uaW8vI2RvY3MvbG9jYWwtZm9udHMKKworWW91IHdvbid0IG5lZWQgYW55IG9mIHRoZSBmaWxlcyBsb2NhdGVkIHVuZGVyIHRoZSAqZGVtby1maWxlcyogZGlyZWN0b3J5IHdoZW4gaW5jbHVkaW5nIHRoZSBnZW5lcmF0ZWQgZm9udCBpbiB5b3VyIG93biBwcm9qZWN0cy4KKworWW91IGNhbiBpbXBvcnQgKnNlbGVjdGlvbi5qc29uKiBiYWNrIHRvIHRoZSBJY29Nb29uIGFwcCB1c2luZyB0aGUgKkltcG9ydCBJY29ucyogYnV0dG9uIChvciB2aWEgTWFpbiBNZW51IOKGkiBNYW5hZ2UgUHJvamVjdHMpIHRvIHJldHJpZXZlIHlvdXIgaWNvbiBzZWxlY3Rpb24uCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9kZW1vLWZpbGVzL2RlbW8uY3NzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZGVtby1maWxlcy9kZW1vLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDNmYjRkCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZGVtby1maWxlcy9kZW1vLmNzcwpAQCAtMCwwICsxLDE1MiBAQAorYm9keSB7CisgICAgcGFkZGluZzogMDsKKyAgICBtYXJnaW46IDA7CisgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CisgICAgZm9udC1zaXplOiAxZW07CisgICAgbGluZS1oZWlnaHQ6IDEuNTsKKyAgICBjb2xvcjogIzU1NTsKKyAgICBiYWNrZ3JvdW5kOiAjZmZmOworfQoraDEgeworICAgIGZvbnQtc2l6ZTogMS41ZW07CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKK30KK3NtYWxsIHsKKyAgICBmb250LXNpemU6IC42NjY2NjY2N2VtOworfQorYSB7CisgICAgY29sb3I6ICNlNzRjM2M7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworfQorYTpob3ZlciwgYTpmb2N1cyB7CisgICAgYm94LXNoYWRvdzogMCAxcHggI2U3NGMzYzsKK30KKy5ic2hhZG93MCwgaW5wdXQgeworICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAjZTdlN2U3OworfQoraW5wdXQ6aG92ZXIgeworICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAjY2NjOworfQoraW5wdXQsIGZpZWxkc2V0IHsKKyAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsKKyAgICBmb250LXNpemU6IDFlbTsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IDA7Cit9CitpbnB1dCB7CisgICAgY29sb3I6IGluaGVyaXQ7CisgICAgbGluZS1oZWlnaHQ6IDEuNTsKKyAgICBoZWlnaHQ6IDEuNWVtOworICAgIHBhZGRpbmc6IC4yNWVtIDA7Cit9CitpbnB1dDpmb2N1cyB7CisgICAgb3V0bGluZTogbm9uZTsKKyAgICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggIzQ0OWZkYjsKK30KKy5nbHlwaCB7CisgICAgZm9udC1zaXplOiAxNnB4OworICAgIHdpZHRoOiAxNWVtOworICAgIHBhZGRpbmctYm90dG9tOiAxZW07CisgICAgbWFyZ2luLXJpZ2h0OiA0ZW07CisgICAgbWFyZ2luLWJvdHRvbTogMWVtOworICAgIGZsb2F0OiBsZWZ0OworICAgIG92ZXJmbG93OiBoaWRkZW47Cit9CisubGlnYSB7CisgICAgd2lkdGg6IDgwJTsKKyAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41ZW0pOworfQorLnRhbGlnbi1yaWdodCB7CisgICAgdGV4dC1hbGlnbjogcmlnaHQ7Cit9CisudGFsaWduLWNlbnRlciB7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworfQorLmJnYzEgeworICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7Cit9CisuZmdjMSB7CisgICAgY29sb3I6ICM5OTk7Cit9CisuZmdjMCB7CisgICAgY29sb3I6ICMwMDA7Cit9CitwIHsKKyAgICBtYXJnaW4tdG9wOiAxZW07CisgICAgbWFyZ2luLWJvdHRvbTogMWVtOworfQorLm12bSB7CisgICAgbWFyZ2luLXRvcDogLjc1ZW07CisgICAgbWFyZ2luLWJvdHRvbTogLjc1ZW07Cit9CisubXRuIHsKKyAgICBtYXJnaW4tdG9wOiAwOworfQorLm10bCwgLm1hbCB7CisgICAgbWFyZ2luLXRvcDogMS41ZW07Cit9CisubWJsLCAubWFsIHsKKyAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsKK30KKy5tYWwsIC5taGwgeworICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTsKKyAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtOworfQorLm1obW0geworICAgIG1hcmdpbi1sZWZ0OiAxZW07CisgICAgbWFyZ2luLXJpZ2h0OiAxZW07Cit9CisubWxzIHsKKyAgICBtYXJnaW4tbGVmdDogLjI1ZW07Cit9CisucHRsIHsKKyAgICBwYWRkaW5nLXRvcDogMS41ZW07Cit9CisucGJzLCAucHZzIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogLjI1ZW07Cit9CisucHZzLCAucHRzIHsKKyAgICBwYWRkaW5nLXRvcDogLjI1ZW07Cit9CisudW5pdCB7CisgICAgZmxvYXQ6IGxlZnQ7Cit9CisudW5pdFJpZ2h0IHsKKyAgICBmbG9hdDogcmlnaHQ7Cit9Cisuc2l6ZTFvZjIgeworICAgIHdpZHRoOiA1MCU7Cit9Cisuc2l6ZTFvZjEgeworICAgIHdpZHRoOiAxMDAlOworfQorLmNsZWFyZml4OmJlZm9yZSwgLmNsZWFyZml4OmFmdGVyIHsKKyAgICBjb250ZW50OiAiICI7CisgICAgZGlzcGxheTogdGFibGU7Cit9CisuY2xlYXJmaXg6YWZ0ZXIgeworICAgIGNsZWFyOiBib3RoOworfQorLmhpZGRlbi10cnVlIHsKKyAgICBkaXNwbGF5OiBub25lOworfQorLnRleHRib3gwIHsKKyAgICB3aWR0aDogM2VtOworICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7CisgICAgcGFkZGluZzogLjI1ZW0gLjVlbTsKKyAgICBsaW5lLWhlaWdodDogMS41OworICAgIGhlaWdodDogMS41ZW07Cit9CisjdGVzdERyaXZlIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBwYWRkaW5nLXRvcDogMjRweDsKKyAgICBsaW5lLWhlaWdodDogMS41OworfQorLmZzMCB7CisgICAgZm9udC1zaXplOiAxNnB4OworfQorLmZzMSB7CisgICAgZm9udC1zaXplOiAxNnB4OworfQorCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9kZW1vLWZpbGVzL2RlbW8uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9kZW1vLWZpbGVzL2RlbW8uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY0NWYxYwotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL2RlbW8tZmlsZXMvZGVtby5qcwpAQCAtMCwwICsxLDMwIEBACitpZiAoISgnYm94U2hhZG93JyBpbiBkb2N1bWVudC5ib2R5LnN0eWxlKSkgeworICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCdjbGFzcycsICdub0JveFNoYWRvdycpOworfQorCitkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZSkgeworICAgIHZhciB0YXJnZXQgPSBlLnRhcmdldDsKKyAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICJJTlBVVCIgJiYKKyAgICAgICAgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5pbmRleE9mKCdsaWdhJykgPT09IC0xKSB7CisgICAgICAgIHRhcmdldC5zZWxlY3QoKTsKKyAgICB9Cit9KTsKKworKGZ1bmN0aW9uKCkgeworICAgIHZhciBmb250U2l6ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb250U2l6ZScpLAorICAgICAgICB0ZXN0RHJpdmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdERyaXZlJyksCisgICAgICAgIHRlc3RUZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RUZXh0Jyk7CisgICAgZnVuY3Rpb24gdXBkYXRlVGVzdCgpIHsKKyAgICAgICAgdGVzdERyaXZlLmlubmVySFRNTCA9IHRlc3RUZXh0LnZhbHVlIHx8IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pY29tb29uTGlnYSkgeworICAgICAgICAgICAgd2luZG93Lmljb21vb25MaWdhKHRlc3REcml2ZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb24gdXBkYXRlU2l6ZSgpIHsKKyAgICAgICAgdGVzdERyaXZlLnN0eWxlLmZvbnRTaXplID0gZm9udFNpemUudmFsdWUgKyAncHgnOworICAgIH0KKyAgICBmb250U2l6ZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB1cGRhdGVTaXplLCBmYWxzZSk7CisgICAgdGVzdFRleHQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB1cGRhdGVUZXN0LCBmYWxzZSk7CisgICAgdGVzdFRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdXBkYXRlVGVzdCwgZmFsc2UpOworICAgIHVwZGF0ZVNpemUoKTsKK30oKSk7CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9kZW1vLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9kZW1vLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NhMmExZgotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL2RlbW8uaHRtbApAQCAtMCwwICsxLDUwMTUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlPkljb01vb24gRGVtbzwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFuIEljb24gRm9udCBHZW5lcmF0ZWQgQnkgSWNvTW9vbi5pbyI+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImRlbW8tZmlsZXMvZGVtby5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIj48L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJiZ2MxIGNsZWFyZml4Ij4KKyAgICAgICAgPGgxIGNsYXNzPSJtaG1tIG12bSI+PHNwYW4gY2xhc3M9ImZnYzEiPkZvbnQgTmFtZTo8L3NwYW4+IFp0ZUljdEljb25zIDxzbWFsbCBjbGFzcz0iZmdjMSI+KEdseXBoczombmJzcDszMTEpPC9zbWFsbD48L2gxPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IG1obCBwdGwiPgorICAgICAgICA8aDEgY2xhc3M9Im12bSBtdG4gZmdjMSI+R3JpZCBTaXplOiBVbmtub3duPC9oMT4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1ORlYiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LU5GVjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OTMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTkzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtVk5GTSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtVk5GTTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OTQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTk0OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtVk5GIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1WTkY8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTk1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk5NTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LVZORkMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LVZORkM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTk2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk5NjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LVZJTSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtVklNPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk5NyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5OTc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1WRFUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LVZEVTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OTgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTk4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaG9zdCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaG9zdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OTkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTk5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtTlMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LU5TPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk5YSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5OWE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC11ZXAtbW9jLXVjYS1wdWJsaWMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXVlcC1tb2MtdWNhLXB1YmxpYzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OWIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTliOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdWVwLXRvcG8tY29tbW9uZ3JvdXAyMHgyMCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdWVwLXRvcG8tY29tbW9uZ3JvdXAyMHgyMDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OWMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTljOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdmFwZWxfY2hncGlsZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdmFwZWxfY2hncGlsZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OWQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTlkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY2FyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jYXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTllIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk5ZTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNoZ3BpbGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWNoZ3BpbGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTlmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk5ZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNoZ3Bvc2l0aW9uIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jaGdwb3NpdGlvbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YTAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWEwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY2hnc3RhdGlvbiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY2hnc3RhdGlvbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YTEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWExOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY29tbW9uX2RjIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jb21tb25fZGM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWEyIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlhMjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNvbW1vbl9uY2QiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWNvbW1vbl9uY2Q8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWEzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlhMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNvbW1vbl9uY2RfYnJlYWsiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWNvbW1vbl9uY2RfYnJlYWs8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWE0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlhNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNvbW1vbl9zYyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY29tbW9uX3NjPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlhNSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YTU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1uZXR3b3JrVHJlZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtbmV0d29ya1RyZWU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWE2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlhNjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXJlc291cmNlVHlwZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtcmVzb3VyY2VUeXBlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlhNyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YTc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC10cmVlLWljb24iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXRyZWUtaWNvbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YTgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWE4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdWVwLXRvcG8tZ3JvdXAyMHgyMCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdWVwLXRvcG8tZ3JvdXAyMHgyMDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YTkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWE5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdWVwLXRvcG8tcm9vdCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdWVwLXRvcG8tcm9vdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YWEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWFhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdWVwLXRvcG8tdmlydHVhbDIweDIwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC11ZXAtdG9wby12aXJ0dWFsMjB4MjA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWFiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlhYjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNvbW1vbl9uY2Rfc3RvcCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY29tbW9uX25jZF9zdG9wPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlhYyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YWM7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC11ZXAtbW9jLXJvb3QiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXVlcC1tb2Mtcm9vdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YWQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWFkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdWVwLXRvcG8tdW5kZWZpbmVkZ3JvdXAyMHgyMCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdWVwLXRvcG8tdW5kZWZpbmVkZ3JvdXAyMHgyMDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YWUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWFlOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtYW5hbHlzaXMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWFuYWx5c2lzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlhZiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YWY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1iaW5kaW5nUmVsYXRpb25zaGlwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1iaW5kaW5nUmVsYXRpb25zaGlwPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTliMCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YjA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1icm93c2VQb2xpY3kiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWJyb3dzZVBvbGljeTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YjEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWIxOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtYnVzaW5lc3NNYW5hZ21lbnQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWJ1c2luZXNzTWFuYWdtZW50PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTliMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YjI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1jYXJkRGF0YSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY2FyZERhdGE8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWIzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTliMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWRhaWx5TWFuYWdtZW50Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1kYWlseU1hbmFnbWVudDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YjQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWI0OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZW50ZXJwcmlzZUN1c3RvbWVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1lbnRlcnByaXNlQ3VzdG9tZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWI1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTliNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWVxdWlwbWVudEJsYWNrbGlzdCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZXF1aXBtZW50QmxhY2tsaXN0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTliNiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YjY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1lcXVpcG1lbnRNb2RlbCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZXF1aXBtZW50TW9kZWw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWI3IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTliNzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWV4YW1pbmUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWV4YW1pbmU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWI4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTliODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWZhaWx1cmVMaXN0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1mYWlsdXJlTGlzdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YjkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWI5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZmFtaWx5Q3VzdG9tZXIiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWZhbWlseUN1c3RvbWVyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTliYSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YmE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1maWxlVG9vbCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZmlsZVRvb2w8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWJiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTliYjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWdyb3VwTWFuYWdtZW50Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1ncm91cE1hbmFnbWVudDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YmMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWJjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtbm90aWNlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1ub3RpY2U8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWJkIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTliZDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXBvbGljeSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtcG9saWN5PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTliZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YmU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1wb3J0YWwiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXBvcnRhbDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YmYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWJmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtcmVjb3JkUXVlcnkiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXJlY29yZFF1ZXJ5PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTljMCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YzA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1yZXNvdXJjZU1hbmFnbWVudCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtcmVzb3VyY2VNYW5hZ21lbnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWMxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXJ1bGVNYW5hZ21lbnQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXJ1bGVNYW5hZ21lbnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWMyIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljMjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXN1Y2Vzc1JhdGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXN1Y2Vzc1JhdGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWMzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXRlcm1pbmFsTWFuYWdtZW50Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC10ZXJtaW5hbE1hbmFnbWVudDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5YzQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWM0OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdG9vbHMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXRvb2xzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTljNSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5YzU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC10cmFjayI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdHJhY2s8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWM2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljNjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXVzZXJNYW5hZ21lbnQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXVzZXJNYW5hZ21lbnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWM3IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljNzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXZlcnNpb25NYW5hZ21lbnQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXZlcnNpb25NYW5hZ21lbnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWM4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXdvcmtPcmRlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtd29ya09yZGVyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTljOSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Yzk7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1zYXZlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1zYXZlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTljYSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Y2E7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1NYWduaWZpZXIiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LU1hZ25pZmllcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5Y2IiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWNiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtem9vbUluIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC16b29tSW48L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWNjIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljYzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXpvb21PdXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXpvb21PdXQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWNkIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTljZDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWRlbGV0ZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZGVsZXRlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTljZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Y2U7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1yZWZyZXNoIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1yZWZyZXNoPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTljZiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Y2Y7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1tb2RpZnkiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LW1vZGlmeTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZDAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWQwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtbmV3Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1uZXc8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWQxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlkMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNwdSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY3B1PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlkMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZDI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1tZW1vcnkiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LW1lbW9yeTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZDMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWQzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY3VycmVudEFsYXJtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jdXJyZW50QWxhcm08L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWQ0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlkNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LW5vdGljZUFsYXJtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1ub3RpY2VBbGFybTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZDUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWQ1OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaGlzdG9yeUFsYXJtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1oaXN0b3J5QWxhcm08L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWQ2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlkNjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNsb3NlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jbG9zZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZDciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWQ3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdGFibGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXRhYmxlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlkOCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZDg7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1uZXh0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1uZXh0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlkOSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZDk7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1wcmUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXByZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZGEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWRhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtcm9sZXNldCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtcm9sZXNldDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZGIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWRiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtcm9sZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtcm9sZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZGMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWRjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdXNlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdXNlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZGQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWRkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZW1wdHkiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWVtcHR5PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlkZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZGU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1ub3RpY2VGaWx0ZXIiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LW5vdGljZUZpbHRlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZGYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWRmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtYWxhcm1UdXJuIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1hbGFybVR1cm48L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWUwIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTllMDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWFkdmljZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYWR2aWNlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllMSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZTE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1jbGVhckFsYXJtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jbGVhckFsYXJtPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZTI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1hbGFybUJveCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYWxhcm1Cb3g8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWUzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTllMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWFmcmVzaERlZiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYWZyZXNoRGVmPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllNCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZTQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1hbGFybUZpbHRlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYWxhcm1GaWx0ZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWU1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTllNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LW1hbkFuYWx5c2lzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1tYW5BbmFseXNpczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZTYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWU2OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZHJpbGwiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWRyaWxsPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllNyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZTc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1nZWFyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1nZWFyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllOCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZTg7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1wcm9jZXNzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1wcm9jZXNzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllOSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZTk7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC11bmFja25vd25sZWRnZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdW5hY2tub3dubGVkZ2U8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWVhIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTllYTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWFja25vd25sZWRnZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYWNrbm93bmxlZGdlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllYiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZWI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1PcGVyYXRpb24iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LU9wZXJhdGlvbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZWMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWVjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY2xvdWQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWNsb3VkPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTllZCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZWQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1jb21wdXRlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY29tcHV0ZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWVlIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTllZTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWFsYXJtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1hbGFybTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZWYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWVmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaW1wb3J0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pbXBvcnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWYwIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmMDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWV4cG9ydCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZXhwb3J0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlmMSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZjE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1BZG1pbiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtQWRtaW48L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWYyIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmMjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWFsbFNlbGVjdGVkIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1hbGxTZWxlY3RlZDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZjMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWYzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtYW5nbGVSaWdodCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYW5nbGVSaWdodDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZjQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWY0OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtYXJyb3dMZWZ0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1hcnJvd0xlZnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWY1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWFycm93TGVmdEFsbCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYXJyb3dMZWZ0QWxsPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlmNiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZjY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1hcnJvd1JpZ2h0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1hcnJvd1JpZ2h0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlmNyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Zjc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1hcnJvd1JpZ2h0QWxsIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1hcnJvd1JpZ2h0QWxsPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlmOCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Zjg7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1hdXRvRmluZCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYXV0b0ZpbmQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWY5IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmOTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWJhY2siPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWJhY2s8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWZhIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmYTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWJhbGwiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWJhbGw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWZiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmYjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWJlbGwiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWJlbGw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWZjIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmYzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWJsYWNrTGlzdCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtYmxhY2tMaXN0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTlmZCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ZmQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1icmVha0xpbmsiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWJyZWFrTGluazwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ZmUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOWZlOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY2FuY2xlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jYW5jbGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOWZmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTlmZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWNpcmNsZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtY2lyY2xlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEwMCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMDA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1jbG9zZVRyZWUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWNsb3NlVHJlZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMDEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTAxOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtY29uZmlnbWFwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1jb25maWdtYXA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTAyIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwMjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWRlcGFydG1lbnQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWRlcGFydG1lbnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTAzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWRldGFpbCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZGV0YWlsPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEwNCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMDQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1kaXNwbGF5U3dpdGNoIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1kaXNwbGF5U3dpdGNoPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEwNSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMDU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1maWxlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1maWxlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEwNiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMDY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1maWx0ZXIiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWZpbHRlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMDciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTA3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZmluZCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZmluZDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMDgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTA4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZm9sZGVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1mb2xkZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTA5IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwOTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWZvcmNlT3V0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1mb3JjZU91dDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMGEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTBhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtZnVsbFNjcmVlbiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtZnVsbFNjcmVlbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMGIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTBiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtR3JhcGhpY2FsIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1HcmFwaGljYWw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTBjIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwYzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWhlbHBUaXAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWhlbHBUaXA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTBkIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwZDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWhpZGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWhpZGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTBlIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwZTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWhpc3RvcnkiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWhpc3Rvcnk8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTBmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEwZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWxhdW5jaGluZ1Rvd2VyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1sYXVuY2hpbmdUb3dlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMTAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTEwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtbGF5b3V0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1sYXlvdXQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTExIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWxlZ2VuZGhpZGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWxlZ2VuZGhpZGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTEyIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExMjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWxlZ2VuZHNob3ciPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWxlZ2VuZHNob3c8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTEzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWxpbmsiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWxpbms8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTE0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWxvY2siPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWxvY2s8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTE1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWx0QXJyb3ciPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWx0QXJyb3c8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTE2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExNjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LU1haW50YWluIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1NYWludGFpbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMTciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTE3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtbWF4aW1pemUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LW1heGltaXplPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWExOCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMTg7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1Nb25pdG9yIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1Nb25pdG9yPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWExOSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMTk7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1tb3ZlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1tb3ZlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWExYSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMWE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1uZXdTaG9ydGN1dCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtbmV3U2hvcnRjdXQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTFiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExYjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LW9wZW5UcmVlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1vcGVuVHJlZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMWMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTFjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtcG9Ob2RlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1wb05vZGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTFkIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWExZDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXByaW50Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1wcmludDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMWUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTFlOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtcHJvZHVjdCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtcHJvZHVjdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMWYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTFmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtcmJBcnJvdyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtcmJBcnJvdzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMjAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTIwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtcmVkdWN0aW9uIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1yZWR1Y3Rpb248L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTIxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEyMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXJlbmFtZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtcmVuYW1lPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEyMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMjI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1zZWxlY3QiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXNlbGVjdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMjMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTIzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtc2VsZWN0QWxsIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1zZWxlY3RBbGw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTI0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEyNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXNlbGVjdExlZnQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXNlbGVjdExlZnQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTI1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEyNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXNlbGVjdFJpZ2h0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1zZWxlY3RSaWdodDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMjYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTI2OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtc2hvdyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtc2hvdzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMjciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTI3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtc2hyaW5rIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1zaHJpbms8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTI4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEyODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXN0YXJ0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1zdGFydDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMjkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTI5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtc3RvcCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtc3RvcDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMmEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTJhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtc3RyZXRjaCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtc3RyZXRjaDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMmIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTJiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3Qtc3RyaWtlT3V0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1zdHJpa2VPdXQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTJjIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEyYzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LVN5bmNocm9ub3VzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1TeW5jaHJvbm91czwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMmQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTJkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdG9SaWdodCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtdG9SaWdodDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMmUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTJlOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdHJlZWZpbGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXRyZWVmaWxlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEyZiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMmY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC10cmVlRm9sZGVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC10cmVlRm9sZGVyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEzMCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMzA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC11bmxvY2siPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXVubG9jazwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMzEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTMxOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtdXNlckNvbXBhcmUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXVzZXJDb21wYXJlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEzMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMzI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC11c2VyRGlzcGF0Y2giPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXVzZXJEaXNwYXRjaDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMzMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTMzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QteG1sIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC14bWw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlYTM0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZWEzNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LXpvb21PdmVyVmlldyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3Qtem9vbU92ZXJWaWV3PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZWEzNSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGVhMzU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC16b29tUmVzZXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LXpvb21SZXNldDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImVhMzYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlYTM2OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZmlyZXdhbGwtaGlsbHN0b25lIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC1oaWxsc3RvbmU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTAwIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkwMDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci11YnVudHUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci11YnVudHU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTAxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkwMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci10cnU2NCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc2VydmVyLXRydTY0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MDI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zZXZlci1hczQwMCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc2V2ZXItYXM0MDA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTAzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkwMzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWZpbGVzZXJ2ZXIiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWZpbGVzZXJ2ZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTA0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkwNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXNhcGNjbXMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLXNhcGNjbXM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTA1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkwNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWFjdGl2ZWRpcmVjdG9yeSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItYWN0aXZlZGlyZWN0b3J5PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwNiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MDY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtc2xpdmVyc3RyZWFtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtc2xpdmVyc3RyZWFtPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwNyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MDc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtb3JhY2xlYXMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC1vcmFjbGVhczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MDgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTA4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc2VydmVyLWZyZWVCU0QiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1mcmVlQlNEPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwOSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MDk7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtZXhjaGFuZ2UyMDA3Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtZXhjaGFuZ2UyMDA3PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwYSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MGE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtZXhjaGFuZ2UyMDAzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtZXhjaGFuZ2UyMDAzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwYiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MGI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtZG90bmV0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtZG90bmV0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwYyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MGM7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1sZW5vdm8iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWxlbm92bzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MGQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTBkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtcm91dGVyLWFsdTc3NTAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXJvdXRlci1hbHU3NzUwPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkwZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MGU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1uZHMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLW5kczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MGYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTBmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItcGhwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1waHA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTEwIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxMDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC1nbGFzc2Zpc2giPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC1nbGFzc2Zpc2g8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTExIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXRlbG5ldCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItdGVsbmV0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkxMiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MTI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1kbnMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWRuczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MTMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTEzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItdXJsIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci11cmw8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTE0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxNDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWRhdGFiYXNlLW15c3FsIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1kYXRhYmFzZS1teXNxbDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MTUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTE1OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItcGluZyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItcGluZzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MTYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTE2OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItZnRwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1mdHA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTE3IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxNzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXJlc3QiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLXJlc3Q8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTE4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXNvYXAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLXNvYXA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTE5IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxOTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci1tYWNvcyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc2VydmVyLW1hY29zPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkxYSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MWE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zZXJ2ZXItb3BlbmJzZCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc2VydmVyLW9wZW5ic2Q8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTFiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxYjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci1kZWJpYW4iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1kZWJpYW48L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTFjIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxYzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC1paXMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC1paXM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTFkIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkxZDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC1tYWlsc2VydmVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtbWFpbHNlcnZlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MWUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTFlOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwLXdlYnNwaGVyZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtYXBwLXdlYnNwaGVyZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MWYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTFmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwLWFwYWNoZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtYXBwLWFwYWNoZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MjAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTIwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwLWpib3NzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtamJvc3M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTIxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkyMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWExMGJhbGEiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWExMGJhbGE8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTIyIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkyMjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWNsdXN0ZXItdmNzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1jbHVzdGVyLXZjczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MjMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTIzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGlza3JhaWQtaHBldmEiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLWhwZXZhPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkyNCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MjQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kaXNrcmFpZC16dGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLXp0ZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MjUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTI1OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZmlyZXdhbGwtaDNjIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC1oM2M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTI2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkyNjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWlibS1ibGFkZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItaWJtLWJsYWRlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkyNyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Mjc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1zZWNmb3giPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLXNlY2ZveDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MjgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTI4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItc2VndyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItc2Vndzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MjkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTI5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItenRlYXRjYSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItenRlYXRjYTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MmEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTJhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItenRlaXBzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci16dGVpcHM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTJiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkyYjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNkbi1jb250cm9sbGVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zZG4tY29udHJvbGxlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MmMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTJjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc2VydmVyLWhwdXgiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1ocHV4PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkyZCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5MmQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zdG9yYWdlLW9wcyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3RvcmFnZS1vcHM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTJlIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkyZTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXN0b3JhZ2Utc2Fuc3dpdGNoLWJyb2NhZGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXN0b3JhZ2Utc2Fuc3dpdGNoLWJyb2NhZGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTJmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkyZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MzAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTMwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTMxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkzMTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC1iaW5kIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtYmluZDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MzIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTMyOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwLWRucyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtYXBwLWRuczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MzMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTMzOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwLWVtcyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtYXBwLWVtczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5MzQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTM0OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtYXBwLW1lZGlhdG9yIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtbWVkaWF0b3I8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTM1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkzNTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC1udHAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC1udHA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTM2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkzNjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC1vdGEiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC1vdGE8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTM3IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkzNzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC10b21jYXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC10b21jYXQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTM4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTkzODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWFwcC10cmVuZCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtYXBwLXRyZW5kPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkzOSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Mzk7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtdHNtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1hcHAtdHNtPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkzYSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5M2E7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtd2VibG9naWMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC13ZWJsb2dpYzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5M2IiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTNiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtY2x1c3RlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtY2x1c3Rlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5M2MiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTNjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtY2x1c3Rlci1oYWNtcCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtY2x1c3Rlci1oYWNtcDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5M2QiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTNkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtY2x1c3Rlci1uZWMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWNsdXN0ZXItbmVjPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkzZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5M2U7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1jbHVzdGVyLW5zIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1jbHVzdGVyLW5zPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTkzZiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5M2Y7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1jbHVzdGVyLXNnIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1jbHVzdGVyLXNnPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk0MCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NDA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kYXRhYmFzZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGF0YWJhc2U8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTQxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk0MTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWRhdGFiYXNlLW1zc3FsIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1kYXRhYmFzZS1tc3NxbDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NDIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTQyOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGF0YWJhc2Utb3JhY2xlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1kYXRhYmFzZS1vcmFjbGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTQzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk0MzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWRhdGFiYXNlLXN5YmFzZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGF0YWJhc2Utc3liYXNlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk0NCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NDQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kYXRhYmFzZS1zeWJhc2VpcSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGF0YWJhc2Utc3liYXNlaXE8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTQ1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk0NTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWRpc2tyYWlkLWRlbGxtZCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGlza3JhaWQtZGVsbG1kPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk0NiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NDY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kaXNrcmFpZC1lbWMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLWVtYzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NDciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTQ3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGlza3JhaWQtZXRlcm51cyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGlza3JhaWQtZXRlcm51czwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NDgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTQ4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGlza3JhaWQtZnVqaXRzdSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGlza3JhaWQtZnVqaXRzdTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NDkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTQ5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGlza3JhaWQtaGRzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1kaXNrcmFpZC1oZHM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTRhIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk0YTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWRpc2tyYWlkLWhwYWlvIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1kaXNrcmFpZC1ocGFpbzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NGIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTRiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGlza3JhaWQtaHBtc2EiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLWhwbXNhPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk0YyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NGM7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kaXNrcmFpZC1pYm0iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLWlibTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NGQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTRkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZGlza3JhaWQtaWJtc20iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLWlibXNtPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk0ZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NGU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kaXNrcmFpZC1tYWNyb3NhbiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGlza3JhaWQtbWFjcm9zYW48L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTRmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk0ZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWRpc2tyYWlkLW5ldGFwcCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZGlza3JhaWQtbmV0YXBwPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1MCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NTA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1kaXNrcmFpZC1zdW4iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWRpc2tyYWlkLXN1bjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NTEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTUxOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZmlyZXdhbGwiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWZpcmV3YWxsPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1MiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NTI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1maXJld2FsbC1jaGVja3BvaW50Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC1jaGVja3BvaW50PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1MyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NTM7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1maXJld2FsbC1jaXNjbyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZmlyZXdhbGwtY2lzY288L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTU0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk1NDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWZpcmV3YWxsLWNpc2NvMiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZmlyZXdhbGwtY2lzY28yPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1NSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NTU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1maXJld2FsbC1qdW5pcGVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC1qdW5pcGVyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1NiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NTY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1maXJld2FsbC1uZXRleWUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWZpcmV3YWxsLW5ldGV5ZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NTciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTU3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZmlyZXdhbGwtenRlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC16dGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTU4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk1ODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWZpcmV3YWxsLXp0ZW1mIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC16dGVtZjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NTkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTU5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtZmlyZXdhbGwtenRldXRtIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1maXJld2FsbC16dGV1dG08L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTVhIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk1YTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LWdhdGhlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtZ2F0aGVyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1YiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NWI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1pYnAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWlicDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NWMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTVjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtaWJwLWlicDIwMDAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWlicC1pYnAyMDAwPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1ZCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NWQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1uZXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW5ldDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NWUiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTVlOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXIiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk1ZiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NWY7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1hbHRlb24iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWFsdGVvbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NjAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTYwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItYXBwZGlyZWN0b3IiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWFwcGRpcmVjdG9yPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk2MSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NjE7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1hdGNhLWxiMTAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWF0Y2EtbGIxMDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NjIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTYyOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItY2lzY28tdWNzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1jaXNjby11Y3M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTYzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk2MzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWRjcyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItZGNzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk2NCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NjQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1kZWx0YSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItZGVsdGE8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTY1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk2NTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWRwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1kcDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NjYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTY2OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItZTkwMDAiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LW90aGVyLWU5MDAwPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk2NyIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Njc7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1mNWJpZ2lwIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1mNWJpZ2lwPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk2OCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5Njg7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci1mNWJpZ2lwMiI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItZjViaWdpcDI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTY5IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk2OTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWdiZTJjIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1nYmUyYzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NmEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTZhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItaDNjIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1oM2M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTZiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk2YjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLWhwYmxjIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1ocGJsYzwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NmMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTZjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItaW1tIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci1pbW08L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTZkIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk2ZDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXNlY3NpcyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItc2Vjc2lzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk2ZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NmU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1vdGhlci12YyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtb3RoZXItdmM8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTZmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk2ZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXp0ZXBvd2VyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci16dGVwb3dlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NzAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTcwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtb3RoZXItenRlc2dzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci16dGVzZ3M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTcxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3MTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LW90aGVyLXp4c2RyLW50Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1vdGhlci16eHNkci1udDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NzIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTcyOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtcm91dGVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1yb3V0ZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTczIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3MzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXJvdXRlci1jaXNjbyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtcm91dGVyLWNpc2NvPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk3NCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5NzQ7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1yb3V0ZXItanVuaXBlciI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtcm91dGVyLWp1bmlwZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTc1IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3NTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXJvdXRlci16dGUiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXJvdXRlci16dGU8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTc2IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3NjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNkbi1ob3N0Ij4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zZG4taG9zdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NzciIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTc3OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc2RuLXN3aXRjaCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc2RuLXN3aXRjaDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5NzgiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTc4OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc2VydmVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zZXJ2ZXI8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTc5IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3OTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci1haXgiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1haXg8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTdhIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3YTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci1rbGludXgiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1rbGludXg8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTdiIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3YjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci1yZWRoYXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1yZWRoYXQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTdjIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3YzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci1zb2xhcmlzIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zZXJ2ZXItc29sYXJpczwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5N2QiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTdkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc2VydmVyLXN1c2UiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNlcnZlci1zdXNlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk3ZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5N2U7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zZXJ2ZXItd2luZG93cyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc2VydmVyLXdpbmRvd3M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTdmIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk3ZjsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXNlcnZlci16eHZlIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zZXJ2ZXItenh2ZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ODAiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTgwOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc3RvcmFnZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3RvcmFnZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ODEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTgxOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc3RvcmFnZS1jaXNjby1tZHMiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXN0b3JhZ2UtY2lzY28tbWRzPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk4MiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ODI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zdG9yYWdlLW1kMzAwMCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3RvcmFnZS1tZDMwMDA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTgzIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk4MzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXN0b3JhZ2UtbmV0dmF1bHQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXN0b3JhZ2UtbmV0dmF1bHQ8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTg0IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk4NDsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXN0b3JhZ2Utc2Fuc3dpdGNoLXp0ZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3RvcmFnZS1zYW5zd2l0Y2gtenRlPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk4NSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5ODU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zd2l0Y2gtYXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXN3aXRjaC1hdDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ODYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTg2OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc3dpdGNoLWNpc2NvIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zd2l0Y2gtY2lzY288L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTg3IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk4NzsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXN3aXRjaC1oM2MiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXN3aXRjaC1oM2M8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTg4IiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk4ODsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXN3aXRjaC1qdW5pcGVyIj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1scyI+IGljdC1pdC1zd2l0Y2gtanVuaXBlcjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5ODkiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOTg5OyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc3dpdGNoLXp0ZSI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3dpdGNoLXp0ZTwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OGEiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOThhOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtdGFwZWxpYi1ocG1zbCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtdGFwZWxpYi1ocG1zbDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OGIiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOThiOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtdGFwZWxpYi1pYm10cyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtdGFwZWxpYi1pYm10czwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OGMiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOThjOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtdGFwZWxpYi1zdW50cyI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtdGFwZWxpYi1zdW50czwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OGQiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOThkOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtVmlydHVhbG5ldHdvcmsiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LVZpcnR1YWxuZXR3b3JrPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk4ZSIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5OGU7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1hcHAtbmV0bnVtZW4iPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LWFwcC1uZXRudW1lbjwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJmczAgc2l6ZTFvZjEgY2xlYXJmaXggaGlkZGVuLWZhbHNlIj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9ImU5OGYiIGNsYXNzPSJ1bml0IHNpemUxb2YyIiAvPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEiIHJlYWRvbmx5IHZhbHVlPSImI3hlOThmOyIgY2xhc3M9InVuaXRSaWdodCBzaXplMW9mMiB0YWxpZ24tcmlnaHQiIC8+CisgICAgICAgICAgICA8L2ZpZWxkc2V0PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnMwIGJzaGFkb3cwIGNsZWFyZml4IGhpZGRlbi10cnVlIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5pdCBwdnMgZmdjMSI+bGlnYTogPC9zcGFuPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iIiBjbGFzcz0ibGlnYSB1bml0UmlnaHQiIC8+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImdseXBoIGZzMSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCBic2hhZG93MCBwYnMiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY3QtaXQtc2RuLXZuZXQiPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWxzIj4gaWN0LWl0LXNkbi12bmV0PC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk5MCIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5OTA7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ2x5cGggZnMxIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4IGJzaGFkb3cwIHBicyI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImljdC1pdC1zdG9yYWdlLXNhbnN3aXRjaC1ocCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3RvcmFnZS1zYW5zd2l0Y2gtaHA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iZnMwIHNpemUxb2YxIGNsZWFyZml4IGhpZGRlbi1mYWxzZSI+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSJlOTkxIiBjbGFzcz0idW5pdCBzaXplMW9mMiIgLz4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIxIiByZWFkb25seSB2YWx1ZT0iJiN4ZTk5MTsiIGNsYXNzPSJ1bml0UmlnaHQgc2l6ZTFvZjIgdGFsaWduLXJpZ2h0IiAvPgorICAgICAgICAgICAgPC9maWVsZHNldD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZzMCBic2hhZG93MCBjbGVhcmZpeCBoaWRkZW4tdHJ1ZSI+CisgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuaXQgcHZzIGZnYzEiPmxpZ2E6IDwvc3Bhbj4KKyAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVhZG9ubHkgdmFsdWU9IiIgY2xhc3M9ImxpZ2EgdW5pdFJpZ2h0IiAvPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJnbHlwaCBmczEiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggYnNoYWRvdzAgcGJzIj4KKyAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWN0LWl0LXN3aXRjaCI+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtbHMiPiBpY3QtaXQtc3dpdGNoPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9ImZzMCBzaXplMW9mMSBjbGVhcmZpeCBoaWRkZW4tZmFsc2UiPgorICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiByZWFkb25seSB2YWx1ZT0iZTk5MiIgY2xhc3M9InVuaXQgc2l6ZTFvZjIiIC8+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgcmVhZG9ubHkgdmFsdWU9IiYjeGU5OTI7IiBjbGFzcz0idW5pdFJpZ2h0IHNpemUxb2YyIHRhbGlnbi1yaWdodCIgLz4KKyAgICAgICAgICAgIDwvZmllbGRzZXQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmczAgYnNoYWRvdzAgY2xlYXJmaXggaGlkZGVuLXRydWUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bml0IHB2cyBmZ2MxIj5saWdhOiA8L3NwYW4+CisgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlYWRvbmx5IHZhbHVlPSIiIGNsYXNzPSJsaWdhIHVuaXRSaWdodCIgLz4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgICA8IS0tW2lmIGd0IElFIDhdPjwhLS0+CisgICAgPGRpdiBjbGFzcz0ibWhsIGNsZWFyZml4IG1ibCI+CisgICAgICAgIDxoMT5Gb250IFRlc3QgRHJpdmU8L2gxPgorICAgICAgICA8bGFiZWw+CisgICAgICAgICAgICBGb250IFNpemU6IDxpbnB1dCBpZD0iZm9udFNpemUiIHR5cGU9Im51bWJlciIgY2xhc3M9InRleHRib3gwIG1ibSIKKyAgICAgICAgICAgIG1pbj0iOCIgdmFsdWU9IjQ4IiAvPgorICAgICAgICAgICAgcHgKKyAgICAgICAgPC9sYWJlbD4KKyAgICAgICAgPGlucHV0IGlkPSJ0ZXN0VGV4dCIgdHlwZT0idGV4dCIgY2xhc3M9InBobCBzaXplMW9mMSBtdmwiCisgICAgICAgIHBsYWNlaG9sZGVyPSJUeXBlIHNvbWUgdGV4dCB0byB0ZXN0Li4uIiB2YWx1ZT0iIi8+CisgICAgICAgIDwvbGFiZWw+CisgICAgICAgIDxkaXYgaWQ9InRlc3REcml2ZSIgY2xhc3M9ImljdC0iPiZuYnNwOworICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8IS0tPCFbZW5kaWZdLS0+CisgICAgPGRpdiBjbGFzcz0iYmdjMSBjbGVhcmZpeCI+CisgICAgICAgIDxwIGNsYXNzPSJtaGwiPkdlbmVyYXRlZCBieSA8YSBocmVmPSJodHRwczovL2ljb21vb24uaW8vYXBwIj5JY29Nb29uPC9hPjwvcD4KKyAgICA8L2Rpdj4KKworICAgIDxzY3JpcHQgc3JjPSJkZW1vLWZpbGVzL2RlbW8uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMuZW90IGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMuZW90Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZTJlZjkKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9mb250cy9adGVJY3RJY29ucy5lb3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMuc3ZnIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4ZGIzYTEKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9mb250cy9adGVJY3RJY29ucy5zdmcKQEAgLTAsMCArMSwzMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorPG1ldGFkYXRhPkdlbmVyYXRlZCBieSBJY29Nb29uPC9tZXRhZGF0YT4KKzxkZWZzPgorPGZvbnQgaWQ9Ilp0ZUljdEljb25zIiBob3Jpei1hZHYteD0iMTAyNCI+Cis8Zm9udC1mYWNlIHVuaXRzLXBlci1lbT0iMTAyNCIgYXNjZW50PSI5NjAiIGRlc2NlbnQ9Ii02NCIgLz4KKzxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwOyIgaG9yaXotYWR2LXg9IjUxMiIgZD0iIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MDA7IiBnbHlwaC1uYW1lPSJpdC1maXJld2FsbC1oaWxsc3RvbmUiIGQ9Ik00ODYuMDgwIDIwNy4zNnY0MTIuMzUyaC00OC42NHYtMTY5LjM0NGgtMTkxLjE2OHYxNjkuMzQ0aC00OC42NHYtNDEyLjM1Mmg0OC42NHYxOTQuMzY4aDE5MS4xNjh2LTE5NC4zNjh6TTgyOC4wMzIgMzgyLjQ2NGMtMTAuMjQgMTcuMDI0LTI2LjA0OCAzMC45NzYtNDcuNDI0IDQyLjA0OC0xNC43MiA3LjQ4OC00MS44NTYgMTYuMjU2LTgxLjQwOCAyNi4zMDQtMzkuNDg4IDkuOTg0LTY0IDE5Ljg0LTczLjM0NCAyOS4zNzYtOS41MzYgOS41MzYtMTQuMjcyIDIxLjc2LTE0LjI3MiAzNi41NDQgMCAxNy4wODggNi42NTYgMzEuNjE2IDIwLjE2IDQzLjc3NiAxMy40NCAxMi4wMzIgMzQuODggMTguMTEyIDY0LjMyIDE4LjExMiAyOC4yODggMCA0OS42LTYuNjU2IDY0LjEyOC0xOS45NjggMTQuNDY0LTEzLjMxMiAyMi45MTItMzMuMDI0IDI1LjQwOC01OS4wNzJsNDYuNjU2IDMuOTY4Yy0wLjg5NiAyNC4xOTItNi44NDggNDUuODI0LTE4LjA0OCA2NC45NnMtMjcuMjY0IDMzLjYtNDguMDY0IDQzLjQ1NmMtMjAuOCA5Ljg1Ni00NC44NjQgMTQuNzg0LTcyLjEyOCAxNC43ODQtMjQuNzY4IDAtNDcuMjMyLTQuNjcyLTY3LjUyLTE0LjA4MC0yMC4wOTYtOS40MDgtMzUuNTItMjMuMTY4LTQ2LjA4MC00MS4yMTZzLTE1LjgwOC0zNy41NjgtMTUuODA4LTU4LjM2OGMwLTE4Ljk0NCA0LjI4OC0zNi4wMzIgMTIuOTI4LTUxLjMyOHMyMS42OTYtMjguMDMyIDM5LjIzMi0zOC40YzEzLjU2OC04LjA2NCAzNy4xODQtMTYuNjQgNzAuOTc2LTI1LjcyOCAzMy43MjgtOS4wODggNTUuNjE2LTE1LjgwOCA2NS40MDgtMjAuMDk2IDE1LjQyNC02LjU5MiAyNi40MzItMTQuNjU2IDMzLjE1Mi0yNC4zMiA2LjY1Ni05LjYgMTAuMDQ4LTIwLjkyOCAxMC4wNDgtMzMuODU2IDAtMTIuNzM2LTMuNTItMjQuNTEyLTEwLjQzMi0zNS4zMjgtNi45MTItMTAuNzUyLTE3LjQ3Mi0xOS4yNjQtMzEuNjgtMjUuNDA4LTE0LjI3Mi02LjIwOC0zMC42NTYtOS4zNDQtNDkuMjE2LTkuMzQ0LTIwLjkyOCAwLTM5Ljc0NCA0LjA5Ni01Ni40NDggMTIuMjI0LTE2Ljc2OCA4LjE5Mi0yOS4wNTYgMTguODgtMzYuOTkyIDMyLjA2NC03LjgwOCAxMy4yNDgtMTIuOTI4IDMwLjE0NC0xNS4xMDQgNTAuODE2bC00NS45NTItNC40OGMwLjcwNC0yNy42NDggNy40MjQtNTIuMjg4IDIwLjE2LTc0LjExMiAxMi44LTIxLjg4OCAzMC40NjQtMzguMjcyIDUyLjkyOC00OS4xNTIgMjIuNTI4LTEwLjgxNiA1MC4zNjgtMTYuMjU2IDgzLjcxMi0xNi4yNTYgMjYuMjQgMCA0OS44NTYgNS4zNzYgNzAuODQ4IDE2LjEyOCAyMC45OTIgMTAuODE2IDM3LjA1NiAyNS44NTYgNDguMzIgNDUuMzEyIDExLjIgMTkuMzkyIDE2Ljc2OCA0MC4wNjQgMTYuNzY4IDYyLjAxNiAwLjA2NCAyMi4wODAtNC45OTIgNDEuNjY0LTE1LjIzMiA1OC42MjR6TTQ4OCAxMzEuMjY0aDM1MnYtNDkuMjhoLTM1MnY0OS4yOHpNMCA5NjBoMjQxLjk4NHYtMTc2aC0yNDEuOTg0djE3NnpNMzAuMDE2IDI1Ny45ODR2LTE3NmgzNTMuOTg0djQ5LjI4aC0yNjguMTZ2MTI2Ljcyek0wIDQ5Ny45ODRoMTE1Ljg0di0xNzcuOTg0aC0xMTUuODR2MTc3Ljk4NHpNMzg0IDcyOGgtMzUzLjk4NHYtMTc2aDg1LjgyNHYxMjkuMTUyaDI2OC4xNnpNNDg4IDcyOGgzNTJ2LTQ2Ljg0OGgtMzUydjQ2Ljg0OHpNMzQ1Ljk4NCA5NjBoMzUydi0xNzZoLTM1MnYxNzZ6TTk0Mi4wMTYgNzI4aDgxLjk4NHYtMTc2aC04MS45ODR2MTc2ek04MDAgOTYwaDIyNHYtMTc2aC0yMjR2MTc2ek05MDguMTYgNDk3Ljk4NGgxMTUuODR2LTE3Ny45ODRoLTExNS44NHYxNzcuOTg0ek05NDIuMDE2IDI1Ny45ODRoODEuOTg0di0xNzZoLTgxLjk4NHYxNzZ6TTM0NS45ODQgMjUuOTg0aDM1MnYtODkuOTg0aC0zNTJ2ODkuOTg0ek04MDAgMjUuOTg0aDIyNHYtODkuOTg0aC0yMjR2ODkuOTg0ek0wIDI1Ljk4NGgyNDEuOTg0di04OS45ODRoLTI0MS45ODR2ODkuOTg0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTAxOyIgZ2x5cGgtbmFtZT0iaXQtc2VydmVyLXVidW50dSIgZD0iTTg5Ny43OTIgODYzLjIzMmMwLTU0LjIyMS00My45NTUtOTguMTc2LTk4LjE3Ni05OC4xNzZzLTk4LjE3NiA0My45NTUtOTguMTc2IDk4LjE3NmMwIDU0LjIyMSA0My45NTUgOTguMTc2IDk4LjE3NiA5OC4xNzZzOTguMTc2LTQzLjk1NSA5OC4xNzYtOTguMTc2ek0xOTYuNDE2IDQ0OC42NGMwLTU0LjI1Ni00My45ODQtOTguMjQtOTguMjQtOTguMjRzLTk4LjI0IDQzLjk4NC05OC4yNCA5OC4yNGMwIDU0LjI1NiA0My45ODQgOTguMjQgOTguMjQgOTguMjRzOTguMjQtNDMuOTg0IDk4LjI0LTk4LjI0ek04OTkuNDU2IDM0LjExMmMwLTU0LjE4Ni00My45MjYtOTguMTEyLTk4LjExMi05OC4xMTJzLTk4LjExMiA0My45MjYtOTguMTEyIDk4LjExMmMwIDU0LjE4NiA0My45MjYgOTguMTEyIDk4LjExMiA5OC4xMTJzOTguMTEyLTQzLjkyNiA5OC4xMTItOTguMTEyek01NjQuNzM2IDY4Ny44NzJjMTE3LjMxMiAwIDIxMy42OTYtODUuODg4IDIzMi0xOTguMDgwaDE5My4yOGMtOC41MTIgOTcuNi01MS4yNjQgMTg1LjIxNi0xMTUuOTA0IDI1MS41Mi0yMi43Mi0xNC40NjQtNDkuNi0yMy4xNjgtNzguNzg0LTIzLjE2OC03OS40MjQgMC0xNDMuNjE2IDYyLjkxMi0xNDYuOTQ0IDE0MS42OTYtMjIuMjcyIDMuNzEyLTQ1LjEyIDUuOTUyLTY4LjYwOCA1Ljk1Mi02Ni42ODggMC0xMjkuNDcyLTE2LjEyOC0xODUuMjgtNDQuMzUybDg4LjE5Mi0xNDkuMDU2YzI1LjY2NCA5LjYgNTIuOTkyIDE1LjQ4OCA4Mi4wNDggMTUuNDg4ek0zMjguOTYgNDUxLjk2OGMwIDcxLjc0NCAzMi42NCAxMzUuMTY4IDgzLjEzNiAxNzguNDk2bC04Ni45MTIgMTQ2LjY4OGMtNjUuNzI4LTUxLjc3Ni0xMTQuNzUyLTEyMy4zMjgtMTM5LjM5Mi0yMDUuNDQgMzcuNzYtMjYuNzUyIDYyLjY1Ni03MC42NTYgNjIuNjU2LTEyMC4zODQgMC00OS4yOC0yNC4zODQtOTIuNTQ0LTYxLjM3Ni0xMTkuNDI0IDI1Ljg1Ni04Mi45NDQgNzYuNzM2LTE1NC45NDQgMTQ0LjUxMi0yMDYuMjA4bDg3LjQyNCAxNDIuNDY0Yy01NC41OTIgNDMuMDcyLTkwLjA0OCAxMDkuMTItOTAuMDQ4IDE4My44MDh6TTU2NC44IDIxNi4yNTZjLTI1Ljc5MiAwLTUwLjE3NiA1LjA1Ni03My40MDggMTIuNjcybC04OS43MjgtMTQ2LjQzMmM1My45NTItMjUuODU2IDExNC4yNC00MC44OTYgMTc4LjE3Ni00MC44OTYgMjYuMDQ4IDAgNTEuNjQ4IDIuNTYgNzYuNDggNy4xNjggMC4wNjQgNzQuNjI0IDYwLjQ4IDEzNC45MTIgMTM1LjEwNCAxMzQuOTEyIDI4LjIyNCAwIDU0LjUyOC05LjAyNCA3Ni4zNTItMjMuOTM2IDY1Ljk4NCA2NC44MzIgMTEwLjUyOCAxNTEuMDQwIDEyMS4yOCAyNDcuNjhoLTE5My4wMjRjLTIwLjczNi0xMDguNjcyLTExNi4xNi0xOTEuMTY4LTIzMS4yMzItMTkxLjE2OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMjsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci10cnU2NCIgZD0iTTI3NS4wMDggOTQ3Ljk2OGgtMjc1LjAwOHYtNzQuNjI0aDEwMC4yMjRsLTAuMDY0LTM2OS43MjhoNzQuNjI0bDAuMDY0IDM2OS43MjhoMTAwLjE2ek01NzYuNzA0IDgwMS43MjhsLTAuNjQgNDIuMzY4YzAgMC02NS40MDggOC4xOTItMTAzLjQ4OC03MC43ODQtMS4xNTItMi4zNjgtMS43OTItNC4xNi0yLjgxNi02LjUyOHY2My44MDhoLTE0NC4yNTZ2LTQzLjU4NGg2OS42MzJ2LTI4My4zOTJoNzQuNjI0djIxMi45OTJjNi4xNDQgMTkuNzc2IDE5LjA3MiA0My4wNzIgNDYuNCA1Ni43MDQgNTQuNCAyNy4yNjQgNjAuNTQ0IDI4LjQxNiA2MC41NDQgMjguNDE2ek05NTEuOTM2IDU0MC4wMzJjLTUuNzYgMC41MTItMTAuMTc2IDEuMjE2LTE0LjMzNiAyLjExMnYyODQuMTZoLTUyLjE2di0yNDMuNDU2Yy0yOC4yODgtMzAuNDY0LTYwLjczNi00NS4wNTYtODcuNzQ0LTQ1LjA1Ni0zNy44ODggMC03MC4zMzYgMTguOTQ0LTcwLjMzNiA5MS44NHY5NS41NTJjMCAzMC4wMTYgMC4wNjQgNTAuNjg4IDAuMzg0IDY2LjE3NmgxLjAyNHYyMS4xODRjMC4yNTYgMi40OTYgMC4zODQgNS4zMTIgMC43MDQgNy4zNi0wLjE5MiAwLTAuNTEyLTAuMDY0LTAuNzA0LTAuMTI4djYuNTI4aC05Ni4zMnYtMzQuOTQ0aDQ0LjA5NmMxMC44OC00LjI4OCAxOC4zMDQtMTIuMzUyIDE4LjMwNC00OC43MDR2LTEzNC44NDhjMC04MC44OTYgNDAuNjQtMTAzLjQ4OCA4MS4yMTYtMTAzLjQ4OCAxNy41MzYgMCAzMS44MDggMy42NDggNTEuMzkyIDE2IDIzLjYxNiAxMy4wNTYgNDAuNDQ4IDI4Ljk5MiA1Ny45ODQgNDIuODE2di01OS40NTZoMy40NTZsMC4xOTItMC4xMjhjMC4xMjggMC4wNjQgMC4yNTYgMC4xMjggMC40NDggMC4xMjhoOTIuMjg4djM1LjAwOGgtMTEuNTg0bC0xOC4zMDQgMS4zNDR6TTM0OS4xODQgMjQ3Ljg3MmMtMjIuOTc2IDAtNDQuOTI4LTQuOTI4LTY1Ljg1Ni0xNC42NTYtMjAuOTI4LTkuNzkyLTM4LjcyLTI0LjgzMi01My4xODQtNDUuMDU2IDAuNDQ4IDQ0LjkyOCA2LjE0NCA3OS41NTIgMTcuMDI0IDEwMy44NzIgMTAuODggMjQuMTkyIDI1Ljg1NiA0Mi43NTIgNDQuOCA1NS4zNiAxNC41MjggOS43OTIgMzEuMjk2IDE0LjY1NiA1MC40OTYgMTQuNjU2IDIzLjg3MiAwIDQzLjk2OC03LjgwOCA2MC4xNi0yMy41NTIgOS43OTItOS43OTIgMTcuMzQ0LTI1LjQ3MiAyMi43Mi00Ny4xNjhsNTkuODQgNC4yODhjLTQuODY0IDM0Ljk0NC0xOS42NDggNjIuNC00NC4yODggODIuMTEyLTI0LjU3NiAxOS44NC01Ni4xOTIgMjkuODI0LTk0LjcyIDI5LjgyNC01MS43MTIgMC05Mi44LTE3LjI4LTEyMy4zOTItNTEuNTItMzQuOTQ0LTM5LjQyNC01Mi40OC0xMDIuNTkyLTUyLjQ4LTE4OS4zNzYgMC03Ny41NjggMTUuODcyLTEzMy4zMTIgNDcuNDI0LTE2Ny4wNDAgMzEuNjgtMzMuNzI4IDcyLjU3Ni01MC43NTIgMTIyLjY4OC01MC43NTIgMjkuMzc2IDAgNTUuNjggNi40NjQgNzguOTEyIDE5LjI2NCAyMy4xNjggMTIuOTI4IDQxLjM0NCAzMS40ODggNTQuNjU2IDU1LjY4czE5LjkwNCA1MC40MzIgMTkuOTA0IDc4LjU5MmMwIDQyLjg4LTE0LjA4MCA3Ny44ODgtNDIuMzA0IDEwNC45Ni0yOC4xNiAyNi45NDQtNjIuMjcyIDQwLjUxMi0xMDIuNCA0MC41MTJ6TTQwNC45OTIgMjIuNDY0Yy0xOC4zMDQtMTguODE2LTQwLjEyOC0yOC4xNi02NS41MzYtMjguMTYtMTcuNDA4IDAtMzMuOTg0IDQuNDgtNDkuNzkyIDEzLjYzMi0xNS44NzIgOS4wODgtMjguMTYgMjIuNC0zNi45OTIgMzkuNjgtOC44MzIgMTcuMzQ0LTEzLjE4NCAzNS41ODQtMTMuMTg0IDU0LjUyOCAwIDI4Ljk5MiA5LjQ3MiA1Mi40MTYgMjguNDE2IDcwLjMzNiAxOC44OCAxNy44NTYgNDEuOTg0IDI2Ljc1MiA2OS4xODQgMjYuNzUyIDI3LjM5MiAwIDUwLjExMi04Ljg5NiA2OC4xNi0yNi43NTJzMjcuMDcyLTQyLjMwNCAyNy4wNzItNzMuNDA4YzAuMDY0LTMyLjM4NC05LjA4OC01Ny43OTItMjcuMzI4LTc2LjYwOHpNODA2LjcyIDQwNS42OTZoLTQ4Ljk2bC0yMjMuNzQ0LTI5MS4xMzZ2LTUwLjQzMmgyMTIuNjcydi0xMDcuNTg0aDYwLjAzMnYxMDcuNTg0aDY2LjI0djUwLjQzMmgtNjYuMjR2MjkxLjEzNnpNNzQ2LjY4OCAxMTQuNTZoLTE1My40NzJsMTUzLjQ3MiAyMDIuNTZ2LTIwMi41NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkwMzsiIGdseXBoLW5hbWU9Iml0LXNldmVyLWFzNDAwIiBkPSJNNDgwLjM4NCAzMDUuMjE2bC05My4wNTYtMTY1LjI0OGg5My4wNTZ6TTAgMTIuNDE2bDcwLjg0OCAyMjcuNTg0aDI2LjQ5Nmw3Ni4wMzItMjI5LjA1NmgtMjcuOTY4bC0yMS42MzIgNjkuMzc2aC03Ny43NmwtMjAuNDE2LTY5LjM3NmgtMjUuNnYtNzQuOTQ0aDEwMjR2NDczLjk4NGgtMTAyNHYtMzk3LjU2OHpNODM2LjE2IDI5Ni4zMmM3LjIzMiAyNi40MzIgMTcuOTg0IDQ2Ljc4NCAzMi4yNTYgNjEuMTJzMzIuMjU2IDIxLjUwNCA1My44ODggMjEuNTA0YzE1LjkzNiAwIDI5Ljk1Mi0zLjk2OCA0MS45Mi0xMS45MDQgMTIuMDMyLTcuOTM2IDIyLjAxNi0xOS4zMjggMjkuODI0LTM0LjI0IDcuODcyLTE0LjkxMiAxNC4wMTYtMzMuMDg4IDE4LjQ5Ni01NC41MjggNC40MTYtMjEuNDQgNi42NTYtNTAuMzA0IDYuNjU2LTg2LjY1NiAwLTQzLjAwOC0zLjY0OC03Ny42OTYtMTAuNzUyLTEwNC4xMjgtNy4xNjgtMjYuNDMyLTE3Ljg1Ni00Ni43ODQtMzIuMTkyLTYxLjI0OC0xNC4yNzItMTQuNDY0LTMyLjI1Ni0yMS42MzItNTQuMDE2LTIxLjYzMi0yOC42NzIgMC01MS4yIDEyLjY3Mi02Ny41ODQgMzguMDE2LTE5LjU4NCAzMC41MjgtMjkuMzc2IDgwLjE5Mi0yOS4zNzYgMTQ4Ljk5MiAwLjA2NCA0My4zOTIgMy43MTIgNzguMjcyIDEwLjg4IDEwNC43MDR6TTYwNS4xODQgMjk2LjMyYzcuMjMyIDI2LjQzMiAxNy45ODQgNDYuNzg0IDMyLjI1NiA2MS4xMnMzMi4yNTYgMjEuNTA0IDUzLjg4OCAyMS41MDRjMTUuOTM2IDAgMjkuOTUyLTMuOTY4IDQxLjkyLTExLjkwNCAxMi4wMzItNy45MzYgMjIuMDE2LTE5LjMyOCAyOS44MjQtMzQuMjQgNy44NzItMTQuOTEyIDE0LjAxNi0zMy4wODggMTguNDk2LTU0LjUyOCA0LjQxNi0yMS40NCA2LjY1Ni01MC4zMDQgNi42NTYtODYuNjU2IDAtNDMuMDA4LTMuNjQ4LTc3LjY5Ni0xMC43NTItMTA0LjEyOC03LjE2OC0yNi40MzItMTcuODU2LTQ2Ljc4NC0zMi4xOTItNjEuMjQ4LTE0LjI3Mi0xNC40NjQtMzIuMjU2LTIxLjYzMi01NC4wMTYtMjEuNjMyLTI4LjY3MiAwLTUxLjIgMTIuNjcyLTY3LjU4NCAzOC4wMTYtMTkuNTg0IDMwLjUyOC0yOS4zNzYgODAuMTkyLTI5LjM3NiAxNDguOTkyIDAuMDY0IDQzLjM5MiAzLjcxMiA3OC4yNzIgMTAuODggMTA0LjcwNHpNMzUxLjQyNCAxMzkuOTY4bDEzNS42OCAyMzcuNTA0aDI5LjgyNHYtMjM3LjUwNGg0MC4xMjh2LTQxLjI4aC00MC4xMjh2LTg3Ljc0NGgtMzYuNDh2ODcuNzQ0aC0xMjkuMDI0djQxLjI4ek0zMDMuODcyIDkxLjk2OGMtMy4zOTIgNS4zNzYtOC45NiA5Ljg1Ni0xNi43NjggMTMuNTY4LTQuOTkyIDIuMzY4LTE2IDYuMDgwLTMzLjA4OCAxMS4xMzZzLTI5LjA1NiA5Ljc5Mi0zNS45MDQgMTQuMzM2Yy04Ljg5NiA1Ljc2LTE1LjQ4OCAxMi44LTE5Ljg0IDIxLjMxMnMtNi41MjggMTcuOTg0LTYuNTI4IDI4LjQ4YzAgMTEuNjQ4IDIuNjg4IDIyLjQgOCAzMi40NDhzMTMuMTIgMTcuNjY0IDIzLjI5NiAyMi45MTJjMTAuMjQgNS4xODQgMjEuNTY4IDcuNzQ0IDM0LjExMiA3Ljc0NCAxMy43NiAwIDI1LjkyLTIuNjg4IDM2LjQxNi04LjE5MiAxMC41Ni01LjQ0IDE4LjYyNC0xMy41MDQgMjQuMjU2LTI0LjEyOHM4LjcwNC0yMi42NTYgOS4xNTItMzYuMDMybC0yMy42MTYtMi4yNGMtMS4yOCAxNC41MjgtNS41MDQgMjUuNDA4LTEyLjg2NCAzMi44OTYtNy4yOTYgNy4zNi0xOC4xMTIgMTEuMDcyLTMyLjM4NCAxMS4wNzItMTQuODQ4IDAtMjUuNzI4LTMuMzkyLTMyLjUxMi0xMC4wNDgtNi43ODQtNi43Mi0xMC4xNzYtMTQuNzg0LTEwLjE3Ni0yNC4zMiAwLTguMjU2IDIuNDMyLTE0Ljk3NiA3LjIzMi0yMC4yODggNC43MzYtNS4zMTIgMTcuMDg4LTEwLjc1MiAzNy4wNTYtMTYuMzIgMjAuMDMyLTUuNTY4IDMzLjY2NC0xMC40MzIgNDEuMTUyLTE0LjY1NiAxMC44MTYtNi4xNDQgMTguODE2LTEzLjk1MiAyNC0yMy4zNnM3Ljc0NC0yMC4yMjQgNy43NDQtMzIuNTc2YzAtMTIuMTYtMi44MTYtMjMuNjgtOC40NDgtMzQuNDMyLTUuNjk2LTEwLjgxNi0xMy44MjQtMTkuMi0yNC4zODQtMjUuMjE2LTEwLjYyNC02LjAxNi0yMi41OTItOS4wMjQtMzUuODQtOS4wMjQtMTYuODMyIDAtMzAuOTEyIDMuMDcyLTQyLjMwNCA5LjE1Mi0xMS4zMjggNi4wMTYtMjAuMjg4IDE1LjEwNC0yNi42ODggMjcuMjY0LTYuNDY0IDEyLjA5Ni05Ljg1NiAyNS44NTYtMTAuMjQgNDEuMTUybDIzLjE2OCAyLjQ5NmMxLjA4OC0xMS40NTYgMy42NDgtMjAuOCA3LjY4LTI4LjE2IDQuMDMyLTcuMjk2IDEwLjI0LTEzLjI0OCAxOC42ODgtMTcuNzkyIDguNDQ4LTQuNDggMTcuOTItNi43MiAyOC41NDQtNi43MiA5LjM0NCAwIDE3LjY2NCAxLjY2NCAyNC44MzIgNS4xMnMxMi41NDQgOC4xMjggMTYuMDY0IDE0LjE0NGMzLjUyIDYuMDE2IDUuMjQ4IDEyLjU0NCA1LjI0OCAxOS42NDggMCA2Ljk3Ni0xLjcyOCAxMy4yNDgtNS4wNTYgMTguNjI0ek05MjIuMzA0IDQxLjY2NGMxNi43NjggMCAzMC43ODQgOS45ODQgNDIuMjQgMzAuMDE2czE3LjE1MiA2MC4wMzIgMTcuMTUyIDEyMGMwIDYwLjI4OC01LjY5NiAxMDAuNDE2LTE3LjE1MiAxMjAuMjU2cy0yNS42IDI5Ljc2LTQyLjY4OCAyOS43NmMtMTYuNzY4IDAtMzAuMTQ0LTguNzY4LTQwLjEyOC0yNi4yNC0xMi41NDQtMjIuMzM2LTE4Ljg4LTYzLjU1Mi0xOC44OC0xMjMuNzc2czUuNjk2LTEwMC4xNiAxNy4xNTItMTIwLjEyOCAyNS40NzItMjkuODg4IDQyLjMwNC0yOS44ODh6TTgzLjU4NCAyMTUuOTM2Yy0yLjM2OC0xNC42NTYtNS42OTYtMjkuMjQ4LTEwLjA0OC00My43NzZsLTIwLjQxNi02Ny4yaDYyLjk3NmwtMTkuMzkyIDYzLjQyNGMtNS44ODggMTkuMzI4LTEwLjI0IDM1LjItMTMuMTIgNDcuNTUyek02OTEuMzI4IDQxLjY2NGMxNi43NjggMCAzMC43ODQgOS45ODQgNDIuMjQgMzAuMDE2czE3LjE1MiA2MC4wMzIgMTcuMTUyIDEyMGMwIDYwLjI4OC01LjY5NiAxMDAuNDE2LTE3LjE1MiAxMjAuMjU2cy0yNS42IDI5Ljc2LTQyLjY4OCAyOS43NmMtMTYuNzY4IDAtMzAuMTQ0LTguNzY4LTQwLjEyOC0yNi4yNC0xMi41NDQtMjIuMzM2LTE4Ljg4LTYzLjU1Mi0xOC44OC0xMjMuNzc2czUuNjk2LTEwMC4xNiAxNy4xNTItMTIwLjEyOCAyNS40NzItMjkuODg4IDQyLjMwNC0yOS44ODh6TTAgOTYwdi01MTAuMDE2aDEwMjR2NTEwLjAxNmgtMTAyNHpNMTA2Ljg4IDUwMS4xODRoLTUzLjgyNHY0MDYuOTEyaDUzLjgyNHYtNDA2LjkxMnpNNDk0Ljc4NCA1NjYuMDE2Yy04LjA2NC0xNi4zODQtMTcuOTg0LTI4Ljk5Mi0yOS44MjQtMzcuODg4cy0yNi42ODgtMTUuNjE2LTQ0LjYwOC0yMC4xNmMtMTcuNzkyLTQuNTQ0LTM5LjY4LTYuNzg0LTY1LjYtNi43ODRoLTE1NS4ydjQwNi45MTJoMTUyLjcwNGMzMS4xMDQgMCA1Ni00LjA5NiA3NC44MTYtMTIuMzUyIDE4Ljc1Mi04LjI1NiAzMy40NzItMjAuOTI4IDQ0LjA5Ni0zOC4wMTYgMTAuNjI0LTE3LjE1MiAxNi0zNS4wMDggMTYtNTMuNjk2IDAtMTcuNDA4LTQuNzM2LTMzLjc5Mi0xNC4xNDQtNDkuMTUycy0yMy42OC0yNy43NzYtNDIuNzUyLTM3LjI0OGMyNC41NzYtNy4yMzIgNDMuNTItMTkuNTIgNTYuNzY4LTM2LjkyOHMxOS44NC0zNy45NTIgMTkuODQtNjEuNjMyYy0wLjA2NC0xOS4wMDgtNC4wMzItMzYuNjcyLTEyLjA5Ni01My4wNTZ6TTk2Ny42MTYgNTAxLjE4NGgtNTEuOTA0djM0MC42MDhsLTExOC4yNzItMzQwLjYwOGgtNDguNTc2bC0xMTcuNjMyIDM0Ni40MzJ2LTM0Ni40MzJoLTUxLjkwNHY0MDYuOTEyaDgxLjA4OGw5Ni4zMi0yODguMTI4YzguODk2LTI2LjgxNiAxNS4zNi00Ni45MTIgMTkuNDU2LTYwLjIyNCA0LjYwOCAxNC43ODQgMTEuODQgMzYuNTQ0IDIxLjYzMiA2NS4yOGw5Ny40MDggMjgzLjEzNmg3Mi40NDh2LTQwNi45NzZ6TTQwNy4wNDAgNjgyLjMwNGMtMTMuNzYgNC41NDQtMzMuNiA2Ljc4NC01OS41MiA2Ljc4NGgtOTQuMDgwdi0xMzkuOTA0aDEwMS4zMTJjMTcuMzQ0IDAgMjkuNTY4IDAuNjQgMzYuNjA4IDEuOTIgMTIuNDE2IDIuMjQgMjIuNzg0IDUuODg4IDMxLjEwNCAxMS4wNzJzMTUuMTY4IDEyLjczNiAyMC41NDQgMjIuNjU2YzUuMzc2IDkuOTIgOC4wNjQgMjEuMzEyIDguMDY0IDM0LjMwNCAwIDE1LjE2OC0zLjkwNCAyOC4zNTItMTEuNjQ4IDM5LjU1Mi03LjgwOCAxMS4yLTE4LjU2IDE5LjA3Mi0zMi4zODQgMjMuNjE2ek0zOTIuNzY4IDc0MS44MjRjMTMuNjk2IDQuMDMyIDI0IDEwLjgxNiAzMC45MTIgMjAuMjg4czEwLjQzMiAyMS4zMTIgMTAuNDMyIDM1LjUyYzAgMTMuNTA0LTMuMjY0IDI1LjM0NC05LjcyOCAzNS42NDhzLTE1LjY4IDE3LjM0NC0yNy43MTIgMjEuMTItMzIuNjQgNS42OTYtNjEuOTUyIDUuNjk2aC04MS4yOHYtMTIyLjk0NGg4OGMyMy44NzIgMCA0MC45NiAxLjUzNiA1MS4zMjggNC42NzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MDQ7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1maWxlc2VydmVyIiBkPSJNMjg0LjAzMiA1NTEuMjMyaDQ1NC44NDh2LTQ1LjQ0aC00NTQuODQ4djQ1LjQ0ek0yODQuMDMyIDM4Ni43NTJoNDU0Ljg0OHYtNDUuNTA0aC00NTQuODQ4djQ1LjUwNHpNMjg0LjAzMiA3MzYuNzA0aDE0My40ODh2LTQ1LjUwNGgtMTQzLjQ4OHY0NS41MDR6TTI4NC4wMzIgMjIyLjMzNmg0NTQuODQ4di00NS41MDRoLTQ1NC44NDh2NDUuNTA0ek0xMDIxLjYzMiA4NTUuMjk2Yy0xMC44OCA1OS42NDgtNjIuODQ4IDEwNC43MDQtMTI1LjYzMiAxMDQuNzA0aC03NjhjLTcwLjg0OCAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4LjA2NGMwLTU1LjgwOCAzNS43MTItMTAyLjU5MiA4NS4zMTItMTIwLjE5MnYtMy45MDRoMTIuNzM2YzkuNjY0LTIuMzA0IDE5LjU4NC0zLjg0IDI5Ljk1Mi0zLjg0aDc2OGM3MC43ODQgMCAxMjggNTcuMDg4IDEyOCAxMjcuOTM2djc5MS4zNmgtMi4zNjh6TTgzMy4zNDQgNy4xMDRoLTY3MS44MDh2ODgxLjc5Mmg2NzEuODcydi04ODEuNzkyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTA1OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItc2FwY2NtcyIgZD0iTTg2Ny43NzYgNjA4LjUxMmMtNy4xMDQgMS45Mi0yMC4zNTIgMi44MTYtMzkuNjE2IDIuODE2aC04MS45ODR2LTExNC42MjRoODIuODhjMjcuNDU2IDAgNDYuOTEyIDUuMTIgNTguNDMyIDE1LjI5NnMxNy4zNDQgMjQuNTc2IDE3LjM0NCA0My4wNzJjMCAxMy4zNzYtMy40NTYgMjQuODk2LTEwLjE3NiAzNC40MzItNi45MTIgOS42LTE1Ljg3MiAxNS45MzYtMjYuODggMTkuMDA4ek04OTYgOTYwaC03NjhjLTcwLjc4NCAwLTEyOC01Ny4xNTItMTI4LTEyOHYtNzY4LjA2NGMwLTcwLjc4NCA1Ny4yMTYtMTI3LjkzNiAxMjgtMTI3LjkzNmg3NjhjNzAuODQ4IDAgMTI4IDU3LjE1MiAxMjggMTI3LjkzNnY3NjguMDY0YzAgNzAuODQ4LTU3LjE1MiAxMjgtMTI4IDEyOHpNMzMyLjIyNCAzNzAuODE2Yy05Ljc5Mi0xNS4wNDAtMjMuODA4LTI2LjgxNi00Mi4xMTItMzUuMnMtMzguOTEyLTEyLjYwOC02MS44MjQtMTIuNjA4Yy0yOS4wNTYgMC01My4zMTIgNC4yMjQtNzIuOTYgMTIuNzM2LTE5LjU4NCA4LjQ0OC0zNS4wMDggMjEuMTItNDYuMDgwIDM4LjE0NC0xMS4yIDE3LjAyNC0xNy4wMjQgMzYuMjI0LTE3LjYgNTcuNmw0MCAzLjUyYzEuOTItMTYgNi4zMzYtMjkuMTg0IDEzLjI0OC0zOS40MjQgNi45MTItMTAuMzA0IDE3LjY2NC0xOC42MjQgMzIuMjU2LTI0Ljk2IDE0LjU5Mi02LjQgMzAuOTc2LTkuNDcyIDQ5LjIxNi05LjQ3MiAxNi4xOTIgMCAzMC40NjQgMi4zNjggNDIuODggNy4xNjhzMjEuNjMyIDExLjQ1NiAyNy43MTIgMTkuODRjNi4wMTYgOC4zODQgOS4wODggMTcuNDcyIDkuMDg4IDI3LjQ1NiAwIDEwLjA0OC0yLjg4IDE4Ljg4LTguNzY4IDI2LjM2OHMtMTUuNTUyIDEzLjc2LTI4LjkyOCAxOC44OGMtOC41NzYgMy4zMjgtMjcuNjQ4IDguNTEyLTU3LjA4OCAxNS42MTYtMjkuNTA0IDcuMTA0LTUwLjExMiAxMy43Ni02MS45NTIgMjAuMDMyLTE1LjI5NiA4LTI2LjY4OCAxNy45ODQtMzQuMjQgMjkuODg4LTcuNDg4IDExLjg0LTExLjIgMjUuMTUyLTExLjIgMzkuODcyIDAgMTYuMTkyIDQuNjA4IDMxLjI5NiAxMy43NiA0NS4zNzYgOS4yMTYgMTQuMDgwIDIyLjU5MiAyNC43NjggNDAuMjU2IDMyczM3LjI0OCAxMC45NDQgNTguODE2IDEwLjk0NGMyMy44MDggMCA0NC43MzYtMy44NCA2Mi44NDgtMTEuNDU2IDE4LjE3Ni03LjY4IDMyLjEyOC0xOC45NDQgNDEuOTItMzMuNzkyczE1LjA0MC0zMS43NDQgMTUuNzQ0LTUwLjU2bC00MC42NC0zLjAwOGMtMi4xNzYgMjAuMjg4LTkuNiAzNS41ODQtMjIuMjA4IDQ1Ljk1Mi0xMi42MDggMTAuMzA0LTMxLjIzMiAxNS41NTItNTUuODcyIDE1LjU1Mi0yNS42NjQgMC00NC4zNTItNC42NzItNTYuMTI4LTE0LjE0NC0xMS43MTItOS40MDgtMTcuNi0yMC43MzYtMTcuNi0zMy45ODQgMC0xMS41MiA0LjE2LTIwLjk5MiAxMi40OC0yOC40MTYgOC4xMjgtNy40MjQgMjkuNTA0LTE1LjA0MCA2NC0yMi44NDhzNTguMTEyLTE0LjU5MiA3MC45NzYtMjAuNDE2YzE4LjY4OC04LjU3NiAzMi40NDgtMTkuNTIgNDEuMzQ0LTMyLjcwNHMxMy4zMTItMjguNTQ0IDEzLjMxMi00NS42OTZjMC0xNy4wODgtNC44NjQtMzMuMTUyLTE0LjY1Ni00OC4yNTZ6TTYyMS40NCAzMjguNTEybC0zNy40NCA5Ny4wODhoLTEzNC4wODBsLTM1LjItOTcuMTUyaC00NS4xMmwxMjMuMiAzMjAuNzY4aDQ1LjY5NmwxMzEuMjY0LTMyMC43MDRoLTQ4LjMyek05MjIuNDMyIDQ4Ny4xNjhjLTE3LjM0NC0xOC44OC00OC43MDQtMjguMjg4LTk0LjA4MC0yOC4yODhoLTgyLjI0di0xMzAuMzY4aC00Mi40MzJ2MzIwLjcwNGgxMjAuOTZjMjEuMzEyIDAgMzcuNTY4LTEuMDI0IDQ4LjgzMi0zLjA3MiAxNS43NDQtMi42MjQgMjguOTI4LTcuNjE2IDM5LjU1Mi0xNC45NzYgMTAuNjg4LTcuMzYgMTkuMjY0LTE3LjY2NCAyNS43MjgtMzAuOTEyczkuNzI4LTI3Ljg0IDkuNzI4LTQzLjc3NmMwLTI3LjMyOC04LjY0LTUwLjM2OC0yNi4wNDgtNjkuMzEyek01MTQuNjg4IDYxNS40ODhjLTQuMDk2LTIwLjU0NC05Ljg1Ni00MC45Ni0xNy4yOC02MS4yNDhsLTM1LjItOTQuMDgwaDEwOC42NzJsLTMzLjQ3MiA4OC44MzJjLTEwLjI0IDI3LjAwOC0xNy43OTIgNDkuMTUyLTIyLjcyIDY2LjQ5NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkwNjsiIGdseXBoLW5hbWU9Iml0LW90aGVyLWFjdGl2ZWRpcmVjdG9yeSIgZD0iTTg5NiA5NjBoLTc2OGMtNzAuODQ4IDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjguMDY0YzAtNzAuNzg0IDU3LjE1Mi0xMjcuOTM2IDEyOC0xMjcuOTM2aDc2OGM3MC44NDggMCAxMjggNTcuMTUyIDEyOCAxMjcuOTM2djc2OC4wNjRjMCA3MC45MTItNTcuMTUyIDEyOC0xMjggMTI4ek0zOTQuNjg4IDE3NS4zNnYtMTMuODg4aC0yMjQuODMydjEzLjg4OGM2OS4zMTIgMTMuODg4IDgyLjI0IDIyLjcyIDExOC44NDggMTExLjg3MmwyMTQuOTc2IDUwNC4zODQgMTEuOTA0IDQuOTI4IDY2LjM2OC0xODMuMjk2YzQ1LjU2OC0xMjMuOTA0IDkwLjI0LTI0Ny42OCAxMjcuOTM2LTM0Mi44NDggMjQuNjQtNjAuNjA4IDM0Ljc1Mi03OC41MjggNzYuOC04OS4wODh2LTE5Ljg0aC0xOTYuNzM2djEzLjg4OGM1Ni40NDggNy44NzIgNzcuMzEyIDEzLjg4OCA3Ny4zMTIgMzcuNjMyIDAgMjUuNzI4LTI5Ljc2IDEwMi45NzYtNjYuNDk2IDE5NC4xMTJoLTIyOC44Yy05LjkyLTE4Ljc1Mi01OS40NTYtMTUyLjUxMi01OS40NTYtMTgzLjE2OCAwLTMzLjY2NCAyNi42ODgtMzkuNjggODIuMTc2LTQ4LjU3NnpNNDk1LjgwOCA3MDQuMzg0aC0xLjkyYy0zOS42OC04OC4xMjgtNzguMzM2LTE4Mi4yNzItMTEwLjAxNi0yNjUuNDcyaDIwOGwtOTYuMDY0IDI2NS40NzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MDc7IiBnbHlwaC1uYW1lPSJpdC1hcHAtc2xpdmVyc3RyZWFtIiBkPSJNODk2LTY0YzcwLjc4NCAwIDEyOCA1Ny4xNTIgMTI4IDEyOHYyNTIuMDMybC0zNzkuOTY4LTM4MC4wMzJoMjUxLjk2OHpNODk2IDk2MGgtNzY4Yy03MC44NDggMC0xMjgtNTcuMTUyLTEyOC0xMjh2LTc2OGMwLTcwLjg0OCA1Ny4xNTItMTI4IDEyOC0xMjhoNDE4LjA0OGw0NzcuOTUyIDQ4MHY0MTZjMCA3MC44NDgtNTcuMjE2IDEyOC0xMjggMTI4ek00MDEuMTUyIDQ3NS40NTZjLTEyLjQxNi0xOS45MDQtMzAuMjcyLTM1LjMyOC01My41NjgtNDYuNHMtNDkuNTM2LTE2LjU3Ni03OC42NTYtMTYuNTc2Yy0zNi45MjggMC02Ny45MDQgNS41NjgtOTIuODY0IDE2LjcwNHMtNDQuNTQ0IDI3Ljk2OC01OC43NTIgNTAuMzA0Yy0xNC4yMDggMjIuNC0yMS42OTYgNDcuNzQ0LTIyLjQgNzUuOTY4bDUwLjk0NCA0LjYwOGMyLjQzMi0yMS4xMiA4LTM4LjQ2NCAxNi44MzItNTIuMDMyIDguODMyLTEzLjUwNCAyMi41MjgtMjQuNTEyIDQxLjA4OC0zMi44MzIgMTguNTYtOC4zODQgMzkuNDI0LTEyLjU0NCA2Mi42NTYtMTIuNTQ0IDIwLjYwOCAwIDM4Ljc4NCAzLjIgNTQuNTkyIDkuNTM2IDE1Ljc0NCA2LjMzNiAyNy41MiAxNS4wNDAgMzUuMiAyNi4xMTIgNy42OCAxMS4wMDggMTEuNTIgMjMuMTA0IDExLjUyIDM2LjE2IDAgMTMuMzEyLTMuNzEyIDI0LjgzMi0xMS4xMzYgMzQuNzUyLTcuNDI0IDkuODU2LTE5LjcxMiAxOC4xNzYtMzYuNzM2IDI0Ljk2LTEwLjk0NCA0LjQxNi0zNS4yIDExLjI2NC03Mi42NCAyMC42MDgtMzcuNTA0IDkuMjE2LTYzLjc0NCAxOC4wNDgtNzguNzg0IDI2LjMwNC0xOS41MiAxMC41Ni0zNC4wNDggMjMuNjgtNDMuNTg0IDM5LjI5NnMtMTQuMzM2IDMzLjIxNi0xNC4zMzYgNTIuNjcyYzAgMjEuMzEyIDUuODI0IDQxLjI4IDE3LjUzNiA1OS44NHMyOC43MzYgMzIuNjQgNTEuMiA0Mi4yNGMyMi40NjQgOS42IDQ3LjQyNCAxNC40IDc0Ljg4IDE0LjQgMzAuMjcyIDAgNTYuOTYtNS4wNTYgODAuMDY0LTE1LjEwNCAyMy4xMDQtMTAuMTEyIDQwLjg5Ni0yNC45NiA1My4zMTItNDQuNTQ0czE5LjEzNi00MS45MiAyMC4wMzItNjYuNjg4bC01MS43NzYtNC4wMzJjLTIuNzUyIDI2Ljc1Mi0xMi4xNiA0Ni45MTItMjguMjI0IDYwLjU0NHMtMzkuODA4IDIwLjQ4LTcxLjEwNCAyMC40OGMtMzIuNzA0IDAtNTYuNDQ4LTYuMjA4LTcxLjQyNC0xOC42MjQtMTQuOTc2LTEyLjM1Mi0yMi40NjQtMjcuMzI4LTIyLjQ2NC00NC44IDAtMTUuMTY4IDUuMzEyLTI3LjcxMiAxNS44NzItMzcuNDQgMTAuNDMyLTkuNzkyIDM3LjUwNC0xOS44NCA4MS40MDgtMzAuMTQ0czczLjk4NC0xOS4yNjQgOTAuMzY4LTI2Ljk0NGMyMy43NDQtMTEuMzI4IDQxLjI4LTI1LjY2NCA1Mi42MDgtNDMuMDcyIDExLjMyOC0xNy40NzIgMTcuMDI0LTM3LjUwNCAxNy4wMjQtNjAuMTYgMC0yMi40NjQtNi4yNzItNDMuNjQ4LTE4LjY4OC02My41NTJ6TTUzNy41MzYgNDE5LjcxMmgtNTAuMDQ4djMwNi4xMTJoNTAuMTEydi0zMDYuMTEyek01MzcuNTM2IDc4Mi41OTJoLTUwLjA0OHY1OS43MTJoNTAuMTEydi01OS43MTJ6TTY2Mi44NDggNDE5LjcxMmgtNTAuMTEydjQyMi41OTJoNTAuMTEydi00MjIuNTkyek04MTEuOTA0IDQxOS43MTJoLTU3LjE1MnY1OS4wNzJoNTcuMTUydi01OS4wNzJ6TTk3MC4yNCA0MTkuNzEyaC01Ny4xNTJ2NTkuMDcyaDU3LjE1MnYtNTkuMDcyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTA4OyIgZ2x5cGgtbmFtZT0iaXQtYXBwLW9yYWNsZWFzIiBkPSJNODk2LTY0YzcwLjc4NCAwIDEyOCA1Ny4xNTIgMTI4IDEyOHYyNTIuMDMybC0zNzkuOTY4LTM4MC4wMzJoMjUxLjk2OHpNMjgxLjM0NCA4MDAuNTEyYy02LjAxNi0zMS4yOTYtMTQuNDY0LTYyLjMzNi0yNS40MDgtOTMuMTg0bC01MS43NzYtMTQzLjEwNGgxNTkuNzQ0bC00OS4xNTIgMTM1LjEwNGMtMTQuOTc2IDQxLjAyNC0yNi4xNzYgNzQuNzUyLTMzLjQwOCAxMDEuMTg0ek04OTYgOTYwaC03NjhjLTcwLjg0OCAwLTEyOC01Ny4xNTItMTI4LTEyOHYtNzY4YzAtNzAuODQ4IDU3LjE1Mi0xMjggMTI4LTEyOGg0MTguMDQ4bDQ3Ny45NTIgNDgwdjQxNmMwIDcwLjg0OC01Ny4yMTYgMTI4LTEyOCAxMjh6TTQzOC4xNDQgMzYzLjk2OGwtNTQuOTc2IDE0Ny43MTJoLTE5Ni45OTJsLTUxLjcxMi0xNDcuNzEyaC02Ni4yNGwxODAuOTI4IDQ4Ny44MDhoNjcuMTM2bDE5Mi44MzItNDg3LjgwOGgtNzAuOTc2ek04OTEuMzI4IDQyOC4yODhjLTE0LjQtMjIuOTEyLTM1LjAwOC00MC44MzItNjEuODg4LTUzLjU2OHMtNTcuMjE2LTE5LjEzNi05MC44MTYtMTkuMTM2Yy00Mi42MjQgMC03OC40IDYuNDY0LTEwNy4yIDE5LjMyOHMtNTEuMzkyIDMyLjE5Mi02Ny43NzYgNTguMDQ4LTI1LjAyNCA1NS4xMDQtMjUuODU2IDg3LjY4bDU4LjgxNiA1LjMxMmMyLjc1Mi0yNC4zODQgOS4yOC00NC40MTYgMTkuNDU2LTYwLjAzMiAxMC4xMTItMTUuNjggMjUuOTItMjguMjg4IDQ3LjM2LTM3Ljk1MnM0NS41MDQtMTQuNDY0IDcyLjMyLTE0LjQ2NGMyMy43NDQgMCA0NC43MzYgMy42NDggNjIuOTc2IDEwLjk0NCAxOC4xNzYgNy4yOTYgMzEuNzQ0IDE3LjM0NCA0MC42NCAzMC4xNDQgOC44OTYgMTIuNzM2IDEzLjM3NiAyNi42ODggMTMuMzc2IDQxLjcyOCAwIDE1LjI5Ni00LjI4OCAyOC42NzItMTIuODY0IDQwLjA2NHMtMjIuNjU2IDIwLjk5Mi00Mi40MzIgMjguOGMtMTIuNjA4IDUuMTItNDAuNTc2IDEzLjA1Ni04My45MDQgMjMuODA4LTQzLjIgMTAuODE2LTczLjUzNiAyMC45MjgtOTAuODggMzAuNTI4LTIyLjUyOCAxMi4xNi0zOS4yOTYgMjcuMjY0LTUwLjMwNCA0NS4zNzYtMTEuMDcyIDE4LjA0OC0xNi41NzYgMzguMzM2LTE2LjU3NiA2MC43MzYgMCAyNC42NCA2Ljc4NCA0Ny42OCAyMC4yMjQgNjkuMDU2IDEzLjUwNCAyMS4zNzYgMzMuMjggMzcuNjMyIDU5LjIgNDguNzY4IDI1Ljg1NiAxMS4wNzIgNTQuNjU2IDE2LjY0IDg2LjQ2NCAxNi42NCAzNC44OCAwIDY1LjY2NC01LjgyNCA5Mi4zNTItMTcuNDcyczQ3LjE2OC0yOC44IDYxLjU2OC01MS4zOTJjMTQuMzM2LTIyLjY1NiAyMi4wODAtNDguMjU2IDIzLjEwNC03Ni44NjRsLTU5Ljc3Ni00LjY3MmMtMy4yNjQgMzAuODQ4LTE0LjE0NCA1NC4xNDQtMzIuNjQgNjkuODg4LTE4LjU2IDE1Ljc0NC00NS45NTIgMjMuNjE2LTgyLjExMiAyMy42MTYtMzcuNzYgMC02NS4yMTYtNy4xNjgtODIuNDMyLTIxLjQ0LTE3LjI4LTE0LjI3Mi0yNS44NTYtMzEuNTUyLTI1Ljg1Ni01MS43MTIgMC0xNy41MzYgNi4xNDQtMzIgMTguMzA0LTQzLjI2NCAxMi4wMzItMTEuMzI4IDQzLjMyOC0yMi45MTIgOTQuMDE2LTM0Ljc1MiA1MC42ODgtMTEuOTA0IDg1LjQ0LTIyLjI3MiAxMDQuMzItMzEuMTA0IDI3LjM5Mi0xMy4xMiA0Ny42MTYtMjkuNjMyIDYwLjY3Mi00OS43MjggMTMuMTItMjAuMDMyIDE5LjY0OC00My4yIDE5LjY0OC02OS4zNzYgMC0yNi4wNDgtNy4yMzItNTAuNTYtMjEuNTA0LTczLjUzNnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkwOTsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci1mcmVlQlNEIiBkPSJNNzYwIDcwNi42ODhjNTYuODk2LTYxLjQ0IDg5Ljk4NC02Ny4wNzIgODkuOTg0LTY3LjA3MnMxNTMuOTg0IDIwOC43MDQgMTUzLjk4NCAyMTkuOTA0LTMuODQgNDQuNzM2LTEyLjggNTUuODcyYy05LjI4IDExLjI2NC0xNi41NzYgMTYuODMyLTQ5LjYgMTguNjg4cy0yMzQuODgtMTA2LjE3Ni0yMzQuODgtMTA2LjE3Ni0zLjg0LTU5LjY0OCA1My4zMTItMTIxLjIxNnpNODQyLjI0IDU3My4wNTZjMCAwLTQ2LjY1NiA3Ljg3Mi0xMjYuNzg0IDk0LjY1Ni04MC4zMiA4Ni43ODQtNzUuMiAxNzAuOTQ0LTc1LjIgMTcwLjk0NHM0MC44MzIgMjEuODg4IDk0LjA4MCA0OC43NjhjLTcwLjQgMzguNDY0LTE0OS42MzIgNjIuMzM2LTIzNS4wNzIgNjIuMzM2LTg0Ljg2NCAwLTE2NC44LTIxLjYzMi0yMzQuODE2LTU5LjY0OC0zNi44IDE2Ljk2LTEzMy4wNTYgNjAuOTkyLTE0Ny41ODQgNjYuNDk2LTE3Ljk4NCA2LjkxMi02OS42MzIgNC42MDgtODcuNjgtMjAuNDgtMTcuOTg0LTI1LjA4OC00LjQ4LTg0LjQ4LTQuNDgtODQuNDhsODAuNDQ4LTk4LjM2OGMtNjUuNjY0LTg1LjgyNC0xMDUuMTUyLTE5My4zNDQtMTA1LjE1Mi0zMTAuNCAwLTI4MC4xMjggMjIzLjQ4OC01MDYuODggNDk5LjI2NC01MDYuODhzNDk5LjI2NCAyMjYuNzUyIDQ5OS4yNjQgNTA2Ljg4YzAgOTEuNzc2LTI1Ljc5MiAxNzYuNTc2LTY3Ljg0IDI1MC45NDQtNDYuNzItNjQuMzItODguNDQ4LTEyMC43NjgtODguNDQ4LTEyMC43Njh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MGE7IiBnbHlwaC1uYW1lPSJpdC1hcHAtZXhjaGFuZ2UyMDA3IiBkPSJNODk2LTY0YzcwLjg0OCAwIDEyOCA1Ny4xNTIgMTI4IDEyOHYyNTIuMDMybC0zNzkuOTY4LTM4MC4wMzJoMjUxLjk2OHpNMzMxLjUyIDUzMy43NmMxMC4zNjggMCAxOS4wMDggNC45OTIgMjYuMDQ4IDE0Ljk3NnMxMC41NiAzMC4wMTYgMTAuNTYgNjAuMDMyYzAgMzAuMTQ0LTMuNTIgNTAuMjQtMTAuNTYgNjAuMDk2cy0xNS44MDggMTQuOTEyLTI2LjMwNCAxNC45MTJjLTEwLjM2OCAwLTE4LjYyNC00LjM1Mi0yNC43NjgtMTMuMTItNy43NDQtMTEuMi0xMS42NDgtMzEuODA4LTExLjY0OC02MS44ODhzMy41Mi01MC4xMTIgMTAuNTYtNjAuMDMyIDE1Ljc0NC0xNC45NzYgMjYuMTEyLTE0Ljk3NnpNNTI2LjIwOCA4MDcuODA4Yy0xOC4xMTIgMC0zMi41MTItNy42OC00My4zMjgtMjIuOTc2LTEzLjU2OC0xOS41Mi0yMC4yODgtNTUuNjE2LTIwLjI4OC0xMDguMjg4czYuMTQ0LTg3LjY4IDE4LjQ5Ni0xMDUuMDg4YzEyLjI4OC0xNy40NzIgMjcuNDU2LTI2LjE3NiA0NS41NjgtMjYuMTc2czMzLjI4IDguNzY4IDQ1LjU2OCAyNi4yNGMxMi40MTYgMTcuNTM2IDE4LjQ5NiA1Mi40OCAxOC40OTYgMTA1LjAyNCAwIDUyLjgtNi4xNDQgODcuODcyLTE4LjQ5NiAxMDUuMjE2LTEyLjI4OCAxNy4zNDQtMjcuNTg0IDI2LjA0OC00Ni4wMTYgMjYuMDQ4ek04OTYgOTYwaC03NjhjLTcwLjg0OCAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuODQ4IDU3LjE1Mi0xMjggMTI4LTEyOGg0MTcuOTg0bDQ3OC4wMTYgNDgwdjQxNmMwIDcwLjkxMi01Ny4xNTIgMTI4LTEyOCAxMjh6TTI3OC40NjQgNjYxLjA1NmM0LjQ4IDEzLjI0OCAxMS4wNzIgMjMuNDI0IDE5LjkwNCAzMC41OTJzMTkuODQgMTAuNzUyIDMzLjIxNiAxMC43NTJjOS44NTYgMCAxOC40OTYtMS45ODQgMjUuODU2LTUuOTUyczEzLjUwNC05LjY2NCAxOC4zNjgtMTcuMTUyIDguNjQtMTYuNTEyIDExLjM5Mi0yNy4yNjQgNC4wOTYtMjUuMTUyIDQuMDk2LTQzLjMyOGMwLTIxLjUwNC0yLjI0LTM4Ljg0OC02LjY1Ni01Mi4wMzJzLTExLjA3Mi0yMy4zNi0xOS44NC0zMC41OTItMTkuOTA0LTEwLjgxNi0zMy4yOC0xMC44MTZjLTE3LjY2NCAwLTMxLjU1MiA2LjMzNi00MS42IDE5LjAwOC0xMi4xNiAxNS4yMzItMTguMTc2IDQwLjA2NC0xOC4xNzYgNzQuNDk2IDAgMjEuNjMyIDIuMjQgMzkuMTA0IDYuNzIgNTIuMjg4ek0xMjYuNTI4IDUxOC40Yy0wLjE5MiA1LjM3NiAwLjcwNCAxMC42MjQgMi42MjQgMTUuNjE2IDMuMDcyIDguMjU2IDggMTYuMzg0IDE0Ljc4NCAyNC4zODRzMTYuNTc2IDE3LjI4IDI5LjQ0IDI3Ljc3NmMxOS45MDQgMTYuMzIgMzMuMzQ0IDI5LjI0OCA0MC4zODQgMzguNzg0czEwLjQ5NiAxOC41NiAxMC40OTYgMjcuMDcyYzAgOC44OTYtMy4yIDE2LjQ0OC05LjUzNiAyMi41OTJzLTE0LjY1NiA5LjIxNi0yNC45NiA5LjIxNmMtMTAuODE2IDAtMTkuNTItMy4yNjQtMjUuOTg0LTkuNzI4cy05Ljc5Mi0xNS42MTYtOS45Mi0yNy4xMzZsLTIzLjEwNCAyLjM2OGMxLjYgMTcuMjggNy41NTIgMzAuNCAxNy44NTYgMzkuNDI0czI0LjE5MiAxMy41NjggNDEuNiAxMy41NjhjMTcuNiAwIDMxLjQ4OC00Ljg2NCA0MS43MjgtMTQuNjU2czE1LjM2LTIxLjgyNCAxNS4zNi0zNi4yMjRjMC03LjM2LTEuNDcyLTE0LjUyOC00LjQ4LTIxLjYzMnMtNy45MzYtMTQuNDY0LTE0Ljg0OC0yMi4zMzYtMTguNTYtMTguNTYtMzQuNjg4LTMyLjI1NmMtMTMuNTA0LTExLjMyOC0yMi4xNDQtMTkuMDA4LTI1Ljk4NC0yMy4wNDBzLTYuOTc2LTguMDY0LTkuNDcyLTEyLjE2aDg5Ljg1NnYtMjEuNjMyaC0xMjEuMTUyek00NzcuNjk2IDMxLjM2aC0yNTkuNTJ2MzQ3Ljg0aDI1MS40NTZ2LTQxLjA4OGgtMjA1LjQ0di0xMDYuNDk2aDE5Mi4zODR2LTQwLjgzMmgtMTkyLjM4NHYtMTE4LjRoMjEzLjUwNHYtNDEuMDI0ek02MTkuNjQ4IDU4NS40MDhjLTcuNzQ0LTIzLjEwNC0xOS4zMjgtNDAuOTYtMzQuNjg4LTUzLjU2OHMtMzQuODE2LTE4Ljg4LTU4LjMwNC0xOC44OGMtMzAuOTEyIDAtNTUuMTY4IDExLjA3Mi03Mi44MzIgMzMuMjgtMjEuMTg0IDI2LjYyNC0zMS43NDQgNzAuMDgwLTMxLjc0NCAxMzAuMzA0IDAgMzcuODg4IDMuOTA0IDY4LjQxNiAxMS43MTIgOTEuNTJzMTkuMzkyIDQwLjk2IDM0Ljc1MiA1My41MDRjMTUuNDI0IDEyLjU0NCAzNC43NTIgMTguODE2IDU4LjExMiAxOC44MTYgMTcuMjE2IDAgMzIuMzItMy40NTYgNDUuMzEyLTEwLjM2OCAxMi45OTItNi45NzYgMjMuNjgtMTYuOTYgMzIuMDY0LTMwLjAxNiA4LjUxMi0xMy4wNTYgMTUuMTY4LTI4LjkyOCAxOS45NjgtNDcuNjggNC44LTE4LjY4OCA3LjE2OC00NC4wMzIgNy4xNjgtNzUuNzc2IDAtMzcuNjMyLTMuNzc2LTY4LjAzMi0xMS41Mi05MS4xMzZ6TTg4MS40NzIgODA0LjI4OGMtMjAuNDE2LTIxLjY5Ni00MC42NC01MC42MjQtNjAuNjcyLTg2LjY1NnMtMzUuNTg0LTczLjA4OC00Ni41MjgtMTExLjEwNGMtNy44NzItMjYuODE2LTEyLjg2NC01Ni4xOTItMTUuMTA0LTg4LjEyOGgtNDAuNDQ4YzAuNDQ4IDI1LjIxNiA1LjM3NiA1NS43NDQgMTQuODQ4IDkxLjQ1NnMyMy4wNDAgNzAuMjA4IDQwLjgzMiAxMDMuMzZjMTcuNjY0IDMzLjE1MiAzNi41NDQgNjEuMTIgNTYuNTEyIDgzLjkwNGgtMTU2Ljk5MnYzNy43NmgyMDcuNTUydi0zMC41OTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MGI7IiBnbHlwaC1uYW1lPSJpdC1hcHAtZXhjaGFuZ2UyMDAzIiBkPSJNODk2LTY0YzcwLjg0OCAwIDEyOCA1Ny4xNTIgMTI4IDEyOHYyNTIuMDMybC0zNzkuOTY4LTM4MC4wMzJoMjUxLjk2OHpNMzMxLjUyIDUzMy43NmMxMC4zNjggMCAxOS4wMDggNC45OTIgMjYuMDQ4IDE0Ljk3NnMxMC41NiAzMC4wMTYgMTAuNTYgNjAuMDMyYzAgMzAuMTQ0LTMuNTIgNTAuMjQtMTAuNTYgNjAuMDk2cy0xNS44MDggMTQuOTEyLTI2LjMwNCAxNC45MTJjLTEwLjM2OCAwLTE4LjYyNC00LjM1Mi0yNC43NjgtMTMuMTItNy43NDQtMTEuMi0xMS42NDgtMzEuODA4LTExLjY0OC02MS44ODhzMy41Mi01MC4xMTIgMTAuNTYtNjAuMDMyIDE1Ljc0NC0xNC45NzYgMjYuMTEyLTE0Ljk3NnpNNTI2LjIwOCA4MDcuODA4Yy0xOC4xMTIgMC0zMi41MTItNy42OC00My4zMjgtMjIuOTc2LTEzLjU2OC0xOS41Mi0yMC4yODgtNTUuNjE2LTIwLjI4OC0xMDguMjg4czYuMTQ0LTg3LjY4IDE4LjQ5Ni0xMDUuMDg4YzEyLjI4OC0xNy40NzIgMjcuNDU2LTI2LjE3NiA0NS41NjgtMjYuMTc2czMzLjI4IDguNzY4IDQ1LjU2OCAyNi4yNGMxMi40MTYgMTcuNTM2IDE4LjQ5NiA1Mi40OCAxOC40OTYgMTA1LjAyNCAwIDUyLjgtNi4xNDQgODcuODcyLTE4LjQ5NiAxMDUuMjE2LTEyLjI4OCAxNy4zNDQtMjcuNTg0IDI2LjA0OC00Ni4wMTYgMjYuMDQ4ek04OTYgOTYwaC03NjhjLTcwLjg0OCAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuODQ4IDU3LjE1Mi0xMjggMTI4LTEyOGg0MTcuOTg0bDQ3OC4wMTYgNDgwdjQxNmMwIDcwLjkxMi01Ny4xNTIgMTI4LTEyOCAxMjh6TTI3OC40NjQgNjYxLjA1NmM0LjQ4IDEzLjI0OCAxMS4wNzIgMjMuNDI0IDE5LjkwNCAzMC41OTJzMTkuODQgMTAuNzUyIDMzLjIxNiAxMC43NTJjOS44NTYgMCAxOC40OTYtMS45ODQgMjUuODU2LTUuOTUyczEzLjUwNC05LjY2NCAxOC4zNjgtMTcuMTUyIDguNjQtMTYuNTEyIDExLjM5Mi0yNy4yNjQgNC4wOTYtMjUuMTUyIDQuMDk2LTQzLjMyOGMwLTIxLjUwNC0yLjI0LTM4Ljg0OC02LjY1Ni01Mi4wMzJzLTExLjA3Mi0yMy4zNi0xOS44NC0zMC41OTItMTkuOTA0LTEwLjgxNi0zMy4yOC0xMC44MTZjLTE3LjY2NCAwLTMxLjU1MiA2LjMzNi00MS42IDE5LjAwOC0xMi4xNiAxNS4yMzItMTguMTc2IDQwLjA2NC0xOC4xNzYgNzQuNDk2IDAgMjEuNjMyIDIuMjQgMzkuMTA0IDYuNzIgNTIuMjg4ek0xMjYuNTI4IDUxOC40Yy0wLjE5MiA1LjM3NiAwLjcwNCAxMC42MjQgMi42MjQgMTUuNjE2IDMuMDcyIDguMjU2IDggMTYuMzg0IDE0Ljc4NCAyNC4zODRzMTYuNTc2IDE3LjI4IDI5LjQ0IDI3Ljc3NmMxOS45MDQgMTYuMzIgMzMuMzQ0IDI5LjI0OCA0MC4zODQgMzguNzg0czEwLjQ5NiAxOC41NiAxMC40OTYgMjcuMDcyYzAgOC44OTYtMy4yIDE2LjQ0OC05LjUzNiAyMi41OTJzLTE0LjY1NiA5LjIxNi0yNC45NiA5LjIxNmMtMTAuODE2IDAtMTkuNTItMy4yNjQtMjUuOTg0LTkuNzI4cy05Ljc5Mi0xNS42MTYtOS45Mi0yNy4xMzZsLTIzLjEwNCAyLjM2OGMxLjYgMTcuMjggNy41NTIgMzAuNCAxNy44NTYgMzkuNDI0czI0LjE5MiAxMy41NjggNDEuNiAxMy41NjhjMTcuNiAwIDMxLjQ4OC00Ljg2NCA0MS43MjgtMTQuNjU2czE1LjM2LTIxLjgyNCAxNS4zNi0zNi4yMjRjMC03LjM2LTEuNDcyLTE0LjUyOC00LjQ4LTIxLjYzMnMtNy45MzYtMTQuNDY0LTE0Ljg0OC0yMi4zMzYtMTguNTYtMTguNTYtMzQuNjg4LTMyLjI1NmMtMTMuNTA0LTExLjMyOC0yMi4xNDQtMTkuMDA4LTI1Ljk4NC0yMy4wNDBzLTYuOTc2LTguMDY0LTkuNDcyLTEyLjE2aDg5Ljg1NnYtMjEuNjMyaC0xMjEuMTUyek00NzcuNjk2IDMxLjM2aC0yNTkuNTJ2MzQ3Ljg0aDI1MS40NTZ2LTQxLjA4OGgtMjA1LjQ0di0xMDYuNDk2aDE5Mi4zODR2LTQwLjgzMmgtMTkyLjM4NHYtMTE4LjRoMjEzLjUwNHYtNDEuMDI0ek02MTkuNjQ4IDU4NS40MDhjLTcuNzQ0LTIzLjEwNC0xOS4zMjgtNDAuOTYtMzQuNjg4LTUzLjU2OHMtMzQuODE2LTE4Ljg4LTU4LjMwNC0xOC44OGMtMzAuOTEyIDAtNTUuMTY4IDExLjA3Mi03Mi44MzIgMzMuMjgtMjEuMTg0IDI2LjYyNC0zMS43NDQgNzAuMDgwLTMxLjc0NCAxMzAuMzA0IDAgMzcuODg4IDMuOTA0IDY4LjQxNiAxMS43MTIgOTEuNTJzMTkuMzkyIDQwLjk2IDM0Ljc1MiA1My41MDRjMTUuNDI0IDEyLjU0NCAzNC43NTIgMTguODE2IDU4LjExMiAxOC44MTYgMTcuMjE2IDAgMzIuMzItMy40NTYgNDUuMzEyLTEwLjM2OCAxMi45OTItNi45NzYgMjMuNjgtMTYuOTYgMzIuMDY0LTMwLjAxNiA4LjUxMi0xMy4wNTYgMTUuMTY4LTI4LjkyOCAxOS45NjgtNDcuNjggNC44LTE4LjY4OCA3LjE2OC00NC4wMzIgNy4xNjgtNzUuNzc2IDAtMzcuNjMyLTMuNzc2LTY4LjAzMi0xMS41Mi05MS4xMzZ6TTg1MC44OCA1NDEuODg4Yy0yMC40MTYtMTkuNDU2LTQ2LjI3Mi0yOS4xODQtNzcuNDQtMjkuMTg0LTI4LjA5NiAwLTUxLjUyIDguMzg0LTcwLjE0NCAyNS4xNTItMTguNTYgMTYuNzY4LTI5LjE4NCAzOC41MjgtMzEuODA4IDY1LjIxNmwzOS4zNiA1LjI0OGM0LjQ4LTIyLjMzNiAxMi4xNi0zOC40IDIzLjA0MC00OC4xOTIgMTAuODgtOS44NTYgMjQuMTI4LTE0Ljc4NCAzOS43NDQtMTQuNzg0IDE4LjQ5NiAwIDM0LjExMiA2LjQgNDYuODQ4IDE5LjI2NHMxOS4yIDI4LjY3MiAxOS4yIDQ3LjYxNmMwIDE4LjExMi01Ljg4OCAzMy4wMjQtMTcuNjY0IDQ0LjczNi0xMS44NCAxMS43MTItMjYuODE2IDE3LjYtNDUuMDU2IDE3LjYtNy40MjQgMC0xNi43MDQtMS40NzItMjcuNzc2LTQuMzUybDQuMzUyIDM0LjU2YzIuNjI0LTAuMjU2IDQuNjcyLTAuNDQ4IDYuMzM2LTAuNDQ4IDE2Ljc2OCAwIDMxLjg3MiA0LjM1MiA0NS4zMTIgMTMuMTIgMTMuMzc2IDguNzY4IDIwLjA5NiAyMi4yNzIgMjAuMDk2IDQwLjQ0OCAwIDE0LjQ2NC00LjkyOCAyNi40MzItMTQuNjU2IDM1LjkwNHMtMjIuNCAxNC4yMDgtMzcuODI0IDE0LjIwOGMtMTUuMzYgMC0yOC4wOTYtNC44LTM4LjMzNi0xNC40NjRzLTE2Ljc2OC0yNC4wNjQtMTkuNzEyLTQzLjMyOGwtMzkuMzYgNi45NzZjNC44IDI2LjQzMiAxNS43NDQgNDYuODQ4IDMyLjgzMiA2MS4zNzZzMzguMzM2IDIxLjc2IDYzLjY4IDIxLjc2YzE3LjQ3MiAwIDMzLjUzNi0zLjc3NiA0OC4zMi0xMS4yNjQgMTQuNzItNy41NTIgMjUuOTg0LTE3Ljc5MiAzMy43OTItMzAuNzJzMTEuNzEyLTI2Ljc1MiAxMS43MTItNDEuMzQ0YzAtMTMuODI0LTMuNzEyLTI2LjQ5Ni0xMS4yLTM3LjgyNC03LjM2LTExLjM5Mi0xOC40MzItMjAuNDE2LTMzLjAyNC0yNy4xMzYgMTguOTQ0LTQuMzUyIDMzLjY2NC0xMy40NCA0NC4xNi0yNy4yNjQgMTAuNDk2LTEzLjc2IDE1Ljc0NC0zMC45NzYgMTUuNzQ0LTUxLjcxMiAwLjA2NC0yNy45NjgtMTAuMTEyLTUxLjcxMi0zMC41MjgtNzEuMTY4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTBjOyIgZ2x5cGgtbmFtZT0iaXQtYXBwLWRvdG5ldCIgZD0iTTg5Ni02NGM3MC44NDggMCAxMjggNTcuMTUyIDEyOCAxMjh2MjUyLjAzMmwtMzc5Ljk2OC0zODAuMDMyaDI1MS45Njh6TTg5NiA5NjBoLTc2OGMtNzAuODQ4IDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC44NDggNTcuMTUyLTEyOCAxMjgtMTI4aDQxNy45ODRsNDc4LjAxNiA0ODB2NDE2YzAgNzAuOTEyLTU3LjE1MiAxMjgtMTI4IDEyOHpNODc0LjA0OCA1NzAuNDk2Yy0yMS4zMTItMjguMzUyLTEwNi40MzItMTE4Ljc4NC0xMjQuMDk2LTEyMC41NzYtMTcuNzI4LTEuNzI4LTk3LjUzNi0zLjUyLTE0MC4wMzItNS4zMTItNDIuNjI0LTEuNzkyLTkyLjI4OCAxLjc5Mi05Mi4yODggMS43OTJzLTUzLjE4NCAxNC4xNDQtODguNzA0IDkwLjQzMmMtMTcuOTg0IDM4LjY1Ni0zMS45MzYgMTA0LjU3Ni0zNy4yNDggMTEzLjQ3Mi01LjMxMiA4LjgzMi01LjMxMiA4LjgzMi01LjMxMiA4LjgzMnMtNDIuNTYtMjYuNTYtNjAuMjg4LTUxLjM5Mi00Mi4wNDgtMTAzLjU1Mi01Ni43NjgtMTIyLjM2OGMtMTQuODQ4LTE5LjA3Mi0zOC45NzYtMzguOTc2LTcyLjcwNC00Ni4wODBzLTEyNS45NTIgMS43MjgtMTI1Ljk1MiAxLjcyOCAxMi40MTYgNDYuMTQ0IDY3LjM5MiAxMjkuNDcyYzU0Ljk3NiA4My4zOTIgMTM2LjU3NiAxNDguOCAxNzkuMTM2IDE0OC45OTIgMzkuNjE2IDAuMTkyIDc1Ljc3NiAwLjc2OCAxMzguMzY4IDAgNjIuMTQ0LTAuNzY4IDEyNC4xNi0xNC4yMDggMTQxLjg4OC01MS40NTYgMTcuNjY0LTM3LjI0OCA2MC4yMjQtMTc3LjM0NCA2MC4yMjQtMTc3LjM0NHMzNS40NTYgMTA5Ljk1MiA1Ni44MzIgMTQ4Ljk5MmMyMS4yNDggMzguOTc2IDQ0LjI4OCA2Ny4zOTIgODEuNDcyIDc4LjAxNiAzNy4zMTIgMTAuNjI0IDEzMy4xMiAxMC42MjQgMTMzLjEyIDEwLjYyNGw0Ny44NzItNy4xMDRjMCAwLjA2NC04MS42NjQtMTIyLjMwNC0xMDIuOTEyLTE1MC43MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkwZDsiIGdseXBoLW5hbWU9Iml0LW90aGVyLWxlbm92byIgZD0iTTgyMC4zNyAyODIuNjk3Yy0xMy42MDUgMC0yNC43OTUtNS4xOTMtMzMuNjQ2LTE1LjcyNi04Ljg1LTEwLjQ1OS0xMy4zMTItMjYuMzMxLTEzLjMxMi00Ny43NjIgMC0yMS42NSA0LjM4OS0zNy43NDIgMTMuMTY2LTQ4LjEyOHMxOS44MjItMTUuNTc5IDMzLjEzNC0xNS41NzljMTMuNDU4IDAgMjQuNTAzIDUuMTIgMzMuMDYxIDE1LjM2IDguNjMxIDEwLjMxMyAxMy4wMTkgMjYuNjk3IDEzLjAxOSA0OS4yOTggMCAyMS4wNjUtNC4zODkgMzYuNzkxLTEzLjA5MyA0Ny4xNzctOC43MDQgMTAuMjQtMTkuNDU2IDE1LjM2LTMyLjMyOSAxNS4zNnpNODg4LjAyNyA5NjBoLTc1Mi4wNTVjLTc1LjU1NyAwLTEzNS45NzMtNjAuNDE2LTEzNS45NzMtMTM1Ljk3M3YtNzUxLjk4MmMwLTc1LjcwMyA2MC40MTYtMTM2LjA0NiAxMzUuOTczLTEzNi4wNDZoNzUxLjk4MmM3NS43MDMgMCAxMzYuMDQ2IDYwLjM0MyAxMzYuMDQ2IDEzNS45NzN2NzUyLjA1NWMwIDc1LjU1Ny02MC4zNDMgMTM1Ljk3My0xMzUuOTczIDEzNS45NzN6TTEwNy41MiA4MTguNjE1aDEwMy44NjN2LTI1My4yOTRoMTYyLjA4NXYtODIuNzI1aC0yNjUuOTQ3djMzNi4wMTh6TTM1MC41NzQgMTI4LjM2NmMtMjQuODY5LTIzLjkxOC01OS4xNzMtMzUuODQtMTAzLjA1OC0zNS44NC0zOS4xMzEgMC03MC43MjkgOS45NDctOTQuODY2IDI5Ljc2OS0yOS42OTYgMjQuNTc2LTQ0LjQ3MSA1Ni44MzItNDQuNDcxIDk2LjY5NSAwIDM3LjE1NyAxMi41MDcgNjcuNzMgMzcuNTk1IDkxLjc5NHM1OC45NTMgMzYuMTMzIDEwMS41MjIgMzYuMTMzYzQ4Ljc4NiAwIDg1LjU3Ny0xNC4xMTcgMTEwLjUxOS00Mi40MjMgMTkuOTY4LTIyLjgyMSAzMC4wNjItNTAuNzYxIDMwLjA2Mi04NC4xMTQgMC0zNy40NDktMTIuNDM0LTY4LjA5Ni0zNy4zMDMtOTIuMDE0ek01NzMuMjIxIDk4LjAxMWgtODIuNzk4bC0xMDEuMjMgMjQzLjQxOWg5Ny4wNjFsNDcuMjUtMTU0LjI1OCA0OS4wMDYgMTU0LjI1OGg5NC4xMzVsLTEwMy40MjQtMjQzLjQxOXpNNjI4LjUxNyA0OTMuMDU2Yy0xOS44OTUtMTAuNjA2LTQ4LjM0Ny0xNS45NDUtODUuNTA0LTE1Ljk0NS0zMi4xODMgMC01Ny41NjMgNC41MzUtNzYuMDY5IDEzLjY3OC0xOC41MDUgOC45OTctMzMuNzkyIDIzLjQ3OS00Ni4wMDcgNDMuMzAxLTEyLjE0MiAxOS43NDktMTguMjEzIDQzLjAwOC0xOC4yMTMgNjkuNzc4IDAgMzguMTA3IDEyLjIxNSA2OC44MjcgMzYuNTcxIDkyLjM3OSAyNC40MyAyMy41NTIgNTguMDc1IDM1LjI1NSAxMDEuMDEwIDM1LjI1NSAzNC44ODkgMCA2Mi4zOTEtNS4yNjYgODIuNTA1LTE1Ljc5OSAyMC4xODctMTAuNTMzIDM1LjU0Ny0yNS44MTkgNDYuMDgwLTQ1Ljc4NyAxMC42MDYtMjAuMDQxIDE1Ljg3Mi00Ni4wODAgMTUuODcyLTc4LjE5di0xMC41MzNoLTE4Ny4wOTljMS42ODItMTQuOTk0IDUuNzA1LTI2LjE4NSAxMi4xNDItMzMuNDk5IDguOTk3LTEwLjUzMyAyMC43NzMtMTUuNzk5IDM1LjI1NS0xNS43OTkgOS4yMTYgMCAxNy45MiAyLjI2NyAyNi4xMTIgNi44NzUgNS4wNDcgMi45MjYgMTAuNTMzIDguMDQ2IDE2LjMxMSAxNS4zNmw5MS45NDEtOC40ODVjLTE0LjA0My0yNC41MDMtMzEuMDEzLTQxLjk4NC01MC45MDctNTIuNTl6TTkyMi4yNTggMTI4LjM2NmMtMjQuODY5LTIzLjkxOC01OS4yNDYtMzUuODQtMTAzLjA1OC0zNS44NC0zOS4wNTggMC03MC43MjkgOS45NDctOTQuODY2IDI5Ljc2OS0yOS42MjMgMjQuNTc2LTQ0LjQ3MSA1Ni44MzItNDQuNDcxIDk2LjY5NSAwIDM3LjE1NyAxMi41ODEgNjcuNzMgMzcuNjY5IDkxLjc5NCAyNS4wMTUgMjQuMDY0IDU4Ljg4IDM2LjEzMyAxMDEuNTIyIDM2LjEzMyA0OC43ODYgMCA4NS41NzctMTQuMTE3IDExMC41MTktNDIuNDIzIDE5Ljk2OC0yMi44MjEgMjkuOTg5LTUwLjc2MSAyOS45ODktODQuMTE0LTAuMDczLTM3LjQ0OS0xMi41MDctNjguMDk2LTM3LjMwMy05Mi4wMTR6TTk4NC45NDIgNDgyLjU5N2gtOTMuNjk2djEzMy44NTFjMCAxNS4yODctMi44NTMgMjYuMTEyLTguNDg1IDMyLjQwMi01LjYzMiA2LjM2My0xMy42MDUgOS41MDktMjMuODQ1IDkuNTA5LTExLjI2NCAwLTIwLjQwNy00LjMxNS0yNy41MDItMTIuODczLTcuMDIyLTguNTU4LTEwLjUzMy0yMy45MTgtMTAuNTMzLTQ2LjA4MHYtMTE2Ljg4MmgtOTMuMzN2MjQzLjQ5M2g4Ni44OTR2LTM5LjY0M2MxMy4wMTkgMTYuMTY1IDI2LjExMiAyNy43MjEgMzkuNDI0IDM0Ljc0M3MyOS40NzcgMTAuNDU5IDQ4LjU2NyAxMC40NTljMjUuODkzIDAgNDYuMDgwLTcuNjggNjAuNjM1LTIzLjA0MHMyMS44Ny0zOS4wNTggMjEuODctNzEuMTY4di0xNTQuNzd6TTU3NS4xOTUgNjY0LjU3NmMtNy44MjYgNy43NTMtMTguMjEzIDExLjcwMy0zMS4wMTMgMTEuNzAzLTE0Ljg0OCAwLTI2LjY5Ny01Ljg1MS0zNS41NDctMTcuNjI3LTUuNjMyLTcuMzE0LTkuMjE2LTE4LjI4Ni0xMC43NTItMzIuNzY4aDkxLjk0MWMtMS45MDIgMTcuOTkzLTYuNjU2IDMwLjkzOS0xNC42MjkgMzguNjkzek0yNDguNjg2IDI4Mi42OTdjLTEzLjYwNSAwLTI0Ljg2OS01LjE5My0zMy43MTktMTUuNzI2LTguODUtMTAuNDU5LTEzLjMxMi0yNi4zMzEtMTMuMzEyLTQ3Ljc2MiAwLTIxLjY1IDQuMzg5LTM3Ljc0MiAxMy4xNjYtNDguMTI4czE5LjgyMi0xNS41NzkgMzMuMTM0LTE1LjU3OWMxMy40NTggMCAyNC40MyA1LjEyIDMzLjEzNCAxNS4zNiA4LjYzMSAxMC4zMTMgMTIuOTQ2IDI2LjY5NyAxMi45NDYgNDkuMjk4IDAgMjEuMDY1LTQuMzg5IDM2Ljc5MS0xMy4wOTMgNDcuMTc3LTguNjMxIDEwLjI0LTE5LjM4MyAxNS4zNi0zMi4yNTYgMTUuMzZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MGU7IiBnbHlwaC1uYW1lPSJpdC1yb3V0ZXItYWx1Nzc1MCIgZD0iTTM2MS41MzYgMjEwLjg4bC0xMDcuMDA4LTI3NC44OGg1OC44OGwyMi42NTYgNjIuNDY0aDEwOS44ODhsMjQtNjIuNDY0aDYwLjM1MmwtMTEwLjA4MCAyNzQuODhoLTU4LjY4OHpNMzUzLjE1MiA0NC43MzZsMzcuMTIgMTAyLjAxNiAzNy44ODgtMTAyLjAxNmgtNzUuMDA4ek02MTYuNzY4IDIwOC42NGgtNTUuNDg4di0yNzIuNjRoMTkzLjQ3MnY0Ni4zMzZoLTEzNy45ODR6TTk1Ny42MzIgNTguODE2YzAtMjEuNzYtMC44MzItMzcuMzEyLTIuNDMyLTQ2LjY1NnMtNi40NjQtMTcuMzQ0LTE0LjQ2NC0yMy42OGMtOC02LjUyOC0xOS45MDQtOS42NjQtMzUuNjQ4LTkuNjY0LTE1LjQ4OCAwLTI3Ljc3NiAzLjM5Mi0zNi42MDggMTAuMTc2LTkuMDI0IDYuNzg0LTE0LjY1NiAxNS44NzItMTcuMDI0IDI3LjEzNi0xLjM0NCA2Ljk3Ni0yLjA0OCAyMi4zMzYtMi4wNDggNDUuOTUydjE0OC44NjRoLTU1LjQ4OHYtMTQ2LjYyNGMwLTMwLjcyIDEuNzkyLTU0LjAxNiA1LjQ0LTY5Ljc2IDIuNDk2LTEwLjYyNCA3LjY4LTIwLjggMTUuNTUyLTMwLjQ2NCA3Ljg3Mi05LjcyOCAxOC41Ni0xNy42IDMyLjE5Mi0yMy42MTYgMTMuNTA0LTYuMDgwIDMzLjQwOC05LjE1MiA1OS43MTItOS4xNTIgMjEuNzYgMCAzOS4zNiAyLjgxNiA1Mi44NjQgOC4zODQgMTMuNTA0IDUuNTA0IDI0LjMyIDEyLjk5MiAzMi4zMiAyMi40IDguMTI4IDkuMzQ0IDEzLjYzMiAyMC44NjQgMTYuNjQgMzQuNDk2czQuNDggMzYuOTI4IDQuNDggNjkuOTUydjE0NC4zODRoLTU1LjQ4OHYtMTUyLjEyOHpNMTAwNi4wMTYgMzE2LjYwOGMxMS4zMjggNDIuMzA0IDE3Ljk4NCA4Ni41OTIgMTcuOTg0IDEzMi40MTYgMCAyODIuNjg4LTIzMC4zMzYgNTEwLjk3Ni01MTMuMDI0IDUxMC45NzZzLTUxMC45NzYtMjI4LjI4OC01MTAuOTc2LTUxMC45NzZjMC0xODEuNTA0IDk0LjQtMzQwLjk5MiAyMzYuNTQ0LTQzMi4yNTZ2MTcxLjkwNGMwIDcwLjY1NiA1Ny4zNDQgMTI4IDEyOCAxMjhoMTA4LjIyNHYxOS43MTJjMCAxOS45NjgtOC4zODQgNzAuODQ4LTQyLjI0IDgwLjQ0OGg2Ni4zNjhjMzYuNDE2IDAgNDQuMjI0LTYzLjY4IDQ0LjIyNC04NC40OHYtMTUuNjhoNDY0Ljg5NnpNODU5LjAwOCA1MTUuMzkydjg4LjUxMmwxMjIuNzUyLTEyMi42ODgtMTIyLjc1Mi0xMjIuNjg4djg4LjQ0OGgtMTY0LjkyOGMtMTkuOTY4IDAtNzAuOTEyLTEwLjQzMi04MC40NDgtNDQuMjI0djY2LjM2OGMwIDM2LjQxNiA2MS42MzIgNDYuMjcyIDgyLjQ5NiA0Ni4yNzJoMTYyLjg4ek00MDguMzg0IDQ5MS4yNjRjMC0zNi40MTYtNjEuNjMyLTQ0LjIyNC04Mi40OTYtNDQuMjI0aC0xNjIuOTQ0di04OC41MTJsLTEyMi42ODggMTIyLjY4OCAxMjIuNjg4IDEyMi42ODh2LTg4LjUxMmgxNjYuOTc2YzE5Ljk2OCAwIDY4LjkyOCA4LjM4NCA3OC40NjQgNDIuMjR2LTY2LjM2OHpNNDk2Ljg5NiA0ODEuMjE2aC02Ni4zNjhjMzMuODU2IDkuNTM2IDQyLjI0IDYwLjU0NCA0Mi4yNCA4MC40NDh2MTY0Ljk5MmgtODguNTEybDEyMi42ODggMTIyLjY4OCAxMjIuNjg4LTEyMi42ODhoLTg4LjQ0OHYtMTYyLjk0NGMwLTIwLjg2NC03Ljg3Mi04Mi40OTYtNDQuMjg4LTgyLjQ5NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkwZjsiIGdseXBoLW5hbWU9Iml0LW90aGVyLW5kcyIgZD0iTTU1OC42NTYgNTU2LjQxNmMtMTAuNjI0IDQuMDk2LTI3Ljc3NiA2LjE0NC01MS4zMjggNi4xNDRoLTYzLjA0MHYtMjI5LjEyaDY0YzE5Ljc3NiAwIDM1LjI2NCAxLjc5MiA0Ni41OTIgNS41MDQgMTEuMjY0IDMuNzEyIDIwLjE2IDguODk2IDI2Ljg4IDE1LjU1MiA5LjM0NCA5LjQwOCAxNi43NjggMjIuMDgwIDIyLjAxNiAzNy45NTIgNS4xODQgMTUuODcyIDcuODA4IDM1LjEzNiA3LjgwOCA1Ny44NTYgMCAzMS4zNi01LjA1NiA1NS40MjQtMTUuNDI0IDcyLjMyLTEwLjMwNCAxNi43NjgtMjIuNzg0IDI4LjAzMi0zNy41MDQgMzMuNzkyek04ODggOTYwaC03NTJjLTc1LjY0OCAwLTEzNi02MC4zNTItMTM2LTEzNnYtNzUyYzAtNzUuNjQ4IDYwLjM1Mi0xMzYgMTM2LTEzNmg3NTJjNzUuNjQ4IDAgMTM2IDYwLjM1MiAxMzYgMTM2djc1MmMwIDc1LjY0OC02MC4zNTIgMTM2LTEzNiAxMzZ6TTMzNy45ODQgMjk4LjA0OGgtNDAuNzY4bC0xNTcuNTA0IDIzNS42NDh2LTIzNS42NDhoLTM4LjAxNnYyOTkuOTA0aDQwLjcwNGwxNTcuNTA0LTIzNS41MnYyMzUuNTJoMzguMDgwdi0yOTkuOTA0ek02NDQuNTQ0IDM4OS4xMmMtNS4zMTItMTcuNjY0LTEyLjA5Ni0zMi4xOTItMjAuNDE2LTQzLjcxMi04LjM4NC0xMS41ODQtMTcuNDA4LTIwLjYwOC0yNy4zOTItMjcuMjY0LTkuODU2LTYuNjU2LTIxLjc2LTExLjY0OC0zNS43NzYtMTQuOTc2LTEzLjk1Mi0zLjQ1Ni0zMC4wMTYtNS4xMi00OC4wNjQtNS4xMmgtMTA4LjI4OHYyOTkuOTA0aDEwMy4zNmMyMy4yMzIgMCA0MS4wODgtMS40NzIgNTMuMzEyLTQuMzUyIDE3LjIxNi0zLjkwNCAzMS44NzItMTEuMDcyIDQ0LjAzMi0yMS40NCAxNS43NDQtMTMuMzc2IDI3LjY0OC0zMC40NjQgMzUuNDU2LTUxLjIgNy44MDgtMjAuODY0IDExLjc3Ni00NC42MDggMTEuNzc2LTcxLjM2LTAuMDY0LTIyLjc4NC0yLjY4OC00Mi45NDQtOC02MC40OHpNOTE4LjY1NiAzMzcuNmMtOS4yMTYtMTQuMTQ0LTIyLjI3Mi0yNS4wODgtMzkuMzYtMzIuOTYtMTcuMjE2LTcuODA4LTM2LjQxNi0xMS43NzYtNTcuNzkyLTExLjc3Ni0yNy4yIDAtNDkuOTIgNC4wMzItNjguMTYgMTEuOTA0LTE4LjM2OCA3LjkzNi0zMi43NjggMTkuNzc2LTQzLjIgMzUuNzEyLTEwLjQzMiAxNS44NzItMTUuODcyIDMzLjg1Ni0xNi40NDggNTMuODg4bDM3LjQ0IDMuMjY0YzEuNzI4LTE0Ljk3NiA1LjgyNC0yNy4yNjQgMTIuMzUyLTM2Ljg2NCA2LjQ2NC05LjYgMTYuNDQ4LTE3LjM0NCAzMC4yMDgtMjMuMjk2IDEzLjU2OC01Ljk1MiAyOC44NjQtOC44OTYgNDYuMDE2LTguODk2IDE1LjA0MCAwIDI4LjQxNiAyLjE3NiA0MC4wNjQgNi42NTYgMTEuNTg0IDQuNDggMjAuMTYgMTAuNjg4IDI1Ljc5MiAxOC40OTYgNS43NiA3Ljg3MiA4LjU3NiAxNi40NDggOC41NzYgMjUuNjY0IDAgOS40MDgtMi42ODggMTcuNjY0LTguMTkyIDI0LjY0LTUuNDQgNi45NzYtMTQuNDY0IDEyLjkyOC0yNy4wMDggMTcuNzI4LTguMDY0IDMuMDcyLTI1Ljg1NiA4LjA2NC01My4zNzYgMTQuNjU2LTI3LjY0OCA2LjU5Mi00Ni44NDggMTIuODY0LTU3Ljg1NiAxOC42ODgtMTQuNCA3LjQ4OC0yNS4wMjQgMTYuNzY4LTMyIDI3LjkwNC03LjEwNCAxMS4wNzItMTAuNTYgMjMuNTUyLTEwLjU2IDM3LjMxMiAwIDE1LjEwNCA0LjI4OCAyOS4zMTIgMTIuOTI4IDQyLjQ5NiA4LjUxMiAxMy4xODQgMjEuMDU2IDIzLjE2OCAzNy42MzIgMzAuMDE2IDE2LjQ0OCA2Ljc4NCAzNC44MTYgMTAuMjQgNTQuOTc2IDEwLjI0IDIyLjIwOCAwIDQxLjc5Mi0zLjUyIDU4LjgxNi0xMC42ODggMTYuOTYtNy4xMDQgMzAuMDE2LTE3LjY2NCAzOS4xNjgtMzEuNjE2IDkuMDg4LTEzLjg4OCAxNC4wMTYtMjkuNjk2IDE0LjcyLTQ3LjIzMmwtMzguMTQ0LTIuODhjLTEuOTg0IDE4Ljk0NC05LjAyNCAzMy4yOC0yMC43MzYgNDIuOTQ0LTExLjg0IDkuNjY0LTI5LjI0OCAxNC41OTItNTIuMjI0IDE0LjU5Mi0yNCAwLTQxLjUzNi00LjQxNi01Mi40MTYtMTMuMTg0LTExLjAwOC04LjgzMi0xNi40NDgtMTkuMzkyLTE2LjQ0OC0zMS44MDggMC0xMC43NTIgMy44NC0xOS42NDggMTEuNjQ4LTI2LjYyNCA3LjYxNi02Ljk3NiAyNy41Mi0xNC4wODAgNTkuODQtMjEuMzc2IDMyLjI1Ni03LjI5NiA1NC40LTEzLjYzMiA2Ni4zNjgtMTkuMTM2IDE3LjQwOC04LjA2NCAzMC4yNzItMTguMzY4IDM4LjU5Mi0zMC43MiA4LjM4NC0xMi4zNTIgMTIuNTQ0LTI2LjU2IDEyLjU0NC00Mi42MjQgMC0xNi00LjY3Mi0zMC45NzYtMTMuNzYtNDUuMTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MTA7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1waHAiIGQ9Ik03NjYuNCA1NDAuODY0Yy05LjcyOC00OC41MTItMTkuNTItOTcuMDg4LTI5LjI0OC0xNDUuNjY0aDgwLjI1NmMyMy40ODggMTIuNDggMzAuNjU2IDE0LjMzNiA0My45MDQgMzguNCA3LjIzMiAyMC40MTYgMTQuNTI4IDQwLjgzMiAyMS43NiA2MS4yNDgtMjMuNTUyIDQzLjQ1Ni00OC4xMjggNDkuODU2LTExNi42NzIgNDYuMDE2ek0yMTEuOTY4IDU0MC44NjRjLTkuNzI4LTQ4LjU3Ni0xOS41Mi05Ny4wODgtMjkuMjQ4LTE0NS42NjQgMzEuNjE2IDIuNjI0IDYzLjIzMiA1LjE4NCA5NC44NDggNy43NDQgMjQuOTYgMTIuMjg4IDI0LjQ0OCAxMi40MTYgMzYuNTQ0IDM4LjMzNiAxNC4xNDQgMjcuMzI4IDEzLjM3NiA1MS41MiA3LjI5NiA4NC4yODgtMzYuNDggNS4wNTYtNzIuOTYgMTAuMTc2LTEwOS40NCAxNS4yOTZ6TTg4OCA5NjBoLTc1MmMtNzUuNTg0IDAtMTM2LTYwLjQxNi0xMzYtMTM2di03NTJjMC03NS42NDggNjAuNDE2LTEzNiAxMzYtMTM2aDc1MmM3NS42NDggMCAxMzYgNjAuMzUyIDEzNiAxMzZ2NzUyYzAgNzUuNTg0LTYwLjM1MiAxMzYtMTM2IDEzNnpNMTc1LjQ4OCAzNDEuNTY4Yy01MC4yNC0zMy4wODggMjQuMTkyLTgyLjg4LTgwLjI1Ni04NC4xNnYyMi44NDhjMTkuNDU2IDEwMi4xNDQgMzguOTEyIDIwNC40MTYgNTguMzY4IDMwNi41NiAxMTMuNDcyIDQuNTQ0IDE4OC4yODggMy4xMzYgMjQwLjcwNC01My42OTYgNy4yMzItMjU1LjIzMi0xMTQuMzA0LTEyMi44MTYtMjE4LjgxNi0xOTEuNTUyek01NjIuMDQ4IDM0MS42MzJ2MjIuOTc2YzkuNzkyIDUxLjA3MiAxOS41MiAxMDIuMTQ0IDI5LjE4NCAxNTMuMjgtNy4yOTYgNy42OC0xNC41OTIgMTUuMjk2LTIxLjg4OCAyMi45NzZoLTgwLjI1NmMtMTIuMTYtNjYuNDMyLTI0LjMyLTEzMi44NjQtMzYuNDgtMTk5LjIzMmgtNjUuNmMyMS44ODggMTEyLjM4NCA0My43NzYgMjI0Ljc2OCA2NS42NjQgMzM3LjA4OGg1OC4zNjhjLTIuNDMyLTMwLjU5Mi00LjgtNjEuMjQ4LTcuMjk2LTkxLjkwNCA3MS42OCAzLjA3MiAxMTQuNjI0LTQuMjI0IDE1My4yOC0zMC42NTZoLTAuMTI4di03LjY4Yy05LjYtNjguOTI4LTE5LjQ1Ni0xMzcuOTItMjkuMTItMjA2Ljg0OGgtNjUuNzI4ek03MjIuNTYgMzMzLjgyNGMtMi4zNjgtMjUuNDA4LTQuOC01MS4wNzItNy4xNjgtNzYuNDE2aC02NS42YzE5LjQ1NiAxMDkuNzYgMzguNzg0IDIxOS41ODQgNTguMjQgMzI5LjQwOCA4OS43OTIgMy4wNzIgMTc0LjAxNiAxLjYgMjI2LjI0LTMwLjY1NiA1My42MzItMTg0Ljg5Ni03Mi40NDgtMTg2LjU2LTIxMS43MTItMjIyLjMzNnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxMTsiIGdseXBoLW5hbWU9Iml0LWFwcC1nbGFzc2Zpc2giIGQ9Ik04OTYtNjRjNzAuODQ4IDAgMTI4IDU3LjE1MiAxMjggMTI4djI1Mi4wMzJsLTM3OS45NjgtMzgwLjAzMmgyNTEuOTY4ek04OTYgOTYwaC03NjhjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuODQ4IDU3LjA4OC0xMjggMTI4LTEyOGg0MTcuOTg0bDQ3OC4wMTYgNDgwdjQxNmMwIDcwLjkxMi01Ny4xNTIgMTI4LTEyOCAxMjh6TTgzMS45MzYgNjk3LjY2NGMtMC44MzItMC44MzItMS43OTItMS4zNDQtMi42MjQtMi4xNzZoLTEwLjk0NGM0LjQ4IDAuNzY4IDkuMTUyIDEuNDcyIDEzLjU2OCAyLjE3NnpNNTMuODI0IDYwOC4wNjRjMTIwLjk2IDIxMy43NiA0MjguMzUyIDEyMC4zODQgNTQ2LjExMiAyNTYuNzA0aDEwLjg4YzE0LjUyOC0yMC4wMzIgMjkuMTg0LTQwIDQzLjcxMi02MC4wMzItMjEuODg4IDEwLjU2LTI0LjEyOCAyMS4xODQtMzguMjA4IDM4LjIwOC0yMy42OC0xOC4yNC00Ny4yOTYtMzYuNDE2LTcwLjk3Ni01NC41OTIgMS44NTYtMy42NDggMy42NDgtNy4yOTYgNS4zNzYtMTAuOTQ0IDE4LjMwNC01LjQ0IDM2LjQ4LTEwLjk0NCA1NC43Mi0xNi4zODQtMTgyLjIwOCAxNy4wMjQtMzM3LjIxNi0wLjc2OC00NDcuODcyLTgxLjkyLTM4LjI3Mi0yOC4wMzItNTYuNjQtNzIuNzA0LTk4LjMwNC05OC4zMDRoLTUuNDR2MjcuMjY0ek0yMzkuNDg4IDU5Ny4xMmMtNS40NC0xLjc5Mi0xMC45NDQtMy42NDgtMTYuMzg0LTUuNDQtMjUuMDg4IDguMDY0LTE5LjI2NCAxMC4yNC0zMi43NjggMjcuMzI4IDcuMjk2IDEyLjggMTQuNTkyIDI1LjQ3MiAyMS44ODggMzguMjcyaDMyLjcwNHYtMTEuMDA4YzguNTEyLTIwLjM1MiAyLjU2LTMzLjQwOC01LjQ0LTQ5LjE1MnpNMjg4LjcwNCA0NDkuNzI4aC0xMC45NDRjLTc1LjcxMi00MC44MzItMjI5LjA1NiA1MC40MzItMjQ1Ljc2IDEwOS4xODQgMTEwLjUyOC05LjkyIDExOS42OC0xMTkuMzYgMjU2LjcwNC0xMDMuNjh2LTUuNTA0ek0yOTQuMTQ0IDQ5My40NGMtMzEuMjMyLTE2Ljc2OC02MS4wNTYtMjkuMzEyLTkyLjgtNS40NCA1NC4xNDQtMC45NiA2Ny45NjggMTEuOTY4IDkyLjggMzguMjA4LTEuODU2IDEwLjk0NC0zLjY0OCAyMS44MjQtNS40NCAzMi43MDRsMTYuMzg0LTE2LjMyYy0zLjY0OC0xNi4zODQtNy4yOTYtMzIuNzY4LTEwLjk0NC00OS4xNTJ6TTMxMC41MjggNzE3LjMxMmgtMTAuOTQ0YzQuMTYgMC4zMiA4LjMyIDAuNTc2IDEyLjQxNiAwLjgzMi0wLjQ0OC0wLjMyLTEuMDI0LTAuNTEyLTEuNDcyLTAuODMyek00MTQuMjcyIDc1NS41ODRjMTIwLjI1NiAyLjE3NiAxOTYuNTQ0LTI0LjA2NCAyODMuOTY4LTQzLjcxMnYtNS40NGMtNTEuMDA4IDkuMDg4LTEwMi4wMTYgMTguMTc2LTE1Mi44OTYgMjcuMjY0LTc3Ljc2LTUuMTg0LTE1NS41ODQtMTAuMzY4LTIzMy4zNDQtMTUuNDg4IDI4LjQ4IDIwLjQxNiA2Ni4zNjggMjEuMTIgMTAyLjI3MiAzNy4zNzZ6TTYxMC44OCA1ODAuOHY4MS45MmMxOS4yNjQtMzEuNjggMjAuNTQ0LTQ3LjE2OCAwLTgxLjkyek01NTYuMjI0IDU2OS44NTZ2OTguMzA0YzIzLjE2OC0zNy43NiAyNS45Mi01NS45MzYgMC05OC4zMDR6TTM5Ny44ODggNTI2LjIwOGgtNS40NGMtMS44NTYgNTYuNDQ4LTMuNjQ4IDExMi44MzItNS41MDQgMTY5LjI4IDM2LjgtNjEuMDU2IDE4LjI0LTkwLjI0IDEwLjk0NC0xNjkuMjh6TTQ0Ny4wNDAgNTU4LjkxMmMtMS43OTIgNDMuNzEyLTMuNjQ4IDg3LjQyNC01LjQ0IDEzMS4wNzIgMjAuNjcyLTM2LjY3MiAyNS4yMTYtODkuMjggNS40NC0xMzEuMDcyek01MDEuNjMyIDU1OC45NzZ2MTE0LjY4OGMyMi4yMDgtNDEuOTIgMTQuNC02MC45MjggNS4zNzYtMTE0LjY4OGgtNS4zNzZ6TTYyNy4zOTIgNDAwLjU3NmMtMzEuODcyIDExLjQ1Ni04Mi44MTYgMjAuMjI0LTEyMC4zMiAzMi43NjggMy42NDggNS40NCA3LjM2IDEwLjg4IDEwLjk0NCAxNi40NDhoNS41MDRjNTMuMTItMS4wMjQgNzAuNzItMTkuMiAxMDkuMjQ4LTMyLjgzMiAzLjY0OCAxNi4zODQgNy4yOTYgMzIuODMyIDEwLjg4IDQ5LjE1MiA1LjUwNC0yMS4yNDggMC4xMjgtNTAuMjQtMTYuMjU2LTY1LjUzNnpNNjY1LjQ3MiA1OTEuNzQ0aC01LjUwNHY3MC45NzZjMTMuNTA0LTE5Ljk2OCAxMC4xNzYtNDMuNTIgNS41MDQtNzAuOTc2ek03MjAuMTI4IDYxOS4wMDhjLTEyLjczNiAzLjY0OC0yNS40NzIgNy4yOTYtMzguMjcyIDEwLjk0NGwzOC4yNzItNS40NHYtNS41MDR6TTgxOC4zNjggNTY0LjQxNmMxNC40IDMxLjU1MiAxMC4xMTIgNjAuMjI0LTUuNDQgODcuNDI0IDE0LjU5Mi0xMC45NDQgMjkuMTItMjEuODg4IDQzLjg0LTMyLjc2OC05LjkyLTI3LjMyOC0xMi44NjQtNDIuMTEyLTM4LjQtNTQuNjU2ek05NDQgNDIyLjQ2NGMtNy4yMzIgNS40NC0xNC42NTYgMTAuOTQ0LTIxLjgyNCAxNi4zODQtMTAuOTQ0IDIxLjgyNC0yMS45NTIgNDMuNzEyLTMyLjgzMiA2NS41MzYgMTQuNTkyLTE2LjM4NCAyOS4xMi0zMi43NjggNDMuNzEyLTQ5LjE1Mi0xLjA4OCA5NS4yMzItMjguNzM2IDE2NS40NC01LjQ0IDI1MS4yLTEuNzkyIDEuNzkyLTMuNjQ4IDMuNTg0LTUuNDQgNS40NC0zMC4yMDgtNC43MzYtNjAuMTYtOS41MzYtOTAuMjQtMTQuMjcyIDI2LjYyNCAyNS45ODQgNjAuMTYgMzMuNDA4IDk1LjY4IDUyLjQ4aDE2LjM4NHYtMzI3LjYxNnpNMjEyLjIyNCA2NDYuMzM2Yy0zLjY0OC03LjIzMi03LjIzMi0xNC41MjgtMTAuODgtMjEuODI0IDEwLjg4LTUuNTA0IDIxLjc2LTEwLjk0NCAzMi43MDQtMTYuNDQ4LTQuNTQ0IDI2LjY4OC02LjAxNiAyNS4xNTItMjEuODI0IDM4LjI3MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxMjsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXRlbG5ldCIgZD0iTTcwOC41NDQgNDgzLjkwNGg2Mi41OTJ2LTY0LjA2NGgtNjIuNTkydjY0LjA2NHpNODg4IDk2MGgtNzUyYy03NS42NDggMC0xMzYtNjAuMzUyLTEzNi0xMzUuOTM2di03NTIuMDY0YzAtNzUuNjQ4IDYwLjM1Mi0xMzYgMTM2LTEzNmg3NTJjNzUuNjQ4IDAgMTM2IDYwLjM1MiAxMzYgMTM2djc1Mi4wNjRjMCA3NS41ODQtNjAuMzUyIDEzNS45MzYtMTM2IDEzNS45MzZ6TTIzMS45MzYgNjEwLjc1MmgtNTIuOTkydi0zMTUuNDU2aC0zMC40djMxNS40NTZoLTUzLjM3NnYyNi45NDRoMTM2LjcwNHYtMjYuOTQ0ek0zODMuMDQwIDQwNi44NDhsLTkuNzkyLTEwLjMwNGgtODAuOTZ2LTc2Ljk5Mmg2Mi41OTJ2MzkuMDQwaDI4LjIyNHYtMzguNTI4YzAtMTYuNTEyLTguMTI4LTI0Ljc2OC0yNC41MTItMjQuNzY4aC03MC4wMTZjLTE2LjMyIDAtMjQuNTEyIDguMjU2LTI0LjUxMiAyNC43Njh2MTYzLjM5MmMwIDE2LjUxMiA4LjEyOCAyNC43NjggMjQuNTEyIDI0Ljc2OGg3MC4wMTZjMTYuMzIgMCAyNC41MTItOC4yNTYgMjQuNTEyLTI0Ljc2OHYtNzYuNjA4ek00NjEuNTY4IDI5NS4yOTZoLTI4LjYwOHYzNDIuNGgyOC42NzJ2LTM0Mi40ek02MzMuMzQ0IDI5NS4yOTZoLTI5LjEydjE4Ni44MTZsLTY0LjEyOC0xLjcyOHYtMTg1LjA4OGgtMjkuMDU2djIxMi44NjRoMjkuMTJ2LTUuOTUyYzExLjMyOCAxLjQ3MiAyMi43ODQgMy4wNzIgMzQuMzY4IDQuNjA4IDEzLjk1MiAxLjcyOCAyNS40NzIgMi42MjQgMzQuNDk2IDIuNjI0IDE2LjI1NiAwIDI0LjM4NC03LjkzNiAyNC4zODQtMjMuODA4di0xOTAuMzM2ek03OTkuMzYgNDA2Ljg0OGwtOS44NTYtMTAuMzA0aC04MC45NnYtNzYuOTkyaDYyLjU5MnYzOS4wNDBoMjguMjI0di0zOC41MjhjMC0xNi41MTItOC4xOTItMjQuNzY4LTI0LjUxMi0yNC43NjhoLTcwLjAxNmMtMTYuMzg0IDAtMjQuNTEyIDguMjU2LTI0LjUxMiAyNC43Njh2MTYzLjM5MmMwIDE2LjUxMiA4LjEyOCAyNC43NjggMjQuNTEyIDI0Ljc2OGg3MC4wMTZjMTYuMzIgMCAyNC41MTItOC4yNTYgMjQuNTEyLTI0Ljc2OHYtNzYuNjA4ek05MjQuMDMyIDQ4Mi41NmgtMzcuMTJ2LTE2MS42aDM3LjEydi0yNS42aC00MS4zNDRjLTE2LjMyIDAtMjQuNTEyIDguMjU2LTI0LjUxMiAyNC43Njh2MTYyLjQzMmgtMjUuNTM2djI1LjZoMjUuNTM2djY2LjMwNGgyOC42NzJ2LTY2LjMwNGgzNy4xMnYtMjUuNnpNMjkyLjI4OCA0ODMuOTA0aDYyLjU5MnYtNjQuMDY0aC02Mi41OTJ2NjQuMDY0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTEzOyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItZG5zIiBkPSJNMjY0LjU3NiA2MTcuMTUyaC01NS4yOTZ2LTM3OC4xMTJoNTMuMDU2YzE1LjQ4OCAwIDI4LjAzMiA0LjQxNiAzNy42OTYgMTMuMzEyIDkuNiA4Ljk2IDE0LjQ2NCAyMS4wNTYgMTQuNDY0IDM2LjU0NHYyNzguOTEyYzAgMTQuNjU2LTQuNjA4IDI2LjU2LTEzLjg4OCAzNS43MTItOS4zNDQgOS4wMjQtMjEuMzEyIDEzLjYzMi0zNi4wMzIgMTMuNjMyek04ODggOTYwaC03NTJjLTc1LjY0OCAwLTEzNi02MC4zNTItMTM2LTEzNnYtNzUyYzAtNzUuNjQ4IDYwLjM1Mi0xMzYgMTM2LTEzNmg3NTJjNzUuNjQ4IDAgMTM2IDYwLjM1MiAxMzYgMTM2djc1MmMwIDc1LjY0OC02MC4zNTIgMTM2LTEzNiAxMzZ6TTM1NC4zMDQgMjg0Ljg2NGMwLTIzLjY4LTcuODA4LTQzLjEzNi0yMy4zNi01OC4zMDRzLTM1LjItMjIuNzg0LTU4Ljg4LTIyLjc4NGgtMTAyLjY1NnY0NDguNjRoMTAyLjU5MmMyMy45MzYgMCA0My41ODQtNy42MTYgNTkuMDcyLTIyLjc4NHMyMy4yMzItMzQuNjI0IDIzLjIzMi01OC4zMDR2LTI4Ni40NjR6TTYwOS4yMTYgMjAzLjc3NmgtMjcuNTg0bC0xMTkuODA4IDMyOS45MnYtMzI5LjkyaC0zNy41Njh2NDQ4LjY0aDI5LjgyNGwxMTcuNTA0LTMyNC4yMjR2MzI0LjE2aDM3LjU2OHYtNDQ4LjU3NnpNODU1LjY4IDUxNi4xNmgtMzkuODcydjEwMC45OTJoLTk2Ljg5NnYtOTQuNjU2bDEyNC40MTYtMTQ5LjYzMmM4LjE5Mi05LjkyIDEyLjI4OC0yMS4xMiAxMi4yODgtMzMuNTM2di0xMDMuNzQ0YzAtOS4zNDQtMi45NDQtMTcuMDI0LTguNzY4LTIyLjkxMnMtMTMuNDQtOC44OTYtMjIuNzg0LTguODk2aC0xMTIuOTZjLTkuMzQ0IDAtMTcuMDI0IDIuOTQ0LTIzLjA0MCA4Ljg5NnMtOS4wMjQgMTMuNTY4LTkuMDI0IDIyLjkxMnYxMTMuNzkyaDM5LjgwOHYtMTEwLjRoOTYuODk2djEwNi45NDRsLTEyMy44NCAxNDkuNjMyYy04LjU3NiAxMC4zMDQtMTIuODY0IDIxLjY5Ni0xMi44NjQgMzQuMTEydjkwLjg4YzAgOS4zNDQgMy4wMDggMTcuMDI0IDkuMDI0IDIyLjg0OCA2LjA4MCA1Ljk1MiAxMy43NiA4Ljk2IDIzLjA0MCA4Ljk2aDExMi45NmM5LjM0NCAwIDE3LjAyNC0zLjAwOCAyMi43ODQtOC45NiA1LjgyNC01Ljg4OCA4Ljc2OC0xMy41NjggOC43NjgtMjIuODQ4di0xMDQuMzg0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTE0OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItdXJsIiBkPSJNODg4IDk2MGgtNzUyYy03NS42NDggMC0xMzYtNjAuMzUyLTEzNi0xMzZ2LTc1MmMwLTc1LjY0OCA2MC4zNTItMTM2IDEzNi0xMzZoNzUyYzc1LjY0OCAwIDEzNiA2MC4zNTIgMTM2IDEzNnY3NTJjMCA3NS42NDgtNjAuMzUyIDEzNi0xMzYgMTM2ek0zNzkuMzI4IDIzNS41ODRjMC05LjM0NC0zLjAwOC0xNy4wMjQtOS4wMjQtMjIuOTEyLTYuMDE2LTUuOTUyLTEzLjY5Ni04Ljg5Ni0yMy4xMDQtOC44OTZoLTEyMi4wNDhjLTkuMzQ0IDAtMTcuMDI0IDIuOTQ0LTIyLjkxMiA4Ljg5Ni01Ljk1MiA1Ljk1Mi04Ljg5NiAxMy41NjgtOC44OTYgMjIuOTEydjQxNi43NjhoMzkuODcydi00MTMuMzc2aDEwNi4zNjh2NDEzLjM3NmgzOS44NzJ2LTQxNi43Njh6TTYwMCAyMDMuNzc2bC04My4zOTIgMjQwLjE5MiA1LjQ0IDguMDY0aDcxLjA0MHYxNjUuMTJoLTEwMi4yNzJ2LTQxMy4zNzZoLTM5LjgwOHY0NDguNjRoMTUwLjIwOGM5LjM0NCAwIDE3LjAyNC0zLjAwOCAyMi45MTItOC45NiA1Ljk1Mi01Ljg4OCA4Ljg5Ni0xMy41NjggOC44OTYtMjIuODQ4di0xNzAuMzA0YzAtMjEuNTY4LTE0LjUyOC0zMi4zODQtNDMuNTg0LTMyLjM4NC0yLjg4IDAtNy4wNDAgMC4xMjgtMTIuNjA4IDAuNDQ4LTUuNTY4IDAuMTkyLTkuNiAwLjM4NC0xMi4wOTYgMC4zODQgMjUuODU2LTcxLjQ4OCA1MS41ODQtMTQzLjEwNCA3Ny4xODQtMjE0Ljk3NmgtNDEuOTJ6TTg0NC44NjQgMjAzLjc3NmgtMTQzLjI5NnY0NDguNjRoMzkuODA4di00MTMuMzc2aDEwMy40ODh2LTM1LjI2NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxNTsiIGdseXBoLW5hbWU9Iml0LWRhdGFiYXNlLW15c3FsIiBkPSJNNC4wMzIgNDcyYzAgNy4yMzItMi44MTYgMzAuNC00LjAzMiA0My45Njh2LTEyOS45ODRjMS44NTYtMjAuODY0IDQuMDMyLTQ0LjIyNCA0LjAzMi01NC4wMTYgMC0xNy40NzIgNS4yNDgtMzMuNzI4IDE0LjAxNi00OS45ODRoMjM3Ljk1MmMtMTUwLjI3MiAzOC43Mi0yNTEuOTY4IDEwOC42NzItMjUxLjk2OCAxOTAuMDE2ek0wIDI4MS45ODRoMS45ODRjLTAuODk2IDkuNDcyLTEuMjggMTcuOTg0LTEuOTg0IDI1Ljk4NHYtMjUuOTg0ek01MTMuOTg0IDUxNS45NjhjMjgyLjc1MiAwIDUxMiA5OS4zMjggNTEyIDIyMi4wMTYgMCAxLjM0NCAwLjEyOCAyLjYyNCAwIDQuMDMyIDAgMC43MDQgMCAxLjM0NCAwIDEuOTg0LTcuNDg4IDExOS44MDgtMjMzLjk4NCAyMTYtNTEyIDIxNi0yODIuNzUyIDAtNTEyLTk5LjMyOC01MTItMjIyLjAxNnMyMjkuMjQ4LTIyMi4wMTYgNTEyLTIyMi4wMTZ6TTUxNi4wMzIgNDY1Ljk4NGMtMjgyLjc1MiAwLTUxMiA5OS4zMjgtNTEyIDIyMi4wMTYgMCA3LjIzMi0yLjc1MiAzMC40LTQuMDMyIDQ0LjAzMnYtMTM3Ljk4NGMxLjg1Ni0yMC44NjQgNC4wMzItNDQuMjg4IDQuMDMyLTU0LjA4MCAwLTEyMi42ODggMjI5LjI0OC0yMjIuMDE2IDUxMi0yMjIuMDE2czUxMiA5OS4zMjggNTEyIDIyMi4wMTZ2MTQ4LjAzMmMwLTEyMi42ODgtMjI5LjMxMi0yMjIuMDE2LTUxMi0yMjIuMDE2ek03NzYgMjgxLjk4NGgyMzguMDE2YzguNzY4IDE2LjI1NiAxNC4wMTYgMzIuNTEyIDE0LjAxNiA0OS45ODR2MTQwLjAzMmMwLTgxLjM0NC0xMDEuNzYtMTUxLjI5Ni0yNTIuMDMyLTE5MC4wMTZ6TTE0MC43MzYgMjcuOTA0Yy01LjA1Ni0xOS45NjgtOC43NjgtMzUuMDcyLTExLjEzNi00NS4zMTItMi4wNDggOS4yOC01LjM3NiAyMy4xNjgtOS45ODQgNDEuNzkybC00OS40NzIgMjAwLjEyOGgtNDEuNnYtMjgyLjYyNGgyNi42ODh2MjQwLjY0bDYwLjQ4LTI0MC42NGgyNC45Nmw2MC43MzYgMjM2LjU0NHYtMjM2LjU0NGgyNi42ODh2MjgyLjYyNGgtMzcuMzc2bC00OS45ODQtMTk2LjYwOHpNMzY5Ljc5MiAxNDEuNDRjLTguOTYtMTguNTYtMTYuNTc2LTM1LjItMjIuODQ4LTQ5LjkyLTYuNTkyIDE1LjkzNi0xMy42MzIgMzEuODcyLTIxLjI0OCA0Ny44MDhsLTQxLjIxNiA4NS4xODRoLTMzLjZsODAuNTEyLTE2Mi44OHYtMTE5Ljc0NGgyNy42NDh2MTE5Ljc0NGw4My4zOTIgMTYyLjg4aC0zMi4xMjhsLTQwLjUxMi04My4wNzJ6TTU5Mi43MDQgMTE1Ljk2OGMtOS40NzIgNi43ODQtMjQuMTI4IDEzLjYzMi00My45MDQgMjAuMDMycy0zMS40ODggMTIuMDk2LTM2LjYwOCAxNy45ODRjLTQuMDMyIDQuNjA4LTUuODI0IDkuNDcyLTUuODI0IDE2IDAgNy4xMDQgMS41MzYgMTMuNzYgNS44MjQgMTcuOTg0IDYuNjU2IDYuNjU2IDE2IDkuOTg0IDI3Ljg0IDkuOTg0IDExLjM5MiAwIDE5LjA3Mi0zLjc3NiAyNC44OTYtOS45ODQgNS42MzItNi4yMDggOS45Mi0xNS44NzIgMTEuNzEyLTMwLjAxNmw0MC45NiAyLjA0OGMtMC43MDQgMjUuMjgtNy44MDggNDQuODY0LTIwLjQ4IDYwLjAzMi0xMi44IDE1LjEwNC0zMS44NzIgMjQtNTcuMDg4IDI0LTE1LjQ4OCAwLTI4LjYwOC0zLjY0OC0zOS41NTItOS45ODQtMTAuOTQ0LTYuNC0xOS4wNzItMTUuODA4LTI0Ljg5Ni0yOC4wMzItNS44MjQtMTIuMTYtOC43NjgtMjUuOTg0LTguNzY4LTQwIDAtMjEuNzYgNi42NTYtMzguODQ4IDE5LjAwOC01NC4wMTYgOC43NjgtMTAuNzUyIDIzLjYxNi0yMC42MDggNDUuMzc2LTI4LjAzMiAxNi45Ni01Ljc2IDI3LjQ1Ni05LjcyOCAzMi4xOTItMTIuMDMyIDYuOTEyLTMuMzkyIDExLjg0LTcuNDg4IDE0LjY1Ni0xMi4wMzIgMi43NTItNC41NDQgNC40MTYtOS40NzIgNC40MTYtMTYgMC0xMC4xMTItMy43MTItMjAuNDE2LTEwLjI0LTI4LjAzMi02LjY1Ni03LjU1Mi0xNi4xOTItOS45ODQtMjkuMzEyLTkuOTg0LTEyLjM1MiAwLTIyLjA4MCAzLjUyLTI5LjMxMiAxMi4wMzItNy4yOTYgOC41MTItMTIuMjI0IDIxLjg4OC0xNC42NTYgNDBsLTM5LjQyNC01Ljk1MmMyLjY4OC0zMC43MiAxMS4yNjQtNTMuOTUyIDI0Ljg5Ni03MC4wMTZzMzMuMTUyLTI0IDU4LjU2LTI0YzE3LjQ3MiAwIDMyLjEyOCAzLjMyOCA0My45MDQgOS45ODQgMTEuNzEyIDYuNjU2IDE5Ljk2OCAxOC4yNCAyNi4zMDQgMzIgNi40NjQgMTMuNzYgMTAuMjQgMjguMjI0IDEwLjI0IDQ0LjAzMiAwIDE3LjM0NC0zLjQ1NiAzMi4xOTItOC43NjggNDQuMDMyLTUuMzc2IDExLjg0LTEyLjU0NCAyMS4xODQtMjEuOTUyIDI3Ljk2OHpNOTE3LjYzMiAyMzUuOTY4aC00MS4wMjR2LTI3MmgxNDIuMDE2djQ2LjAxNmgtMTAwLjk5MnpNODM3LjEyIDM4LjAxNmM0Ljg2NCAxNy45ODQgNy4yOTYgMzguMjcyIDcuMjk2IDYyLjAxNiAwIDQ0Ljg2NC04Ljg5NiA4MS4wODgtMjYuMzA0IDEwNS45ODQtMTcuNDcyIDI0Ljk2LTQwLjQ0OCAzOC4wMTYtNzAuMjcyIDM4LjAxNi0zMC4xNDQgMC01NC4yMDgtMTMuMDU2LTcxLjc0NC0zOC4wMTZzLTI2LjMwNC02MS4xMi0yNi4zMDQtMTA1Ljk4NGMwLTQ0Ljk5MiA4Ljc2OC03OS4xMDQgMjYuMzA0LTEwNCAxNy40NzItMjQuODk2IDQwLjgzMi0zOC4wMTYgNzEuNzQ0LTM4LjAxNiAxNiAwIDMwLjcyIDQuMDk2IDQzLjkwNCAxMi4wMzIgMTYuNzY4LTE1LjM2IDI2LjU2LTIzLjEwNCAyNy44NC0yNCA1Ljg4OC00LjM1MiAxMS40NTYtNy40ODggMTcuNTM2LTkuOTg0bDE0LjY1NiA0MGMtMTEuNzEyIDUuNzYtMjIuMjA4IDEyLjIyNC0zMi4xOTIgMjIuMDE2IDguMDY0IDEyLjggMTMuODg4IDI2LjE3NiAxNy41MzYgMzkuOTM2ek03OTkuMDQwIDU5Ljk2OGMtMi42MjQtMTEuOTA0LTYuNTI4LTIxLjYzMi0xMS43MTItMzAuMDE2LTEyLjE2IDEyLjQ4LTI2LjE3NiAyMS43Ni0zOS40ODggMjguMDMybC0xMC4yNC0zMmM4LjUxMi00LjA5NiAxNi42NC0xMC42MjQgMjQuODk2LTE3Ljk4NC01LjI0OC0yLjYyNC0xMC4yNC00LjAzMi0xNi4xMjgtNC4wMzItMTUuNjggMC0yOS4yNDggOC4wNjQtMzkuNDg4IDI0LTEwLjMwNCAxNS45MzYtMTYuMTI4IDM5Ljg3Mi0xNi4xMjggNzIgMCAzMS42MTYgNS44MjQgNTYuMjU2IDE2LjEyOCA3MiAxMC4yNCAxNS43NDQgMjIuOTEyIDI0IDM5LjQ4OCAyNHMzMC43Mi04LjMyIDQxLjAyNC0yNCAxNC42NTYtNDAuMjU2IDE0LjY1Ni03MmMtMC4wNjQtMTUuMzYtMC40NDgtMjguMDk2LTMuMDA4LTQweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTE2OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItcGluZyIgZD0iTTE1NC4yNCA2NjEuMjQ4aDk4LjA0OHYtMTk5LjgwOGgtOTguMDQ4djE5OS44MDh6TTg4OCA5NjBoLTc1MmMtNzUuNjQ4IDAtMTM2LTYwLjQxNi0xMzYtMTM2di03NTJjMC03NS42NDggNjAuMzUyLTEzNiAxMzYtMTM2aDc1MmM3NS42NDggMCAxMzYgNjAuMzUyIDEzNiAxMzZ2NzUyYzAgNzUuNTg0LTYwLjM1MiAxMzYtMTM2IDEzNnpNMjkyLjA5NiA0NTcuOTg0YzAtOS4zNDQtMy4wMDgtMTcuMDg4LTkuMDI0LTIzLjA0MC02LjAxNi02LjA4MC0xMy42OTYtOS4wODgtMjMuMDQwLTkuMDg4aC0xMDUuNzkydi0xNzcuOTg0aC0zOS44MDh2NDQ4LjY0aDE0NS42YzkuMzQ0IDAgMTcuMDg4LTMuMDA4IDIzLjEwNC04Ljk2IDYuMDE2LTUuODg4IDkuMDI0LTEzLjU2OCA5LjAyNC0yMi44NDh2LTIwNi43MnpNMzk3LjMxMiAyNDcuODcyaC0zOS44NzJ2NDQ4LjY0aDM5Ljg3MnYtNDQ4LjY0ek02NTcuMDg4IDI0Ny44NzJoLTI3LjU4NGwtMTE5LjgwOCAzMjkuOTJ2LTMyOS45MmgtMzcuNTY4djQ0OC42NGgyOS44MjRsMTE3LjU2OC0zMjQuMjg4djMyNC4yODhoMzcuNTY4di00NDguNjR6TTkxMC4xNDQgNTYwLjMyaC00MC4xMjh2MTAwLjkyOGgtMTAxLjQ0di0zNzguMTEyaDEwMS40NHYxNTUuMDcyaC00Ny44NzJ2MzQuNDMyaDg4di0xOTIuOTZjMC05LjM0NC0yLjk0NC0xNy4wMjQtOC44OTYtMjIuOTEycy0xMy41NjgtOC44OTYtMjIuOTEyLTguODk2aC0xMTcuODI0Yy05LjM0NCAwLTE3LjAyNCAyLjk0NC0yMi45MTIgOC44OTZzLTguODk2IDEzLjU2OC04Ljg5NiAyMi45MTJ2Mzg1LjAyNGMwIDkuMzQ0IDMuMDA4IDE3LjAyNCA4Ljg5NiAyMi44NDggNS45NTIgNS45NTIgMTMuNjMyIDguOTYgMjIuOTEyIDguOTZoMTE3LjgyNGM5LjM0NCAwIDE3LjAyNC0zLjAwOCAyMi45MTItOC45NiA1Ljk1Mi01Ljg4OCA4Ljg5Ni0xMy41NjggOC44OTYtMjIuODQ4di0xMDQuMzg0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTE3OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItZnRwIiBkPSJNODg4IDk2MGgtNzUyYy03NS41ODQgMC0xMzYtNjAuMzUyLTEzNi0xMzZ2LTc1MmMwLTc1LjY0OCA2MC40MTYtMTM2IDEzNi0xMzZoNzUyYzc1LjY0OCAwIDEzNiA2MC4zNTIgMTM2IDEzNnY3NTJjMCA3NS42NDgtNjAuMzUyIDEzNi0xMzYgMTM2ek0zNTIgNjkwLjg4aC0xMTkuMTY4di0xOTMuOTJoMTA5LjY5NnYtNDAuODMyaC0xMDkuNjk2di0yMzYuMDMyaC00NS4zNzZ2NTEwLjk3NmgxNjQuNTQ0di00MC4xOTJ6TTU5MC42NTYgNjkwLjg4aC03OC45NzZ2LTQ3MC43ODRoLTQ1LjM3NnY0NzAuNzg0aC03OS42OHY0MC4xOTJoMjA0LjA5NnYtNDAuMTkyek04NDYuNCA0NTkuMzkyYzAtMTAuNjI0LTMuNDU2LTE5LjM5Mi0xMC4zMDQtMjYuMjRzLTE1LjYxNi0xMC4zMDQtMjYuMzA0LTEwLjMwNGgtMTIwLjQ0OHYtMjAyLjc1MmgtNDUuNDR2NTEwLjk3NmgxNjUuODg4YzEwLjY4OCAwIDE5LjQ1Ni0zLjM5MiAyNi4zMDQtMTAuMTEyczEwLjMwNC0xNS40ODggMTAuMzA0LTI2LjExMnYtMjM1LjQ1NnpNNjg5LjM0NCA2OTAuODhoMTExLjYxNnYtMjI3LjU4NGgtMTExLjYxNnYyMjcuNTg0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTE4OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItcmVzdCIgZD0iTTg4OCA5NjBoLTc1MmMtNzUuNTg0IDAtMTM2LTYwLjQxNi0xMzYtMTM2di03NTJjMC03NS42NDggNjAuNDE2LTEzNiAxMzYtMTM2aDc1MmM3NS42NDggMCAxMzYgNjAuMzUyIDEzNiAxMzZ2NzUyYzAgNzUuNTg0LTYwLjM1MiAxMzYtMTM2IDEzNnpNMjQzLjQ1NiAyNjQuOTZsLTc5Ljc0NCAyMjkuNjMyIDUuMjQ4IDcuNjhoNjcuOTY4djE1Ny43NmgtOTcuODU2di0zOTUuMTM2aC0zOC4wODB2NDI4LjhoMTQzLjYxNmM4Ljk2IDAgMTYuMjU2LTIuODE2IDIxLjg4OC04LjQ0OCA1LjYzMi01LjY5NiA4LjUxMi0xMi45OTIgOC41MTItMjEuOTUydi0xNjIuNzUyYzAtMjAuNjcyLTEzLjg4OC0zMC45NzYtNDEuNjY0LTMwLjk3Ni0yLjc1MiAwLTYuNzIgMC4xMjgtMTIuMDMyIDAuMzg0cy05LjE1MiAwLjM4NC0xMS41MiAwLjM4NGMyNC42NC02OC4yODggNDkuMjE2LTEzNi44MzIgNzMuNzI4LTIwNS41MDRoLTQwLjA2NHpNNDgxLjI4IDI2NC45NmgtMTQwLjg2NHY0MjguOGgxMzkuMnYtMzMuNjY0aC0xMDEuMTJ2LTE2MGg5Mi4wMzJ2LTM0LjI0aC05MS45Njh2LTE2Ny4xNjhoMTAyLjcydi0zMy43Mjh6TTcwNy45MDQgNTYzLjU4NGgtMzguMDgwdjk2LjQ0OGgtOTIuNjA4di05MC40MzJsMTE4LjkxMi0xNDMuMDQwYzcuODA4LTkuNDcyIDExLjc3Ni0yMC4xNiAxMS43NzYtMzJ2LTk5LjJjMC05LjAyNC0yLjc1Mi0xNi4zMi04LjMyLTIxLjk1Mi01LjYzMi01LjY5Ni0xMi44NjQtOC41MTItMjEuODI0LTguNTEyaC0xMDcuOTY4Yy04Ljk2IDAtMTYuMzIgMi44MTYtMjIuMDgwIDguNTEyLTUuNzYgNS42MzItOC42NCAxMi45MjgtOC42NCAyMS45NTJ2MTA4LjczNmgzOC4wODB2LTEwNS40NzJoOTIuNjA4djEwMi4yNzJsLTExOC40IDE0Mi45NzZjLTguMTkyIDkuODU2LTEyLjM1MiAyMC43MzYtMTIuMzUyIDMyLjY0djg2Ljg0OGMwIDguOTYgMi44OCAxNi4yNTYgOC42NCAyMS45NTIgNS44MjQgNS42MzIgMTMuMjQ4IDguNDQ4IDIyLjE0NCA4LjQ0OGgxMDcuOTY4YzguOTYgMCAxNi4xOTItMi44MTYgMjEuODI0LTguNDQ4IDUuNTY4LTUuNjk2IDguMzItMTIuOTkyIDguMzItMjEuOTUydi05OS43NzZ6TTkyMy4wMDggNjYwLjAzMmgtNjYuMzA0di0zOTUuMTM2aC0zOC4wODB2Mzk1LjEzNmgtNjYuODh2MzMuNzI4aDE3MS4yNjR2LTMzLjcyOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxOTsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXNvYXAiIGQ9Ik01OTQuNzUyIDM5My45ODRoNzUuMzkybC0zNy41NjggMjMyLjM4NHpNMzQzLjQ4OCA2NjAuMDMyaDEwNC45NnYtMzYxLjQwOGgtMTA0Ljk2djM2MS40MDh6TTgxNy40NzIgNjYwLjAzMmg5My43NnYtMTkwLjk3NmgtOTMuNzZ2MTkwLjk3NnpNODg4IDk2MGgtNzUyYy03NS41ODQgMC0xMzYtNjAuNDE2LTEzNi0xMzZ2LTc1MmMwLTc1LjY0OCA2MC40MTYtMTM2IDEzNi0xMzZoNzUyYzc1LjY0OCAwIDEzNiA2MC4zNTIgMTM2IDEzNnY3NTJjMCA3NS41ODQtNjAuMzUyIDEzNi0xMzYgMTM2ek0yMzguMDE2IDU2My41ODRoLTM4LjA4MHY5Ni40NDhoLTkyLjY3MnYtOTAuNDMybDExOC45MTItMTQzLjA0MGM3Ljg3Mi05LjQ3MiAxMS43NzYtMjAuMTYgMTEuNzc2LTMydi05OS4yYzAtOS4wMjQtMi43NTItMTYuMzItOC4zODQtMjEuOTUyLTUuNTY4LTUuNjk2LTEyLjgtOC41MTItMjEuNzYtOC41MTJoLTEwNy45MDRjLTguOTYgMC0xNi4yNTYgMi44MTYtMjIuMDE2IDguNTEyLTUuNzYgNS42MzItOC42NCAxMi45MjgtOC42NCAyMS45NTJ2MTA4LjczNmgzOC4wODB2LTEwNS40NzJoOTIuNjA4djEwMi4yNzJsLTExOC40IDE0Mi45NzZjLTguMTkyIDkuODU2LTEyLjM1MiAyMC43MzYtMTIuMzUyIDMyLjY0djg2Ljg0OGMwIDguOTYgMi44OCAxNi4yNTYgOC42NCAyMS45NTIgNS43NiA1LjYzMiAxMy4xMiA4LjQ0OCAyMi4wODAgOC40NDhoMTA3Ljk2OGM4Ljk2IDAgMTYuMTkyLTIuODE2IDIxLjc2LTguNDQ4IDUuNTY4LTUuNjk2IDguMzg0LTEyLjk5MiA4LjM4NC0yMS45NTJ2LTk5Ljc3NnpNNDg2LjUyOCAyOTUuMzZjMC05LjAyNC0yLjg4LTE2LjMyLTguNjQtMjEuOTUyLTUuNzYtNS42OTYtMTMuMTItOC41MTItMjIuMDgwLTguNTEyaC0xMjBjLTguOTYgMC0xNi4yNTYgMi44MTYtMjEuODg4IDguNTEyLTUuNjMyIDUuNjMyLTguNTEyIDEyLjkyOC04LjUxMiAyMS45NTJ2MzY4YzAgOC45NiAyLjgxNiAxNi4yNTYgOC41MTIgMjEuOTUyIDUuNjMyIDUuNjMyIDEyLjkyOCA4LjQ0OCAyMS44ODggOC40NDhoMTIwYzguOTYgMCAxNi4zMi0yLjgxNiAyMi4wODAtOC40NDggNS43Ni01LjY5NiA4LjY0LTEyLjk5MiA4LjY0LTIxLjk1MnYtMzY4ek02OTAuMTEyIDI2NC45NmwtMTUuMDQwIDk1LjM2aC04NS4yNDhsLTE1LjEwNC05NS4zNmgtMzYuNjcydjEuMTUybDc2LjQ4IDQyOC44aDM3LjU2OGw3NS45MDQtNDI5Ljk1MmgtMzcuODg4ek05NDkuMzEyIDQ2NS43OTJjMC04Ljk2LTIuODgtMTYuMzItOC42NC0yMi4wODBzLTEzLjEyLTguNjQtMjIuMDgwLTguNjRoLTEwMS4xMnYtMTcwLjE3NmgtMzguMDgwdjQyOC44aDEzOS4yYzguOTYgMCAxNi4zMi0yLjgxNiAyMi4wODAtOC40NDggNS43Ni01LjY5NiA4LjY0LTEyLjk5MiA4LjY0LTIxLjk1MnYtMTk3LjUwNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxYTsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci1tYWNvcyIgZD0iTTc2Ni4zMzYgMzk2LjQxNmMtNi45MTIgNjEuOTUyIDI5LjEyIDEyOC44MzIgOTQuMTQ0IDIwOS45Mi0yMy4xNjggMTUuNDI0LTM3LjQ0IDM2LjA5Ni03OC41OTIgNDYuOTEyLTE3MC40OTYgMjEuNjMyLTI1MC4xNzYtMjMuNzQ0LTI1MC4xNzYtMjMuNzQ0cy0xMTIuMTkyIDQ5Ljc5Mi0xOTEuNjggNDIuNjI0Yy0xMzAuNDMyLTExLjY0OC0xNzYuNDQ4LTEzNC43Mi0xNzkuNzEyLTIwMS4xNTItMi4zNjgtNDcuOTM2LTYuNTI4LTExNi41NDQgMS40MDgtMTY4IDI5Ljg4OC0xOTIuODMyIDEzMC42ODgtMjY5Ljk1MiAyMTMuNjMyLTI5Ny41MzYgNjQuNzY4LTIxLjU2OCA4OC4yNTYgMzAuNzg0IDEzNS43NDQgMzAuNzg0IDE1LjIzMiAwIDYzLjg3MiAxLjcyOCA3My44NTYtMy43MTIgMTQ2LjE3Ni03OS42OCAyMzguNjU2LTcuMDQwIDMwMy4wNDAgMTkzLjAyNC00NS4wNTYgMTYuNzA0LTExMS4zNiA5MC4yNC0xMjEuNjY0IDE3MC44OHpNNjk2Ljc2OCA4OTZjLTYwLjggMC0xNzAuODgtMTAyLjg0OC0xNjIuMTc2LTE4OC4yODggMC40NDgtNC4wOTYgMTEuOTY4LTguMDY0IDE2LTcuMjMyIDU2LjQ0OCAxMS42NDggMTIxLjUzNiA3MC45MTIgMTQxLjg4OCAxMjcuNDI0IDUuOTUyIDE2Ljc2OCAyMi4xNDQgNjguMDk2IDQuMjg4IDY4LjA5NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxYjsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci1vcGVuYnNkIiBkPSJNNjE5LjkwNCA1MDcuMmM5Ljk4NCA3LjU1MiAxNi44OTYgMTguMjQgMjAuNTQ0IDMxLjkzNmwtMjMuNDg4IDIuODhjLTMuNDU2LTkuNi04LjEyOC0xNi41NzYtMTQuMDE2LTIwLjkyOHMtMTIuOTkyLTYuNTkyLTIxLjM3Ni02LjU5MmMtMTEuMiAwLTIwLjQ4IDMuOTA0LTI4LjAzMiAxMS43NzYtNy40ODggNy44MDgtMTEuNjQ4IDE5LjA3Mi0xMi40OCAzMy43OTJoMTAwLjAzMmMwLjA2NCAyLjY4OCAwLjEyOCA0LjY3MiAwLjEyOCA2LjAxNiAwIDIyLjE0NC01LjY5NiAzOS4yOTYtMTcuMDg4IDUxLjUyLTExLjM5MiAxMi4xNi0yNS45ODQgMTguMzA0LTQzLjk2OCAxOC4zMDQtMTguNDk2IDAtMzMuNTM2LTYuMjcyLTQ1LjE4NC0xOC42ODgtMTEuNTg0LTEyLjQxNi0xNy40MDgtMjkuODg4LTE3LjQwOC01Mi40OCAwLTIxLjgyNCA1Ljc2LTM4LjcyIDE3LjI4LTUwLjgxNnMyNy4wNzItMTguMTEyIDQ2LjY1Ni0xOC4xMTJjMTUuNTUyIDAgMjguMjg4IDMuNzc2IDM4LjQgMTEuMzkyek01NTQuMTEyIDYwNi43ODRjNy4xNjggNi45NzYgMTUuODcyIDEwLjQ5NiAyNi4zMDQgMTAuNDk2IDExLjU4NCAwIDIwLjkyOC00LjM1MiAyOC4xNi0xMy4xMiA0LjY3Mi01LjYzMiA3LjU1Mi0xNC4xNDQgOC41NzYtMjUuNDA4aC03NC44OGMwLjc2OCAxMS43MTIgNC43MzYgMjEuMDU2IDExLjg0IDI4LjAzMnpNNTEzLjQ3MiAyODYuMDgwYy03LjQyNCAzLjMyOC0yMS4wNTYgNy4yMzItNDAuOTYgMTEuNzc2cy0zMi4xOTIgOC45Ni0zNi45MjggMTMuMjQ4Yy00Ljg2NCA0LjIyNC03LjIzMiA5LjcyOC03LjIzMiAxNi4zMiAwIDcuNjggMy4zOTIgMTQuMjA4IDEwLjE3NiAxOS42NDhzMTcuNTM2IDguMTkyIDMyLjM4NCA4LjE5MmMxNC4yMDggMCAyNC45Ni0zLjAwOCAzMi4yNTYtOS4wMjQgNy4yOTYtNS45NTIgMTEuNTg0LTE0Ljc4NCAxMi44LTI2LjQ5NmwyMy40ODggMS43MjhjLTAuNDQ4IDEwLjg4LTMuNDU2IDIwLjU0NC05LjA4OCAyOS4xODQtNS42MzIgOC41NzYtMTMuNjk2IDE1LjEwNC0yNC4xOTIgMTkuNTItMTAuNDMyIDQuNDgtMjIuNTI4IDYuNjU2LTM2LjI4OCA2LjY1Ni0xMi40OCAwLTIzLjgwOC0yLjExMi0zMy45ODQtNi4zMzZzLTE3LjkyLTEwLjM2OC0yMy4yMzItMTguNDk2Yy01LjI0OC04LjEyOC03LjkzNi0xNi44OTYtNy45MzYtMjYuMTc2IDAtOC41MTIgMi4xNzYtMTYuMTkyIDYuNTI4LTIzLjA0MHMxMC45NDQtMTIuNTQ0IDE5Ljc3Ni0xNy4yOGM2Ljg0OC0zLjU4NCAxOC43NTItNy40MjQgMzUuNzc2LTExLjUyczI3Ljk2OC03LjEwNCAzMi45Ni05LjA4OGM3Ljc0NC0yLjk0NCAxMy4zMTItNi41OTIgMTYuNzA0LTEwLjk0NCAzLjMyOC00LjI4OCA1LjA1Ni05LjM0NCA1LjA1Ni0xNS4xNjggMC01Ljc2LTEuNzI4LTExLjAwOC01LjI0OC0xNS44NzItMy40NTYtNC44LTguODMyLTguNjQtMTYtMTEuMzkyLTcuMTY4LTIuODE2LTE1LjQyNC00LjE2LTI0LjcwNC00LjE2LTEwLjU2IDAtMjAuMDMyIDEuNzkyLTI4LjQxNiA1LjUwNC04LjM4NCAzLjY0OC0xNC42NTYgOC40NDgtMTguNjI0IDE0LjQtNC4wMzIgNS45NTItNi41OTIgMTMuNTY4LTcuNjggMjIuNzg0bC0yMy4xMDQtMi4wNDhjMC4zMi0xMi4yODggMy43MTItMjMuNDI0IDEwLjE3Ni0zMy4yOHMxNS4yOTYtMTcuMTUyIDI2LjYyNC0yMi4wMTZjMTEuMzI4LTQuODY0IDI1LjM0NC03LjM2IDQyLjExMi03LjM2IDEzLjI0OCAwIDI1LjA4OCAyLjQzMiAzNS42NDggNy4yOTYgMTAuNTYgNC44IDE4LjY4OCAxMS42NDggMjQuMzIgMjAuMjg4czguNTEyIDE3Ljk4NCA4LjUxMiAyNy44NGMwIDkuOTItMi42MjQgMTguNzUyLTcuNzQ0IDI2LjM2OC01LjI0OCA3LjYxNi0xMy4xODQgMTMuOTUyLTIzLjkzNiAxOC45NDR6TTQwNC4wMzIgNTEyLjcwNGMzLjkwNC00Ljg2NCA4LjgzMi04Ljg5NiAxNC43ODQtMTIuMDk2IDYuMDE2LTMuMiAxMi44LTQuOCAyMC40MTYtNC44IDEwLjM2OCAwIDIwLjIyNCAyLjk0NCAyOS41NjggOC43NjggOS40MDggNS44MjQgMTYuNTc2IDE0LjI3MiAyMS40NCAyNS4yOCA1LjA1NiAxMC45NDQgNy40ODggMjMuMzYgNy40ODggMzcuMDU2IDAgMTIuOC0yLjI0IDI0LjU3Ni02LjcyIDM1LjI2NC00LjQxNiAxMC43NTItMTEuMDA4IDE5LjA3Mi0xOS43NzYgMjQuOTZzLTE4Ljg4IDguODMyLTMwLjMzNiA4LjgzMmMtOC43NjggMC0xNi4xOTItMS43MjgtMjIuMzM2LTUuMTJzLTExLjY0OC04LjUxMi0xNi41MTItMTUuMzZ2MTcuNDcyaC0yMC43MzZ2LTE4NS40NzJoMjIuNzJ2NjUuMjE2ek00MTMuMTIgNjA0LjYwOGM3LjQyNCA5LjAyNCAxNiAxMy41NjggMjUuNjY0IDEzLjU2OCA5LjcyOCAwIDE4LjE3Ni00LjIyNCAyNS4yMTYtMTIuNzM2czEwLjU2LTIxLjMxMiAxMC41Ni0zOC40YzAtMTcuOTItMy41ODQtMzEuMTY4LTEwLjc1Mi0zOS43NDQtNy4yMzItOC41MTItMTUuODcyLTEyLjgtMjUuOTg0LTEyLjgtOS45MiAwLTE4LjM2OCA0LjA5Ni0yNS4zNDQgMTIuMzUyLTcuMTA0IDguMjU2LTEwLjU2IDIxLjA1Ni0xMC41NiAzOC4yNzJzMy43MTIgMzAuNCAxMS4yIDM5LjQ4OHpNMzM3LjQwOCAyODcuMDQwYzguNzA0IDQuMjI0IDE1LjE2OCA5LjkyIDE5LjQ1NiAxNi44OTZzNi40NjQgMTQuNDY0IDYuNDY0IDIyLjRjMCA4LjUxMi0yLjQzMiAxNi42NC03LjI5NiAyNC40NDgtNC44IDcuNzQ0LTExLjUyIDEzLjUwNC0yMC4wMzIgMTcuMjhzLTE5LjkwNCA1LjYzMi0zNC4wNDggNS42MzJoLTY5LjQ0di0xODUuMTUyaDcwLjU5MmMxMS43NzYgMCAyMS42OTYgMS4wMjQgMjkuODI0IDMuMDcyczE0Ljg0OCA1LjEyIDIwLjI4OCA5LjIxNmM1LjM3NiA0LjAzMiA5LjkyIDkuNzkyIDEzLjU2OCAxNy4yOHM1LjUwNCAxNS40ODggNS41MDQgMjQuMTkyYzAgMTAuNzUyLTMuMDA4IDIwLjAzMi05LjAyNCAyOC4wMzItNi4wMTYgNy44NzItMTQuNTkyIDEzLjQ0LTI1Ljg1NiAxNi43MDR6TTI1Ny4wMjQgMzUxLjgwOGgzNi45OTJjMTMuMzEyIDAgMjIuNjU2LTAuODk2IDI4LjE2LTIuNTYgNS41MDQtMS43MjggOS42NjQtNC45MjggMTIuNjA4LTkuNiAyLjk0NC00LjczNiA0LjQxNi0xMC4xMTIgNC40MTYtMTYuMjU2IDAtNi40NjQtMS41MzYtMTEuODQtNC43MzYtMTYuMTI4cy03Ljg3Mi03LjM2LTE0LjA4MC05LjI4Yy00LjczNi0xLjM0NC0xMi40OC0yLjExMi0yMy4zNi0yLjExMmgtNDB2NTUuOTM2ek0zNDMuMjMyIDIyNi42MjRjLTIuNDMyLTQuNDgtNS41MDQtNy45MzYtOS4zNDQtMTAuMzA0LTMuNzc2LTIuMzA0LTguNTEyLTQuMDMyLTE0LjE0NC00Ljk5Mi0zLjItMC42NC04Ljc2OC0wLjk2LTE2LjY0LTAuOTZoLTQ2LjA4MHY2My42OGg0Mi43NTJjMTEuODQgMCAyMC44LTEuMDg4IDI3LjA3Mi0zLjEzNnMxMS4yLTUuNjMyIDE0LjcyLTEwLjc1MmMzLjUyLTUuMDU2IDUuMzEyLTExLjA3MiA1LjMxMi0xNy45MiAwLjA2NC01Ljk1Mi0xLjIxNi0xMS4xMzYtMy42NDgtMTUuNjE2ek0zMDkuMTIgNTA3LjEzNmMxMy44ODggNy42MTYgMjQuNTc2IDE4LjgxNiAzMi4xOTIgMzMuNiA3LjU1MiAxNC44NDggMTEuMzI4IDMxLjYxNiAxMS4zMjggNTAuMzY4IDAgMTguNTYtMy41ODQgMzUuMDcyLTEwLjc1MiA0OS42NjQtNy4xNjggMTQuNjU2LTE3LjY2NCAyNS45ODQtMzEuMzYgMzQuMTc2cy0yOS4xODQgMTIuMjg4LTQ2LjI3MiAxMi4yODhjLTI2LjExMiAwLTQ3LjM2LTguNzA0LTYzLjg3Mi0yNi4wNDhzLTI0LjcwNC00MS40NzItMjQuNzA0LTcyLjE5MmMwLTE2LjI1NiAzLjUyLTMxLjY4IDEwLjYyNC00Ni4yMDggNy4xMDQtMTQuNTkyIDE3LjQ3Mi0yNi4wNDggMzEuMTY4LTM0LjQ5NnMyOS4zMTItMTIuNjA4IDQ2LjcyLTEyLjYwOGMxNi4wNjQgMCAzMS4wNDAgMy44NCA0NC45MjggMTEuNDU2ek0yMTguODggNTM1LjkzNmMtMTEuOTY4IDEyLjgtMTcuOTg0IDMwLjQtMTcuOTg0IDUyLjY3MiAwIDI3Ljg0IDYuMjcyIDQ3Ljc0NCAxOC43NTIgNTkuNjQ4czI3LjM5MiAxNy44NTYgNDQuNzM2IDE3Ljg1NmMxMi4yMjQgMCAyMy4yMzItMy4wNzIgMzMuMDI0LTkuMjhzMTcuMjgtMTQuODQ4IDIyLjMzNi0yNi4xMTIgNy42MTYtMjQuMzg0IDcuNjE2LTM5LjQ4OGMwLTIzLjgwOC01Ljk1Mi00Mi4xNzYtMTcuODU2LTU1LjE2OHMtMjcuMDA4LTE5LjM5Mi00NS41MDQtMTkuMzkyYy0xOC4wNDggMC0zMy4wODggNi40LTQ1LjEyIDE5LjI2NHpNNzAyLjQgMzU3Ljc2Yy03LjQ4OCA2LjQtMTYuNTc2IDEwLjgxNi0yNy4yIDEzLjI0OC03LjU1MiAxLjcyOC0xOC41NiAyLjY4OC0zMi45NiAyLjY4OGgtNjMuNzQ0di0xODUuMTUyaDY2LjgxNmMxMS4yIDAgMjEuMDU2IDEuMDg4IDI5LjY5NiAzLjIgOC42NCAyLjA0OCAxNiA1LjE4NCAyMi4xNDQgOS4yOCA2LjA4MCA0LjAzMiAxMS43MTIgOS42NjQgMTYuODk2IDE2LjgzMiA1LjEyIDcuMDQwIDkuMzQ0IDE2LjA2NCAxMi42MDggMjYuOTQ0czQuODY0IDIzLjI5NiA0Ljg2NCAzNy4zNzZjMCAxNi41MTItMi4zNjggMzEuMTY4LTcuMjMyIDQ0LjAzMi00Ljg2NCAxMi43MzYtMTIuMTYgMjMuMjk2LTIxLjg4OCAzMS41NTJ6TTcwMS40NCAyNDYuNzg0Yy0zLjI2NC05Ljc5Mi03LjgwOC0xNy42LTEzLjYzMi0yMy4zNi00LjA5Ni00LjA5Ni05LjYtNy4zNi0xNi41NzYtOS42cy0xNi41NzYtMy40NTYtMjguNzM2LTMuNDU2aC0zOS40ODh2MTQxLjQ0aDM4Ljg0OGMxNC41OTIgMCAyNS4xNTItMS4yOCAzMS42OC0zLjg0IDkuMTUyLTMuNTIgMTYuODMyLTEwLjQ5NiAyMy4xNjgtMjAuODY0czkuNDcyLTI1LjI4IDkuNDcyLTQ0LjYwOGMwLjA2NC0xNC4wMTYtMS41MzYtMjUuODU2LTQuNzM2LTM1LjcxMnpNMCA5NjB2LTEwMjRoMTAyNHY1MzMuMTJjLTg1Ljg4OC0xNC42NTYtMTQ0LjE5Mi0xMjIuMzY4LTEyNy45MzYtMjEwLjgxNi01NS44NzIgMTIuNDgtNjUuODU2IDUyLjYwOC05NC4wMTYgNTkuMTM2IDUuNzYtMjIuNjU2IDExLjM5Mi00NS4xMiAxNy4yMTYtNjcuNjQ4LTM0LjExMiAzLjI2NC0yNy4wMDggOS4xNTItNTEuMi04LjUxMiAxMS4zOTItMjUuMjggMjIuNjU2LTUwLjQ5NiAzMy45ODQtNzUuNzc2LTIuODE2IDAtNS42MzIgMC04LjUxMiAwLTIzLjgwOCAyMi4wMTYtMjkuMDU2IDMxLjQ4OC02OC4wOTYgNDIuMTEyLTIuODE2LTUuNjMyLTUuODI0LTExLjEzNi04LjY0LTE2Ljg5NiA1LjgyNC0xNy4wMjQgMTEuNDU2LTMzLjcyOCAxNy4yMTYtNTAuNzUyLTM3LjEyIDI1LjE1Mi0yNy41MiAzMS43NDQtNjguNDE2IDE3LjAyNC0yLjgxNi0yMi41MjgtNS42OTYtNDQuOTkyLTguNTEyLTY3LjY0OC0yMS4xODQgMjQuMTI4LTE0LjQ2NCAyOS4yNDgtNTEuMiA0Mi4zNjgtMi44MTYtMTcuMDI0LTUuNzYtMzMuODU2LTguNTEyLTUwLjYyNC04LjU3NiAxMS4yNjQtMTcuMTUyIDIyLjUyOC0yNS41MzYgMzMuNi04LjU3Ni01Ljc2LTE3LjE1Mi0xMS4xMzYtMjUuNi0xNi44OTYtMi44OC0yMi40LTUuNjk2LTQ0Ljk5Mi04LjY0LTY3LjUyLTExLjM5MiAyMi41MjgtMjIuNzIgNDUuMTItMzMuOTg0IDY3LjUyLTUuNjk2LTIuNzUyLTExLjUyLTUuNTA0LTE3LjE1Mi04LjUxMi04LjU3Ni0zMi42NC0zLjMyOC0yNS4yOC0yNS42LTQyLjExMi0yLjg4IDE0LjE0NC01LjY5NiAyOC4yMjQtOC41NzYgNDIuMTEyLTUuNjMyLTIuNjI0LTExLjMyOC01LjUwNC0xNy4wMjQtOC4yNTYtMTAuODgtMzcuNTA0LTE2Ljk2LTQzLjI2NC0zNC4xMTItNTAuNzUyLTUuNzYgMTkuODQtMTEuNDU2IDM5LjYxNi0xNy4xNTIgNTkuMDcyLTE3LjYtMTcuMTUyLTE5LjI2NC0yOC4zNTItNDIuNjI0LTQyLjExMiAwIDE3LjAyNCAwIDMzLjg1NiAwIDUwLjYyNC0yMi43Mi0xNC4wMTYtNDUuNTY4LTI4LjAzMi02OC4yODgtNDIuMjQgNi40IDQ2Ljg0OCAxMS45NjggNTYuNjQtMTcuMDg4IDg0LjM1Mi0xNy4wODgtMTEuMTM2LTM0LjExMi0yMi41MjgtNTEuMjY0LTMzLjYgNS44MjQgMjIuNTI4IDExLjQ1NiA0NC44NjQgMTcuMTUyIDY3LjM5Mi0yNS41MzYtNS42MzItNTEuMi0xMS4yNjQtNzYuOC0xNi43NjggMTEuMzkyIDE2Ljc2OCAyMi43MiAzMy43MjggMzQuMTc2IDUwLjYyNC0xOC40OTYgMjMuMzYtMTYuMjU2IDE4Ljc1Mi0zNC4xNzYgNDIuMTEyLTExLjM5Mi01LjYzMi0yMi42NTYtMTEuMjY0LTM0LjExMi0xNi44OTYgMjMuNDI0IDQ4LjY0IDEwLjgxNiAzOC40LTI1LjUzNiA4NC40OC00MC43MDQtMTIuNTQ0LTYxLjUwNC04LjgzMi04NS40NCAxNi44MzIgODIuNDMyIDY5LjE4NCA5Ny45MiAxODQgMTUzLjYgMjYxLjUwNC04LjUxMiAxMS4yNjQtMTcuMDI0IDIyLjQ2NC0yNS42IDMzLjY2NCAxMS4zOTIgMCAyMi43MiAwIDM0LjExMiAwLTE0LjE0NCAyNS40MDgtMjguNDE2IDUwLjY4OC00Mi42MjQgNzYuMDMyIDI4LjQxNi04LjQ0OCA1Ni45Ni0xNy4wMjQgODUuMjQ4LTI1LjQwOC0xMS45NjggMjguMDk2IDIwLjM1MiAyOS41MDQgMTcuMTUyIDc1Ljk2OCAxNC4yMDgtNS41NjggMjguNDE2LTExLjIgNDIuNjg4LTE2LjgzMi01LjY5NiAyNS4zNDQtMTEuMzkyIDUwLjYyNC0xNy4wODggNzUuODQgMzAuNTkyLTE5Ljc3NiAyOC45MjgtMzYuMzUyIDY4LjIyNC01MC40OTYgMCAxMS4yIDAgMjIuNDY0IDAgMzMuNjY0IDExLjM5Mi04LjM4NCAyMi44NDgtMTYuNzY4IDM0LjE3Ni0yNS4yMTYgMS43MjggMzYuMzUyIDIuMjQgNDAuNjQgMTcuMTUyIDU5LjAwOCA1LjU2OC0xNC4xNDQgMTEuMjY0LTI4LjE2IDE2Ljk2LTQyLjE3NiAyNS4yOCAzNC4wNDggMTkuOTA0LTAuNTEyIDM0LjE3NiAyNS4yMTYgNS42OTYgMTYuOTYgMTEuMzkyIDMzLjc5MiAxNy4wODggNTAuNjg4IDExLjM5Mi0yMi40NjQgMjIuNjU2LTQ1LjA1NiAzNC4xMTItNjcuNDU2IDUuNzYgMTEuMiAxMS4zOTIgMjIuNTkyIDE3LjA4OCAzMy43OTIgMC0xNC4xNDQgMC0yOC4yMjQgMC00Mi4xNzYgNS42MzIgMi43NTIgMTEuNDU2IDUuNjMyIDE3LjE1MiA4LjM4NCA4LjUxMiAzMi43NjggMy4yNjQgMjUuMzQ0IDI1LjYgNDIuMTc2IDAtMTYuODMyIDAtMzMuNzkyIDAtNTAuNjI0IDIzLjkzNiAxNC44NDggMTQuNDY0IDEyLjM1MiAzNC4wNDggMTYuODMyIDAtOC4zODQgMC0xNi44MzIgMC0yNS4yOCAyMi42NTYgMjIuNCA0NS41MDQgNDUuMDU2IDY4LjIyNCA2Ny40NTYtNS41NjgtMzAuOTc2LTExLjMyOC02MS44MjQtMTcuMDI0LTkyLjggOC41MTIgNS43NiAxNy4wODggMTEuMzkyIDI1LjYgMTcuMDI0IDE0LjA4MCAzMC40IDIuMzA0IDE5Ljc3NiAzMy45ODQgMzMuNjY0LTUuNjMyLTI1LjI4LTExLjMyOC01MC42ODgtMTcuMDI0LTc1Ljk2OCAxMS4zOTIgOC40NDggMjIuNzIgMTYuODk2IDM0LjI0IDI1LjI4LTIuODgtMTQuMDE2LTUuODI0LTI4LjAzMi04LjcwNC00Mi4xMTIgMjIuODQ4IDExLjIgNDUuNjMyIDIyLjQ2NCA2OC4yODggMzMuNjY0LTExLjM5Mi0yMi40NjQtMjIuNjU2LTQ0LjkyOC0zNC4xMTItNjcuNTIgMi44MTYtMi44MTYgNS44MjQtNS41NjggOC42NC04LjM4NCAyNS40NzIgMTEuMiA1MS4xMzYgMjIuNjU2IDc2LjYwOCAzMy43OTIgMC0yLjgxNiAwLTUuNjMyIDAtOC40NDgtMjkuMzc2LTQzLjcxMi0zMy4yOC0zOS44MDgtMTYuOTYtNzYuMDMyIDIyLjY1NiA4LjQ0OCA0NS41MDQgMTcuMDI0IDY4LjI4OCAyNS4zNDQgMC0yLjc1MiAwLTUuNjMyIDAtOC4zMi0xNy4xNTItMTQuMjA4LTM0LjE3Ni0yOC4xNi01MS4zOTItNDIuMjQgMjYuMzY4LTMyLjI1NiAxMi43MzYgMC41NzYgOC41NzYtNTAuNjI0IDIwLjAzMiAyLjc1MiA0MCA1LjYzMiA1OS45MDQgOC4zODQtMTcuMDg4LTE5LjY0OC0zNC4xNzYtMzkuMjk2LTUxLjI2NC01OS4wNzIgMTQuMjcyIDIuODE2IDI4LjYwOCA1LjU2OCA0Mi43NTIgOC40NDgtMTEuNjQ4LTE2LTIxLjQ0LTE5Ljk2OC0zNC4xNzYtMzMuNzI4IDUuNjk2LTguMzIgMTEuMzkyLTE2LjgzMiAxNy4wMjQtMjUuMjE2IDQ1LjU2OCAyNi42ODggNTguNjg4IDUxLjkwNCAxMjggNTguOTQ0IDE3LjIxNi0xMS4yIDM0LjE3Ni0yMi41MjggNTEuMi0zMy43Mjh2NDkwLjk0NGgtMTAyMy45MzZ6TTc2OS42IDYyMC4xNmMtMy4zOTIgNC43MzYtOC41MTIgOC41MTItMTUuMjMyIDExLjM5MnMtMTQuMjA4IDQuMzUyLTIyLjI3MiA0LjM1MmMtMTguNjI0IDAtMzIuODk2LTcuMzYtNDIuNjg4LTIyLjA4MHYxOS4xMzZoLTIwLjQ4di0xMzQuMDgwaDIyLjcydjczLjE1MmMwIDE3LjIxNiAzLjUyIDI4Ljg2NCAxMC41NiAzNS4wMDggNi45NzYgNi4xNDQgMTUuMzYgOS4yMTYgMjUuMDg4IDkuMjE2IDYuMDgwIDAgMTEuMzI4LTEuMzQ0IDE1LjgwOC00LjA5NiA0LjQ4LTIuNjg4IDcuNjgtNi40IDkuNDA4LTEwLjk0NCAxLjcyOC00LjYwOCAyLjYyNC0xMS41MiAyLjYyNC0yMC44di04MS41MzZoMjIuNzJ2ODIuNDMyYzAgMTAuNTYtMC40NDggMTcuOTItMS4yOCAyMi4wODAtMS4yOCA2LjQ2NC0zLjY0OCAxMi4wOTYtNi45NzYgMTYuNzY4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTFjOyIgZ2x5cGgtbmFtZT0iaXQtc2VydmVyLWRlYmlhbiIgZD0iTTc5Ny45NTIgNjYwLjkyOGM1LjgyNC01LjgyNCAxMS42NDgtMTEuNTg0IDE3LjQwOC0xNy40MDgtMTIuMDMyIDE2LjY0LTAuODk2IDUuMTItMTcuNDA4IDE3LjQwOHpNMCA5NjB2LTEwMjRoMTAyNHYxMDI0aC0xMDI0ek0yMTQuNjU2IDY4Ni45NzZoMTcuMzQ0di04LjcwNGMtNS43Ni01LjgyNC0xMS41ODQtMTEuNTg0LTE3LjM0NC0xNy40MDhoLTguNzY4YzIuODggOC43NjggNS44MjQgMTcuNDcyIDguNzY4IDI2LjExMnpNMTk3LjE4NCA2MjUuOTg0YzIuODgtOC42NCA1LjgyNC0xNy4zNDQgOC43MDQtMjYuMDQ4aC04LjcwNHYyNi4wNDh6TTU3MS42NDggMzEyLjY0Yy00NS44ODggMTYuODk2LTgxLjIxNiAyOS41NjgtMTA0LjU3NiA2OS42MzIgMTEuNTg0LTUuNzYgMjMuMjMyLTExLjY0OCAzNC44MTYtMTcuMzQ0LTExLjU4NCAxMS41ODQtMjMuMjMyIDIzLjEwNC0zNC44MTYgMzQuNzUyLTExLjY0OC0xMi40MTYtMTAuODE2LTE1LjI5Ni0yNi4xMTItMjYuMTEyLTIuODggMTQuNDY0LTUuODI0IDI4LjkyOC04LjcwNCA0My40NTYgMTEuNjQ4IDMuMzkyIDExLjk2OCAxMDQuNTc2IDI2LjExMiAxNjUuNTA0IDQyLjY4OCAzMi43NjggNTQuNzIgNTYuNjQgMTMwLjY4OCA2MC45OTIgMjcuOTA0LTE0LjIwOCAzNi40MTYtMTYuMDY0IDUyLjE2LTQzLjU4NC03Ny44ODggMzAuNzg0LTExNC43NTItMy4zMjgtMTY1LjM3Ni00My41Mi00LjQxNi00NC4yMjQtOS40MDgtNjguNjA4IDguNjQtMTA0LjQ0OCAxNi43MDQtNDMuMzI4IDM1LjUyLTYxLjE4NCA3OC40LTc4LjQgNzUuNzc2LTIxLjU2OCAxMjYuOTEyIDIwLjA5NiAxNzQuMjA4IDUyLjI4OCA4MC41NzYgMzYxLjI4LTMwMC44NjQgNDc2LjY3Mi00NTIuOCAyMDguOTYtMTMwLjY4OC0yMzAuMzM2IDc1LjQ1Ni01MjcuMjk2IDI1Mi40OC01NzQuNzJ2LTguNzA0aC01Mi4yODhjLTM5OC40IDE1NC41Ni0zNjEuMDI0IDU5OC43ODQtMzQuODE2IDgwMS4wODggNDk0LjkxMiAyMi4wODAgNDg3LjA0MC01MTIuNzY4IDEyMS45ODQtNTM5Ljg0ek02MTUuMTA0IDQyNS44NTZ2LTguODMyaC04LjcwNGMtOC43MDQgMi45NDQtMTcuNDA4IDUuODg4LTI2LjE3NiA4LjgzMnYxNy4zNDRjMTEuNjQ4LTUuNzYgMjMuMjMyLTExLjUyIDM0Ljg4LTE3LjM0NHpNNjY3LjI2NCA1MTIuODMydjI2LjE3NmMxNy45Mi0xNS43NDQgNi4yNzItMC4xMjggMTcuNDcyLTI2LjE3NmgtMTcuNDcyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTFkOyIgZ2x5cGgtbmFtZT0iaXQtYXBwLWlpcyIgZD0iTTg5Ni02NGM3MC44NDggMCAxMjggNTcuMTUyIDEyOCAxMjh2MjUyLjAzMmwtMzc5Ljk2OC0zODAuMDMyaDI1MS45Njh6TTg5NiA5NjBoLTc2OGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC44NDggNTcuMDg4LTEyOCAxMjgtMTI4aDQxNy45ODRsNDc4LjAxNiA0ODB2NDE2YzAgNzAuOTEyLTU3LjE1MiAxMjgtMTI4IDEyOHpNMzQwLjAzMiAzODkuMzc2YzAtMi4zMDQtMS43MjgtMy41Mi01LjI0OC0zLjUyLTYuOTc2IDAtMzAuMjcyIDEuNzI4LTgwLjg5NiAxLjcyOC01NS4yOTYgMC04MC4zMi0xLjcyOC04Ni43Mi0xLjcyOC0yLjg4IDAtNC42NzIgMS4yMTYtNC42NzIgMy41MnYxNS42OGMwIDIuMzY4IDEuNzI4IDMuNTIgNC42NzIgMy41MmgzMi41NzZjMTEuNjQ4IDAgMjMuODcyIDEuNzI4IDI2LjE3NiAxNi44OTYgMS4xNTIgOC43MDQgMi44OCAxMzQuNDY0IDIuODggMTY1LjI0OHY0MC43NjhjMCAxMy45NTItMS43MjggMTE4LjcyLTIuMzA0IDEyNy40ODgtMS4xNTIgMTMuOTUyLTYuOTc2IDE5Ljc3Ni0yOS4xMiAxOS43NzZoLTMzLjcyOGMtMi44OCAwLTQuNjA4IDEuMTUyLTQuNjA4IDMuNTJ2MTUuNjhjMCAyLjMwNCAxLjcyOCAzLjQ1NiA0LjAzMiAzLjQ1NiA2Ljk3NiAwIDM2LjY3Mi0xLjcyOCA5MC43NTItMS43MjggNTEuODQgMCA3MC40NjQgMS43MjggNzguNTkyIDEuNzI4IDIuODggMCA0LjAzMi0xLjcyOCA0LjAzMi00LjAzMnYtMTQuNTkyYzAtMi44OC0xLjcyOC00LjAzMi00LjY3Mi00LjAzMmgtMjcuMjY0Yy0xMS42NDggMC0yMC4zNTItNC42NzItMjAuMzUyLTE2LjMyIDAtNS44MjQtMS43MjgtMTM0LjQ2NC0xLjcyOC0xNDEuMzc2di00NC44NjRjMC01LjgyNCAxLjcyOC0xNDAuMjI0IDEuNzI4LTE0Ni42ODggMC0xOC4wNDggOC43MDQtMjAuOTkyIDI3LjMyOC0yMC45OTJoMjMuODcyYzIuODggMCA0LjY3Mi0xLjE1MiA0LjY3Mi00LjAzMnYtMTUuMTA0ek01NjEuNzI4IDM4OS4zNzZjMC0yLjMwNC0xLjcyOC0zLjUyLTUuMjQ4LTMuNTItNi45NzYgMC0zMC4yNzIgMS43MjgtODAuODk2IDEuNzI4LTU1LjI5NiAwLTgwLjMyLTEuNzI4LTg2LjcyLTEuNzI4LTIuODggMC00LjY3MiAxLjIxNi00LjY3MiAzLjUydjE1LjY4YzAgMi4zNjggMS43MjggMy41MiA0LjY3MiAzLjUyaDMyLjU3NmMxMS42NDggMCAyMy44NzIgMS43MjggMjYuMTc2IDE2Ljg5NiAxLjIxNiA4LjcwNCAyLjk0NCAxMzQuNDY0IDIuOTQ0IDE2NS4yNDh2NDAuNzY4YzAgMTMuOTUyLTEuNzI4IDExOC43Mi0yLjMwNCAxMjcuNDg4LTEuMTUyIDEzLjk1Mi02Ljk3NiAxOS43NzYtMjkuMTIgMTkuNzc2aC0zMy43OTJjLTIuODggMC00LjYwOCAxLjE1Mi00LjYwOCAzLjUydjE1LjY4YzAgMi4zMDQgMS43MjggMy40NTYgNC4wMzIgMy40NTYgNi45NzYgMCAzNi42NzItMS43MjggOTAuNzUyLTEuNzI4IDUxLjg0IDAgNzAuNCAxLjcyOCA3OC41OTIgMS43MjggMi44OCAwIDQuMDMyLTEuNzI4IDQuMDMyLTQuMDMydi0xNC41OTJjMC0yLjg4LTEuNzI4LTQuMDMyLTQuNjA4LTQuMDMyaC0yNy4yNjRjLTExLjY0OCAwLTIwLjM1Mi00LjY3Mi0yMC4zNTItMTYuMzIgMC01LjgyNC0xLjcyOC0xMzQuNDY0LTEuNzI4LTE0MS4zNzZ2LTQ0Ljg2NGMwLTUuODI0IDEuNzI4LTE0MC4yMjQgMS43MjgtMTQ2LjY4OCAwLTE4LjA0OCA4LjcwNC0yMC45OTIgMjcuMzI4LTIwLjk5MmgyMy44NzJjMi45NDQgMCA0LjY3Mi0xLjE1MiA0LjY3Mi00LjAzMnYtMTUuMTA0ek03NTUuMDA4IDM3OC44OGMtNDAuNzY4IDAtNjkuMjQ4IDEyLjIyNC05Mi40OCAzMC4zMzYtNi45NzYgNS4xODQtMTAuNDk2IDYuOTc2LTEzLjQ0IDYuOTc2LTMuNDU2IDAtNS44MjQtNC4wOTYtOS4zNDQtOS45Mi0zLjUyLTYuNC02LjQtNi45NzYtMTAuNDMyLTYuOTc2LTMuNTIgMC02LjQ2NCAyLjk0NC01LjI0OCA5LjM0NCAyLjMwNCAxNC40NjQgOC4xMjggODguNDQ4IDkuODU2IDEwNS4yOCAwLjY0IDMuNDU2IDEuNzI4IDMuNDU2IDQuMDMyIDMuNDU2bDguNzY4LTAuNTc2YzIuMzA0IDAgMy41Mi0xLjE1MiAzLjUyLTQuNjcyIDAuNTc2LTE4LjYyNCAxLjcyOC0zNy44MjQgMjAuOTI4LTY3LjUyIDE3LjQ3Mi0yNy4zMjggNDkuNDcyLTQzLjAwOCA4MS40NzItNDMuMDA4IDM0Ljk0NCAwIDc5LjE2OCAyMS41MDQgNzkuMTY4IDczLjg1NiAwIDU5Ljk2OC00My4xMzYgODIuMDQ4LTg5LjY2NCA5OC4zNjgtMTcuOTg0IDYuNC01OS45NjggMjAuOTI4LTg0LjkyOCA0Ny4xNjgtMTkuMjY0IDE5LjItMjkuMTIgNDYuNTkyLTI5LjEyIDg0Ljk5MiAwIDI5LjEyIDE4LjA0OCA1Ny42IDM2LjA5NiA3NC40OTYgMjAuOTI4IDE5Ljc3NiA0OS45ODQgMjcuOTY4IDgxLjQwOCAyNy45NjggMzMuMjE2IDAgNTguODE2LTkuOTIgNjguNjcyLTE0LjU5MiA1LjI0OC0yLjg4IDguMTI4LTIuMzA0IDExLjA3MiAwLjU3Nmw3LjU1MiA2Ljk3NmMyLjk0NCAyLjM2OCA0LjY3MiAzLjUyIDcuNTUyIDMuNTIgMi45NDQgMCA0LjY3Mi00LjY3MiA0LjY3Mi05Ljg1NiAwLTIwLjM1MiA3LjU1Mi03OS43NDQgOC4xMjgtOTIuNTQ0IDAtMi44OC0wLjU3Ni00LjAzMi0yLjg4LTQuNjcybC02Ljg0OC0xLjc5MmMtMS43MjgtMC41NzYtMi45NDQgMC0zLjUyIDEuNzI4LTQuNjcyIDE2Ljg5Ni0xMi4yMjQgMzkuNjE2LTM2LjA5NiA2NC41NzYtMTUuNjggMTYuODk2LTM2LjAzMiAyNS4wMjQtNjMuNDI0IDI1LjAyNC01MS43NzYgMC03MC40LTM4LjQtNzAuNC02OC4wOTYgMC0xNi4yNTYgMy40NTYtMzUuNTIgMTcuOTg0LTUwLjYyNCAxNi44OTYtMTYuODk2IDQ5LjQ3Mi0yOS42OTYgNjYuMzY4LTM0Ljk0NCA0MC4xOTItMTIuOCA3Mi43NjgtMjIuNjU2IDkzLjY5Ni00OC4zMiAxNS4xMDQtMTguMDQ4IDI1LjYtNDAuNzA0IDI1LjYtNzkuMTA0IDAtNjguNjA4LTQxLjg1Ni0xMjcuNDI0LTExOC43Mi0xMjcuNDI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTFlOyIgZ2x5cGgtbmFtZT0iaXQtYXBwLW1haWxzZXJ2ZXIiIGQ9Ik04OTYtNjRjNzAuODQ4IDAgMTI4IDU3LjE1MiAxMjggMTI4djI1Mi4wMzJsLTM3OS45NjgtMzgwLjAzMmgyNTEuOTY4ek03MjguODMyIDc2NC45OTJoLTQxOC42MjRsMjAxLjc5Mi0xNDAuOTkyek04MzIgNzg5LjMxMmwtMzE1Ljk2OC0yMjEuMzEyLTMxNi4wMzIgMjIwLjQxNnYtMzQ4LjQxNmg2MzJ6TTg5NiA5NjBoLTc2OGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC44NDggNTcuMDg4LTEyOCAxMjgtMTI4aDQxNy45ODRsNDc4LjAxNiA0ODB2NDE2YzAgNzAuOTEyLTU3LjE1MiAxMjgtMTI4IDEyOHpNODk2IDM3NmgtNzYwdjQ4MGg3NjB2LTQ4MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkxZjsiIGdseXBoLW5hbWU9Iml0LWFwcC13ZWJzcGhlcmUiIGQ9Ik04OTYtNjRjNzAuODQ4IDAgMTI4IDU3LjE1MiAxMjggMTI4djI1Mi4wMzJsLTM3OS45NjgtMzgwLjAzMmgyNTEuOTY4ek01OTkuNzQ0IDY3OS4zNmMtOS42NjQgMC0xNy42NjQtNC4zNTItMjQuMDY0LTEzLjE4NC02LjQ2NC04Ljc2OC05LjYtMjIuMDE2LTkuNi0zOS44NzIgMC0xOC40MzIgMi40OTYtMzIgNy40MjQtNDAuODMyIDYuOTc2LTEyLjQxNiAxNi4yNTYtMTguNjg4IDI3Ljg0LTE4LjY4OCA4Ljg5NiAwIDE2LjQ0OCA0LjQxNiAyMi42NTYgMTMuMzEyIDYuMjcyIDguODk2IDkuMzQ0IDIyLjg0OCA5LjM0NCA0MS45MiAwIDIwLjI4OC0zLjEzNiAzNC45NDQtOS40MDggNDMuOTA0cy0xNC40IDEzLjQ0LTI0LjE5MiAxMy40NHpNNDI1LjA4OCA2NzkuMzZjLTguODMyIDAtMTYuMDY0LTMuNzc2LTIxLjc2LTExLjItNS43Ni03LjQ4OC04LjU3Ni0xNy42LTguNDQ4LTMwLjQ2NGg2MC4xNmMtMC4zMiAxMy42MzItMy4zMjggMjMuOTM2LTkuMDI0IDMxLjA0MC01Ljc2IDcuMTA0LTEyLjczNiAxMC42MjQtMjAuOTI4IDEwLjYyNHpNODk2IDk2MGgtNzY4Yy03MC45MTIgMC0xMjgtNTcuMDg4LTEyOC0xMjh2LTc2OGMwLTcwLjg0OCA1Ny4wODgtMTI4IDEyOC0xMjhoNDE3Ljk4NGw0NzguMDE2IDQ4MHY0MTZjMCA3MC45MTItNTcuMTUyIDEyOC0xMjggMTI4ek0yOTcuNTM2IDUzMy42OTZoLTQ0LjkyOGwtNDEuODU2IDE4My4yOTYtNDEuNjY0LTE4My4yOTZoLTQ2LjAxNmwtNTAuMTEyIDI0NS4xODRoNDMuMzkybDMxLjY4LTE2OC4zODQgMzguNCAxNjguMzg0aDUwLjQzMmwzNi44LTE3MS4yNjQgMzIuMTkyIDE3MS4yNjRoNDIuNjg4bC01MS4wMDgtMjQ1LjE4NHpNNDAzLjkwNCA1NzYuMzg0YzYuMjA4LTcuNzQ0IDEzLjk1Mi0xMS42NDggMjMuMjMyLTExLjY0OCA2LjI3MiAwIDExLjU4NCAyLjA0OCAxNS45MzYgNi4wMTYgNC4yMjQgNC4wOTYgNy40ODggMTAuNTYgOS42NjQgMTkuNDU2bDQwLjEyOC03Ljg3MmMtNS4xODQtMTcuMTUyLTEzLjMxMi0zMC4yMDgtMjQuNDQ4LTM5LjIzMi0xMS4xMzYtOC45Ni0yNS4wMjQtMTMuNDQtNDEuNzI4LTEzLjQ0LTI2LjQ5NiAwLTQ2LjAxNiAxMC4wNDgtNTguNzUyIDMwLjI3Mi0xMC4wNDggMTYuMTkyLTE1LjA0MCAzNi42MDgtMTUuMDQwIDYxLjI0OCAwIDI5LjQ0IDYuNTkyIDUyLjQ4IDE5Ljc3NiA2OS4xODRzMjkuODI0IDI1LjAyNCA0OS45ODQgMjUuMDI0YzIyLjY1NiAwIDQwLjQ0OC04LjcwNCA1My41NjgtMjYuMTc2czE5LjMyOC00NC4xNiAxOC43NTItODAuMTkyaC0xMDAuODY0YzAuMzItMTQuMDE2IDMuNTItMjQuODk2IDkuNzkyLTMyLjY0ek02NTYuMTI4IDU1NC4yNGMtMTIuMzUyLTE2LjM4NC0yNy40NTYtMjQuNTc2LTQ1LjA1Ni0yNC41NzYtOC43MDQgMC0xNy4yOCAyLjU2LTI1LjcyOCA3LjYxNnMtMTUuODA4IDEyLjU0NC0yMS44MjQgMjIuNTI4di0yNi4xMTJoLTM3LjQ0djI0NS4xODRoNDAuMzJ2LTg4LjMyYzEyLjM1MiAxNi41MTIgMjcuMTM2IDI0Ljc2OCA0NC4wOTYgMjQuNzY4IDE4LjQ5NiAwIDMzLjc5Mi03LjgwOCA0NS45NTItMjMuNDg4IDEyLjA5Ni0xNS42OCAxOC4xNzYtMzguMTQ0IDE4LjE3Ni02Ny40NTYgMC0zMC40LTYuMjA4LTUzLjc2LTE4LjQ5Ni03MC4xNDR6TTg1Ni43MDQgNTY2LjA4MGMtNi40LTExLjU4NC0xNS41NTItMjAuNTQ0LTI3LjU4NC0yNi45NDRzLTI1LjQ3Mi05LjYtNDAuNDQ4LTkuNmMtMTkuMDcyIDAtMzQuOTQ0IDMuMjY0LTQ3LjgwOCA5LjcyOC0xMi44IDYuNDY0LTIyLjkxMiAxNi4xOTItMzAuMjcyIDI5LjE4NC03LjIzMiAxMi45OTItMTEuMTM2IDI3LjY0OC0xMS41MiA0NC4wMzJsMjYuMTc2IDIuNjg4YzEuMjgtMTIuMjI0IDQuMDk2LTIyLjMzNiA4LjcwNC0zMC4yMDggNC41NDQtNy44NzIgMTEuNTg0LTE0LjIwOCAyMS4xMi0xOS4wNzJzMjAuMjg4LTcuMjk2IDMyLjI1Ni03LjI5NmMxMC41NiAwIDE5Ljk2OCAxLjg1NiAyOC4wMzIgNS41MDRzMTQuMjA4IDguNzA0IDE4LjExMiAxNS4xMDRjNC4wMzIgNi40NjQgNS45NTIgMTMuMzc2IDUuOTUyIDIwLjk5MiAwIDcuNjgtMS44NTYgMTQuNC01LjY5NiAyMC4xNi0zLjkwNCA1Ljc2LTEwLjExMiAxMC41Ni0xOC45NDQgMTQuNDY0LTUuNjMyIDIuNTYtMTguMTEyIDYuNTkyLTM3LjM3NiAxMS45NjgtMTkuMzI4IDUuMzc2LTMyLjgzMiAxMC40OTYtNDAuNTc2IDE1LjI5Ni05Ljk4NCA2LjE0NC0xNy40NzIgMTMuNzYtMjIuNDY0IDIyLjg0OC00Ljg2NCA5LjA4OC03LjM2IDE5LjI2NC03LjM2IDMwLjUyOCAwIDEyLjM1MiAzLjAwOCAyMy45MzYgOS4wODggMzQuNjg4IDYuMDE2IDEwLjc1MiAxNC43ODQgMTguOTQ0IDI2LjMwNCAyNC41MTIgMTEuNTg0IDUuNTY4IDI0LjQ0OCA4LjM4NCAzOC41OTIgOC4zODQgMTUuNTUyIDAgMjkuMzEyLTIuOTQ0IDQxLjIxNi04Ljc2OHMyMS4wNTYtMTQuNDY0IDI3LjQ1Ni0yNS44NTYgOS43OTItMjQuMjU2IDEwLjMwNC0zOC42NTZsLTI2LjYyNC0yLjM2OGMtMS40MDggMTUuNDg4LTYuMzM2IDI3LjItMTQuNTkyIDM1LjEzNnMtMjAuNDE2IDExLjkwNC0zNi42MDggMTEuOTA0Yy0xNi44MzIgMC0yOS4wNTYtMy41ODQtMzYuNzM2LTEwLjgxNi03LjY4LTcuMTY4LTExLjUyLTE1Ljg3Mi0xMS41Mi0yNS45ODQgMC04LjgzMiAyLjY4OC0xNi4wNjQgOC4xOTItMjEuNzYgNS4zMTItNS42OTYgMTkuMzI4LTExLjUyIDQxLjg1Ni0xNy40NzJzMzguMDgwLTExLjIgNDYuNTI4LTE1LjYxNmMxMi4xNi02LjU5MiAyMS4yNDgtMTQuOTEyIDI3LjA3Mi0yNS4wMjRzOC43NjgtMjEuNjk2IDguNzY4LTM0Ljg4YzAtMTIuOTkyLTMuMi0yNS4yOC05LjYtMzYuOHpNOTM3LjYgNTMzLjY5NmgtMjkuMzc2djM0LjMwNGgyOS4zNzZ2LTM0LjMwNHpNMTAxOS4yIDUzMy42OTZoLTI5LjM3NnYzNC4zMDRoMjkuMzc2di0zNC4zMDR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MjA7IiBnbHlwaC1uYW1lPSJpdC1hcHAtYXBhY2hlIiBkPSJNODk2LTY0YzcwLjg0OCAwIDEyOCA1Ny4xNTIgMTI4IDEyOHYyNTIuMDMybC0zNzkuOTY4LTM4MC4wMzJoMjUxLjk2OHpNNDUwLjY4OCA3MDQuMzg0Yy0xNC42NTYgMC0yNy42NDgtNi44NDgtMzguODQ4LTIwLjU0NHMtMTYuODk2LTMzLjUzNi0xNi44OTYtNTkuNjQ4YzAtMjYuMTEyIDUuMzEyLTQ1LjM3NiAxNS44NzItNTcuODU2czIzLjM2LTE4LjY4OCAzOC40LTE4LjY4OGMxNS4yOTYgMCAyOC4zNTIgNi40NjQgMzkuMjMyIDE5LjM5MiAxMC45NDQgMTIuOTI4IDE2LjM4NCAzMi45NiAxNi4zODQgNjAuMDMyIDAgMjUuODU2LTUuMzEyIDQ1LjE4NC0xNiA1OC4wNDhzLTIzLjM2IDE5LjI2NC0zOC4xNDQgMTkuMjY0ek0yMDMuMiA3NzQuNTI4Yy0zLjU4NC0xNy45Mi04LjU3Ni0zNS43NzYtMTUuMDQwLTUzLjQ0bC0zMC43Mi04Mi4xMTJoOTQuOTEybC0yOS4zMTIgNzcuNDRjLTguODk2IDIzLjU1Mi0xNS40ODggNDIuOTQ0LTE5Ljg0IDU4LjExMnpNNjI0LjY0IDYwNS44ODhjLTUuODg4LTIuNTYtMTAuMzY4LTYuMjcyLTEzLjU2OC0xMS4ycy00LjczNi0xMC4zNjgtNC43MzYtMTYuMzJjMC05LjIxNiAzLjQ1Ni0xNi44MzIgMTAuMzY4LTIyLjkxMnMxNy4xNTItOS4xNTIgMzAuNTI4LTkuMTUyYzEzLjI0OCAwIDI1LjAyNCAyLjg4IDM1LjMyOCA4LjcwNHMxNy44NTYgMTMuNjk2IDIyLjcyIDIzLjgwOGMzLjcxMiA3Ljc0NCA1LjUwNCAxOS4yIDUuNTA0IDM0LjM2OHYxMi41NDRjLTEyLjQxNi01LjEyLTMxLjE2OC05LjQwOC01Ni4xMjgtMTIuOTkyLTE0LjE0NC0yLjA0OC0yNC4xMjgtNC4zNTItMzAuMDE2LTYuODQ4ek04OTYgOTYwaC03NjhjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuODQ4IDU3LjA4OC0xMjggMTI4LTEyOGg0MTcuOTg0bDQ3OC4wMTYgNDgwdjQxNmMwIDcwLjkxMi01Ny4xNTIgMTI4LTEyOCAxMjh6TTI5Ni4zODQgNTIzLjk2OGwtMzIuNjQgODQuOGgtMTE3LjA1NmwtMzAuNzItODQuOGgtMzkuMzZsMTA3LjUyIDI4MGgzOS44NzJsMTE0LjU2LTI4MGgtNDIuMTc2ek01MjguNzA0IDU3MC44MTZjLTcuNDI0LTE2LjU3Ni0xOC4yNC0yOS4zNzYtMzIuNDQ4LTM4LjIwOC0xNC4yNzItOC44MzItMjkuMTItMTMuMzEyLTQ0LjgtMTMuMzEyLTExLjQ1NiAwLTIxLjc2IDIuNDMyLTMwLjc4NCA3LjI5Ni05LjE1MiA0Ljg2NC0xNi42NCAxMC45NDQtMjIuNDY0IDE4LjM2OHYtOTguNjg4aC0zNC4zNjh2MjgwLjQ0OGgzMS4yOTZ2LTI2LjM2OGM3LjQyNCAxMC4zNjggMTUuNjggMTguMTEyIDI1LjAyNCAyMy4yMzJzMjAuNTQ0IDcuNzQ0IDMzLjc5MiA3Ljc0NGMxNy4zNDQgMCAzMi41NzYtNC40OCA0NS44MjQtMTMuMzc2czIzLjIzMi0yMS40NCAzMC4wMTYtMzcuNjk2YzYuNzItMTYuMTkyIDEwLjExMi0zNC4wNDggMTAuMTEyLTUzLjM3NiAwLTIwLjczNi0zLjc3Ni0zOS40MjQtMTEuMi01Ni4wNjR6TTcyMC41MTIgNTIzLjk2OGMtMy41ODQgNy4xMDQtNS44ODggMTUuNDg4LTYuODQ4IDI1LjAyNC0xMi43MzYtMTAuODE2LTI1LjAyNC0xOC40OTYtMzYuNzM2LTIyLjkxMi0xMS44NC00LjQxNi0yNC40NDgtNi42NTYtMzcuOTUyLTYuNjU2LTIyLjI3MiAwLTM5LjM2IDUuNDQtNTEuMzkyIDE2LjMyLTExLjk2OCAxMC44MTYtMTcuOTg0IDI0LjcwNC0xNy45ODQgNDEuNjY0IDAgOS45MiAyLjI0IDE5LjAwOCA2Ljc4NCAyNy4yIDQuNDggOC4xOTIgMTAuNDMyIDE0Ljc4NCAxNy43MjggMTkuNzc2IDcuMzYgNC45MjggMTUuNjE2IDguNzY4IDI0Ljc2OCAxMS4yNjQgNi43MiAxLjc5MiAxNi45NiAzLjUyIDMwLjU5MiA1LjE4NCAyNy43NzYgMy4zMjggNDguMTkyIDcuMjMyIDYxLjMxMiAxMS44NCAwLjEyOCA0LjczNiAwLjE5MiA3LjY4IDAuMTkyIDguOTYgMCAxNC4wMTYtMy4yNjQgMjMuODcyLTkuNzI4IDI5LjYzMi04Ljc2OCA3Ljc0NC0yMS44MjQgMTEuNjQ4LTM5LjEwNCAxMS42NDgtMTYuMTkyIDAtMjguMDk2LTIuODE2LTM1Ljg0LTguNTEyLTcuNjgtNS42MzItMTMuMzc2LTE1LjY4LTE3LjA4OC0zMC4wODBsLTMzLjY2NCA0LjU0NGMzLjA3MiAxNC40IDguMDY0IDI2LjA0OCAxNS4wNDAgMzQuODhzMTcuMTUyIDE1LjY4IDMwLjQgMjAuNDE2YzEzLjI0OCA0LjczNiAyOC41NDQgNy4xNjggNDYuMDgwIDcuMTY4IDE3LjM0NCAwIDMxLjM2LTIuMDQ4IDQyLjE3Ni02LjE0NCAxMC44MTYtNC4wMzIgMTguNzUyLTkuMjE2IDIzLjg3Mi0xNS4zNiA1LjA1Ni02LjE0NCA4LjY0LTEzLjk1MiAxMC42ODgtMjMuMzYgMS4xNTItNS44ODggMS42NjQtMTYuNDQ4IDEuNjY0LTMxLjc0NHYtNDUuODI0YzAtMzIgMC43NjgtNTIuMTYgMi4yNC02MC42NzIgMS40MDgtOC40NDggNC4yODgtMTYuNTc2IDguNzA0LTI0LjMyaC0zNS45MDR6TTg0Ny43NDQgNTIzLjk2OGgtMzkuMTY4djM5LjEwNGgzOS4xNjh2LTM5LjEwNHpNOTU2LjM1MiA1MjMuOTY4aC0zOS4xNjh2MzkuMTA0aDM5LjE2OHYtMzkuMTA0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTIxOyIgZ2x5cGgtbmFtZT0iaXQtYXBwLWpib3NzIiBkPSJNOTAwLjAzMiA5NjMuOTY4aC03NjhjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuODQ4IDU3LjA4OC0xMjggMTI4LTEyOGg0MTcuOTg0bDQ3OC4wMTYgNDgwdjQxNmMwIDcwLjkxMi01Ny4xNTIgMTI4LTEyOCAxMjh6TTM2MS4xNTIgNTU2Ljg2NGMwLTQwLjI1Ni00Ljg2NC03MS40MjQtMTQuNTkyLTkzLjUwNHMtMjUuMTUyLTM4Ljk3Ni00Ni4yNzItNTAuNTZjLTIxLjEyLTExLjUyLTQ1Ljg4OC0xNy4zNDQtNzQuMzA0LTE3LjM0NC00Mi4yNCAwLTc0LjU2IDEyLjA5Ni05Ni45NiAzNi4zNTItMjIuNDY0IDI0LjMyLTMzLjIxNiA2MC40MTYtMzIuMzIgMTA4LjI4OGw1Ny40MDggNy44NzJjMS41MzYtMzYuNzM2IDguNDQ4LTYxLjg4OCAyMC42NzItNzUuNDU2czI5LjI0OC0yMC4zNTIgNTAuODgtMjAuMzUyYzE2IDAgMjkuNzYgMy43MTIgNDEuMzQ0IDExLjAwOHMxOS41ODQgMTcuMjggMjMuOTM2IDI5LjgyNGM0LjM1MiAxMi42MDggNi41MjggMzIuNzA0IDYuNTI4IDYwLjI4OHYzMzEuMzI4aDYzLjY4di0zMjcuNzQ0ek04MTEuNTIgNDgwLjI1NmMtOS40NzItMTkuMzkyLTIxLjI0OC0zNC4zMDQtMzUuMjY0LTQ0LjhzLTMxLjU1Mi0xOC40MzItNTIuNjcyLTIzLjc0NGMtMjEuMTItNS4zNzYtNDYuOTEyLTguMDY0LTc3LjU2OC04LjA2NGgtMTgzLjQyNHY0ODAuOTZoMTgwLjQxNmMzNi43MzYgMCA2Ni4yNC00Ljg2NCA4OC40NDgtMTQuNTkyczM5LjYxNi0yNC43MDQgNTIuMTYtNDQuOTI4YzEyLjU0NC0yMC4yMjQgMTguODgtNDEuNDA4IDE4Ljg4LTYzLjQ4OCAwLTIwLjU0NC01LjU2OC0zOS45MzYtMTYuNzY4LTU4LjA0OC0xMS4xMzYtMTguMTc2LTI4LjAzMi0zMi44MzItNTAuNDk2LTQzLjk2OCAyOS4wNTYtOC41MTIgNTEuNDU2LTIzLjEwNCA2Ny4wNzItNDMuNjQ4czIzLjQyNC00NC44NjQgMjMuNDI0LTcyLjgzMmMwLTIyLjU5Mi00LjczNi00My41Mi0xNC4yMDgtNjIuODQ4ek03MDcuODQgNjE3LjcyOGMtMTYuMzIgNS4zMTItMzkuNzQ0IDgtNzAuNCA4aC0xMTEuMjMydi0xNjUuMzc2aDExOS44MDhjMjAuNTQ0IDAgMzUuMDA4IDAuNzY4IDQzLjMyOCAyLjMwNCAxNC42NTYgMi42MjQgMjYuODggNi45NzYgMzYuNzM2IDEzLjEyIDkuNzkyIDYuMTQ0IDE3Ljg1NiAxNS4wNDAgMjQuMjU2IDI2Ljc1MnM5LjQ3MiAyNS4yMTYgOS40NzIgNDAuNTEyYzAgMTcuOTItNC41NDQgMzMuNTM2LTEzLjc2IDQ2Ljc4NC05LjE1MiAxMy4yNDgtMjEuOTUyIDIyLjUyOC0zOC4yMDggMjcuOTA0ek02OTAuOTQ0IDY4OC4wNjRjMTYuMTkyIDQuOCAyOC4zNTIgMTIuOCAzNi41NDQgMjRzMTIuMjg4IDI1LjE1MiAxMi4yODggNDEuOTg0YzAgMTUuOTM2LTMuODQgMzAuMDE2LTExLjUyIDQyLjE3Ni03LjYxNiAxMi4wOTYtMTguNTYgMjAuNDE2LTMyLjgzMiAyNC45Ni0xNC4yMDggNC40OC0zOC41OTIgNi43Mi03My4xNTIgNi43MmgtOTYuMDY0di0xNDUuMzQ0aDEwNGMyOC4yMjQgMCA0OC40NDggMS43OTIgNjAuNzM2IDUuNTA0ek05MDAuMDMyLTYwLjAzMmM3MC44NDggMCAxMjggNTcuMTUyIDEyOCAxMjh2MjUyLjAzMmwtMzc5Ljk2OC0zODAuMDMyaDI1MS45Njh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MjI7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1hMTBiYWxhIiBkPSJNMzk5Ljk2NSA2MTkuMjg3aC0xNzIuMTI1bC0yMjcuODQtMzg3LjM5OCA4OC4zNDMtMi41NiA1MS4yOTMgMTAwLjExOWgyMjMuMTM5bDQxLjA1My05OS45OGgxODIuMTMybC0xODUuOTk2IDM4OS44MTh6TTE3My4wMDkgMzk4LjYxNWw4Mi4wNjAgMTM4LjYxMiA3My4xMjMtMTM4LjUxOS0xNTUuMTgzLTAuMDkzek01OTAuOTg4IDUzMy4zNjRsMTAwLjExOSA0NC44N2gyOS41MXYtMzQzLjY5MmgtODUuODc2djI0My42NjVoLTQyLjM1NnpNOTcwLjc5OSA1NzguMjM0aC0xNTAuMzg4Yy0yOC4yMDcgMC01MS4xNTMtMjIuODU0LTUxLjE1My01MS4xMDd2LTI0MS40NzhjMC0yOC4yNTMgMjIuOS01MS4xNTMgNTEuMTUzLTUxLjE1M2gxNTAuMzg4YzI4LjIwNyAwIDUxLjE1MyAyMi44NTQgNTEuMTUzIDUxLjE1M3YyNDEuNTI0YzAgMjguMjA3LTIyLjg1NCA1MS4wNjAtNTEuMTUzIDUxLjA2MHpNOTQxLjE5NiAzMjQuMjgyYzAtMjQuNzE2LTIwLjE1NC00NC44Ny00NC44Ny00NC44Ny0yNC43NjIgMC00NC45MTYgMjAuMTU0LTQ0LjkxNiA0NC44N3YxNjEuNjUyYzAgMjQuODA5IDIwLjE1NCA0NC44NyA0NC45MTYgNDQuODcgMjQuNzE2IDAgNDQuODctMjAuMDYxIDQ0Ljg3LTQ0Ljg3di0xNjEuNjUyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTIzOyIgZ2x5cGgtbmFtZT0iaXQtY2x1c3Rlci12Y3MiIGQ9Ik04NiA5NjB2LTgwaDI2OHYtMzI0aDE0MHYtOTJoLTIwOHYzNDZoLTI4NnYtODc0aDI4NnYzODhoMjA4di0zNGgyODZ2NTIwaC0yODZ2LTE3MmgtODB2MzIyek01ODAgOTYwdi04MGgyNjR2LTU5MGg2MHY2NzB6TTY5MCAyMjEuNDIyYy0zNC44NjEtMC4wMDEtNjIuNjA4LTEyLjY4OC04NC0zOHMtMzItNjAuMjUtMzItMTA2YzAtNDMuMjUgMTAuNzIxLTc3LjA2MSAzMi0xMDJzNDguOTUtMzggODItMzhjMjYuNzExIDAgNDguNjI2IDcuNDM5IDY2IDIyczI4LjUzIDM2IDM2IDY2bC00OCAxOGMtNC4xODgtMjAuMTI1LTEyLjM3OS0zNC42MjQtMjItNDQtOS42MjEtOS4zNTYtMjAuNjQ0LTE0LTM0LTE0LTE4LjExIDAtMzIuNjgyIDcuMjUtNDQgMjJzLTE2IDM5LjI1LTE2IDc0YzAgMzIuNzUgNC41MTIgNTUuMzc1IDE2IDcwczI3LjU1MSAyMS45OTkgNDYgMjJjMTMuMzU2LTAuMDAxIDI0LjY2Mi0zLjc1IDM0LTEyczE1LjA1Ny0xOS43NSAxOC0zNGw1MCAxNGMtNS42NiAyMS45OTktMTQuNjgyIDM4LjI0OS0yNiA1MC0xOS4wMTUgMTkuODc1LTQzLjU1MyAyOS45OTktNzQgMzB6TTkyMCAyMjEuNDIyYy0xOS4xMjgtMC4wMDEtMzQuNDc0LTMuNjI0LTQ4LTEwcy0yNC44MTMtMTUuODEyLTMyLTI4Yy03LjE4Ny0xMi4xODgtMTAtMjQtMTAtMzggMC0yMS43NSA2LjcyLTQwLjg3NSAyMi01NiAxMC44NjYtMTAuNzUgMzEuMDYyLTIwLjYyNSA1OC0yOCAyMC45MzktNS43NTEgMzQuMTE0LTkuNzQ3IDQwLTEyIDguNjAyLTMuMzc1IDE0LjU0OC03LjQ0IDE4LTEyIDMuNDUyLTQuNTYzIDYtOS41MDMgNi0xNiAwLTEwLjEyNS01Ljc5NS0xOC40MzQtMTQtMjYtOC4yMDYtNy41NzMtMTkuODE1LTEyLTM2LTEyLTE1LjI4IDAtMjcuMDAyIDUuNDk5LTM2IDE0LTguOTk4IDguNDk3LTE1LjA1NyAyMS44NzUtMTggNDBsLTUwLTZjMy4yODMtMzAuNzUgMTUuMTM1LTUzLjkzOSAzMi03MCAxNi44NjUtMTYuMDY4IDQwLjUzNS0yNCA3Mi0yNCAyMS42MTggMCAzOS41MTIgMy4zNDEgNTQgMTAgMTQuNDg3IDYuNjg1IDI2LjA3NyAxNi4yNTMgMzQgMzBzMTIgMjguMjUgMTIgNDRjMCAxNy4zNzUtMy4zNzkgMzIuMTg4LTEwIDQ0cy0xNi4yODYgMjEuMTg3LTI4IDI4Yy0xMS43MTUgNi44MTMtMjkuNTUyIDEzLjYyNC01NCAyMC0yNC40NDggNi4zNzQtMzkuNjYyIDEyLjEyMi00NiAxOC00Ljk4IDQuNjI1LTggMTEuNDk2LTggMTggMCA3LjEyNSAyLjY4IDExLjc0OSA4IDE2IDguMjYyIDYuNjIyIDE5LjM5OSAxMCAzNCAxMCAxNC4xNDggMCAyNC45MjYtMy44MTIgMzItMTBzMTEuODUtMTUuODc1IDE0LTMwbDUwIDJjLTAuNzkyIDI1LjI1LTguMjExIDQ2Ljg3NC0yNCA2Mi0xNS43ODkgMTUuMTI0LTQwLjc2MSAyMS45OTktNzIgMjJ6TTMyNCAyMTcuNDIybDkwLTI3Nmg1NGw4OCAyNzZoLTUybC02Mi0yMDQtNjIgMjA0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTI0OyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtaHBldmEiIGQ9Ik05NiA5NjBjLTUzLjQxMSAwLTk2LTQ2Ljg0MS05Ni0xMDZ2LTM1NGMwLTU5LjE1OSA0Mi41ODktMTA4IDk2LTEwOGg4MzJjNTMuNDExIDAgOTYgNDguODQxIDk2IDEwOHYzNTRjMCA1OS4xNTktNDIuNTg5IDEwNi05NiAxMDZoLTgzMnpNNzYgODg2aDg3MnYtNDIwaC04NzJ2NDIwek0xMjggODEydi0xMzJoMzM4djEzMmgtMzM4ek01NDYgODEydi0xMzJoMzM4djEzMmgtMzM4ek0xMjYgNjM0di0xMzBoMzM4djEzMGgtMzM4ek01NDYgNjM0di0xMzBoMzM4djEzMGgtMzM4ek02OCAzNDR2LTMyMmgyNDR2NTRoLTE4MHY4OGgxNjJ2NTRoLTE2MnY3MmgxNzR2NTRoLTIzOHpNMzM0IDM0NGwxMTYtMzIyaDY4bDExNiAzMjJoLTcwbC03OC0yMzgtODIgMjM4aC03MHpNNzU4IDM0NGwtMTI0LTMyMmg2OGwyOCA3NGgxMjhsMjgtNzRoNzBsLTEyOCAzMjJoLTcwek03OTIgMjY4bDQ0LTExOGgtODZsNDIgMTE4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTI1OyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtenRlIiBkPSJNOTYgOTYwYy01My40MTEgMC05Ni00Ni44NDEtOTYtMTA2di0zNTRjMC01OS4xNTkgNDIuNTg5LTEwOCA5Ni0xMDhoODMyYzUzLjQxMSAwIDk2IDQ4Ljg0MSA5NiAxMDh2MzU0YzAgNTkuMTU5LTQyLjU4OSAxMDYtOTYgMTA2ek03NiA4ODZoODcydi00MjBoLTg3MnpNMTI4IDgxMnYtMTMyaDMzOHYxMzJ6TTU0NiA4MTJ2LTEzMmgzMzh2MTMyek0xMjYgNjM0di0xMzBoMzM4djEzMHpNNTQ2IDYzNHYtMTMwaDMzOHYxMzB6TTE0MiAzMzQuNzQ2di01NmgxNDJsLTE2MC0yMjB2LTYyaDI0NnY1OGgtMTcybDE2NiAyMjh2NTJ6TTM4OCAzMzQuNzQ2di01Nmg5MHYtMjgyaDYydjI4Mmg5MHY1NnpNNjcwIDMzNC43NDZ2LTMzOGgyMzB2NThoLTE3MHY5MmgxNTJ2NTZoLTE1MnY3NmgxNjR2NTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MjY7IiBnbHlwaC1uYW1lPSJpdC1maXJld2FsbC1oM2MiIGQ9Ik02OCA5NjBjLTM3LjcyOCAwLTY4LTMwLjI3Mi02OC02OHYtODg4YzAtMzcuNzI4IDMwLjI3Mi02OCA2OC02OGg4ODhjMzcuNzI4IDAgNjggMzAuMjcyIDY4IDY4djg4OGMwIDM3LjcyOC0zMC4yNzIgNjgtNjggNjhoLTg4OHpNMjQyIDg5NmgxMDR2LTExMmgzNTJ2MTEyaDEwMnYtMTEyaDE2MHYtNTZoLTE4di0xNzZoMTh2LTQ5MGgtMTYwdi02MmgtMTAydjYyaC0zNTJ2LTYyaC0xMDR2NjJoLTE3OHY0OTBoMzIwdjE3NmgtMzIwdjU2aDE3OHYxMTJ6TTQ4OCA3Mjh2LTE3NmgzNTJ2MTc2aC0zNTJ6TTc2OCA0ODBjLTM5LjU4NiAwLTcxLjcwOS0xNi40NjktOTYtNDZzLTM2LTcwLjYyNS0zNi0xMjRjMC01MC40NTggMTEuODM3LTg4LjkwNiAzNi0xMThzNTYuNDctNDQgOTQtNDRjMzAuMzMyIDAgNTQuMjcxIDcuMDEwIDc0IDI0czMzLjUxNyA0MyA0MiA3OGwtNTQgMjBjLTQuNzU2LTIzLjQ3OS0xMy4wNzYtMzkuMDYzLTI0LTUwcy0yNC44MzQtMTgtNDAtMThjLTIwLjU2NCAwLTM3LjE0OCA4Ljc5Mi01MCAyNnMtMTggNDcuNDU4LTE4IDg4YzAgMzguMjA4IDQuOTU1IDY0LjkzNyAxOCA4MnMzMS4wNTAgMjYgNTIgMjZjMTUuMTY2IDAgMjcuMzk2LTQuMzc1IDM4LTE0czE4LjY1OC0yMy4zNzUgMjItNDBsNTYgMTZjLTYuNDI3IDI1LjY2Ni0xNy4xNDggNDQuMjkxLTMwIDU4LTIxLjU5MyAyMy4xODctNDkuNDI3IDM2LTg0IDM2ek0xNDIgNDc0di0zMjJoNTZ2MTQyaDExMnYtMTQyaDU4djMyMmgtNTh2LTEyNmgtMTEydjEyNmgtNTZ6TTUwNCA0NzRjLTE1LjU1MiAwLTI5LjQ2OS0zLjM2NS00Mi0xMHMtMjIuOTk1LTE0LjQwNy0zMC0yNmMtNy4wMDUtMTEuNTk0LTEyLjUzLTI2LjYwNC0xNi00Nmw1MC0xMGMxLjQxNCAxNCA1LjQ0NSAyNC43MDggMTIgMzJzMTQuNzQ2IDEwIDI0IDEwYzkuMzgyIDAgMTYuMzQ1LTMuNTg0IDIyLTEwczEwLTE1LjIwOSAxMC0yNmMwLTEyLjY4OC00LjI4OS0yMi4zNDQtMTItMzBzLTE5LjM0OC0xMC40MzgtMzQtMTBsLTYtNTBjOS42MzkgMy4wNjIgMTkuMDYwIDQgMjYgNCAxMC41MzkgMCAxOC42NzQtNC45NTkgMjYtMTRzMTAtMjAuNTQyIDEwLTM2YzAtMTYuMzMzLTIuMzUzLTMwLjM3NS0xMC00MHMtMTYuODE4LTE0LTI4LTE0Yy0xMC40MTEgMC0yMC42NzQgMy45NzktMjggMTJzLTEwLjMyOSAyMC44MzMtMTIgMzZsLTU0LThjMi42OTktMjYuOTc5IDEzLjE2My00OS4zMDIgMzAtNjZzMzguNDIzLTI0IDY0LTI0YzI2Ljk5IDAgNDkuODc4IDEwLjE2NyA2OCAzMHMyNiA0My44NTQgMjYgNzJjMCAxOS4zOTYtNC4yOTcgMzQuMjkyLTE0IDQ4cy0yMS44MDYgMjQuMDYyLTM4IDI4YzI3LjExOSAxNi43NzEgNDAgMzcuODU0IDQwIDY2IDAgMTkuODMzLTYuNzYyIDM4LjI1LTIwIDU0LTE2LjA2NiAxOS4yNS0zNy4zOTUgMjgtNjQgMjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Mjc7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1pYm0tYmxhZGUiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di00MTBoMTAyNHY0MTBjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek05MiA4NzJoNzJ2LTQwOGgtNzJ2NDA4ek0yMzIgODcyaDE0MmMyOC4yNDctMC4wMDEgNTAuMTItMS4zMTIgNjQtNHMyNy4wNDItNy40NjkgMzgtMTZjMTAuOTU4LTguNTMyIDE4LjY5NC0xOS44MTIgMjYtMzRzMTItMzAuMzgxIDEyLTQ4YzAtMTkuMTAzLTQuOTktMzYuMDUwLTE0LTUycy0yMC41NzgtMjguMDI1LTM2LTM2YzIxLjc1My03LjIzMyAzOC4zMTEtMjAuNTY2IDUwLTM4czE2LTM2LjQ0NSAxNi02MGMwLTE4LjU0Ny0yLjQ1MS0zNi40NzMtMTAtNTRzLTE4LjkzMi0zMS41MjEtMzItNDJjLTEzLjA2OS0xMC40NzktMjguODQ0LTE3LjU4OS00OC0yMC0xMi4wMTMtMS40ODQtNDAuMDU4LTMuNjI0LTg2LTRoLTEyMnY0MDh6TTU5MiA4NzJoMTA4bDY0LTI3OCA2NCAyNzhoMTA4di00MDhoLTY4djMyMmwtNzAtMzIyaC03MGwtNzAgMzIydi0zMjJoLTY2djQwOHpNMzA0IDgwNHYtOTRoNDhjMjguMDg1LTAuMDAxIDQ1LjE4MSAxLjA5MCA1MiAyIDEyLjMzOCAxLjY2OSAyMC45MzggNS45MzQgMjggMTQgNy4wNjIgOC4wNjggMTIgMTguODMyIDEyIDMyIDAgMTIuNjEyLTMuOTEyIDI0LjExNy0xMCAzMnMtMTMuOTg3IDEyLjMzMS0yNiAxNGMtNy4xNDMgMC45My0yOC4wNzEgMC02MiAwaC00MnpNMzA0IDY0MnYtMTA4aDY2YzI1Ljk3NCAwIDQzLjAxOSAwLjMzMSA1MCAyIDEwLjcxNCAyLjIyMyAxOS4yNjMgNy4zNzUgMjYgMTZzMTAgMjEuNTM0IDEwIDM2YzAgMTIuMjQxLTIuODA1IDIxLjQ2OC04IDMwcy0xMi4xNzkgMTQuMTA1LTIyIDE4Yy05LjgyMiAzLjg5Mi0zMS4yMDcgNi02NCA2aC01OHpNMzk2IDM2NnYtMjc0aDk0YzM1LjM3NSAwLjI1NiA1Ni43NSAwLjk3NiA2NiAyIDE0Ljc1IDEuNjI2IDI3LjkzNyA0Ljk0MSAzOCAxMiAxMC4wNjIgNy4wNjYgMTguMTg3IDE2LjE4NiAyNCAyOHM4IDI1LjUwMSA4IDM4YzAgMTUuODc4LTMgMjguMjUtMTIgNDBzLTIzLjI1IDIxLjEzNi00MCAyNmMxMS44NzUgNS4zNyAyMS4wNjIgMTMuMjQ4IDI4IDI0IDYuOTM3IDEwLjc0NiAxMiAyMy4xMjMgMTIgMzYgMCAxMS44NzItNC4zNzUgMjIuNDM4LTEwIDMycy0xMS41NjMgMTYuMjQtMjAgMjJjLTguNDM4IDUuNzc5LTE5LjMxMyAxMC4yMDgtMzAgMTJzLTI2LjI1IDItNDggMmgtMTEwek00NTIgMzIwaDMyYzI2LjEyNSAwIDQyLjUgMC42NCA0OCAwIDkuMjUtMS4xMjYgMTUuMzEyLTQuNjg4IDIwLTEwczgtMTEuNDk0IDgtMjBjMC04Ljg3LTIuNTYzLTE2LjU2LTgtMjItNS40MzgtNS40MjctMTQuNS04Ljg0OC0yNC0xMC01LjI1LTAuOTYtMTguMzc1IDAtNDAgMGgtMzZ2NjJ6TTQ1MiAyMTJoNDRjMjUuMjUgMCA0Mi40MzctMS4zNzYgNTAtNHMxNC04LjI0IDE4LTE0YzQtNS43NTQgNi0xMS43NSA2LTIwIDAtOS43NTQtMi44MTMtMTguMTc2LTgtMjQtNS4xODgtNS43ODYtMTEuNzUtOC40NjQtMjAtMTAtNS4zNzUtMS4wMjQtMTgtMi0zOC0yaC01MnY3NHpNMCA3NHYtMmMwLTc1LjU1IDYwLjQ1LTEzNiAxMzYtMTM2aDc1MmM3NS41NSAwIDEzNiA2MC40NSAxMzYgMTM2djJoLTEwMjR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Mjg7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1zZWNmb3giIGQ9Ik04ODcuOTk0IDk2MGgtNzUxLjk4OGMtNzUuNTkgMC0xMzYuMDA2LTYwLjQxNi0xMzYuMDA2LTEzNi4wMDZ2LTc1MS45ODhjMC03NS41NDMgNjAuNDE2LTEzNi4wMDYgMTM2LjAwNi0xMzYuMDA2aDc1MS45ODhjNzUuNTQzIDAgMTM2LjAwNiA2MC40NjMgMTM2LjAwNiAxMzYuMDA2djc1MS45ODhjMCA3NS41OS02MC40NjMgMTM2LjAwNi0xMzYuMDA2IDEzNi4wMDZ6TTQwNS45MjMgMjcxLjU0NmMtMTIuNTY3LTE5LjM2My0zMC42MjctMzQuNDktNTQuMTc5LTQ1LjI0Mi0yMy41MDUtMTAuNzk5LTQ5Ljk5LTE2LjE5OC03OS40NTMtMTYuMTk4LTM3LjMyOSAwLTY4LjYwOCA1LjM5OS05My44MzYgMTYuMzM3LTI1LjIyOCAxMC44NDUtNDUuMDA5IDI3LjE4My01OS4yOTkgNDkuMDU5LTE0LjM4MyAyMS44NzYtMjEuOTIzIDQ2LjU0NS0yMi42NjggNzQuMTQ3bDUxLjQzMyA0LjUxNWMyLjQ2Ny0yMC42MiA4LjA5OS0zNy42MDkgMTYuOTg5LTUwLjc4MSA4Ljg5LTEzLjIxOSAyMi43NjEtMjMuOTI0IDQxLjUxOS0zMi4wMjMgMTguNzU4LTguMTkyIDM5Ljg0My0xMi4yODggNjMuMzAyLTEyLjI4OCAyMC44MDYgMCAzOS4xOTEgMy4wNzIgNTUuMTEgOS4zMDkgMTUuOTE5IDYuMTQ0IDI3Ljc4OCAxNC42MTUgMzUuNjA3IDI1LjQ2IDcuNzczIDEwLjcwNSAxMS42MzYgMjIuNTI4IDExLjYzNiAzNS4zMjggMCAxMi44NDctMy43NyAyNC4yMDQtMTEuMjY0IDMzLjg4NS03LjQ5NCA5LjYzNS0xOS44NzUgMTcuNzM0LTM3LjA5NyAyNC4yOTctMTEuMDc4IDQuMzI5LTM1LjU2MSAxMC45ODUtNzMuNDAyIDIwLjE1NC0zNy44ODggOS4wMzAtNjQuNDE5IDE3LjY4Ny03OS41OTMgMjUuNjkzLTE5LjY4OSAxMC4zOC0zNC4zOTcgMjMuMTMzLTQ0LjAzMiAzOC40NDctOS42MzUgMTUuMjY3LTE0LjQ3NiAzMi4zNDktMTQuNDc2IDUxLjI5MyAwIDIwLjgwNiA1LjkxMSA0MC4yNjIgMTcuNjg3IDU4LjM2OCAxMS44MjMgMTguMDYwIDI5LjA5MSAzMS44MzcgNTEuNzU5IDQxLjE5MyAyMi44MDcgOS4zMDkgNDguMDM1IDE0LjAxMCA3NS43NzYgMTQuMDEwIDMwLjU4IDAgNTcuNTMtNC45MzQgODAuODQ5LTE0Ljc1NSAyMy4zNjYtOS44NjggNDEuMjg2LTI0LjM0MyA1My44NTMtNDMuNDczczE5LjMxNi00MC43NzQgMjAuMjQ3LTY0Ljk3N2wtNTIuMzE3LTMuOTU2Yy0yLjgzOSAyNi4wNjUtMTIuMzM1IDQ1Ljc1NC0yOC41NzkgNTkuMDY2LTE2LjE5OCAxMy4zNTktNDAuMTIyIDIwLjAxNS03MS44MiAyMC4wMTUtMzMuMDAxIDAtNTcuMDY1LTYuMDUxLTcyLjE0NS0xOC4xNTNzLTIyLjYyMS0yNi42NzEtMjIuNjIxLTQzLjc1M2MwLTE0LjgwMSA1LjM1My0yNi45OTYgMTYuMDEyLTM2LjUzOCAxMC41MTktOS41ODggMzcuODg4LTE5LjQwOSA4Mi4yOTItMjkuNDE3IDQ0LjMxMS0xMC4wNTQgNzQuNzUyLTE4Ljg1MSA5MS4yMjktMjYuMjk4IDI0LjAxNy0xMC45ODUgNDEuNzA1LTI1LjA4OCA1My4xNTUtNDEuOTg0IDExLjQ1LTE2Ljk4OSAxNy4xMjktMzYuNTM4IDE3LjEyOS01OC42NDcgMC4wNDctMjIuMDE2LTYuMjM3LTQyLjYzNi0xOC44MDQtNjIuMDkyek04NTIuMjk0IDU4MC44NDFoLTIyMy42NTF2LTEyNy42NzRoMTkzLjQ4OXYtNDguNjRoLTE5My40ODl2LTE4Ny4zNDVoLTU0LjUwNXY0MTIuM2gyNzguMTU2di00OC42NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkyOTsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXNlZ3ciIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek0zMjIgNjg2YzUwLjQyNiAwIDg4LjUxMy0xMi43NDQgMTE0LTM4IDI1LjQ4Ny0yNS4yNTcgMzguNzIxLTU5LjgzNyA0MC0xMDJsLTgwLTRjLTMuNDcyIDIzLjU4Ni0xMC41ODEgNDEuNjY3LTIyIDUycy0yOS4xNjIgMTMuOTk5LTUyIDE0Yy0yMy41NjktMC4wMDEtNDIuNjYzLTQuOTQtNTYtMTYtOC41ODctNy4wOTctMTItMTYuMTAzLTEyLTI4IDAtMTAuODU0IDMuOTYxLTIwLjI3NyAxMi0yOCAxMC4yMzEtOS44MTEgMzQuNTM2LTE5LjM1NSA3NC0zMCAzOS40NjQtMTAuNjQ2IDY5LjA5MC0yMi42MjQgODgtMzRzMzMuMzEyLTI2LjI3NSA0NC00NmMxMC42ODgtMTkuNzI1IDE2LTQ0Ljk4NiAxNi03NCAwLTI2LjMtNy4yMTEtNTEuMDM5LTIwLTc0cy0zMC42MTQtMzguODMzLTU0LTUwYy0yMy4zODYtMTEuMTY3LTUxLjEwNC0xOC04Ni0xOC01MC43OTIgMC05MC43NzcgMTMuMTc4LTExOCA0MHMtNDIuNzAyIDY2LjY1Mi00OCAxMThsNzggOGM0Ljc1LTMwLjI2NiAxNS40NzUtNTEuODA2IDMwLTY2czMzLjMzNS0yMi4wMDEgNTgtMjJjMjYuMTI2LTAuMDAxIDQ2Ljc1NCA3LjM3MiA2MCAyMHMyMCAyNy4wOTIgMjAgNDRjMCAxMC44NTMtNC40MjggMjAuMzgyLTEwIDI4cy0xNC4xMTUgMTQuMzY0LTI4IDIwYy05LjUwMSAzLjc1Ni0zMi4yIDEwLjM5OC02NiAyMC00My40ODQgMTIuMzE1LTcyLjQ2MSAyOC4wNDktOTAgNDYtMjQuNjY1IDI1LjI1Ny0zOCA1NS42ODEtMzggOTIgMCAyMy4zNzggNi4zOTggNDUuNjQ4IDE4IDY2czI4LjE2NyAzNS4zNTQgNTAgNDZjMjEuODMzIDEwLjY0NSA0Ny4xMjMgMTYgNzggMTZ6TTU1NiA2NzhoMjk4di03OGgtMjE2di0xMDJoMjAydi03OGgtMjAydi0xMjRoMjI0di03OGgtMzA2djQ2MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkyYTsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXp0ZWF0Y2EiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di00MTBoMTAyNHY0MTBjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek0xMjIgODE0aDIzNHYtNTBsLTE3Ni0yMThoMTgydi01NGgtMjYwdjYwbDE2OCAyMDhoLTE0OHY1NHpNMzgwIDgxNGgyNTZ2LTU0aC05NnYtMjY4aC02NHYyNjhoLTk2djU0ek02NzggODE0aDIzOHYtNTRoLTE3NHYtNzJoMTYydi01NGgtMTYydi04OGgxODB2LTU0aC0yNDR2MzIyek00OTYgMzg0Yy0zOC41IDAtNzAuMzc1LTEyLjY4OC05NC0zOHMtMzYtNjAuMjUtMzYtMTA2YzAtNDMuMjUgMTIuNS03Ny4wNjMgMzYtMTAyczUzLjUtMzggOTAtMzhjMjkuNSAwIDU0LjgxMiA3LjQzOCA3NCAyMnMzMS43NSAzOCA0MCA2OGwtNTQgMTZjLTQuNjI1LTIwLjEyNS0xMS4zNzUtMzQuNjI1LTIyLTQ0cy0yMy4yNS0xNC0zOC0xNGMtMjAgMC0zNy41IDcuMjUtNTAgMjJzLTE4IDM5LjI1LTE4IDc0YzAgMzIuNzUgNy4zMTIgNTcuMzc1IDIwIDcyczI3LjYyNSAyMiA0OCAyMmMxNC43NSAwIDI3LjY4Ny01Ljc1IDM4LTE0czE2Ljc1LTE3Ljc1IDIwLTMybDU2IDEyYy02LjI1IDIyLTE1LjUgMzguMjUtMjggNTAtMjEgMTkuODc1LTQ4LjM3NSAzMC04MiAzMHpNMTIyIDM4MHYtNDZoODJ2LTIyOGg1NnYyMjhoODB2NDZoLTIxOHpNNzM0IDM4MGwtMTA4LTI3NGg1OGwyNCA2MmgxMTBsMjQtNjJoNjBsLTExMCAyNzRoLTU4ek03NjIgMzE2bDM4LTEwMmgtNzZsMzggMTAyek0wIDc0di0yYzAtNzUuNTUgNjAuNDUtMTM2IDEzNi0xMzZoNzUyYzc1LjU1IDAgMTM2IDYwLjQ1IDEzNiAxMzZ2MmgtMTAyNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkyYjsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXp0ZWlwcyIgZD0iTTE3NiA5NjBjLTk3LjExNSAwLTE3Ni03OC44ODYtMTc2LTE3NnYtNjcyYzAtOTcuMTE0IDc4Ljg4NS0xNzYgMTc2LTE3Nmg2NzJjOTcuMTE1IDAgMTc2IDc4Ljg4NiAxNzYgMTc2djY3MmMwIDk3LjExNC03OC44ODUgMTc2LTE3NiAxNzZoLTY3MnpNMTQyIDkyMGM0Ni45NjcgMCA4NC0zOC4zNTUgODQtODYuMDAzIDAtMjAuMDU4LTYuNjgxLTM3LjM0NC0xOC01MmwxMDQtMjA0YzIuOTAyIDAgNS4wMTkgMS45ODQgOCAxLjk4NCAxNS45ODcgMCAzMS4yMjUtNC4yMjQgNDQtMTJsMTM0IDEyOGMtMy4zMDEgOS4yMDMtNCAxOS42NDItNCAyOS45OTcgMCA0Ny42NDggMzcuMDMzIDg2LjAwMyA4NCA4Ni4wMDNzODYtMzguMzU1IDg2LTg2LjAwM2MwLTAuNjQgMC4wMTQtMS4zNDQgMC0xLjk4NGwxNjQtNzZjMTQuOTM4IDEzLjE5NyAzNC42MzQgMjEuOTk3IDU2IDIxLjk5NyA0Ni45NjcgMCA4Ni00MC4zNTIgODYtODggMC00Ny42NDItMzkuMDMzLTg1Ljk5Ny04Ni04NS45OTdzLTg0IDM4LjM1NS04NCA4NS45OTdjMCAyLjYyNC0wLjIyNCA1LjQ0IDAgOGwtMTYwIDc2LjAwNmMtMTUuNTE0LTE2Ljc2Mi0zNy41NDItMjUuOTk3LTYyLTI1Ljk5Ny0xNC4wOTAgMC0yNi4yOTkgMy44NC0zOCA5Ljk5N2wtMTM4LTEzMmMyLjA4Ni03LjQ3NSA0LTE1Ljg0IDQtMjQgMC00Ny42NDItMzkuMDMzLTg1Ljk5Ny04Ni04NS45OTdzLTg0IDM4LjM1NS04NCA4NS45OTdjMCAyMC42NCA4LjA4MiAzOS4xNTUgMjAgNTQuMDAzbC0xMDIgMjAxLjk5N2MtMy43OTYtMC42NC04LjA2Mi0xLjk4NC0xMi0xLjk4NC00Ni45NjcgMC04NiAzOC4zNTUtODYgODUuOTk3IDAgNDcuNjQ4IDM5LjAzMyA4Ni4wMDMgODYgODYuMDAzek0xNDAgMzI0aDIzNHYtNTAuMDAzbC0xNzYtMjE2aDE4MnYtNTMuOTk3aC0yNjB2NTcuOTk3bDE2OCAyMDhoLTE0OHY1NC4wMDN6TTM5OCAzMjRoMjU2di01NC4wMDNoLTk2di0yNjUuOTk3aC02NHYyNjUuOTk3aC05NnY1NC4wMDN6TTY5NiAzMjRoMjM4di01NC4wMDNoLTE3NHYtNzJoMTYydi01My45OTdoLTE2MnYtODYuMDAzaDE4MHYtNTMuOTk3aC0yNDR2MzIweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTJjOyIgZ2x5cGgtbmFtZT0iaXQtc2RuLWNvbnRyb2xsZXIiIGQ9Ik01MDggOTYwYy04Mi41NTgtMC42NzItMTY2LjY5Ny0yMS4xODgtMjQ0LTY0LTI0Ny4zNjUtMTM3LjAwNS0zMzYuOTk3LTQ0OC42NC0yMDAtNjk2IDExMi41NzItMjAzLjI1NyAzNDIuMjg2LTI5OC4yMzMgNTU4LTI1MGw4NCAxNDYgMjkuMjgzIDQ5LjY4My00Ny4yODMgOTIuMzE3IDUyIDI4Yy0yNy4zNDIgMjMuNDQ1LTQ3LjUyMSA1My41Ni02MCA4OGwtNDQtMjQtNTQgOTggOTIgNTBjMjQuNjg3IDg3LjMxIDEwNC45MjcgMTUyIDIwMCAxNTIgNTAuNjYzIDAgOTUuODctMTkuNzUzIDEzMi01MC0xMC41OTYgMzkuNDg1LTI1LjMgNzguNjI0LTQ2IDExNi05NC4xODkgMTcwLjA2NC0yNzAuMzcyIDI2NS40NzktNDUyIDI2NHpNNTMwIDg2MmM0NS40MDctMS45ODQgOTEuNzkyLTkuNjk5IDEzNC0yNmwtNjYtMzZjLTIyLjQxOCAyMi41MzQtNDQuMzMgNDMuMjc0LTY4IDYyek00MDAgODQ4YzM5LjEzMS0yNi4zNDkgNzcuODYtNTcuNjI5IDExNC05NGwtODYtNDgtNzAgMTI2Yy0wLjMzOSAwLjY0IDAuMzYyIDEuNDI0IDAgMiAxMy44NSA1LjUwNCAyNy44NzcgMTAuMDM4IDQyIDE0ek0yNjYgNzg0YzAuMzItMC42NCAxLjcxMS0xLjQ4OCAyLTJsNzAtMTI2LTk0LTUyYy0xMS44MjggNDkuNTM2LTE2LjA4NiA5OS4xMzMtMTggMTQ2IDEyLjYxMiAxMS45NDIgMjUuNjc0IDIzLjU2OCA0MCAzNHpNNzY2IDc3OGMzMC43NTYtMjMuNTcxIDU4LjI5MS01MS41NjUgODItODRsLTExOC02NmMtMTkuODI2IDMzLjExNC00MS4zOTIgNjQuOTYzLTY0IDk0bDkwIDQ4YzMuMjI5IDEuNzkyIDcuNTI2IDUuNTE3IDEwIDh6TTU4NCA2NzRjMjIuNDM2LTI4Ljg3NyA0Mi4yNjgtNTkuMDQ2IDYyLTkybC0xMTQtNjQtNTQgOTh6TTE0NiA2NDJjMy41MDEtMjcuOTc0IDcuMTQ1LTU1LjIzOCAxNC04NGwtNTYtMzJjNy44NSA0MC42NTkgMjIuNTE5IDc5LjMwMiA0MiAxMTZ6TTM4OCA1NjZsNTQtOTgtMTIyLTY2Yy0xNy41OTcgMzQuMTA2LTMxLjI3OSA2Ny43NTQtNDQgMTAyek0xOTIgNDU4YzEyLjc4OC0zNC41NDcgMjYuMjg4LTY5LjY3IDQ0LTEwNGwtMTEwLTYwYy0xNC41NyAzNi40NDItMjYuMTY4IDc0LjMxNy0zMCAxMTJ6TTQ5MiAzNzhsNTQtOTgtMTA2LTU4Yy0yNC4xNTQgMjguMTczLTQ2LjUxNCA1Ny40NjktNjggOTB6TTI4OCAyNjRjMjEuNTctMzIuNTI1IDQ1LjY3NS01OS44MjcgNzAtODhsLTEwMi01OGMtMjkuOTA4IDIzLjIzMi01Ni44NCA1Mi4zMTQtODAgODR6TTU5NiAxODhsNzAtMTI2Yy03LjM0NC0yLjk0NC0xNC41NTEtNy41MDQtMjItMTAtNDMuODU2IDI0LjMxNC04Ni43OSA1NC44NTQtMTI4IDkyek00MzIgOThjMjguMzkxLTI1LjQ3MiA1OC4yMjItNDYuNDM1IDg4LTY2LTUzLjMzMS0xLjAyNC0xMDYuNTIgOS4yNzQtMTU2IDI4ek04NzMuMTQ1IDU2OC4xNDdjLTgzLjgyOCAwLTE1MC45NDktNjcuMzIyLTE1MC45NDktMTQ4Ljc5NCAwLTU3LjcwOSAzNC40MTktMTA1LjcwMiA4NC4xLTEyOS45Mzl2LTI5OS42OTljMC0yMS4wNzUgMTcuMTIzLTM3LjcyMiAzOC44MTUtMzcuNzIyaDU2LjA2N2MyMS42OTIgMCAzOC44MTUgMTYuNjQ2IDM4LjgxNSAzNy43MjJ2Mjk5LjY5OWM0OS42ODIgMjQuMjM3IDg0LjEgNzIuMjMgODQuMSAxMjkuOTM5IDAgODEuNDcyLTY3LjEyMSAxNDguNzk0LTE1MC45NDkgMTQ4Ljc5NHpNNzQ1LjY3MSA1Ny40MDhoMjQ3LjY2M2wzNi40MjEtMTE4Ljk3NmgtMzEzLjIyMXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkyZDsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci1ocHV4IiBkPSJNMCA5NTZ2LTQyNGg3NnYxODZoMTQ4di0xODZoNzR2NDI0aC03NHYtMTY2aC0xNDh2MTY2aC03NnpNMzc2IDk1NnYtNDI0aDc2djE2MGg1MGMzNC4xMzUgMCA1OS45OTggMS45NDUgNzggNiAxMy4yNDYgMy4yODIgMjUuMTc4IDkuODYzIDM4IDIwczIzLjY3OCAyNC4yMzcgMzIgNDJjOC4zMjEgMTcuNzYzIDEyIDM5LjkzNSAxMiA2NiAwIDMzLjc4OC01LjU2NSA2MC42NjUtMjAgODJzLTMyLjYwMiAzNS42MjgtNTQgNDJjLTEzLjkyNiA0LjI0Ny00NC4xNDggNi05MCA2aC0xMjJ6TTQ1MiA4ODRoMzZjMjcuMTcyIDAgNDQuOTk5LTAuMDcwIDU0LTIgMTIuMjI3LTIuNTEgMjQuMDE4LTcuOTYgMzItMThzMTItMjQuNTU0IDEyLTQwYzAtMTIuNTUtNC4zMTEtMjIuNTQtMTAtMzJzLTExLjk4MS0xNy41Ni0yMi0yMmMtMTAuMDIwLTQuNDQxLTMwLjI4MS02LTYwLTZoLTQydjEyMHpNOTg2IDU1NGwtMjgtMTAtMjM0LTE5MC01MCA4NC0yMiAxNC0yNiAyLTQyLTMwLTE3Ni0xNjgtMzYtMTQtMjIgNCA2IDI2IDg4IDEyMCAyOCA0Ni02IDM0LTIyIDYtMzYtMzItMTcwLTE4NC00NC0yNC0xMiA4IDIgMjggNzIgOTggMzQgNjQtOCAzNi0xNCAxMC0zMC0xNi0xMDItMTUwLTM2LTY0LTYtNzQgMjAtMzIgMzYtOCAzOCAxNCA3OCA2NiAxNC01NCAzMC0xNiA1MC0yIDQ0IDI2IDk2IDgwIDEyNCAxMzIgMTIgMiA0Mi02MCA0LTIyLTI3Ni0zMTZjMCAwLTguOTkzLTE4LjUwMyAyLTM2czgtMTYgOC0xNmw0OCA2IDIzOCAyOTQgMTAgMiAxOC02IDcwLTEyNCAzMC02IDE0IDIwLTQgMzQtNzggMTIyIDIyNiAxOTggMzAgMzAtMTQgMzItMTggMTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MmU7IiBnbHlwaC1uYW1lPSJpdC1zdG9yYWdlLW9wcyIgZD0iTTE1NCA5NjBjLTg1LjA0MCAwLTE1NC02OC45Ni0xNTQtMTU0di03MTZjMC04NS4wNDAgNjguOTYtMTU0IDE1NC0xNTRoNzE2Yzg1LjA0MCAwIDE1NCA2OC45NiAxNTQgMTU0djcxNmMwIDg1LjA0MC02OC45NiAxNTQtMTU0IDE1NGgtNzE2ek0xNzggODM4aDY3MmMyNi43NDcgMCA0OC0yOC41NDQgNDgtNjRzLTIxLjI1My02NC00OC02NGgtNjcyYy0yNi43NDcgMC00OCAyOC41NDQtNDggNjRzMjEuMjUzIDY0IDQ4IDY0ek0xNzYgNjE2aDY3MmMyNi43NDcgMCA0OC0yOC41NDQgNDgtNjRzLTIxLjI1My02NC00OC02NGgtNjcyYy0yNi43NDcgMC00OCAyOC41NDQtNDggNjRzMjEuMjUzIDY0IDQ4IDY0ek0yMTQgMzgyYzQ3LjI1IDAgODUuNjM1LTE0LjY4OCAxMTQtNDRzNDItNjkuNzkyIDQyLTEyMmMwLTUxLjc3MS0xMy44NTQtOTIuNzYtNDItMTIycy02NC44OTYtNDQtMTEyLTQ0Yy00Ny42ODggMC04NS44NTQgMTQuOTA2LTExNCA0NHMtNDIgNjguOTU4LTQyIDEyMGMwIDMyLjY2NiA0LjIyOSA1OS44MzMgMTQgODIgNy4yOTIgMTYuMzMzIDE3LjM4NSAzMS4wMjEgMzAgNDRzMjYuOTc5IDIxLjcyOSA0MiAyOGMxOS45NzkgOC40NTggNDEuODk2IDE0IDY4IDE0ek04MzIgMzgyYzQwLjI1IDAgNzEuNjU2LTguMzU0IDkyLTI2czMwLjk3OS00Mi41NDIgMzItNzJsLTY2LTJjLTIuNzcxIDE2LjQ3OS04Ljg4NiAyOC43ODEtMTggMzZzLTIxLjc3MSAxMC00MCAxMGMtMTguODEzIDAtMzMuMzU0LTQuMjcxLTQ0LTEyLTYuODU0LTQuOTU5LTEwLTExLjY4OC0xMC0yMCAwLTcuNTg0IDEuNTgzLTEyLjYwNCA4LTE4IDguMTY3LTYuODU0IDI4LjUtMTQuNTYzIDYwLTIyczU0LjkwNi0xNi4wNTIgNzAtMjRjMTUuMDk0LTcuOTQ4IDI3LjQ2OC0xOC4yMTkgMzYtMzJzMTItMzEuNzI5IDEyLTUyYzAtMTguMzc1LTMuNzkyLTMzLjk1OC0xNC01MHMtMjUuMzM0LTI4LjE5OC00NC0zNmMtMTguNjY3LTcuODAyLTQyLjE0Ni0xMi03MC0xMi00MC41NDIgMC03Mi4yNzEgOS4yNi05NCAyOHMtMzMuNzcxIDQ2LjEyNS0zOCA4Mmw2MiA2YzMuNzkxLTIxLjE0NiAxMi40MDYtMzYuMDgzIDI0LTQ2czI2LjMxMi0xNiA0Ni0xNmMyMC44NTQgMCAzNy40MjcgNS4xNzcgNDggMTRzMTYgMTguMTg3IDE2IDMwYzAgNy41ODMtMS41NTIgMTQuNjc3LTYgMjBzLTEyLjkxNyAxMC4wNjItMjQgMTRjLTcuNTgzIDIuNjI1LTI1LjAyMSA3LjI5Mi01MiAxNC0zNC43MDggOC42MDQtNjAgMTkuNDU4LTc0IDMyLTE5LjY4OCAxNy42NDYtMjggMzguNjI1LTI4IDY0IDAgMTYuMzMzIDQuNzQgMzEuNzgxIDE0IDQ2czIyLjU3MyAyNC41NjIgNDAgMzJjMTcuNDI3IDcuNDM3IDM3LjM1NCAxMiA2MiAxMnpNNDIwIDM3NmgxMDRjMzkuMzc1IDAgNjYuMDQxLTAuNzkyIDc4LTQgMTguMzc1LTQuODEzIDMzLjYwNC0xNS44ODYgNDYtMzJzMTgtMzYuNDc5IDE4LTYyYzAtMTkuNjg4LTIuODU0LTM2LjU4My0xMC01MHMtMTYuOTktMjQuMzQ0LTI4LTMyYy0xMS4wMTEtNy42NTYtMjAuNjI1LTExLjUyMS0zMi0xNC0xNS40NTktMy4wNjItMzguNjg4LTYtNjgtNmgtNDJ2LTEyMGgtNjZ2MzIwek0yMTYgMzI2Yy0yNi42ODggMC00OS42NjctOS42OTgtNjYtMjhzLTI0LTQ1LjEwNC0yNC04MmMwLTM2LjMxMyA5LjIyOS02My4yNjEgMjYtODJzMzguMTg3LTI4IDY0LTI4YzI1LjgxMiAwIDQ1LjQ0OCA5LjQwNiA2MiAyOHMyNiA0NC44MTIgMjYgODJjMCAzNi43NS03Ljg4NiA2NS45MTYtMjQgODRzLTM3LjMxMyAyNi02NCAyNnpNNDg2IDMyMnYtOTJoMzZjMjUuNTIxIDAgNDEuMzk2IDIuNjQ2IDUwIDZzMTUuMTE0IDguODU0IDIwIDE2YzQuODg1IDcuMTQ2IDggMTQuNTIxIDggMjQgMCAxMS42NjctMy4xNDYgMjIuNDE2LTEwIDMwcy0xNS41IDEyLjEwNC0yNiAxNGMtNy43MjkgMS40NTgtMjQuNjY3IDItNDggMmgtMzB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MmY7IiBnbHlwaC1uYW1lPSJpdC1zdG9yYWdlLXNhbnN3aXRjaC1icm9jYWRlIiBkPSJNMTU0IDk2MGMtODUuMDQwIDAtMTU0LTY4Ljk2LTE1NC0xNTR2LTcxNmMwLTg1LjA0MCA2OC45Ni0xNTQgMTU0LTE1NGg3MTZjODUuMDQwIDAgMTU0IDY4Ljk2IDE1NCAxNTR2NzE2YzAgODUuMDQwLTY4Ljk2IDE1NC0xNTQgMTU0aC03MTZ6TTE3OCA4MzhoNjcyYzI2Ljc0NyAwIDQ4LTI4LjU0NCA0OC02NHMtMjEuMjUzLTY0LTQ4LTY0aC02NzJjLTI2Ljc0NyAwLTQ4IDI4LjU0NC00OCA2NHMyMS4yNTMgNjQgNDggNjR6TTE3NiA2MTZoNjcyYzI2Ljc0NyAwIDQ4LTI4LjU0NCA0OC02NHMtMjEuMjUzLTY0LTQ4LTY0aC02NzJjLTI2Ljc0NyAwLTQ4IDI4LjU0NC00OCA2NHMyMS4yNTMgNjQgNDggNjR6TTcyNCAzNzZjMzkuMjI5IDAgNzEuNS0xMC44MTMgOTYtMzQgMTQuNTgzLTEzLjcwOSAyNC43MDgtMzQuMzM0IDMyLTYwbC02NC0xNmMtMy43OTIgMTYuNjI1LTExLjk2OSAzMC4zNzUtMjQgNDBzLTI0Ljc5MiAxNC00MiAxNGMtMjMuNzcxIDAtNDMuMTk4LTguOTM4LTU4LTI2cy0yNC00My43OTItMjQtODJjMC00MC41NDIgNy40MTctNjguNzkyIDIyLTg2czM0LjY2Ni0yNiA1OC0yNmMxNy4yMDggMCAzMS42MDQgNS4wNjIgNDQgMTZzMjAuNjA0IDI4LjUyMSAyNiA1Mmw2NC0yMGMtOS42MjUtMzUtMjUuNjE1LTYxLjAxMC00OC03OHMtNTEuNTgzLTI2LTg2LTI2Yy00Mi41ODMgMC03Ni41ODMgMTQuOTA2LTEwNCA0NHMtNDIgNjkuNTQyLTQyIDEyMGMwIDUzLjM3NSAxNC40MzcgOTQuNDY4IDQyIDEyNHM2My4wODMgNDQgMTA4IDQ0ek0xNjQgMzcwaDEyOGMyNS4zNzUgMCA0My41MzEgMC4xMTUgNTYtMnMyNC4xNTYtNy4yOTIgMzQtMTRjOS44NDMtNi43MDkgMTcuNDM3LTE0Ljg0NCAyNC0yNnMxMC0yNC4xNDYgMTAtMzhjMC0xNS4wMjEtMy45MDctMjkuNDU5LTEyLTQycy0xOC4xNDYtMjEuNzI5LTMyLTI4YzE5LjU0MS01LjY4OCAzMy41LTE2LjI5MiA0NC0zMHMxNi0yOS40NzkgMTYtNDhjMC0xNC41ODMtMy4yMTktMjguMjE5LTEwLTQycy0xNi4yNjEtMjMuNzYtMjgtMzJjLTExLjc0LTguMjQtMjQuNzkyLTE0LjEwNC00Mi0xNi0xMC43OTItMS4xNjctMzguNzI5LTEuNzA4LTgwLTJoLTEwOHYzMjB6TTIyOCAzMTZ2LTc0aDQ0YzI1LjIyOSAwIDM5Ljg3NSAxLjI3MSA0NiAyIDExLjA4MyAxLjMxMiAxOS42NTYgNS42NTYgMjYgMTJzMTAgMTMuNjQ2IDEwIDI0YzAgOS45MTYtMi41MzEgMTcuODAyLTggMjRzLTEzLjIwOSAxMC42ODctMjQgMTJjLTYuNDE3IDAuNzI5LTI1LjUyMSAwLTU2IDBoLTM4ek0yMjggMTkwdi04Nmg2MGMyMy4zMzMgMCAzNy43MjkgMC42ODcgNDQgMiA5LjYyNSAxLjc1IDE3Ljk0OCA1LjIxOSAyNCAxMnMxMCAxNi42MjUgMTAgMjhjMCA5LjYyNS0zLjMzNCAxNy4yOTItOCAyNHMtMTEuMTc3IDEwLjkzNy0yMCAxNGMtOC44MjMgMy4wNjItMjguNTQyIDYtNTggNmgtNTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MzA7IiBnbHlwaC1uYW1lPSJpdCIgZD0iTTI1NiA4NjB2LTgzNGgtMjU2di05MGgxMDM0djkwaC0yNTZ2MjUyaC00MDB2OTZoNDAwdjEwOGgtNDAwdjk2aDQwMHYyODJoLTUyMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkzMTsiIGdseXBoLW5hbWU9Iml0LWFwcCIgZD0iTTEzMiA5NjRjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTUxNiA4ODRjMjAzLjc5MiAwIDM3MC0xNjYuMjA4IDM3MC0zNzBzLTE2Ni4yMDgtMzcyLTM3MC0zNzJjLTIwMy43OTIgMC0zNzAgMTY4LjIwOC0zNzAgMzcyczE2Ni4yMDggMzcwIDM3MCAzNzB6TTUxNiA3NzhjLTE0Ny4yNzEgMC0yNjYtMTE2LjcyOS0yNjYtMjY0czExOC43MjktMjY2IDI2Ni0yNjZjMTQ3LjI3MSAwIDI2NiAxMTguNzI5IDI2NiAyNjZzLTExOC43MjkgMjY0LTI2NiAyNjR6TTQ4MCA2NzRoNjhsMTI4LTMyMmgtNzBsLTI4IDc0aC0xMjhsLTI2LTc0aC02OGwxMjQgMzIyek01MTQgNTk4bC00NC0xMThoODhsLTQ0IDExOHpNMTAyOCAzMjBsLTM4MC0zODBoMjUyYzcwLjkxMiAwIDEyOCA1Ny4wODggMTI4IDEyOHYyNTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MzI7IiBnbHlwaC1uYW1lPSJpdC1hcHAtYmluZCIgZD0iTTEzMiA5NjRjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTExNCA4NzRoMjI2YzQ0LjczOCAwIDc4LjAxNi0yLjI0OSAxMDAtNnM0MC42NDQtMTAuMTc0IDU4LTIyYzE3LjM1NS0xMS44MzcgMzIuNDI5LTI4LjMyOCA0NC00OCAxMS41Ny0xOS42NjIgMTcuOTk5LTQxLjU2NiAxOC02Ni0wLjAwMS0yNi40NzYtNy43My00OS44ODktMjItNzJzLTMzLjU3NC0zOC45NDUtNTgtNTBjMzQuNDUzLTEwLjAwMyA2MS40ODctMjcuODI2IDgwLTUyIDE4LjUxMi0yNC4xNzQgMjcuOTk5LTUzLjM0NSAyOC04Ni0wLjAwMS0yNS43MTYtNi4wNDUtNDkuNzAxLTE4LTc0cy0yOS4zMDItNDMuNDc1LTUwLTU4Yy0yMC42OTgtMTQuNTM1LTQ1LjY2MS0yNC42NTUtNzYtMjgtMTkuMDI3LTIuMDg0LTY1LjIzNi0xLjQ3OS0xMzgtMmgtMTkydjU2NHpNMjI4IDc4MHYtMTMwaDc0YzQ0LjQ4MSAwIDczLjIwMSAxLjA2MiA4NCAyIDE5LjU0MSAyLjI5MiAzNC44MTUgOC44MDkgNDYgMjAgMTEuMTg0IDExLjE4IDE2IDI1Ljc0NSAxNiA0NCAwIDE3LjQ4NC00LjM1OCAzMS4wNzAtMTQgNDJzLTI0Ljk3NCAxNy42ODctNDQgMjBjLTExLjMxNCAxLjI1LTQyLjI2MyAyLTk2IDJoLTY2ek0yMjggNTU2di0xNTJoMTA2YzQxLjEzOSAwIDY2Ljk0NCAxLjcwOCA3OCA0IDE2Ljk2OSAzLjEyNiAzMS4zMjkgMTAuMDM4IDQyIDIyIDEwLjY3IDExLjk1MSAxNiAyNy45NDIgMTYgNDggMCAxNi45NzQtNS43NzMgMzIuMTc0LTE0IDQ0LTguMjI4IDExLjgyNi0xOC40NDUgMjAuNTkyLTM0IDI2LTE1LjU1NiA1LjQxOC01MC4wNjIgOC0xMDIgOGgtOTJ6TTEwMjggMzIwbC0zODAtMzgwaDI1MmM3MC45MTIgMCAxMjggNTcuMDg4IDEyOCAxMjh2MjUyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTMzOyIgZ2x5cGgtbmFtZT0iaXQtYXBwLWRucyIgZD0iTTEzMiA5NjRjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTgzNiA4MjBjNDEuMTU2IDAgNzMuMTk4LTExLjU4NyA5NC0zNHMzMC45NTYtNTAuNTg0IDMyLTg4bC02Ni00Yy0yLjgzMyAyMC45MzEtOC42OCAzNC44MzEtMTggNDRzLTIzLjM2MSAxMy45OTktNDIgMTRjLTE5LjIzNi0wLjAwMS0zMy4xMTUtNC4xODEtNDQtMTQtNy4wMDktNi4yOTgtMTItMTUuNDQyLTEyLTI2IDAtOS42MzIgMy40MzktMTcuMTQ3IDEwLTI0IDguMzUtOC43MDYgMjkuNzkxLTE4LjU1MyA2Mi0yOHM1NC41NjYtMTcuOTA1IDcwLTI4YzE1LjQzMy0xMC4wOTUgMjcuMjc2LTI0LjQ5NiAzNi00MnMxNC00MC4yNTMgMTQtNjZjMC0yMy4zMzktNS41NjItNDMuNjI1LTE2LTY0cy0yNC45MTMtMzYuMDkwLTQ0LTQ2Yy0xOS4wODctOS45MS00My41MTktMTYtNzItMTYtNDEuNDU1IDAtNzEuNzgyIDEyLjE5OC05NCAzNnMtMzUuNjc2IDU4LjQzMy00MCAxMDRsNjQgOGMzLjg3Ny0yNi44NTggMTIuMTQ1LTQ1LjQwNCAyNC01OHMyNy44NjktMjAgNDgtMjBjMjEuMzI0IDAgMzcuMTg5IDYuNzkgNDggMTggMTAuODExIDExLjIwNyAxNiAyMi45OTYgMTYgMzggMCA5LjYzMi0zLjQ1MiAxOS4yMzktOCAyNnMtMTAuNjY3IDEwLjk5OC0yMiAxNmMtNy43NTQgMy4zMzEtMjYuNDE0IDkuNDc5LTU0IDE4LTM1LjQ5IDEwLjkyOC01OS42ODUgMjQuMDcxLTc0IDQwLTIwLjEzMSAyMi40MTMtMzAgNDkuNzY5LTMwIDgyIDAgMjAuNzQ2IDQuNTMxIDM5Ljk0IDE0IDU4czIyLjE4IDMyLjU1MyA0MCA0MmMxNy44MTkgOS40NDYgMzguNzk5IDE0IDY0IDE0ek02MCA4MTRoMTIwYzI3LjI4OCAwIDQ5LjY4NS0yLjgxNyA2NC04IDE5LjIzNi03LjA0MCAzNC4yODEtMjAuMDMzIDQ4LTM4czI0Ljg0Mi0zOS45NzUgMzItNjZjNy4xNTctMjYuMDI1IDEwLTU3Ljg0MyAxMC05NiAwLTMzLjUyNy0zLjI5LTYxLjczNS0xMC04Ni04LjIwMi0yOS42MzctMTguNzktNTMuNjYyLTM0LTcyLTExLjQ4Mi0xMy44OTItMjYuNDY2LTI2LjIyLTQ2LTM0LTE0LjYxNC01Ljc0Mi0zNS41NDUtOC02MC04aC0xMjR2NDA4ek0zOTIgODE0aDY0bDEzNC0yNzJ2MjcyaDYydi00MDhoLTY2bC0xMzIgMjY2di0yNjZoLTYydjQwOHpNMTI2IDc0NHYtMjcwaDUwYzE4LjQ5IDAgMzEuNzk4IDEuNDExIDQwIDQgMTAuNzM2IDMuMzMxIDE4LjkxNyAxMC4wMzUgMjYgMThzMTMuNTI2IDE5Ljc1NSAxOCAzOGM0LjQ3MyAxOC4yNDYgNiA0NC41MTEgNiA3NnMtMS41MjcgNTUuMTQ0LTYgNzJjLTQuNDc0IDE2Ljg1NS0xMS45NDggMzAuNTUzLTIwIDQwcy0xNy42MjMgMTQuNjY1LTMwIDE4Yy05LjI0NSAyLjU5Ni0yNy4wMTAgNC01NCA0aC0zMHpNMTAyOCAzMjBsLTM4MC0zODBoMjUyYzcwLjkxMiAwIDEyOCA1Ny4wODggMTI4IDEyOHYyNTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5MzQ7IiBnbHlwaC1uYW1lPSJpdC1hcHAtZW1zIiBkPSJNMTI4IDk2MGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC45MTIgNTcuMDg4LTEyOCAxMjgtMTI4aDQxOGw0NzggNDgwdjQxNmMwIDcwLjkxMi01Ny4wODggMTI4LTEyOCAxMjhoLTc2OHpNODE2IDc4OGMzNy4zNzUgMCA2NS4xMDktNy42MTUgODQtMjRzMjkuMDUyLTM4LjY0NiAzMC02NmwtNjAtNGMtMi41NzMgMTUuMzAyLTkuNTM3IDI3LjI5Ny0xOCAzNHMtMjEuMDczIDEwLTM4IDEwYy0xNy40NjkgMC0zMC4xMTUtMi44MjMtNDAtMTAtNi4zNjUtNC42MDQtMTAtMTIuMjgxLTEwLTIwIDAtNy4wNDIgMi4wNDItMTIuOTkgOC0xOCA3LjU4My02LjM2NSAyNi43NS0xMy4wOTQgNTYtMjBzNTEuOTg0LTEyLjYyIDY2LTIwYzE0LjAxNS03LjM4IDI0LjA3OC0xNy4yMDMgMzItMzBzMTItMjkuMTc3IDEyLTQ4YzAtMTcuMDYzLTQuNTIxLTMzLjEwNC0xNC00OHMtMjIuNjY3LTI2Ljc1NS00MC0zNGMtMTcuMzM0LTcuMjQ1LTQwLjEzNi0xMC02Ni0xMC0zNy42NDYgMC02NS44MjMgOC41OTktODYgMjZzLTMyLjA3MyA0Mi42ODctMzYgNzZsNTggNmMzLjUyMS0xOS42MzYgMTEuMjM0LTM0Ljc5MiAyMi00NHMyNS43MTktMTQgNDQtMTRjMTkuMzY0IDAgMzQuMTgyIDMuODA3IDQ0IDEyczE0IDE5LjAzMSAxNCAzMGMwIDcuMDQyLTEuODcgMTMuMDU3LTYgMThzLTExLjcwOCA4LjM0NC0yMiAxMmMtNy4wNDIgMi40MzctMjIuOTQ4IDcuNzcxLTQ4IDE0LTMyLjIyOSA3Ljk4OS01NSAxNi4zNTQtNjggMjgtMTguMjgxIDE2LjM4NS0yOCAzNi40MzctMjggNjAgMCAxNS4xNjYgNS40MDEgMzAuNzk3IDE0IDQ0czE5LjgxOCAyMy4wOTMgMzYgMzBjMTYuMTgyIDYuOTA2IDM3LjExNCAxMCA2MCAxMHpNODYgNzgyaDIyMHYtNTBoLTE2MHYtNjZoMTUwdi01MGgtMTUwdi04MGgxNjZ2LTUyaC0yMjZ2Mjk4ek0zNjQgNzgyaDkwbDU0LTIwMiA1MiAyMDJoOTB2LTI5OGgtNTZ2MjM2bC01OC0yMzZoLTU4bC01OCAyMzZ2LTIzNmgtNTZ2Mjk4ek0xMDI0IDMxNmwtMzgwLTM4MGgyNTJjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djI1MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkzNTsiIGdseXBoLW5hbWU9Iml0LWFwcC1tZWRpYXRvciIgZD0iTTEyOCA5NjBjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTE1OCA4MTJoMTEybDY2LTI1MCA2NiAyNTBoMTEwdi0zNjZoLTY4djI4OGwtNzItMjg4aC03MmwtNzIgMjg4di0yODhoLTcwdjM2NnpNNTg2IDgxMmgyNzJ2LTYyaC0xOTh2LTgwaDE4NHYtNjJoLTE4NHYtMTAwaDIwNnYtNjJoLTI4MHYzNjZ6TTEwMjQgMzE2bC0zODAtMzgwaDI1MmM3MC45MTIgMCAxMjggNTcuMDg4IDEyOCAxMjh2MjUyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTM2OyIgZ2x5cGgtbmFtZT0iaXQtYXBwLW50cCIgZD0iTTEyOCA5NjBjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTU4IDgxMGg2OGwxNDItMjcydjI3Mmg2NHYtNDA4aC03MGwtMTQwIDI2NnYtMjY2aC02NHY0MDh6TTM4MiA4MTBoMjc0di03MGgtMTAydi0zMzhoLTcwdjMzOGgtMTAydjcwek03MDIgODEwaDExMmM0Mi40MzYtMC4wMDEgNjkuMTEyLTEuOTIyIDgyLTYgMTkuODAzLTYuMTE0IDM2LjY0LTE5LjUzMiA1MC00MHMyMC00Ny41ODUgMjAtODBjMC0yNS4wMDctNC4yOTktNDQuOTU5LTEyLTYycy0xNi4xMzQtMzIuMjc1LTI4LTQyYy0xMS44NjctOS43MjQtMjUuNzQxLTE0Ljg1MS0zOC0xOC0xNi42Ni0zLjg5MS00MC40MDktNi03Mi02aC00NHYtMTU0aC03MHY0MDh6TTc3MiA3NDB2LTExNmgzOGMyNy41MDUgMCA0NC43MjcgMy43MzQgNTQgOCA5LjI3MyA0LjI1OSAxNi43MzUgMTAuOTIzIDIyIDIwczggMTkuOTYgOCAzMmMwIDE0LjgxOC00LjYxMyAyNi4zNjgtMTIgMzZzLTE2LjY4NCAxNS41OTItMjggMThjLTguMzMgMS44NDgtMjQuODUzIDItNTAgMmgtMzJ6TTEwMjQgMzE2bC0zODAtMzgwaDI1MmM3MC45MTIgMCAxMjggNTcuMDg4IDEyOCAxMjh2MjUyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTM3OyIgZ2x5cGgtbmFtZT0iaXQtYXBwLW90YSIgZD0iTTEyOCA5NjBjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTIwMiA4MTZjNDguMzE0IDAgODYuOTk2LTE4Ljc2OSAxMTYtNTYgMjkuMDAzLTM3LjIzMiA0Mi04Ny42ODcgNDItMTU0IDAtNjUuNzU3LTEzLjIyMS0xMTguODYxLTQyLTE1NnMtNjcuODM1LTU0LTExNi01NGMtNDguNzYxIDAtODcuMjIxIDE3LjA0Ni0xMTYgNTRzLTQ0IDg5LjE2OS00NCAxNTRjMCA0MS40OTEgNi4wMDkgNzUuODQ1IDE2IDEwNCA3LjQ1NiAyMC43NDUgMTcuMTAxIDM5LjUxNCAzMCA1NnMyNi42NDEgMjguMDM1IDQyIDM2YzIwLjQyOSAxMC43NDMgNDUuMzA4IDE2IDcyIDE2ek0zODggODEwaDI2MnYtNzBoLTk4di0zMzhoLTY2djMzOGgtOTh2NzB6TTc4NiA4MTBoNzBsMTMyLTQwOGgtNzJsLTI4IDkyaC0xMzJsLTI2LTkyaC03MmwxMjggNDA4ek0yMDIgNzQ2Yy0yNy4yODktMC4wMDEtNDkuMjk5LTEwLjc1NC02Ni0zNC0xNi43MDEtMjMuMjQ3LTI2LTU5LjEzNy0yNi0xMDYgMC00Ni4xMjMgOC44NTEtODAuMTk5IDI2LTEwNCAxNy4xNDgtMjMuODAzIDM5LjYwNi0zNiA2Ni0zNnM0Ny4wNzUgMTAuMzgzIDY0IDM0YzE2LjkyNCAyMy42MTcgMjYgNjAuNzY2IDI2IDEwOCAwIDQ2LjY3OC03LjUyMyA4MS4wMzEtMjQgMTA0cy0zOC43MTIgMzMuOTk5LTY2IDM0ek04MjAgNzE0bC00NC0xNTBoOTBsLTQ2IDE1MHpNMTAyNCAzMTZsLTM4MC0zODBoMjUyYzcwLjkxMiAwIDEyOCA1Ny4wODggMTI4IDEyOHYyNTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Mzg7IiBnbHlwaC1uYW1lPSJpdC1hcHAtdG9tY2F0IiBkPSJNMTI4IDk2MGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC45MTIgNTcuMDg4LTEyOCAxMjgtMTI4aDQxOGw0NzggNDgwdjQxNmMwIDcwLjkxMi01Ny4wODggMTI4LTEyOCAxMjhoLTc2OHpNNTk2IDgxNmM1MC44MDUtMC4wMDEgOTIuMjctMTYuMDI4IDEyNC01MCAxOC44ODYtMjAuMDg1IDMyLjU1Ni01MC4zOTYgNDItODhsLTgyLTIyYy00LjkxMSAyNC4zNTgtMTQuNDE5IDQzLjg5Ny0zMCA1OC0xNS41ODIgMTQuMTAxLTM1LjcxNCAyMS45OTktNTggMjItMzAuNzg1LTAuMDAxLTU0LjgzLTEzLjAwMi03NC0zOHMtMzAtNjYuMDIwLTMwLTEyMmMwLTU5LjM5OSAxMS4xMTMtMTAwLjc4NyAzMC0xMjZzNDEuNzgxLTM4IDcyLTM4YzIyLjI4NiAwIDQxLjk0NiA3Ljk3NSA1OCAyNHMyNy4wMTIgNDEuNiAzNCA3Nmw4Mi0zMGMtMTIuNDY1LTUxLjI3OS0zMy4wMTAtODkuMTA4LTYyLTExNHMtNjUuNDI4LTM4LTExMC0zOGMtNTUuMTQ5IDAtMTAwLjQ5MyAyMS4zNzQtMTM2IDY0cy01NCAxMDIuMDcyLTU0IDE3NmMwIDc4LjIwMSAxOC4zMDQgMTM4LjczMyA1NCAxODJzODEuODI5IDYzLjk5OSAxNDAgNjR6TTMyIDgwOGgzMzB2LTgwaC0xMjJ2LTM5MGgtODR2MzkwaC0xMjR2ODB6TTEwMjQgMzE2bC0zODAtMzgwaDI1MmM3MC45MTIgMCAxMjggNTcuMDg4IDEyOCAxMjh2MjUyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTM5OyIgZ2x5cGgtbmFtZT0iaXQtYXBwLXRyZW5kIiBkPSJNMTI4IDk2MGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC45MTIgNTcuMDg4LTEyOCAxMjgtMTI4aDQxOGw0NzggNDgwdjQxNmMwIDcwLjkxMi01Ny4wODggMTI4LTEyOCAxMjhoLTc2OHpNMzIgODA4aDMzMHYtODBoLTEyMnYtMzkwaC04NHYzOTBoLTEyNHY4MHpNNDE2IDgwOGgxMjZsNzQtMzIwIDc2IDMyMGgxMjZ2LTQ3MGgtNzh2MzcwbC04NC0zNzBoLTgwbC04MiAzNzB2LTM3MGgtNzh2NDcwek0xMDI0IDMxNmwtMzgwLTM4MGgyNTJjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djI1MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkzYTsiIGdseXBoLW5hbWU9Iml0LWFwcC10c20iIGQ9Ik0xMjggOTYwYy03MC45MTIgMC0xMjgtNTcuMDg4LTEyOC0xMjh2LTc2OGMwLTcwLjkxMiA1Ny4wODgtMTI4IDEyOC0xMjhoNDE4bDQ3OCA0ODB2NDE2YzAgNzAuOTEyLTU3LjA4OCAxMjgtMTI4IDEyOGgtNzY4ek00NTAgODE2YzQxLjE1NiAwIDczLjE5OC0xMS41ODcgOTQtMzRzMzAuOTU2LTUwLjU4NCAzMi04OGwtNjYtNGMtMi44MzMgMjAuOTMxLTguNjggMzQuODMxLTE4IDQ0cy0yMy4zNjEgMTMuOTk5LTQyIDE0Yy0xOS4yMzYtMC4wMDEtMzUuMTE1LTQuMTgxLTQ2LTE0LTcuMDA5LTYuMjk4LTEwLTE1LjQ0Mi0xMC0yNiAwLTkuNjMyIDMuNDM5LTE3LjE0NyAxMC0yNCA4LjM1LTguNzA2IDI5Ljc5MS0xOC41NTMgNjItMjhzNTQuNTY2LTE3LjkwNSA3MC0yOGMxNS40MzMtMTAuMDk1IDI3LjI3Ni0yNC40OTYgMzYtNDJzMTQtNDAuMjUzIDE0LTY2YzAtMjMuMzM5LTUuNTYyLTQzLjYyNS0xNi02NHMtMjQuOTEzLTM2LjA5MC00NC00NmMtMTkuMDg3LTkuOTEtNDMuNTE5LTE2LTcyLTE2LTQxLjQ1NSAwLTcxLjc4MiAxMi4xOTgtOTQgMzZzLTM1LjY3NiA1OC40MzMtNDAgMTA0bDY0IDhjMy44NzctMjYuODU4IDEyLjE0NS00NS40MDQgMjQtNThzMjcuODY5LTIwIDQ4LTIwYzIxLjMyNCAwIDM3LjE4OSA2Ljc5IDQ4IDE4IDEwLjgxMSAxMS4yMDcgMTYgMjIuOTk2IDE2IDM4IDAgOS42MzItMy40NTIgMTkuMjM5LTggMjZzLTEwLjY2NyAxMC45OTgtMjIgMTZjLTcuNzU0IDMuMzMxLTI2LjQxNCA5LjQ3OS01NCAxOC0zNS40OSAxMC45MjgtNTkuNjg1IDI0LjA3MS03NCA0MC0yMC4xMzEgMjIuNDEzLTMwIDQ5Ljc2OS0zMCA4MiAwIDIwLjc0NiA0LjUzMSAzOS45NCAxNCA1OHMyMi4xOCAzMi41NTMgNDAgNDJjMTcuODE5IDkuNDQ2IDM4Ljc5OSAxNCA2NCAxNHpNMzIgODEwaDI2MnYtNzBoLTk4di0zMzhoLTY2djMzOGgtOTh2NzB6TTY0MiA4MTBoOThsNjAtMjc4IDU4IDI3OGgxMDB2LTQwOGgtNjJ2MzIwbC02NC0zMjBoLTY0bC02NiAzMjB2LTMyMGgtNjB2NDA4ek0xMDI0IDMxNmwtMzgwLTM4MGgyNTJjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djI1MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkzYjsiIGdseXBoLW5hbWU9Iml0LWFwcC13ZWJsb2dpYyIgZD0iTTEyOCA5NjBjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg0MThsNDc4IDQ4MHY0MTZjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTI0IDgxMGg2OGw1MC0yODAgNjAgMjgwaDc4bDU4LTI4NiA1MCAyODZoNjZsLTc4LTQwOGgtNzJsLTY0IDMwNC02Ni0zMDRoLTcybC03OCA0MDh6TTQ5MCA4MDZoNjZ2LTMzNmgxNjR2LTY4aC0yMzB2NDA0ek0xMDI0IDMxNmwtMzgwLTM4MGgyNTJjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djI1MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTkzYzsiIGdseXBoLW5hbWU9Iml0LWNsdXN0ZXIiIGQ9Ik0xODAgOTU4di0xNjhoMTU2di0yNzhoMTcydi05OGgtMjM2djMwOGgtMjcydi03ODZoMjcydjM0MGgyMzZ2LTMzOGgyNzR2Nzg0aC0yNzR2LTcyaC00MHYzMDhoLTI4OHpNNzQwIDk1OHYtMTY4aDE1NnYtODUyaDEzMnYxMDIwaC0yODh6TTMzNiAyMTJ2LTI3OGgxMzJ2Mjc4aC0xMzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5M2Q7IiBnbHlwaC1uYW1lPSJpdC1jbHVzdGVyLWhhY21wIiBkPSJNODYgOTU2LjA3N3YtODAuNjg1aDI2OC41OTJ2LTMyMi43MzloMTQwLjM5NXYtOTMuMTAxaC0yMDguOTg3djM0NS40OThoLTI4NnYtODczLjA1MGgyODZ2Mzg4Ljk0MWgyMDguOTg3di0zNS4xNjhoMjg2djUxOS4yNzdoLTI4NnYtMTcxLjcxMmgtODAuMzk1djMyMi43Mzl6TTU4MC45ODcgOTU2LjA3N3YtODAuNjg1aDI2Mi45MTN2LTU4OS42MTloNjB2NjcwLjMwNHpNNDI2IDI0NS45NzhsLTEyMi0yOTEuMjE5aDY4bDI0IDcwLjM0MmgxMjRsMjgtNzAuMzQyaDY4bC0xMjQgMjkxLjIxOXpNNjQ2IDI0NS45Nzh2LTI5MS4yMTloNjR2MjkxLjIxOXpNNzQ2IDI0NS45NzhsOTYtMTI5Ljg1LTEwNC0xNjEuMzdoNzRsNjggMTA3LjU3OCA3MC0xMDcuNTc4aDc0bC0xMDYgMTU5LjI5NiA5OCAxMzEuOTIzaC03NGwtNjAtODIuMjY2LTYyIDgyLjI2NnpNNDU4IDE5MC42MDVsNDItMTEzLjc4NmgtODR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5M2U7IiBnbHlwaC1uYW1lPSJpdC1jbHVzdGVyLW5lYyIgZD0iTTg2IDk1NnYtODBoMjY4di0zMjRoMTQwdi05MmgtMjA4djM0NmgtMjg2di04NzRoMjg2djM4OGgyMDh2LTM0aDI4NnY1MjBoLTI4NnYtMTcyaC04MHYzMjJoLTMyOHpNNTgwIDk1NnYtODBoMjY0di01OTBoNjB2NjcwaC0zMjR6TTkyNCAyNTZjLTM0LjUxMyAwLTYwLjgyMi0xNC45OTItODItNDItMjEuMTc4LTI3LjAxNC0zMi02My4xODEtMzItMTEyIDAtNDYuMTU3IDEwLjkzNC04My4zODkgMzItMTEwczQ3LjI4LTQwIDgwLTQwYzI2LjQ0NSAwIDQ4LjggOC40NTQgNjYgMjQgMTcuMiAxNS41MzkgMjguNjA0IDM3Ljk4NyAzNiA3MGwtNDggMjBjLTQuMTQ2LTIxLjQ3OC0xMC40NzYtMzcuOTk3LTIwLTQ4LTkuNTI1LTEwLjAxNi0yMC43NzgtMTYtMzQtMTYtMTcuOTI5IDAtMzIuNzk1IDguMjYyLTQ0IDI0cy0xOCA0Mi45MTgtMTggODBjMCAzNC45NSA2LjYyNiA2MC4zOTcgMTggNzYgMTEuMzczIDE1LjYxIDI1LjczNSAyMiA0NCAyMiAxMy4yMjIgMCAyNC43NTUtMy4yIDM0LTEyIDkuMjQ0LTguODA2IDE1LjA4Ny0yMC43OTQgMTgtMzZsNTAgMTRjLTUuNjAzIDIzLjQ3NS0xNC43OTUgNDEuNDYyLTI2IDU0LTE4LjgyNSAyMS4yMS00My44NTggMzItNzQgMzJ6TTM0MCAyNTB2LTI5Mmg0NnYxOTBsMTAwLTE5MGg1MHYyOTJoLTQ2di0xOTZsLTEwMiAxOTZoLTQ4ek01ODggMjUwdi0yOTJoMTg4djQ4aC0xMzh2ODBoMTI0djUwaC0xMjR2NjRoMTM0djUwaC0xODR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5M2Y7IiBnbHlwaC1uYW1lPSJpdC1jbHVzdGVyLW5zIiBkPSJNODYgOTU2di04MGgyNjh2LTMyNGgxNDB2LTkyaC0yMDh2MzQ2aC0yODZ2LTg3NGgyODZ2Mzg4aDIwOHYtMzRoMjg2djUyMGgtMjg2di0xNzJoLTgwdjMyMnpNNTgwIDk1NnYtODBoMjY0di01OTBoNjB2Njcwek04NTYuNDEgMjM2Ljc1OWMtMjEuMTI1IDAtMzkuMDYzLTMuNi01NC0xMC0xNC45MzgtNi4zNzQtMjYuMDYzLTE1LjgxNC0zNC0yOHMtMTItMjQuMDAzLTEyLTM4YzAtMjEuNzU0IDkuMTI1LTQwLjg3NyAyNi01NiAxMi0xMC43NTIgMzIuMjUtMjAuNjI3IDYyLTI4IDIzLjEyNS01LjcyOCAzOS41LTkuNzYgNDYtMTIgOS41LTMuMzczIDE2LjE4OC03LjQ1NiAyMC0xMiAzLjgxMi00LjU2MyA0LTkuNTA0IDQtMTYgMC0xMC4xMjUtMi45MzgtMTguNDM1LTEyLTI2cy0yNC4xMjUtMTItNDItMTJjLTE2Ljg3NSAwLTMwLjA2MyA1LjUwMS00MCAxNHMtMTYuNzUgMjEuODc1LTIwIDQwbC01NC02YzMuNjI1LTMwLjc1MiAxNS4zNzUtNTMuOTM2IDM0LTcwczQ1LjI1LTI0IDgwLTI0YzIzLjg3NSAwIDQ0IDMuMzEyIDYwIDEwczI5LjI1IDE2LjI1MyAzOCAzMGM4Ljc1IDEzLjc0NyAxMiAyOC4yNSAxMiA0NCAwIDE3LjM3Ni0yLjY4OCAzMi4xODYtMTAgNDRzLTE5LjA2MyAyMS4xOS0zMiAyOGMtMTIuOTM4IDYuODE2LTMzIDEzLjYtNjAgMjAtMjcgNi4zNzQtNDMgMTIuMTEyLTUwIDE4LTUuNSA0LjYyNy04IDExLjUwNC04IDE4IDAgNy4xMyAyLjEyNSAxMS43NzYgOCAxNiA5LjEyNSA2LjYxMSAyMS44NzUgMTAgMzggMTAgMTUuNjI1IDAgMjguMTg3LTMuNzkyIDM2LTEwIDcuODEyLTYuMTg5IDExLjYyNS0xNS44NzUgMTQtMzBsNTYgMmMtMC44NzUgMjUuMjQ4LTEwLjU2MyA0Ni44NzctMjggNjJzLTQzLjUgMjItNzggMjJ6TTQyMy43ODMgMjQyLjQ4MnYtMjc2aDUwdjE4MGwxMTItMTgwaDU2djI3NmgtNTJ2LTE4NGwtMTEyIDE4NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk0MDsiIGdseXBoLW5hbWU9Iml0LWNsdXN0ZXItc2ciIGQ9Ik04NiA5NjB2LTgwaDI2OHYtMzI0aDE0MHYtOTJoLTIwOHYzNDUuOTk3aC0yODZ2LTg3My45OTdoMjg2djM4OGgyMDh2LTM0LjAwM2gyODZ2NTIwaC0yODZ2LTE3MmgtODB2MzIyLjAwM3pNNTgwIDk2MHYtODBoMjY0di01OTAuMDAzaDYwdjY3MC4wMDN6TTQ4My41ODYgMjI1Ljc2di0yNzZoNTZ2MTIwaDEwOHYtMTIwaDU2djI3NmgtNTZ2LTEwOGgtMTA4djEwOHpNODA2Ljk1OSAyMjUuNzZ2LTI3Nmg1NnYxMDRoMzZjMjUuMTI1IDAgNDQuNzUgMS40MDggNTggMy45NjggOS43NSAyLjExMiAxOC41NjIgNy40MzcgMjggMTMuOTk3IDkuNDM3IDYuNTY2IDE3Ljg3NSAxNC41MDIgMjQgMjYuMDAzIDYuMTI1IDExLjQ5NCA4IDI1LjEyIDggNDEuOTk3IDAgMjEuODc1LTUuMzc1IDQwLjE5Mi0xNiA1NC4wMDNzLTIyLjI1IDIzLjkwNC0zOCAyOGMtMTAuMjUgMi42ODgtMzIuMjUgMy45NjgtNjYgMy45Njh6TTg2Mi45NTkgMTc3Ljc2aDI2YzIwIDAgMzMuMzc1LTAuNzA0IDQwLTEuOTg0IDktMS42IDE2LjEyNS01LjUwNCAyMi0xMiA1Ljg3NS02LjUwMiAxMC0xNC4wMDMgMTAtMjQgMC04LjEyOC0xLjgxMi0xNS44NTMtNi0yMS45OTdzLTEwLjYyNS05LjEyLTE4LTEyYy03LjM3NS0yLjg4LTIyLjEyNS02LjAxNi00NC02LjAxNmgtMzB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NDE7IiBnbHlwaC1uYW1lPSJpdC1kYXRhYmFzZSIgZD0iTTUxNCA5NjBjLTI4Mi43NyAwLTUxMi05OS4zMzEtNTEyLTIyMnMyMjkuMjMtMjIyIDUxMi0yMjJjMjgyLjc3IDAgNTEyIDk5LjMzMSA1MTIgMjIyIDAgMS4zODMgMC4wNTggMi42MjMgMCA0LTAuMDI5IDAuNjg4IDAuMDQzIDEuMzEzIDAgMi03LjU3IDExOS44MDItMjM0LjAxMSAyMTYtNTEyIDIxNnpNMCA3MzJ2LTEzOGMxLjg1NC0yMC44MjkgNC00NC4yNTMgNC01NCAwLTEyMi42NjkgMjI5LjIzLTIyMiA1MTItMjIyczUxMiA5OS4zMzEgNTEyIDIyMnYxNDhjMC0xMjIuNjY5LTIyOS4yMy0yMjItNTEyLTIyMnMtNTEyIDk5LjMzMS01MTIgMjIyYzAgNy4yMjctMi43OTUgMzAuNDA3LTQgNDR6TTAgNTE2di0xMzBjMS44NTQtMjAuODI5IDQtNDQuMjUzIDQtNTQgMC0xMjIuNjY5IDIyOS4yMy0yMjIgNTEyLTIyMnM1MTIgOTkuMzMxIDUxMiAyMjJ2MTQwYzAtMTIyLjY2OS0yMjkuMjMtMjIyLTUxMi0yMjJzLTUxMiA5OS4zMzEtNTEyIDIyMmMwIDcuMjI3LTIuNzk1IDMwLjQwNy00IDQ0ek0wIDMwOHYtMTM4YzAuNDM5LTMuNTIgMi05LjUxIDItMTIgMC0xMjIuNjY5IDIyOS4yMy0yMjIgNTEyLTIyMnM1MTIgOTkuMzMxIDUxMiAyMjJjMCAyLjI0IDEuNDgzIDguNDk5IDIgMTJ2OTRjMC0xMjIuNjY5LTIyOS4yMy0yMjItNTEyLTIyMnMtNTEyIDk5LjMzMS01MTIgMjIyYzAgNy4yMjctMi43OTUgMzAuNDA3LTQgNDR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NDI7IiBnbHlwaC1uYW1lPSJpdC1kYXRhYmFzZS1tc3NxbCIgZD0iTTUxNCA5NjBjLTI4Mi43NyAwLTUxMi05OS4zMzEtNTEyLTIyMnMyMjkuMjMtMjIyIDUxMi0yMjJjMjgyLjc3IDAgNTEyIDk5LjMzMSA1MTIgMjIyIDAgMS4zODMgMC4wNTggMi42MjMgMCA0LTAuMDI5IDAuNjg4IDAuMDQzIDEuMzEzIDAgMi03LjU3IDExOS44MDItMjM0LjAxMSAyMTYtNTEyIDIxNnpNMCA3MzJ2LTEzOGMxLjg1NC0yMC44MjkgNC00NC4yNTMgNC01NCAwLTEyMi42NjkgMjI5LjIzLTIyMiA1MTItMjIyczUxMiA5OS4zMzEgNTEyIDIyMnYxNDhjMC0xMjIuNjY5LTIyOS4yMy0yMjItNTEyLTIyMnMtNTEyIDk5LjMzMS01MTIgMjIyYzAgNy4yMjctMi43OTUgMzAuNDA3LTQgNDR6TTAgNTE2di0xMzBjMS44NTQtMjAuODI5IDQtNDQuMjUzIDQtNTQgMC0xNy40NTMgNS4yMjUtMzMuNzExIDE0LTUwaDIzOGMtMTUwLjIzOCAzOC42NzQtMjUyIDEwOC42OTgtMjUyIDE5MCAwIDcuMjI3LTIuNzk1IDMwLjQwNy00IDQ0ek0xMDI4IDQ3MmMwLTgxLjMwMi0xMDEuNzYyLTE1MS4zMjYtMjUyLTE5MGgyMzhjOC43NzUgMTYuMjg5IDE0IDMyLjU0NyAxNCA1MHYxNDB6TTAgMzA4di0yNmgyYy0wLjkxNyA5LjQ1LTEuMjg5IDE3Ljk3OC0yIDI2ek0xMTQgMjQ0Yy0yMS4xMjUgMC0zOS4wNjMtMy42LTU0LTEwLTE0LjkzOC02LjM3NC0yNi4wNjMtMTUuODE0LTM0LTI4LTcuOTM4LTEyLjE5Mi0xMi0yNi4wMDMtMTItNDAgMC0yMS43NDcgOS4xMjUtMzguODcgMjYtNTQgMTItMTAuNzQ2IDMyLjI1LTIwLjYyMSA2Mi0yOCAyMy4xMjUtNS43MjggMzcuNS05Ljc2IDQ0LTEyIDkuNS0zLjM3MyAxNi4xODctNy40NTYgMjAtMTIgMy44MTItNC41NjMgNi05LjQ5OCA2LTE2IDAtMTAuMTI1LTQuOTM4LTIwLjQ0Mi0xNC0yOC05LjA2My03LjU3MS0yMi4xMjUtMTAtNDAtMTAtMTYuODc1IDAtMzAuMDYzIDMuNDk0LTQwIDEyLTkuOTM4IDguNDk5LTE2Ljc1IDIxLjg3NS0yMCA0MGwtNTQtNmMzLjYyNS0zMC43NDYgMTUuMzc1LTUzLjkzNiAzNC03MHM0NS4yNS0yNCA4MC0yNGMyMy44NzUgMCA0NCAzLjMxOCA2MCAxMCAxNiA2LjY4OCAyNy4yNSAxOC4yNDYgMzYgMzIgOC43NSAxMy43NDcgMTQgMjguMjUgMTQgNDQgMCAxNy4zNy00LjY4OCAzMi4xOTItMTIgNDQtNy4zMTMgMTEuODE0LTE3LjA2MyAyMS4xODQtMzAgMjgtMTIuOTM4IDYuODEtMzMgMTMuNi02MCAyMC0yNyA2LjM4MS00MyAxMi4xMTItNTAgMTgtNS41IDQuNjIxLTggOS40OTgtOCAxNiAwIDcuMTIzIDIuMTI1IDEzLjc3NiA4IDE4IDkuMTI1IDYuNjExIDIxLjg3NSAxMCAzOCAxMCAxNS42MjUgMCAyNi4xODctMy43OTIgMzQtMTAgNy44MTItNi4xODkgMTMuNjI1LTE1Ljg3NSAxNi0zMGw1NiAyYy0wLjg3NSAyNS4yNDgtMTAuNTYzIDQ0Ljg3LTI4IDYwLTE3LjQzOCAxNS4xMjMtNDMuNSAyNC03OCAyNHpNMzk4IDI0NGMtNDEuMTI1IDAtNzQtMTMuMDY2LTk4LTM4LTI0LTI0Ljk0MS0zNi02MS4xMjMtMzYtMTA2IDAtNDQuOTk4IDEyLjA2Mi03OS4xMjMgMzYtMTA0IDIzLjkzNy0yNC44NyA1NS43NS0zOCA5OC0zOCAyMS44NzUgMCA0MiA0LjEyOCA2MCAxMiAyMi44NzUtMTUuMzczIDM2LjI1LTIzLjEwNCAzOC0yNCA4LTQuMzY1IDE1LjYyNS03LjUwNCAyNC0xMGwyMCA0MGMtMTYgNS43NTQtMzAuMzc1IDEyLjI1My00NCAyMiAxMSAxMi44NzcgMTkgMjYuMjUzIDI0IDQwIDYuNjI1IDE4LjAwMyAxMCAzOC4yNSAxMCA2MiAwIDQ0Ljg3Ny0xMi4xMjUgODEuMDU5LTM2IDEwNi0yMy44NzUgMjQuOTM0LTU1LjI1IDM4LTk2IDM4ek05MDQgMjQ0Yy0yMS4xMjUgMC0zOS4wNjMtMy42LTU0LTEwLTE0LjkzOC02LjM3NC0yNi4wNjMtMTUuODE0LTM0LTI4LTcuOTM4LTEyLjE5Mi0xMi0yNi4wMDMtMTItNDAgMC0yMS43NDcgOS4xMjUtMzguODcgMjYtNTQgMTItMTAuNzQ2IDMyLjI1LTIwLjYyMSA2Mi0yOCAyMy4xMjUtNS43MjggMzcuNS05Ljc2IDQ0LTEyIDkuNS0zLjM3MyAxNi4xODgtNy40NTYgMjAtMTIgMy44MTItNC41NjMgNi05LjQ5OCA2LTE2IDAtMTAuMTI1LTQuOTM4LTIwLjQ0Mi0xNC0yOC05LjA2My03LjU3MS0yMi4xMjUtMTAtNDAtMTAtMTYuODc1IDAtMzAuMDYzIDMuNDk0LTQwIDEyLTkuOTM4IDguNDk5LTE2Ljc1IDIxLjg3NS0yMCA0MGwtNTQtNmMzLjYyNS0zMC43NDYgMTUuMzc1LTUzLjkzNiAzNC03MHM0NS4yNS0yNCA4MC0yNGMyMy44NzUgMCA0NCAzLjMxOCA2MCAxMCAxNiA2LjY4OCAyNy4yNSAxOC4yNDYgMzYgMzIgOC43NSAxMy43NDcgMTQgMjguMjUgMTQgNDQgMCAxNy4zNy00LjY4OCAzMi4xOTItMTIgNDQtNy4zMTMgMTEuODE0LTE3LjA2MyAyMS4xODQtMzAgMjgtMTIuOTM4IDYuODEtMzMgMTMuNi02MCAyMC0yNyA2LjM4MS00MyAxMi4xMTItNTAgMTgtNS41IDQuNjIxLTEwIDkuNDk4LTEwIDE2IDAgNy4xMjMgNC4xMjUgMTMuNzc2IDEwIDE4IDkuMTI1IDYuNjExIDIxLjg3NSAxMCAzOCAxMCAxNS42MjUgMCAyNi4xODctMy43OTIgMzQtMTAgNy44MTItNi4xODkgMTMuNjI1LTE1Ljg3NSAxNi0zMGw1NiAyYy0wLjg3NSAyNS4yNDgtMTAuNTYzIDQ0Ljg3LTI4IDYwLTE3LjQzOCAxNS4xMjMtNDMuNSAyNC03OCAyNHpNNTc0IDIzNnYtMjcyaDE5NHY0NmgtMTM4djIyNmgtNTZ6TTM5NiAxOTZjMjIuNjI1IDAgNDItOC4zMTQgNTYtMjQgMTQtMTUuNjkzIDIwLTQwLjI1IDIwLTcyIDAtMTUuMzczLTAuNDM4LTI4LjEyOC00LTQwLTMuNTYzLTExLjg3OC04Ljg3NS0yMS42MjktMTYtMzAtMTYuNjI1IDEyLjQ5OS0zNS43NSAyMS43MjgtNTQgMjhsLTE0LTMyYzExLjYyNS00LjEyOCAyMi43NS0xMC42MjcgMzQtMTgtNy4xMjUtMi42MjQtMTQtNC0yMi00LTIxLjUgMC0zOS45MzggOC4wNjQtNTQgMjRzLTIyIDM5Ljg3OC0yMiA3MmMwIDMxLjYyOSA3LjkzNyA1Ni4yNSAyMiA3MnMzMS4zNzUgMjQgNTQgMjR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NDM7IiBnbHlwaC1uYW1lPSJpdC1kYXRhYmFzZS1vcmFjbGUiIGQ9Ik01MTQgOTYwYy0yODIuNzcgMC01MTItOTkuMzMxLTUxMi0yMjJzMjI5LjIzLTIyMiA1MTItMjIyYzI4Mi43NyAwIDUxMiA5OS4zMzEgNTEyIDIyMiAwIDEuMzgzIDAuMDU4IDIuNjIzIDAgNC0wLjAyOSAwLjY4OCAwLjA0MyAxLjMxMyAwIDItNy41NyAxMTkuODAyLTIzNC4wMTEgMjE2LTUxMiAyMTZ6TTAgNzMydi0xMzhjMS44NTQtMjAuODI5IDQtNDQuMjUzIDQtNTQgMC0xMjIuNjY5IDIyOS4yMy0yMjIgNTEyLTIyMnM1MTIgOTkuMzMxIDUxMiAyMjJ2MTQ4YzAtMTIyLjY2OS0yMjkuMjMtMjIyLTUxMi0yMjJzLTUxMiA5OS4zMzEtNTEyIDIyMmMwIDcuMjI3LTIuNzk1IDMwLjQwNy00IDQ0ek0wIDUxNnYtMTMwYzEuODU0LTIwLjgyOSA0LTQ0LjI1MyA0LTU0IDAtMTcuNDUzIDUuMjI1LTMzLjcxMSAxNC01MGgyMzhjLTE1MC4yMzggMzguNjc0LTI1MiAxMDguNjk4LTI1MiAxOTAgMCA3LjIyNy0yLjc5NSAzMC40MDctNCA0NHpNMTAyOCA0NzJjMC04MS4zMDItMTAxLjc2Mi0xNTEuMzI2LTI1Mi0xOTBoMjM4YzguNzc1IDE2LjI4OSAxNCAzMi41NDcgMTQgNTB6TTAgMzA4di0yNmgyYy0wLjkxNyA5LjQ1LTEuMjg5IDE3Ljk3OC0yIDI2ek0xNDAgMjQ0Yy0yMi4zNzUgMC00Mi44NzUtNC43NDktNjAtMTItMTIuODc1LTUuMzc2LTIzLjE4OC0xMi44NzctMzQtMjRzLTE5Ljc1LTIzLjk5Ny0yNi0zOGMtOC4zNzUtMTguOTk1LTE0LTQyLTE0LTcwIDAtNDMuNzUgMTMuODc1LTc5LjA1OSAzOC0xMDQgMjQuMTI1LTI0LjkzNCA1NS4xMjUtMzggOTYtMzggNDAuMzc1IDAgNzMuODc1IDEyLjkzOCA5OCAzOHMzNiA1OS42MjIgMzYgMTA0YzAgNDQuNzQ5LTExLjY4OCA4MC44NzQtMzYgMTA2cy01Ny41IDM4LTk4IDM4ek03MTQgMjQ0Yy0zOC41IDAtNzAuMzc1LTEyLjY4OC05NC0zOHMtMzYtNjIuMjUzLTM2LTEwOGMwLTQzLjI1MSAxMi41LTc3LjA1OSAzNi0xMDIgMjMuNS0yNC45MzQgNTMuNS0zOCA5MC0zOCAyOS41IDAgNTIuODEyIDcuNDQgNzIgMjIgMTkuMTg3IDE0LjU2NiAzMy43NSAzNy45OTcgNDIgNjhsLTU0IDE2Yy00LjYyNS0yMC4xMjgtMTEuMzc1LTM0LjYyNC0yMi00NC0xMC42MjUtOS4zODktMjMuMjUtMTQuMDA2LTM4LTE0LTIwLTAuMDA2LTM3LjUgNy4yNDgtNTAgMjItMTIuNSAxNC43NDYtMTggMzkuMjQ4LTE4IDc0IDAgMzIuNzQ5IDUuMzEzIDU3LjM3IDE4IDcyIDEyLjY4NyAxNC42MjQgMjkuNjI1IDIyIDUwIDIyIDE0Ljc1IDAgMjcuNjg3LTMuNzUgMzgtMTJzMTYuNzUtMTkuNzQ3IDIwLTM0bDU2IDEyYy02LjI1IDIyLjAwMy0xNy41IDQwLjI1LTMwIDUyLTIxIDE5Ljg3OC00Ni4zNzUgMzAtODAgMzB6TTMxNiAyMzh2LTI3NGg1NnYxMTRoMTJjMTIuNzUgMCAyMi4xMjUgMC4wNDggMjgtMiA1Ljg3NS0yLjA2MSAxMC43NS02LjQzMiAxNi0xMiA1LjI1LTUuNTYyIDE1Ljc1LTE4LjYzIDMwLTQwbDQwLTYwaDY2bC0zNCA1NGMtMTMuMjUgMjEuMzc2LTI0LjE4OCAzNS42MjktMzIgNDQtNy44MTMgOC4zNzgtMTYgMTQuOTk4LTI4IDIyIDI0LjEyNSAzLjUwMSA0MS44NzUgMTIuNTYgNTQgMjYgMTIuMTI1IDEzLjQzNCAxOCAzMS4zNzMgMTggNTIgMCAxNi4yNS00IDI5LjM3My0xMiA0Mi04IDEyLjYyMS0xOC42ODggMjMuMDcyLTMyIDI4LTEzLjMxMyA0LjkwOS0zNC42MjUgNi02NCA2ek04NzQgMjM2di0yNzJoMTQ2LjY1MnY0NmgtOTIuNjUydjIyNnpNMTQwIDE5NmMyMi44NzUgMCA0Mi4xODctOC41MDYgNTYtMjQgMTMuODEyLTE1LjUwMSAyMC0zOC40OTkgMjAtNzAgMC0zMS44NzgtNy44MTMtNTYuMDY0LTIyLTcycy0zMS44NzUtMjQuMDA2LTU0LTI0Yy0yMi4xMjUtMC4wMDYtMzkuNjI1IDcuOTM2LTU0IDI0cy0yMiA0MC44Ny0yMiA3MmMwIDMxLjYyMiA4IDU0LjMwNyAyMiA3MCAxNCAxNS42ODYgMzEuMTI1IDI0IDU0IDI0ek0zNzIgMTkyaDQ0YzIyLjUgMCAzNS41IDAuNjQgNDAgMCA5LTEuNDk4IDE3LjA2Mi02LjMwNCAyMi0xMiA0LjkzNy01LjY4MyA2LTEyLjc0NiA2LTIyIDAtOC4yNS0yLjI1LTE0LjQ5Ni02LTIwLTMuNzUtNS40ODUtNy4zNzUtOS43Ni0xNC0xMnMtMjMuMzc1LTQtNTAtNGgtNDJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NDQ7IiBnbHlwaC1uYW1lPSJpdC1kYXRhYmFzZS1zeWJhc2UiIGQ9Ik01MTQgOTYwYy0yODIuNzcgMC01MTItOTkuMzMxLTUxMi0yMjJzMjI5LjIzLTIyMiA1MTItMjIyYzI4Mi43NyAwIDUxMiA5OS4zMzEgNTEyIDIyMiAwIDEuMzgzIDAuMDU4IDIuNjIzIDAgNC0wLjAyOSAwLjY4OCAwLjA0MyAxLjMxMyAwIDItNy41NyAxMTkuODAyLTIzNC4wMTEgMjE2LTUxMiAyMTZ6TTAgNzMydi0xMzhjMS44NTQtMjAuODI5IDQtNDQuMjUzIDQtNTQgMC0xMjIuNjY5IDIyOS4yMy0yMjIgNTEyLTIyMnM1MTIgOTkuMzMxIDUxMiAyMjJ2MTQ4YzAtMTIyLjY2OS0yMjkuMjMtMjIyLTUxMi0yMjJzLTUxMiA5OS4zMzEtNTEyIDIyMmMwIDcuMjI3LTIuNzk1IDMwLjQwNy00IDQ0ek0wIDUxNnYtMTMwYzEuODU0LTIwLjgyOSA0LTQ0LjI1MyA0LTU0IDAtMTcuNDUzIDUuMjI1LTMzLjcxMSAxNC01MGgyMzhjLTE1MC4yMzggMzguNjc0LTI1MiAxMDguNjk4LTI1MiAxOTAgMCA3LjIyNy0yLjc5NSAzMC40MDctNCA0NHpNMTAyOCA0NzJjMC04MS4zMDItMTAxLjc2Mi0xNTEuMzI2LTI1Mi0xOTBoMjM4YzguNzc1IDE2LjI4OSAxNCAzMi41NDcgMTQgNTB2MTQwek0wIDMwOHYtMjZoMmMtMC45MTcgOS40NS0xLjI4OSAxNy45NzgtMiAyNnpNMTE0IDI0NGMtMjEuMTI1IDAtMzkuMDYzLTMuNi01NC0xMC0xNC45MzgtNi4zNzQtMjYuMDYzLTE1LjgxNC0zNC0yOC03LjkzOC0xMi4xOTItMTItMjYuMDAzLTEyLTQwIDAtMjEuNzQ3IDkuMTI1LTM4Ljg3IDI2LTU0IDEyLTEwLjc0NiAzMi4yNS0yMC42MjEgNjItMjggMjMuMTI1LTUuNzI4IDM3LjUtOS43NiA0NC0xMiA5LjUtMy4zNzMgMTYuMTg3LTcuNDU2IDIwLTEyIDMuODEyLTQuNTYzIDYtOS40OTggNi0xNiAwLTEwLjEyNS00LjkzOC0yMC40NDItMTQtMjgtOS4wNjMtNy41NzEtMjIuMTI1LTEwLTQwLTEwLTE2Ljg3NSAwLTMwLjA2MyAzLjQ5NC00MCAxMi05LjkzOCA4LjQ5OS0xNi43NSAyMS44NzUtMjAgNDBsLTU0LTZjMy42MjUtMzAuNzQ2IDE1LjM3NS01My45MzYgMzQtNzBzNDUuMjUtMjQgODAtMjRjMjMuODc1IDAgNDQgMy4zMTggNjAgMTAgMTYgNi42ODggMjcuMjUgMTguMjQ2IDM2IDMyIDguNzUgMTMuNzQ3IDE0IDI4LjI1IDE0IDQ0IDAgMTcuMzctNC42ODggMzIuMTkyLTEyIDQ0LTcuMzEzIDExLjgxNC0xNy4wNjMgMjEuMTg0LTMwIDI4LTEyLjkzOCA2LjgxLTMzIDEzLjYtNjAgMjAtMjcgNi4zODEtNDMgMTIuMTEyLTUwIDE4LTUuNSA0LjYyMS04IDkuNDk4LTggMTYgMCA3LjEyMyAyLjEyNSAxMy43NzYgOCAxOCA5LjEyNSA2LjYxMSAyMS44NzUgMTAgMzggMTAgMTUuNjI1IDAgMjYuMTg3LTMuNzkyIDM0LTEwIDcuODEyLTYuMTg5IDEzLjYyNS0xNS44NzUgMTYtMzBsNTYgMmMtMC44NzUgMjUuMjQ4LTEwLjU2MyA0NC44Ny0yOCA2MC0xNy40MzggMTUuMTIzLTQzLjUgMjQtNzggMjR6TTkwNCAyNDRjLTIxLjEyNSAwLTM5LjA2My0zLjYtNTQtMTAtMTQuOTM4LTYuMzc0LTI2LjA2My0xNS44MTQtMzQtMjgtNy45MzgtMTIuMTkyLTEyLTI2LjAwMy0xMi00MCAwLTIxLjc0NyA5LjEyNS0zOC44NyAyNi01NCAxMi0xMC43NDYgMzIuMjUtMjAuNjIxIDYyLTI4IDIzLjEyNS01LjcyOCAzNy41LTkuNzYgNDQtMTIgOS41LTMuMzczIDE2LjE4OC03LjQ1NiAyMC0xMiAzLjgxMi00LjU2MyA2LTkuNDk4IDYtMTYgMC0xMC4xMjUtMi45MzgtMjAuNDQyLTEyLTI4LTkuMDYzLTcuNTcxLTI0LjEyNS0xMC00Mi0xMC0xNi44NzUgMC0zMC4wNjMgMy40OTQtNDAgMTItOS45MzggOC40OTktMTYuNzUgMjEuODc1LTIwIDQwbC01NC02YzMuNjI1LTMwLjc0NiAxNS4zNzUtNTMuOTM2IDM0LTcwczQ1LjI1LTI0IDgwLTI0YzIzLjg3NSAwIDQ0IDMuMzE4IDYwIDEwIDE2IDYuNjg4IDI3LjI1IDE4LjI0NiAzNiAzMiA4Ljc1IDEzLjc0NyAxNCAyOC4yNSAxNCA0NCAwIDE3LjM3LTIuNjg4IDMyLjE5Mi0xMCA0NC03LjMxMyAxMS44MTQtMTkuMDYzIDIxLjE4NC0zMiAyOC0xMi45MzggNi44MS0zMyAxMy42LTYwIDIwLTI3IDYuMzgxLTQzIDEyLjExMi01MCAxOC01LjUgNC42MjEtOCA5LjQ5OC04IDE2IDAgNy4xMjMgMi4xMjUgMTMuNzc2IDggMTggOS4xMjUgNi42MTEgMjEuODc1IDEwIDM4IDEwIDE1LjYyNSAwIDI4LjE4Ny0zLjc5MiAzNi0xMCA3LjgxMi02LjE4OSAxMS42MjUtMTUuODc1IDE0LTMwbDU2IDJjLTAuODc2IDI1LjI0OC0xMC41NjMgNDQuODctMjggNjAtMTcuNDM4IDE1LjEyMy00My41IDI0LTc4IDI0ek0yNDYgMjM4bDEwMC0xNTh2LTExNmg1NnYxMTRsMTAyIDE2MGgtNjRsLTY0LTEwOC02NCAxMDhoLTY2ek01MzIgMjM4di0yNzRoOTJjMzUuMzc1IDAuMjU2IDU4Ljc1IDAuOTc2IDY4IDIgMTQuNzUgMS42MjYgMjcuOTM3IDQuOTM0IDM4IDEyIDEwLjA2MiA3LjA1OSAxNi4xODggMTYuMTg2IDIyIDI4IDUuODEyIDExLjgwOCAxMCAyNS41MDEgMTAgMzggMCAxNS44NzItNSAyOC4yNS0xNCA0MHMtMjEuMjUgMjEuMTM2LTM4IDI2YzExLjg3NSA1LjM3NiAyMS4wNjIgMTMuMjU0IDI4IDI0IDYuOTM3IDEwLjc1MiAxMCAyMy4xMyAxMCAzNiAwIDExLjg3OC0yLjM3NSAyMi40MzgtOCAzMnMtMTMuNTYzIDE2LjI0LTIyIDIyYy04LjQzOCA1Ljc3My0xNy4zMTMgMTAuMjA4LTI4IDEyLTEwLjY4OCAxLjg1Ni0yNi4yNSAyLTQ4IDJoLTExMHpNNTg2IDE5MmgzMmMyNi4xMjUgMCA0Mi41IDAuNjQgNDggMCA5LjI1LTEuMTI2IDE3LjMxMi00LjY4OCAyMi0xMHM2LTExLjUwMSA2LTIwYzAtOC44NzctMi41NjMtMTYuNTYtOC0yMi01LjQzNy01LjQzNC0xMi41LTguODQ4LTIyLTEwLTUuMjUtMC45Ni0xOC4zNzUgMC00MCAwaC0zOHY2MnpNNTg2IDg0aDQ2YzI1LjI1IDAgNDAuNDM3LTEuMzc2IDQ4LTRzMTQtOC4yNCAxOC0xNGM0LTUuNzQ3IDYtMTEuNzUgNi0yMCAwLTkuNzQ3LTIuODEzLTE4LjE3Ni04LTI0LTUuMTg4LTUuODUtMTEuNzUtOC41MjgtMjAtMTAtNS4zNzUtMS4wMjQtMTgtMi0zOC0yaC01MnY3NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk0NTsiIGdseXBoLW5hbWU9Iml0LWRhdGFiYXNlLXN5YmFzZWlxIiBkPSJNNTE0IDk2MGMtMjgyLjc3IDAtNTEyLTk5LjMzMS01MTItMjIyczIyOS4yMy0yMjIgNTEyLTIyMmMyODIuNzcgMCA1MTIgOTkuMzMxIDUxMiAyMjIgMCAxLjM4MyAwLjA1OCAyLjYyMyAwIDQtMC4wMjkgMC42ODggMC4wNDMgMS4zMTMgMCAyLTcuNTcgMTE5LjgwMi0yMzQuMDExIDIxNi01MTIgMjE2ek01NzYgODg4YzQwLjc1IDAgNzQuMTI1LTEzLjA1OSA5OC0zOCAyMy44NzUtMjQuOTM0IDM2LTU5LjEzIDM2LTEwNCAwLTIzLjc1LTMuMzc1LTQ0LjAwMy0xMC02Mi01LTEzLjc1NC0xMy0yNy4xMjMtMjQtNDAgMTMuNjI1LTkuNzQ3IDI4LTE4LjI1MyA0NC0yNGwtMjAtNDBjLTguMzc1IDIuNDk2LTE4IDcuNjQyLTI2IDEyLTEuNzUgMC44OTYtMTMuMTI1IDguNjI3LTM2IDI0LTE4LTcuODcyLTM4LjEyNS0xMi02MC0xMi00Mi4yNSAwLTc2LjA2MyAxMy4xMjMtMTAwIDM4cy0zNiA1OS4wMDItMzYgMTA0YzAgNDQuODcgMTIgNzkuMDY2IDM2IDEwNCAyNCAyNC45NDEgNTYuODc1IDM4IDk4IDM4ek0zNDYgODg0aDU2di0yNzZoLTU2djI3NnpNNTYwIDg0MGMtMTUuMzYzLTIuOTU0LTI3LjQ1My0xMi4xODctMzgtMjQtMTQuMDYzLTE1Ljc1LTIyLTM4LjM3OC0yMi03MCAwLTMyLjEyOCA3LjkzNy01Ni4wNjQgMjItNzJzMzAuNS0yNCA1Mi0yNGM4IDAgMTYuODc1IDEuMzc2IDI0IDQtMTEuMjUgNy4zNzMtMjQuMzc1IDEzLjg3OC0zNiAxOGwxNiAzMGMxOC4yNS02LjI3MiAzNS4zNzUtMTUuNTAxIDUyLTI4IDcuMTI1IDguMzc4IDEyLjQzNyAyMC4xMjggMTYgMzIgMy41NjIgMTEuODc4IDUuOTk5IDI0LjYyMSA2IDQwIDAgMzEuNzUtNiA1Ni4zMTQtMjAgNzJzLTMzLjM3NSAyMi01NiAyMmMtNS42NTYgMC0xMC44NzkgMC45ODUtMTYgMHpNMCA3MzJ2LTEzOGMxLjg1NC0yMC44MjkgNC00NC4yNTMgNC01NCAwLTEyMi42NjkgMjI5LjIzLTIyMiA1MTItMjIyczUxMiA5OS4zMzEgNTEyIDIyMnYxNDhjMC0xMjIuNjY5LTIyOS4yMy0yMjItNTEyLTIyMnMtNTEyIDk5LjMzMS01MTIgMjIyYzAgNy4yMjctMi43OTUgMzAuNDA3LTQgNDR6TTAgNTE2di0xMzBjMS44NTQtMjAuODI5IDQtNDQuMjUzIDQtNTQgMC0xNy40NTMgNS4yMjUtMzMuNzExIDE0LTUwaDIzOGMtMTUwLjIzOCAzOC42NzQtMjUyIDEwOC42OTgtMjUyIDE5MCAwIDcuMjI3LTIuNzk1IDMwLjQwNy00IDQ0ek0xMDI4IDQ3MmMwLTgxLjMwMi0xMDEuNzYyLTE1MS4zMjYtMjUyLTE5MGgyMzhjOC43NzUgMTYuMjg5IDE0IDMyLjU0NyAxNCA1MHYxNDB6TTAgMzA4di0yNmgyYy0wLjkxNyA5LjQ1LTEuMjg5IDE3Ljk3OC0yIDI2ek0xMTQgMjQ0Yy0yMS4xMjUgMC0zOS4wNjMtMy42LTU0LTEwLTE0LjkzOC02LjM3NC0yNi4wNjMtMTUuODE0LTM0LTI4LTcuOTM4LTEyLjE5Mi0xMi0yNi4wMDMtMTItNDAgMC0yMS43NDcgOS4xMjUtMzguODcgMjYtNTQgMTItMTAuNzQ2IDMyLjI1LTIwLjYyMSA2Mi0yOCAyMy4xMjUtNS43MjggMzcuNS05Ljc2IDQ0LTEyIDkuNS0zLjM3MyAxNi4xODctNy40NTYgMjAtMTIgMy44MTItNC41NjMgNi05LjQ5OCA2LTE2IDAtMTAuMTI1LTQuOTM4LTIwLjQ0Mi0xNC0yOC05LjA2My03LjU3MS0yMi4xMjUtMTAtNDAtMTAtMTYuODc1IDAtMzAuMDYzIDMuNDk0LTQwIDEyLTkuOTM4IDguNDk5LTE2Ljc1IDIxLjg3NS0yMCA0MGwtNTQtNmMzLjYyNS0zMC43NDYgMTUuMzc1LTUzLjkzNiAzNC03MHM0NS4yNS0yNCA4MC0yNGMyMy44NzUgMCA0NCAzLjMxOCA2MCAxMCAxNiA2LjY4OCAyNy4yNSAxOC4yNDYgMzYgMzIgOC43NSAxMy43NDcgMTQgMjguMjUgMTQgNDQgMCAxNy4zNy00LjY4OCAzMi4xOTItMTIgNDQtNy4zMTMgMTEuODE0LTE3LjA2MyAyMS4xODQtMzAgMjgtMTIuOTM4IDYuODEtMzMgMTMuNi02MCAyMC0yNyA2LjM4MS00MyAxMi4xMTItNTAgMTgtNS41IDQuNjIxLTggOS40OTgtOCAxNiAwIDcuMTIzIDIuMTI1IDEzLjc3NiA4IDE4IDkuMTI1IDYuNjExIDIxLjg3NSAxMCAzOCAxMCAxNS42MjUgMCAyNi4xODctMy43OTIgMzQtMTAgNy44MTItNi4xODkgMTMuNjI1LTE1Ljg3NSAxNi0zMGw1NiAyYy0wLjg3NSAyNS4yNDgtMTAuNTYzIDQ0Ljg3LTI4IDYwLTE3LjQzOCAxNS4xMjMtNDMuNSAyNC03OCAyNHpNOTA0IDI0NGMtMjEuMTI1IDAtMzkuMDYzLTMuNi01NC0xMC0xNC45MzgtNi4zNzQtMjYuMDYzLTE1LjgxNC0zNC0yOC03LjkzOC0xMi4xOTItMTItMjYuMDAzLTEyLTQwIDAtMjEuNzQ3IDkuMTI1LTM4Ljg3IDI2LTU0IDEyLTEwLjc0NiAzMi4yNS0yMC42MjEgNjItMjggMjMuMTI1LTUuNzI4IDM3LjUtOS43NiA0NC0xMiA5LjUtMy4zNzMgMTYuMTg4LTcuNDU2IDIwLTEyIDMuODEyLTQuNTYzIDYtOS40OTggNi0xNiAwLTEwLjEyNS0yLjkzOC0yMC40NDItMTItMjgtOS4wNjMtNy41NzEtMjQuMTI1LTEwLTQyLTEwLTE2Ljg3NSAwLTMwLjA2MyAzLjQ5NC00MCAxMi05LjkzOCA4LjQ5OS0xNi43NSAyMS44NzUtMjAgNDBsLTU0LTZjMy42MjUtMzAuNzQ2IDE1LjM3NS01My45MzYgMzQtNzBzNDUuMjUtMjQgODAtMjRjMjMuODc1IDAgNDQgMy4zMTggNjAgMTAgMTYgNi42ODggMjcuMjUgMTguMjQ2IDM2IDMyIDguNzUgMTMuNzQ3IDE0IDI4LjI1IDE0IDQ0IDAgMTcuMzctMi42ODggMzIuMTkyLTEwIDQ0LTcuMzEzIDExLjgxNC0xOS4wNjMgMjEuMTg0LTMyIDI4LTEyLjkzOCA2LjgxLTMzIDEzLjYtNjAgMjAtMjcgNi4zODEtNDMgMTIuMTEyLTUwIDE4LTUuNSA0LjYyMS04IDkuNDk4LTggMTYgMCA3LjEyMyAyLjEyNSAxMy43NzYgOCAxOCA5LjEyNSA2LjYxMSAyMS44NzUgMTAgMzggMTAgMTUuNjI1IDAgMjguMTg3LTMuNzkyIDM2LTEwIDcuODEyLTYuMTg5IDExLjYyNS0xNS44NzUgMTQtMzBsNTYgMmMtMC44NzYgMjUuMjQ4LTEwLjU2MyA0NC44Ny0yOCA2MC0xNy40MzggMTUuMTIzLTQzLjUgMjQtNzggMjR6TTI0NiAyMzhsMTAwLTE1OHYtMTE2aDU2djExNGwxMDIgMTYwaC02NGwtNjQtMTA4LTY0IDEwOGgtNjZ6TTUzMiAyMzh2LTI3NGg5MmMzNS4zNzUgMC4yNTYgNTguNzUgMC45NzYgNjggMiAxNC43NSAxLjYyNiAyNy45MzcgNC45MzQgMzggMTIgMTAuMDYyIDcuMDU5IDE2LjE4OCAxNi4xODYgMjIgMjggNS44MTIgMTEuODA4IDEwIDI1LjUwMSAxMCAzOCAwIDE1Ljg3Mi01IDI4LjI1LTE0IDQwcy0yMS4yNSAyMS4xMzYtMzggMjZjMTEuODc1IDUuMzc2IDIxLjA2MiAxMy4yNTQgMjggMjQgNi45MzcgMTAuNzUyIDEwIDIzLjEzIDEwIDM2IDAgMTEuODc4LTIuMzc1IDIyLjQzOC04IDMycy0xMy41NjMgMTYuMjQtMjIgMjJjLTguNDM4IDUuNzczLTE3LjMxMyAxMC4yMDgtMjggMTItMTAuNjg4IDEuODU2LTI2LjI1IDItNDggMmgtMTEwek01ODYgMTkyaDMyYzI2LjEyNSAwIDQyLjUgMC42NCA0OCAwIDkuMjUtMS4xMjYgMTcuMzEyLTQuNjg4IDIyLTEwczYtMTEuNTAxIDYtMjBjMC04Ljg3Ny0yLjU2My0xNi41Ni04LTIyLTUuNDM3LTUuNDM0LTEyLjUtOC44NDgtMjItMTAtNS4yNS0wLjk2LTE4LjM3NSAwLTQwIDBoLTM4djYyek01ODYgODRoNDZjMjUuMjUgMCA0MC40MzctMS4zNzYgNDgtNHMxNC04LjI0IDE4LTE0YzQtNS43NDcgNi0xMS43NSA2LTIwIDAtOS43NDctMi44MTMtMTguMTc2LTgtMjQtNS4xODgtNS44NS0xMS43NS04LjUyOC0yMC0xMC01LjM3NS0xLjAyNC0xOC0yLTM4LTJoLTUydjc0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTQ2OyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtZGVsbG1kIiBkPSJNOTYgOTYwYy01My40MTEgMC05Ni00Ni44NDEtOTYtMTA2di0zNTRjMC01OS4xNTkgNDIuNTg5LTEwOCA5Ni0xMDhoODMyYzUzLjQxMSAwIDk2IDQ4Ljg0MSA5NiAxMDh2MzU0YzAgNTkuMTU5LTQyLjU4OSAxMDYtOTYgMTA2ek03NiA4ODZoODcydi00MjBoLTg3MnpNMTI4IDgxMnYtMTMyaDMzOHYxMzJ6TTU0NiA4MTJ2LTEzMmgzMzh2MTMyek0xMjYgNjM0di0xMzBoMzM4djEzMHpNNTQ2IDYzNHYtMTMwaDMzOHYxMzB6TTAgMzU0LjIyOHYtMzIwaDExMGMyMS43NzcgMCA0MC45ODcgMS40OCA1NCA2IDE3LjM5NSA2LjEyNSAyOS43NzUgMTUuMDYzIDQwIDI2IDEzLjU0NCAxNC40MzggMjQuNjk2IDM0LjY2NyAzMiA1OCA1Ljk3NSAxOS4xMDQgOCA0MS42MDQgOCA2OCAwIDMwLjA0MS0xLjYyNiA1NS41MS04IDc2cy0xNS43ODQgMzcuODU0LTI4IDUyYy0xMi4yMTcgMTQuMTQ2LTI2Ljg3IDIyLjQ1OC00NCAyOC0xMi43NDggNC4wODMtMzEuNyA2LTU2IDZ6TTI5NCAzNTQuMjI4di0zMjBoMjI0djU0aC0xNjR2ODhoMTQ2djU0aC0xNDZ2NzBoMTU4djU0ek01NzAgMzUyLjIyOHYtMzE4aDIwNHY1NGgtMTQ2djI2NHpNODE4IDM1Mi4yMjh2LTMxOGgyMDZ2NTRoLTE0NnYyNjR6TTU4IDMwMC4yMjhoMjhjMjQuMDM1IDAgMzkuNzY3IDAuMDQxIDQ4LTIgMTEuMDIxLTIuNjI1IDIwLjgyOS04LjU2MyAyOC0xNnMxMi4wMTYtMTYuNzI5IDE2LTMwYzMuOTgzLTEzLjI3MSA2LTMzLjIwOSA2LTU4cy0yLjAxNy00My42MzYtNi01OGMtMy45ODQtMTQuMzY1LTkuNjkzLTI1LjcyOS0xNi0zMnMtMTQuNDM5LTkuMzc1LTI0LTEyYy03LjMwNC0yLjA0Mi0xOS41MzQtNC0zNi00aC00NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk0NzsiIGdseXBoLW5hbWU9Iml0LWRpc2tyYWlkLWVtYyIgZD0iTTk2IDk2MGMtNTMuNDExIDAtOTYtNDYuODQxLTk2LTEwNnYtMzU0YzAtNTkuMTU5IDQyLjU4OS0xMDggOTYtMTA4aDgzMmM1My40MTEgMCA5NiA0OC44NDEgOTYgMTA4djM1NGMwIDU5LjE1OS00Mi41ODkgMTA2LTk2IDEwNnpNNzYgODg2aDg3MnYtNDIwaC04NzJ6TTEyOCA4MTJ2LTEzMmgzMzh2MTMyek01NDYgODEydi0xMzJoMzM4djEzMnpNMTI2IDYzNHYtMTMwaDMzOHYxMzB6TTU0NiA2MzR2LTEzMGgzMzh2MTMwek04NTQgMzQ2LjEwMmMtNDQuOTE3IDAtODIuNDM4LTE0LjQ2OS0xMTAtNDRzLTQwLTcyLjYyNS00MC0xMjZjMC01MC40NTggMTIuNTgzLTg4LjkwNiA0MC0xMThzNjMuNDE3LTQ0IDEwNi00NGMzNC40MTYgMCA2MS42MTQgOS4wMTAgODQgMjZzMzguMzc1IDQzIDQ4IDc4bC02MiAyMGMtNS4zOTYtMjMuNDc5LTE1LjYwNC00MS4wNjMtMjgtNTJzLTI2Ljc5Mi0xNi00NC0xNmMtMjMuMzM0IDAtNDEuNDE3IDguNzkyLTU2IDI2cy0yMiA0NS40NTgtMjIgODZjMCAzOC4yMDggNy4xOTggNjQuOTM3IDIyIDgyczM0LjIyOSAyNiA1OCAyNmMxNy4yMDggMCAzMS45NjktNC4zNzUgNDQtMTRzMjAuMjA4LTIzLjM3NSAyNC00MGw2NCAxNmMtNy4yOTIgMjUuNjY2LTE5LjQxNyA0NC4yOTEtMzQgNTgtMjQuNSAyMy4xODctNTQuNzcxIDM2LTk0IDM2ek00MiAzNDAuMTAydi0zMjBoMjQ0djU0aC0xODB2ODZoMTYydjU0aC0xNjJ2NzJoMTc0djU0ek0zNDAgMzQwLjEwMnYtMzIwaDYwdjI1Mmw2NC0yNTJoNjJsNjQgMjUydi0yNTJoNjB2MzIwaC05OGwtNTYtMjE4LTYwIDIxOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk0ODsiIGdseXBoLW5hbWU9Iml0LWRpc2tyYWlkLWV0ZXJudXMiIGQ9Ik05NiA5NjBjLTUzLjQxMSAwLTk2LTQ2Ljg0MS05Ni0xMDZ2LTM1NGMwLTU5LjE1OSA0Mi41ODktMTA4IDk2LTEwOGg4MzJjNTMuNDExIDAgOTYgNDguODQxIDk2IDEwOHYzNTRjMCA1OS4xNTktNDIuNTg5IDEwNi05NiAxMDZ6TTc2IDg4Nmg4NzJ2LTQyMGgtODcyek0xMjggODEydi0xMzJoMzM4djEzMnpNNTQ2IDgxMnYtMTMyaDMzOHYxMzJ6TTEyNiA2MzR2LTEzMGgzMzh2MTMwek01NDYgNjM0di0xMzBoMzM4djEzMHpNOTA2IDMzNy40MjRjLTIyLjExNSAwLTQyLjM2My00LjU2My01OC0xMnMtMjcuNjkxLTE3Ljc4MS0zNi0zMmMtOC4zMDktMTQuMjE5LTEyLTI5LjY2Ny0xMi00NiAwLTI1LjM3NSA4LjMzNS00Ni4zNTQgMjYtNjQgMTIuNTYyLTEyLjU0MiAzNC44NTctMjMuMzk2IDY2LTMyIDI0LjIwOC02LjcwOCA0MS4xOTUtMTEuMzc1IDQ4LTE0IDkuOTQ1LTMuOTM3IDE2LjAwOS04LjY3NyAyMC0xNHM2LTEyLjQxNyA2LTIwYzAtMTEuODEzLTQuNTEzLTIxLjE3Ny0xNC0zMHMtMjMuMjg4LTE0LTQyLTE0Yy0xNy42NjUgMC0zMS41OTcgNi4wODMtNDIgMTZzLTE4LjU5OCAyNC44NTQtMjIgNDZsLTU2LTZjMy43OTUtMzUuODc1IDE0LjUwMy02My4yNiAzNC04MnM0Ny42MjItMjggODQtMjhjMjQuOTkzIDAgNDcuMjUgNC4xOTggNjQgMTJzMjguODQgMTkuOTU4IDM4IDM2YzkuMTU5IDE2LjA0MiAxNCAzMy42MjUgMTQgNTIgMCAyMC4yNzEtNC4zNDYgMzYuMjE5LTEyIDUwcy0xOC40NTcgMjQuMDUyLTMyIDMyYy0xMy41NDQgNy45NDgtMzMuNzM2IDE2LjU2Mi02MiAyNHMtNDYuNjcyIDE1LjE0Ni01NCAyMmMtNS43NTggNS4zOTYtOCAxMC40MTYtOCAxOCAwIDguMzEyIDMuODUgMTUuMDQxIDEwIDIwIDkuNTUyIDcuNzI5IDIxLjEyIDEyIDM4IDEyIDE2LjM1NyAwIDI5LjgyMS0yLjc4MSAzOC0xMHMxMy41MTQtMTkuNTIxIDE2LTM2bDU4IDJjLTAuOTE2IDI5LjQ1OC05Ljc0NiA1NC4zNTQtMjggNzJzLTQ1Ljg4NCAyNi04MiAyNnpNMCAzMzEuNDI0di0zMjBoMjE4djU0aC0xNjB2ODhoMTQ0djU0aC0xNDR2NzBoMTU2djU0ek0yNDggMzMxLjQyNHYtNTRoODZ2LTI2Nmg1OHYyNjZoODR2NTR6TTUxNCAzMzEuNDI0di0zMjBoNTR2MjA4bDExNi0yMDhoNjB2MzIwaC01NHYtMjE0bC0xMTggMjE0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTQ5OyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtZnVqaXRzdSIgZD0iTTk2IDk2MGMtNTMuNDExIDAtOTYtNDYuODQxLTk2LTEwNnYtMzU0YzAtNTkuMTU5IDQyLjU4OS0xMDggOTYtMTA4aDgzMmM1My40MTEgMCA5NiA0OC44NDEgOTYgMTA4djM1NGMwIDU5LjE1OS00Mi41ODkgMTA2LTk2IDEwNmgtODMyek03NiA4ODZoODcydi00MjBoLTg3MnY0MjB6TTEyOCA4MTJ2LTEzMmgzMzh2MTMyaC0zMzh6TTU0NiA4MTJ2LTEzMmgzMzh2MTMyaC0zMzh6TTEyNiA2MzR2LTEzMGgzMzh2MTMwaC0zMzh6TTU0NiA2MzR2LTEzMGgzMzh2MTMwaC0zMzh6TTIxNiAzNDB2LTMyMmg3MnYxMzZoMTM0djU0aC0xMzR2NzZoMTU0djU2aC0yMjZ6TTcyOCAzNDB2LTIwOGMwLTI1Ljk1OC0yLjAyMS00My43NjEtOC01Mi01LjY2My03LjgwNC0xNC43NTEtMTEuNTg3LTI4LTEyLTEyLjA5OSAxLjIxMi0yMS43NDEgNy42OTktMjggMTgtNC42NjcgNy41ODMtNy4yNzEgMTkuNjI1LTggMzhoLTZsLTYyLTZjMC4xNDYtMzQuMjcxIDguOTM3LTYwLjI4MSAyNi03OCAxNC4zMzUtMTQuODg3IDMzLjM3MS0yMy42MjEgNTgtMjYgNi45LTEuMjQxIDE0LjA4OS0yIDIyLTIgMjYuOTc5IDAgNDkuNTIxIDYuNjk4IDY2IDE4czI3LjcyOSAyNS4zMzMgMzQgNDRjNC42NjcgMTQuMjkyIDYgMzUuNDU4IDYgNjJ2MjA0aC03MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk0YTsiIGdseXBoLW5hbWU9Iml0LWRpc2tyYWlkLWhkcyIgZD0iTTk2IDk2MGMtNTMuNDExIDAtOTYtNDYuODQxLTk2LTEwNnYtMzU0YzAtNTkuMTU5IDQyLjU4OS0xMDggOTYtMTA4aDgzMmM1My40MTEgMCA5NiA0OC44NDEgOTYgMTA4djM1NGMwIDU5LjE1OS00Mi41ODkgMTA2LTk2IDEwNnpNNzYgODg2aDg3MnYtNDIwaC04NzJ6TTEyOCA4MTJ2LTEzMmgzMzh2MTMyek01NDYgODEydi0xMzJoMzM4djEzMnpNMTI2IDYzNHYtMTMwaDMzOHYxMzB6TTU0NiA2MzR2LTEzMGgzMzh2MTMwek04MjYgMzQxLjc2M2MtMjQuNjQ2IDAtNDYuNTczLTQuNTYzLTY0LTEycy0zMC43NC0xNy43ODItNDAtMzJjLTkuMjYtMTQuMjE5LTE0LTI5LjY2Ny0xNC00NiAwLTI1LjM3NSAxMC4zMTItNDYuMzU0IDMwLTY0IDE0LTEyLjU0MiAzOS4yOTItMjMuMzk2IDc0LTMyIDI2Ljk3OS02LjcwOCA0NC40MTctMTEuMzc1IDUyLTE0IDExLjA4My0zLjkzNyAxNy41NTItOC42NzcgMjItMTRzOC0xMi40MTcgOC0yMGMwLTExLjgxMy01LjQyNy0yMS4xNzctMTYtMzBzLTI3LjE0Ni0xNC00OC0xNGMtMTkuNjg4IDAtMzQuNDA2IDYuMDgzLTQ2IDE2cy0yMC4yMDkgMjQuODU0LTI0IDQ2bC02Mi02YzQuMjI5LTM1Ljg3NSAxNi4yNzEtNjMuMjYgMzgtODJzNTMuNDU4LTI4IDk0LTI4YzI3Ljg1NCAwIDUxLjMzMyA0LjE5OCA3MCAxMnMzMS43OTEgMTkuOTU4IDQyIDM2YzEwLjIwOCAxNi4wNDIgMTYgMzMuNjI1IDE2IDUyIDAgMjAuMjcxLTMuNDY5IDM2LjIxOS0xMiA1MHMtMjAuOTA2IDI0LjA1Mi0zNiAzMmMtMTUuMDk0IDcuOTQ4LTM4LjUgMTYuNTYyLTcwIDI0cy01MS44MzMgMTUuMTQ2LTYwIDIyYy02LjQxNyA1LjM5Ni0xMCAxMC40MTYtMTAgMTggMCA4LjMxMiAzLjE0NiAxNS4wNDEgMTAgMjAgMTAuNjQ2IDcuNzI5IDI3LjE4NyAxMiA0NiAxMiAxOC4yMjkgMCAzMC44ODUtMi43ODEgNDAtMTBzMTUuMjI5LTE5LjUyMSAxOC0zNmw2NCAyYy0xLjAyMSAyOS40NTgtMTEuNjU3IDU0LjM1NC0zMiA3MnMtNDkuNzUgMjYtOTAgMjZ6TTY2IDMzNS43NjN2LTMyMGg2NHYxNDBoMTI4di0xNDBoNjR2MzIwaC02NHYtMTI2aC0xMjh2MTI2ek0zOTAgMzM1Ljc2M3YtMzIwaDEyMmMyMy45MTYgMCA0MS43MDggMS40NzkgNTYgNiAxOS4xMDQgNi4xMjUgMzQuNzcxIDE1LjA2MiA0NiAyNiAxNC44NzUgMTQuNDM3IDI1Ljk3OSAzMi42NjcgMzQgNTYgNi41NjIgMTkuMTA0IDEwIDQxLjYwNCAxMCA2OCAwIDMwLjA0MS0zIDU1LjUxLTEwIDc2cy0xNi41ODQgMzcuODU0LTMwIDUyYy0xMy40MTcgMTQuMTQ2LTMxLjE4OCAyNC40NTgtNTAgMzAtMTQgNC4wODMtMzMuMzEzIDYtNjAgNnpNNDU0IDI4MS43NjNoMzBjMjYuMzk2IDAgNDIuOTU4IDAuMDQyIDUyLTIgMTIuMTA0LTIuNjI1IDIyLjEyNS04LjU2MyAzMC0xNnMxMy42MjUtMTguNzI5IDE4LTMyYzQuMzc1LTEzLjI3MSA4LTMxLjIwOSA4LTU2cy0zLjYyNS00My42MzYtOC01OGMtNC4zNzUtMTQuMzY1LTkuMDczLTI1LjcyOS0xNi0zMnMtMTUuNS0xMS4zNzUtMjYtMTRjLTguMDIxLTIuMDQyLTIxLjk5LTAuMzcxLTQwLTJoLTQ4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTRiOyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtaHBhaW8iIGQ9Ik05NiA5NjBjLTUzLjQxMSAwLTk2LTQ2Ljg0MS05Ni0xMDZ2LTM1NGMwLTU5LjE1OSA0Mi41ODktMTA4IDk2LTEwOGg4MzJjNTMuNDExIDAgOTYgNDguODQxIDk2IDEwOHYzNTRjMCA1OS4xNTktNDIuNTg5IDEwNi05NiAxMDZ6TTc2IDg4Nmg4NzJ2LTQyMGgtODcyek0xMjggODEydi0xMzJoMzM4djEzMnpNNTQ2IDgxMnYtMTMyaDMzOHYxMzJ6TTEyNiA2MzR2LTEzMGgzMzh2MTMwek01NDYgNjM0di0xMzBoMzM4djEzMHpNNzMyIDM0Mi40MDdjLTI0LjcyNyAwLTQ1LjA3NS01LjA3MS02NC0xNC0xNC4yMjktNi42Mi0yOC4wNTEtMTYuMjk4LTQwLTMwcy0yMS4wOTMtMjguNzU3LTI4LTQ2Yy05LjI1NS0yMy40MDEtMTQtNTEuNTE0LTE0LTg2IDAtNTMuODg0IDEzLjMzOS05Ny4yODYgNDAtMTI4czYyLjgyOC00NiAxMDgtNDZjNDQuNjE5IDAgNzkuMzM5IDE1LjEzMiAxMDYgNDZzNDAgNzMuMzQ2IDQwIDEyOGMwIDU1LjExNS0xMy4xMzIgOTkuMDU1LTQwIDEzMHMtNjMuMjQzIDQ2LTEwOCA0NnpNMjYyIDMzNi40MDdsLTExOC0zMzhoNjRsMjYgNzZoMTIwbDI4LTc2aDY2bC0xMjIgMzM4ek00ODAgMzM2LjQwN3YtNjBoNTh2NjB6TTczNCAyODQuNDA3YzI1LjI4IDAgNDQuNzM1LTguOTEgNjAtMjhzMjQtNDkuMjA0IDI0LTg4YzAtMzkuMjU4LTguMzIxLTY4LjM3MS0yNC04OHMtMzUuNTQ5LTMwLTYwLTMwYy0yNC40NTEgMC00NC4xMTQgMTAuMjE3LTYwIDMwcy0yNCA0OS42NjUtMjQgODhjMCAzOC45NSA2LjUyOCA2Ni42NzggMjIgODZzMzYuNzIgMzAgNjIgMzB6TTI5NCAyNTguNDA3bDQyLTEyNmgtODR6TTQ4MCAyNDQuNDA3di0yNDZoNTh2MjQ2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTRjOyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtaHBtc2EiIGQ9Ik05NiA5NjBjLTUzLjQxMSAwLTk2LTQ2Ljg0MS05Ni0xMDZ2LTM1NGMwLTU5LjE1OSA0Mi41ODktMTA4IDk2LTEwOGg4MzJjNTMuNDExIDAgOTYgNDguODQxIDk2IDEwOHYzNTRjMCA1OS4xNTktNDIuNTg5IDEwNi05NiAxMDZ6TTc2IDg4Nmg4NzJ2LTQyMGgtODcyek0xMjggODEydi0xMzJoMzM4djEzMnpNNTQ2IDgxMnYtMTMyaDMzOHYxMzJ6TTEyNiA2MzR2LTEzMGgzMzh2MTMwek01NDYgNjM0di0xMzBoMzM4djEzMHpNNTE2IDM0Mi40MDdjLTIzLjM0NiAwLTQxLjQ5Mi00LjE0OC01OC0xMnMtMjkuMjI4LTE4Ljk5LTM4LTM0Yy04Ljc3Mi0xNS4wMTEtMTQtMzAuNzU3LTE0LTQ4IDAtMjYuNzg4IDkuMzUxLTQ5LjM3MiAyOC02OCAxMy4yNjEtMTMuMjQgMzcuMTIyLTI0LjkxNyA3MC0zNCAyNS41NTYtNy4wODIgNDAuODE3LTExLjIyOSA0OC0xNCAxMC40OTktNC4xNTcgMTcuNzg3LTEwLjM4MSAyMi0xNnM2LTExLjk5NCA2LTIwYzAtMTIuNDctMy45ODUtMjIuNjg2LTE0LTMycy0yNC4yNDYtMTQtNDQtMTRjLTE4LjY0OSAwLTM1LjAxOCA1LjUzMS00NiAxNnMtMTguNDA4IDI1LjY3Ny0yMiA0OGwtNTgtNmM0LjAwNi0zNy44NzMgMTUuNDE3LTY2LjIxNyAzNi04NnM0OS41OTctMzAgODgtMzBjMjYuMzg1IDAgNDguMzE4IDMuNzYzIDY2IDEyczMyLjMzIDIxLjA2NSA0MiAzOGM5LjY2OSAxNi45MzUgMTQgMzQuNjAyIDE0IDU0IDAgMjEuMzk5LTMuOTE5IDM5LjQ1MS0xMiA1NHMtMTkuNzAzIDI1LjYwOS0zNCAzNGMtMTQuMjk4IDguMzktMzYuMTYyIDE4LjE0OC02NiAyNnMtNDguMjY0IDE0Ljc2NC01NiAyMmMtNi4wNzggNS42OTYtMTAgMTEuOTk0LTEwIDIwIDAgOC43NzUgMy41MDcgMTYuNzY1IDEwIDIyIDEwLjA4NCA4LjE1OSAyNC4xOCAxMiA0MiAxMiAxNy4yNjcgMCAzMS4zNjYtNC4zOCA0MC0xMnMxMy4zNzUtMjAuNjA0IDE2LTM4bDYyIDRjLTAuOTY3IDMxLjA5OC0xMC43MyA1NS4zNzEtMzAgNzRzLTQ5Ljg3MyAyOC04OCAyOHpNNTYgMzM2LjQwN3YtMzM4aDU2djI2Nmw2Mi0yNjZoNThsNjAgMjY2di0yNjZoNTh2MzM4aC05MmwtNTYtMjMwLTU0IDIzMHpNNzgyIDMzNi40MDdsLTExOC0zMzhoNjRsMjYgNzZoMTIwbDI4LTc2aDY2bC0xMjIgMzM4ek04MTQgMjU4LjQwN2w0Mi0xMjZoLTg0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTRkOyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtaWJtIiBkPSJNOTYgOTYwYy01My40MTEgMC05Ni00Ni44NDEtOTYtMTA2di0zNTRjMC01OS4xNTkgNDIuNTg5LTEwOCA5Ni0xMDhoODMyYzUzLjQxMSAwIDk2IDQ4Ljg0MSA5NiAxMDh2MzU0YzAgNTkuMTU5LTQyLjU4OSAxMDYtOTYgMTA2ek03NiA4ODZoODcydi00MjBoLTg3MnpNMTI4IDgxMnYtMTMyaDMzOHYxMzJ6TTU0NiA4MTJ2LTEzMmgzMzh2MTMyek0xMjYgNjM0di0xMzBoMzM4djEzMHpNNTQ2IDYzNHYtMTMwaDMzOHYxMzB6TTE1MiAzMzQuNzQ2di0zMzhoNjJ2MzM4ek0yNzIgMzM0Ljc0NnYtMzM4aDEwNGMzOS4wOTQgMC4zMDcgNjMuNzc3IDAuNzY5IDc0IDIgMTYuMyAyLjAwMSAyOC44NzkgNy4zMDIgNDAgMTZzMjEuNTc2IDIxLjQ1MSAyOCAzNmM2LjQyMyAxNC41NDkgOCAyOC42MDQgOCA0NCAwIDE5LjU1Mi00LjA1NCAzNy41MjgtMTQgNTJzLTIzLjQ4OSAyMy45OTYtNDIgMzBjMTMuMTIzIDYuNjIgMjIuMzMzIDE2Ljc2IDMwIDMwczEyIDI4LjE0MiAxMiA0NGMwIDE0LjYyNS0zLjc4NCAyNi4yMjItMTAgMzhzLTEyLjY3NiAyMi45MTgtMjIgMzBjLTkuMzI1IDcuMDgyLTIwLjE4OSAxMS43NjgtMzIgMTRzLTI5Ljk2NCAyLTU0IDJ6TTU3OCAzMzQuNzQ2di0zMzhoNTZ2MjY2bDYyLTI2Nmg1OGw2MCAyNjZ2LTI2Nmg1OHYzMzhoLTkybC01Ni0yMzAtNTQgMjMwek0zMzQgMjc4Ljc0NmgzNGMyOC44NzEgMCA0Ny45MjIgMC43NjkgNTQgMCAxMC4yMjItMS4zODYgMTYuODItNS40NTcgMjItMTJzOC0xNS41MzEgOC0yNmMwLTEwLjkzMS0xLjk5MS0xOS4zMDMtOC0yNnMtMTUuNTAxLTEwLjYxNS0yNi0xMmMtNS44MDItMC43NjktMjAuMTAyLTItNDQtMmgtNDB6TTMzNCAxNDQuNzQ2aDUwYzI3LjkwNCAwIDQ1LjY0Mi0yLjc2NyA1NC02czEzLjU3OS02LjkxOCAxOC0xNGM0LjQyLTcuMDgyIDgtMTUuODM5IDgtMjYgMC0xMi4wMDktNC4yNjctMjIuODQxLTEwLTMwcy0xMi44ODMtMTAuMTUzLTIyLTEyYy01Ljk0LTEuMzg2LTE5Ljg5OC0yLTQyLTJoLTU2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTRlOyIgZ2x5cGgtbmFtZT0iaXQtZGlza3JhaWQtaWJtc20iIGQ9Ik05NiA5NjBjLTUzLjQxMSAwLTk2LTQ2Ljg0MS05Ni0xMDZ2LTM1NGMwLTU5LjE1OSA0Mi41ODktMTA4IDk2LTEwOGg4MzJjNTMuNDExIDAgOTYgNDguODQxIDk2IDEwOHYzNTRjMCA1OS4xNTktNDIuNTg5IDEwNi05NiAxMDZ6TTc2IDg4Nmg4NzJ2LTQyMGgtODcyek0xMjggODEydi0xMzJoMzM4djEzMnpNNTQ2IDgxMnYtMTMyaDMzOHYxMzJ6TTEyNiA2MzR2LTEzMGgzMzh2MTMwek01NDYgNjM0di0xMzBoMzM4djEzMHpNMzM4IDM0OS40MjRjLTIzLjM0NiAwLTQzLjQ5Mi00LjE0OC02MC0xMnMtMjkuMjI4LTE4Ljk5LTM4LTM0Yy04Ljc3Mi0xNS4wMTEtMTItMzAuNzU3LTEyLTQ4IDAtMjYuNzg4IDkuMzUxLTQ5LjM3MiAyOC02OCAxMy4yNjEtMTMuMjQgMzUuMTIyLTI0LjkxNyA2OC0zNCAyNS41NTYtNy4wODIgNDIuODE3LTExLjIyOSA1MC0xNCAxMC40OTktNC4xNTcgMTcuNzg3LTEwLjM4IDIyLTE2czYtMTEuOTk0IDYtMjBjMC0xMi40Ny01Ljk4NS0yMi42ODYtMTYtMzJzLTI0LjI0Ni0xNC00NC0xNGMtMTguNjQ5IDAtMzMuMDE4IDUuNTMxLTQ0IDE2cy0xOC40MDggMjUuNjc3LTIyIDQ4bC02MC02YzQuMDA2LTM3Ljg3MyAxNy40MTctNjYuMjE3IDM4LTg2czQ5LjU5Ny0zMCA4OC0zMGMyNi4zODUgMCA0OC4zMTggMy43NjMgNjYgMTJzMzAuMzMgMjEuMDY1IDQwIDM4YzkuNjcgMTYuOTM1IDE2IDM0LjYwMiAxNiA1NCAwIDIxLjM5OS0zLjkxOSAzOS40NTEtMTIgNTRzLTE5LjcwMyAyNS42MDktMzQgMzRjLTE0LjI5OCA4LjM5LTM2LjE2MiAxOC4xNDgtNjYgMjZzLTUwLjI2NCAxNC43NjQtNTggMjJjLTYuMDc4IDUuNjk2LTggMTEuOTk0LTggMjAgMCA4Ljc3NSAzLjUwNyAxNi43NjUgMTAgMjIgMTAuMDg0IDguMTU5IDI0LjE4IDEyIDQyIDEyIDE3LjI2NyAwIDI5LjM2Ni00LjM4IDM4LTEyczE1LjM3NS0yMC42MDQgMTgtMzhsNjAgNGMtMC45NjcgMzEuMDk4LTEwLjczIDU1LjM3MS0zMCA3NHMtNDcuODczIDI4LTg2IDI4ek01MTQgMzQzLjQyNHYtMzM4aDU4djI2Nmw2MC0yNjZoNThsNjAgMjY2di0yNjZoNTh2MzM4aC05MmwtNTQtMjMwLTU2IDIzMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk0ZjsiIGdseXBoLW5hbWU9Iml0LWRpc2tyYWlkLW1hY3Jvc2FuIiBkPSJNNTQ1Ljk3OCA2MzQuOTI3aDMzOC4wNjB2LTEyOS42MjloLTMzOC4wNjB2MTI5LjYyOXpNNTQ1Ljk3OCA4MTIuNDA0aDMzOC4wNjB2LTEzMS42MzFoLTMzOC4wNjB2MTMxLjYzMXpNMTI2LjA0NSA2MzQuOTI3aDMzNy45Njd2LTEyOS42MjloLTMzNy45Njd2MTI5LjYyOXpNMTI4LjA0NyA4MTIuNDA0aDMzNy45Njd2LTEzMS42MzFoLTMzNy45Njd2MTMxLjYzMXpNOTI4LjAyMyA5NjBoLTgzMmMtNTMuNDM0IDAtOTYuMDIzLTQ2LjczMi05Ni4wMjMtMTA1LjcwNXYtMzUzLjAwMWMwLTU4Ljk3MyA0Mi41ODktMTA3LjcwNiA5Ni4wMjMtMTA3LjcwNmg4MzIuMDQ3YzUzLjM0MSAwIDk1Ljk3NyA0OC43MzMgOTUuOTc3IDEwNy43MDZ2MzUzLjAwMWMtMC4wNDcgNTguOTczLTQyLjYzNiAxMDUuNzA1LTk2LjAyMyAxMDUuNzA1ek05NDguMDM4IDQ2Ny4zNjNoLTg3Mi4wMjl2NDE4Ljg2M2g4NzIuMDI5di00MTguODYzek0zMjYuMDUxIDExNS44OThjLTcuNjgtMjIuNDgxLTEzLjQwNS0zOS42NTctMTcuMDM2LTUxLjI5My0zLjIxMiAxMC41MTktOC4zMzIgMjYuMjk4LTE1LjI2NyA0Ny4zODNsLTc1LjkxNiAyMjYuNDQ0aC02My45MDd2LTMxOS44MTRoNDAuOTEzdjI3Mi4yNDRsOTIuNzE5LTI3Mi4yNDRoMzguMzUzbDkzLjA5MSAyNjcuNjM2di0yNjcuNjM2aDQwLjk2djMxOS44MTRoLTU3LjA2NWwtNzYuODQ3LTIyMi41MzR6TTgzOC45ODIgMTg3LjA2NmMtMTIuNzUzIDUuODE4LTM2LjM5OSAxMi42MTQtNzAuODg5IDIwLjM4Ny0zNC40NDQgNy44Mi01NS44MDggMTUuNDA3LTYzLjk1MyAyMi44MDctOC4zNzggNy40MDEtMTIuNTIxIDE2Ljg0OS0xMi41MjEgMjguMzQ2IDAgMTMuMjE5IDUuODE4IDI0LjUyOSAxNy41OTQgMzMuOTMyIDExLjcyOSA5LjQwMiAzMC4zOTQgMTQuMTAzIDU2LjA4NyAxNC4xMDMgMjQuNjIzIDAgNDMuMjQxLTUuMTY3IDU1Ljg1NS0xNS40NTMgMTIuNjYtMTAuMzggMjAuMDYxLTI1LjYgMjIuMjAyLTQ1Ljg5NGw0MC43NzQgMy4xMTljLTAuNzkxIDE4LjY2NS01Ljk1OCAzNS41NjEtMTUuNzMyIDUwLjM2Mi05LjgyMSAxNC44MDEtMjMuNzg1IDI2LjA2NS00MS45MzcgMzMuNzQ1LTE4LjE1MyA3LjU4Ny0zOS4wOTggMTEuNDA0LTYyLjg4MyAxMS40MDQtMjEuNTk3IDAtNDEuMjM5LTMuNjMxLTU4LjgzMy0xMC44NDUtMTcuNjQxLTcuMjYxLTMxLjEzOS0xNy45Mi00MC4yNjItMzEuOTc3LTkuMjE2LTE0LjAxMC0xMy43NzctMjkuMDkxLTEzLjc3Ny00NS4zMzUgMC0xNC42MTUgMy43Ny0yNy45MjcgMTEuMjE3LTM5Ljc1IDcuNDk0LTExLjgyMyAxOC45NDQtMjEuNzgzIDM0LjIxMS0yOS43ODkgMTEuODIzLTYuMjM3IDMyLjM5Ni0xMi44OTMgNjEuOTUyLTE5Ljk2OCAyOS40NjMtNy4wMjggNDguNDU0LTEyLjI4OCA1Ny4xMTEtMTUuNTkzIDEzLjQwNS01LjEyIDIzLjA0MC0xMS40MDQgMjguODU4LTE4Ljg1MSA1LjgxOC03LjQ5NCA4Ljc1MS0xNi4yOTEgOC43NTEtMjYuMjk4IDAtOS45MTQtMi45NzktMTguOTkxLTkuMDMwLTI3LjM2OS02LjA5Ny04LjMzMi0xNS4zMTMtMTQuOTQxLTI3LjY5NS0xOS43MzUtMTIuNDI4LTQuODQxLTI2LjcxNy03LjE2OC00Mi45MTUtNy4xNjgtMTguMjQ2IDAtMzQuNTgzIDMuMTE5LTQ5LjE5OSA5LjQ0OS0xNC42MTUgNi4yODQtMjUuNDE0IDE0LjU2OS0zMi4yNTYgMjQuODU1LTYuOTM1IDEwLjI0LTExLjMxMSAyMy4zNjYtMTMuMjE5IDM5LjMzMWwtMzkuOTgzLTMuNDkxYzAuNTU5LTIxLjMxOCA2LjM3Ny00MC40OTUgMTcuNTk0LTU3LjQzNyAxMS4xMjQtMTYuOTQzIDI2LjQzOC0yOS42MDMgNDYuMTI3LTM3Ljk4MSAxOS41OTYtOC40NzEgNDMuODkyLTEyLjY2IDcyLjg5LTEyLjY2IDIyLjk5MyAwIDQzLjU2NyA0LjIzNiA2MS44MTIgMTIuNjE0IDE4LjMzOSA4LjM3OCAzMi4zNDkgMjAuMDYxIDQyLjEyNCAzNS4wOTVzMTQuNjYyIDMxLjA0NiAxNC42NjIgNDguMDM1YzAgMTcuMTc1LTQuNTE1IDMyLjM5Ni0xMy4zNTkgNDUuNTIxLTguODQ0IDEzLjAzMy0yMi42NjggMjMuODMxLTQxLjM3OSAzMi40ODl6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NTA7IiBnbHlwaC1uYW1lPSJpdC1kaXNrcmFpZC1uZXRhcHAiIGQ9Ik05NiA5NjBjLTUzLjQxMSAwLTk2LTQ2Ljg0MS05Ni0xMDZ2LTM1NGMwLTU5LjE1OSA0Mi41ODktMTA4IDk2LTEwOGg4MzJjNTMuNDExIDAgOTYgNDguODQxIDk2IDEwOHYzNTRjMCA1OS4xNTktNDIuNTg5IDEwNi05NiAxMDZ6TTc2IDg4Nmg4NzJ2LTQyMGgtODcyek0xMjggODEydi0xMzJoMzM4djEzMnpNNTQ2IDgxMnYtMTMyaDMzOHYxMzJ6TTEyNiA2MzR2LTEzMGgzMzh2MTMwek01NDYgNjM0di0xMzBoMzM4djEzMHpNMjIyIDM0My40MjR2LTMzOGg1NnYyMjBsMTI0LTIyMGg2MHYzMzhoLTU2di0yMjZsLTEyNCAyMjZ6TTYxNiAzNDMuNDI0bC0xMTgtMzM4aDY0bDI2IDc2aDEyMGwyOC03Nmg2NmwtMTIyIDMzOHpNNjQ4IDI2NS40MjRsNDItMTI2aC04NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk1MTsiIGdseXBoLW5hbWU9Iml0LWRpc2tyYWlkLXN1biIgZD0iTTk2IDk2MGMtNTMuNDExIDAtOTYtNDYuODQxLTk2LTEwNnYtMzU0YzAtNTkuMTU5IDQyLjU4OS0xMDggOTYtMTA4aDgzMmM1My40MTEgMCA5NiA0OC44NDEgOTYgMTA4djM1NGMwIDU5LjE1OS00Mi41ODkgMTA2LTk2IDEwNnpNNzYgODg2aDg3MnYtNDIwaC04NzJ6TTEyOCA4MTJ2LTEzMmgzMzh2MTMyek01NDYgODEydi0xMzJoMzM4djEzMnpNMTI2IDYzNHYtMTMwaDMzOHYxMzB6TTU0NiA2MzR2LTEzMGgzMzh2MTMwek0yMTAgMzQ1LjA4NWMtMjMuMzQ2IDAtNDMuNDkyLTQuMTQ4LTYwLTEycy0yOS4yMjgtMTguOTktMzgtMzRjLTguNzcyLTE1LjAxMS0xMi0zMC43NTctMTItNDggMC0yNi43ODggOS4zNTEtNDkuMzcyIDI4LTY4IDEzLjI2MS0xMy4yNCAzNS4xMjItMjQuOTE3IDY4LTM0IDI1LjU1Ni03LjA4MiA0Mi44MTctMTEuMjI5IDUwLTE0IDEwLjQ5OS00LjE1NyAxNy43ODctMTAuMzggMjItMTZzNi0xMS45OTQgNi0yMGMwLTEyLjQ3LTUuOTg1LTIyLjY4Ni0xNi0zMnMtMjQuMjQ2LTE0LTQ0LTE0Yy0xOC42NDkgMC0zMy4wMTggNS41MzEtNDQgMTZzLTE4LjQwOCAyNS42NzctMjIgNDhsLTYwLTZjNC4wMDYtMzcuODczIDE3LjQxNy02Ni4yMTcgMzgtODZzNDkuNTk3LTMwIDg4LTMwYzI2LjM4NSAwIDQ4LjMxOCAzLjc2MyA2NiAxMnMzMC4zMyAyMS4wNjUgNDAgMzhjOS42NyAxNi45MzUgMTYgMzQuNjAyIDE2IDU0IDAgMjEuMzk5LTMuOTE5IDM5LjQ1MS0xMiA1NHMtMTkuNzAzIDI1LjYwOS0zNCAzNGMtMTQuMjk4IDguMzktMzYuMTYyIDE4LjE0OC02NiAyNnMtNDguMjY0IDE0Ljc2NC01NiAyMmMtNi4wNzggNS42OTYtMTAgMTEuOTk0LTEwIDIwIDAgOC43NzUgMy41MDcgMTYuNzY1IDEwIDIyIDEwLjA4NCA4LjE1OSAyNC4xOCAxMiA0MiAxMiAxNy4yNjcgMCAyOS4zNjYtNC4zOCAzOC0xMnMxNS4zNzUtMjAuNjA0IDE4LTM4bDYwIDRjLTAuOTY3IDMxLjA5OC0xMC43MyA1NS4zNzEtMzAgNzRzLTQ3Ljg3MyAyOC04NiAyOHpNMzg2IDMzOS4wODV2LTE4MGMwLTM3Ljg3MyAxLjk5NC02Ni42MDIgNi04NiAyLjc2My0xMy4wODYgOS4yOTctMjYuMDY5IDE4LTM4czIxLjAxMi0yMC41MzMgMzYtMjhjMTQuOTg4LTcuNDY3IDM2Ljk5LTEyIDY2LTEyIDI0LjAzNiAwIDQzLjA4MSAzLjE0OSA1OCAxMHMyNy4wOTAgMTYuNDUzIDM2IDI4YzguOTEgMTEuNTQ3IDE0LjY4NCAyNS4yMTkgMTggNDJzNiA0NS4zNTYgNiA4NnYxNzhoLTYydi0xODZjMC0yNi43ODgtMC4yMDQtNDYuNDU0LTItNThzLTcuMTU5LTIyLjA3MS0xNi0zMGMtOC44NDEtNy45MjgtMjIuNTk0LTEyLTQwLTEyLTE3LjEzIDAtMzAuMTIzIDUuNjEtNDAgMTRzLTE3LjM3NSAxOC4xNDQtMjAgMzJjLTEuNTIgOC42MjEtMiAyOC45MDMtMiA1OHYxODJ6TTY5NCAzMzkuMDg1di0zMzhoNTh2MjIwbDEyMi0yMjBoNjJ2MzM4aC01OHYtMjI2bC0xMjQgMjI2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTUyOyIgZ2x5cGgtbmFtZT0iaXQtZmlyZXdhbGwiIGQ9Ik0wIDk2MHYtMTc2aDI0MnYxNzZoLTI0MnpNMzQ2IDk2MHYtMTc2aDM1MnYxNzZoLTM1MnpNODAwIDk2MHYtMTc2aDIyNHYxNzZoLTIyNHpNMzAgNzI4di0xNzZoMzU0djE3NmgtMzU0ek00ODggNzI4di0xNzZoMzUydjE3NmgtMzUyek05NDIgNzI4di0xNzZoODJ2MTc2aC04MnpNMCA0OTh2LTE3OGgyNTZ2MTc4aC0yNTZ6TTM2NiA0OTh2LTE3OGgzNTJ2MTc4aC0zNTJ6TTgyMiA0OTh2LTE3OGgyMDJ2MTc4aC0yMDJ6TTMwIDI1OHYtMTc2aDM1NHYxNzZoLTM1NHpNNDg4IDI1OHYtMTc2aDM1MnYxNzZoLTM1MnpNOTQyIDI1OHYtMTc2aDgydjE3NmgtODJ6TTAgMjZ2LTkwaDI0MnY5MGgtMjQyek0zNDYgMjZ2LTkwaDM1MnY5MGgtMzUyek04MDAgMjZ2LTkwaDIyNHY5MGgtMjI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTUzOyIgZ2x5cGgtbmFtZT0iaXQtZmlyZXdhbGwtY2hlY2twb2ludCIgZD0iTTY4IDk2MGMtMzcuNzI4IDAtNjgtMzAuMjcyLTY4LTY4di04ODhjMC0zNy43MjggMzAuMjcyLTY4IDY4LTY4aDg4OGMzNy43MjggMCA2OCAzMC4yNzIgNjggNjh2ODg4YzAgMzcuNzI4LTMwLjI3MiA2OC02OCA2OGgtODg4ek0yNDIgODk2aDEwNHYtMTEyaDM1MnYxMTJoMTAydi0xMTJoMTYwdi01NmgtMTh2LTE3NmgxOHYtNDkwaC0xNjB2LTYyaC0xMDJ2NjJoLTM1MnYtNjJoLTEwNHY2MmgtMTc4djQ5MGgzMjB2MTc2aC0zMjB2NTZoMTc4djExMnpNNDg4IDcyOHYtMTc2aDM1MnYxNzZoLTM1MnpNMzgwIDQ4MmMtNDQuOTE3IDAtODIuNDM4LTE0LjQ3LTExMC00NHMtNDAtNzIuNjI0LTQwLTEyNmMwLTUwLjQ1OCAxMi41ODMtODguOTA2IDQwLTExOHM2My40MTctNDQgMTA2LTQ0YzM0LjQxNyAwIDYxLjYxNCA5LjAwOCA4NCAyNnMzOC4zNzUgNDIuOTk4IDQ4IDc4bC02MiAyMGMtNS4zOTYtMjMuNDgyLTEzLjYwNC00MS4wNjItMjYtNTItMTIuMzk2LTEwLjk2My0yNi43OTItMTYtNDQtMTYtMjMuMzMzIDAtNDMuNDE3IDguNzktNTggMjZzLTIyIDQ1LjQ1Ni0yMiA4NmMwIDM4LjIwOCA3LjE5OCA2NC45MzggMjIgODJzMzQuMjI5IDI2IDU4IDI2YzE3LjIwOCAwIDMxLjk2OS00LjM3NCA0NC0xNHMyMC4yMDgtMjMuMzczIDI0LTQwbDY0IDE2Yy03LjI5MiAyNS42Ny0xNy40MTcgNDQuMjkxLTMyIDU4LTI0LjUgMjMuMTg3LTU2Ljc3MSAzNi05NiAzNnpNNTY0IDQ3NnYtMzIwaDY2djEyMGg0MmMyOS4zMTIgMCA1MC41NDEgMi45MjggNjYgNiAxMS4zNzUgMi40NzcgMjIuOTg5IDYuMzQ2IDM0IDE0IDExLjAxMCA3LjY2MSAyMC44NTQgMTguNTg2IDI4IDMyIDcuMTQ2IDEzLjQyMSAxMCAzMC4zMTQgMTAgNTAgMCAyNS41MjMtNS42MDQgNDUuODg1LTE4IDYycy0yNy42MjUgMjcuMi00NiAzMmMtMTEuOTU5IDMuMi0zOC42MjUgNC03OCA0aC0xMDR6TTYzMCA0MjJoMzBjMjMuMzMzIDAgNDAuMjcxLTAuNTMxIDQ4LTIgMTAuNS0xLjkwMSAxOS4xNDYtNi40MTYgMjYtMTRzMTAtMTguMzMzIDEwLTMwYzAtOS40NzgtMy4xMTUtMTYuODU4LTgtMjQtNC44ODYtNy4xNDktMTEuMzk2LTEyLjY3Mi0yMC0xNi04LjYwNC0zLjM5Mi0yNi40NzktNi01Mi02aC0zNHY5MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk1NDsiIGdseXBoLW5hbWU9Iml0LWZpcmV3YWxsLWNpc2NvIiBkPSJNNjggOTYwYy0zNy45NjQgMC02OC0zMC4yNzItNjgtNjh2LTg4OGMwLTM3LjcyOCAzMC4wMzYtNjggNjgtNjhoODk0YzM3Ljk2NCAwIDY4IDMwLjI3MiA2OCA2OHY4ODhjMCAzNy43MjgtMzAuMDM2IDY4LTY4IDY4aC04OTR6TTI0NCA4OTZoMTA0di0xMTJoMzU0djExMmgxMDJ2LTExMmgxNjJ2LTU2aC0xOHYtMTc2aDE4di00OTBoLTE2MnYtNjJoLTEwMnY2MmgtMzU0di02MmgtMTA0djYyaC0xODB2NDkwaDMyMnYxNzZoLTMyMnY1NmgxODB2MTEyek00OTIgNzI4di0xNzZoMzU0djE3NmgtMzU0ek0zNDAgNDY4Yy00NC45MTcgMC04Mi40MzgtMTQuNDctMTEwLTQ0cy00MC03Mi42MjQtNDAtMTI2YzAtNTAuNDU4IDEyLjU4My04OC45MDYgNDAtMTE4czYzLjQxNy00NCAxMDYtNDRjMzQuNDE2IDAgNjEuNjE0IDkuMDA4IDg0IDI2czM4LjM3NSA0Mi45OTggNDggNzhsLTYyIDIwYy01LjM5Ni0yMy40ODItMTMuNjA0LTQxLjA2Mi0yNi01Mi0xMi4zOTYtMTAuOTYzLTI2Ljc5Mi0xNi00NC0xNi0yMy4zMzQgMC00My40MTcgOC43OS01OCAyNnMtMjIgNDUuNDU2LTIyIDg2YzAgMzguMjA4IDcuMTk4IDY0LjkzOCAyMiA4MnMzNC4yMjkgMjYgNTggMjZjMTcuMjA4IDAgMzEuOTY5LTQuMzU1IDQ0LTE0IDEyLjAzMS05LjYyNiAyMC4yMDgtMjMuMzczIDI0LTQwbDY0IDE2Yy03LjI5MiAyNS42Ny0xNy40MTcgNDQuMjkxLTMyIDU4LTI0LjUgMjMuMTg3LTU2Ljc3MSAzNi05NiAzNnpNNzE0IDQ2OGMtNDQuOTE3IDAtODIuNDM4LTE0LjQ3LTExMC00NHMtNDAtNzIuNjI0LTQwLTEyNmMwLTUwLjQ1OCAxMi41ODMtODguOTA2IDQwLTExOHM2My40MTctNDQgMTA2LTQ0YzM0LjQxNyAwIDYxLjYxNCA5LjAwOCA4NCAyNnMzOC4zNzUgNDIuOTk4IDQ4IDc4bC02MiAyMGMtNS4zOTYtMjMuNDgyLTE1LjYwNC00MS4wNjItMjgtNTItMTIuMzk2LTEwLjk2My0yNi43OTItMTYtNDQtMTYtMjMuMzMzIDAtNDEuNDE3IDguNzktNTYgMjZzLTIyIDQ1LjQ1Ni0yMiA4NmMwIDM4LjIwOCA3LjE5OCA2NC45MzggMjIgODJzMzQuMjI5IDI2IDU4IDI2YzE3LjIwOCAwIDMxLjk2OS00LjM1NSA0NC0xNCAxMi4wMzEtOS42MjYgMjAuMjA4LTIzLjM3MyAyNC00MGw2NCAxNmMtNy4yOTIgMjUuNjctMTkuNDE3IDQ0LjI5MS0zNCA1OC0yNC41IDIzLjE4Ny01NC43NzEgMzYtOTQgMzZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NTU7IiBnbHlwaC1uYW1lPSJpdC1maXJld2FsbC1jaXNjbzIiIGQ9Ik02OCA5NjBjLTM3LjcyOCAwLTY4LTMwLjI3Mi02OC02OHYtODg4YzAtMzcuNzI4IDMwLjI3Mi02OCA2OC02OGg4ODhjMzcuNzI4IDAgNjggMzAuMjcyIDY4IDY4djg4OGMwIDM3LjcyOC0zMC4yNzIgNjgtNjggNjhoLTg4OHpNMjQyIDg5NmgxMDR2LTExMmgzNTJ2MTEyaDEwMnYtMTEyaDE2MHYtNTZoLTE4di0xNzZoMTh2LTQ5MGgtMTYwdi02MmgtMTAydjYyaC0zNTJ2LTYyaC0xMDR2NjJoLTE3OHY0OTBoMzIwdjE3NmgtMzIwdjU2aDE3OHYxMTJ6TTQ4OCA3Mjh2LTE3NmgzNTJ2MTc2aC0zNTJ6TTI2NiA0ODJjLTQ0LjkxNyAwLTgyLjQzOC0xNC40Ny0xMTAtNDRzLTQwLTcyLjYyNC00MC0xMjZjMC01MC40NTggMTIuNTgzLTg4LjkwNiA0MC0xMThzNjMuNDE3LTQ0IDEwNi00NGMzNC40MTcgMCA2MS42MTQgOS4wMDggODQgMjZzMzguMzc1IDQyLjk5OCA0OCA3OGwtNjIgMjBjLTUuMzk2LTIzLjQ4Mi0xMy42MDQtNDEuMDYyLTI2LTUyLTEyLjM5Ni0xMC45NjMtMjYuNzkyLTE2LTQ0LTE2LTIzLjMzMyAwLTQzLjQxNyA4Ljc5LTU4IDI2cy0yMiA0NS40NTYtMjIgODZjMCAzOC4yMDggNy4xOTggNjQuOTM4IDIyIDgyczM0LjIyOSAyNiA1OCAyNmMxNy4yMDggMCAzMS45NjktNC4zNzQgNDQtMTRzMjAuMjA4LTIzLjM3MyAyNC00MGw2NCAxNmMtNy4yOTIgMjUuNjctMTcuNDE3IDQ0LjI5MS0zMiA1OC0yNC41IDIzLjE4Ny01Ni43NzEgMzYtOTYgMzZ6TTc2OCA0ODJjLTQ0LjkxNyAwLTgyLjQzOC0xNC40Ny0xMTAtNDRzLTQwLTcyLjYyNC00MC0xMjZjMC01MC40NTggMTIuNTgzLTg4LjkwNiA0MC0xMThzNjMuNDE3LTQ0IDEwNi00NGMzNC40MTcgMCA2MS42MTQgOS4wMDggODQgMjZzMzguMzc1IDQyLjk5OCA0OCA3OGwtNjIgMjBjLTUuMzk2LTIzLjQ4Mi0xMy42MDQtNDEuMDYyLTI2LTUyLTEyLjM5Ni0xMC45NjMtMjYuNzkyLTE2LTQ0LTE2LTIzLjMzMyAwLTQzLjQxNyA4Ljc5LTU4IDI2cy0yMiA0NS40NTYtMjIgODZjMCAzOC4yMDggNy4xOTggNjQuOTM4IDIyIDgyczM0LjIyOSAyNiA1OCAyNmMxNy4yMDggMCAzMS45NjktNC4zNzQgNDQtMTRzMjAuMjA4LTIzLjM3MyAyNC00MGw2NCAxNmMtNy4yOTIgMjUuNjctMTcuNDE3IDQ0LjI5MS0zMiA1OC0yNC41IDIzLjE4Ny01Ni43NzEgMzYtOTYgMzZ6TTQyMCAzNjZ2LTk2aDE1MHY5NmgtMTUweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTU2OyIgZ2x5cGgtbmFtZT0iaXQtZmlyZXdhbGwtanVuaXBlciIgZD0iTTY4IDk2MGMtMzcuOTY0IDAtNjgtMzAuMjcyLTY4LTY4di04ODhjMC0zNy43MjggMzAuMDM2LTY4IDY4LTY4aDg5NGMzNy45NjQgMCA2OCAzMC4yNzIgNjggNjh2ODg4YzAgMzcuNzI4LTMwLjAzNiA2OC02OCA2OGgtODk0ek0yNDQgODk2aDEwNHYtMTEyaDM1NHYxMTJoMTAydi0xMTJoMTYydi01NmgtMTh2LTE3NmgxOHYtNDkwaC0xNjJ2LTYyaC0xMDJ2NjJoLTM1NHYtNjJoLTEwNHY2MmgtMTgwdjQ5MGgzMjJ2MTc2aC0zMjJ2NTZoMTgwdjExMnpNNDkyIDcyOHYtMTc2aDM1NHYxNzZoLTM1NHpNMzk2IDQ2NHYtMjA2YzAtMjUuOTU4LTQuMDIxLTQzLjc2LTEwLTUycy0xNS41NjMtMTItMzAtMTJjLTE0LjI5MiAwLTI1IDYuNDc5LTMyIDE4LTQuNjY3IDcuNTgzLTcuMjcxIDE5LjYyNS04IDM4bC02MC02YzAuMTQ2LTM0LjI3MSA4LjkzNy02MC4yODEgMjYtNzhzNDAuMzU0LTI4IDcyLTI4YzI2Ljk3OSAwIDQ5LjUyMSA2LjY5OCA2NiAxOHMyNy43MjkgMjUuMzMzIDM0IDQ0YzQuNjY2IDE0LjI5MiA2IDM1LjQ1OCA2IDYydjIwMmgtNjR6TTUzMCA0NjR2LTMyMGg2NHYxMjJoNDJjMjkuMzEyIDAgNTIuNTQyIDAuOTM4IDY4IDQgMTEuMzc1IDIuNDc5IDIyLjk4OSA4LjM0NCAzNCAxNnMxOC44NTQgMTYuNTgzIDI2IDMwYzcuMTQ2IDEzLjQxNiAxMiAzMC4zMTIgMTIgNTAgMCAyNS41MjEtNy42MDQgNDUuODg1LTIwIDYycy0yNy42MjUgMjcuMTg3LTQ2IDMyYy0xMS45NTkgMy4yMDgtMzYuNjI1IDQtNzYgNGgtMTA0ek01OTQgNDEwaDMyYzIzLjMzMyAwIDM4LjI3MS0wLjU0MiA0Ni0yIDEwLjUtMS44OTYgMTkuMTQ2LTYuNDE3IDI2LTE0czEwLTE2LjMzNCAxMC0yOGMwLTkuNDc5LTEuMTE1LTE4Ljg1NC02LTI2cy0xMy4zOTYtMTIuNjQ2LTIyLTE2Yy04LjYwNC0zLjM1NC0yNC40NzktNC01MC00aC0zNnY5MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk1NzsiIGdseXBoLW5hbWU9Iml0LWZpcmV3YWxsLW5ldGV5ZSIgZD0iTTY4IDk2MGMtMzcuNzI4IDAtNjgtMzAuMjcyLTY4LTY4di04ODhjMC0zNy43MjggMzAuMjcyLTY4IDY4LTY4aDg4OGMzNy43MjggMCA2OCAzMC4yNzIgNjggNjh2ODg4YzAgMzcuNzI4LTMwLjI3MiA2OC02OCA2OGgtODg4ek0yNDIgODk2aDEwNHYtMTEyaDM1MnYxMTJoMTAydi0xMTJoMTYwdi01NmgtMTh2LTE3NmgxOHYtODJoLTE1NHYtMzIyaDE1NHYtODZoLTE2MHYtNjJoLTEwMnY2MmgtMzUydi02MmgtMTA0djYyaC0xNzh2ODZoMjR2MjEwbDEwMC0yMTBoNTB2MzIyaC00NnYtMjE0bC0xMDIgMjE0aC0yNnY4MmgzMjB2MTc2aC0zMjB2NTZoMTc4djExMnpNNDg4IDcyOHYtMTc2aDM1MnYxNzZoLTM1MnpNMzA2IDQ3MHYtMzIyaDE2OHY1NGgtMTAydjg4aDg0djU0aC04NHY3Mmg5NnY1NGgtMTYyek01MDAgNDcwbDkyLTE4NnYtMTM2aDUwdjEzNmw5MCAxODZoLTU4bC01Ni0xMjgtNTggMTI4aC02MHpNODcwIDQxNmg5MHYtNzJoLTkwdjcyek04NzAgMjkwaDkwdi04OGgtOTB2ODh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NTg7IiBnbHlwaC1uYW1lPSJpdC1maXJld2FsbC16dGUiIGQ9Ik02OCA5NjBjLTM3LjcyOCAwLTY4LTMwLjI3Mi02OC02OHYtODg4YzAtMzcuNzI4IDMwLjI3Mi02OCA2OC02OGg4ODhjMzcuNzI4IDAgNjggMzAuMjcyIDY4IDY4djg4OGMwIDM3LjcyOC0zMC4yNzIgNjgtNjggNjhoLTg4OHpNMjQyIDg5NmgxMDR2LTExMmgzNTJ2MTEyaDEwMnYtMTEyaDE2MHYtNTZoLTE4di0xNzZoMTh2LTQ5MGgtMTYwdi02MmgtMTAydjYyaC0zNTJ2LTYyaC0xMDR2NjJoLTE3OHY0OTBoMzIwdjE3NmgtMzIwdjU2aDE3OHYxMTJ6TTQ4OCA3Mjh2LTE3NmgzNTJ2MTc2aC0zNTJ6TTEyMiA0NjJ2LTU0aDE0OGwtMTY4LTIwOHYtNThoMjYwdjU0aC0xODJsMTc2IDIxNnY1MGgtMjM0ek0zODAgNDYydi01NGg5NnYtMjY2aDY0djI2Nmg5NnY1NGgtMjU2ek02NzggNDYydi0zMjBoMjQ0djU0aC0xODB2ODhoMTYydjU0aC0xNjJ2NzBoMTc0djU0aC0yMzh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NTk7IiBnbHlwaC1uYW1lPSJpdC1maXJld2FsbC16dGVtZiIgZD0iTTY4IDk2MGMtMzcuNzI4IDAtNjgtMzAuMjcyLTY4LTY4di04ODhjMC0zNy43MjggMzAuMjcyLTY4IDY4LTY4aDg4OGMzNy43MjggMCA2OCAzMC4yNzIgNjggNjh2ODg4YzAgMzcuNzI4LTMwLjI3MiA2OC02OCA2OGgtODg4ek0yNDIgODk2aDEwNHYtMTJjLTM2LjczMS00MC4xNjEtNjAtOTMuMjg2LTYwLTE1MiAwLTEuMzMzLTAuMDIzLTIuNjczIDAtNGgtMjIydjU2aDE3OHYxMTJ6TTY5OCA4OTZoMTAydi0xMTJoMTYwdi01NmgtMTh2LTE3NmgxOHYtNDkwaC0xNjB2LTYyaC0xMDJ2NjJoLTM1MnYtNjJoLTEwNHY2MmgtMTc4djQ5MGgzMTJjMzcuOTE1LTI4LjgxOSA4NC43MDEtNDYgMTM2LTQ2czk4LjA4NSAxNy4xODEgMTM2IDQ2aDE5MnYxNzZoLTEwMmMwLjAyMyAxLjM0IDAgMi42NTUgMCA0IDAgNDcuNzYzLTE0LjY5NCA5MS41MTctNDAgMTI4djM2ek00MTggODYyaDE4OHYtNDhoLTEzMnYtNjRoMTE0di00NmgtMTE0di0xMThoLTU2djI3NnpNMTIyIDQ2MnYtNTRoMTQ4bC0xNDYtMTgwLTIyLTI4di01OGgyNjB2NTRoLTE4MmwxNzYgMjE2djUwaC0yMzR6TTM4MCA0NjJ2LTU0aDk2di0yNjZoNjR2MjY2aDk2djU0aC0yNTZ6TTY3OCA0NjJ2LTMyMGgyNDR2NTRoLTE4MHY4OGgxNjJ2NTRoLTE2MnY3MGgxNzR2NTRoLTIzOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk1YTsiIGdseXBoLW5hbWU9Iml0LWZpcmV3YWxsLXp0ZXV0bSIgZD0iTTY4IDk2MGMtMzcuNzI4IDAtNjgtMzAuMjcyLTY4LTY4di04ODhjMC0zNy43MjggMzAuMjcyLTY4IDY4LTY4aDg4OGMzNy43MjggMCA2OCAzMC4yNzIgNjggNjh2ODg4YzAgMzcuNzI4LTMwLjI3MiA2OC02OCA2OGgtODg4ek0yNDIgODk2aDEwNHYtMTJjLTM2LjczMS00MC4xNjEtNjAtOTMuMjg2LTYwLTE1MiAwLTEuMzMzLTAuMDIzLTIuNjczIDAtNGgtMjIydjU2aDE3OHYxMTJ6TTY5OCA4OTZoMTAydi0xMTJoMTYwdi01NmgtMTh2LTE3NmgxOHYtNDkwaC0xNjB2LTYyaC0xMDJ2NjJoLTM1MnYtNjJoLTEwNHY2MmgtMTc4djQ5MGgzMTJjMzcuOTE1LTI4LjgxOSA4NC43MDEtNDYgMTM2LTQ2czk4LjA4NSAxNy4xODEgMTM2IDQ2aDE5MnYxNzZoLTEwMmMwLjAyMyAxLjM0IDAgMi42NTUgMCA0IDAgNDcuNzYzLTE0LjY5NCA5MS41MTctNDAgMTI4djM2ek00MTAgODYyaDU2di0xNDhjMC0yMy42MjUgMC42MjUtMzkgMi00NiAyLjM3NS0xMS4yNSA3LjA2Mi0yMS4xODggMTYtMjhzMjAuNS0xMCAzNi0xMGMxNS43NSAwIDI4IDMuNTYyIDM2IDEwczEyLjM3NSAxNC42MjUgMTQgMjRjMS42MjUgOS4zNzUgNCAyNC4yNSA0IDQ2djE1Mmg1NHYtMTQ0YzAtMzMtMS01Ni4zNzUtNC03MHMtNy45MzgtMjQuNjI1LTE2LTM0Yy04LjA2My05LjM3NS0xOC41LTE2LjQzOC0zMi0yMnMtMzIuMjUtOC01NC04Yy0yNi4yNSAwLTQ2LjQzOCAxLjkzNy02MCA4cy0yNC4xMjUgMTQuMzEyLTMyIDI0Yy03Ljg3NSA5LjY4Ny0xMS41IDE5LjM3NS0xNCAzMC0zLjYyNSAxNS43NS02IDM5LjI1LTYgNzB2MTQ2ek0xMjIgNDYydi01NGgxNDhsLTE0Ni0xODAtMjItMjh2LTU4aDI2MHY1NGgtMTgybDE3NiAyMTZ2NTBoLTIzNHpNMzgwIDQ2MnYtNTRoOTZ2LTI2Nmg2NHYyNjZoOTZ2NTRoLTI1NnpNNjc4IDQ2MnYtMzIwaDI0NHY1NGgtMTgwdjg4aDE2MnY1NGgtMTYydjcwaDE3NHY1NGgtMjM4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTViOyIgZ2x5cGgtbmFtZT0iaXQtZ2F0aGVyIiBkPSJNMjYwIDk1OGMtNjUuNjk2LTcuMTQ3LTEzNC4xNDktNTAuMTEzLTE4Ni0xMjItOTQuODE0LTEzMS40NS05OC45NjYtMzE0LjI0LTEwLTQxMCAzNy45MDItNDAuNzk3IDg3LjMtNTguNjIzIDEzOC01NnYtNDAyYzQyLjY2Ny00Ny4zMzIgODUuMzMzLTQwLjA1NyAxMjggMHY0NTZjMjMuMjQ5IDE4LjIwMSA0Ni4zMzkgMzguNzQyIDY2IDY2IDk0LjgxNCAxMzEuNDUgMTAwLjk2NiAzMTYuMjQgMTIgNDEyLTMzLjM2MiAzNS45MS03NS43OCA1My45OS0xMjAgNTYtOS4yMTMgMC40MTktMTguNjE1IDEuMDIxLTI4IDB6TTQ4NCA5MTRjNTQuMTAzLTEyOC41NjIgNjcuNjUtMjgxLjI2MS0yOC00MTgtMzQuOTgyLTUwLjAwOS02Ni42NzYtOTQuNDQ0LTEwNC0xMzBsMTAyLTEyYzYyMC4xMDYgMzAuNzcyIDc4NC4yOTggNTUxLjA4MiAyNDIgNTE0LTY4Ljg3LTQuNzA5LTE3MC4zNzkgMTIuMDM4LTIxMiA0NnpNMjcwIDg1NGMyOC41Ni0xLjI5OCA1NC40NTMtMTIuODA3IDc2LTM2IDU3LjQ1OS02MS44NDcgNTUuMjM2LTE4MS4xMDItNi0yNjZzLTE1OC41NDEtMTAzLjg0Ny0yMTYtNDJjLTU3LjQ1OSA2MS44NDctNTMuMjM2IDE4MS4xMDIgOCAyNjYgMzguMjcyIDUzLjA2MSA5MC40IDgwLjE2MyAxMzggNzh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NWM7IiBnbHlwaC1uYW1lPSJpdC1pYnAiIGQ9Ik0xMjggOTYwYy03MC45MTIgMC0xMjgtNTcuMDg4LTEyOC0xMjh2LTc2OGMwLTcwLjkxMiA1Ny4wODgtMTI4IDEyOC0xMjhoNzY4YzcwLjkxMiAwIDEyOCA1Ny4wODggMTI4IDEyOHY3NjhjMCA3MC45MTItNTcuMDg4IDEyOC0xMjggMTI4aC03Njh6TTE2NCA2MDhoNjR2LTMyMGgtNjR2MzIwek0yOTAgNjA4aDEyOGMyNS4zNzUgMCA0NS41MzEgMC4xMTUgNTgtMnMyNC4xNTYtNy4yOTIgMzQtMTRjOS44NDMtNi43MDkgMTcuNDM3LTE0Ljg0NCAyNC0yNnMxMC0yNC4xNDYgMTAtMzhjMC0xNS4wMjEtMy45MDctMjkuNDU5LTEyLTQycy0yMC4xNDYtMjEuNzI5LTM0LTI4YzE5LjU0MS01LjY4OCAzNS41LTE2LjI5MiA0Ni0zMHMxNi0yOS40NzkgMTYtNDhjMC0xNC41ODMtMy4yMTktMjguMjE5LTEwLTQycy0xNi4yNjEtMjMuNzYtMjgtMzJjLTExLjc0LTguMjQtMjYuNzkyLTE0LjEwNC00NC0xNi0xMC43OTItMS4xNjctMzYuNzI5LTEuNzA4LTc4LTJoLTExMHYzMjB6TTYxNCA2MDhoMTA0YzM5LjM3NSAwIDY2LjA0MS0wLjc5MiA3OC00IDE4LjM3NS00LjgxMyAzMy42MDQtMTUuODg2IDQ2LTMyczE4LTM2LjQ3OSAxOC02MmMwLTE5LjY4OC0yLjg1NC0zNi41ODQtMTAtNTBzLTE2Ljk5LTI0LjM0NC0yOC0zMmMtMTEuMDExLTcuNjU2LTIyLjYyNS0xMS41MjEtMzQtMTQtMTUuNDU5LTMuMDYzLTM2LjY4OC02LTY2LTZoLTQ0di0xMjBoLTY0djMyMHpNMzU2IDU1NHYtNzRoNDJjMjUuMjI5IDAgMzkuODc1IDEuMjcgNDYgMiAxMS4wODMgMS4zMTIgMTkuNjU2IDUuNjU2IDI2IDEyczEwIDEzLjY0NiAxMCAyNGMwIDkuOTE2LTIuNTMxIDE3LjgwMi04IDI0cy0xMy4yMDkgMTAuNjg3LTI0IDEyYy02LjQxNyAwLjcyOS0yNS41MjEgMC01NiAwaC0zNnpNNjc4IDU1NHYtOTBoMzZjMjUuNTIxIDAgNDMuMzk2IDAuNjQ2IDUyIDRzMTUuMTE0IDguODU0IDIwIDE2YzQuODg1IDcuMTQ2IDggMTQuNTIxIDggMjQgMCAxMS42NjYtNS4xNDYgMjIuNDE2LTEyIDMwcy0xNS41IDEyLjEwNC0yNiAxNGMtNy43MjkgMS40NTgtMjIuNjY3IDItNDYgMmgtMzJ6TTM1NiA0Mjh2LTg2aDYwYzIzLjMzMyAwIDM3LjcyOSAwLjY4NyA0NCAyIDkuNjI1IDEuNzUgMTcuOTQ4IDUuMjE5IDI0IDEyczggMTYuNjI1IDggMjhjMCA5LjYyNS0xLjMzNCAxNy4yOTItNiAyNHMtMTEuMTc3IDEwLjkzNy0yMCAxNGMtOC44MjMgMy4wNjItMjguNTQyIDYtNTggNmgtNTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NWQ7IiBnbHlwaC1uYW1lPSJpdC1pYnAtaWJwMjAwMCIgZD0iTTEyOCA5NjBjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg3NjhjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djc2OGMwIDcwLjkxMi01Ny4wODggMTI4LTEyOCAxMjhoLTc2OHpNMTY0IDc5MGg2NHYtMzIyaC02NHYzMjJ6TTI5MCA3OTBoMTI4YzI1LjM3NSAwIDQ1LjUzMS0xLjg4NiA1OC00czI0LjE1Ni03LjI5MiAzNC0xNGM5Ljg0My02LjcwOSAxNy40MzctMTQuODQ0IDI0LTI2czEwLTI0LjE0NiAxMC0zOGMwLTE1LjAyMS0zLjkwNy0yNy40NTktMTItNDBzLTIwLjE0Ni0yMS43MjktMzQtMjhjMTkuNTQxLTUuNjg4IDM1LjUtMTYuMjkyIDQ2LTMwczE2LTI5LjQ3OSAxNi00OGMwLTE0LjU4My0zLjIxOS0yOC4yMTktMTAtNDJzLTE2LjI2MS0yNS43Ni0yOC0zNGMtMTEuNzQtOC4yNC0yNi43OTItMTQuMTA0LTQ0LTE2LTEwLjc5Mi0xLjE2Ny0zNi43MjktMS43MDgtNzgtMmgtMTEwdjMyMnpNNjE0IDc5MGgxMDRjMzkuMzc1IDAgNjYuMDQxLTIuNzkyIDc4LTYgMTguMzc1LTQuODEzIDMzLjYwNC0xMy44ODYgNDYtMzBzMTgtMzguNDc5IDE4LTY0YzAtMTkuNjg4LTIuODU0LTM0LjU4NC0xMC00OHMtMTYuOTktMjQuMzQ0LTI4LTMyYy0xMS4wMTEtNy42NTYtMjIuNjI1LTEzLjUyMS0zNC0xNi0xNS40NTktMy4wNjMtMzYuNjg4LTQtNjYtNGgtNDR2LTEyMmgtNjR2MzIyek0zNTYgNzM2di03NGg0MmMyNS4yMjkgMCAzOS44NzUtMC43MyA0NiAwIDExLjA4MyAxLjMxMiAxOS42NTYgNS42NTYgMjYgMTJzMTAgMTUuNjQ2IDEwIDI2YzAgOS45MTYtMi41MzEgMTcuODAyLTggMjRzLTEzLjIwOSA4LjY4Ny0yNCAxMGMtNi40MTcgMC43MjktMjUuNTIxIDItNTYgMmgtMzZ6TTY3OCA3MzZ2LTkyaDM2YzI1LjUyMSAwIDQzLjM5NiAyLjY0NiA1MiA2czE1LjExNCA2Ljg1NCAyMCAxNGM0Ljg4NSA3LjE0NiA4IDE2LjUyMSA4IDI2IDAgMTEuNjY2LTUuMTQ2IDIwLjQxNi0xMiAyOHMtMTUuNSAxMi4xMDQtMjYgMTRjLTcuNzI5IDEuNDU4LTIyLjY2NyA0LTQ2IDRoLTMyek0zNTYgNjA4di04Nmg2MGMyMy4zMzMgMCAzNy43MjkgMC42ODcgNDQgMiA5LjYyNSAxLjc1IDE3Ljk0OCA3LjIxOSAyNCAxNHM4IDE0LjYyNSA4IDI2YzAgOS42MjUtMS4zMzQgMTkuMjkyLTYgMjZzLTExLjE3NyAxMC45MzctMjAgMTRjLTguODIzIDMuMDYyLTI4LjU0MiA0LTU4IDRoLTUyek0xOTYgMzYyYzI3LjEyNSAwIDQ4LjUtNy4zNzUgNjQtMjJzMjQtMzQuMjUgMjQtNTZjMC0xMi4zNzUtMy41NjMtMjIuODEzLTgtMzRzLTEwLjM3NS0yMy43NS0yMC0zNmMtNi4zNzUtOC4xMjUtMTcuMzc1LTE4Ljc1LTM0LTM0cy0yNy41NjMtMjUtMzItMzBjLTQuNDM4LTUtOS4yNS0xMS4yNS0xMi0xNmgxMDZ2LTQ4aC0xODZjMiAxOC41IDggMzUuNDM4IDE4IDUyczMwLjUgMzguNjI1IDYwIDY2YzIzLjc1IDIyLjEyNSAzOC42MjUgMzYuMTI1IDQ0IDQ0IDcuMjUgMTAuODc1IDEwIDIzLjM3NSAxMCAzNCAwIDExLjc1LTEuNjg4IDE5LjY4Ny04IDI2cy0xNC44NzUgMTAtMjYgMTBjLTExIDAtMjEuNS0zLjM3NS0yOC0xMHMtOS0xOC42MjUtMTAtMzRsLTUyIDZjMy4xMjUgMjkgMTEuNSA0OS4zNzUgMjggNjJzMzcuMjUgMjAgNjIgMjB6TTQwOCAzNjJjMjYuNjI1IDAgNDctMTEgNjItMzAgMTcuODc1LTIyLjUgMjgtNTcuODc1IDI4LTExMCAwLTUyLTEwLTkxLjI1LTI4LTExNC0xNC44NzUtMTguNzUtMzUuMzc1LTI4LTYyLTI4LTI2Ljc1IDAtNDcuNjI1IDExLjQzNy02NCAzMnMtMjQgNTcuMjUtMjQgMTEwYzAgNTEuNzUgOCA4OS4yNSAyNiAxMTIgMTQuODc1IDE4Ljc1IDM1LjM3NSAyOCA2MiAyOHpNNjIyIDM2MmMyNi42MjUgMCA0Ny0xMSA2Mi0zMCAxNy44NzUtMjIuNSAyOC01Ny44NzUgMjgtMTEwIDAtNTItMTAtOTEuMjUtMjgtMTE0LTE0Ljg3NS0xOC43NS0zNS4zNzUtMjgtNjItMjgtMjYuNzUgMC00Ny42MjUgMTEuNDM3LTY0IDMycy0yNiA1Ny4yNS0yNiAxMTBjMCA1MS43NSAxMCA4OS4yNSAyOCAxMTIgMTQuODc1IDE4Ljc1IDM1LjM3NSAyOCA2MiAyOHpNODM2IDM2MmMyNi42MjUgMCA0Ny0xMSA2Mi0zMCAxNy44NzUtMjIuNSAyOC01Ny44NzUgMjgtMTEwIDAtNTItMTAtOTEuMjUtMjgtMTE0LTE0Ljg3NS0xOC43NS0zNS4zNzUtMjgtNjItMjgtMjYuNzUgMC00Ny42MjUgMTEuNDM3LTY0IDMycy0yNiA1Ny4yNS0yNiAxMTBjMCA1MS43NSAxMCA4OS4yNSAyOCAxMTIgMTQuODc1IDE4Ljc1IDM1LjM3NSAyOCA2MiAyOHpNNDA4IDMxOGMtNi4zNzUgMC0xMS0xLjkzNy0xNi02cy05LjI1LTExLjUtMTItMjJjLTMuNjI1LTEzLjYyNS02LTM1Ljc1LTYtNjhzMi43NS01NS45MzggNi02OGMzLjI1LTEyLjA2MyA3LjA2Mi0yMCAxMi0yNHM5LjYyNS02IDE2LTZjNi4zNzUgMCAxMyAxLjkzNyAxOCA2czkuMjUgMTEuNSAxMiAyMmMzLjYyNSAxMy41IDQgMzcuNzUgNCA3MHMtMC43NSA1My45MzctNCA2NmMtMy4yNSAxMi4wNjItNy4wNjMgMTkuOTM3LTEyIDI0cy0xMS42MjUgNS45OTktMTggNnpNNjIyIDMxOGMtNi4zNzUgMC0xMS0xLjkzNy0xNi02cy05LjI1LTExLjUtMTItMjJjLTMuNjI1LTEzLjYyNS02LTM1Ljc1LTYtNjhzMC43NS01NS45MzggNC02OGMzLjI1LTEyLjA2MyA5LjA2Mi0yMCAxNC0yNHM5LjYyNS02IDE2LTZjNi4zNzUgMCAxMyAxLjkzNyAxOCA2czcuMjUgMTEuNSAxMCAyMmMzLjYyNSAxMy41IDYgMzcuNzUgNiA3MHMtMC43NSA1My45MzctNCA2NmMtMy4yNSAxMi4wNjItNy4wNjMgMTkuOTM3LTEyIDI0cy0xMS42MjUgNS45OTktMTggNnpNODM2IDMxOGMtNi4zNzUgMC0xMy0xLjkzNy0xOC02cy03LjI1LTExLjUtMTAtMjJjLTMuNjI1LTEzLjYyNS02LTM1Ljc1LTYtNjhzMC43NS01NS45MzggNC02OGMzLjI1LTEyLjA2MyA3LjA2Mi0yMCAxMi0yNHMxMS42MjUtNiAxOC02YzYuMzc1IDAgMTEgMS45MzcgMTYgNnM5LjI1IDExLjUgMTIgMjJjMy42MjUgMTMuNSA2IDM3Ljc1IDYgNzBzLTAuNzUgNTMuOTM3LTQgNjZjLTMuMjUgMTIuMDYyLTkuMDYzIDE5LjkzNy0xNCAyNHMtOS42MjUgNS45OTktMTYgNnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk1ZTsiIGdseXBoLW5hbWU9Iml0LW5ldCIgZD0iTTUxMiA5NjBjLTI4Mi43NyAwLTUxMi0yMjkuMjI5LTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyYzI4Mi43NyAwIDUxMiAyMjkuMjI5IDUxMiA1MTJzLTIyOS4yMyA1MTItNTEyIDUxMnpNNDYwIDg2MGMtMC4wMzUtMC42NCAwLTEuMzQ0IDAtMS45ODR2LTE0NGgtMTA2YzEzLjY1MyA0OS4wNjkgMzIuOTY4IDk0LjA4MCA1NCAxMzYgMTYuODIyIDQuMzUyIDM0LjQyNCA3Ljc4OSA1MiAxMC4wMDN6TTU2NCA4NjBjMTQuNzk5LTEuODU2IDI5LjcyNy00LjYwOCA0NC04IDIxLjQ2NC00Mi4wMTAgNDAuMDA3LTg4LjY3MiA1NC0xMzguMDAzaC05OHYxNDRjMCAwLjY0IDAuMDM1IDEuMzQ0IDAgMS45ODR6TTcyOCA4MDEuOTk3YzM4Ljc2NC0yMy43MjUgNzQuOTc1LTUzLjI5MyAxMDQtODhoLTc0Yy04LjY5MiAzMC41NzMtMTguMzY3IDYwLjE1NC0zMCA4OHpNMjg2IDc5NS45ODFjLTEwLjQ5My0yNi4xNjMtMjAuMDYzLTUzLjUyMy0yOC04Mi4wMDNoLTY2YzI2LjU2NiAzMS43NjMgNTkuMTc5IDU5LjMzNCA5NCA4Mi4wMDN6TTg5NCA2MTMuOTc4YzE1LjQ4NC0zNS41MiAyNC45NzQtNzQuMTMxIDMwLTExMy45OTdoLTEzNGMtMS4zIDM4LjU3OS00LjI5MSA3NS42NDgtMTAgMTEyaDEwMmMzLjY5OSAwIDguNjQzIDAuOTYgMTIgMS45ODR6TTEyOCA2MTEuOTk0aDExMGMtNS41NTUtMzYuNDE2LTEwLjg2NC03My4zODktMTItMTEyaC0xMjZjNC45MSAzOC45MzggMTMuMDk1IDc3LjE4NCAyOCAxMTJ6TTMzMiA2MTEuOTk0aDEyOHYtMTEyaC0xMzhjMS4xMjkgMzguMzYyIDQuNTM2IDc1Ljg3MiAxMCAxMTJ6TTU2NCA2MTEuOTk0aDEyMGM1LjYzNy0zNi4xMjIgOC43MDYtNzMuNjA2IDEwLTExMmgtMTMwdjExMnpNMTAwIDM5NS45OTRoMTI4YzMuMTE1LTM4LjkwNiAxMC4zNzEtNzUuNTcxIDE4LTExMmgtMTE4Yy0xNC45MDUgMzQuODE2LTIzLjA5MCA3My4wNjItMjggMTEyek0zMjQgMzk1Ljk5NGgxMzZ2LTExMmgtMTIwYy03LjQ4MSAzNi4zNDYtMTIuOTY2IDczLjEyNi0xNiAxMTJ6TTU2NCAzOTUuOTk0aDEzMGMtMi44OTctMzguMzA0LTguNzgzLTc2LjEyOC0xNi0xMTJoLTExNHYxMTJ6TTc4OCAzOTUuOTk0aDEzNmMtNC45MS0zOC45MzgtMTMuMDk1LTc3LjE4NC0yOC0xMTJoLTEyNGM3LjMyNCAzNS44MTQgMTMuMDI4IDczLjgyNCAxNiAxMTJ6TTE5NCAxNzkuOTk0aDc4YzEyLjQ5NS0zNi4wMzggMjkuNDI5LTY4LjQ2MSA0Ni0xMDAtNDcuMTQzIDI0Ljk1NC04OS43ODggNTkuNjQyLTEyNCAxMDB6TTM2OCAxNzkuOTk0aDkydi0xNDRjLTcuODY4IDAuOTYtMTYuMjc1IDAuNjQtMjQgMS45ODQtMjYuNTg3IDQyLjUyMi00OS45NDcgODkuNTQyLTY4IDE0Mi4wMDN6TTU2NCAxNzkuOTk0aDg2Yy0xNy41OTctNTEuNjIyLTQwLjEzOC05OS45MS02Ni0xNDIuMDAzLTYuNDczLTEuMTUyLTEzLjQyOC0xLjE1Mi0yMC0xLjk4NHYxNDR6TTc0NiAxNzkuOTk0aDg0Yy0zNS4xNjktNDEuNDkxLTc5LjIzMS03Ni44NTEtMTI4LTEwMi4wMDMgMTYuNjEgMzEuOTIzIDMxLjU1IDY1LjUzNiA0NCAxMDIuMDAzeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTVmOyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXIiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek0yNDggNzMwbDEyNC0zMi0xNDItNTI4LTEyMiAzMiAxNDAgNTI4ek00NDggNzI4aDEyOHYtNTQ2aC0xMjh2NTQ2ek03NzQgNzI2bDE0Mi01MjgtMTI0LTMyLTE0MiA1MjggMTI0IDMyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTYwOyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItYWx0ZW9uIiBkPSJNODMyIDk2MGgtNjQwYy0xMDUuOTg0IDAtMTkyLTg1Ljk2OS0xOTItMTkydi02NDBjMC0xMDYuMDMxIDg2LjAxNi0xOTIgMTkyLTE5Mmg2NDBjMTA2LjAzMSAwIDE5MiA4NS45NjkgMTkyIDE5MnY2NDBjMCAxMDYuMDMxLTg1Ljk2OSAxOTItMTkyIDE5MnpNNjA3LjY5NyA4NzUuMDA4YzQ0LjE3MiAwIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEycy0zNS44NC04MC4wMTItODAuMDEyLTgwLjAxMmMtNDQuMjE4IDAtODAuMDEyIDM1Ljg0LTgwLjAxMiA4MC4wMTJzMzUuNzQ3IDgwLjAxMiA4MC4wMTIgODAuMDEyek0zOTIuMzMyIDg3NS4wMDhjNDQuMTcyIDAgODAuMDEyLTM1Ljg0IDgwLjAxMi04MC4wMTJzLTM1Ljg0LTgwLjAxMi04MC4wMTItODAuMDEyLTgwLjAxMiAzNS44NC04MC4wMTIgODAuMDEyIDM1Ljg0IDgwLjAxMiA4MC4wMTIgODAuMDEyek0xNzcuMDEyIDcxNC45ODVjLTQ0LjE3MiAwLTgwLjAxMiAzNS44NC04MC4wMTIgODAuMDEyczM1Ljg0IDgwLjAxMiA4MC4wMTIgODAuMDEyIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEyLTM1Ljg0LTgwLjAxMi04MC4wMTItODAuMDEyek01NzQuNjUgMTQuMDEwbC00NS4zODIgMTE3Ljk5M2gtMTYyLjg2M2wtNDIuNzc1LTExNy45OTNoLTU0LjY5MWwxNDkuNTUxIDM4OS40NDZoNTUuNTI5bDE1OS4zNzItMzg5LjQ0NmgtNTguNzR6TTYwNy42OTcgNDQ4Ljk3N2MtNDQuMjE4IDAtODAuMDEyIDM1Ljg0LTgwLjAxMiA4MC4wMTJzMzUuNzkzIDgwLjAxMiA4MC4wMTIgODAuMDEyYzQ0LjE3MiAwIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEycy0zNS44NC04MC4wMTItODAuMDEyLTgwLjAxMnpNNzE1LjE3MSAxNC4wMTBoLTQ3LjgwMnYzODkuNDQ2aDQ3LjgwMnYtMzg5LjQ0NnpNODIzLjAxNyA0NDguOTc3Yy00NC4xNzIgMC04MC4wMTIgMzUuODQtODAuMDEyIDgwLjAxMnMzNS44NCA4MC4wMTIgODAuMDEyIDgwLjAxMiA3OS45NjUtMzUuODQgNzkuOTY1LTgwLjAxMi0zNS43OTMtODAuMDEyLTc5Ljk2NS04MC4wMTJ6TTgyMy4wMTcgNzE0Ljk4NWMtNDQuMTcyIDAtODAuMDEyIDM1Ljg0LTgwLjAxMiA4MC4wMTJzMzUuODQgODAuMDEyIDgwLjAxMiA4MC4wMTIgNzkuOTY1LTM1Ljg0IDc5Ljk2NS04MC4wMTItMzUuNzkzLTgwLjAxMi03OS45NjUtODAuMDEyek00NDUuMDIxIDM2Mi40OTZjLTQuOTM0LTI0Ljk0OC0xMS45NjItNDkuNzU3LTIwLjk0NS03NC4zOGwtNDIuNzc1LTExNC4xNzZoMTMyLjA0OWwtNDAuNjgxIDEwNy43NTNjLTEyLjQyOCAzMi44MTUtMjEuNTk3IDU5LjgxMS0yNy42NDggODAuODAzeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTYxOyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItYXBwZGlyZWN0b3IiIGQ9Ik04MTYuMDM1IDMzNy4xMjljLTguNjExIDIuMjgxLTI0LjQzNiAzLjM5OC00Ny41NjkgMy4zOThoLTk4LjQ5di0xMzcuNjgxaDk5LjU2MWMzMi45NTQgMCA1Ni4zMiA2LjE0NCA3MC4xOTEgMTguNDMyIDEzLjgyNCAxMi4yNDEgMjAuNzEzIDI5LjUxIDIwLjcxMyA1MS43MTIgMCAxNi4xNTEtNC4wNDkgMjkuOTI5LTEyLjE5NSA0MS40MjUtOC4xOTIgMTEuNDUtMTguOTQ0IDE5LjAzNy0zMi4yMDkgMjIuNzE0ek04MzIgOTYwaC02NDBjLTEwNS45ODQgMC0xOTItODUuOTY5LTE5Mi0xOTJ2LTY0MGMwLTEwNS45ODQgODYuMDE2LTE5MiAxOTItMTkyaDY0MC4wNDdjMTA1LjkzNyAwIDE5MS45NTMgODYuMDE2IDE5MS45NTMgMTkydjY0MGMwIDEwNi4wMzEtODYuMDE2IDE5Mi0xOTIgMTkyek04MjMuMDE3IDg3NS4wMDhjNDQuMTcyIDAgODAuMDEyLTM1Ljg0IDgwLjAxMi04MC4wMTJzLTM1Ljg0LTgwLjAxMi04MC4wMTItODAuMDEyLTgwLjAxMiAzNS44NC04MC4wMTIgODAuMDEyYzAgNDQuMTcyIDM1Ljc5MyA4MC4wMTIgODAuMDEyIDgwLjAxMnpNODIzLjAxNyA2MDkuMDAxYzQ0LjE3MiAwIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEycy0zNS44NC04MC4wMTItODAuMDEyLTgwLjAxMi04MC4wMTIgMzUuODQtODAuMDEyIDgwLjAxMmMwIDQ0LjE3MiAzNS43OTMgODAuMDEyIDgwLjAxMiA4MC4wMTJ6TTYwNy43NDQgODc1LjAwOGM0NC4xMjUgMCA4MC4wMTItMzUuODQgODAuMDEyLTgwLjAxMnMtMzUuODg3LTgwLjAxMi04MC4wMTItODAuMDEyYy00NC4yNjUgMC04MC4wNTggMzUuODQtODAuMDU4IDgwLjAxMnMzNS43NDcgODAuMDEyIDgwLjA1OCA4MC4wMTJ6TTM5Mi4zMzIgODc1LjAwOGM0NC4xNzIgMCA4MC4wMTItMzUuODQgODAuMDEyLTgwLjAxMnMtMzUuODQtODAuMDEyLTgwLjAxMi04MC4wMTJjLTQ0LjE3MiAwLTgwLjAxMiAzNS44NC04MC4wMTIgODAuMDEyczM1Ljg0IDgwLjAxMiA4MC4wMTIgODAuMDEyek0xNzcuMDEyIDcxNC45ODVjLTQ0LjE3MiAwLTgwLjAxMiAzNS44NC04MC4wMTIgODAuMDEyczM1Ljg0IDgwLjAxMiA4MC4wMTIgODAuMDEyYzQ0LjE3MiAwIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEycy0zNS44NC04MC4wMTItODAuMDEyLTgwLjAxMnpNNTIwLjE5MiAwLjgzOGwtNDQuOTE2IDExNi42NDNoLTE2MS4wOTRsLTQyLjMxLTExNi42NDNoLTU0LjEzMmwxNDcuOTIxIDM4NS4xNjRoNTQuOTI0bDE1Ny42NDktMzg1LjE2NGgtNTguMDQyek01MjcuNjg2IDUyOC45ODljMCA0NC4xNzIgMzUuNzkzIDgwLjAxMiA4MC4wNTggODAuMDEyIDQ0LjEyNSAwIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEycy0zNS44ODctODAuMDEyLTgwLjAxMi04MC4wMTJjLTQ0LjMxMSAwLTgwLjA1OCAzNS44NC04MC4wNTggODAuMDEyek04ODEuNzExIDE5MS40NDFjLTIwLjg1Mi0yMi42NjgtNTguNTU0LTM0LjAyNS0xMTMuMDEyLTM0LjAyNWgtOTguNzY5di0xNTYuNTc5aC01MS4wMTR2Mzg1LjE2NGgxNDUuMzE1YzI1LjU1MyAwIDQ1LjEwMy0xLjIxIDU4LjYwMS0zLjY3NyAxOC44OTctMy4xMTkgMzQuNzY5LTkuMTIzIDQ3LjUyMy0xOC4wMTNzMjMuMDg3LTIxLjIyNSAzMC44Ni0zNy4xOWM3LjgyLTE1Ljk2NSAxMS42ODMtMzMuNDY2IDExLjY4My01Mi41NSAwLjA0Ny0zMi43NjgtMTAuMzMzLTYwLjQxNi0zMS4xODUtODMuMTN6TTM5MS45NTkgMzQ1LjU1M2MtNC44ODctMjQuNzE2LTExLjgyMy00OS4yNDUtMjAuNzU5LTczLjU4OGwtNDIuMzEtMTEyLjk2NmgxMzAuNjA3bC00MC4yMTUgMTA2LjY4MmMtMTIuMjQxIDMyLjM0OS0yMS4zNjQgNTkuMDIwLTI3LjMyMiA3OS44NzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NjI7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1hdGNhLWxiMTAiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek01MTggNzMwaDE4NmMzNi44MzYtMC4wMDEgNjUuODk5LTIuNDkxIDg0LTZzMzMuNzEtMTAuODc1IDQ4LTIyYzE0LjI4OS0xMS4xMjYgMjYuNDczLTI1LjQ5OSAzNi00NCA5LjUyNi0xOC41MDMgMTQtMzkuMDIzIDE0LTYyIDAtMjQuOTEyLTYuMjUxLTQ3LjItMTgtNjhzLTI3Ljg4OS0zNy42LTQ4LTQ4YzI4LjM2Ny05LjQzMyA1MC43NTctMjUuMjY2IDY2LTQ4czIyLTQ5LjI4NCAyMi04MGMwLTI0LjE4Ni00LjE1Ni00Ny4xNDUtMTQtNzBzLTIyLjk1OS00MC4zMzUtNDAtNTRjLTE3LjA0Mi0xMy42NjUtMzkuMDIwLTIyLjg1Ni02NC0yNi0xNS42NjYtMS45MzYtNTIuMDg5LTMuNTIxLTExMi00aC0xNjB2NTMyek0xMjQgNzI2aDk0di00MzhoMjM0di05MGgtMzI4djUyOHpNNjEyIDY0MnYtMTI0aDYyYzM2LjYyNC0wLjAwMSA1OS4xMDggMC44MDMgNjggMiAxNi4wODkgMi4xNzUgMjguNzkxIDkuNDc5IDM4IDIwczE0IDI0LjgyOCAxNCA0MmMwIDE2LjQ0Ni00LjA2MSAyOS43Mi0xMiA0MC03LjkzOSAxMC4yNzgtMTguMzM0IDE1LjgyMy0zNCAxOC05LjMxNSAxLjIxMS0zNy43NTUgMi04MiAyaC01NHpNNjEyIDQzMHYtMTQyaDg4YzMzLjg3MiAwIDU0Ljg5NyAxLjgyNSA2NCA0IDEzLjk3MiAyLjkgMjUuMjE0IDguNzU0IDM0IDIwczE0IDI3LjEzNSAxNCA0NmMwIDE1Ljk2Mi0zLjIyNiAyOC44NzQtMTAgNDBzLTE3LjE5MiAxOC45MjEtMzAgMjRjLTEyLjgwOCA1LjA4My00MS4yMzcgNy45OTktODQgOGgtNzZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NjM7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1jaXNjby11Y3MiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek01MjggNjMwYzM3LjU0OC0wLjAwMSA2OC41NS0xMi42NDUgOTItMzggMTMuOTU4LTE0Ljk5MSAyMy4wMjEtMzcuOTMzIDMwLTY2bC02MC0xNmMtMy42MjkgMTguMTc5LTEyLjQ4NCAzMy40NzUtMjQgNDRzLTI1LjUyOSAxMy45OTktNDIgMTRjLTIyLjc1Mi0wLjAwMS0zOS44MzItOS4zNDItNTQtMjhzLTIyLTQ4LjIxOS0yMi05MGMwLTQ0LjMzMyA4LjA0MS03NS4xODMgMjItOTRzMzEuNjY2LTI4IDU0LTI4YzE2LjQ3MSAwIDMwLjEzNSA2LjAzOCA0MiAxOCAxMS44NjQgMTEuOTYgMjAuODM1IDMwLjMyNSAyNiA1Nmw2MC0yMmMtOS4yMTMtMzguMjczLTI0LjU3NC02Ny40MjItNDYtODZzLTQ5LjA1OC0yOC04Mi0yOGMtNDAuNzU5IDAtNzMuNzU4IDE2LjE4Ni0xMDAgNDhzLTQwIDc2LjgyMy00MCAxMzJjMCA1OC4zNjYgMTMuNjE4IDEwMy43MDcgNDAgMTM2czYxLjAwOCA0Ny45OTkgMTA0IDQ4ek04MTIgNjMwYzM4LjUyNS0wLjAwMSA2OC41MjgtMTAuNzA0IDg4LTMwczI5LjAyMy00My43ODcgMzAtNzZsLTYyLTRjLTIuNjUzIDE4LjAyMC03LjI3NiAzMC4xMDYtMTYgMzhzLTIyLjU1MiAxMi00MCAxMmMtMTguMDA3IDAtMzEuODEtMy41NS00Mi0xMi02LjU2MS01LjQyNS0xMC0xMi45MTEtMTAtMjIgMC04LjI5MyAzLjg1OS0xNC4xIDEwLTIwIDcuODE3LTcuNDk1IDI1Ljg1LTE1Ljg2NyA1Ni0yNHM1MS41NTMtMTcuMzA5IDY2LTI2YzE0LjQ0Ny04LjY5MSAyNS44MzQtMjAuOTMgMzQtMzZzMTQtMzMuODM0IDE0LTU2YzAtMjAuMDkzLTYuMjMtMzguNDU4LTE2LTU2cy0yNC4xMzMtMjkuNDY4LTQyLTM4Yy0xNy44NjctOC41MzItMzkuMzM5LTE0LTY2LTE0LTM4LjgwNSAwLTY5LjIwMiAxMS41MDgtOTAgMzJzLTMxLjk1MiA0OC43Ny0zNiA4OGw2MCA4YzMuNjI5LTIzLjEyNCAxMC45MDMtNDEuMTU2IDIyLTUyczI1LjE1Ni0xNiA0NC0xNmMxOS45NiAwIDM1Ljg4IDQuMzUxIDQ2IDE0IDEwLjEyIDkuNjQ3IDE2IDIxLjA4MyAxNiAzNCAwIDguMjkyLTMuNzQzIDE2LjE3OS04IDIycy0xMS4zOTIgMTEuNjk0LTIyIDE2Yy03LjI1OSAyLjg2Ni0yNC4xNzcgNi42NjQtNTAgMTQtMzMuMjIxIDkuNDA5LTU2LjYgMjIuMjg1LTcwIDM2LTE4Ljg0NCAxOS4yOTYtMjggNDIuMjUyLTI4IDcwIDAgMTcuODYgNS4xMzYgMzQuNDUxIDE0IDUwczIxLjMyIDI3Ljg2NyAzOCAzNiAzNi40MSAxMS45OTkgNjAgMTJ6TTg0IDYyNGg2MnYtMTkwYzAtMzAuMTM5IDIuNDY0LTUxLjA3MCA0LTYwIDIuNjUyLTE0LjM1MiA4LjAyMC0yNS4zMDkgMTgtMzRzMjQuNjkxLTEyIDQyLTEyYzE3LjU4NyAwIDI5LjA2NiAzLjc4NiAzOCAxMiA4LjkzMyA4LjIxMyAxNi4xODUgMTguMDQwIDE4IDMwczIgMzIuMjUyIDIgNjB2MTk0aDYydi0xODRjMC00Mi4xLTIuNjUtNzIuNjE4LTYtOTBzLTguOTk3LTMyLjA0MC0xOC00NGMtOS4wMDMtMTEuOTYtMjAuOTI1LTIwLjkwNC0zNi0yOHMtMzMuNzEyLTEyLTU4LTEyYy0yOS4zMTMgMC01Mi44NTUgNC4yNjQtNjggMTJzLTI3LjIwNiAxNy42NDEtMzYgMzAtMTMuMjA4IDI2LjQ0NS0xNiA0MGMtNC4wNDggMjAuMDkzLTggNDguNzctOCA4OHYxODh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NjQ7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1kY3MiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek01MjggNjMwYzM3LjU0OC0wLjAwMSA2OC41NS0xMi42NDUgOTItMzggMTMuOTU4LTE0Ljk5MSAyMy4wMjEtMzcuOTMzIDMwLTY2bC02MC0xNmMtMy42MjkgMTguMTc5LTEyLjQ4NCAzMy40NzUtMjQgNDRzLTI1LjUyOSAxMy45OTktNDIgMTRjLTIyLjc1Mi0wLjAwMS0zOS44MzItOS4zNDItNTQtMjhzLTIyLTQ4LjIxOS0yMi05MGMwLTQ0LjMzMyA4LjA0MS03NS4xODMgMjItOTRzMzEuNjY2LTI4IDU0LTI4YzE2LjQ3MSAwIDMwLjEzNSA2LjAzOCA0MiAxOCAxMS44NjQgMTEuOTYgMjAuODM1IDMwLjMyNSAyNiA1Nmw2MC0yMmMtOS4yMTMtMzguMjczLTI0LjU3NC02Ny40MjItNDYtODZzLTQ5LjA1OC0yOC04Mi0yOGMtNDAuNzU5IDAtNzMuNzU4IDE2LjE4Ni0xMDAgNDhzLTQwIDc2LjgyMy00MCAxMzJjMCA1OC4zNjYgMTMuNjE4IDEwMy43MDcgNDAgMTM2czYxLjAwOCA0Ny45OTkgMTA0IDQ4ek04MTIgNjMwYzM4LjUyNS0wLjAwMSA2OC41MjgtMTAuNzA0IDg4LTMwczI5LjAyMy00My43ODcgMzAtNzZsLTYyLTRjLTIuNjUzIDE4LjAyMC03LjI3NiAzMC4xMDYtMTYgMzhzLTIyLjU1MiAxMi00MCAxMmMtMTguMDA3IDAtMzEuODEtMy41NS00Mi0xMi02LjU2MS01LjQyNS0xMC0xMi45MTEtMTAtMjIgMC04LjI5MyAxLjg1OS0xNC4xIDgtMjAgNy44MTctNy40OTUgMjcuODUtMTUuODY3IDU4LTI0czUxLjU1My0xNy4zMDkgNjYtMjZjMTQuNDQ3LTguNjkxIDI1LjgzNC0yMC45MyAzNC0zNnMxMi0zMy44MzQgMTItNTZjMC0yMC4wOTMtNC4yMy0zOC40NTgtMTQtNTZzLTI0LjEzMy0yOS40NjgtNDItMzhjLTE3Ljg2Ny04LjUzMi0zOS4zMzktMTQtNjYtMTQtMzguODA1IDAtNjkuMjAyIDExLjUwOC05MCAzMnMtMzEuOTUyIDQ4Ljc3LTM2IDg4bDYwIDhjMy42MjktMjMuMTI0IDEwLjkwMy00MS4xNTYgMjItNTJzMjUuMTU2LTE2IDQ0LTE2YzE5Ljk2IDAgMzUuODggNC4zNTEgNDYgMTQgMTAuMTIgOS42NDcgMTQgMjEuMDgzIDE0IDM0IDAgOC4yOTItMS43NDMgMTYuMTc5LTYgMjJzLTExLjM5MiAxMS42OTQtMjIgMTZjLTcuMjU5IDIuODY2LTI0LjE3NyA2LjY2NC01MCAxNC0zMy4yMjEgOS40MDktNTYuNiAyMi4yODUtNzAgMzYtMTguODQ0IDE5LjI5Ni0yOCA0Mi4yNTItMjggNzAgMCAxNy44NiA1LjEzNyAzNC40NTEgMTQgNTBzMjEuMzIgMjcuODY3IDM4IDM2IDM2LjQxIDExLjk5OSA2MCAxMnpNODYgNjI0aDExMmMyNS41NDQtMC4wMDEgNDQuNi0zLjUzMyA1OC04IDE4LjAwNi02LjA2MSAzNS4xNTgtMTYuNTMyIDQ4LTMyczIxLjMtMzMuNTk1IDI4LTU2YzYuNy0yMi40MDUgMTAtNTEuMTQ5IDEwLTg0IDAtMjguODY0LTMuNzE5LTUzLjEwOS0xMC03NC03LjY3Ny0yNS41MTUtMTcuNzYzLTQ2LjIxMi0zMi02Mi0xMC43NDgtMTEuOTYtMjUuNzE1LTIxLjMwMi00NC0yOC0xMy42NzktNC45NDYtMzEuMTA4LTgtNTQtOGgtMTE2djM1MnpNMTQ4IDU2NHYtMjMyaDQ2YzE3LjMwOCAwIDI4LjMyMyAxLjc3IDM2IDQgMTAuMDUwIDIuODczIDE5LjM3IDcuMTQyIDI2IDE0czExLjgxMiAxOC4yOTIgMTYgMzRjNC4xODcgMTUuNzA4IDYgMzYuODkgNiA2NHMtMS44MTMgNDcuNDg4LTYgNjJjLTQuMTg4IDE0LjUxMi0xMC40NjMgMjUuODY2LTE4IDM0cy0xNi40MTUgMTMuMTI5LTI4IDE2Yy04LjY1NCAyLjIzLTI2LjczNSA0LTUyIDRoLTI2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTY1OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItZGVsdGEiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek04OCA2MjRoMTEyYzI1LjU0NC0wLjAwMSA0Ni42LTMuNTMzIDYwLTggMTguMDA2LTYuMDYxIDMzLjE1OC0xNi41MzIgNDYtMzJzMjEuMy0zMy41OTUgMjgtNTZjNi43LTIyLjQwNSAxMC01MS4xNDkgMTAtODQgMC0yOC44NjQtMS43MTktNTMuMTA5LTgtNzQtNy42NzctMjUuNTE1LTE5Ljc2My00Ni4yMTItMzQtNjItMTAuNzQ4LTExLjk2LTI1LjcxNS0yMS4zMDItNDQtMjgtMTMuNjc5LTQuOTQ2LTMxLjEwOC04LTU0LThoLTExNnYzNTJ6TTc0OCA2MjRoNjZsMTIyLTM1MmgtNjZsLTI4IDgwaC0xMjJsLTI2LTgwaC02NmwxMjAgMzUyek00MDAgNjIwaDYydi0yODhoMTU0di02MGgtMjE2djM0OHpNMTUwIDU2NHYtMjMyaDQ2YzE3LjMwOCAwIDMwLjMyMyAxLjc3IDM4IDQgMTAuMDUwIDIuODczIDE3LjM3IDcuMTQyIDI0IDE0czExLjgxMiAxOC4yOTIgMTYgMzRjNC4xODcgMTUuNzA4IDYgMzYuODkgNiA2NHMtMS44MTMgNDcuNDg4LTYgNjJjLTQuMTg4IDE0LjUxMi0xMC40NjMgMjUuODY2LTE4IDM0cy0xNi40MTUgMTMuMTI5LTI4IDE2Yy04LjY1NCAyLjIzLTI0LjczNSA0LTUwIDRoLTI4ek03ODAgNTQybC00Mi0xMzBoODRsLTQyIDEzMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk2NjsiIGdseXBoLW5hbWU9Iml0LW90aGVyLWRwIiBkPSJNNzk5LjY1MSA1NzcuMTY0Yy05LjEyMyAyLjQyLTI2LjE1OSAzLjY3Ny01MC45MjEgMy42NzdoLTEwNS40NzJ2LTE0Ny4zNjNoMTA2LjU4OWMzNS4yODEgMCA2MC4yNzYgNi41NjMgNzUuMTI0IDE5LjY4OSAxNC43MDggMTMuMTI2IDIyLjI5NSAzMS42MDQgMjIuMjk1IDU1LjM4OSAwIDE3LjI2OC00LjQyMiAzMi4wMjMtMTMuMTI2IDQ0LjMxMS04Ljc5NyAxMi4yNDEtMjAuMjk0IDIwLjM0LTM0LjQ5IDI0LjI5N3pNODg3Ljk5NCA5NjBoLTc1MS45ODhjLTc1LjU5IDAtMTM2LjAwNi02MC40MTYtMTM2LjAwNi0xMzYuMDA2di03NTEuOTg4YzAtNzUuNTQzIDYwLjQxNi0xMzYuMDA2IDEzNi4wMDYtMTM2LjAwNmg3NTEuOTg4Yzc1LjU0MyAwIDEzNi4wMDYgNjAuNDYzIDEzNi4wMDYgMTM2LjAwNnY3NTEuOTg4YzAgNzUuNTktNjAuNDYzIDEzNi4wMDYtMTM2LjAwNiAxMzYuMDA2ek00NDUuMDIxIDM0Mi4yOTVjLTcuMzA4LTI0LjIwNC0xNi42NjMtNDQuMTcyLTI4LjExMy02MC4wNDQtMTEuNDUtMTUuOTE5LTIzLjk3MS0yOC4zLTM3LjU2Mi0zNy40MjNzLTMwLjAyMi0xNi4wMTItNDkuMTk5LTIwLjY2NmMtMTkuMjIzLTQuNjU1LTQxLjI4Ni03LjAyOC02Ni4yMzQtNy4wMjhoLTE0OC43NTl2NDEyLjM0NmgxNDIuMDEwYzMyLjA3MCAwIDU2LjUwNi0xLjk1NSA3My40MDItNS45MTEgMjMuNTk5LTUuNDQ2IDQzLjc1My0xNS4zMTMgNjAuNDYzLTI5LjU1NiAyMS43MzctMTguMzM5IDM3Ljk4MS00MS44NDQgNDguODI2LTcwLjQyMyAxMC43NTItMjguNTc5IDE2LjE1MS02MS4yNTQgMTYuMTUxLTk4LjAyNS0wLjA0Ny0zMS4yNzktMy42NzctNTkuMDY2LTEwLjk4NS04My4yN3pNODY5Ljk4MSA0MjEuMTljLTIyLjM0Mi0yNC4yOTctNjIuNjUtMzYuNDQ1LTEyMS4wMTgtMzYuNDQ1aC0xMDUuNzA1di0xNjcuNjFoLTU0LjU1MXY0MTIuMzQ2aDE1NS41NTVjMjcuMzY5IDAgNDguMjIxLTEuMzAzIDYyLjc0My0zLjk1NiAyMC4yOTQtMy4zNTEgMzcuMTQzLTkuNzc1IDUwLjg3NC0xOS4yNyAxMy42MzgtOS40OTUgMjQuNzYyLTIyLjcxNCAzMy4wMDEtMzkuNzUgOC40MjUtMTcuMDgyIDEyLjYxNC0zNS44NCAxMi42MTQtNTYuMjI3IDAtMzUuMTQyLTExLjIxNy02NC43OTEtMzMuNTEzLTg5LjA4OHpNMzI2Ljg4OSA1NzIuMzY5Yy0xNC42MTUgNS42MzItMzguMTY3IDguNDcxLTcwLjYwOSA4LjQ3MWgtODYuNTc1di0zMTUuMDIwaDg4LjA2NGMyNy4xODMgMCA0OC41IDIuNTYgNjQgNy41NCAxNS40NTMgNS4xMiAyNy43ODggMTIuMjg4IDM2Ljk1NyAyMS4zNjQgMTIuOTQgMTIuOTg2IDIyLjk5MyAzMC4zOTQgMzAuMjA4IDUyLjIyNCA3LjIxNSAyMS43ODMgMTAuODQ1IDQ4LjMxNCAxMC44NDUgNzkuNDA3IDAgNDMuMTQ4LTcuMDc1IDc2LjI4OC0yMS4yMjUgOTkuNDY4LTE0LjE5NiAyMy4xMzMtMzEuNDE4IDM4LjY3OS01MS42NjUgNDYuNTQ1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTY3OyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItZTkwMDAiIGQ9Ik03NDMuOTM2IDk2MGgtNDcxLjQ1OWMtMTUyLjYyMyAwLTI3Ni4yOTQtMTI0Ljk3NS0yNzYuMjk0LTI3OS4xMzN2LTQ2NS43MzRjMC0xNTQuMTU5IDEyMy42NzEtMjc5LjEzMyAyNzYuMjk0LTI3OS4xMzNoNDcxLjUwNWMxNTIuNTI5IDAgMjc2LjI0NyAxMjUuMDIxIDI3Ni4yNDcgMjc5LjEzM3Y0NjUuNzM0Yy0wLjA0NyAxNTQuMTU5LTEyMy43MTggMjc5LjEzMy0yNzYuMjk0IDI3OS4xMzN6TTIzNC4xNyAxODIuODc3Yy04LjY1Ny0yNS4wODgtMjEuNTA0LTQ0LjE3Mi0zOC41NC01Ny4yOTctMTcuMDgyLTEzLjA3OS0zNy4wNTAtMTkuNjQyLTYwLjA0NC0xOS42NDItMjQuMzQzIDAtNDQuMjY1IDcuMTY4LTU5LjY3MSAyMS41OTctMTUuNDUzIDE0LjM4My0yNC43MTYgMzQuNTgzLTI3LjgzNCA2MC42OTVsMzYuNzcxIDMuNTg0YzMuMTE5LTE4LjM4NSA5LjAzMC0zMS43NDQgMTcuODI3LTM5Ljk4MyA4Ljc1MS04LjI4NSAyMC4wMTUtMTIuNDI4IDMzLjc5Mi0xMi40MjggMTEuNzI5IDAgMjIuMDYzIDIuODg2IDMwLjkwNiA4LjYxMSA4Ljg0NCA1LjY3OSAxNi4xMDUgMTMuMzU5IDIxLjc4MyAyMi45IDUuNjc5IDkuNTg4IDEwLjQyNiAyMi40ODEgMTQuMjQzIDM4Ljc3MnM1LjcyNSAzMi44NjEgNS43MjUgNDkuNzExYzAgMS44MTUtMC4wNDcgNC41MTUtMC4xODYgOC4xNDUtNy42OC0xMi45NC0xOC4xMDYtMjMuNDU5LTMxLjMyNS0zMS41NTgtMTMuMjE5LTguMDUyLTI3LjU1NS0xMi4xMDItNDMuMDA4LTEyLjEwMi0yNS43ODYgMC00Ny41NjkgOS45NjEtNjUuNDQzIDI5Ljg4Mi0xNy44MjcgMTkuODc1LTI2Ljc2NCA0Ni4wODAtMjYuNzY0IDc4LjYxNSAwIDMzLjYwNiA5LjMwOSA2MC42NDkgMjcuOTI3IDgxLjEyOXM0MS45MzcgMzAuNzIgNzAuMDA0IDMwLjcyYzIwLjI0NyAwIDM4Ljc3Mi01LjgxOCA1NS41MjktMTcuNDA4IDE2Ljc1Ni0xMS42MzYgMjkuNTEtMjguMTYgMzguMjE0LTQ5LjYxNyA4Ljc1MS0yMS40NTcgMTMuMDc5LTUyLjU1IDEzLjA3OS05My4yMzEgMC00Mi4zNTYtNC4zMjktNzYuMDA5LTEyLjk4Ni0xMDEuMDk3ek00MDIuOTkxIDg2Ny41MTRoMjE0LjA2M3YtNDAuNDAxaC0xNzQuODcxdi0xMDQuODJoMTYzLjc0N3YtNDAuMTY5aC0xNjMuNzQ3di0xMTYuNTAzaDE4MS43NnYtNDAuNDAxaC0yMjAuOTUxdjM0Mi4yOTV6TTQ3Ni4xMTMgMTgwLjgyOWMtNy40OTQtMjMuODc4LTE4LjcxMS00Mi4zNTYtMzMuNjUyLTU1LjM0My0xNC45NDEtMTMuMDMzLTMzLjgzOS0xOS41NDktNTYuNTk5LTE5LjU0OS0zMC4wMjIgMC01My42MiAxMS40NS03MC43NDkgMzQuMzA0LTIwLjUyNyAyNy42MDEtMzAuODEzIDcyLjUxOC0zMC44MTMgMTM0Ljc0OSAwIDM5LjE5MSAzLjgxNyA3MC43MDMgMTEuMzU3IDk0LjU4IDcuNTg3IDIzLjg3OCAxOC44NTEgNDIuMjYzIDMzLjc5MiA1NS4yNDkgMTQuOTQxIDEyLjk0IDMzLjc0NSAxOS40MDkgNTYuNDEzIDE5LjQwOSAxNi43MSAwIDMxLjM3Mi0zLjU4NCA0My45ODUtMTAuNzA1IDEyLjYxNC03LjE2OCAyMi45OTMtMTcuNTAxIDMxLjE4NS0zMC45NTMgOC4yMzktMTMuNDk4IDE0LjY2Mi0yOS45MjkgMTkuMzYzLTQ5LjI5MnM2Ljk4Mi00NS40NzUgNi45ODItNzguMzM2YzAtMzguODY1LTMuNzctNzAuMjg0LTExLjI2NC05NC4xMTV6TTcxOC4wNTcgMTgwLjgyOWMtNy40OTQtMjMuODc4LTE4LjcxMS00Mi4zNTYtMzMuNjk5LTU1LjM0My0xNC44OTUtMTMuMDMzLTMzLjgzOS0xOS41NDktNTYuNTk5LTE5LjU0OS0zMC4wNjggMC01My41NzQgMTEuNDUtNzAuNzQ5IDM0LjMwNC0yMC41MjcgMjcuNjAxLTMwLjgxMyA3Mi41MTgtMzAuODEzIDEzNC43NDkgMCAzOS4xOTEgMy44MTcgNzAuNzAzIDExLjM1NyA5NC41OCA3LjU4NyAyMy44NzggMTguODUxIDQyLjI2MyAzMy43OTIgNTUuMjQ5IDE0Ljk0MSAxMi45NCAzMy43NDUgMTkuNDA5IDU2LjQxMyAxOS40MDkgMTYuNzEgMCAzMS4zNzItMy41ODQgNDMuOTM5LTEwLjcwNSAxMi42MTQtNy4xNjggMjMuMDQwLTE3LjUwMSAzMS4yMzItMzAuOTUzIDguMjM5LTEzLjQ5OCAxNC42NjItMjkuOTI5IDE5LjMxNi00OS4yOTIgNC43MDEtMTkuMzYzIDcuMDI4LTQ1LjQ3NSA3LjAyOC03OC4zMzYgMC4wNDctMzguODY1LTMuNzI0LTcwLjI4NC0xMS4yMTctOTQuMTE1ek05NjAgMTgwLjgyOWMtNy40OTQtMjMuODc4LTE4LjcxMS00Mi4zNTYtMzMuNjk5LTU1LjM0My0xNC44OTUtMTMuMDMzLTMzLjgzOS0xOS41NDktNTYuNTk5LTE5LjU0OS0zMC4wNjggMC01My41NzQgMTEuNDUtNzAuNzQ5IDM0LjMwNC0yMC41MjcgMjcuNjAxLTMwLjgxMyA3Mi41MTgtMzAuODEzIDEzNC43NDkgMCAzOS4xOTEgMy44MTcgNzAuNzAzIDExLjM1NyA5NC41OCA3LjU4NyAyMy44NzggMTguODUxIDQyLjI2MyAzMy43OTIgNTUuMjQ5IDE0Ljk0MSAxMi45NCAzMy43NDUgMTkuNDA5IDU2LjQxMyAxOS40MDkgMTYuNzEgMCAzMS4zNzItMy41ODQgNDMuOTM5LTEwLjcwNSAxMi42MTQtNy4xNjggMjMuMDQwLTE3LjUwMSAzMS4yMzItMzAuOTUzIDguMjM5LTEzLjQ5OCAxNC42NjItMjkuOTI5IDE5LjMxNi00OS4yOTIgNC43MDEtMTkuMzYzIDcuMDI4LTQ1LjQ3NSA3LjAyOC03OC4zMzYgMC4wNDctMzguODY1LTMuNzI0LTcwLjI4NC0xMS4yMTctOTQuMTE1ek02MjcuMzg2IDQxMC41MzFjLTE3LjU5NCAwLTMxLjYwNC03LjkxMy00Mi4wNzctMjMuNzM4LTEzLjEyNi0yMC4yMDEtMTkuNzM1LTU3LjQzNy0xOS43MzUtMTExLjg0OXM1Ljk1OC05MC41NzcgMTcuOTY3LTEwOC41OTFjMTEuOTYyLTE4LjAxMyAyNi43MTctMjYuOTk2IDQ0LjI2NS0yNi45OTZzMzIuMzAzIDguOTgzIDQ0LjI2NSAyNy4wODljMTIuMDA5IDE4LjEwNiAxNy45NjcgNTQuMjcyIDE3Ljk2NyAxMDguNDk3IDAgNTQuNTUxLTUuOTU4IDkwLjc2NC0xNy45NjcgMTA4LjczLTExLjk2MiAxNy45Mi0yNi45MDMgMjYuODU3LTQ0LjY4NCAyNi44NTd6TTM4NS4zOTYgNDEwLjUzMWMtMTcuNTQ4IDAtMzEuNTU4LTcuOTEzLTQyLjAzMS0yMy43MzgtMTMuMTcyLTIwLjIwMS0xOS43ODItNTcuNDM3LTE5Ljc4Mi0xMTEuODQ5czYuMDA0LTkwLjU3NyAxNy45NjctMTA4LjU5MWMxMS45NjItMTguMDEzIDI2LjcxNy0yNi45OTYgNDQuMzExLTI2Ljk5NiAxNy41NDggMCAzMi4zMDMgOC45ODMgNDQuMzExIDI3LjA4OSAxMS45NjIgMTguMTA2IDE3LjkyIDU0LjI3MiAxNy45MiAxMDguNDk3IDAgNTQuNTUxLTUuOTU4IDkwLjc2NC0xNy45MiAxMDguNzMtMTIuMDA5IDE3LjkyLTI2LjkwMyAyNi44NTctNDQuNzc3IDI2Ljg1N3pNODY5LjMyOSA0MTAuNTMxYy0xNy41OTQgMC0zMS42MDQtNy45MTMtNDIuMDc3LTIzLjczOC0xMy4xMjYtMjAuMjAxLTE5LjczNS01Ny40MzctMTkuNzM1LTExMS44NDlzNS45NTgtOTAuNTc3IDE3Ljk2Ny0xMDguNTkxYzExLjk2Mi0xOC4wMTMgMjYuNzE3LTI2Ljk5NiA0NC4yNjUtMjYuOTk2czMyLjMwMyA4Ljk4MyA0NC4yNjUgMjcuMDg5YzEyLjAwOSAxOC4xMDYgMTcuOTY3IDU0LjI3MiAxNy45NjcgMTA4LjQ5NyAwIDU0LjU1MS01Ljk1OCA5MC43NjQtMTcuOTY3IDEwOC43My0xMS45NjIgMTcuOTItMjYuODU3IDI2Ljg1Ny00NC42ODQgMjYuODU3ek0xNDQuOTg5IDQxMC41MzFjLTE2Ljk4OSAwLTMxLjc5MS03LjM1NC00NC40MDQtMjIuMTU2LTEyLjYxNC0xNC43NTUtMTguODk3LTMzLjkzMi0xOC44OTctNTcuMzkxIDAtMjEuMDg1IDYuMDA0LTM4LjIxNCAxNy45NjctNTEuMzg2czI2LjcxNy0xOS43ODIgNDQuMzExLTE5Ljc4MmMxNy42ODcgMCAzMi4yNTYgNi42MDkgNDMuNjYgMTkuNzgyczE3LjA4MiAzMS40NjUgMTcuMDgyIDU0LjgzMWMwIDIzLjMxOS01LjgxOCA0MS44NDQtMTcuNTAxIDU1LjU3NS0xMS43MjkgMTMuNjg0LTI1LjgzMyAyMC41MjctNDIuMjE3IDIwLjUyN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk2ODsiIGdseXBoLW5hbWU9Iml0LW90aGVyLWY1YmlnaXAiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek0yMDAgNjkyaDI4OHYtODJoLTIwMnYtMTEyaDE3NHYtODJoLTE3NHYtMjA0aC04NnY0ODB6TTU5MiA2ODZoMjEydi04NmgtMTUwbC0xNC04MmMxNy45MjkgMTAuMjQxIDM3LjMwOCAxNiA1NiAxNiAzNS42NjcgMCA2NS4yMDQtMTYuMzY1IDkwLTQ2IDI0Ljc5NS0yOS42MzYgMzgtNjYuNzE0IDM4LTExNCAwLTM5LjQ0MS05Ljk3My03NS4wNTctMzAtMTA2LTI3LjI3NS00Mi4yNzQtNjUuNTU0LTY0LTExNC02NC0zOC43MTkgMC02OS41ODYgMTIuMjQ4LTk0IDM2cy0zOS4yMzIgNTUuOTA1LTQ0IDk2bDgwIDEwYzIuMjg5LTIwLjcwMSA4Ljc0Ny0zNy45MDYgMjAtNTBzMjMuMzEzLTE4IDM4LTE4YzE2Ljc4NCAwIDMyLjM2NSA4LjQyIDQ0IDI0czE2IDM4LjYyMiAxNiA3MGMwIDI5LjQxNy00LjQ2MSA1MS4yOTEtMTYgNjZzLTI3LjQ5OSAyMi00NiAyMmMtMjMuMDc5IDAtNDMuNjktMTIuNjg0LTYyLTM2bC02NCAxMiA0MCAyNTB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Njk7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1mNWJpZ2lwMiIgZD0iTTExNCA5NjBjLTYzLjgxMiAwLTExNC00Ny41NDYtMTE0LTEwOHYtNjAyYzAtNTMuNTc5IDQwLjQ1Ni05OC42NjQgOTQtMTA4djU5MGMwIDY0LjA3NyA1My43MTYgMTE0IDEyMCAxMTRoNjUwdjZjMCA2MC40NTQtNTAuMTg4IDEwOC0xMTQgMTA4ek0yNzMuODY4IDc1MC4zNjhjLTYzLjgxMiAwLTExNC44NjktNDguMzc4LTExNC44NjktMTA4LjgzMnYtNjAxLjc3OWMwLTYwLjQ1NCA1MS4wNTctMTA4LjgzMiAxMTQuODY5LTEwOC44MzJoNjM1LjE2YzYzLjgxMiAwIDExNC44NjkgNDguMzc4IDExNC44NjkgMTA4LjgzMnY2MDEuNzc5YzAgNjAuNDU0LTUxLjA1NyAxMDguODMyLTExNC44NjkgMTA4LjgzMmgtNjM1LjE2ek0zMjcuOTI0IDUzNS45MDRoMjQzLjI1M3YtNjUuNjE5aC0xNzAuNjE1di04OS42MjZoMTQ2Ljk2NXYtNjUuNjE5aC0xNDYuOTY1di0xNjMuMjUxaC03Mi42Mzh2Mzg0LjExNXpNNjU5LjAxOCA1MzEuMTA0aDE3OS4wNjF2LTY4LjgxOWgtMTI2LjY5NGwtMTEuODI1LTY1LjYxOWMxNS4xNDMgOC4xOTIgMzEuNTExIDEyLjggNDcuMjk5IDEyLjggMzAuMTI1IDAgNTUuMDc0LTEzLjA5NCA3Ni4wMTctMzYuODEzIDIwLjk0My0yMy43MTIgMzIuMDk2LTUzLjM4MiAzMi4wOTYtOTEuMjI2IDAtMzEuNTU4LTguNDI0LTYwLjA2NC0yNS4zMzktODQuODI2LTIzLjAzNy0zMy44MjQtNTUuMzY5LTUxLjIxMy05Ni4yODgtNTEuMjEzLTMyLjcwMyAwLTU4Ljc3NSA5Ljc5OC03OS4zOTUgMjguODA2cy0zMy4xMzYgNDQuNzQyLTM3LjE2NCA3Ni44MjZsNjcuNTcgOGMxLjkzMy0xNi41NjMgNy4zODgtMzAuMzMgMTYuODkzLTQwLjAxMyA5LjUwNS05LjY3NyAxOS42OTEtMTQuNCAzMi4wOTYtMTQuNCAxNC4xNzcgMCAyNy4zMzYgNi43MzkgMzcuMTY0IDE5LjIwNnMxMy41MTQgMzAuOTA2IDEzLjUxNCA1Ni4wMTNjMCAyMy41MzktMy43NjggNDEuMDQzLTEzLjUxNCA1Mi44MTktOS43NDcgMTEuNzctMjMuMjI2IDE3LjYtMzguODUzIDE3LjYtMTkuNDkzIDAtMzYuOTAyLTEwLjE1LTUyLjM2Ny0yOC44MDZsLTU0LjA1NiA5LjYwNiAzMy43ODUgMjAwLjA1OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk2YTsiIGdseXBoLW5hbWU9Iml0LW90aGVyLWdiZTJjIiBkPSJNMTM2IDk2MGMtNzUuNTUgMC0xMzYtNjAuNDUtMTM2LTEzNnYtNzUyYzAtNzUuNTUgNjAuNDUtMTM2IDEzNi0xMzZoNzUyYzc1LjU1IDAgMTM2IDYwLjQ1IDEzNiAxMzZ2NzUyYzAgNzUuNTUtNjAuNDUgMTM2LTEzNiAxMzZoLTc1MnpNMjMwIDgwMmMzNi45NjkgMCA2NS4yMTMtNi40OTUgODYtMjJzMzQuMDQxLTM2LjY0NiA0MC02NGwtNjAtMTJjLTQuMTk4IDE0LjYyNS0xMi40MjIgMjUuNTM2LTI0IDM0cy0yNC42NjcgMTQtNDIgMTRjLTI2LjI3MSAwLTQ4LjQ5NS05LjM0NC02NC0yNnMtMjItNDEuMjI5LTIyLTc0YzAtMzUuMzQ0IDguMjkyLTYyLjMyOCAyNC04MHMzNC41NDItMjYgNjAtMjZjMTIuNTk0IDAgMjUuMzM4IDMuMDU3IDM4IDhzMjQuOTI3IDEwLjk1OCAzNCAxOHYzOGgtNzB2NTBoMTMwdi0xMThjLTEyLjU5NC0xMi4xODgtMzAuMDk5LTI0LjcyNC01NC0zNHMtNDkuNDktMTQtNzQtMTRjLTMxLjE0NiAwLTU2Ljg0NCA2LjkzMi04MCAyMHMtNDAuMzU0IDMxLjY5My01MiA1NmMtMTEuNjQ2IDI0LjMwNy0xOCA1MS40MjctMTggODAgMCAzMS4wMTAgNyA1Ny44OTYgMjAgODJzMzAuOTQ4IDQzLjEzNSA1NiA1NmMxOS4wOTQgOS44ODUgNDMuNTYyIDE0IDcyIDE0ek00MTYgNzk4aDExOGMyMy41NjIgMCA0Mi40MjItMi4wMzcgNTQtNHMyMC44NTktNS43NzEgMzAtMTJjOS4xNC02LjIyOSAxNy45MDYtMTMuNjQxIDI0LTI0czgtMjMuMTM2IDgtMzZjMC0xMy45NDgtMi40ODUtMjYuMzU0LTEwLTM4cy0xOS4xMzYtMjAuMTc3LTMyLTI2YzE4LjE0Ni01LjI4MSAzMi4yNS0xMy4yNzEgNDItMjZzMTQtMjguODAyIDE0LTQ2YzAtMTMuNTQyLTEuNzA0LTI3LjIwMy04LTQwcy0xNS4wOTktMjIuMzQ5LTI2LTMwYy0xMC45MDEtNy42NTEtMjQuMDIxLTEyLjI0LTQwLTE0LTEwLjAyMS0xLjA4My0zNS42NzctMS43MjktNzQtMmgtMTAwdjI5OHpNNzE2IDc5OGgyMjB2LTUwaC0xNjB2LTY2aDE1MHYtNTBoLTE1MHYtODJoMTY2di01MGgtMjI2djI5OHpNNDc2IDc0OHYtNjhoNDBjMjMuNDI3IDAgMzYuMzEyLTAuNjc3IDQyIDAgMTAuMjkxIDEuMjE5IDE4LjEwOSA2LjEwOSAyNCAxMnMxMCAxMi4zODUgMTAgMjJjMCA5LjIwOC0yLjkyMiAxNi4yNDUtOCAyMnMtMTEuOTc5IDEwLjc4MS0yMiAxMmMtNS45NTkgMC42NzctMjMuNjk4IDAtNTIgMGgtMzR6TTQ3NiA2MzB2LTgwaDU2YzIxLjY2NiAwIDM0LjE3NyAwLjc4MSA0MCAyIDguOTM3IDEuNjI1IDE2LjM4IDUuNzAzIDIyIDEyczggMTUuNDM3IDggMjZjMCA4LjkzNy0xLjY2NyAxNS43NzEtNiAyMnMtOS44MDcgMTEuMTU2LTE4IDE0Yy04LjE5MyAyLjg0NC0yNi42NDYgNC01NCA0aC00OHpNNjUyIDM4NGMzOS4yMjkgMCA3MS41LTEyLjgxMyA5Ni0zNiAxNC41ODMtMTMuNzA5IDI0LjcwOC0zMi4zMzQgMzItNThsLTY0LTE2Yy0zLjc5MiAxNi42MjUtMTEuOTY5IDMwLjM3NS0yNCA0MHMtMjYuNzkyIDE0LTQ0IDE0Yy0yMy43NzEgMC00My4xOTgtOC45MzgtNTgtMjZzLTIyLTQzLjc5Mi0yMi04MmMwLTQwLjU0MiA3LjQxNy02OC43OTIgMjItODZzMzQuNjY3LTI2IDU4LTI2YzE3LjIwOCAwIDMxLjYwNCA1LjA2MiA0NCAxNnMyMC42MDQgMjguNTIxIDI2IDUybDY0LTIwYy05LjYyNS0zNS0yNS42MTUtNjEuMDEwLTQ4LTc4cy01MS41ODQtMjYtODYtMjZjLTQyLjU4MyAwLTc2LjU4MyAxNC45MDYtMTA0IDQ0cy00MiA2Ny41NDItNDIgMTE4YzAgNTMuMzc1IDE0LjQzNyA5Ni40NjggNDIgMTI2czYzLjA4MyA0NCAxMDggNDR6TTM1NiAzODBjMzEuNjQ2IDAgNTUuOTE2LTguOTM4IDc0LTI2czI4LTM4LjYyNSAyOC02NGMwLTE0LjQzOC0yLjgyMy0yNi45NDgtOC00MHMtMTIuNzcxLTI3LjcwOC0yNC00MmMtNy40MzgtOS40NzktMjAuNjA0LTIyLjIwOC00MC00MHMtMzIuODIzLTMwLjE2Ny0zOC0zNmMtNS4xNzctNS44MzQtOC43OTItMTIuNDU4LTEyLTE4aDEyMnYtNTZoLTIxNmMyLjMzMyAyMS41ODMgMTAuMzMzIDQwLjY3NyAyMiA2MHMzMy41ODMgNDYuMDYyIDY4IDc4YzI3LjcwOCAyNS44MTIgNDUuNzI5IDQyLjgxMiA1MiA1MiA4LjQ1OCAxMi42ODcgMTIgMjUuNjA0IDEyIDM4IDAgMTMuNzA4LTIuNjM2IDI0LjYzNS0xMCAzMnMtMTkuMDIxIDEwLTMyIDEwYy0xMi44MzMgMC0yMi40MTctNC4yNzEtMzAtMTJzLTEwLjgzMy0yMC4wNjMtMTItMzhsLTYyIDZjMy42NDYgMzMuODMzIDE0Ljc1IDU5LjI3MSAzNCA3NHM0My4xMjUgMjIgNzIgMjJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NmI7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1oM2MiIGQ9Ik04ODggOTYwaC03NTJjLTc1LjU4NCAwLTEzNi02MC40MTYtMTM2LTEzNnYtNzUyYzAtNzUuNjQ4IDYwLjQxNi0xMzYgMTM2LTEzNmg3NTJjNzUuNjQ4IDAgMTM2IDYwLjM1MiAxMzYgMTM2djc1MmMwIDc1LjU4NC02MC4zNTIgMTM2LTEzNiAxMzZ6TTM2Ni4xNDQgMzA1LjZoLTQyLjQzMnYxNTEuMTY4aC0xNjYuNzJ2LTE1MS4xMDRoLTQyLjQzMnYzMjAuNjRoNDIuNDMydi0xMzEuNzEyaDE2Ni42NTZ2MTMxLjcxMmg0Mi40MzJ2LTMyMC43MDR6TTYwMC40NDggMzI5LjE1MmMtMjAuNDE2LTE5LjUyLTQ2LjI3Mi0yOS4yNDgtNzcuNDQtMjkuMjQ4LTI4LjA5NiAwLTUxLjUyIDguMzg0LTcwLjE0NCAyNS4yMTYtMTguNTYgMTYuNzY4LTI5LjE4NCAzOC40NjQtMzEuODA4IDY1LjE1MmwzOS4zNiA1LjI0OGM0LjQ4LTIyLjMzNiAxMi4xNi0zOC40IDIzLjA0MC00OC4yNTYgMTAuODgtOS43OTIgMjQuMTI4LTE0LjcyIDM5Ljc0NC0xNC43MiAxOC40OTYgMCAzNC4xMTIgNi40IDQ2Ljg0OCAxOS4yNjRzMTkuMTM2IDI4LjczNiAxOS4xMzYgNDcuNjhjMCAxOC4xMTItNS44ODggMzMuMDI0LTE3LjY2NCA0NC43MzZzLTI2Ljc1MiAxNy41MzYtNDQuOTkyIDE3LjUzNmMtNy40MjQgMC0xNi43MDQtMS40NzItMjcuNzc2LTQuMzUybDQuMzUyIDM0LjU2YzIuNjI0LTAuMjU2IDQuNzM2LTAuNDQ4IDYuMzM2LTAuNDQ4IDE2Ljc2OCAwIDMxLjg3MiA0LjM1MiA0NS4zMTIgMTMuMTIgMTMuMzc2IDguNzY4IDIwLjA5NiAyMi4yNzIgMjAuMDk2IDQwLjQ0OCAwIDE0LjQ2NC00LjkyOCAyNi40MzItMTQuNjU2IDM1LjkwNHMtMjIuNCAxNC4yMDgtMzcuODI0IDE0LjIwOGMtMTUuMzYgMC0yOC4wOTYtNC44LTM4LjMzNi0xNC40NjRzLTE2LjcwNC0yNC0xOS42NDgtNDMuMjY0bC0zOS4zNiA2Ljk3NmM0LjggMjYuNDMyIDE1Ljc0NCA0Ni44NDggMzIuNzY4IDYxLjM3NiAxNy4wODggMTQuNTI4IDM4LjMzNiAyMS43NiA2My42OCAyMS43NiAxNy40NzIgMCAzMy41MzYtMy43NzYgNDguMzItMTEuMjY0IDE0LjcyLTcuNDg4IDI1Ljk4NC0xNy43MjggMzMuNzkyLTMwLjcyczExLjcxMi0yNi43NTIgMTEuNzEyLTQxLjM0NGMwLTEzLjgyNC0zLjcxMi0yNi40OTYtMTEuMi0zNy44MjQtNy4zNi0xMS4zOTItMTguNDMyLTIwLjQxNi0zMi45Ni0yNy4xMzYgMTguOTQ0LTQuNDE2IDMzLjY2NC0xMy41MDQgNDQuMTYtMjcuMjY0czE1Ljc0NC0zMC45NzYgMTUuNzQ0LTUxLjcxMmMwLTI4LjAzMi0xMC4xNzYtNTEuNzc2LTMwLjU5Mi03MS4xNjh6TTkwOS4xODQgMzI3LjU1MmMtMjMuMTA0LTE4LjMwNC01MS4zOTItMjcuNDU2LTg0LjgtMjcuNDU2LTM0LjQ5NiAwLTYyLjY1NiA2Ljk3Ni04NC4yODggMjEuMTItMjEuNjMyIDE0LjA4MC0zOC4xNDQgMzQuNDMyLTQ5LjQwOCA2MS4xMnMtMTYuOTYgNTUuMzYtMTYuOTYgODUuOTUyYzAgMzMuNDA4IDYuNCA2Mi41MjggMTkuMTM2IDg3LjQyNCAxMi43MzYgMjQuODMyIDMwLjkxMiA0My43NzYgNTQuNTI4IDU2LjY0IDIzLjU1MiAxMi45MjggNDkuNDA4IDE5LjM5MiA3Ny43NiAxOS4zOTIgMzIuMDY0IDAgNTkuMDcyLTguMTI4IDgwLjk2LTI0LjUxMnMzNy4xMi0zOS4yOTYgNDUuNzYtNjguOTI4bC00MS43OTItOS44NTZjLTcuNDI0IDIzLjM2LTE4LjI0IDQwLjMyLTMyLjM4NCA1MC45NDRzLTMxLjkzNiAxNi01My4zNzYgMTZjLTI0LjY0IDAtNDUuMjQ4LTUuODg4LTYxLjgyNC0xNy43MjhzLTI4LjE2LTI3LjY0OC0zNC44OC00Ny42MTZjLTYuNjU2LTE5LjkwNC0xMC4wNDgtNDAuMzg0LTEwLjA0OC02MS41NjggMC0yNy4yNjQgNC4wMzItNTEuMDcyIDExLjk2OC03MS40MjQgNy45MzYtMjAuMjg4IDIwLjI4OC0zNS41MiAzNy4wNTYtNDUuNjMyIDE2Ljc2OC05Ljk4NCAzNC45NDQtMTUuMDQwIDU0LjQ2NC0xNS4wNDAgMjMuODA4IDAgNDMuOTY4IDYuNzg0IDYwLjM1MiAyMC41NDQgMTYuNTEyIDEzLjc2IDI3LjcxMiAzNC4wNDggMzMuNDcyIDYxLjA1Nmw0Mi40MzItMTAuNjg4Yy05LjAyNC0zNC44MTYtMjUuMDI0LTYxLjQ0LTQ4LjEyOC03OS43NDR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NmM7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci1ocGJsYyIgZD0iTTEzNiA5NjBjLTc1LjU1IDAtMTM2LTYwLjQ1LTEzNi0xMzZ2LTQxMGgxMDI0djQxMGMwIDc1LjU1LTYwLjQ1IDEzNi0xMzYgMTM2aC03NTJ6TTIyOCA4MjZoNjR2LTEyOGgxMjh2MTI4aDY0di0zMjJoLTY0djE0MGgtMTI4di0xNDBoLTY0djMyMnpNNTUwIDgyNmgxMDRjMzkuMzc1IDAgNjYuMDQxLTIuNzkyIDc4LTYgMTguMzc1LTQuODEzIDMzLjYwNC0xNS44ODYgNDYtMzJzMTgtMzYuNDc5IDE4LTYyYzAtMTkuNjg4LTIuODU0LTM2LjU4NC0xMC01MHMtMTYuOTktMjIuMzQ0LTI4LTMwYy0xMS4wMTEtNy42NTYtMjAuNjI1LTEzLjUyMS0zMi0xNi0xNS40NTktMy4wNjMtMzguNjg4LTQtNjgtNGgtNDJ2LTEyMmgtNjZ2MzIyek02MTYgNzcwdi05MGgzNmMyNS41MjEgMCA0MS4zOTYgMC42NDYgNTAgNHMxNS4xMTQgOC44NTQgMjAgMTZjNC44ODUgNy4xNDYgOCAxNi41MjEgOCAyNiAwIDExLjY2Ni0zLjE0NiAyMC40MTYtMTAgMjhzLTE1LjUgMTIuMTA0LTI2IDE0Yy03LjcyOSAxLjQ1OC0yNC42NjcgMi00OCAyaC0zMHpNNzgyIDM2MmMtMzkuOTYyIDAtNzEuNDc4LTEwLjE5Ny05Ni0zMnMtMzgtNTIuNTkyLTM4LTkyYzAtMzcuMjU0IDEzLjYwOC02Ni41MiAzOC04OHM1NC4xMTQtMzIgOTItMzJjMzAuNjIgMCA1Ni4wODQgNS40NTYgNzYgMThzMzMuNDM2IDMyLjE1OSA0MiA1OGwtNTQgMTRjLTQuODAxLTE3LjMzNS0xMi45NzItMjkuOTI1LTI0LTM4cy0yNC42OS0xMi00MC0xMmMtMjAuNzYgMC0zNy4wMjUgNy4yOTUtNTAgMjBzLTIwIDMyLjA2Ny0yMCA2MmMwIDI4LjIxIDYuODMxIDQ5LjQwMiAyMCA2MnMzMC44NTEgMjAgNTIgMjBjMTUuMzEgMCAyNy4yOTYtNC44OTQgMzgtMTJzMTguNjI2LTE1LjcyNiAyMi0yOGw1NiAxMGMtNi40ODggMTguOTUtMTcuMDI2IDMzLjg3OS0zMCA0NC0yMS43OTggMTcuMTItNDkuMDk4IDI2LTg0IDI2ek0xMjggMzU4di0yMzZoOTZjMzYuNzE4IDAuMjE4IDYwLjM5OS0wLjg2MSA3MCAwIDE1LjMxIDEuNCAyNy41NTUgNS45MTcgMzggMTJzMTcuOTY2IDEzLjgyNSAyNCAyNGM2LjAzMyAxMC4xNzUgMTAgMjEuMjMzIDEwIDMyIDAgMTMuNjc0LTQuNjU4IDI1Ljg3OS0xNCAzNnMtMjIuNjE0IDE1LjgwMS00MCAyMGMxMi4zMjYgNC42MyAyMi43OTkgMTIuNzQgMzAgMjJzMTAgMTguOTEgMTAgMzBjMCAxMC4yMjktMi4xNjIgMTkuNzYzLTggMjhzLTEzLjI0MiAxNS4wNDctMjIgMjBjLTguNzU4IDQuOTUzLTE4LjkwNyA4LjQzOS0zMCAxMHMtMjcuNDI0IDItNTAgMmgtMTE0ek00MTYgMzU2di0yMzRoMjAydjQwaC0xNDR2MTk0aC01OHpNMTg0IDMxOGgzNGMyNy4xMTcgMCA0Mi4yOTEgMC41MzggNDggMCA5LjYwMS0wLjk3IDE3LjEzNC0zLjQyNCAyMi04czgtMTAuNjc5IDgtMThjMC03LjY0NS0yLjM1Ni0xMy4zMTctOC0xOHMtMTQuMTM5LTkuMDMxLTI0LTEwYy01LjQ1LTAuNTM4LTE5LjU1NCAwLTQyIDBoLTM4djU0ek0xODQgMjI0aDQ4YzI2LjIwOSAwIDQyLjE1LTEuNzM5IDUwLTRzMTMuODQ4LTUuMDQ3IDE4LTEwYzQuMTUyLTQuOTUzIDYtMTAuODk0IDYtMTggMC04LjM5OC0yLjYxNi0xNC45OTQtOC0yMHMtMTEuNDM3LTguNzA4LTIwLTEwYy01LjU3OS0wLjk3LTE5LjI0MSAwLTQwIDBoLTU0djYyek0wIDc0di0yYzAtNzUuNTUgNjAuNDUtMTM2IDEzNi0xMzZoNzUyYzc1LjU1IDAgMTM2IDYwLjQ1IDEzNiAxMzZ2MmgtMTAyNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk2ZDsiIGdseXBoLW5hbWU9Iml0LW90aGVyLWltbSIgZD0iTTEzNiA5NjBjLTc1LjU1IDAtMTM2LTYwLjQ1LTEzNi0xMzZ2LTc1MmMwLTc1LjU1IDYwLjQ1LTEzNiAxMzYtMTM2aDc1MmM3NS41NSAwIDEzNiA2MC40NSAxMzYgMTM2djc1MmMwIDc1LjU1LTYwLjQ1IDEzNi0xMzYgMTM2aC03NTJ6TTEwOCA2MDhoNjR2LTMyMGgtNjR2MzIwek0yMzIgNjA4aDk4bDU4LTIxOCA1OCAyMThoOTZ2LTMyMGgtNjB2MjUybC02NC0yNTJoLTYybC02MiAyNTJ2LTI1MmgtNjJ2MzIwek02MDYgNjA4aDk4bDU4LTIxOCA1OCAyMThoOTZ2LTMyMGgtNjB2MjUybC02NC0yNTJoLTYybC02NCAyNTJ2LTI1MmgtNjB2MzIweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTZlOyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItc2Vjc2lzIiBkPSJNODg3Ljk5NCA5NjBoLTc1MS45ODhjLTc1LjU5IDAtMTM2LjAwNi02MC40MTYtMTM2LjAwNi0xMzYuMDA2di03NTEuOTg4YzAtNzUuNTQzIDYwLjQxNi0xMzYuMDA2IDEzNi4wMDYtMTM2LjAwNmg3NTEuOTg4Yzc1LjU0MyAwIDEzNi4wMDYgNjAuNDYzIDEzNi4wMDYgMTM2LjAwNnY3NTEuOTg4YzAgNzUuNTktNjAuNDYzIDEzNi4wMDYtMTM2LjAwNiAxMzYuMDA2ek00MDUuOTIzIDI3MS41NDZjLTEyLjU2Ny0xOS4zNjMtMzAuNjI3LTM0LjQ5LTU0LjE3OS00NS4yNDItMjMuNTA1LTEwLjc5OS00OS45OS0xNi4xOTgtNzkuNDUzLTE2LjE5OC0zNy4zMjkgMC02OC42MDggNS4zOTktOTMuODM2IDE2LjMzNy0yNS4yMjggMTAuODQ1LTQ1LjAwOSAyNy4xODMtNTkuMjk5IDQ5LjA1OS0xNC4zODMgMjEuODc2LTIxLjkyMyA0Ni41NDUtMjIuNjY4IDc0LjE0N2w1MS40MzMgNC41MTVjMi40NjctMjAuNjIgOC4wOTktMzcuNjA5IDE2Ljk4OS01MC43ODEgOC44OS0xMy4yMTkgMjIuNzYxLTIzLjkyNCA0MS41MTktMzIuMDIzIDE4Ljc1OC04LjE5MiAzOS44NDMtMTIuMjg4IDYzLjMwMi0xMi4yODggMjAuODA2IDAgMzkuMTkxIDMuMDcyIDU1LjExIDkuMzA5IDE1LjkxOSA2LjE0NCAyNy43ODggMTQuNjE1IDM1LjYwNyAyNS40NiA3Ljc3MyAxMC43MDUgMTEuNjM2IDIyLjUyOCAxMS42MzYgMzUuMzI4IDAgMTIuODQ3LTMuNzcgMjQuMjA0LTExLjI2NCAzMy44ODUtNy40OTQgOS42MzUtMTkuODc1IDE3LjczNC0zNy4wOTcgMjQuMjk3LTExLjA3OCA0LjMyOS0zNS41NjEgMTAuOTg1LTczLjQwMiAyMC4xNTQtMzcuODg4IDkuMDMwLTY0LjQxOSAxNy42ODctNzkuNTkzIDI1LjY5My0xOS42ODkgMTAuMzgtMzQuMzk3IDIzLjEzMy00NC4wMzIgMzguNDQ3LTkuNjM1IDE1LjI2Ny0xNC40NzYgMzIuMzQ5LTE0LjQ3NiA1MS4yOTMgMCAyMC44MDYgNS45MTEgNDAuMjYyIDE3LjY4NyA1OC4zNjggMTEuODIzIDE4LjA2MCAyOS4wOTEgMzEuODM3IDUxLjc1OSA0MS4xOTMgMjIuODA3IDkuMzA5IDQ4LjAzNSAxNC4wMTAgNzUuNzc2IDE0LjAxMCAzMC41OCAwIDU3LjUzLTQuOTM0IDgwLjg0OS0xNC43NTUgMjMuMzY2LTkuODY4IDQxLjI4Ni0yNC4zNDMgNTMuODUzLTQzLjQ3M3MxOS4zMTYtNDAuNzc0IDIwLjI0Ny02NC45NzdsLTUyLjMxNy0zLjk1NmMtMi44MzkgMjYuMDY1LTEyLjMzNSA0NS43NTQtMjguNTc5IDU5LjA2Ni0xNi4xOTggMTMuMzU5LTQwLjEyMiAyMC4wMTUtNzEuODIgMjAuMDE1LTMzLjAwMSAwLTU3LjA2NS02LjA1MS03Mi4xNDUtMTguMTUzcy0yMi42MjEtMjYuNjcxLTIyLjYyMS00My43NTNjMC0xNC44MDEgNS4zNTMtMjYuOTk2IDE2LjAxMi0zNi41MzggMTAuNTE5LTkuNTg4IDM3Ljg4OC0xOS40MDkgODIuMjkyLTI5LjQxNyA0NC4zMTEtMTAuMDU0IDc0Ljc1Mi0xOC44NTEgOTEuMjI5LTI2LjI5OCAyNC4wMTctMTAuOTg1IDQxLjcwNS0yNS4wODggNTMuMTU1LTQxLjk4NCAxMS40NS0xNi45ODkgMTcuMTI5LTM2LjUzOCAxNy4xMjktNTguNjQ3IDAuMDQ3LTIyLjAxNi02LjIzNy00Mi42MzYtMTguODA0LTYyLjA5MnpNODYyLjExNSAyNzEuNTQ2Yy0xMi42MTQtMTkuMzYzLTMwLjYyNy0zNC40OS01NC4xMzItNDUuMjQyLTIzLjY0NS0xMC43OTktNTAuMTI5LTE2LjE5OC03OS41LTE2LjE5OC0zNy4zNzYgMC02OC42NTUgNS4zOTktOTMuNzg5IDE2LjMzNy0yNS4yMjggMTAuODQ1LTQ1LjAwOSAyNy4xODMtNTkuMzQ1IDQ5LjA1OXMtMjEuODc2IDQ2LjU0NS0yMi42MjEgNzQuMTQ3bDUxLjUyNiA0LjUxNWMyLjM3NC0yMC42MiA4LjAwNi0zNy42MDkgMTYuOTg5LTUwLjc4MSA4Ljg0NC0xMy4yMTkgMjIuNTc1LTIzLjkyNCA0MS40NzItMzIuMDIzIDE4LjYxOC04LjE5MiAzOS43NS0xMi4yODggNjMuMjU1LTEyLjI4OCAyMC43MTMgMCAzOS4xNDUgMy4wNzIgNTUuMTU2IDkuMzA5IDE1Ljg3MiA2LjE0NCAyNy43NDEgMTQuNjE1IDM1LjUxNCAyNS40NiA3Ljg2NiAxMC43MDUgMTEuNzI5IDIyLjUyOCAxMS43MjkgMzUuMzI4IDAgMTIuODQ3LTMuNzI0IDI0LjIwNC0xMS4yMTcgMzMuODg1LTcuNDk0IDkuNjM1LTE5Ljg3NSAxNy43MzQtMzcuMTQzIDI0LjI5Ny0xMS4xMjQgNC4zMjktMzUuNjU0IDEwLjk4NS03My4zNTYgMjAuMTU0LTM3Ljk4MSA5LjAzMC02NC41MTIgMTcuNjg3LTc5LjYzOSAyNS42OTMtMTkuNzM1IDEwLjM4LTM0LjM1MSAyMy4xMzMtNDMuOTg1IDM4LjQ0Ny05LjcyOCAxNS4yNjctMTQuNTIyIDMyLjM0OS0xNC41MjIgNTEuMjkzIDAgMjAuODA2IDUuODY1IDQwLjI2MiAxNy43OCA1OC4zNjggMTEuNzI5IDE4LjA2MCAyOC45OTggMzEuODM3IDUxLjcxMiA0MS4xOTMgMjIuNjIxIDkuNDAyIDQ3Ljg0OSAxNC4wNTcgNzUuNjM2IDE0LjA1NyAzMC40ODcgMCA1Ny40ODQtNC45MzQgODAuODQ5LTE0Ljc1NSAyMy4yMjYtOS44NjggNDEuMjM5LTI0LjM0MyA1My44NTMtNDMuNDczIDEyLjUyMS0xOS4xMyAxOS4yNy00MC43NzQgMjAuMjk0LTY0Ljk3N2wtNTIuMzY0LTMuOTU2Yy0yLjc5MyAyNi4wNjUtMTIuNDI4IDQ1Ljc1NC0yOC41MzIgNTkuMDY2LTE2LjI0NCAxMy4zMTItNDAuMjE1IDE5Ljk2OC03MS44NjYgMTkuOTY4LTMzLjAwMSAwLTU3LjE1OC02LjA1MS03Mi4xNDUtMTguMTUzLTE1LjA4MS0xMi4wNTUtMjIuNTc1LTI2LjY3MS0yMi41NzUtNDMuNzA2IDAtMTQuODAxIDUuMjEzLTI2Ljk5NiAxNi4wMTItMzYuNTM4IDEwLjUxOS05LjU4OCAzNy44NDEtMTkuNDA5IDgyLjI0Ni0yOS40MTcgNDQuMzU4LTEwLjA1NCA3NC43NTItMTguODUxIDkxLjI3Ni0yNi4yOTggMjQuMDE3LTEwLjk4NSA0MS43MDUtMjUuMDg4IDUzLjEwOC00MS45ODQgMTEuNTQzLTE2Ljk4OSAxNy4yNjgtMzYuNTM4IDE3LjI2OC01OC42NDctMC4wNDctMjIuMDYzLTYuNDIzLTQyLjY4Mi0xOC45NDQtNjIuMTM4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTZmOyIgZ2x5cGgtbmFtZT0iaXQtb3RoZXItdmMiIGQ9Ik0xMzYgOTYwYy03NS41NSAwLTEzNi02MC40NS0xMzYtMTM2di03NTJjMC03NS41NSA2MC40NS0xMzYgMTM2LTEzNmg3NTJjNzUuNTUgMCAxMzYgNjAuNDUgMTM2IDEzNnY3NTJjMCA3NS41NS02MC40NSAxMzYtMTM2IDEzNmgtNzUyek03MTQgNjQ0YzQ2LjU3NyAwIDg0LjkxMS0xNC42MSAxMTQtNDIgMTcuMzE1LTE2LjE5NCAzMS4zNDItMzcuNjgxIDQwLTY4bC03Ni0yMGMtNC41MDIgMTkuNjM4LTE1LjcxNiAzNi42My0zMCA0OHMtMzEuNTY5IDE2LTUyIDE2Yy0yOC4yMjMgMC01MC40MjYtOS44NDUtNjgtMzBzLTI2LTUyLjg2Ni0yNi05OGMwLTQ3Ljg5MSA4LjY4NS04MS42NzIgMjYtMTAyczQwLjI5Ni0zMCA2OC0zMGMyMC40MzEgMCAzNy4yODIgNS4wODAgNTIgMThzMjUuNTkzIDM0LjI2NSAzMiA2Mmw3NC0yNGMtMTEuNDI4LTQxLjM0NS0yOS40MjItNzEuOTMxLTU2LTkycy02MS4xMzctMzAtMTAyLTMwYy01MC41NiAwLTkxLjQ0OCAxNy42MzItMTI0IDUycy01MCA4MC4zOTUtNTAgMTQwYzAgNjMuMDUwIDE3LjI3NSAxMTMuMTE1IDUwIDE0OHM3NC42NyA1MiAxMjggNTJ6TTE1NiA2MzhoODRsOTYtMjgwIDkyIDI4MGg4MmwtMTM2LTM4MGgtODJsLTEzNiAzODB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NzA7IiBnbHlwaC1uYW1lPSJpdC1vdGhlci16dGVwb3dlciIgZD0iTTEzNiA5NjBjLTc1LjU1IDAtMTM2LTYwLjQ1LTEzNi0xMzZ2LTQxMGgxMDI0djQxMGMwIDc1LjU1LTYwLjQ1IDEzNi0xMzYgMTM2aC03NTJ6TTEyMiA4MTRoMjM0di01MGwtMTc2LTIxOGgxODJ2LTU0aC0yNjB2NjBsMTY4IDIwOGgtMTQ4djU0ek0zODAgODE0aDI1NnYtNTRoLTk2di0yNjhoLTY0djI2OGgtOTZ2NTR6TTY3OCA4MTRoMjM4di01NGgtMTc0di03MmgxNjJ2LTU0aC0xNjJ2LTg4aDE4MHYtNTRoLTI0NHYzMjJ6TTc4IDM1NHYtMjQ0aDU2djkyaDM2YzI1LjEyNSAwIDQ0Ljc1IDEuNjY1IDU4IDQgOS43NSAxLjg5IDE4LjU2MiA0LjE2MiAyOCAxMHMxNy44NzUgMTMuNzcxIDI0IDI0YzYuMTI1IDEwLjIyOSAxMCAyMi45OSAxMCAzOCAwIDE5LjQ1OC01LjM3NSAzNS43MTQtMTYgNDhzLTI0LjI1IDIwLjMzMS00MCAyNGMtMTAuMjUgMi40NDYtMzIuMjUgNC02NiA0aC05MHpNMzA4IDM1NGw2Ni0yNDRoNjBsNTYgMTgyIDU0LTE4Mmg1OGw2OCAyNDRoLTU2bC00Mi0xNzAtNDggMTcwaC02NmwtNTAtMTY4LTQyIDE2OGgtNTh6TTY5OCAzNTR2LTI0NGg1NnYxMDJoMTBjMTIuNzUgMCAyMi4xMjUtMi4xNjYgMjgtNHMxMi43NS01LjA1MiAxOC0xMGM1LjI1LTQuOTQ4IDEzLjc1LTE2Ljk4NyAyOC0zNmw0MC01Mmg2OGwtMzQgNDhjLTEzLjI1IDE5LjAxMy0yNC4xODggMzAuNTUtMzIgMzhzLTE4IDE1Ljc3My0zMCAyMmMyNC4xMjUgMy4xMTMgNDEuODc1IDEwLjA0NyA1NCAyMnMxOCAyNy42NTQgMTggNDZjMCAxNC40NTQtNCAyNi43Ny0xMiAzOHMtMTguNjg4IDE5LjYwOC0zMiAyNGMtMTMuMzEzIDQuMzkyLTM0LjYyNSA2LTY0IDZoLTExNnpNMTM0IDMxMmgyOGMyMCAwIDMzLjM3NSAxLjExMiA0MCAwIDktMS40NDYgMTYuMTI1LTYuMjE5IDIyLTEyczgtMTMuMTA1IDgtMjJjMC03LjIyNy0xLjgxMy0xMi41NTItNi0xOHMtMTAuNjI1LTkuNDQyLTE4LTEyYy03LjM3NS0yLjU1Ny0yMi4xMjUtNC00NC00aC0zMHY2OHpNNzU0IDMxMmg0MmMyMi41LTAuMDAxIDM3LjUgMC41NTcgNDIgMCA5LTEuMzM0IDE1LjA2My00Ljk0MSAyMC0xMHM4LTExLjc3MiA4LTIwYzAtNy4zMzgtMi4yNS0xMy4xMDgtNi0xOHMtOS4zNzUtNy45OTgtMTYtMTBjLTYuNjI1LTIuMDAxLTIzLjM3NS00LTUwLTRoLTQwdjYyek0wIDc0di0yYzAtNzUuNTUgNjAuNDUtMTM2IDEzNi0xMzZoNzUyYzc1LjU1IDAgMTM2IDYwLjQ1IDEzNiAxMzZ2MmgtMTAyNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3MTsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXp0ZXNncyIgZD0iTTUxMC4wMTYgOTYwbC01MTAuMDE2LTEyOGMzOC42ODItMzgxLjA0My0zNC44ODMtODMzLjY0MiA1MDIuMDc4LTg5NmgxOS44NDVjNTM2Ljk2IDYyLjM1OCA0NjMuMzk2IDUxNC45NTcgNTAyLjA3OCA4OTZsLTUxMy45ODQgMTI4ek0xMzAuOTc3IDYyOGgyMzQuMTcxdi01MGwtMTc0LjYzNi0yMThoMTgwLjU4OXYtNTRoLTI1Ny45ODR2NjBsMTY2LjY5OCAyMDhoLTE0OC44Mzd2NTR6TTM4OC45NjEgNjI4aDI1NC4wMTZ2LTU0aC05NS4yNTZ2LTI2OGgtNjMuNTA0djI2OGgtOTUuMjU2djU0ek02ODQuNjUxIDYyOGgyMzQuMTcxdi01NGgtMTcwLjY2N3YtNzJoMTU4Ljc2di01NGgtMTU4Ljc2di04OGgxNzYuNjJ2LTU0aC0yNDAuMTI0djMyMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3MjsiIGdseXBoLW5hbWU9Iml0LW90aGVyLXp4c2RyLW50IiBkPSJNMTM2IDk2MGMtNzUuNTUgMC0xMzYtNjAuNDUtMTM2LTEzNnYtNzUyYzAtNzUuNTUgNjAuNDUtMTM2IDEzNi0xMzZoNzUyYzc1LjU1IDAgMTM2IDYwLjQ1IDEzNiAxMzZ2NzUyYzAgNzUuNTUtNjAuNDUgMTM2LTEzNiAxMzZoLTc1MnpNOTQgNjk4aDk0bDE5OC0zMzR2MzM0aDkydi01MDBoLTk4bC0xOTYgMzI2di0zMjZoLTkwdjUwMHpNNTQ2IDY5OGgzODR2LTg0aC0xNDR2LTQxNmgtOTZ2NDE2aC0xNDR2ODR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NzM7IiBnbHlwaC1uYW1lPSJpdC1yb3V0ZXIiIGQ9Ik01MTAuOTk0IDk2MGMtMjgyLjcwMyAwLTUxMC45OTQtMjI4LjI5MS01MTAuOTk0LTUxMC45OTRzMjI4LjI5MS01MTMuMDA2IDUxMC45OTQtNTEzLjAwNmMyODIuNzAzIDAgNTEzLjAwNiAyMzAuMzAzIDUxMy4wMDYgNTEzLjAwNnMtMjMwLjMwMyA1MTAuOTk0LTUxMy4wMDYgNTEwLjk5NHpNNTA2Ljk3IDg0OS4zNTJsMTIyLjcxOS0xMjIuNzE5aC04OC41MTl2LTE2Mi45NTVjMC0yMC44MjYtNy44MTMtODIuNDgzLTQ0LjI1OS04Mi40ODNoLTY2LjM4OWMzMy44NDMgOS41NDUgNDIuMjQ4IDYwLjUxMyA0Mi4yNDggODAuNDcydjE2NC45NjdoLTg4LjUxOWwxMjIuNzE5IDEyMi43MTl6TTE2Mi45NTUgNjAzLjkxNHYtODguNTE5aDE2Ni45NzhjMTkuOTU5IDAgNjguOTE0IDguNDA1IDc4LjQ2IDQyLjI0OHYtNjYuMzg5YzAtMzYuNDQ2LTYxLjY1Ny00NC4yNTktODIuNDgzLTQ0LjI1OWgtMTYyLjk1NXYtODguNTE5bC0xMjIuNzE5IDEyMi43MTkgMTIyLjcxOSAxMjIuNzE5ek04NTkuMDMzIDYwMy45MTRsMTIyLjcxOS0xMjIuNzE5LTEyMi43MTktMTIyLjcxOXY4OC41MTloLTE2NC45NjdjLTE5Ljk1OSAwLTcwLjkyNi0xMC40MTYtODAuNDcyLTQ0LjI1OXY2Ni4zODljMCAzNi40NDYgNjEuNjU3IDQ2LjI3MSA4Mi40ODMgNDYuMjcxaDE2Mi45NTV2ODguNTE5ek00MzAuNTIyIDQxNi44MTdoNjYuMzg5YzM2LjQ0NiAwIDQ0LjI1OS02My42NjkgNDQuMjU5LTg0LjQ5NXYtMTYwLjk0M2g4OC41MTlsLTEyMi43MTktMTI0LjczMS0xMjIuNzE5IDEyNC43MzFoODguNTE5djE2NC45NjdjMCAxOS45NTktOC40MDUgNzAuOTI2LTQyLjI0OCA4MC40NzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5NzQ7IiBnbHlwaC1uYW1lPSJpdC1yb3V0ZXItY2lzY28iIGQ9Ik01MTAgOTYwYy0yODIuNzAzIDAtNTEwLTIyNy4yOTctNTEwLTUxMHMyMjcuMjk3LTUxNCA1MTAtNTE0YzkuMTczIDAgMTguOTQzIDEuNTIxIDI4IDItMzYuOTE4IDMuMjctNjYgMzIuMjA0LTY2IDcwdjc0bC04OCA5MGg4OHYxNjRjMCAxOS45NTktOC4xNTcgNzAuNDU1LTQyIDgwaDY2YzM0LjgwMyAwIDQ1LjI4Ny01Ni42MyA0Ni04MCAwLjY3OCAwLjAxOSAxLjMxNyAwIDIgMGg0MDhjMTkuOTk1IDAgMzguOTUyLTguOTUyIDUyLTIyIDExLjc4NyA0My4wNzIgMjAgODkuMjU5IDIwIDEzNiAwIDI4Mi43MDMtMjMxLjI5NyA1MTAtNTE0IDUxMHpNNTA2IDg1MGwxMjQtMTI0aC04OHYtMTYyYzAtMjAuODI2LTkuNTU0LTgyLTQ2LTgyaC02NmMzMy44NDMgOS41NDUgNDIgNjAuMDQxIDQyIDgwdjE2NGgtODhsMTIyIDEyNHpNMTYyIDYwNHYtODhoMTY4YzE5Ljk1OSAwIDY4LjQ1NSA4LjE1NyA3OCA0MnYtNjZjMC0zNi40NDYtNjEuMTc0LTQ2LTgyLTQ2aC0xNjR2LTg4bC0xMjIgMTI0IDEyMiAxMjJ6TTg2MCA2MDRsMTIyLTEyMi0xMjItMTI0djg4aC0xNjZjLTE5Ljk1OSAwLTcwLjQ1NS0xMC4xNTctODAtNDR2NjhjMCAzNi40NDYgNjEuMTc0IDQ2IDgyIDQ2aDE2NHY4OHpNNjM2IDI3NGMtMzUuNzQ1IDAtNjQuMDY2LTE0LjE2My04Ni00MHMtMzItNjEuMzAyLTMyLTEwOGMwLTQ0LjE0NiAxMC4xODItNzguNTQ2IDMyLTEwNHM1MC4xMTItMzggODQtMzhjMjcuMzg4IDAgNTAuMTg2IDcuMTM2IDY4IDIyczMwLjM0IDM3LjM3OCAzOCA2OGwtNTAgMThjLTQuMjk0LTIwLjU0Mi0xMi4xMzYtMzYuNDMxLTIyLTQ2cy0yMC4zMDYtMTQtMzQtMTRjLTE4LjU2OSAwLTM0LjM5NSA2Ljk0NC00NiAyMnMtMTggNDAuNTMtMTggNzZjMCAzMy40MjggNi4yMiA1Ny4wNzIgMTggNzJzMjcuMDgzIDI0IDQ2IDI0YzEzLjY5NCAwIDI2LjQyNS01LjU4IDM2LTE0czE0Ljk4Mi0xOS40NTUgMTgtMzRsNTAgMTRjLTUuODAzIDIyLjQ1Ni0xNC4zOTUgNDAuMDA2LTI2IDUyLTE5LjQ5NyAyMC4yODctNDQuNzgyIDMwLTc2IDMwek04OTQgMjc0Yy0zNS43NDUgMC02NC4wNjYtMTQuMTYzLTg2LTQwcy0zNC02MS4zMDItMzQtMTA4YzAtNDQuMTQ2IDEyLjE4Mi03OC41NDYgMzQtMTA0czUwLjExMi0zOCA4NC0zOGMyNy4zODggMCA1MC4xODYgNy4xMzYgNjggMjJzMzAuMzQgMzcuMzc4IDM4IDY4bC01MCAxOGMtNC4yOTQtMjAuNTQyLTEyLjEzNi0zNi40MzEtMjItNDZzLTIyLjMwNi0xNC0zNi0xNGMtMTguNTY5IDAtMzIuMzk1IDYuOTQ0LTQ0IDIycy0xOCA0MC41My0xOCA3NmMwIDMzLjQyOCA2LjIyMSA1Ny4wNzIgMTggNzJzMjcuMDgzIDI0IDQ2IDI0YzEzLjY5NCAwIDI0LjQyNS01LjU4IDM0LTE0czE2Ljk4Mi0xOS40NTUgMjAtMzRsNTAgMTRjLTUuODAzIDIyLjQ1Ni0xNC4zOTUgNDAuMDA2LTI2IDUyLTE5LjQ5NyAyMC4yODctNDQuNzgyIDMwLTc2IDMweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTc1OyIgZ2x5cGgtbmFtZT0iaXQtcm91dGVyLWp1bmlwZXIiIGQ9Ik01MTAgOTYwYy0yODIuNzAzIDAtNTEwLTIyNy4yOTctNTEwLTUxMHMyMjcuMjk3LTUxNCA1MTAtNTE0YzkuMTczIDAgMTguOTQzIDEuNTIxIDI4IDItMzYuOTE4IDMuMjctNjYgMzIuMjA0LTY2IDcwdjc0bC04OCA5MGg4OHYxNjRjMCAxOS45NTktOC4xNTcgNzAuNDU1LTQyIDgwaDY2YzM0LjgwMyAwIDQ1LjI4Ny01Ni42MyA0Ni04MCAwLjY3OCAwLjAxOSAxLjMxNyAwIDIgMGg0MDhjODAuMjM5LTQ1LjM5OCA2Ny40NTUgNTcuMTk2IDcyIDExNCAwIDI4Mi43MDMtMjMxLjI5NyA1MTAtNTE0IDUxMHpNNTA2IDg1MGwxMjQtMTI0aC04OHYtMTYyYzAtMjAuODI2LTkuNTU0LTgyLTQ2LTgyaC02NmMzMy44NDMgOS41NDUgNDIgNjAuMDQxIDQyIDgwdjE2NGgtODhsMTIyIDEyNHpNMTYyIDYwNHYtODhoMTY4YzE5Ljk1OSAwIDY4LjQ1NSA4LjE1NyA3OCA0MnYtNjZjMC0zNi40NDYtNjEuMTc0LTQ2LTgyLTQ2aC0xNjR2LTg4bC0xMjIgMTI0IDEyMiAxMjJ6TTg2MCA2MDRsMTIyLTEyMi0xMjItMTI0djg4aC0xNjZjLTE5Ljk1OSAwLTcwLjQ1NS0xMC4xNTctODAtNDR2NjhjMCAzNi40NDYgNjEuMTc0IDQ2IDgyIDQ2aDE2NHY4OHpNNjQ0IDI5NHYtMjA2YzAtMjUuOTU4LTIuMDIxLTQzLjc2MS04LTUycy0xNS41NjMtMTItMzAtMTJjLTE0LjI5MiAwLTI1IDQuNDc5LTMyIDE2LTQuNjY3IDcuNTgzLTcuMjcxIDIxLjYyNS04IDQwbC02Mi04YzAuMTQ2LTM0LjI3MSA4LjkzNy02MC4yODEgMjYtNzhzNDAuMzU0LTI2IDcyLTI2YzI2Ljk3OSAwIDQ5LjUyMSA2LjY5OCA2NiAxOHMyNy43MjkgMjUuMzMzIDM0IDQ0YzQuNjY3IDE0LjI5MiA4IDM1LjQ1OCA4IDYydjIwMmgtNjZ6TTc3OCAyOTR2LTMyMGg2NnYxMjBoNDJjMjkuMzEyIDAgNTAuNTQyIDIuOTM4IDY2IDYgMTEuMzc1IDIuNDc5IDIyLjk4OSA2LjM0NCAzNCAxNHMyMC44NTQgMTguNTgzIDI4IDMyYzcuMTQ2IDEzLjQxNyAxMCAzMC4zMTIgMTAgNTAgMCAyNS41MjEtNS42MDQgNDUuODg1LTE4IDYycy0yNy42MjUgMjcuMTg3LTQ2IDMyYy0xMS45NTkgMy4yMDgtMzguNjI1IDQtNzggNGgtMTA0ek04NDQgMjQwaDMwYzIzLjMzMyAwIDQwLjI3MS0wLjU0NCA0OC0yIDEwLjUtMS44OTYgMTkuMTQ2LTYuNDE3IDI2LTE0czEwLTE4LjMzNCAxMC0zMGMwLTkuNDc5LTMuMTE1LTE2Ljg1NC04LTI0cy0xMS4zOTYtMTIuNjQ2LTIwLTE2Yy04LjYwNC0zLjM1NC0yNi40NzktNC01Mi00aC0zNHY5MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3NjsiIGdseXBoLW5hbWU9Iml0LXJvdXRlci16dGUiIGQ9Ik01MTAgOTYwYy0yODIuNzAzIDAtNTEwLTIyNy4yOTctNTEwLTUxMHMyMjcuMjk3LTUxNCA1MTAtNTE0YzkuMTczIDAgMTguOTQzIDEuNTIxIDI4IDItMzYuOTE4IDMuMjctNjYgMzIuMjA0LTY2IDcwdjc0bC04OCA5MGg4OHYxNjRjMCAxOS45NTktOC4xNTcgNzAuNDU1LTQyIDgwaDY2YzM0LjgwMyAwIDQ1LjI4Ny01Ni42MyA0Ni04MCAwLjY3OCAwLjAxOSAxLjMxNyAwIDIgMGg0MDhjMTkuOTk1IDAgMzguOTUyLTguOTUyIDUyLTIyIDExLjc4NyA0My4wNzIgMjAgODkuMjU5IDIwIDEzNiAwIDI4Mi43MDMtMjMxLjI5NyA1MTAtNTE0IDUxMHpNNTA2IDg1MGwxMjQtMTI0aC04OHYtMTYyYzAtMjAuODI2LTkuNTU0LTgyLTQ2LTgyaC02NmMzMy44NDMgOS41NDUgNDIgNjAuMDQxIDQyIDgwdjE2NGgtODhsMTIyIDEyNHpNMTYyIDYwNHYtODhoMTY4YzE5Ljk1OSAwIDY4LjQ1NSA4LjE1NyA3OCA0MnYtNjZjMC0zNi40NDYtNjEuMTc0LTQ2LTgyLTQ2aC0xNjR2LTg4bC0xMjIgMTI0IDEyMiAxMjJ6TTg2MCA2MDRsMTIyLTEyMi0xMjItMTI0djg4aC0xNjZjLTE5Ljk1OSAwLTcwLjQ1NS0xMC4xNTctODAtNDR2NjhjMCAzNi40NDYgNjEuMTc0IDQ2IDgyIDQ2aDE2NHY4OHpNNTE4IDI2OHYtNDZoOTBsLTEwMC0xODJ2LTUyaDE1NnY0OGgtMTEwbDEwNiAxODh2NDRoLTE0MnpNNjc0IDI2OHYtNDZoNTh2LTIzNGgzOHYyMzRoNTh2NDZoLTE1NHpNODUyIDI2OHYtMjgwaDE0NnY0OGgtMTA2djc2aDk2djQ4aC05NnY2MmgxMDJ2NDZoLTE0MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3NzsiIGdseXBoLW5hbWU9Iml0LXNkbi1ob3N0IiBkPSJNNDk4IDk2MGMtODIuNTE5LTIuMTQzLTE2NS40ODYtMjMuODI1LTI0Mi02OC0yNDQuODQ1LTE0MS4zNjEtMzI5LjM2Mi00NTUuMTU0LTE4OC03MDAgMTA2LjczOC0xODQuODc1IDMxMi41NTctMjc4LjE1OSA1MTItMjUyLTIzLjA5OCAxNi4zMS0zNiAzNy4yNjUtMzYgNTggMCAyMi44NjIgMTYuMzc2IDQyLjcyMSA0NCA2MGgtMzJjLTQxLjkxMiAwLTc2IDM0LjA4OC03NiA3NnYxMDZsLTM0LTIwYy0yNC42NDcgMjcuNzMxLTQ3LjkzOSA1NS44NTctNzAgODhsMTA0IDYwdjY0YzAgNDEuOTEyIDM0LjA4OCA3NiA3NiA3NmgyMzRjLTQuNTc3IDEwLjY5My04Ljk2NiAyMS40NjktMTQgMzJsMTE4IDY4YzEzLjg2LTMyLjk1IDI0LjcxMS02NS44MTcgMzAtMTAwaDY2YzEwLjQ3OCAwIDIwLjk0My0yLjE4MiAzMC02LTcuMjM0IDY5LjMxNC0yNi45MDQgMTM3Ljc0Ny02NCAyMDItOTcuMTg2IDE2OC4zMzItMjc2LjQ1OSAyNjAuNzE1LTQ1OCAyNTZ6TTUyMiA4NjJjNDUuNDI1LTEuMTY0IDkxLjUxNy04LjQ1OCAxMzQtMjRsLTY0LTM2Yy0yMi44MSAyMi4xMjctNDYuMDA3IDQxLjcwNC03MCA2MHpNMzk0IDg0NmMzOS41ODctMjUuNjQ1IDc3LjIyMi01Ni4yODEgMTE0LTkybC04NC01MC03MiAxMjZjMTMuNzQyIDUuNzkxIDI3Ljk0NiAxMS44MDIgNDIgMTZ6TTc2MCA3ODJjMzEuMTY0LTIzLjAxNiA1Ny43MTgtNTEuOTk0IDgyLTg0bC0xMTYtNjZjLTIwLjQxMiAzMi43NTUtNDAuODgzIDYzLjM3OC02NCA5Mmw4OCA1MGMzLjIwMyAxLjg0OSA3LjYwNSA1LjQzNSAxMCA4ek0yNjAgNzc4aDJsNzItMTI2LTkyLTUyYy0xMi43MSA0OS4zMTMtMTkuMjU1IDk3LjE4OC0yMiAxNDQgMTIuMzkgMTIuMTc4IDI1Ljg4OCAyMy4yOTYgNDAgMzR6TTU3OCA2NzZjMjIuOTM5LTI4LjQ1OSA0NS42ODYtNTkuNDAzIDY2LTkybC0xMTItNjQtNTYgOTYgMTAyIDYwek0xNDIgNjM2YzMuOTk0LTI3LjkgMTAuNjM1LTU1LjM3MiAxOC04NGwtNTgtMzRjNy4xMjQgNDAuNzg0IDIxLjE4MSA4MC45NjQgNDAgMTE4ek0zODQgNTY0bDU2LTk2LTExOC03MGMtMTguMiAzMy43ODEtMzQuNjcgNjcuOTg2LTQ4IDEwMmwxMTAgNjR6TTE5MiA0NTRjMTMuMzk2LTM0LjMwOSAyNy42ODItNjkuOTk5IDQ2LTEwNGwtMTA4LTYyYy0xNS4yMTQgMzYuMTctMjcuNTAxIDcyLjQwMi0zMiAxMTBsOTQgNTZ6TTYxMiA0NTRjLTQ5LjUxNiAwLTkwLTM4LjQ4NC05MC04OHYtMTk0YzAtNDkuNTE2IDQwLjQ4NC05MCA5MC05MGgxMDJsLTYtMzRjLTUxLjU4Ni05LjgxMS04OC0zMC41NDktODgtNTQgMC0zMi42NDMgNjguODEtNTggMTU0LTU4czE1NCAyNS4zNTcgMTU0IDU4YzAgMjQuMTY5LTM3LjgzOCA0Ni41ODUtOTIgNTZsLTYgMzJoMTA0YzQ5LjUxNiAwIDkwIDQwLjQ4NCA5MCA5MHYxOTRjMCA0OS41MTYtNDAuNDg0IDg4LTkwIDg4aC0zMjJ6TTU4NCAzODZoMzgwdi0yMzZoLTM4MHYyMzZ6TTI5MiAyNjBjMjIuMTQ3LTMyLjEzIDQ3LjE4My01OC4yNzEgNzItODZsLTEwMi02MGMtMzAuMzExIDIyLjY5NS01Ni4yODMgNTIuNzM5LTgwIDg0bDExMCA2MnpNNDM4IDk2YzI4LjgzNi0yNC45NTggNTkuODg1LTQ0Ljk3NSA5MC02NC01My4yOTUtMS45NjItMTA4LjIwMSA2LjE1Ny0xNTggMjRsNjggNDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Nzg7IiBnbHlwaC1uYW1lPSJpdC1zZG4tc3dpdGNoIiBkPSJNNDk4IDk2MGMtODIuNTMyLTIuMTQ0LTE2NS40NzMtMjMuODE3LTI0Mi02OC0yNDQuODg2LTE0MS4zODUtMzI5LjM4Ni00NTUuMTEzLTE4OC03MDAgNTguMjU1LTEwMC45MDEgMTQ2LjIxOC0xNzQuMjU3IDI0Ni0yMTZ2MTY4bC01Mi0zMGMtMzAuMzE2IDIyLjY5OS01Ni4yNzkgNTIuNzM0LTgwIDg0bDEwNCA2MC0xNCA0LTE1NiA4IDMwIDI4LTE2LTEwYy0xNS4yMTcgMzYuMTc2LTI3LjUgNzIuMzk2LTMyIDExMGw5NCA1NmMxMC4wNDQtMjUuNzI1IDIxLjYxNC01Mi4yNDkgMzQtNzhsNzIgNzJjLTguMzU3IDE3LjQ0MS0xNy4wOTMgMzQuMzc2LTI0IDUybDExMiA2NCAxMC0xOCA5MiA5MiAxMC0xMCA4MiA0OGMyMi45NDMtMjguNDY0IDQzLjY4Mi01OS4zOTcgNjQtOTJsLTY2LTM2IDc4LTc4IDQwIDI0IDEwNCA2MCA5NCA1NmM3LjM2Ny0xNy41MTUgMTQuNjE4LTM2LjA3MiAyMC01NGg0bDkyIDE0Yy0xMS4yODUgNDUuODE5LTI5LjIyMSA5MS4wODEtNTQgMTM0LTk3LjIwMyAxNjguMzYtMjc2LjQyOSAyNjAuNzE2LTQ1OCAyNTZ6TTUyMiA4NjJjNDUuNDMzLTEuMTY0IDkxLjUxLTguNDU1IDEzNC0yNGwtNjQtMzZjLTIyLjgxNCAyMi4xMzEtNDYuMDAzIDQxLjcwMS03MCA2MHpNMzk0IDg0NmMzOS41OTMtMjUuNjQ5IDc3LjIxNi01Ni4yNzUgMTE0LTkybC04NC01MC03MiAxMjZjMTMuNzQ0IDUuNzkyIDI3Ljk0NCAxMS44MDEgNDIgMTZ6TTc2MCA3ODJjMzEuMTY5LTIzLjAxOSA1Ny43MTQtNDkuOTg5IDgyLTgybC0xMTYtNjhjLTIwLjQxNiAzMi43Ni00MC44NzkgNjMuMzczLTY0IDkybDg4IDUyYzMuMjAzIDEuODQ5IDcuNjA1IDMuNDM1IDEwIDZ6TTI2MiA3NzhsNzItMTI2LTkyLTUyYy0xMi43MTEgNDkuMzIxLTE3LjI1NCA5Ny4xOC0yMCAxNDQgMTIuMzkyIDEyLjE4IDI1Ljg4NiAyMy4yOTQgNDAgMzR6TTE0MiA2MzZjMy45OTUtMjcuOTA0IDEwLjYzMy01NS4zNjcgMTgtODRsLTU4LTM0YzcuMTI1IDQwLjc5MSAyMS4xNzggODAuOTU4IDQwIDExOHpNNDc0IDUyNGwtMjA4LTIxMGgxMjZ2LTI4Nmw3Mi05Mmg5NHYzNzhoMTI2bC0yMTAgMjEwek04MDQgNTI0bC03Mi05MHYtMjg4aC0xMjZsMjA4LTIxMCAyMTAgMjEwaC0xMjZ2Mzc4aC05NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3OTsiIGdseXBoLW5hbWU9Iml0LXNlcnZlciIgZD0iTTUyIDk2MGMtMjguMjE4IDAtNTItMjcuODc3LTUyLTYydi05MDBjMC0zNC4xMjMgMjMuNzgyLTYyIDUyLTYyaDUyNGMyOC4yMTggMCA1MCAyNy44NzcgNTAgNjJ2OTAwYzAgMzQuMTIzLTE5Ljc4MiA2Mi00OCA2MmgtNTI2ek02NzQgOTU0YzE4Ljk5OS0xMC4wNzQgMzItMzEuNTQgMzItNTZ2LTkwMGMwLTIwLjEzMy05Ljg1My0zNi42NTktMjQtNDhsMjYyIDc4YzQyLjIzNyAxMi41NzQgODAgMzAuOTcxIDgwIDcwdjcwNmMwIDM5LjAyOS0zNy43NjYgNTcuNDItODAgNzBsLTI3MCA4MHpNMTIwIDgyMGgzODhjMTkuMDA5IDAgMzQtMTkuMDEyIDM0LTQydi0yMTBjMC0yMi45ODgtMTQuOTkxLTQwLTM0LTQwaC0zODhjLTE5LjAwOSAwLTM2IDE3LjAxMi0zNiA0MHYyMTBjMCAyMi45ODggMTYuOTkxIDQyIDM2IDQyek0xMzYgNzYwYy04LjUxOSAwLTE2LTEyLjc1Ny0xNi0zMHM3LjQ4MS0zMiAxNi0zMmgzNTZjOC41MTkgMCAxNCAxNC43NTcgMTQgMzJzLTUuNDgxIDMwLTE0IDMwaC0zNTZ6TTEzNiA2NDhjLTguNTE5IDAtMTYtMTIuNzU3LTE2LTMwczcuNDgxLTMyIDE2LTMyaDM1NmM4LjUxOSAwIDE0IDE0Ljc1NyAxNCAzMnMtNS40ODEgMzAtMTQgMzBoLTM1NnpNMzE0IDI4OGMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjRzLTI4LjY1NC02NC02NC02NGMtMzUuMzQ2IDAtNjQgMjguNjU0LTY0IDY0czI4LjY1NCA2NCA2NCA2NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3YTsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci1haXgiIGQ9Ik01MTIgOTYwYy0yODIuNzcgMC01MTItMjI5LjIzLTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyYzI4Mi43NyAwIDUxMiAyMjkuMjMgNTEyIDUxMnMtMjI5LjIzIDUxMi01MTIgNTEyek01MTIgODk2YzI0Ny40MjQgMCA0NDgtMjAwLjU3NiA0NDgtNDQ4cy0yMDAuNTc2LTQ0OC00NDgtNDQ4Yy0yNDcuNDI0IDAtNDQ4IDIwMC41NzYtNDQ4IDQ0OHMyMDAuNTc2IDQ0OCA0NDggNDQ4ek01MTIgODMyYy0yMTIuMDc3IDAtMzg0LTE3MS45MjMtMzg0LTM4NCAwLTM2LjE1NiA2LjY1OS03MC44MzEgMTYtMTA0bDExMiAyOTJoNjhsMTMwLTMyMGgtNzJsLTI4IDcyaC0xMjhsLTI2LTcyaC00OGM1My44MzctMTQ3LjAzNSAxOTQuMzE1LTI1MiAzNjAtMjUyczMwNi4xNjMgMTA0Ljk2NSAzNjAgMjUyaC03MmwtNzIgMTEwLTcyLTExMGgtNzZsMTA4IDE2Ni05OCAxNTRoNzZsNjQtMTAyIDYyIDEwMmg1NmMtNjUuNjYxIDExNy41MDctMTkxLjgyOCAxOTYtMzM2IDE5NnpNNDg2IDYzNmg2NHYtMzIwaC02NHYzMjB6TTg1NiA2MThsLTg4LTEzOCAxMDYtMTU4YzEzLjczMiAzOS41MDYgMjIgODEuODE3IDIyIDEyNiAwIDYwLjkwNS0xNC43NjMgMTE4Ljg0LTQwIDE3MHpNMjkwIDU2MmwtNDQtMTIwaDg4bC00NCAxMjB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5N2I7IiBnbHlwaC1uYW1lPSJpdC1zZXJ2ZXIta2xpbnV4IiBkPSJNNzAyLjE5NiA5NjBjLTgzLjU1OSAwLTE0OS40MjEtNzUuNTkzLTE0OS40MjEtMTcxLjA1NyAwLTQ1LjI4MSAxNS4xOTQtODYuMzcyIDM5LjY5LTExNy4xNjItOC42ODYtMTIuMjIzLTE3LjMzOC0yNC44NzYtMjUuNjgyLTM3LjQ5Mi0yMy4xOTQtMzUuMDcwLTQzLjYyOS03Ni45NzYtNjAuNzAyLTg5LjA0My04My41MjMtNTkuMDMzLTEyMS40MDQtMTI5Ljk5Mi0xMjEuNDA0LTI0OC4zODQgMC0xNi42MzEgMi41NTYtMzAuODc0IDQuNjY5LTQ2Ljg2NSAyMy4zMjEgMTEuNDYzIDUyLjg0IDE2LjQwMyA4NC4wNDkgMTYuNDAzIDQuMDQzIDAgNy43MTggMC4yMTcgMTEuNjczIDAtMy42ODUgMTguNDIyLTcuMDA0IDM1LjI1LTcuMDA0IDUzLjg5NSAxLjI1MSAxMjguODMyIDU1LjM4OSAyMDkuNzg2IDExNC40IDI5Mi45MDYgMi42NDggMy40OTkgNi4yNjkgOS4xMDUgOS4zMzkgMTQuMDU5IDIuNDUyLTQuMjQxIDYuMjgzLTYuNzkzIDExLjY3My05LjM3M2w0OS4wMjktMjMuNDMyYzIzLjYyOC0xMS4zMDcgNDguMjUtMTAuNDE3IDcyLjM3NiAwbDUzLjY5OCAyMy40MzJjMC44NCAwLjM2MyAxLjU1OC0wLjQxOCAyLjMzNSAwIDQyLjI3Mi05MS40NSA5OS4wODQtMTk0LjI5MyAxMDAuMzkyLTI3OC44NDcgMC0yMy44MDgtMi45NTgtNDUuODY2LTcuMDA0LTY3Ljk1NCAxMy4wNTcgMi41MjQgMjcuNjg0IDIuMzQzIDQyLjAyNSAyLjM0MyAxOC45IDAgMzcuMTkxLTAuNDA1IDUzLjY5OC00LjY4NiAwLjgxOCAxMC4wNDQgMi4zMzUgMTcuODQzIDIuMzM1IDI4LjExOSAwIDk5LjgzLTI2LjI4MyAxNzUuNjQ0LTg4LjcxOSAyMzYuNjY4LTI1LjU0OSAyNC45NzEtNTYuODM0IDc4LjE2OC05MS4wNTMgMTI2LjUzNSAzMS4zODkgMzEuNjM1IDUxLjM2MyA3Ny4zODggNTEuMzYzIDEyOC44NzkgMCA5NS40NjUtNjguMTk2IDE3MS4wNTctMTUxLjc1NSAxNzEuMDU3ek02NDEuNDk0IDgxOS40MDVjMjUuMzExIDAgNDQuMzU5LTIyLjA0MyA0NC4zNTktNTEuNTUxIDAtNC4wNzItMS42NS03Ljg5My0yLjMzNS0xMS43MTYtNC42MjgtMC42MDctOS4xODYtMi4zOTgtMTQuMDA4LTQuNjg2IDAgMjIuMTg1LTE0LjIxNyAzOS44MzUtMzAuMzUxIDM5LjgzNXMtMjguMDE2LTE3LjY1LTI4LjAxNi0zOS44MzVjMC0xMy40MjIgNC4zMTktMjcuODU0IDExLjY3My0zNS4xNDktMTYuNjkyIDguNjMtMjguMDE2IDI5LjQyLTI4LjAxNiA1MS41NTEgMCAyOS41MDkgMjEuMzgzIDUxLjU1MSA0Ni42OTQgNTEuNTUxek03NjIuODk4IDgxNy4wNjJjMjUuMzExIDAgNDYuNjk0LTIyLjA0MyA0Ni42OTQtNTEuNTUxIDAtMjIuMTMyLTExLjMyNC00Mi45MjEtMjguMDE2LTUxLjU1MSA1Ljg4IDcuMzQ4IDcuMDA0IDE4LjY3NyA3LjAwNCAzMC40NjIgMCAyMi4xODUtMTEuODgyIDQyLjE3OC0yOC4wMTYgNDIuMTc4cy0zMC4zNTEtMTkuOTk0LTMwLjM1MS00Mi4xNzhjMC0yLjQyOC0wLjI5OS00Ljc5MiAwLTcuMDMwLTMuMDY4IDIuMTc3LTYuMjYzIDUuMjY1LTkuMzM5IDcuMDMwLTIuNTM2IDYuODE2LTQuNjY5IDEzLjM2Ni00LjY2OSAyMS4wODkgMCAyOS41MDkgMjEuMzgzIDUxLjU1MSA0Ni42OTQgNTEuNTUxek02OTkuODYxIDczNS4wNDhjMTIuMyAwIDI1Ljc2Ny0zLjgzNyAzNS4wMjAtMTEuNzE2bDQ2LjY5NC00Mi4xNzhjMTMuMTE4LTExLjE3IDE3LjY3OC0yNi43NjEgMTEuNjczLTM5LjgzNS0xLjkwNy0xLjMxNi0yLjM4OS0zLjcwMi00LjY2OS00LjY4NmwtNTMuNjk4LTIzLjQzMmMtMjQuMTI2LTEwLjQxNy00OC43NDgtMTEuMzA3LTcyLjM3NiAwbC00OS4wMjkgMjMuNDMyYy0xLjcyMSAwLjgyNC0zLjMwMiAxLjMzNy00LjY2OSAyLjM0My03LjM3NCAxMy44OTYtMi4yMDYgMzAuMzYgMTEuNjczIDQyLjE3OGw0Ni42OTQgNDIuMTc4YzkuMjUzIDcuODc5IDIwLjM4NiAxMS43MTYgMzIuNjg2IDExLjcxNnpNNjIwLjQ4MiA2NzQuMTI0Yy0yLjI4NS0yLjMxOC00LjY2OS00LjQ4OC00LjY2OS03LjAzMCAwLTE0LjEyMyAzOS42NTEtMjUuNzc2IDg2LjM4NC0yNS43NzZzODEuNzE0IDExLjY1MyA4MS43MTQgMjUuNzc2YzAgMi41NDItMC4wNDkgNC43MTItMi4zMzUgNy4wMzAtOS4zMDgtMTEuMDY3LTM5Ljg2My0xOC43NDYtNzkuMzgtMTguNzQ2cy03Mi40MDcgNy42NzktODEuNzE0IDE4Ljc0NnpNODc5LjYzMyAyNDkuOTk1Yy02NC41MDQtNy42MzQtODYuMzg0LTQyLjA3Mi04Ni4zODQtMTE0LjgxOSAwLTgzLjE0LTgzLjYyNC0xODkuODAzIDQuNjY5LTE4OS44MDNzMjI0LjEzMSA4MC44ODcgMjI0LjEzMSAxNjQuMDI3YzAgODMuMTQtMjMuNzczIDE0MC41OTUtMTEyLjA2NiAxNDAuNTk1LTExLjAzNyAwLTIxLjEzNiAxLjA5MS0zMC4zNTEgMHpNNDY2LjM5MSAyNDAuNjIyYy04OC4yOTMgMC0xMTIuMDY2LTU3LjQ1NS0xMTIuMDY2LTE0MC41OTVzMTM1LjgzOS0xNjQuMDI3IDIyNC4xMzEtMTY0LjAyN2M4OC4yOTMgMCA0LjY2OSAxMDQuMzIgNC42NjkgMTg3LjQ2cy0yOC40NDIgMTE3LjE2Mi0xMTYuNzM1IDExNy4xNjJ6TTYyMC40ODIgNzEuOTA4bDE0LjAwOC00OS4yMDggMTQuMDA4LTU2LjIzOGMxMS41ODMtMS41NjIgMjMuMDQ1LTIuMzQzIDM1LjAyMC0yLjM0MyAxMi42NzYgMCAyNS4xMzggMC41ODUgMzcuMzU1IDIuMzQzIDUuMTg1IDI1LjQ2IDIxLjAxMiA4OS4wNDMgMjEuMDEyIDg5LjA0M2w3LjAwNCAxNi40MDNjLTE5Ljk4MS05Ljc5OS00MC41MzctMTYuNDAzLTYzLjAzNy0xNi40MDMtMjMuMDMwIDAtNDQuOTUxIDYuMjU5LTY1LjM3MiAxNi40MDN6TTQzNC44OSA5NTcuODk1bC00MTcuMDg4LTQ0MC41ODIgMTkwLjc0MS0zMC4wODktMjA4LjU0NC0zNzEuODA4IDM5OS4yODUgNDI1LjUzNy0xMzkuODc3IDgzLjgxOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk3YzsiIGdseXBoLW5hbWU9Iml0LXNlcnZlci1yZWRoYXQiIGQ9Ik01MTAuNTkyIDk2MGMtMjgxLjg1NiAwLTUxMC41OTItMjMwLjMzNi01MTAuNTkyLTUxMy40NzJzMjI4LjczNi01MTAuNTI4IDUxMC41OTItNTEwLjUyOCA1MTMuNDA4IDIyNy41MiA1MTMuNDA4IDUxMC41MjhjMCAyODMuMDcyLTIzMS41NTIgNTEzLjQ3Mi01MTMuNDA4IDUxMy40NzJ6TTQ2NC43MDQgODcxLjEwNGwzMS41NTItOC42NCAzNy4zMTItOC41NzYgMzEuNTUyIDUuNjk2IDE3LjI4IDIuODggMjIuOTEyIDUuNzZjMCAwIDIwLjk5MiA0LjU0NCAzMS40ODggMi44OCAxMC4zMDQtMS42NjQgMjEuODg4IDAuNzY4IDMxLjU1Mi0yLjg4IDEzLjM3Ni01LjA1NiAyNS45ODQtMTQuMDgwIDM3LjI0OC0yMi45MTIgMTkuNDU2LTE1LjI5NiAzNy4yNDgtNjMuMTA0IDM3LjI0OC02My4xMDRsMjAuMDk2LTU0LjUyOCAyMi44NDgtNjUuOTg0IDUuNzYtNDguNzY4LTUuNzYtNjAuMjI0IDQzLjEzNiAzNy4zMTJjMzMuMzQ0LTguMTI4IDcyLjY0LTI4LjczNiAxMTEuODA4LTU0LjUyOCAwIDAgNy4xNjgtNDQuNjcyIDUuNzYtNjUuOTg0LTEuMjE2LTE4LjQ5Ni00LjgtMzguNjU2LTE0LjMzNi01NC41MjgtMTYuNzY4LTI3Ljc3Ni00NC42MDgtNDUuNjMyLTcxLjc0NC02My4xMDQtMjEuNTA0LTEzLjg4OC00NC4wMzItMjUuMzQ0LTY4Ljg2NC0zMS40ODgtMzguMDE2LTkuMzQ0LTc4LjQtNi40LTExNy41NjgtNS43Ni0zNy4wNTYgMC42NC03Mi41NzYgMS42LTEwOC45OTIgOC42NC00My4yNjQgOC4yNTYtODguMDY0IDIwLjczNi0xMjguOTYgMzcuMjQ4LTQ3LjM2IDE5LjEzNi0xMzQuNzg0IDc0LjYyNC0xMzQuNzg0IDc0LjYyNHMtNzYuNjcyIDQ0LjE2LTExNC43NTIgODAuMzJjLTE1LjIzMiAxNC40LTQ4LjgzMiA2NS45Mi00OC44MzIgNjUuOTJzLTguODk2IDQ4LjMyIDIuODggNTcuMzQ0YzAgMCAzOC4wODAgMjguNzM2IDU0LjUyOCAzMS41NTIgMzkuNjE2IDYuNzg0IDc5LjA0MCA4LjUxMiAxMjMuMzI4IDE0LjMzNnYtMi44MTZsMjIuOTEyLTIyLjk3NiA2My4xMDQtNDMuMDA4IDkxLjc3Ni0zNC40MzIgNDUuOTUyLTIwLjA5NmMwIDAgMzQuODE2LTIuODggNDUuODI0LTIuODggMTEuMTM2IDAgMi44OCAyMi45MTIgMi44OCAyMi45MTJsLTE3LjIxNiAxNy4yOC01Ljc2IDE0LjMzNi04LjUxMiAyMi45MTItMTQuMzM2IDE3LjIxNi05NC42NTYgMzEuNTUyLTc3LjQ0IDI4LjY3Mi00MC4xOTIgMzEuNjE2IDguNjQgNDAuMTI4IDE3LjIxNiAzNy4zMTIgMTQuMzM2IDIyLjk3NiAyMi45NzYgMTQuMzM2IDMxLjU1MiA4LjY0IDM3LjI0OCAyLjgxNnpNNjEzLjg4OCA4NDUuMjQ4bC04LjY0LTE0LjMzNiAyNS43MjgtOC42NCAyMC4wMzItNS42OTYtMjAuMDMyLTMxLjU1MiA2MC4yMjQgMTQuMzM2IDUuODI0IDI4LjY3Mi0zMS40ODggMTEuNDU2LTUxLjY0OCA1Ljc2ek00MTAuMTc2IDgwNS4wNTZsLTE0LjMzNi00Mi45NDQgMzEuNTUyLTMxLjU1MiAxNy4yMTYgNS43NiA0My4wMDggOC41NzYgNDguNzY4IDE0LjMzNiA1Ljc2IDE3LjIxNi0zNy4zMTIgOC41NzYtNTQuNDY0LTguNTc2LTQwLjE5MiAyOC42MDh6TTIzOC4wODAgNDI5LjMxMmgxNy4yMTZsMjUuNzkyLTE0LjMzNiAzNy4zMTItNDAuMTI4IDUxLjY0OC01Ljc2IDY1Ljk4NC04MC4zODQgMjg2Ljg0OC01Ljc2LTIyLjk3Ni0xMDYuMTEyLTQ4Ljc2OC02Mi45NzYtMjguNjA4LTI1Ljg1Ni0yLjg4IDIuODggMi44OC0yMi44NDggMzEuNDg4IDUuNzYgMTA4Ljk5MiA4MC4zMnYyMi45MTJoMTE0Ljc1Mmw0NS44ODgtMTEuNTJjLTkyLjAzMi0xMzEuMTM2LTI0NC40OC0yMTUuMTA0LTQxMy4wNTYtMjE1LjEwNC0yMTYuMTkyIDAtNDAwLjEyOCAxMzUuNDI0LTQ3MC40IDMzMi42NzJsMjAuMDk2IDUuODI0IDguNTc2IDM0LjM2OCA4LjU3NiA1Ljc2IDEwMC40MTYtNS43NiA2OC44NjQtNDUuODg4IDI1Ljc5MiA1LjY5Ni0yLjg4IDI4LjY3Mi0zNy4zMTIgMzQuNDMyLTE0LjMzNiAyMi45MTItMi44OCAyOC43MzYgOC42NCAxNC4zMzYgMTQuMzM2IDE3LjE1MnpNNTI3LjgwOCAyMTkuOTY4Yy0xMC42ODgtMi4zNjggMS4xNTItOS4zNDQtOC41NzYtMTQuNC0xOS4wMDgtOS42NjQgMjIuOTEyLTI4LjY3MiAyMi45MTItMjguNjcyczIyLjcyLTEyLjAzMiAzNC4zNjgtMTEuNDU2YzEwLjYyNCAwLjU3NiAyOC43MzYgMTEuNDU2IDI4LjczNiAxMS40NTYgMTcuNzI4IDE3LjI4IDkuMDI0IDQxLjM0NCAwIDM0LjQ5NmwtMjIuOTc2LTE0LjQ2NGgtMjIuOTEyYzAgMC4wNjQtMTkuNzEyIDI1LjUzNi0zMS41NTIgMjMuMDQweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTdkOyIgZ2x5cGgtbmFtZT0iaXQtc2VydmVyLXNvbGFyaXMiIGQ9Ik00NjggOTYwbC00OC0yNjhjMTYuMTczIDMuMjk3IDMwLjg0OSA0IDQ4IDRzMzMuODI3LTAuNzAzIDUwLTRsLTUwIDI2OHpNMTQwIDgyNmwxNTAtMjA4YzIyLjA0OCAyMy4yODMgNDYuMzU5IDQyLjYwNSA3NiA1NmwtMjI2IDE1MnpNNzk4IDgyNmwtMjI2LTE1MmMyOS42NDEtMTMuMzk1IDUzLjk1Mi0zMi43MTcgNzYtNTZsMTUwIDIwOHpNMCA1ODZsMjIyLTEwMmM0LjM0IDI5LjU0MSAxNC4xNTEgNTguODE2IDI4IDg0bC0yNTAgMTh6TTkzOCA1ODZsLTI1Mi0xOGMxMy44NDktMjUuMTg0IDIzLjY2LTU0LjQ1OSAyOC04NGwyMjQgMTAyek02NTAgNDM0Yy0zNTkuODk0IDAtNjUwLTU4LjgwOS02NTAtMTMyczI5MC4xMDYtMTM0IDY1MC0xMzRjNTguOTg3IDAgMTE3LjY1OCAzLjAxMiAxNzIgNi0xMC4yMDItMC4xMDktMTkuNjcgMC0zMCAwLTMzMC42NTMgMC02MDAgNTQuMDM3LTYwMCAxMjJzMjY5LjM0NyAxMjQgNjAwIDEyNGM4Mi42NjMgMCAxNjAuMzczLTMuNzczIDIzMi0xMC0xMDUuNjg0IDE1LjAzNC0yMzUuMjQgMjQtMzc0IDI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTdlOyIgZ2x5cGgtbmFtZT0iaXQtc2VydmVyLXN1c2UiIGQ9Ik01MTYgOTAyYy02NS42NzUtMi4xMTktMTIzLjE2LTQuNTYtMTg0LTM0LTcyLjQyMS0zMi0xNDUuNjUxLTU5LjAwMy0yMDYtMTEybC02OC04NGMtNjkuNzc3LTExOS41ODktNTQuNDE2LTIzMi45MzQgMTA2LTI5MCA3Ny43NDItNS41NTIgMjIxLjQ3OCA1Ny44ODggMTMwIDIwMi0yOS41MjMgMjguOTYtNTUuMjczIDM3LjM5OC0xMDQgMzAtNDEuNzktMTEuMjcxLTY4LjA4Ni00Ni4wODQtNTQtMTAyIDE5LjQ5Mi0yNy44ODQgMjIuNjg4LTI1LjEwNSA0Mi0zMGw0OC00IDggMjYtNiAyMC04IDYtMjQtOGMtOC4zMTItMTUuOTg0LTYwLjcxNCAxNi41OC04IDQyIDkuODE3IDQuNDg5IDM4LjE2MSAxNC4wMzEgNjAtNiAzMS42MjUtMzEuNzE2IDU3Ljc3My04NC4yNDEtMjgtMTE4LTY3LjAxOS03LjMxMi0xMDAuMDM2IDcuMTczLTEyOCA3NmwtMiA0NCA4IDQwYzI1LjYyNCAzMi4wMzAgMzYuODE1IDQ5LjgzIDgwIDU0IDUyLjgzIDIuMDMyIDkwLjE1NCA1LjEwNCAxMzYtMjZsMzAtNDAgMjAtNDAgMTQtMzAgMzQtMjIgMzAtMTRjMCA0Ny44MzQtMTMuMDY4IDgzLjYyOCAyNiAxMTRsMjggMTBjMjkuMTc2LTAuNzI5IDUzLjQ5OCA5LjA4MiA4Mi0xMGwyMC0yMCA0Ni01MiA1Mi0yOCA0NC0yNiA4IDYtMjQgMzJjLTkuMzU0IDQyLjU3MS0yNS4xODcgNjIuNDM4IDAgMTA2bDI2IDhjODAuNjY4LTUuMzY2IDE4NS44MDUtMjAuODk0IDI2MCAzOCA1Ljk5MSAyLjY4MSAxOS44NzUgMjcuMjQ4LTIgMzgtMi40NjgtNy4yNTEtMi40ODctMTUuMjY2LTIwLTIyLTQzLjI3NC0xMi43OTgtNjkuODQ4LTIxLjYwMy0xMTggNC0zMS45NjUgMTEuNzc2LTU3Ljk1OSAxNS44MjUtNzYgNDZsLTYgMTIgMTggNiA0MC0yNGMyNS4xODctMTIuMjUzIDQ1Ljc0NC0yOC45NjQgNzYtMzAgMzUuMTkgMi42MjkgNjEuMDc0LTIuMzE3IDkyIDIwbDE0IDE2Yy0xMy4wNDAgNDAuNTY5LTE4Ljk5OCA4MC45OTYtNTIgMTEwLTQyLjEwOCAyMS4wNTQtODIuMTc4IDM4Ljg1OC0xMzAgNDRsLTg2IDEyIDYtMzgtNTAgMjItOTAgMTYtMTEwIDEwek05MTggODM4YzMzLjM5NSAwIDYwLTI2LjYwNSA2MC02MHMtMjYuNjA1LTYwLTYwLTYwYy0zMy4zOTUgMC02MCAyNi42MDUtNjAgNjBzMjYuNjA1IDYwIDYwIDYwek05MTggODE4Yy0yMS45NDUgMC00MC0xOC4wNTUtNDAtNDBzMTguMDU1LTQwIDQwLTQwYzIxLjk0NSAwIDQwIDE4LjA1NSA0MCA0MHMtMTguMDU1IDQwLTQwIDQwek05MjIgODA2YzEwLjE2NSAwIDE4LTcuODM1IDE4LTE4cy03LjgzNS0xOC0xOC0xOGMtMTAuMTY1IDAtMTggNy44MzUtMTggMThzNy44MzUgMTggMTggMTh6TTExNiAzMTRjLTIxLjUyNyAwLTQwLjc3OS00Ljk4OC01Ni0xMnMtMjUuOTEyLTE2LjU5NC0zNC0zMGMtOC4wODgtMTMuNDA3LTEyLTI4LjYtMTItNDQgMC0yMy45MjYgOC44MDQtNDMuMzYyIDI2LTYwIDEyLjIyOC0xMS44MjUgMzMuNjg0LTIxLjg4OCA2NC0zMCAyMy41NjUtNi4zMjUgMzcuMzc2LTExLjUyNSA0NC0xNCA5LjY4LTMuNzEzIDE2LjExNS02Ljk4MSAyMC0xMnM2LTEwLjg1IDYtMThjMC0xMS4xMzgtNC43NjUtMjEuNjgxLTE0LTMwcy0yMS43ODUtMTItNDAtMTJjLTE3LjE5NiAwLTMxLjg3NCA0LjY1LTQyIDE0cy0xNi42ODggMjQuMDYyLTIwIDQ0bC01NC02YzMuNjk0LTMzLjgyNiAxNS4wMjEtNjAuMzMxIDM0LTc4czQ2LjU4OS0yNiA4Mi0yNmMyNC4zMjkgMCA0My42OTYgNC42NDQgNjAgMTJzMjkuMDgzIDE4Ljg3NSAzOCAzNGM4LjkxNiAxNS4xMjUgMTQgMzAuNjc1IDE0IDQ4IDAgMTkuMTEzLTQuNTQ5IDM1LjAwNi0xMiA0OHMtMTYuODE3IDIyLjUwNi0zMCAzMGMtMTMuMTg0IDcuNDk0LTM0LjQ4NyAxNC45ODctNjIgMjJzLTQ0Ljg2NyAxMy41MzctNTIgMjBjLTUuNjA1IDUuMDg3LTggMTIuODUtOCAyMCAwIDcuODM3IDIuMDEzIDEzLjMyNSA4IDE4IDkuMjk4IDcuMjg3IDIzLjU2OCAxMCA0MCAxMCAxNS45MjIgMCAyOC4wMzktMy4xOTQgMzYtMTBzMTEuNTgtMTguNDYzIDE0LTM0bDU4IDRjLTAuODkyIDI3Ljc3NS0xMC4yMzEgNDkuMzYyLTI4IDY2cy00NC44NDQgMjYtODAgMjZ6TTYxNiAzMTRjLTIxLjUyNyAwLTM4Ljc3OS00Ljk4OC01NC0xMnMtMjcuOTEyLTE2LjU5NC0zNi0zMGMtOC4wODgtMTMuNDA3LTEyLTI4LjYtMTItNDQgMC0yMy45MjYgOC44MDQtNDMuMzYyIDI2LTYwIDEyLjIyOC0xMS44MjUgMzMuNjg0LTIxLjg4OCA2NC0zMCAyMy41NjUtNi4zMjUgMzkuMzc2LTExLjUyNSA0Ni0xNCA5LjY4MS0zLjcxMyAxNi4xMTUtNi45ODEgMjAtMTJzNi0xMC44NSA2LTE4YzAtMTEuMTM4LTQuNzY1LTIxLjY4MS0xNC0zMHMtMjMuNzg1LTEyLTQyLTEyYy0xNy4xOTYgMC0yOS44NzQgNC42NS00MCAxNHMtMTYuNjg5IDI0LjA2Mi0yMCA0NGwtNTYtNmMzLjY5NC0zMy44MjYgMTUuMDIxLTYwLjMzMSAzNC03OHM0Ni41ODktMjYgODItMjZjMjQuMzI5IDAgNDMuNjk1IDQuNjQ0IDYwIDEyczI5LjA4MyAxOC44NzUgMzggMzRjOC45MTYgMTUuMTI1IDE0IDMwLjY3NSAxNCA0OCAwIDE5LjExMy00LjU0OCAzNS4wMDYtMTIgNDhzLTE2LjgxNyAyMi41MDYtMzAgMzBjLTEzLjE4NCA3LjQ5NC0zNC40ODcgMTQuOTg3LTYyIDIycy00NC44NjcgMTMuNTM3LTUyIDIwYy01LjYwNSA1LjA4Ny04IDEyLjg1LTggMjAgMCA3LjgzNyA0LjAxMyAxMy4zMjUgMTAgMTggOS4yOTggNy4yODcgMjEuNTY4IDEwIDM4IDEwIDE1LjkyMiAwIDI4LjAzOS0zLjE5NCAzNi0xMHMxMy41OC0xOC40NjIgMTYtMzRsNTYgNGMtMC44OTIgMjcuNzc1LTEwLjIzMSA0OS4zNjItMjggNjZzLTQ0Ljg0NCAyNi04MCAyNnpNODk2IDMxMGMtMzMuOTg5IDAtNjMuNzctMTMuMTE1LTg2LTQwcy0zMi02NC41MjQtMzItMTEyYzAtMzkuNzQ0IDcuMDg2LTcxLjkyNCAyNC05OCAyMy40NzItMjQuODE0IDM3LjQ0NS00MC4xOTYgODAtNDggMTAuMzA1IDMuNDY3IDY5LjI5LTAuMjU2IDc2IDYgOS43MDQgOS4wNDggMTIuNTI1IDMyLjYzMSAyIDQ0LTYuMjQ3IDYuNzQ4LTU2LjUzNCAyLjg3OS03MiA2LTI2LjM4NyA4LjI1Ni00MS4wMTggMjguNzYzLTQwIDcwaDE3MGMwLjk2NiA1OC4wODYtOS45MzIgMTAxLjg1Ni0zMiAxMzBzLTUxLjgyMyA0Mi05MCA0MnpNOTAwIDI1MmMxMy44NTMgMCAyNC4zMzUtNC41OCAzNC0xNnMxNS41MTgtMjguMDYwIDE2LTUwaC0xMDJjLTAuMTYgMjAuNjgxIDQuMzM1IDM1Ljk1MSAxNCA0OHMyMy4xOCAxOCAzOCAxOHpNMjc4IDIyNHYtMTM4YzAtMjAuNjI1IDEuMTYtMzYuMzEyIDYtNDhzMTMuMTczLTIxLjUzNyAyNC0yOGMxMC44MjctNi40NjMgMjQuMzcxLTEwIDM4LTEwIDEzLjM3NCAwIDI1Ljk2MyAzLjI2MiAzOCAxMHMyMC42MTIgMTYuMzEyIDI4IDI4di0zMmg1MHYyMThoLTU0di05MmMwLTMxLjM1MS0xLjMyNS00OS45NTYtNC01OHMtNi43NC0xNC41NjktMTQtMjBjLTcuMjYxLTUuNDMyLTE2LjgyOS0xMC0yNi0xMC04LjAyNSAwLTEyLjc3OCAxLjk0NC0xOCA2cy0xMC4wMjYgMTEuMDU2LTEyIDE4Yy0xLjk3NCA2Ljk0NC0yIDI1LjE5OS0yIDU2djEwMGgtNTR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5N2Y7IiBnbHlwaC1uYW1lPSJpdC1zZXJ2ZXItd2luZG93cyIgZD0iTTM5OCA5MTJjLTQ5LjQ4IDAuMzk0LTEwNS4wNDAtNi43NzMtMTY4LTI2bC0xMDYtMzMyYzEzMC4zMjcgMzEuMTk2IDI2MS44NDQgNDkuODMxIDM3NC0yOGwxMDAgMzI2Yy01My43MyAzNi4zNjEtMTE3LjUzMyA1OS4zNDMtMjAwIDYwek02NDYgODI0bC0xMDItMzI2Yzg1Ljk2OS01OC4xNzcgMjAyLjEwNy04NS4yNzIgMzcwLTM0bDEwNCAzMzJjLTEzMC4zMjctMzEuMTk2LTI1OS44NDQtNDkuODMxLTM3MiAyOHpNMjc2IDUxNGMtNDkuNDggMC4zOTQtMTA1LjA0MC04Ljc3My0xNjgtMjhsLTEwNC0zMzBjMTMwLjMyNyAzMS4xOTYgMjYxLjg0NCA0OS44MzEgMzc0LTI4bDEwMCAzMjRjLTUzLjczIDM2LjM2MS0xMTkuNTMzIDYxLjM0My0yMDIgNjJ6TTUzMiA0MjhsLTEwMC0zMjRjODUuOTY5LTU4LjE3NyAyMDAuMTA3LTg3LjI3MiAzNjgtMzZsMTA2IDMzMmMtMTMwLjMyNy0zMS4xOTYtMjYxLjg0NC00OS44MzEtMzc0IDI4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTgwOyIgZ2x5cGgtbmFtZT0iaXQtc2VydmVyLXp4dmUiIGQ9Ik0xNzIgOTU4Yy05NC45MjIgMC0xNzQtNzcuMDc4LTE3NC0xNzJ2LTY3OGMwLTk0LjkyMiA3OS4wNzgtMTc0IDE3NC0xNzRoNjc4Yzk0LjkyMiAwIDE3MiA3OS4wNzggMTcyIDE3NHY2NzhjMCA5NC45MjItNzcuMDc4IDE3Mi0xNzIgMTcyaC02Nzh6TTE3MiA4OTRoNjc4YzYwLjY1NiAwIDEwOC00Ny4zNDQgMTA4LTEwOHYtNjc4YzAtNjAuNjU2LTQ3LjM0NC0xMTAtMTA4LTExMGgtNjc4Yy02MC42NTYgMC0xMTAgNDkuMzQ0LTExMCAxMTB2Njc4YzAgNjAuNjU2IDQ5LjM0NCAxMDggMTEwIDEwOHpNNjQ4IDgzMmMtNjUuNzAyIDAtMTE4LTU5LjI1My0xMTgtMTM0IDAtMzUuNDU1IDEyLjczOS02Ny44OTIgMzItOTItNi44My05LjU3MS0xMy40NC0xOC4xMjItMjAtMjgtMTguMjM3LTI3LjQ1OS0zNC41NzYtNjAuNTUyLTQ4LTcwLTY1LjY3My00Ni4yMjItOTYtMTAxLjMwMS05Ni0xOTQgMC0xMy4wMjIgMi4zMzgtMjUuNDc5IDQtMzggMTguMzM3IDguOTc1IDQxLjQ2IDE0IDY2IDE0IDMuMTc5IDAgNC44OSAwLjE3MyA4IDAtMi44OTggMTQuNDI0LTQgMjcuNDAxLTQgNDIgMC45ODQgMTAwLjg3NCA0My42IDE2Mi45MTggOTAgMjI4IDIuMDgyIDIuNzQgMy41ODYgOC4xMjEgNiAxMiAxLjkyOC0zLjMyIDUuNzYyLTUuOTggMTAtOGwzOC0xOGMxOC41NzgtOC44NTMgMzkuMDMwLTguMTU2IDU4IDBsNDIgMThjMC42NiAwLjI4NCAxLjM4OS0wLjMyOCAyIDAgMzMuMjM4LTcxLjYwNCA3Ni45NzItMTUxLjc5NSA3OC0yMTggMC0xOC42NDEtMi44MTktMzYuNzA2LTYtNTQgMTAuMjY3IDEuOTc2IDIyLjcyNCAyIDM0IDIgMTQuODYxIDAgMjkuMDIwLTAuNjQ4IDQyLTQgMC42NDMgNy44NjUgMiAxNS45NTQgMiAyNCAwIDc4LjE2Ni0yMC45MDggMTM2LjIxOS03MCAxODQtMjAuMDg5IDE5LjU1Mi00NS4wOTQgNjIuMTI5LTcyIDEwMCAyNC42ODEgMjQuNzcgNDAgNTkuNjg0IDQwIDEwMCAwIDc0Ljc0Ny01Mi4yOTggMTM0LTExOCAxMzR6TTQzOCA4MzBsLTMyOC0zNDQgMTUwLTI0LTE2NC0yOTIgMzE0IDMzNC0xMTAgNjYgMTM4IDI2MHpNNjAwIDcyMmMxOS45MDIgMCAzNC0xNi44OTUgMzQtNDAgMC0zLjE4OC0xLjQ2MS03LjAwNi0yLTEwLTMuNjM5LTAuNDc2LTYuMjA4LTIuMjA4LTEwLTQgMCAxNy4zNy0xMS4zMTQgMzItMjQgMzJzLTIyLTE0LjYzLTIyLTMyYzAtMTAuNTA5IDQuMjE3LTIwLjI4OCAxMC0yNi0xMy4xMjUgNi43NTctMjIgMjIuNjcxLTIyIDQwIDAgMjMuMTA1IDE2LjA5OCA0MCAzNiA0MHpNNjk2IDcyMGMxOS45MDIgMCAzNi0xNi44OTUgMzYtNDAgMC0xNy4zMjktOC44NzUtMzMuMjQzLTIyLTQwIDQuNjIzIDUuNzUzIDYgMTQuNzcyIDYgMjQgMCAxNy4zNy05LjMxNCAzMi0yMiAzMnMtMjQtMTQuNjMtMjQtMzJjMC0xLjkwMS0wLjIzNy00LjI0OCAwLTYtMi40MTMgMS43MDUtNS41ODEgNC42MTgtOCA2LTEuOTk0IDUuMzM3LTQgOS45NTMtNCAxNiAwIDIzLjEwNSAxOC4wOTggNDAgMzggNDB6TTY0NiA2NTZjOS42NzEgMCAyMC43MjQtMy44MzEgMjgtMTBsMzYtMzJjMTAuMzE1LTguNzQ2IDE0LjcyMS0yMS43NjMgMTAtMzItMS40OTktMS4wMzEtMi4yMDctMS4yMjktNC0ybC00Mi0yMGMtMTguOTctOC4xNTYtMzkuNDIyLTguODUzLTU4IDBsLTM4IDIwYy0xLjM1MyAwLjY0NS0yLjkyNS0wLjc4OC00IDAtNS43OTggMTAuODgtMC45MTQgMjQuNzQ3IDEwIDM0bDM2IDMyYzcuMjc2IDYuMTY5IDE2LjMyOSAxMCAyNiAxMHpNNTg0IDYwOGMtMS43OTctMS44MTUtNC00LjAxMC00LTYgMC0xMS4wNTggMzEuMjU1LTIwIDY4LTIwczY0IDguOTQyIDY0IDIwYzAgMS45OS0wLjIwNSA0LjE4NS0yIDYtNy4zMTgtOC42NjUtMzAuOTI5LTE0LTYyLTE0cy01Ni42ODIgNS4zMzUtNjQgMTR6TTc4OCAyNzZjLTUwLjcxOS01Ljk3OC02OC0zMy4wNDAtNjgtOTAgMC02NS4wOTgtNjcuNDI0LTE0OCAyLTE0OHMxNzggNjIuOTAyIDE3OCAxMjhjMCA2NS4wOTgtMjAuNTc2IDExMC05MCAxMTAtOC42NzggMC0xNC43NTQgMC44NTQtMjIgMHpNNDYyIDI2OGMtNjkuNDI0IDAtODgtNDQuOTAyLTg4LTExMHMxMDYuNTc2LTEyOCAxNzYtMTI4YzY5LjQyNCAwIDQgODIuOTAyIDQgMTQ4cy0yMi41NzYgOTAtOTIgOTB6TTU4NCAxMzZsMTAtMzggMTItNDRjOS4xMDctMS4yMjMgMTYuNTg0LTIgMjYtMiA5Ljk2NyAwIDIwLjM5NCAwLjYyMSAzMCAyIDQuMDc3IDE5LjkzNSAxNiA3MCAxNiA3MGw2IDEyYy0xNS43MTEtNy42NzMtMzIuMzA4LTEyLTUwLTEyLTE4LjEwOSAwLTMzLjk0NCA0LjA1OC01MCAxMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4MTsiIGdseXBoLW5hbWU9Iml0LXN0b3JhZ2UiIGQ9Ik0xNTQgOTYwYy04NS4wNDAgMC0xNTQtNjguOTYtMTU0LTE1NHYtNzE2YzAtODUuMDQwIDY4Ljk2LTE1NCAxNTQtMTU0aDcxNmM4NS4wNDAgMCAxNTQgNjguOTYgMTU0IDE1NHY3MTZjMCA4NS4wNDAtNjguOTYgMTU0LTE1NCAxNTRoLTcxNnpNMTg0IDc1Mmg2NTZjMzAuOTUzIDAgNTYtMjUuOTc5IDU2LTU4di0xMmMwLTMyLjAyMS0yNS4wNDctNTgtNTYtNThoLTY1NmMtMzAuOTUzIDAtNTYgMjUuOTc5LTU2IDU4djEyYzAgMzIuMDIxIDI1LjA0NyA1OCA1NiA1OHpNMTg0IDQ4NGg2NTZjMzAuOTUzIDAgNTYtMjUuOTc5IDU2LTU4di0xMmMwLTMyLjAyMS0yNS4wNDctNTgtNTYtNThoLTY1NmMtMzAuOTUzIDAtNTYgMjUuOTc5LTU2IDU4djEyYzAgMzIuMDIxIDI1LjA0NyA1OCA1NiA1OHpNMTg0IDIxNmg2NTZjMzAuOTUzIDAgNTYtMjUuOTc5IDU2LTU4di0xMmMwLTMyLjAyMS0yNS4wNDctNTgtNTYtNThoLTY1NmMtMzAuOTUzIDAtNTYgMjUuOTc5LTU2IDU4djEyYzAgMzIuMDIxIDI1LjA0NyA1OCA1NiA1OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4MjsiIGdseXBoLW5hbWU9Iml0LXN0b3JhZ2UtY2lzY28tbWRzIiBkPSJNMTU0IDk2MGMtODUuMDQwIDAtMTU0LTY4Ljk2LTE1NC0xNTR2LTcxNmMwLTg1LjA0MCA2OC45Ni0xNTQgMTU0LTE1NGg3MTZjODUuMDQwIDAgMTU0IDY4Ljk2IDE1NCAxNTR2NzE2YzAgODUuMDQwLTY4Ljk2IDE1NC0xNTQgMTU0aC03MTZ6TTE3OCA4MzhoNjcyYzI2Ljc0NyAwIDQ4LTI4LjU0NCA0OC02NHMtMjEuMjUzLTY0LTQ4LTY0aC02NzJjLTI2Ljc0NyAwLTQ4IDI4LjU0NC00OCA2NHMyMS4yNTMgNjQgNDggNjR6TTE3NiA2MTZoNjcyYzI2Ljc0NyAwIDQ4LTI4LjU0NCA0OC02NHMtMjEuMjUzLTY0LTQ4LTY0aC02NzJjLTI2Ljc0NyAwLTQ4IDI4LjU0NC00OCA2NHMyMS4yNTMgNjQgNDggNjR6TTMyMCAzNzRjMzkuMjI5IDAgNzEuNS0xMC44MTMgOTYtMzQgMTQuNTgzLTEzLjcwOSAyNC43MDgtMzQuMzM0IDMyLTYwbC02NC0xNmMtMy43OTIgMTYuNjI1LTExLjk2OSAzMC4zNzUtMjQgNDBzLTI2Ljc5MiAxNC00NCAxNGMtMjMuNzcxIDAtNDMuMTk4LTguOTM4LTU4LTI2cy0yMi00My43OTItMjItODJjMC00MC41NDIgNy40MTctNjguNzkyIDIyLTg2czM0LjY2Ny0yNiA1OC0yNmMxNy4yMDggMCAzMS42MDQgNS4wNjIgNDQgMTZzMjAuNjA0IDI4LjUyMSAyNiA1Mmw2NC0yMGMtOS42MjUtMzUtMjUuNjE1LTYxLjAxMC00OC03OHMtNTEuNTg0LTI2LTg2LTI2Yy00Mi41ODMgMC03Ni41ODMgMTQuOTA2LTEwNCA0NHMtNDIgNjkuNTQyLTQyIDEyMGMwIDUzLjM3NSAxNC40MzcgOTQuNDY4IDQyIDEyNHM2My4wODMgNDQgMTA4IDQ0ek03MjQgMzc0YzM5LjIyOSAwIDcxLjUtMTAuODEzIDk2LTM0IDE0LjU4My0xMy43MDkgMjYuNzA4LTM0LjMzNCAzNC02MGwtNjQtMTZjLTMuNzkyIDE2LjYyNS0xMS45NjkgMzAuMzc1LTI0IDQwcy0yNi43OTIgMTQtNDQgMTRjLTIzLjc3MSAwLTQzLjE5OC04LjkzOC01OC0yNnMtMjItNDMuNzkyLTIyLTgyYzAtNDAuNTQyIDcuNDE3LTY4Ljc5MiAyMi04NnMzMi42NjctMjYgNTYtMjZjMTcuMjA4IDAgMzEuNjA0IDUuMDYyIDQ0IDE2czIyLjYwNCAyOC41MjEgMjggNTJsNjItMjBjLTkuNjI1LTM1LTI1LjYxNS02MS4wMTAtNDgtNzhzLTUxLjU4My0yNi04Ni0yNmMtNDIuNTgzIDAtNzYuNTgzIDE0LjkwNi0xMDQgNDRzLTQyIDY5LjU0Mi00MiAxMjBjMCA1My4zNzUgMTQuNDM3IDk0LjQ2OCA0MiAxMjRzNjMuMDgzIDQ0IDEwOCA0NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4MzsiIGdseXBoLW5hbWU9Iml0LXN0b3JhZ2UtbWQzMDAwIiBkPSJNMTU0IDk2MGMtODUuMDQwIDAtMTU0LTY4Ljk2LTE1NC0xNTR2LTcxNmMwLTg1LjA0MCA2OC45Ni0xNTQgMTU0LTE1NGg3MTZjODUuMDQwIDAgMTU0IDY4Ljk2IDE1NCAxNTR2NzE2YzAgODUuMDQwLTY4Ljk2IDE1NC0xNTQgMTU0aC03MTZ6TTE3OCA4MzhoNjcyYzI2Ljc0NyAwIDQ4LTI4LjU0NCA0OC02NHMtMjEuMjUzLTY0LTQ4LTY0aC02NzJjLTI2Ljc0NyAwLTQ4IDI4LjU0NC00OCA2NHMyMS4yNTMgNjQgNDggNjR6TTE3NiA2MTZoNjcyYzI2Ljc0NyAwIDQ4LTI4LjU0NCA0OC02NHMtMjEuMjUzLTY0LTQ4LTY0aC02NzJjLTI2Ljc0NyAwLTQ4IDI4LjU0NC00OCA2NHMyMS4yNTMgNjQgNDggNjR6TTc2IDM2Mmg5NGMyMS4zOTEgMCAzOC43NzgtMy44NDQgNTAtOCAxNS4wNzktNS42NDEgMjcuMjQ2LTEzLjYwMyAzOC0yOHMxOC4zODktMzEuMTQ2IDI0LTUyYzUuNjExLTIwLjg1NCA4LTQ3LjQyNCA4LTc4IDAtMjYuODY1LTAuNzQtNTAuNTU2LTYtNzAtNi40MjktMjMuNzQ4LTE2LjA3Ny00My4zMDYtMjgtNTgtOS4wMDEtMTEuMTMyLTIwLjY4Ny0xNy43NjYtMzYtMjQtMTEuNDU2LTQuNjAyLTI2LjgzLTEwLTQ2LTEwaC05OHYzMjh6TTM1NiAzNjJoMTUydi01NmgtODh2LTcyaDc2di01NGgtNzZ2LTkwaDk0di01NmgtMTU4djMyOHpNNTY4IDM1OGg2NHYtMjY4aDEwMHYtNTZoLTE2NHYzMjR6TTc4MiAzNTZoNjZ2LTI2OGgxMDB2LTU2aC0xNjZ2MzI0ek0xMjggMzA2di0yMTZoMzhjMTQuNDk1IDAgMjUuNTcxIDEuOTIyIDMyIDQgOC40MTYgMi42NzIgMTQuNDQ3IDUuNjE3IDIwIDEyczEwLjQ5MyAxNy4zOCAxNCAzMmMzLjUwNyAxNC42MiA2IDM0Ljc2NyA2IDYwcy0yLjQ5MyA0NC40OTMtNiA1OGMtMy41MDcgMTMuNTA3LTcuNjg4IDI0LjQzLTE0IDMycy0xNC4yOTggMTMuMzI4LTI0IDE2Yy03LjI0OCAyLjA3Ny0yMi44NDIgMi00NCAyaC0yMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4NDsiIGdseXBoLW5hbWU9Iml0LXN0b3JhZ2UtbmV0dmF1bHQiIGQ9Ik0xNTQgOTYwYy04NS4wNDAgMC0xNTQtNjguOTYtMTU0LTE1NHYtNzE2YzAtODUuMDQwIDY4Ljk2LTE1NCAxNTQtMTU0aDcxNmM4NS4wNDAgMCAxNTQgNjguOTYgMTU0IDE1NHY3MTZjMCA4NS4wNDAtNjguOTYgMTU0LTE1NCAxNTRoLTcxNnpNMTc4IDgzOGg2NzJjMjYuNzQ3IDAgNDgtMjguNTQ0IDQ4LTY0cy0yMS4yNTMtNjQtNDgtNjRoLTY3MmMtMjYuNzQ3IDAtNDggMjguNTQ0LTQ4IDY0czIxLjI1MyA2NCA0OCA2NHpNMTc2IDYxNmg2NzJjMjYuNzQ3IDAgNDgtMjguNTQ0IDQ4LTY0cy0yMS4yNTMtNjQtNDgtNjRoLTY3MmMtMjYuNzQ3IDAtNDggMjguNTQ0LTQ4IDY0czIxLjI1MyA2NCA0OCA2NHpNODQgMzcwaDY0bDEzMi0yMTR2MjE0aDYwdi0zMjBoLTY2bC0xMjggMjA4di0yMDhoLTYydjMyMHpNMzc2IDM3MGg3MGw4MC0yMzYgODAgMjM2aDY4bC0xMTYtMzIwaC02OGwtMTE0IDMyMHpNNjg0IDM3MGgyNTZ2LTU0aC05NnYtMjY2aC02NHYyNjZoLTk2djU0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTg1OyIgZ2x5cGgtbmFtZT0iaXQtc3RvcmFnZS1zYW5zd2l0Y2gtenRlIiBkPSJNODY5Ljk4MSA5NjBoLTcxNS45NjJjLTg1LjAzOSAwLTE1NC4wMTktNjguOTgtMTU0LjAxOS0xNTQuMDE5di03MTYuMDA5YzAtODQuOTkyIDY4Ljk4LTE1My45NzIgMTU0LjAxOS0xNTMuOTcyaDcxNi4wMDljODQuOTkyIDAgMTUzLjk3MiA2OC45OCAxNTMuOTcyIDE1NC4wMTl2NzE1Ljk2MmMwIDg1LjAzOS02OC45OCAxNTQuMDE5LTE1NC4wMTkgMTU0LjAxOXpNMTc3Ljk5IDgzOC4wMDRoNjcyLjAyM2MyNi43MTcgMCA0Ny45ODgtMjguNTMyIDQ3Ljk4OC02NHMtMjEuMjcxLTY0LTQ3Ljk4OC02NGgtNjcyLjAyM2MtMjYuNzY0IDAtNDcuOTg4IDI4LjUzMi00Ny45ODggNjRzMjEuMjcxIDY0IDQ3Ljk4OCA2NHpNMTc1Ljk4OCA2MTUuOTgzaDY3Mi4wMjNjMjYuNzE3IDAgNDcuOTg4LTI4LjUzMiA0Ny45ODgtNjRzLTIxLjI3MS02NC00Ny45ODgtNjRoLTY3Mi4wMjNjLTI2Ljc2NCAwLTQ3Ljk4OCAyOC41MzItNDcuOTg4IDY0czIxLjI3MSA2NCA0Ny45ODggNjR6TTM1MS40MTggNTIuNDU3aC0yNTMuNTMzdjM5LjM3N2wxNjQuMzA1IDIwNS40NTJjMTEuNjM2IDE0LjU2OSAyMi43NjEgMjcuMjI5IDMzLjIzMyAzNy45ODFoLTE3OC45MjF2MzcuODQxaDIyOS43MDJ2LTM3Ljg0MWwtMTgwLjAzOC0yMjIuNDQxLTE5LjQ1Ni0yMi41MjhoMjA0LjcwN3YtMzcuODQxek02MjcuMjkzIDMzNS4yNjdoLTEwNi4wNzd2LTI4Mi44MWgtNDIuNDk2djI4Mi44MWgtMTA1LjY1OHYzNy44NDFoMjU0LjE4NXYtMzcuODQxek05MTAuOTg4IDUyLjQ1N2gtMjM5LjMzN3YzMjAuNjk4aDIzMS44NDN2LTM3Ljg0MWgtMTg5LjM0N3YtOTguMjExaDE3Ny4zODV2LTM3LjYwOWgtMTc3LjM4NXYtMTA5LjE5NmgxOTYuODQxdi0zNy44NDF6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ODY7IiBnbHlwaC1uYW1lPSJpdC1zd2l0Y2gtYXQiIGQ9Ik0yMzQgOTYwbC0yMzQtMjI4IDE0MC0xMzRjNTkuNzAyIDM5LjMyNCAxMzEuMTY0IDYyIDIwOCA2MiA0Ny42OTkgMCA5My45NjItOS45MDMgMTM2LTI2aDE4NnYxOThoLTQzNnYxMjh6TTc4OCA3MTZ2LTEyOGgtMjIyYzY4LjM0LTQ2LjE2OSAxMTguNDE1LTExNi4wOTkgMTQwLTE5OGg4MnYtMTI0bDIzNCAyMjQtMjM0IDIyNnpNMzQ2IDYyNmMtMTkwLjY4MiAwLTM0Ni0xNTMuMzE4LTM0Ni0zNDRzMTU1LjMxOC0zNDYgMzQ2LTM0NmMxOTAuNjgyIDAgMzQ0IDE1NS4zMTggMzQ0IDM0NnMtMTUzLjMxOCAzNDQtMzQ0IDM0NHpNMTg4IDQzMGg2NGwxMTgtMjk4aC02NGwtMjYgNjhoLTEyMGwtMjQtNjhoLTY0bDExNiAyOTh6TTM4MiA0MzBoMjM2di01MGgtODh2LTI0OGgtNjB2MjQ4aC04OHY1MHpNMjIwIDM2MGwtNDAtMTEwaDgwbC00MCAxMTB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ODc7IiBnbHlwaC1uYW1lPSJpdC1zd2l0Y2gtY2lzY28iIGQ9Ik0yMzQgOTYwbC0yMzQtMjI4IDE0MC0xMzRjNTkuNzAyIDM5LjMyNCAxMzEuMTY0IDYyIDIwOCA2MiA0Ny42OTkgMCA5My45NjItOS45MDMgMTM2LTI2aDE4NnYxOThoLTQzNnYxMjh6TTc4OCA3MTZ2LTEyOGgtMjIyYzY4LjM0LTQ2LjE2OSAxMTguNDE1LTExNi4wOTkgMTQwLTE5OGg4MnYtMTI0bDIzNCAyMjQtMjM0IDIyNnpNMzQ2IDYyNmMtMTkwLjY4MiAwLTM0Ni0xNTMuMzE4LTM0Ni0zNDRzMTU1LjMxOC0zNDYgMzQ2LTM0NmMxOTAuNjgyIDAgMzQ0IDE1NS4zMTggMzQ0IDM0NnMtMTUzLjMxOCAzNDQtMzQ0IDM0NHpNMjA0IDQzNmMzNi40MjcgMCA2Ny4yNS0xMi40NjkgOTAtMzQgMTMuNTQxLTEyLjcyOSAyMy4yMjktMzAuMTY3IDMwLTU0bC02MC0xNGMtMy41MjEgMTUuNDM3LTEwLjgyOCAyNy4wNjItMjIgMzZzLTI0LjAyMSAxNC00MCAxNGMtMjIuMDczIDAtNDAuMjU1LTguMTU2LTU0LTI0cy0yMC00MC41MjEtMjAtNzZjMC0zNy42NDYgNi40NTgtNjYuMDIxIDIwLTgyczMwLjMzMy0yNCA1Mi0yNGMxNS45NzkgMCAzMC40ODkgNS44NDQgNDIgMTZzMTguOTg5IDI2LjE5OCAyNCA0OGw1OC0xOGMtOC45MzgtMzIuNS0yMy4yMTQtNTguMjI0LTQ0LTc0cy00OC4wNDItMjItODAtMjJjLTM5LjU0MiAwLTcwLjU0MiAxMi45ODQtOTYgNDBzLTM4IDYzLjE0Ni0zOCAxMTBjMCA0OS41NjIgMTIuNDA2IDg4LjU3OCAzOCAxMTZzNTguMjkyIDQyIDEwMCA0MnpNNTA2IDQzNmMzNi40MjcgMCA2NS4yNS0xMi40NjkgODgtMzQgMTMuNTQxLTEyLjcyOSAyMy4yMjktMzAuMTY3IDMwLTU0bC02MC0xNGMtMy41MjEgMTUuNDM3LTEwLjgyOCAyNy4wNjItMjIgMzZzLTI0LjAyMSAxNC00MCAxNGMtMjIuMDczIDAtNDAuMjU1LTguMTU2LTU0LTI0cy0yMC00MC41MjEtMjAtNzZjMC0zNy42NDYgNi40NTgtNjYuMDIxIDIwLTgyczMwLjMzMy0yNCA1Mi0yNGMxNS45NzkgMCAzMC40ODkgNS44NDQgNDIgMTZzMTguOTg5IDI2LjE5OCAyNCA0OGw2MC0xOGMtOC45MzgtMzIuNS0yNS4yMTQtNTguMjI0LTQ2LTc0cy00Ni4wNDItMjItNzgtMjJjLTM5LjU0MiAwLTcyLjU0MiAxMi45ODQtOTggNDBzLTM4IDYzLjE0Ni0zOCAxMTBjMCA0OS41NjIgMTIuNDA2IDg4LjU3OCAzOCAxMTZzNjAuMjkyIDQyIDEwMiA0MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4ODsiIGdseXBoLW5hbWU9Iml0LXN3aXRjaC1oM2MiIGQ9Ik02OTcuODA5IDQxNi4zNDljMzIuMzQ5IDIwLjU3MyA3MC41NjMgMzIuOTA4IDExMS43NTYgMzIuOTA4IDQ3LjcwOSAwIDkxLjE4My0xNi40NzcgMTI2LjM3MS00My4zOGw4OC4wNjQgODQuMTA4LTIzNC40NDkgMjI1Ljk3OHYtMTI4aC0yMjIuNDQxYzYwLjgzNS00MC45NiAxMDUuODkxLTEwMS4zMjkgMTMwLjctMTcxLjYxM3pNMzQ4LjY3MiA2NjAuMDE1YzQ3Ljc1NiAwIDk0LjE2MS05LjkxNCAxMzYuMjg1LTI2LjAxOWgxODYuMzY4djE5OC4wMDRoLTQzNi44NzZ2MTI4bC0yMzQuNDQ5LTIyNy45OCAxNDAuMjg4LTEzNC4wMDRjNTkuNzY0IDM5LjI4NCAxMzEuMzk4IDYxLjk5OSAyMDguMzg0IDYxLjk5OXpNMzQ2LjY3MSA2MjUuOTljLTE5MS4wNjkgMC0zNDYuNjcxLTE1My4zMjEtMzQ2LjY3MS0zNDMuOTcxczE1NS42MDEtMzQ2LjAxOSAzNDYuNjcxLTM0Ni4wMTljMTI4Ljc5MSAwIDI0MC4zMTQgNzAuNzAzIDI5OS41MiAxNzUuMTUxLTI4LjM0NiAzNS42MDctNDUuOTQgODAuMTUxLTQ1Ljk0IDEyOS4xMTcgMCA2MS45OTkgMjcuNTU1IDExNy4wNjIgNzAuNTE2IDE1NS4zNjktNDcuMDExIDEzNC4wOTctMTczLjE5NiAyMzAuMzUzLTMyNC4wOTYgMjMwLjM1M3pNMzM0Ljg0OCA3OS45NjVoLTQyLjU0M3YxNTEuMDg3aC0xNjcuMDA1di0xNTEuMDg3aC00Mi40OTZ2MzIwLjY5OGg0Mi41NDN2LTEzMS42NzdoMTY2Ljk1OXYxMzEuNjc3aDQyLjU0M3YtMzIwLjY5OHpNNTY5LjUzIDEwMy40NzFjLTIwLjM4Ny0xOS40NTYtNDYuMjY2LTI5LjE4NC03Ny41NDUtMjkuMTg0LTI4LjI1MyAwLTUxLjY2NSA4LjM3OC03MC4yODQgMjUuMTgxLTE4LjY2NSAxNi43MS0yOS4yMzEgMzguNDkzLTMxLjg4NCA2NS4wNzFsMzkuMzc3IDUuMjZjNC41NjEtMjIuMjk1IDEyLjI4OC0zOC4zNTMgMjMuMTgtNDguMTc1IDEwLjg5Mi05LjkxNCAyNC4xMTEtMTQuODAxIDM5Ljc1LTE0LjgwMSAxOC41MjUgMCAzNC4yNTcgNi40NyA0Ny4wNTcgMTkuMjIzIDEyLjc1MyAxMi44OTMgMTkuMTc3IDI4Ljc2NSAxOS4xNzcgNDcuNzU2IDAgMTguMDYwLTUuODY1IDMyLjkwOC0xNy43OCA0NC42ODQtMTEuNzc2IDExLjc3Ni0yNi44NTcgMTcuNjQxLTQ1LjEwMyAxNy42NDEtNy40OTQgMC0xNi43NTYtMS40NDMtMjcuODgxLTQuNDIybDQuMzc1IDM0LjU4M2MyLjY1My0wLjI3OSA0Ljc0OC0wLjQ2NSA2LjMzLTAuNDY1IDE2Ljg0OSAwIDMxLjk3NyA0LjQyMiA0NS40MjggMTMuMTI2czIwLjE1NCAyMi4yOTUgMjAuMTU0IDQwLjQ0OGMwIDE0LjUyMi00Ljg4NyAyNi4zOTEtMTQuNzA4IDM1Ljg4Ny05Ljc3NSA5LjQ5NS0yMi40MzUgMTQuMjQzLTM3Ljg4OCAxNC4yNDMtMTUuMzYgMC0yOC4xMTMtNC44NDEtMzguNC0xNC40MjktMTAuMTkzLTkuNjM1LTE2LjgwMy0yNC4xMTEtMTkuNjg5LTQzLjMzNGwtMzkuNTE3IDYuOTgyYzQuODg3IDI2LjM0NSAxNS44MjUgNDYuODcxIDMyLjg2MSA2MS4zNDcgMTcuMTc1IDE0LjUyMiAzOC40IDIxLjczNyA2My44MTQgMjEuNzM3IDE3LjU0OCAwIDMzLjY5OS0zLjc3IDQ4LjQwNy0xMS4yNjQgMTQuNzU1LTcuNDk0IDI2LjA2NS0xNy43MzQgMzMuODg1LTMwLjcyIDcuODY2LTEyLjk4NiAxMS43MjktMjYuNzY0IDExLjcyOS00MS40MjUgMC0xMy44MjQtMy42NzctMjYuMzkxLTExLjEyNC0zNy44NDEtNy40NDctMTEuMzU3LTE4LjQ3OS0yMC4zODctMzMuMDQ3LTI3LjA4OSAxOC45OTEtNC4zNzUgMzMuNjk5LTEzLjQ1MiA0NC4yMTgtMjcuMjc2IDEwLjUxOS0xMy43MzEgMTUuNzc5LTMwLjk5OSAxNS43NzktNTEuNjY1IDAuMDQ3LTI3Ljg4MS0xMC4xNDctNTEuNTcyLTMwLjY3My03MS4wNzV6TTg3OS4yOSAxMzEuMzUxYy0xNi40NzctMTMuNjg0LTM2LjYzMS0yMC40OC02MC41MDktMjAuNDgtMTkuNTQ5IDAtMzcuNzQ4IDQuOTgtNTQuNTUxIDE1LjA4MS0xNi43NTYgMTAuMDU0LTI5LjE4NCAyNS4yMjgtMzcuMTQzIDQ1LjU2OHMtMTEuOTYyIDQ0LjEyNS0xMS45NjIgNzEuNDQ3YzAgMjEuMTMyIDMuMzk4IDQxLjY1OCAxMC4xIDYxLjUzM3MxOC4zODUgMzUuNzkzIDM0Ljk1NiA0Ny41NjkgMzcuMjgzIDE3LjczNCA2MS45MDUgMTcuNzM0YzIxLjUwNCAwIDM5LjM3Ny01LjM1MyA1My40ODEtMTYuMDEyIDE0LjE1LTEwLjYxMiAyNC45OTUtMjcuNjAxIDMyLjQ0Mi01MS4wMTRsNDEuODQ0IDkuODY4Yy04LjY1NyAyOS42NDktMjMuOTI0IDUyLjU5Ni00NS44MDEgNjguODg3LTIxLjkyMyAxNi4zODQtNDkuMDEyIDI0LjQ4My04MS4wODIgMjQuNDgzLTI4LjM0NiAwLTU0LjMxOS02LjQ3LTc3LjkxNy0xOS4zMTYtMjMuNjQ1LTEyLjk0LTQxLjg0NC0zMS44MzctNTQuNjQ0LTU2LjY5MnMtMTkuMTMtNTMuOTkzLTE5LjEzLTg3LjQxMmMwLTMwLjU4IDUuNjMyLTU5LjIwNiAxNi45NDMtODYuMDE2IDExLjM1Ny0yNi41NzcgMjcuODgxLTQ3LjA1NyA0OS41MjQtNjEuMTE0IDIxLjczNy0xNC4xMDMgNDkuODk3LTIxLjEzMiA4NC40MzMtMjEuMTMyIDMzLjU1OSAwIDYxLjgxMiA5LjE2OSA4NC45OTIgMjcuNTA4czM5LjE5MSA0NC44NyA0OC4wODEgNzkuNzMybC00Mi40OTYgMTAuNzA1Yy01Ljc3Mi0yNi44MS0xNi45NDMtNDcuMTUxLTMzLjQ2Ni02MC45Mjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ODk7IiBnbHlwaC1uYW1lPSJpdC1zd2l0Y2gtanVuaXBlciIgZD0iTTIzNCA5NjBsLTIzNC0yMjggMTQwLTEzNGM1OS43MDIgMzkuMzI0IDEzMS4xNjQgNjIgMjA4IDYyIDQ3LjY5OSAwIDkzLjk2Mi05LjkwMyAxMzYtMjZoMTg2djE5OGgtNDM2djEyOHpNNzg4IDcxNnYtMTI4aC0yMjJjNjguMzQtNDYuMTY5IDExOC40MTUtMTE2LjA5OSAxNDAtMTk4aDgydi0xMjRsMjM0IDIyNC0yMzQgMjI2ek0zNDYgNjI2Yy0xOTAuNjgyIDAtMzQ2LTE1My4zMTgtMzQ2LTM0NHMxNTUuMzE4LTM0NiAzNDYtMzQ2YzE5MC42ODIgMCAzNDQgMTU1LjMxOCAzNDQgMzQ2cy0xNTMuMzE4IDM0NC0zNDQgMzQ0ek0yMjYgNDQ0aDY0di0yMDJjMC0yNi41NDItMS4zMzQtNDcuNzA4LTYtNjItNi4yNzEtMTguNjY3LTE3LjUyMS0zMi42OTgtMzQtNDRzLTM5LjAyMS0xOC02Ni0xOGMtMzEuNjQ2IDAtNTQuOTM4IDguMjgxLTcyIDI2cy0yNS44NTQgNDMuNzI5LTI2IDc4bDYwIDhjMC43MjktMTguMzc1IDMuMzMzLTMyLjQxNyA4LTQwIDctMTEuNTIxIDE3LjcwOC0xNiAzMi0xNiAxNC40MzcgMCAyNC4wMjEgMy43NiAzMCAxMnMxMCAyNi4wNDIgMTAgNTJ2MjA2ek0zNjAgNDQ0aDEwNGMzOS4zNzUgMCA2NC4wNDEtMC43OTIgNzYtNCAxOC4zNzUtNC44MTMgMzMuNjA0LTE1Ljg4NiA0Ni0zMnMyMC0zNi40NzkgMjAtNjJjMC0xOS42ODgtNC44NTQtMzYuNTgzLTEyLTUwcy0xNC45OS0yNC4zNDQtMjYtMzJjLTExLjAxMS03LjY1Ni0yMi42MjUtMTEuNTIxLTM0LTE0LTE1LjQ1OS0zLjA2Mi0zOC42ODgtNi02OC02aC00MnYtMTIwaC02NHYzMjB6TTQyNCAzOTB2LTkwaDM2YzI1LjUyMSAwIDQxLjM5NiAwLjY0NiA1MCA0czE3LjExNCA4Ljg1NCAyMiAxNmM0Ljg4NSA3LjE0NiA2IDE0LjUyMSA2IDI0IDAgMTEuNjY2LTMuMTQ2IDIyLjQxNi0xMCAzMHMtMTUuNSAxMi4xMDQtMjYgMTRjLTcuNzI5IDEuNDU4LTIyLjY2NyAyLTQ2IDJoLTMyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOThhOyIgZ2x5cGgtbmFtZT0iaXQtc3dpdGNoLXp0ZSIgZD0iTTIzNCA5NjBsLTIzNC0yMjggMTQwLTEzNGM1OS43MDIgMzkuMzI0IDEzMS4xNjQgNjIgMjA4IDYyIDQ3LjY5OSAwIDkzLjk2Mi05LjkwMyAxMzYtMjZoMTg2djE5OGgtNDM2djEyOHpNNzg4IDcxNnYtMTI4aC0yMjJjNjguMzQtNDYuMTY5IDExOC40MTUtMTE2LjA5OSAxNDAtMTk4aDgydi0xMjRsMjM0IDIyNC0yMzQgMjI2ek0zNDYgNjI2Yy0xOTAuNjgyIDAtMzQ2LTE1My4zMTgtMzQ2LTM0NHMxNTUuMzE4LTM0NiAzNDYtMzQ2YzE5MC42ODIgMCAzNDQgMTU1LjMxOCAzNDQgMzQ2cy0xNTMuMzE4IDM0NC0zNDQgMzQ0ek05OCA0MjRoMTQ4di00NGwtMTEyLTE5NGgxMTZ2LTQ4aC0xNjR2NTJsMTA2IDE4NmgtOTR2NDh6TTI2MiA0MjRoMTYydi00OGgtNjB2LTIzOGgtNDJ2MjM4aC02MHY0OHpNNDUwIDQyNGgxNTJ2LTQ4aC0xMTB2LTY0aDEwMnYtNDhoLTEwMnYtNzhoMTE0di00OGgtMTU2djI4NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4YjsiIGdseXBoLW5hbWU9Iml0LXRhcGVsaWItaHBtc2wiIGQ9Ik02MCA5NjBjLTMzLjQ5NSAwLTYwLTI2LjUwNS02MC02MHYtNDg0YzAtMzMuNDk1IDI2LjUwNS02MCA2MC02MGg5MDRjMzMuNDk1IDAgNjAgMjYuNTA1IDYwIDYwdjQ4NGMwIDMzLjQ5NS0yNi41MDUgNjAtNjAgNjB6TTIyMiA3OTBoNTgwYzMzLjQ5NSAwIDYwLTI2LjUwNSA2MC02MHYtMTE0YzAtMzMuNDk1LTI2LjUwNS02Mi02MC02MmgtNTgwYy0zMy40OTUgMC02MCAyOC41MDUtNjAgNjJ2MTE0YzAgMzMuNDk1IDI2LjUwNSA2MCA2MCA2MHpNNzQwIDc3NmMtNTQuNTAzIDAtOTgtNDMuNDk3LTk4LTk4czQzLjQ5Ny05OCA5OC05OGM1NC41MDMgMCA5OCA0My40OTcgOTggOThzLTQzLjQ5NyA5OC05OCA5OHpNMjg0IDc2NmMtNTQuNTAzIDAtOTgtNDMuNDk3LTk4LTk4czQzLjQ5Ny0xMDAgOTgtMTAwYzU0LjUwMyAwIDk4IDQ1LjQ5NyA5OCAxMDBzLTQzLjQ5NyA5OC05OCA5OHpNMjI4IDMxOS45MzZ2LTMyMGg2NHYxNDBoMTI4di0xNDBoNjR2MzIwaC02NHYtMTI2aC0xMjh2MTI2ek01NTAgMzE5LjkzNnYtMzIwaDY2djEyMGg0MmMyOS4zMTIgMCA1Mi41NDEgMi45MzggNjggNiAxMS4zNzUgMi40NzkgMjAuOTg5IDYuMzQ0IDMyIDE0czIwLjg1NCAxOC41ODMgMjggMzJjNy4xNDYgMTMuNDE3IDEwIDMwLjMxMiAxMCA1MCAwIDI1LjUyMS01LjYwNCA0NS44ODUtMTggNjJzLTI3LjYyNSAyNy4xODctNDYgMzJjLTExLjk1OSAzLjIwOC0zOC42MjUgNC03OCA0ek02MTYgMjY1LjkzNmgzMGMyMy4zMzMgMCA0MC4yNzEtMC41NDQgNDgtMiAxMC41LTEuODk2IDE5LjE0Ni02LjQxNyAyNi0xNHMxMC0xNi4zMzQgMTAtMjhjMC05LjQ3OS0zLjExNS0xOC44NTQtOC0yNnMtMTEuMzk2LTEyLjY0Ni0yMC0xNmMtOC42MDQtMy4zNTQtMjQuNDc5LTQtNTAtNGgtMzZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OGM7IiBnbHlwaC1uYW1lPSJpdC10YXBlbGliLWlibXRzIiBkPSJNNjAgOTYyYy0zMy40OTUgMC02MC0yNi41MDUtNjAtNjB2LTQ4NGMwLTMzLjQ5NSAyNi41MDUtNjAgNjAtNjBoOTA0YzMzLjQ5NSAwIDYwIDI2LjUwNSA2MCA2MHY0ODRjMCAzMy40OTUtMjYuNTA1IDYwLTYwIDYwaC05MDR6TTIyMiA3OTJoNTgwYzMzLjQ5NSAwIDYwLTI2LjUwNSA2MC02MHYtMTE0YzAtMzMuNDk1LTI2LjUwNS02Mi02MC02MmgtNTgwYy0zMy40OTUgMC02MCAyOC41MDUtNjAgNjJ2MTE0YzAgMzMuNDk1IDI2LjUwNSA2MCA2MCA2MHpNNzQwIDc3OGMtNTQuNTAzIDAtOTgtNDMuNDk3LTk4LTk4czQzLjQ5Ny05OCA5OC05OGM1NC41MDMgMCA5OCA0My40OTcgOTggOThzLTQzLjQ5NyA5OC05OCA5OHpNMjg0IDc2OGMtNTQuNTAzIDAtOTgtNDMuNDk3LTk4LTk4czQzLjQ5Ny0xMDAgOTgtMTAwYzU0LjUwMyAwIDk4IDQ1LjQ5NyA5OCAxMDBzLTQzLjQ5NyA5OC05OCA5OHpNNjQyIDMzMGMtMjQuNjQ2IDAtNDYuNTczLTQuNTYzLTY0LTEycy0zMC43NC0xNy43ODItNDAtMzJjLTkuMjYtMTQuMjE5LTE0LTI5LjY2Ny0xNC00NiAwLTI1LjM3NSAxMC4zMTItNDYuMzU0IDMwLTY0IDE0LTEyLjU0MiAzNy4yOTItMjMuMzk2IDcyLTMyIDI2Ljk3OS02LjcwOCA0NC40MTYtMTEuMzc1IDUyLTE0IDExLjA4My0zLjkzOCAxOS41NTItOC42NzcgMjQtMTRzNi0xMi40MTcgNi0yMGMwLTExLjgxMy01LjQyNy0yMS4xNzctMTYtMzBzLTI1LjE0Ni0xNC00Ni0xNGMtMTkuNjg4IDAtMzYuNDA2IDYuMDgzLTQ4IDE2cy0xOC4yMDggMjQuODU0LTIyIDQ2bC02NC02YzQuMjI5LTM1Ljg3NSAxOC4yNzEtNjMuMjYgNDAtODJzNTEuNDU4LTI4IDkyLTI4YzI3Ljg1NCAwIDUxLjMzMyA0LjE5OCA3MCAxMnMzMy43OTEgMTkuOTU4IDQ0IDM2YzEwLjIwOCAxNi4wNDIgMTYgMzEuNjI1IDE2IDUwIDAgMjAuMjcxLTUuNDY5IDM4LjIxOS0xNCA1MnMtMTguOTA2IDI0LjA1Mi0zNCAzMmMtMTUuMDk0IDcuOTQ4LTM4LjUgMTYuNTYyLTcwIDI0cy01MS44MzMgMTUuMTQ2LTYwIDIyYy02LjQxNyA1LjM5Ni0xMCAxMC40MTYtMTAgMTggMCA4LjMxMiAzLjE0NiAxNS4wNDEgMTAgMjAgMTAuNjQ2IDcuNzI5IDI1LjE4NyAxMiA0NCAxMiAxOC4yMjkgMCAzMi44ODUtMi43ODEgNDItMTBzMTUuMjI5LTE5LjUyMSAxOC0zNmw2NCAyYy0xLjAyMSAyOS40NTgtMTEuNjU3IDU0LjM1NC0zMiA3MnMtNDkuNzUgMjYtOTAgMjZ6TTIzMiAzMjR2LTU0aDk2di0yNjZoNjR2MjY2aDk0djU0aC0yNTR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OGQ7IiBnbHlwaC1uYW1lPSJpdC10YXBlbGliLXN1bnRzIiBkPSJNNjAgOTYwYy0zMy40OTUgMC02MC0yNi41MDUtNjAtNjB2LTQ4NGMwLTMzLjQ5NSAyNi41MDUtNjAgNjAtNjBoOTA0YzMzLjQ5NSAwIDYwIDI2LjUwNSA2MCA2MHY0ODRjMCAzMy40OTUtMjYuNTA1IDYwLTYwIDYwek0yMjIgNzkwaDU4MGMzMy40OTUgMCA2MC0yNi41MDUgNjAtNjB2LTExNGMwLTMzLjQ5NS0yNi41MDUtNjItNjAtNjJoLTU4MGMtMzMuNDk1IDAtNjAgMjguNTA1LTYwIDYydjExNGMwIDMzLjQ5NSAyNi41MDUgNjAgNjAgNjB6TTc0MCA3NzZjLTU0LjUwMyAwLTk4LTQzLjQ5Ny05OC05OHM0My40OTctOTggOTgtOThjNTQuNTAzIDAgOTggNDMuNDk3IDk4IDk4cy00My40OTcgOTgtOTggOTh6TTI4NCA3NjZjLTU0LjUwMyAwLTk4LTQzLjQ5Ny05OC05OHM0My40OTctMTAwIDk4LTEwMGM1NC41MDMgMCA5OCA0NS40OTcgOTggMTAwcy00My40OTcgOTgtOTggOTh6TTE5NCAzMjEuMjgyYy0yNC42NDYgMC00Ni41NzMtNC41NjMtNjQtMTJzLTMwLjc0LTE3Ljc4Mi00MC0zMmMtOS4yNi0xNC4yMTktMTQtMjkuNjY3LTE0LTQ2IDAtMjUuMzc1IDEwLjMxMi00Ni4zNTQgMzAtNjQgMTQtMTIuNTQyIDM3LjI5Mi0yMy4zOTYgNzItMzIgMjYuOTc5LTYuNzA4IDQ0LjQxNi0xMS4zNzUgNTItMTQgMTEuMDgzLTMuOTM3IDE5LjU1Mi04LjY3NyAyNC0xNHM2LTEyLjQxNyA2LTIwYzAtMTEuODEzLTUuNDI3LTIxLjE3Ny0xNi0zMHMtMjUuMTQ2LTE0LTQ2LTE0Yy0xOS42ODggMC0zNi40MDYgNi4wODMtNDggMTZzLTE4LjIwOCAyNC44NTQtMjIgNDZsLTY0LTZjNC4yMjktMzUuODc1IDE4LjI3MS02My4yNiA0MC04MnM1My40NTgtMjggOTQtMjhjMjcuODU0IDAgNDkuMzMzIDQuMTk4IDY4IDEyczMzLjc5MSAxOS45NTggNDQgMzZjMTAuMjA4IDE2LjA0MiAxNiAzMy42MjUgMTYgNTIgMCAyMC4yNzEtNS40NjkgMzYuMjE5LTE0IDUwcy0xOC45MDYgMjQuMDUyLTM0IDMyYy0xNS4wOTQgNy45NDgtMzguNSAxNi41NjItNzAgMjRzLTUxLjgzMyAxNS4xNDYtNjAgMjJjLTYuNDE3IDUuMzk2LTEwIDEwLjQxNi0xMCAxOCAwIDguMzEyIDMuMTQ2IDE1LjA0MSAxMCAyMCAxMC42NDYgNy43MjkgMjUuMTg3IDEyIDQ0IDEyIDE4LjIyOSAwIDMyLjg4NS0yLjc4MSA0Mi0xMHMxNS4yMjktMTkuNTIxIDE4LTM2bDY0IDJjLTEuMDIxIDI5LjQ1OC0xMS42NTcgNTQuMzU0LTMyIDcycy00OS43NSAyNi05MCAyNnpNMzgwIDMxNS4yODJ2LTE3MGMwLTM1Ljg3NSAxLjc3MS02My42MjUgNi04MiAyLjkxNy0xMi4zOTYgOC44MTItMjQuNjk4IDE4LTM2czIyLjE3Ny0yMC45MjcgMzgtMjhjMTUuODIzLTcuMDczIDM5LjM3NS0xMCA3MC0xMCAyNS4zNzUgMCA0Ni4yNSAzLjUxIDYyIDEwczI4LjU5MyAxNS4wNjIgMzggMjZjOS40MDYgMTAuOTM3IDE0LjUgMjQuMTA0IDE4IDQwczYgNDMuNSA2IDgydjE2OGgtNjZ2LTE3OGMwLTI1LjM3NS0wLjEwNC00My4wNjMtMi01NHMtNi42NjctMjAuNDktMTYtMjhjLTkuMzM0LTcuNTExLTIzLjYyNS0xMC00Mi0xMC0xOC4wODMgMC0zMy41NzMgNC4wNTItNDQgMTJzLTE1LjIyOSAxOC44NzUtMTggMzJjLTEuNjA0IDguMTY3LTQgMjQuNDM3LTQgNTJ2MTc0ek03MDQgMzE1LjI4MnYtMzIwaDYwdjIwOGwxMzAtMjA4aDY2djMyMGgtNjB2LTIxNGwtMTMyIDIxNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk4ZTsiIGdseXBoLW5hbWU9Iml0LVZpcnR1YWxuZXR3b3JrIiBkPSJNNTExLjk3NSA5NTYuNzU0bDIxMS4xNTctMjExLjE4Ny0yMTEuMjMyLTIxMS4yMDItMjExLjE1NyAyMTEuMTg3IDIxMS4yMzIgMjExLjIwMnpNLTAuMDIzIDQ1Mi4wNTZsMjExLjIwMiAyMTEuMjAyIDIxMS4yMDItMjExLjIwMi0yMTEuMjAyLTIxMS4yMDItMjExLjIwMiAyMTEuMjAyek02MDEuNTE0IDQ1Mi4xNjJsMjExLjIzMiAyMTEuMTcyIDIxMS4yMTgtMjExLjI3Ny0yMTEuMjMyLTIxMS4xNzItMjExLjIxOCAyMTEuMjc3ek01MTEuOTU0LTYzLjk5OGwtMjExLjIwMiAyMTEuMjAyIDIxMS4xNTcgMjExLjE1NyAyMTEuMjAyLTIxMS4yMDItMjExLjE1Ny0yMTEuMTU3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOThmOyIgZ2x5cGgtbmFtZT0iaXQtYXBwLW5ldG51bWVuIiBkPSJNMTMyIDk2NGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC45MTIgNTcuMDg4LTEyOCAxMjgtMTI4aDQxOGw0NzggNDgwdjQxNmMwIDcwLjkxMi01Ny4wODggMTI4LTEyOCAxMjhoLTc2OHpNMTE0IDg4MmgxMTJsMjM0LTM4MHYzODBoMTA2di01NzBoLTExNmwtMjMwIDM3MnYtMzcyaC0xMDZ2NTcwek0xMDI4IDMyMGwtMzgwLTM4MGgyNTJjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djI1MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk5MDsiIGdseXBoLW5hbWU9Iml0LXNkbi12bmV0IiBkPSJNNDk4IDk2MGMtODIuNTMyLTIuMTQ0LTE2NS40NzMtMjMuODE3LTI0Mi02OC0yNDQuODg2LTE0MS4zODUtMzI5LjM4Ni00NTUuMTEzLTE4OC03MDAgMTEwLjQ1Ny0xOTEuMzE4IDMyNi4zMjgtMjgzLjg1OCA1MzItMjQ4LTY3LjQ0NyAxNS40NzEtMTI2LjA4OCA0OS4zOTItMTcyIDk4LTE5LjY0OCA0LjA0My0zOS4zMjIgNy4zMDgtNTggMTRsMzIgMThjLTIwLjc3MyAyNy45NTktMzguNDAxIDU4LjQzNi01MCA5MmwtOTAtNTJjLTMwLjMxNiAyMi42OTktNTYuMjc5IDUyLjczNC04MCA4NGwxMTAgNjRjMTYuMDQ3LTIzLjI4IDM0LjIyNS00My41NTMgNTItNjQtNi4zMzkgMjYuMTM5LTEyIDUxLjkxMi0xMiA4MCAwIDUxLjI2MSAxMS45MzEgMTAwLjI3NSAzMiAxNDRsLTQyLTI0Yy0xOC4yMDMgMzMuNzg3LTM0LjY2OCA2Ny45OC00OCAxMDJsMTEyIDY0IDM0LTU4YzIzLjQ5NCAyNi42MDkgNDkuMzc5IDQ5LjY2NCA4MCA2OGwtMjQgNDIgMTA0IDYwYzE0Ljg5MS0xOC40NzQgMjguMjgzLTM3LjY2NiA0Mi01OCAxOC4wOTcgMi45MzQgMzUuMDc0IDYgNTQgNiA2MC40ODEgMCAxMTguNTg4LTE2LjY0MSAxNjgtNDRsNTAgMzBjMTEuOTMyLTI4LjM2NyAyMC4wODAtNTguNjY4IDI2LTg4IDAuNjczLTAuNjczIDEuMzMyLTEuMzIyIDItMiA0NS43MzEtNDYuNDkgNzguNDIzLTEwNS42NSA5Mi0xNzIgMjMuNjYgMTE3LjgwNiA2LjgwMiAyNDMuNzYtNTggMzU2LTk3LjIwMyAxNjguMzYtMjc2LjQyOSAyNjAuNzE2LTQ1OCAyNTZ6TTUyMiA4NjJjNDUuNDMzLTEuMTY0IDkxLjUxLTguNDU1IDEzNC0yNGwtNjQtMzZjLTIyLjgxNCAyMi4xMzEtNDYuMDAzIDQxLjcwMS03MCA2MHpNMzk0IDg0NmMzOS41OTMtMjUuNjQ5IDc3LjIxNi01Ni4yNzUgMTE0LTkybC04NC01MC03MiAxMjZjMTMuNzQ0IDUuNzkyIDI3Ljk0NCAxMS44MDEgNDIgMTZ6TTc2MCA3ODJjMzEuMTY5LTIzLjAxOSA1Ny43MTQtNDkuOTg5IDgyLTgybC0xMTYtNjhjLTIwLjQxNiAzMi43Ni00MC44NzkgNjMuMzczLTY0IDkybDg4IDUyYzMuMjAzIDEuODQ5IDcuNjA1IDMuNDM1IDEwIDZ6TTI2MiA3NzhsNzItMTI2LTkyLTUyYy0xMi43MTEgNDkuMzIxLTE3LjI1NCA5Ny4xOC0yMCAxNDQgMTIuMzkyIDEyLjE4IDI1Ljg4NiAyMy4yOTQgNDAgMzR6TTE0MiA2MzZjMy45OTUtMjcuOTA0IDEwLjYzMy01NS4zNjcgMTgtODRsLTU4LTM0YzcuMTI1IDQwLjc5MSAyMS4xNzggODAuOTU4IDQwIDExOHpNNjc0IDU2NGMtMTU4LjU3NCAwLTI4Ni0xMjkuNDI2LTI4Ni0yODhzMTI3LjQyNi0yODYgMjg2LTI4NmMxNTguNTc0IDAgMjg4IDEyNy40MjYgMjg4IDI4NnMtMTI5LjQyNiAyODgtMjg4IDI4OHpNMTkyIDQ1NGMxMy4zOTgtMzQuMzE0IDI3LjY3OS02OS45OTQgNDYtMTA0bC0xMDgtNjJjLTE1LjIxNyAzNi4xNzYtMjcuNSA3Mi4zOTYtMzIgMTEwbDk0IDU2ek02NTQgNDQ4YzE5LjYxNCAwIDM2LTE2LjM4NiAzNi0zNiAwLTEuMDM5IDAuMDgzLTAuOTg4IDAtMmwxMjYtNjZjOC42NjMgNy4zNjYgMTkuNDQxIDEyIDMyIDEyIDI3LjQ2IDAgNTAtMjEuMzI1IDUwLTQ4cy0yMi41NC00OC01MC00OGMtMTIuNTU5IDAtMjMuMzM3IDQuMzA1LTMyIDEybC03Ni01MGMwLTEuMDUxIDAuMTQ3LTAuOTg5IDAtMmw5Mi02MmM0LjkwNSAzLjg4OCA4Ljk5IDYgMTYgNiAxNi41NjggMCAzMi0xMS45MDUgMzItMjhzLTE1LjQzMi0zMC0zMi0zMGMtMTYuNTY4IDAtMjggMTMuOTA1LTI4IDMwbC05NCA2NmMtMi45MzgtMS4xNjMtNi42NjUtMi0xMC0yLTEzLjMzOCAwLTI2IDkuMDQzLTI2IDIyczEyLjY2MiAyNCAyNiAyNGM0Ljc5OCAwIDguMTU2LTEuNjk3IDEyLTRsNzYgNDhjLTIuNDc5IDUuODc1LTQgMTEuMzMxLTQgMTggMCA1LjA5NSAwLjUxOCAxMS40MTQgMiAxNmwtMTIyIDY0Yy02LjI1NC02LjI1NC0xNi4xOTMtMTAtMjYtMTAtNC4zODUgMC04LjE3NiAyLjYwMS0xMiA0bC05MC0xMTRjOC42NDItOS45MjggMTItMjMuNzIzIDEyLTM4IDAtMzEuMzgzLTI0LjYxNy01Ni01Ni01NnMtNTYgMjQuNjE3LTU2IDU2YzAgMzEuMzgzIDI0LjYxNyA1NiA1NiA1NiA4LjU1MyAwIDE2Ljc1LTIuNjQxIDI0LTZsOTQgMTE2Yy0zLjE4NiA1LjI3OS02IDkuMjIzLTYgMTYgMCAxOS42MTQgMTQuMzg2IDM2IDM0IDM2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTkxOyIgZ2x5cGgtbmFtZT0iaXQtc3RvcmFnZS1zYW5zd2l0Y2gtaHAiIGQ9Ik0xNTQgOTYwYy04NS4wNDAgMC0xNTQtNjguOTYtMTU0LTE1NHYtNzE2YzAtODUuMDQwIDY4Ljk2LTE1NCAxNTQtMTU0aDcxNmM4NS4wNDAgMCAxNTQgNjguOTYgMTU0IDE1NHY3MTZjMCA4NS4wNDAtNjguOTYgMTU0LTE1NCAxNTRoLTcxNnpNMTc4IDgzOGg2NzJjMjYuNzQ3IDAgNDgtMjguNTQ0IDQ4LTY0cy0yMS4yNTMtNjQtNDgtNjRoLTY3MmMtMjYuNzQ3IDAtNDggMjguNTQ0LTQ4IDY0czIxLjI1MyA2NCA0OCA2NHpNMTc2IDYxNmg2NzJjMjYuNzQ3IDAgNDgtMjguNTQ0IDQ4LTY0cy0yMS4yNTMtNjQtNDgtNjRoLTY3MmMtMjYuNzQ3IDAtNDggMjguNTQ0LTQ4IDY0czIxLjI1MyA2NCA0OCA2NHpNMTgwIDM3Mmg2NHYtMTI2aDEyOHYxMjZoNjR2LTMyMGgtNjR2MTQwaC0xMjh2LTE0MGgtNjR2MzIwek01OTggMzcyaDEwNGMzOS4zNzUgMCA2Ni4wNDEtMC43OTIgNzgtNCAxOC4zNzUtNC44MTMgMzMuNjA0LTE1Ljg4NiA0Ni0zMnMxOC0zNi40NzkgMTgtNjJjMC0xOS42ODgtMi44NTQtMzYuNTg0LTEwLTUwcy0xNi45OS0yNC4zNDQtMjgtMzJjLTExLjAxMS03LjY1Ni0yMi42MjUtMTEuNTIxLTM0LTE0LTE1LjQ1OC0zLjA2Mi0zNi42ODgtNi02Ni02aC00NHYtMTIwaC02NHYzMjB6TTY2MiAzMTh2LTkwaDM2YzI1LjUyMSAwIDQzLjM5NiAwLjY0NiA1MiA0czE1LjExNCA4Ljg1NCAyMCAxNmM0Ljg4NSA3LjE0NiA4IDE0LjUyMSA4IDI0IDAgMTEuNjY2LTUuMTQ2IDIyLjQxNi0xMiAzMHMtMTUuNSAxMi4xMDQtMjYgMTRjLTcuNzI5IDEuNDU4LTIyLjY2NyAxLjk5OS00NiAyaC0zMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk5MjsiIGdseXBoLW5hbWU9Iml0LXN3aXRjaCIgZD0iTTUyNiA5NjBjLTQuMTcgMC4xMjItOS4wNzcgMC4xOTEtMTQgMC4xOTEtMjgyLjc3IDAtNTEyLTIyOS4yMy01MTItNTEyIDAtMC4wNjcgMC0wLjEzNSAwLTAuMjAyIDAtMjgyLjc1OSAyMjkuMjMtNTExLjk5IDUxMi01MTEuOTlzNTEyIDIyOS4yMyA1MTIgNTEyYzAgMC4wNTcgMCAwLjEyNCAwIDAuMTkxIDAgMjc3Ljg0Ny0yMjEuMzE4IDUwNC4wMDItNDk3LjI4MSA1MTEuNzkyek0yOTQgODQ4di03OGg1NjJ2LTk2aC01NjJ2LTc4bC0xMjYgMTI2IDEyNiAxMjZ6TTcyOCA1NzRsMTI4LTEyOC0xMjgtMTI2djc4aC01NjB2OTZoNTYwdjgwek0yOTQgMzAydi04MGg1NjJ2LTk2aC01NjJ2LTc4bC0xMjYgMTI2IDEyNiAxMjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OTM7IiBnbHlwaC1uYW1lPSJORlYiIGQ9Ik0xNzYuNTY3IDM4Ni40MTRjMTEuNzAzIDE0LjI2MyAyNy43MjEgNjcuNTg0IDI3LjcyMSA2Ny41ODR2OTIuNzQ1bC0xMDMuNDI0IDkuODc0LTEwMC44NjQtMTAuODk4di05Mi43NDVjMCAwIDE1Ljk0NS01My4zMjEgMjcuNzk0LTY3LjgwMyAzOS4wNTgtNDguNDIxIDUzLjk3OS02My40MTUgNzMuMDcwLTgzLjAxN2gxLjQ2M3YxLjA5N2gxLjMxN2MxOC43OTggMTkuNTI5IDMzLjc5MiAzNC40NSA3Mi45MjMgODMuMTYzek0xMDMuMTMxIDM0Mi44MjFoLTEuMDI0di0wLjg3OGgtMS4wMjRjLTE0Ljc3NSAxNS4zNi0yNi40NzggMTYuMzExLTU3LjE5OCA1NC4xOTktOS4xNDMgMTEuNTU3LTIxLjcyMyA1My4yNDgtMjEuNzIzIDUzLjI0OHY3Mi40ODVsNzguOTIxIDguNjMxIDgwLjg5Ni03LjgyNnYtNzIuNDg1YzAgMC0xMi40MzQtNDEuNjE4LTIxLjU3Ny01Mi44ODItMzAuNzItMzguMTgxLTQyLjQyMy0zOS4yMDUtNTcuMjcxLTU0LjQ5MXpNMTY2LjQgNTA1Ljg1NmwtNjUuMDk3IDYuMjE3LTYzLjQxNS02Ljg3NXYtNTguMzY4YzAgMCAxMC4wMjEtMzMuNDk5IDE3LjQ4MS00Mi42NDIgMjQuNTc2LTMwLjU3NCAzNC4wODUtMzEuNDUxIDQ1LjkzNC00My41OTNoMC44Nzh2MC43MzFoMC44NzhjMTEuNzc2IDEyLjA2OSAyMS4yODUgMTIuOTQ2IDQ1LjkzNCA0My41MiA3LjQ2MSA4Ljk5NyAxNy40MDggNDIuNjQyIDE3LjQwOCA0Mi42NDJ2NTguMzY4ek05MDEuMTIgNDYxLjYwNWM2Ny41ODQgMCAxMjIuNDQxIDIyLjQ1NSAxMjIuNDQxIDUwLjM5NSAwIDAuMjkzIDAgMC41MTIgMCAwLjgwNSAwIDAuMTQ2IDAgMC41ODUgMCAwLjgwNS0xLjY4MiAyNy4yMDktNTYuMDI3IDQ4LjkzMy0xMjIuNDQxIDQ4LjkzMy02Ny40MzgtMC4xNDYtMTIyLjI5NS0yMi43NDctMTIyLjI5NS01MC41NDIgMC0yNy44NjcgNTQuODU3LTUwLjM5NSAxMjIuMjk1LTUwLjM5NXpNOTAxLjYzMiA0NTAuMTk0Yy02Ny41MTEgMC0xMjIuMzY4IDIyLjYwMS0xMjIuMzY4IDUwLjM5NSAwIDEuNjgyLTAuNzMxIDYuOTQ5LTAuODc4IDEwLjE2N3YtMzEuNTI1YzAuNDM5LTQuNzU0IDAuODc4LTkuODc0IDAuODc4LTEyLjE0MiAwLTI3Ljc5NCA1NC44NTctNTAuNDY5IDEyMi4zNjgtNTAuNDY5IDY3LjU4NCAwIDEyMi4zNjggMjIuNjc0IDEyMi4zNjggNTAuNDY5djMzLjU3M2MwLTI3Ljg2Ny01NC43ODQtNTAuNDY5LTEyMi4zNjgtNTAuNDY5ek05MDEuNjMyIDQwMS4yNjJjLTY3LjUxMSAwLTEyMi4zNjggMjIuNzQ3LTEyMi4zNjggNTAuMzk1IDAgMS42MDktMC43MzEgNi41ODMtMC44NzggOS42NTV2LTI5LjQwM2MwLjQzOS00LjgyNyAwLjg3OC05Ljg3NCAwLjg3OC0xMi4wNjkgMC0yOC4wODcgNTQuODU3LTUwLjU0MiAxMjIuMzY4LTUwLjU0MiA2Ny41ODQgMC4xNDYgMTIyLjM2OCAyMi41MjggMTIyLjM2OCA1MC42ODh2MzEuODE3YzAtMjcuNzk0LTU0Ljc4NC01MC41NDItMTIyLjM2OC01MC41NDJ6TTkwMS42MzIgMzU0LjE1OGMtNjcuNTExIDAtMTIyLjM2OCAyMi40NTUtMTIyLjM2OCA1MC4zOTUgMCAxLjUzNi0wLjczMSA2LjU4My0wLjg3OCA5LjcyOHYtMzEuMDEzYzAuMTQ2LTEuMDI0IDAuNDM5LTIuMjY3IDAuNDM5LTIuOTk5IDAtMjguMDE0IDU0Ljg1Ny01MC4zOTUgMTIyLjI5NS01MC4zOTUgNjcuNTg0IDAgMTIyLjQ0MSAyMi42MDEgMTIyLjQ0MSA1MC4zOTUgMCAwLjczMSAwLjIxOSAxLjk3NSAwLjQzOSAyLjk5OXYyMS4yODVjMC0yNy44NjctNTQuNzg0LTUwLjM5NS0xMjIuMzY4LTUwLjM5NXpNNjIzLjgzNSA5MjIuNDc4YzAgMjAuNjk5LTE3LjcwMSAzNy4zNzYtMzkuNTcgMzcuMzc2aC05NC40MjdjLTIxLjg3IDAuMDczLTM5LjY0My0xNi42NzctMzkuNjQzLTM3LjM3NnYtNTQuNzExaDE3My41NjhsMC4wNzMgNTQuNzExek00NTAuMjY3IDcxMi42MzFjMC0yMC42MjYgMTcuNzAxLTM3LjM3NiAzOS41Ny0zNy4zNzZoOTQuNTAxYzIxLjk0MyAwIDM5LjU3IDE2Ljc1IDM5LjU3IDM3LjM3NnYxMzYuNDExaC0xNzMuNjQxdi0xMzYuNDExek01MzcuMDE1IDc2NS42NTljOC44NSAwIDE2LjAxOC02LjcyOSAxNi4wMTgtMTUuMDY3cy03LjE2OC0xNC45OTQtMTYuMDE4LTE0Ljk5NGMtOC43MDQgMC0xNS44NzIgNi44MDItMTUuODcyIDE1LjA2N3M3LjAyMiAxNC45OTQgMTUuODcyIDE0Ljk5NHpNNjY5Ljc2OSAxMDEuNzQyYzAtMTAuMDE4LTU2LjYyLTE4LjEzOS0xMjYuNDY0LTE4LjEzOXMtMTI2LjQ2NCA4LjEyMS0xMjYuNDY0IDE4LjEzOWMwIDEwLjAxOCA1Ni42MiAxOC4xMzkgMTI2LjQ2NCAxOC4xMzlzMTI2LjQ2NC04LjEyMSAxMjYuNDY0LTE4LjEzOXpNNDE4LjY3IDg1LjUwNHYtMTIxLjA1MWMwIDAgMjcuNzIxLTI4LjMwNiAxMjguNTEyLTI4LjQ1MyAxMDYuNDIzIDAgMTIyLjY2MSAyOC40NTMgMTIyLjY2MSAyOC40NTN2MTIxLjA1MWMwIDAtNjguNjA4LTExLjg0OS0xMjQuMzQzLTExLjg0OS02Ni40ODctMC4wNzMtMTI2LjgzIDExLjg0OS0xMjYuODMgMTEuODQ5ek01MDEuOTc5LTUuNTU5djBoLTE2LjAxOHYtMTYuMjM4bC0yNS42NzMgMjQuNDMgMjUuNjczIDIzLjc3MXYtMTYuMTY1aDE2LjAxOHYtMTUuNzk5ek01NDAuNzQ1LTQ5LjczN2wtMjUuNzQ2IDI0LjI4M2gxNi45Njl2MTUuMTQxaDE2Ljg5NnYtMTUuMTQxaDE2Ljk2OWwtMjUuMDg4LTI0LjI4M3pNNTc4LjkyNiAxMC4zMTNoMTYuMDE4djE2LjE2NWwyNS42NzMtMjMuODQ1LTI1LjY3My0yNC4yODN2MTYuMTY1aC0xNi4wMTh2MTUuNzk5ek01NDguODY0IDI5Ljg0MnYtMTUuMDY3aC0xNi45Njl2MTUuMDY3aC0xNi45NjlsMjUuNjczIDI0LjM1NyAyNS4yMzQtMjQuMzU3aC0xNi45Njl6TTM4Mi4wMjUgODA1LjMwM2wtMjMuNDA2IDUzLjY4N2MtMTguMTM5LTcuOTczLTM1LjYyMS0xNi44OTYtNTIuMjI0LTI2Ljk5bDMwLjIwOC01MC4xMDNjMTQuNDgyIDguNzc3IDI5LjYyMyAxNi42MDMgNDUuNDIyIDIzLjQwNnpNMjgxLjgxOSA3NDIuMzI3bC0zOC4xODEgNDQuMzI1Yy0xOS41MjktMTYuODIzLTM3Ljc0Mi0zNS40MDEtNTQuMTk5LTU1LjI5Nmw0NS4wNTYtMzcuMzAzYzE0LjQwOSAxNy40MDggMzAuMzU0IDMzLjY0NiA0Ny4zMjMgNDguMjc0ek0xOTYuMDk2IDYzOC4xNzFsLTUwLjc2MSAyOS4xMTFjLTkuNjU1LTE2Ljk2OS0xOC4yODYtMzQuNTk3LTI1Ljc0Ni01Mi42NjNsNTQuMDUzLTIyLjMwOWM2LjUxIDE1LjY1MyAxMy45NyAzMS4wODYgMjIuNDU1IDQ1Ljg2MXpNOTA5Ljg5NyA1OTIuMzExbDU0LjEyNiAyMi4zMDljLTcuNjA3IDE4LjM1OS0xNi4wOTEgMzUuOTg2LTI1Ljc0NiA1Mi43MzZsLTUwLjY4OC0yOS4wMzhjOC40MTEtMTQuNzAyIDE1Ljc5OS0zMC4wNjIgMjIuMzA5LTQ2LjAwN3pNODkzLjI5NCA3MzIuNjcyYy0xNi44MjMgMjAuMzM0LTM1LjU0NyAzOS4zNTEtNTUuODA4IDU2LjQ2NmwtMzcuODg4LTQ0LjU0NGMxNy40ODEtMTQuOTk0IDMzLjg2NS0zMS41MjUgNDguNDk0LTQ5LjIyNWw0NS4yMDIgMzcuMzAzek02OTcuMTI1IDgwNy42NDNjMTUuNzk5LTYuNjU2IDMxLjAxMy0xNC4yNjMgNDUuNjQxLTIyLjg5NGwyOS41NSA1MC40NjljLTE2Ljc1IDkuODAxLTM0LjMwNCAxOC41NzgtNTIuMzcgMjYuMjU4bC0yMi44MjEtNTMuODMzek02OTcuMDUxIDc0Ljg5OGwyMi45NjctNTMuODMzYzE4LjEzOSA3Ljc1MyAzNS41NDcgMTYuNTMgNTIuMjk3IDI2LjExMmwtMjkuMjU3IDUwLjY4OGMtMTQuNzAyLTguNDExLTI5Ljk4OS0xNi4xNjUtNDYuMDA3LTIyLjk2N3pNNzk4LjM1NCAxMzYuODVsMzcuNTk1LTQ0LjgzN2MxOS43NDkgMTYuNjAzIDM4LjE4MSAzNC45NjIgNTQuOTMgNTQuNzExbC00NC41NDQgMzcuODg4Yy0xNC43MDItMTcuMzM1LTMwLjg2Ni0zMy40MjYtNDcuOTgyLTQ3Ljc2MnpNODg1LjMyMSAyMzkuOTgybDUwLjU0Mi0yOS40MDNjOS44MDEgMTYuNzUgMTguNTA1IDM0LjIzMSAyNi4xODUgNTIuMjI0bC01My44MzMgMjIuOTY3Yy02LjY1Ni0xNS43MjYtMTQuMTktMzEuMDEzLTIyLjg5NC00NS43ODd6TTE3NS41NDMgMjg1Ljc2OWwtNTMuNzYtMjIuOTY3YzcuNzUzLTE4LjEzOSAxNi41My0zNS41NDcgMjYuMTEyLTUyLjIyNGw1MC42MTUgMjkuMjU3Yy04LjQ4NSAxNC42MjktMTYuMTY1IDMwLjA2Mi0yMi45NjcgNDUuOTM0ek0xOTEuNTYxIDE0OC40MDdjMTYuMDE4LTE5LjM4MyAzMy45MzgtMzcuNTk1IDUzLjMyMS01NC4wNTNsMzguMDM0IDQ0LjM5OGMtMTYuODIzIDE0LjQwOS0zMi40MDIgMzAuMjA4LTQ2LjI5OSA0Ni45NThsLTQ1LjA1Ni0zNy4zMDN6TTMwNi41NDIgNDkuODFjMTYuNzUtMTAuMDk0IDM0LjIzMS0xOS4wOTAgNTIuMDA1LTI2Ljg0M2wyMy40MDYgNTMuNTQxYy0xNS41MDYgNi44MDItMzAuNzIgMTQuNjI5LTQ1LjQyMiAyMy40MDZsLTI5Ljk4OS01MC4xMDN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OTQ7IiBnbHlwaC1uYW1lPSJWTkZNIiBkPSJNNzg1LjQ4MSA3OS4yMTRoLTU1NS4wODFsOTIuMzA2IDI5NC43NjZoMjAzLjcwM3Y3My4xNDNoLTI1Ny4zOWwtNzguOTIxLTI1Mi4wNTAtMTAyLjYxOSA0MjAuOTM3djYzLjU2MWgyMjUuMTM0bDgxLjk5My04NS43OTdoMjQ3LjU4OXY3My4xNDNoLTIxNi4yODNsLTgxLjk5MyA4NS43OTdoLTMyOS41ODJ2LTE0MS4wOTNsMTQ2LjU3OC02MDUuNTVoNjU1Ljg3MmwxMDAuNzE4IDEwNS4zOTktNTIuODgyIDUwLjYxNXpNMTAyMC4wNTAgMjYzLjYwN2MtMTMuMjM5IDM5LjkzNi01Ni40NjYgNjEuOTUyLTk2Ljc2OCA0OC42NC0yOC45NjUtOS42NTUtNDcuOTA5LTM0LjgxNi01MS42MzktNjMuMTk1bC0yNjQuNTU4IDAuMjkzYy0wLjczMSA0LjE2OS0xLjYwOSA4LjI2NS0yLjg1MyAxMi4yODgtNC4wOTYgMTIuMTQyLTEwLjk3MSAyMi4yMzUtMTkuMzgzIDMwLjUwMWwxNjAuODQxIDI2NS44NzRjMTYuMDE4LTUuOTk4IDMzLjkzOC03LjE2OCA1MS4yNzMtMS4zOSA0MC4xNTUgMTMuMzEyIDYxLjg3OSA1Ni42ODYgNDguNDk0IDk2LjkxNC0xMy4zMTIgNDAuMTU1LTU2LjUzOSA2MS45NTItOTYuNzY4IDQ4LjY0LTQwLjA4Mi0xMy4zMTItNjEuODA2LTU2LjY4Ni00OC41NjctOTYuODQxIDMuNzMtMTEuMTE4IDkuODAxLTIwLjg0NiAxNy41NTQtMjguNzQ1bC0xNjEuNTczLTI2Ni42MDZjLTE1LjI4NyA1LjI2Ni0zMi4wMzcgNS45OTgtNDguNjQgMC41ODUtNDAuMTU1LTEzLjMxMi02MS45NTItNTYuNjEzLTQ4LjY0LTk2Ljc2OCAxMy4zMTItNDAuMzAyIDU2LjYxMy02Mi4wMjUgOTYuODQxLTQ4LjY0IDI0LjU3NiA4LjExOSA0Mi4xMyAyNy41MDIgNDkuMTUyIDUwLjQ2OWwyNjkuODI0LTAuMjE5YzEzLjMxMi00MC4xNTUgNTYuNjg2LTYxLjg3OSA5Ni42OTUtNDguNTY3IDQwLjMwMiAxMy4zODUgNjIuMDI1IDU2LjY4NiA0OC43MTMgOTYuNzY4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTk1OyIgZ2x5cGgtbmFtZT0iVk5GIiBkPSJNNzA2LjI2NyAzMTQuMzY4Yy0yOS45ODkgMC01NS41ODktMTcuNjI3LTY3LjczLTQyLjkzNWwtMjQ2LjkzIDgxLjk5M2MwLjgwNSA0LjAyMyAxLjMxNyA4LjExOSAxLjMxNyAxMi41MDcgMCAxMi4zNjEtMy4zNjUgMjQuMDY0LTguNjMxIDM0LjUyM2wyMzIuNDQ4IDE5OC4yOWMxMy4xNjYtMTAuNTMzIDI5LjQwMy0xNy4wNDIgNDcuMjUtMTcuMDQyIDQxLjU0NSAwIDc1LjQxIDMzLjcxOSA3NS40MSA3NS4zMzcgMCA0MS41NDUtMzMuODY1IDc1LjI2NC03NS40MSA3NS4yNjQtNDEuNjE4IDAtNzUuMzM3LTMzLjcxOS03NS4zMzctNzUuMzM3IDAtMTEuNjMgMi43NzktMjIuNDU1IDcuNTM0LTMyLjI1NmwtMjMzLjI1My0xOTguOTQ5Yy0xMi42NTQgOS43MjgtMjguMjMzIDE1LjU3OS00NS4yNzUgMTUuNTc5LTQxLjY5MSAwLTc1LjQxLTMzLjY0Ni03NS40MS03NS4yNjQgMC00MS42OTEgMzMuNzE5LTc1LjI2NCA3NS40MS03NS4yNjQgMjUuNDU0IDAgNDcuODM1IDEyLjQzNCA2MS41MTMgMzEuODlsMjUxLjgzMS04My43NDljMC00MS42MTggMzMuNzE5LTc1LjI2NCA3NS4yNjQtNzUuMjY0IDQxLjY5MSAwIDc1LjU1NyAzMy42NDYgNzUuNTU3IDc1LjI2NC0wLjA3MyA0MS42MTgtMzMuNzkyIDc1LjQxLTc1LjU1NyA3NS40MXpNNTEyIDk2MGMtMjgyLjI1OCAwLTUxMi0yMjkuNzQyLTUxMi01MTIgMC0yODIuMzMxIDIyOS43NDItNTEyIDUxMi01MTIgMjgyLjMzMSAwIDUxMiAyMjkuNjY5IDUxMiA1MTIgMCAyODIuMjU4LTIyOS42NjkgNTEyLTUxMiA1MTJ6TTUxMiA5LjE0M2MtMjQyLjAzMCAwLTQzOC44NTcgMTk2LjgyNy00MzguODU3IDQzOC44NTdzMTk2LjgyNyA0MzguODU3IDQzOC44NTcgNDM4Ljg1NyA0MzguODU3LTE5Ni44MjcgNDM4Ljg1Ny00MzguODU3LTE5Ni44MjctNDM4Ljg1Ny00MzguODU3LTQzOC44NTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OTY7IiBnbHlwaC1uYW1lPSJWTkZDIiBkPSJNNTM2Ljg2OSAzNjAuMzAyYy0yNC4yMSAwLTQ0Ljc2My0xNC4xOS01NC42MzgtMzQuNTk3bC0xOTguNzI5IDY2LjA0OGMwLjU4NSAzLjIxOCAxLjAyNCA2LjU4MyAxLjAyNCAxMC4wOTQgMCA5Ljk0Ny0yLjcwNiAxOS4zODMtNi45NDkgMjcuNzIxbDE4Ny4yNDYgMTU5LjY3MWMxMC41MzMtOC40ODUgMjMuNjI1LTEzLjc1MSAzOC4wMzQtMTMuNzUxIDMzLjQ5OSAwIDYwLjcwOSAyNy4yMDkgNjAuNzA5IDYwLjcwOXMtMjcuMjA5IDYwLjcwOS02MC43MDkgNjAuNzA5LTYwLjcwOS0yNy4yODItNjAuNzA5LTYwLjc4MmMwLTkuMzYyIDIuMTk0LTE4LjA2NiA1Ljk5OC0yNS45NjZsLTE4Ny44MzEtMTYwLjE4M2MtMTAuMTY3IDcuODI2LTIyLjY3NCAxMi41ODEtMzYuNDI1IDEyLjU4MS0zMy40OTkgMC02MC43MDktMjcuMTM2LTYwLjcwOS02MC42MzVzMjcuMjA5LTYwLjYzNSA2MC43MDktNjAuNjM1YzIwLjQ4IDAgMzguNTQ2IDEwLjAyMSA0OS41MTggMjUuNjczbDIwMi43NTItNjcuMzY1YzAtMzMuNTczIDI3LjIwOS02MC42MzUgNjAuNzA5LTYwLjYzNXM2MC43ODIgMjcuMDYzIDYwLjc4MiA2MC42MzVjLTAuMDczIDMzLjQ5OS0yNy4yMDkgNjAuNzA5LTYwLjc4MiA2MC43MDl6TTEwMjQgNTk5LjQwNmwtMTkyLjA3MyA5OS41NDctMTkyLjE0Ni05OS41NDcgMTkyLjE0Ni05OS42MjEgMTkyLjA3MyA5OS42MjF6TTgzMS45MjcgNjYwLjMzNGwxMTcuMzIxLTYwLjkyOC0xMTcuMzIxLTYwLjkyOC0xMTcuNDY3IDYwLjkyOCAxMTcuNDY3IDYwLjkyOHpNODMxLjkyNyA0MDguNzIybC0xMDUuMjUzIDU0LjYzOGgtNzQuNjc5bDE3OS45MzEtOTMuMzMgMTc5LjkzMSA5My4zM2gtNzQuNjc5ek04MzEuOTI3IDI3OC44OTRsLTEwNS4yNTMgNTQuNzg0aC03NC42NzlsMTc5LjkzMS05My40MDMgMTc5LjkzMSA5My40MDNoLTc0LjY3OXpNODIxLjM5NCAxMzcuMTQzYy03OS4zNi03OS4wNjctMTg4Ljc4Mi0xMjgtMzA5LjM5NC0xMjgtMjQyLjAzMCAwLTQzOC44NTcgMTk2LjgyNy00MzguODU3IDQzOC44NTdzMTk2LjgyNyA0MzguODU3IDQzOC44NTcgNDM4Ljg1N2M5Ny43OTIgMCAxODcuOTA0LTMyLjU0OSAyNjAuOTc0LTg2Ljg5NGgxMDkuODYxYy05My4zMyA5OC4zMDQtMjI0LjkxNCAxNjAuMDM3LTM3MC44MzQgMTYwLjAzNy0yODIuMzMxIDAtNTEyLTIyOS42NjktNTEyLTUxMiAwLTI4Mi4yNTggMjI5LjY2OS01MTIgNTEyLTUxMiAxNjUuMzc2IDAgMzEyLjI0NyA3OS4xNDEgNDA1Ljg3IDIwMS4xNDNoLTk2LjQ3NXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk5NzsiIGdseXBoLW5hbWU9IlZJTSIgZD0iTTk5Mi4xMSAzMjUuMjY2bC00OS41OTEgMjAuNzczYzEuMDk3IDEwLjE2NyAzLjA3MiAxOS45NjggMy4wNzIgMzAuMzU0IDAgMTAuNDU5LTEuODI5IDIwLjA0MS0zLjA3MiAzMC4xMzVsNDkuNzM3IDIwLjkxOWMyNi45MTcgMTEuMzM3IDM5LjA1OCA0NC4xNzggMjcuMDYzIDczLjUwOWwtMTQuOTk0IDM2LjU3MWMtMTEuOTIyIDI5LjQwMy00My40NDcgNDMuOTU5LTcwLjM2MyAzMi41NDlsLTQ5LjU5MS0yMC43NzNjLTkuNTgyIDEyLjM2MS0yMC4yNjEgMjMuODQ1LTMyLjExIDM0LjM3N2wyMi44OTQgNDkuMDc5YzEyLjM2MSAyNi42OTctMC4zNjYgNTkuMjQ2LTI4Ljc0NSA3Mi44NWwtMzUuNDAxIDE2Ljc1Yy0yOC4xNiAxMy41MzEtNjEuMTQ3IDIuOTI2LTczLjQzNS0yMy43NzFsLTQuMTY5LTguODVoLTEyMi44OGwtNC4xNjkgOC45MjNjLTEyLjQzNCAyNi42OTctNDUuMzQ5IDM3LjMwMy03My41MDkgMjMuNzcxbC0zNS40MDEtMTYuODIzYy04LjA0Ni0zLjg3Ny0xNC40MDktOS40MzUtMTkuNzQ5LTE1Ljc5OWgtNjkuMjY2bC04MS45OTMgODUuNzk3aC0zMjkuNjU1di0xNDEuMTY2bDE0Ni41NzgtNjA1LjYyM2gzOTQuMjRjMTQuMDQzLTUuMzM5IDI4LjU5OS01LjEyIDQxLjI1MyAwaDE4Ni4xNDljMTQuMTE3LTUuNzA1IDMwLjY0Ny02LjA3MSA0Ni4wMDcgMS4zMTdsMzUuMzI4IDE3LjExNWMyNS4wODggMTEuNzc2IDM2Ljg2NCAzOC41NDYgMzAuOTM5IDYzLjA0OWwyMi44MjEgMjMuODQ1LTQyLjQyMyA0MC41OTRjOS41MDkgOS4wNzAgMTguNTc4IDE4LjQzMiAyNi43NyAyOC43NDVsNDkuMzcxLTIwLjkxOWMyNi45MTctMTEuMTkxIDU4LjUxNCAzLjIxOCA3MC40MzcgMzIuNjIybDE0Ljk5NCAzNi40OThjMTIuMTQyIDI5LjU1LTAuMjE5IDYyLjA5OC0yNy4xMzYgNzMuNTgyek00MDAuMzg0IDM5Ni44NzNjLTAuOTUxLTYuNzI5LTIuMDQ4LTEzLjQ1OC0yLjA0OC0yMC40OCAwLTEwLjQ1OSAxLjk3NS0yMC4xODcgMy4wNzItMzAuNTAxbC00OS42NjQtMjAuNzczYy0yNi45MTctMTEuMzM3LTM5LjEzMS00My44ODYtMjcuMTM2LTczLjQzNWwxNS4xNDEtMzYuNDk4YzExLjg0OS0yOS40MDMgNDMuNDQ3LTQzLjg4NiA3MC4yOS0zMi42MjJsNDkuMzcxIDIwLjYyNmM5LjcyOC0xMi4yODggMjAuNDgtMjMuNjk4IDMyLjAzNy0zNC4yMzFsLTIyLjgyMS00OS4wNzljLTIuNzA2LTUuNzc4LTMuNjU3LTExLjg0OS00LjA5Ni0xNy45MmgtMjUxLjYxMWw5Mi4zMDYgMjk0LjkxMmg5NS4xNTl6TTg0MS4wNzAgMzc2LjI0N2MwLTk0LjU3NC03NS43NzYtMTcxLjU5My0xNjkuMDMzLTE3MS41OTMtOTMuNDc3IDAtMTY5LjE3OSA3Ny4wMTktMTY5LjE3OSAxNzEuNTkzIDAgNy4wOTUgMS4yNDMgMTMuODI0IDIuMDQ4IDIwLjY5OWg0LjA5NnYyMi42NzRjMTkuMDE3IDczLjgwMSA4NC40OCAxMjguMzY2IDE2My4xMDkgMTI4LjM2NiA5My4xODQgMCAxNjguOTYtNzYuNzI3IDE2OC45Ni0xNzEuNzM5ek03MTUuMTE4IDEwMi4wMzRoLTEwLjA5NGMzLjIxOCAwLjUxMiA2LjU4MyAwLjUxMiA5LjcyOCAxLjAyNGwwLjM2Ni0xLjAyNHpNNjM4LjY4MyAxMDIuMDM0aC0xMC4wOTRsMC41MTIgMS4wMjRjMy4xNDUtMC41ODUgNi40MzctMC41ODUgOS41ODItMS4wMjR6TTY5LjkyNSA3MDIuNDY0aDIyNS4yMDdsODEuOTkzLTg1Ljc5N2g5OS4wMzVsMTUuMjg3LTMyLjkxNGMtMTEuNzAzLTEwLjUzMy0yMi4zODItMjIuMDE2LTMyLjExLTM0LjM3N2wtNDkuNDQ1IDIwLjY5OWMtMjYuODQzIDExLjMzNy01OC4zNjgtMy4xNDUtNzAuMjE3LTMyLjU0OWwtMTUuMDY3LTM2LjU3MWMtNC4yNDItMTAuMzEzLTQuNTM1LTIwLjg0Ni0zLjE0NS0zMC45MzloLTY5Ljk5OGwtNzguOTIxLTI1Mi4xOTctMTAyLjYxOSA0MjEuMDEwdjYzLjYzNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk5ODsiIGdseXBoLW5hbWU9IlZEVSIgZD0iTTE1My4xNjEgNzc0Ljg3NWgzMTUuNDY1di03My4xNDNoLTMxNS40NjV2NzMuMTQzek0xNTMuMTYxIDYyOC41OWgzMTUuNDY1di03My4xNDNoLTMxNS40NjV2NzMuMTQzek0zNjAuMDA5IDM4Ny40MzhjMC0yNy4xNDYtMjIuMDA2LTQ5LjE1Mi00OS4xNTItNDkuMTUycy00OS4xNTIgMjIuMDA2LTQ5LjE1MiA0OS4xNTJjMCAyNy4xNDYgMjIuMDA2IDQ5LjE1MiA0OS4xNTIgNDkuMTUyczQ5LjE1Mi0yMi4wMDYgNDkuMTUyLTQ5LjE1MnpNNDI5LjcxNCAxODAuMTUxaC0yMzcuNzE0Yy0xNS43OTkgMC0yOC41OTktMTYuMzg0LTI4LjU5OS0zNi41NzFzMTIuOC0zNi41NzEgMjguNTk5LTM2LjU3MWgyMzcuNzE0YzE1Ljc5OSAwIDI4LjU5OSAxNi4zODQgMjguNTk5IDM2LjU3MXMtMTIuOCAzNi41NzEtMjguNTk5IDM2LjU3MXpNOTUxLjU4OSAxMTguODU3aC0zOC4wMzRjLTQwLjAwOSAwLTcyLjQxMS0zMi40MDItNzIuNDExLTcyLjQ4NXYtMTIuMjg4aC0xMDMuNDI0djM3Ny45MjloMTA0Ljk2YzUuNzA1LTM0LjMwNCAzNC4xNTgtNjAuOTI4IDcwLjA3MS02MC45MjhoMzguMDM0YzQwLjAwOSAwIDcyLjQxMSAzMi40MDIgNzIuNDExIDcyLjQxMXYzOC4wMzRjMCA0MC4wMDktMzIuNDAyIDcyLjQ4NS03Mi40MTEgNzIuNDg1aC0zOC4wMzRjLTQwLjAwOSAwLTcyLjQxMS0zMi40MDItNzIuNDExLTcyLjQ4NXYtMTIuODczaC0xMDIuNTQ2djM4Ni45OTloMTA1LjE3OWM2LjM2My0zMy40OTkgMzQuNDUtNTkuMzkyIDY5Ljc3OC01OS4zOTJoMzguMDM0YzQwLjAwOSAwIDcyLjQxMSAzMi40MDIgNzIuNDExIDcyLjQ4NXYzNy45NjFjMCA0MC4wMDktMzIuNDAyIDcyLjQ4NS03Mi40MTEgNzIuNDg1aC0zOC4wMzRjLTQwLjAwOSAwLTcyLjQxMS0zMi40MDItNzIuNDExLTcyLjQ4NXYtMTQuNDgyaC0xMTkuMzY5di0wLjIxOWgtMTkuODIydi00MjMuNDI0aC03OS40MzN2NDA2Ljg5NGMwIDU3LjYzNy00NS41NjggMTA0LjUyMS0xMDEuNjY5IDEwNC41MjFoLTQxOC40NWMtNTYuMDI3IDAtMTAxLjU5NS00Ni44ODUtMTAxLjU5NS0xMDQuNTIxdi04MTUuMDMxYzAtNTcuNTYzIDQ1LjU2OC0xMDQuNDQ4IDEwMS41OTUtMTA0LjQ0OGg0MTguNDVjNTYuMTAxIDAgMTAxLjY2OSA0Ni44ODUgMTAxLjY2OSAxMDQuNTIxdjM3MS41NjZoNzkuNDMzdi00MTQuMzU0aDE5LjgyMnYtMC4yMTloMTIyLjM2OGM1LjQxMy0zNC41OTcgMzQuMDg1LTYxLjUxMyA3MC4yMTctNjEuNTEzaDM4LjAzNGM0MC4wMDkgMCA3Mi40MTEgMzIuNDAyIDcyLjQxMSA3Mi40MTF2MzcuOTYxYzAgNDAuMDgyLTMyLjQwMiA3Mi40ODUtNzIuNDExIDcyLjQ4NXpNNTQ4LjU3MSA0MC41MjFjMC0xNy4zMzUtMTIuOC0zMS4zNzgtMjguNTI2LTMxLjM3OGgtNDE4LjQ1Yy0xNS43MjYgMC0yOC40NTMgMTQuMDQzLTI4LjQ1MyAzMS4zNzh2ODE0Ljk1OGMwIDE3LjMzNSAxMi43MjcgMzEuMzc4IDI4LjQ1MyAzMS4zNzhoNDE4LjQ1YzE1LjcyNiAwIDI4LjUyNi0xNC4wNDMgMjguNTI2LTMxLjM3OHYtODE0Ljk1OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk5OTsiIGdseXBoLW5hbWU9Imhvc3QiIGQ9Ik0zMzYuMjM4IDc3NC44NzVoMzE1LjQ2NXYtNzMuMTQzaC0zMTUuNDY1djczLjE0M3pNNzAzLjEyMiA5NjBoLTQxOC40NWMtNTYuMDI3IDAtMTAxLjU5NS00Ni44ODUtMTAxLjU5NS0xMDQuNTIxdi04MTUuMDMxYzAtNTcuNTYzIDQ1LjU2OC0xMDQuNDQ4IDEwMS41OTUtMTA0LjQ0OGg0MTguNTIzYzU2LjEwMSAwIDEwMS42NjkgNDYuODg1IDEwMS42NjkgMTA0LjUyMXY4MTQuOTU4Yy0wLjA3MyA1Ny42MzctNDUuNjQxIDEwNC41MjEtMTAxLjc0MiAxMDQuNTIxek03MzEuNjQ4IDQwLjUyMWMwLTE3LjI2Mi0xMi44LTMxLjM3OC0yOC41MjYtMzEuMzc4aC00MTguNDVjLTE1LjY1MyAwLTI4LjQ1MyAxNC4wNDMtMjguNDUzIDMxLjM3OHY4MTQuOTU4YzAgMTcuMzM1IDEyLjcyNyAzMS4zNzggMjguNDUzIDMxLjM3OGg0MTguNTIzYzE1LjcyNiAwIDI4LjUyNi0xNC4wNDMgMjguNTI2LTMxLjM3OHYtODE0Ljk1OHpNMzM2LjIzOCA2MjguNTloMzE1LjQ2NXYtNzMuMTQzaC0zMTUuNDY1djczLjE0M3pNNTQzLjA4NiAzODcuNDM4YzAtMjcuMTQ2LTIyLjAwNi00OS4xNTItNDkuMTUyLTQ5LjE1MnMtNDkuMTUyIDIyLjAwNi00OS4xNTIgNDkuMTUyYzAgMjcuMTQ2IDIyLjAwNiA0OS4xNTIgNDkuMTUyIDQ5LjE1MnM0OS4xNTItMjIuMDA2IDQ5LjE1Mi00OS4xNTJ6TTYxMi43OTEgMTgwLjE1MWgtMjM3LjcxNGMtMTUuNzk5IDAtMjguNTk5LTE2LjM4NC0yOC41OTktMzYuNTcxczEyLjgtMzYuNTcxIDI4LjU5OS0zNi41NzFoMjM3LjcxNGMxNS43OTkgMCAyOC41OTkgMTYuMzg0IDI4LjU5OSAzNi41NzFzLTEyLjggMzYuNTcxLTI4LjU5OSAzNi41NzF6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OWE7IiBnbHlwaC1uYW1lPSJOUyIgZD0iTTUxMiA5NjBjLTI4Mi4zMzEgMC01MTItMjI5LjY2OS01MTItNTEyIDAtMjM5LjAzMSAxNjQuODY0LTQzOS44MDggMzg2Ljc3OS00OTUuODM1IDAuMzY2LTAuNTg1IDEuMDk3LTEuNTM2IDEuMzE3LTEuNzU1bDEuNDYzIDEuMDk3YzM5LjI3OC05LjgwMSA4MC4xNjUtMTUuNTA2IDEyMi40NDEtMTUuNTA2IDI4Mi4yNTggMCA1MTIgMjI5Ljc0MiA1MTIgNTEyIDAgMjgyLjMzMS0yMjkuNzQyIDUxMi01MTIgNTEyek00NjkuMzU4IDcxLjE2OGMtMTEuOTk1IDE0Ljc3NS0yOS40NzcgMjQuODY5LTQ5Ljk1NyAyNC44NjktMTUuNzk5IDAtMjkuNzY5LTYuMzYzLTQxLjEwNi0xNS43MjYtMy4xNDUgNi4yOS02LjM2MyAxMi40MzQtOS41ODIgMTkuMjM3IDQzLjA4MSAxOS4zODMgOTIuODkxIDQ3Ljk4MiAxNDUuNzAxIDkwLjQ3OCA4LjYzMS00LjI0MiAxOC4wNjYtNy4xNjggMjguMzc5LTcuMTY4IDI0LjU3NiAwIDQ1LjEyOSAxNC4xMTcgNTYuMjQ3IDM0LjE1OCAxMzUuNzUzIDEyLjUwNyAyNDguMTc0IDY1LjAyNCAzMjAuMzY2IDEwOC42MTcgNC4zMTUtMS4xNyA4LjQ4NS0yLjM0MSAxMy4wOTMtMi42MzMtNS4wNDctMTYuOTY5LTExLjA0NS0zMy40OTktMTguMDY2LTQ5LjU5MS01Ni4xNzQtMzYuMjc5LTE5Mi4zNjYtMTIzLjAyNi0yNDIuMjQ5LTE0My41NzktNTMuMDI5LTIxLjg3LTE0My43MjYtNDQuODM3LTIwMi44MjUtNTguNjYxek04Mi43OTggNTM5LjA2M2w0Ljk3NC01LjcwNWMwLjg3OCAwLjgwNSA2NC4yMTkgNTIuOTU1IDE4My43MzUgOTAuNzctMTcuNTU0LTQ2LjIyNi0zMC41NzQtOTUuMjMyLTM1LjQ3NC0xNDUuOTItMy4yOTEtMzQuNTk3LTMuNTg0LTY4LjMxNS0xLjY4Mi0xMDEuMDgzLTEuNDYzLTAuODA1LTIuNzc5LTEuODI5LTQuMTY5LTIuNzc5LTcwLjk0OSA0Ny45MDktMTIzLjkwNCAxMDEuMDgzLTE1Mi41MDMgMTMzLjA0NyAxLjQ2MyAxMC42NzkgMi45MjYgMjEuMzU4IDUuMTIgMzEuNjcxek01MTIgODg2Ljg1N2M3Ny4wMTkgMCAxNDkuMzU4LTIwLjA0MSAyMTIuMjYxLTU1LjAwMy0xLjUzNi0yNi41NTEtNC45MDEtNjcuMjE4LTExLjQxLTExNS4wNTQtNi4yOS0zLjM2NS0xMi4xNDItNy4zMTQtMTYuOTY5LTEyLjQzNC02Mi43NTcgMTEuNjMtMTMzLjEyIDE4Ljg3MS0yMDcuNTA2IDE2LjAxOC0zNi4wNTktMS40NjMtNjkuODUxLTQuNjgxLTEwMS40NDktOS4yODktMS4yNDMgMi4zNDEtMi45MjYgNC4zODktNC4zODkgNi41MSA0NS43ODcgNzYuNTA3IDk3LjcxOSAxMzYuNzc3IDEyOCAxNjkuMTc5IDAuNTEyIDAgMC45NTEgMC4wNzMgMS40NjMgMC4wNzN6TTkzNC4xMDcgNTY2LjU2NWMxMC41MzMtMzcuMzAzIDE2LjUzLTc2LjQzNCAxNi42NzctMTE2Ljk1NS00LjkwMSAxLjE3LTkuNTgyIDIuOTI2LTE0Ljc3NSAyLjkyNi0zNS45ODYgMC02NS4xNy0yOS4xMTEtNjUuMTctNjUuMTcgMC03LjAyMiAxLjkwMi0xMy41MzEgNC4wMjMtMTkuODIyLTY0LjU4NS0zNy4yMy0xNTguNDI3LTc4LjkyMS0yNjguODczLTkxLjM1NSAyLjU2IDIuOTI2IDUuMTkzIDUuNDEzIDcuODI2IDguMzM4IDcyLjExOSA4MC42MDMgMTEzLjczNyAyMDEuNTA5IDEzNy44MDEgMzEyLjE3NCAxNi45NjkgMi4yNjcgMzEuNTI1IDEwLjY3OSA0MS42OTEgMjMuNDA2IDgxLjc3NC0yNC41MDMgMTM1LjI0MS01MC43NjEgMTQwLjgtNTMuNTQxek0yOTIuNzkxIDM4Mi4zMThjLTEuNjgyIDI5LjQwMy0xLjQ2MyA1OS41MzggMS40NjMgOTAuMzMxIDQuNzU0IDQ5LjU5MSAxOC42NTEgOTcuNzE5IDM3LjE1NyAxNDMuMTQxIDI0Ljc5NSAwLjUxMiA0NS43MTQgMTQuOTk0IDU2LjI0NyAzNS42OTQgMzIuMDM3IDQuOTc0IDY1Ljk3NSA4LjkyMyAxMDIuOTg1IDEwLjM4NiA2Ny4zNjUgMi41NiAxMzEuODc3LTQuMDk2IDE5MC4wOTgtMTQuNzc1IDIuNDE0LTExLjcwMyA3LjA5NS0yMi4zODIgMTQuOTIxLTMwLjg2Ni0yMi4wMTYtMTA0Ljk2LTU5Ljk3Ny0yMTkuNTAyLTEyNS40NC0yOTIuNzE4LTQuMjQyLTQuNjgxLTguNDExLTguNzc3LTEyLjY1NC0xMy4zODUtNC44MjcgMS4yNDMtOS41MDkgMi45OTktMTQuNzAyIDIuOTk5LTI1Ljg5MyAwLTQ3Ljc2Mi0xNS4zNi01OC4yOTUtMzcuMjMtNTQuODU3IDUuODUxLTEwNi4yMDMgMjAuOTkyLTE1Mi45NDIgNDEuNzY1IDAuMTQ2IDEuNTM2IDAuOTUxIDIuOTI2IDAuOTUxIDQuNjA4IDAgMjYuOTktMTYuMzg0IDUwLjE3Ni0zOS43OSA2MC4wNTB6TTQ1Ny40MzUgMjIwLjIzM2MtNDAuNjY3LTMwLjIwOC03OC43NzUtNTEuNTY2LTExMi4xMjgtNjYuNjMzLTEzLjAxOSAzMi44NDEtMjUuMDg4IDY5LjQxMy0zNC41MjMgMTA4LjkxIDQ1LjA1Ni0xOS42MDIgOTQuMDYyLTM0LjY3IDE0Ni42NTEtNDIuMjc3ek05MDQuMTE5IDY0My44NzdjLTI1Ljg5MyAxMC41MzMtNTkuNjExIDIyLjc0Ny05OS40MDEgMzQuNDUtNS4xMiAxNy4yNjItMTYuNjAzIDMxLjMwNS0zMi4zMjkgMzkuMjc4IDMuODAzIDI4Ljg5MSA2LjM2MyA1NC45MyA4LjExOSA3Ni44NzMgNTEuNzEyLTQwLjIyOSA5NC4wNjItOTEuNjQ4IDEyMy42MTEtMTUwLjYwMXpNNDI0LjU5NCA4NzguMDgwYy0yOS4wMzgtMzQuODg5LTYyLjY4My03OS44NzItOTMuOTE1LTEzMi4zODktMC4xNDYgMC0wLjI5MyAwLjE0Ni0wLjQzOSAwLjE0Ni0zNC45NjIgMC02Mi44My0yNy41NzUtNjQuNTEyLTYyLjA5OC02OS42MzItMjAuNzczLTEyMi44OC00NS44NjEtMTU4LjcyLTY2LjkyNiA1NS4zNjkgMTMyLjM4OSAxNzMuNzg3IDIzMi4wODIgMzE3LjU4NiAyNjEuMjY2ek03NC4yNCA0MjUuODM4YzMyLjQ3NS0zMS44OSA3NS43MDMtNjkuMzM5IDEyOC4xNDYtMTA0LjA4MiAwLjIxOS0yOS44NDIgMjAuOTE5LTUzLjkwNiA0OC40OTQtNjEuMjIxIDEwLjM4Ni00Ni44MTEgMjQuMjgzLTg5Ljg5MyAzOS40OTctMTI4LjE0Ni0zNy41OTUtMTEuODQ5LTYxLjg3OS0xNC4yNjMtNjYuNDE0LTE0LjYyOS04Ni45NjcgNzUuOTIyLTE0My41MDYgMTg1LjQxNy0xNDkuNzIzIDMwOC4wNzh6TTI4OC45ODcgNzAuNzI5YzcuNjggMi4wNDggMTUuOTQ1IDQuNTM1IDI0LjcyMiA3LjM4NyA0LjYwOC05LjcyOCA5LjIxNi0xOC45NDQgMTMuNzUxLTI3LjcyMS0xMy4yMzkgNi4xNDQtMjYuMDM5IDEyLjg3My0zOC40NzMgMjAuMzM0ek01MTIgOS4xNDNjLTEwLjY3OSAwLTIxLjA2NSAwLjg3OC0zMS41MjUgMS41MzYgMC4zNjYgMS4wMjQgMC4zNjYgMi4wNDggMC42NTggMy4wNzIgNjAuNzA5IDE0LjE5IDE1NS42NDggMzguMTA3IDIxMy41MDQgNjIuMDk4IDMxLjA4NiAxMi44NzMgODkuNiA0Ny4xNzcgMTQ0Ljg5NiA4MS4xMTUtODAuMzg0LTkwLjQ3OC0xOTcuMjY2LTE0Ny44MjItMzI3LjUzNC0xNDcuODIyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTliOyIgZ2x5cGgtbmFtZT0idWVwLW1vYy11Y2EtcHVibGljIiBkPSJNODYgOTYwYy00Ny40NzcgMC04Ni0zOC4wNzYtODYtODR2LTUxNGMwLTQ1LjkyNCAzOC41MjMtODIgODYtODJoMjM0di05MGgtMTg0di04MmgyODB2MTcyaDE5MnYtMTcyaDI4MHY4MmgtMTg0djkwaDIzNGM0Ny40NzcgMCA4NiAzNi4wNzYgODYgODJ2NTE0YzAgNDUuOTI0LTM4LjUyMyA4NC04NiA4NGgtODUyek0xMTAgODUyaDgwNHYtNDU0aC04MDR2NDU0ek0xMzYgMTR2LTgwaDc1MnY4MGgtNzUyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTljOyIgZ2x5cGgtbmFtZT0idWVwLXRvcG8tY29tbW9uZ3JvdXAyMHgyMCIgZD0iTTIgNjk4di0xOTJoOTZ2LTMyMGMtNTUuMTkyLTEzLjMyMy05Ni02Mi43MTYtOTYtMTIyIDAtNjkuNDkgNTYuNTEtMTI2IDEyNi0xMjZzMTI2IDU2LjUxIDEyNiAxMjZjMCA1Ny43Ni0zOC45NTQgMTA3LjIxNS05MiAxMjJ2MzIwaDMyMHYtMzIwYy01NC4wMjgtMTQuMTMyLTk0LTYzLjU0Mi05NC0xMjIgMC02OS40OSA1Ni41MS0xMjYgMTI2LTEyNnMxMjYgNTYuNTEgMTI2IDEyNmMwIDU4LjQ1OC0zOS45NzIgMTA3Ljg2OC05NCAxMjJ2MzIwaDMyMHYtMzIwYy01My4zNTYtMTQuNTgxLTk0LTY0LjAxOS05NC0xMjIgMC02OS40OSA1Ni41MS0xMjYgMTI2LTEyNnMxMjYgNTYuNTEgMTI2IDEyNmMwIDU4LjYzMi0zOS43MjcgMTA4LjAzNi05NCAxMjJ2MzIwaDk2djE5MmgtMTAyNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTk5ZDsiIGdseXBoLW5hbWU9InZhcGVsX2NoZ3BpbGUiIGQ9Ik03NDEuODQxIDg2NS44ODVjMCAzOS45ODMtMzIuMjU2IDcyLjIzOS03Mi4wOTkgNzIuMjM5aC0zNzUuNTI5Yy0zOS45ODMgMC03Mi4yMzktMzIuMjU2LTcyLjIzOS03Mi4yMzl2LTU4LjUwOGg1MTkuODJ2NTguNTA4ek03NDUuNDcyLTIwLjcxM3YyLjMyN2MwLTAuNDY1LTAuMDkzLTAuODg0LTAuMTg2LTEuMTY0IDAuMDkzLTAuMzcyIDAuMTg2LTAuNzQ1IDAuMTg2LTEuMTY0ek0yMTguMzQ1LTIwLjcxM2MwIDAuNDY1IDAuMTQgMC44MzggMC4xODYgMS4xNjQtMC4wNDcgMC4zNzItMC4xODYgMC43NDUtMC4xODYgMS4xNjR2LTIuMzI3ek04NDAuMjg1IDc0Ny43NTNoLTk4LjM1MXY0OS4xMDVoLTUxOS45MTN2LTEyOC4wNDdoNTE5Ljg2NnYyOS4xMzdoMjUuNTUzdi0yNC45MDJoMTAuODkyYy0wLjYwNS0yNi41NzctNS4zNTMtMjI4LjQ5Mi03LjA3NS0yNzkuNDU5LTQuNTYxLTEzOC4zMzMtNy4xMjEtMTk4Ljc5Ni0yMS44My0yMzEuMDk4LTI0LjI1LTUzLjI0OC0xMDMuMDk4LTY0LjY5OC0xMTkuOTAxLTY2LjYwN3YxOTUuMDcyaDQwLjE2OWMzOS43OTYgMCA3Mi4xOTIgMzIuMzQ5IDcyLjE5MiA3Mi4wOTl2Mjk1LjMzMWgtNTE5Ljg2NnYtMjk1LjI4NGMwLTM5Ljc1IDMyLjIwOS03Mi4wOTkgNzIuMjM5LTcyLjA5OWg0MC4wNzZ2LTI4My4yNzZjMC0zLjcyNCAwLjYwNS03LjA3NSAxLjU4My0xMC40NzNoLTk5LjUxNGMtOS42MzUgMC0xNy4zNjEtNy4zNTQtMTcuODczLTE2LjgwMyAwLjUxMi05LjM1NiA4LjIzOS0xNi44MDMgMTcuODczLTE2LjgwM2g0OTEuMDU1YzkuNDk1IDAgMTcuMzE1IDcuNDQ3IDE3LjkyIDE2LjgwMy0wLjYwNSA5LjQ0OS04LjQyNSAxNi44MDMtMTcuOTIgMTYuODAzaC05OS40MjFjMC45NzcgMy4zNTEgMS4zOTYgNi43NDkgMS4zOTYgMTAuMzh2NDkuMTA1YzM4LjEyMSA3LjQ0NyAxMTguNTUxIDE1LjQ1MyAxNTQuMDY1IDkyLjM0NiAyMS4yMjUgNDYuMTczIDIyLjI5NSAxMjUuNzE5IDI0Ljk0OCAyNDEuNDc4IDMuMDcyIDEzNC4wMDQgNS45NTggMjYxLjkxMSA2LjQyMyAyODIuNDg0aDkuNDk1djI0LjkwMmgxNS45MTl2NDkuODA0ek02OTMuNjIgNjM5LjM0OGM5LjkxNCAwIDE4LjA2MC04LjA1MiAxOC4wNjAtMTguMDYwIDAtOS45MTQtOC4xNDUtMTguMTA2LTE4LjA2MC0xOC4xMDYtMTAuMSAwLTE4LjEwNiA4LjE5Mi0xOC4xMDYgMTguMTA2IDAuMDQ3IDEwLjAwNyA4LjA1MiAxOC4wNjAgMTguMTA2IDE4LjA2MHpNNDM1Ljg1MiAzMTcuMDIxbDMwLjkwNiA5Ni44MTUtNDUuMDU2IDExLjcyOSA4NC4yOTQgMTQ1LjMxNS0yMy4zNjYtMTE0LjUwMiA0NS43NTQtMjAuNDgtOTIuNTMyLTExOC44Nzd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5OWU7IiBnbHlwaC1uYW1lPSJjYXIiIGQ9Ik03OTIuNTI5IDE3OC42NDF2LTIuOTMyYy0xLjk1NS0wLjA5My0yOC4zOTMtNC44ODctNDQuNTQ0LTguMDUyLTEyLjI0MSAwLTIwMy4xMjQtMC4zMjYtMzMzLjQwNS0wLjMyNi02Ni45NzkgMC0xMTcuOSAwLjA5My0xMjAuNDEzIDAuMzI2LTcuNDk0IDAuNTU5LTUzLjc2IDkuNTg4LTU1LjcxNSA5Ljk2MWwwLjY1MiAzLjMwNWMtMTUuNDA3LTE1LjIyLTI0Ljk0OC0zMi40ODktMjMuOTI0LTQ0Ljk2MyAxLjcyMi0yMi43MTQgNDYuNjg1LTQ0LjgyMyA2Mi44ODMtNTAuMjIzIDAuOTMxLTAuNDE5IDIuNy0wLjc5MSA0Ljg0MS0wLjk3N2wtMC4yMzMgMC4yNzljMi4wOTUgMS4zNSAyMC42MiAxMi43NTMgMjkuMDkxIDEyLjc1M2w0MTguMjU3LTAuMzcyYzAuMDkzLTAuMDkzIDYuMzMtNC4zNzUgMTQuOTQxLTkuOTYxbC0xLjgxNS0yLjc0NmMxMy45MTcgMS45MDggMjQuOTQ4IDQuMDk2IDMxLjU1OCA2LjM3NyA0MC45NiAxNC42NjIgNDEuNTY1IDUyLjMxNyA0MS41NjUgNTIuNjg5LTAuNjUyIDkuNDQ5LTEwLjg0NSAyMi40ODEtMjMuNzM4IDM0Ljg2M3pNNzQ5LjAwOSAyMTguODFjLTE2Ljk4OSA0Ljg4Ny0xODIuNzM3IDIxLjEzMi0yMzYuNTQ0IDIyLjk0Ny0xLjkwOCAwLjA5My0zLjkxIDAuMDkzLTYuMDk3IDAuMDkzLTU5LjI1MiAwLTIxOS41NTUtMjMuNTA1LTIyMS4xODQtMjMuODMxLTQyLjQ0OS0xMy43MzEtNzguMTAzLTU5LjE1OS03Ni4yODgtODUuMTc4IDEuNzY5LTI1LjUwNyA0Ny43MDktNTAuMTI5IDY0LjE4Ni01Ni4yNzMgMTIuNTY3LTQuNzAxIDEzNi4wOTktMTAuMzggMjAyLjQyNi0xMy4zMTIgMjEuNjktMC45NzcgMzguNzcyLTEuNzIyIDQ1Ljg0Ny0yLjA5NSAyLjctMC4yMzMgNi43OTYtMC4zMjYgMTIuMjg4LTAuMzI2IDU2LjI3MyAwIDIxMS4yNyA4LjQ3MSAyNDUuNjIgMjEuOTY5IDQxLjYxMiAxNi4xOTggNDMuMjQxIDU0Ljg3NyA0My43MDYgNjcuNDQ0IDAuNjA1IDEzLjM1OS00My44OTIgNTkuNTc4LTczLjk2MSA2OC41NjF6TTc3NS45NTkgODcuNzM4Yy0zNi42MzEtMTMuMTcyLTE5NC40Mi0yMC4xMDgtMjQyLjM2Mi0yMC4xMDgtNS40NDYgMC05LjU4OCAwLjA5My0xMi4yODggMC4yNzktNi44NDIgMC41NTktMjMuNTk5IDEuMjEtNDQuODIzIDIuMDk1LTY5LjkxMSAyLjg4Ni0xODYuOTI3IDcuNjMzLTE5OS43MjcgMTIuMDU1LTEyLjU2NyA0LjMyOS02My41MzUgMjcuMDg5LTY1LjUzNiA1My42Mi0xLjk1NSAyNS4xMzUgMzMuNjUyIDY3LjExOSA3Ny44MjQgODAuMTk4IDEuODYyIDAuMTg2IDE1OS4zNzIgMjEuMzY0IDIxNy43NCAyMS4zNjQgMi4xNDEgMCA0LjE4OS0wLjA5MyA2LjA5Ny0wLjA5MyA1Mi44MjktMS42MjkgMjE2LjExMS0xNi4yOTEgMjMyLjgyLTIwLjY2NiAxNi41MjQtNC41NjEgNzIuOTM3LTQ4LjgyNiA3NC4yNC03Mi4zMzIgMC41NTktOC40NzEtNS41ODUtNDIuNzc1LTQzLjk4NS01Ni40MTN6TTc0Ny42NiAxNzEuNDczYzYuMzMgMS4xMTcgMzguMDI4IDcuMTY4IDQ0LjAzMiA4LjA1Mi0xNi45ODkgMTYuMjQ0LTM4LjE2NyAzMC43NjctNDYuODI1IDMzLjE4Ny0xNi41NyA0LjY1NS0xNzkuMjkzIDE4Ljg5Ny0yMzIuMDI5IDIwLjUyNy0xLjkwOCAwLjA5My0zLjg2MyAwLjA5My02LjAwNCAwLjA5My01OC4xMzUgMC0yMTUuNDEyLTIwLjk5Mi0yMTYuOTQ4LTIxLjIyNS03Ljg2Ni0yLjM3NC0xNS41NDYtNS42MzItMjIuNzE0LTkuNzc1IDExLjgyMy0xLjExNyA2MC4wOTAtNi4wNTEgNjYuNTYtNi43MDMgNy4zMDgtMC41NTkgMzc4LjMyMSAwIDM4Mi4wNDUgMC4wOTMgMTIuMzgxIDEuNDQzIDQ1LjE5NiA1LjEyIDQ3LjcwOSA1LjU4NWwwLjY5OC0zLjg2M2MtMy4wMjUtMC41NTktNDYuMjY2LTUuMzUzLTQ4LjE3NS01LjUzOS0xMC4xOTMgMC0xNjkuNjU4LTAuMzcyLTI3OS40MTItMC4zNzItNTYuOTcyIDAtMTAwLjU4NSAwLjA5My0xMDMuMTQ1IDAuMzcyLTcuNDAxIDAuNjUyLTY4LjY1NSA2Ljc5Ni02OS4yNiA2Ljg0MmwwLjE4NiAxLjgxNWMtOS4yNjMtNS40OTItMTcuNjg3LTEyLjE5NS0yNC45MDItMTkuMzE2IDMuODYzLTAuNzQ1IDQ3Ljk0Mi05LjIxNiA1NC45Ny05Ljg2OCA3LjM1NC0wLjUxMiA0NDguNzkxIDAuMDkzIDQ1My4yMTMgMC4wOTN6TTMxMS43NjEgOTQuMDY4Yy01LjA3MyAwLTE2LjQ3Ny02LjA1MS0yMy4zMTktMTAuMSAzMy4zMjctMy43MjQgMTMxLjg2My03LjcyNyAxODguMjc2LTEwLjA1NCAyMS4yNzEtMC45NzcgMzcuOTgxLTEuNjI5IDQ0Ljg3LTIuMDAxIDIuNjUzLTAuMjMzIDYuNzAzLTAuMzI2IDEyLjAwOS0wLjMyNiA0NC4xNzIgMCAxNTAuODA3IDQuOTM0IDIwOC42MTcgMTMuMDc5LTYuOTM1IDQuNDY4LTEyLjMzNSA4LjE0NS0xMy44NzEgOS4zMDlsLTQxNi41ODIgMC4wOTN6TTEwMTYuMzY3IDIxNy42Yy0xLjMwMyAxMi45ODYtNS4yNiAzNy44NDEtNS4yNiA0NC4yNjUgMCA2LjQ3LTE1LjU5MyA3OS41LTE1LjU5MyA3OS41bC0xMC40MjYgMjQuNjY5LTI4LjYyNSAyNy40MTUtNDAuNDAxIDI2LjA2NS0zMi40ODkgMTQuMzgzLTE0LjQyOSAxMC40MjYtOC41MTggMTQuNjE1YzYuNzQ5IDAuNDY1IDU4LjMyMSA0LjMyOSA2NC4zNzIgOC4wOTkgNi40MjMgNC4wMDMgMTAuNzUyIDUuNzcyIDEwLjE0NyA3LjEyMS0wLjc0NSAxLjM1LTQuMzc1IDIwLjM0LTkuMTIzIDI0LjcxNi00Ljc5NCA0LjQyMi0zOC4yNiAxMC43OTktNDMuMDA4IDEwLjUxOS00Ljg0MS0wLjMyNi04LjA5OS0wLjMyNi04LjA5OS0wLjMyNnMtMTEuNTQzLTE3LjI2OC0xMC4xOTMtMjcuNDE1YzEuMzAzLTEwLjE5MyAyLjA0OC0xMi41NjcgMi4wNDgtMTIuNTY3bC05LjQwMi00LjY1NS0xLjIxIDIuMDAxLTIwLjg1MiAyOS45NzUtMzMuNzkyIDU1Ljk5NC0yNy40MTUgMzkuMDUyLTI0LjgwOSAxOC4yOTItMTEuNjgzIDcuODJjMCAwLTEyOS4xMTcgMTMuNzMxLTIyMS4wNDQgMTIuMjg4LTEwMi41NC0xLjcyMi0yMTAuODUxLTEyLjg0Ny0yMTAuODUxLTEyLjg0N2wtOC40MjUtNi4wNTEtMjAuODA2LTE5LjA4NC04NC43NTktMTAzLjMzMWMtNS4zOTktNy43MjctMTAuMTkzLTEzLjczMS0xNC45NDEtMTkuNDA5bC0xMC45MzggNC45OGMwIDAgMC43NDUgMi4zNzQgMi4wMDEgMTIuNTY3IDEuMzUgMTAuMTQ3LTEwLjE5MyAyNy40MTUtMTAuMTkzIDI3LjQxNXMtMy4zNTEgMC04LjA5OSAwLjMyNmMtNC43NDggMC40MTktMzguMjYtNi4wNTEtNDMuMDA4LTEwLjQyNi00Ljc0OC00LjQyMi04LjQyNS0yMy40MTItOS4xMjMtMjQuNzYyczMuNzI0LTMuMDI1IDEwLjE0Ny03LjEyMWM2LjMzLTQuMDAzIDYyLjg4My04LjIzOSA2NC41MTItOC4zMzItNC4xNDMtNC42NTUtOC4zMzItOS4xNjktMTIuOTg2LTE0LjI4OS0xMS42ODMtMTMuMDMzLTM3Ljg0MS0yMy40NTktNDYuOTE4LTMwLjAyMi05LjEyMy02LjU2My02OS4wMjctNDEuNjU4LTY5LjAyNy01My40MzQgMC0xMS42ODMtMjYuMDY1LTk4Ljk1Ni0yNi4wNjUtOTguOTU2czAtMTkuNTQ5LTEuMzAzLTI3LjMyMmMtMS4zMDMtNy44NjYtMS4zMDMtNDMuMDA4LTIuNTYtNTcuMzQ0LTEuMzAzLTE0LjQ3NiA1LjE2Ny0xMTguNTk4IDUuMTY3LTExOC41OThsNC42MDgtMTAuOTg1Yy0wLjU1OS03LjQ5NC0wLjI3OS0yMi44MDcgMTAuMzMzLTI3LjI3NiAxLjMwMy0wLjQ2NSA0LjAwMy0xLjMwMyA3LjgyLTIuNTEzIDEuMTY0LTQuMzI5IDI2LjgxLTMzLjE4NyA0MC4wNzYtMzQuOTU2IDEzLjU5MS0xLjk1NSA0My4zOC0zLjIxMiA1MS4xNTMtMy4yMTJzMTguNjY1IDguNjU3IDIxLjkyMyA5LjkxNGMwLjA0NyAwIDAgMC4xNCAwIDAuMTQgMzkuNjU3LTkuMjYzIDc0LjQ3My0xNi43NTYgNzcuODI0LTE1Ljk2NSA3Ljc3MyAyLjAwMSAxMi4zMzUgMy45MSAxOC43NTggMy45MSA2LjUxNiAwIDIxMy4wODUtMTcuNDU1IDIzMS4xOTEtMTYuNzU2IDE4LjE1MyAwLjY1MiAyODYuMjU1IDE2Ljc1NiAyOTYuMDI5IDE2Ljc1NiA5LjYzNSAwIDEwLjMzMy0wLjY1MiAyMC4wMTUtMi41NiA0LjYwOC0wLjk3NyA0NC4yMTggNi45ODIgODYuODA3IDE2Ljk0My0wLjY5OC0yLjA5NS0xLjAyNC01LjU4NSAxLjg2Mi04LjYxMSA0LjYwOC00LjYwOCA1OS42MjUgMS45MDggNjkuOTU4IDUuMTY3IDEwLjM4IDMuMjEyIDMxLjA5MiAzMC4zNDggMzEuMDkyIDMwLjM0OGwtOS4yMTYtMi4yMzRjNy40NDcgMi40MiAxMi44NDcgNC42MDggMTUuMDM0IDYuMTkxIDE1LjU0NiAxMC45ODUgMTQuMzM2IDIzLjk3MSAxNC4zMzYgMjMuOTcxbC0zLjM1MS0wLjYwNSA2LjUxNiA4LjM3OGMtMC4wNDcgMC4wNDcgNi41MTYgMTQ0Ljc1NiA1LjIxMyAxNTcuNzQzek05ODMuNTk5IDg5LjgzM2MtMy45MS04LjY1Ny0zMy43NDUtMjkuOTI5LTQzLjM4LTMzLjM3My05LjY4MS0zLjQ0NC0xMTIuMDM1LTIzLjA0MC0xMTUuNDMzLTIyLjg1NC0zLjU4NCAwLjMyNi0xMi41MjEgOC4wOTktMTQuMDU3IDE0LjU2OS0xLjU4MyA2LjUxNiAyNS4zMjEgNDAuOTYgMzQuNDQ0IDQ3LjcwOSA5LjEyMyA2LjcwMyA5NC43MiAzNi41MzggMTA4LjIxOCA0MS43MDUgMTMuNTQ1IDUuMTY3IDQwLjQwMSAyMi44NTQgNDAuNDAxIDIyLjg1NHMzLjUzNy00MC4yMTUtMTAuMTkzLTcwLjYwOXpNNzgxLjA3OSA3OS42MzljLTM3LjI4My0xNC42MTUtMTk4LjE5MS0yMi4yNDktMjQ3LjA2My0yMi4yNDktNS41MzkgMC05LjcyOCAwLjA5My0xMi42MTQgMC4yNzktNi45ODIgMC40NjUtMjQuMTExIDEuMTY0LTQ1Ljc1NCAyLjIzNC03MS4yMTUgMy4xNjUtMTkwLjUxMSA4Ljc1MS0yMDMuNjM2IDEzLjQ5OC0xMi43NTMgNC44NDEtNjQuNjUyIDMwLjIwOC02Ni43IDU5LjY3MS0xLjk1NSAyOC4wMjAgMzQuMjU3IDc0LjcwNSA3OS4zMTMgODkuMjI4IDEuOTA4IDAuMjc5IDE2Mi40OSAyMy45NzEgMjIyLjAyMiAyMy45NzEgMi4xODggMCA0LjI4Mi0wLjA5MyA2LjIzNy0wLjE4NiA1My44NTMtMS44MTUgMjIwLjMtMTguMDEzIDIzNy4zODItMjMuMDg3IDMwLjk5OS05LjE2OSA3Ny41NDUtNTUuODU1IDc2Ljg5My03Mi40MjUtMC40MTktMTMuMTcyLTIuMTQxLTUzLjc2LTQ2LjA4MC03MC45MzV6TTg0MS4zNTYgMzA0LjIyMWM4Ljg0NCA1LjgxOCAxMzIuODQxIDQ5LjMzOCAxMzIuODQxIDQ5LjMzOHMxMi40MjgtMzIuNDQyIDEzLjQ1Mi0zOS4zMzFjMC45NzctNi44NDItMy4zOTgtMzMuMTQtNi41MTYtMzcuMDA0LTMuMDI1LTMuNzI0LTM1LjkzMy0yNi4zNDUtNDAuMjE1LTI2Ljk1LTQuMjM2LTAuODM4LTIwLjg1MiA4LjU2NC0yNC4wMTcgOC41NjQtMi45MzIgMC01NS44MDgtMTYuODk2LTc1LjcyOS0xOS4zNjMtMjAuMDE1LTIuNy01Ny4yMDQgMTYuNTctNTcuMjA0IDE2LjU3czQ4LjU5MyA0Mi40MDMgNTcuMzkxIDQ4LjE3NXpNMjg4Ljg2MSA1NTEuNjU3YzE3LjY4NyAxMS43NzYgNDIuOTE1IDI0LjE1NyA2MC41NTYgMjYuMjk4IDAgMCA1Ni43MzkgOS45NjEgMTQzLjIyIDEyLjU2N2wtMC4wNDcgMC4zMjZjMTIuMDU1IDAuMjMzIDIzLjY5MiAwLjMyNiAzNC45NTYgMC4yNzkgMTEuMjY0IDAuMDQ3IDIyLjgwNyAwIDM0LjgxNi0wLjI3OWwtMC4wOTMtMC4zMjZjODYuNDM1LTIuNjA3IDE0My4wODEtMTIuNTY3IDE0My4wODEtMTIuNTY3IDE3LjczNC0yLjA5NSA0My4wMDgtMTQuNDc2IDYwLjc0Mi0yNi4yOThsNTIuMzE3LTU5LjIwNmMwLTEwLjcwNS0zLjY3Ny0xOS44NzUtMTQuNDc2LTE5Ljg3NWwtMjgxLjM2NyAwLjY1Mi0yODEuNDE0LTAuNjUyYy0xMC43MDUgMC0xNC40NzYgOS4xMjMtMTQuNDc2IDE5Ljg3NWw2Mi4xODUgNTkuMjA2ek00NS43MDggMzEzLjc2M2MxLjAyNCA2Ljg0MiAxNC44OTUgNDAuOTYgMTQuODk1IDQwLjk2czEyNi44MzYtNDUuNTY4IDEzNS42OC01MS4zNGM4Ljg0NC01LjgxOCA1Ny4zOTEtNDguMzYxIDU3LjM5MS00OC4zNjFzLTM3LjE0My0xOS4wMzctNTcuMTExLTE2LjU3Yy0xOS45NjggMi41Ni03Mi43OTcgMTkuNTAzLTc1LjgyMyAxOS41MDMtMi45NzkgMC0xOS42ODktOS4yNjMtMjQuMDE3LTguNjU3LTQuMjgyIDAuODg0LTQxLjQyNSAyMi4yNDktNDQuNDUxIDI2LjA2NS0zLjAyNSAzLjc3LTcuNTQgMzEuNjUxLTYuNTYzIDM4LjR6TTMzLjkzMiAxNTguMzAxYzAgMCAyNi45NS0xNy43OCA0MC40MDEtMjIuODA3IDEzLjQ1Mi01LjEyIDk5LjA0OS0zNC45MDkgMTA4LjIxOC00MS43MDVzMzYuMDczLTQxLjIzOSAzNC40NDQtNDcuNzU2Yy0xLjU4My02LjQyMy0xMC41MTktMTQuMTk2LTE0LjAxMC0xNC40NzYtMy40NDQtMC4yNzktMTA1Ljc5OCAxOS4yNy0xMTUuNDc5IDIyLjc2MS05LjcyOCAzLjUzNy0zOS40NzEgMjQuODU1LTQzLjMzNCAzMy40NjYtMTMuNzMxIDMwLjQ0MS0xMC4yNCA3MC41MTYtMTAuMjQgNzAuNTE2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOTlmOyIgZ2x5cGgtbmFtZT0iY2hncGlsZSIgZD0iTTI4Ni42MjcgNzk2LjU3OWg1MjEuMjYzdi0xMjguMzcyaC01MjEuMjYzdjEyOC4zNzJ6TTgwNy44ODkgODY1Ljc5MmMwIDQwLjAyOS0zMi4zOTYgNzIuMzc4LTcyLjM3OCA3Mi4zNzhoLTM3Ni41NTNjLTM5LjkzNiAwLTcyLjQyNS0zMi4zMDMtNzIuNDI1LTcyLjM3OHYtNTguNjQ3aDUyMS4zMDl2NTguNjQ3ek04MTEuNDczLTIyLjIwMmMwLTAuMzcyIDAuMDkzLTAuNzkxIDAuMDkzLTEuMjF2Mi42MDdjMC0wLjYwNS0wLjA5My0wLjk3Ny0wLjA5My0xLjM5NnpNMjgyLjk5Ni0yMy40MTJjMCAwLjUxMiAwLjE0IDAuOTc3IDAuMTQgMS4yMSAwIDAuMzcyLTAuMTQgMC43OTEtMC4xNCAxLjM1di0yLjU2ek03OTMuNDYtNS4yNmgtOTkuODRjMC45NzcgMy4yNTggMS41MzYgNi44NDIgMS41MzYgMTAuNDczdjI4NC4wNjdoNDAuMzU1YzM5Ljg4OSAwIDcyLjM3OCAzMi4zOTYgNzIuMzc4IDcyLjQ3MXYyOTYuMDI5aC01MjEuMzA5di0yOTYuMDI5YzAtMzkuOTgzIDMyLjQ0Mi03Mi4zNzggNzIuNDI1LTcyLjM3OGg0MC4zMDh2LTI4NC4xNmMwLTMuNDkxIDAuNTEyLTcuMDc1IDEuNTM2LTEwLjI4N2gtOTkuNzQ3Yy05LjYzNSAwLTE3LjM2MS03LjQ0Ny0xNy45NjctMTYuOTg5IDAuNjUyLTkuMzA5IDguMzMyLTE2LjgwMyAxNy45NjctMTYuODAzaDQ5Mi4zNThjOS41NDIgMCAxNy4zMTUgNy40OTQgMTguMDEzIDE2LjgwMy0wLjY5OCA5LjQ0OS04LjQyNSAxNi44MDMtMTguMDEzIDE2LjgwM3pNNzU5LjUyOSA2MzguNTU3YzkuOTE0IDAgMTguMDYwLTguMDk5IDE4LjA2MC0xOC4xNTMgMC05Ljk2MS04LjE0NS0xOC4xMDYtMTguMDYwLTE4LjEwNi0xMC4wMDcgMC0xOC4xOTkgOC4wOTktMTguMTk5IDE4LjEwNiAwLjE0IDEwLjA1NCA4LjIzOSAxOC4xNTMgMTguMTk5IDE4LjE1M3pNNTAxLjA2MiAzMTUuMzQ1bDMxLjA0NiA5Ny4wOTQtNDUuMjQyIDExLjU0MyA4NC40OCAxNDUuODczLTIzLjI3My0xMTQuODI4IDQ1LjcwOC0yMC41MjctOTIuNzE5LTExOS4xNTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YTA7IiBnbHlwaC1uYW1lPSJjaGdwb3NpdGlvbiIgZD0iTTU1MC45NTkgMzk2LjE5NWMtOS42MzUgMS44MTUtMjguOTk4IDIuNzQ2LTU4LjA4OSAyLjc0NmgtMzkuMDA1di0xMTMuNDc4aDQ0LjE3MmMzMS44MzcgMCA1My4xMDggMi4wOTUgNjMuODYgNi4yODQgMTAuNzA1IDQuMTg5IDE5LjA4NCAxMC43MDUgMjUuMTgxIDE5LjY0MnM5LjE2OSAxOS4yNyA5LjE2OSAzMS4wOTJjMCAxNC41NjktNC4zMjkgMjYuNTMxLTEyLjggMzUuOTgtOC41MTggOS40NDktMTkuMzYzIDE1LjM2LTMyLjQ4OSAxNy43MzR6TTk3Ny40NTUgNTY0LjM2NGgtOTMwLjkwOWMtMjUuNjkzIDAtNDYuNTQ1LTIwLjg1Mi00Ni41NDUtNDYuNTQ1di00ODguNzI3YzAtMjUuNzQgMjAuODUyLTQ2LjU0NSA0Ni41NDUtNDYuNTQ1aDkzMC45MDljMjUuNzQgMCA0Ni41NDUgMjAuODA2IDQ2LjU0NSA0Ni41NDV2NDg4LjcyN2MwIDI1Ljc0LTIwLjgwNiA0Ni41NDUtNDYuNTQ1IDQ2LjU0NXpNNjY2LjExMiAyODEuNjQ3Yy04Ljg0NC0xNi43MS0yMC4yOTQtMjkuOTI5LTMzLjkzMi0zOS40NzFzLTI3LjY5NS0xNS44MjUtNDEuNzUxLTE4Ljg5N2MtMTkuMjctMy44MTctNDcuMjQ0LTUuNzI1LTgzLjc4Mi01LjcyNWgtNTIuNzgzdi0xNTAuODA3aC04MC43MXYzOTkuNzc5aDEyOS41MzZjNDkuMTUyIDAgODEuMTI5LTIuMDAxIDk2LjAyMy02LjAwNCAyMi45LTYuMDA0IDQyLjA3Ny0xOS4wMzcgNTcuNTMtMzkuMTQ1czIzLjE4LTQ1Ljk4NyAyMy4xOC03Ny44MjRjMC4wNDctMjQuNTI5LTQuNDIyLTQ1LjE5Ni0xMy4zMTItNjEuOTA1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWExOyIgZ2x5cGgtbmFtZT0iY2hnc3RhdGlvbiIgZD0iTTY2Ny43NDEgNTY4LjA4N2gtNjM4LjY5N3YxMzguNzk5bDYzOC42OTcgMTEuMTcxek05OTUuMDAyIDUyMC40NzFsLTYxOC4xNyAwLjY1Mi0zNDcuNzg4IDM1LjQ2OGg2MzguNjk3ek05OTUuMDAyIDUzMy43ODNsLTMyNy4yNjEgMzQuMzA0djE0OS45NjlsMzI3LjI2MS01My4zODh6TTE1MC43NjEgNTQ3LjMyOGg2My44NnYtNjAwLjExMWgtNjMuODZ2NjAwLjExMXpNNjM1LjgxMSA1NDcuMzI4aDYzLjgxNHYtNjAwLjExMWgtNjMuODE0djYwMC4xMTF6TTM0OC4zOTMgNTQyLjIwOGg2My44NnYtNTAzLjk0OGgtNjMuODZ2NTAzLjk0OHpNODUzLjA4NSA1MjUuODI0aDYzLjg2di00ODcuNTY0aC02My44NnY0ODcuNTY0ek00NzUuODgxIDE5OS43MjdoNzEuMDc1di0xNjEuNDY2aC03MS4wNzV2MTYxLjQ2NnpNNzM5LjE0MiAxOTkuNzI3aDcxLjA3NXYtMTYxLjQ2NmgtNzEuMDc1djE2MS40NjZ6TTI4NS4wOTEgMTgzLjYyMmwtMjQuNzE2LTIzLjY0NXYtMTYwLjk1NGgxNy41OTRsMjYuMjA1IDIzLjE4djE2MS40MnpNODM0LjAwMSAxNDQuODAzbC0yNC43MTYtMjMuNTk5di0xNjEuMDAxaDE3LjY0MWwyNi4xNTkgMjMuMTh2MTYxLjQyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWEyOyIgZ2x5cGgtbmFtZT0iY29tbW9uX2RjIiBkPSJNMTI4IDk2MGMtNzAuOTEyIDAtMTI4LTU3LjA4OC0xMjgtMTI4di03NjhjMC03MC45MTIgNTcuMDg4LTEyOCAxMjgtMTI4aDc2OGM3MC45MTIgMCAxMjggNTcuMDg4IDEyOCAxMjh2NzY4YzAgNzAuOTEyLTU3LjA4OCAxMjgtMTI4IDEyOGgtNzY4ek0yNjYuMTgyIDg4Ny4yNzdoNDkwLjE4MmM0My41OTYgMCA4MC0zMi43MyA4MC03Mi43MzZ2LTczOC45MDZjMC00MC0zNi40MDQtNzIuNzIzLTgwLTcyLjcyM2gtNDkwLjE4MmMtNDMuNTk2IDAtNzguNTQ1IDMyLjcyMy03OC41NDUgNzIuNzIzdjczOC45MDZjMCA0MC4wMDYgMzQuOTUgNzIuNzM2IDc4LjU0NSA3Mi43MzZ6TTY2Ny42MzYgNzcwLjkxMmMtNDEuMzYgMC03My41MjktMTIuODc3LTk4LjkwOS0zNy44MTgtMjUuMzgtMjQuOTQ3LTM3LjgxOC01OS42MzUtMzcuODE4LTEwNC43MyAwLTQyLjYzIDEyLjU3Mi03Ny4yNDIgMzcuODE4LTEwMS44MTggMjUuMjQ2LTI0LjU4MiA1Ni43ODgtMzQuOTEyIDk2LTM0LjkxMiAzMS42OTEgMCA1OS4zODcgNS45NTIgODAgMjAuMzY1IDIwLjYxMyAxNC4zNTUgMzQuNzczIDM3LjMzOCA0My42MzYgNjYuOTA2bC01OC4xODIgMTQuNTU0Yy00Ljk2OS0xOS44NDYtMTEuODU5LTM0LjQtMjMuMjczLTQzLjY0MnMtMjYuMzM2LTExLjYzNS00Mi4xODItMTEuNjM1Yy0yMS40ODYgMC0zOC45MzUgNS44MjQtNTIuMzY0IDIwLjM1OC0xMy40MjkgMTQuNTQ3LTIwLjM2NCAzOC40ODMtMjAuMzY0IDcyLjczNiAwIDMyLjI3NSA2LjczNCA1NS4zOTggMjAuMzY0IDY5LjgxMSAxMy42MyAxNC40MTkgMzEuOTI5IDIzLjI3NyA1My44MTggMjMuMjc3IDE1Ljg0NiAwIDI5LjY0OC0zLjQ1NiA0MC43MjctMTEuNjM1IDExLjA3OC04LjEyOCAxOC4zMjYtMjAuODY0IDIxLjgxOC0zNC45MTJsNTguMTgyIDE0LjU0N2MtNi43MTUgMjEuNjgzLTE3LjExNyAzNy44NjktMzAuNTQ1IDQ5LjQ1My0yMi41NiAxOS41OS01Mi42MDUgMjkuMDk0LTg4LjcyNyAyOS4wOTR6TTI0Mi45MDkgNzY1LjA4OHYtMjcwLjU0N2gxMTMuNDU1YzIyLjAyMyAwIDM5LjIwMyAxLjk4NCA1Mi4zNjQgNS44MjQgMTcuNTkxIDUuMTg0IDMwLjM4NyAxNC4wNDIgNDAuNzI3IDIzLjI3NyAxMy42OTcgMTIuMTk4IDI0LjYxNCAyNi44MzUgMzIgNDYuNTQ3IDYuMDQyIDE2LjE0MSA4LjcyNyAzNS44ODUgOC43MjcgNTguMTgyIDAgMjUuMzgyLTIuMjgyIDQ2LjY4OC04LjcyNyA2NC02LjQ0NiAxNy4zMDYtMTYuNzM3IDMxLjY4LTI5LjA5MSA0My42MzUtMTIuMzU1IDExLjk0OS0yNi4zMTQgMjEuNTA0LTQzLjYzNiAyNi4xODItMTIuODkyIDMuNDU2LTMzLjYwOCAyLjg4LTU4LjE4MiAyLjg4aC0xMDcuNjM2ek0zMDIuNTQ1IDcyMS40NDZoMjYuMTgyYzI0LjMwNiAwIDQxLjEyOS0xLjIxNiA0OS40NTUtMi44OCAxMS4xNDYtMi4yNCAyMS44MzktOC4yNTYgMjkuMDkxLTE0LjU0MSA3LjI1MS02LjI3MiAxMC41MTctMTQuOTc2IDE0LjU0NS0yNi4xODIgNC4wMjgtMTEuMjEzIDcuMjczLTI1LjYgNy4yNzMtNDYuNTU0IDAtMjAuOTQxLTMuMjQ0LTM3LjMxOC03LjI3My00OS40NDYtNC4wMjktMTIuMTM0LTguMTY3LTIwLjg5LTE0LjU0NS0yNi4xODktNi4zNzktNS4zMTItMTUuMDU5LTkuNDE0LTI0LjcyNy0xMS42MjktNy4zODYtMS43MjgtMTkuNzEyLTIuODgtMzYuMzY0LTIuODhoLTQzLjYzNnYxODAuMzY1ek0yNzIgMzYwLjcxN2MtMTUuMTM5IDAtMjcuNjM2LTEwLjM3NC0yNy42MzYtMjMuMjY0IDAtMTIuOTAyIDEyLjQ5OC0yMy4yNzcgMjcuNjM2LTIzLjI3N2g0ODUuODE4YzE1LjEzOSAwIDI3LjYzNiAxMC4zNzQgMjcuNjM2IDIzLjI3NyAwIDEyLjg5LTEyLjQ5OCAyMy4yNjQtMjcuNjM2IDIzLjI2NGgtNDg1LjgxOHpNMjcyIDIyNi44OTljLTE1LjEzOSAwLTI3LjYzNi0xMC4zODEtMjcuNjM2LTIzLjI3IDAtMTIuODk2IDEyLjQ5OC0yMy4yNyAyNy42MzYtMjMuMjdoNDg1LjgxOGMxNS4xMzkgMCAyNy42MzYgMTAuMzc0IDI3LjYzNiAyMy4yNyAwIDEyLjg5LTEyLjQ5OCAyMy4yNy0yNy42MzYgMjMuMjdoLTQ4NS44MTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YTM7IiBnbHlwaC1uYW1lPSJjb21tb25fbmNkIiBkPSJNMTUyIDk2MGMtODQuMzIgMC0xNTItNjcuNjgtMTUyLTE1MnYtNzIwYzAtODQuMzIgNjcuNjgtMTUyIDE1Mi0xNTJoNzIwYzg0LjMyIDAgMTUyIDY3LjY4IDE1MiAxNTJ2NzIwYzAgODQuMzItNjcuNjggMTUyLTE1MiAxNTJ6TTEwNCA3OTRoOThsMjAyLTI2NHYyNjRoOTR2LTMwMmMtMTcuNTM4IDUuMDk4LTM3LjAyNCA4LTU2IDgtMzcuMDg0IDAtNzEuNDkxLTExLjc0Mi0xMDItMzBsLTE0NCAxODZ2LTI1OGgtOTJ6TTQ1NiA0MDguNjY0YzQwLjAxMyAwIDczLjAxMC0xMC4zNTMgOTgtMzQgMTQuODc0LTEzLjk4MiAyNi41NjItMzMuODI0IDM0LTYwbC02Ni0xNmMtMy44NjggMTYuOTU2LTkuNzI5IDMwLjE4LTIyIDQwLTEyLjI3MiA5LjgyNS0yOC40NDggMTQtNDYgMTQtMjQuMjQ2IDAtNDQuOTAyLTguNTkzLTYwLTI2LTE1LjA5OC0xNy40MDEtMjItNDUuMDI5LTIyLTg0IDAtNDEuMzU3IDcuMTI1LTcyLjQ1IDIyLTkwczM2LjItMjQgNjAtMjRjMTcuNTUyIDAgMzEuMzU2IDQuODQ0IDQ0IDE2czIwLjQ5NiAyOC4wNTAgMjYgNTJsNjQtMjBjLTkuODE4LTM1LjcwNS0yNS4xNjgtNjAuNjczLTQ4LTc4cy01MC44OTYtMjgtODYtMjhjLTQzLjQzNCAwLTgwLjAzNiAxNi4zMy0xMDggNDYtMjcuOTY1IDI5LjY3Ni00MiA2OC41MzItNDIgMTIwIDAgNTQuNDM3IDEzLjg4NyA5Ny44NzkgNDIgMTI4czY0LjE4NiA0NCAxMTAgNDR6TTY0NiA0MDIuNjY0aDEyMmMyNy4yMjEgMCA0Ny43MiAwLjE2OCA2Mi00IDE5LjE4OC01LjY1MiAzNC4zMTUtMTcuNTczIDQ4LTMyczI0Ljg2LTMxLjEwNSAzMi01MmM3LjE0LTIwLjkwMSAxMC00Ny4zNTkgMTAtNzggMC0yNi45MjQtMy4zMDctNTAuNTE1LTEwLTcwLTguMTgxLTIzLjc5Ni0yMC44MjgtNDEuMjctMzYtNTYtMTEuNDU0LTExLjE1Ni0yNi41MTQtMTkuNzU0LTQ2LTI2LTE0LjU3Ny00LjYzLTMzLjYwNi04LTU4LThoLTEyNHpNNzEyIDM0OC42NjR2LTIxNmg1MGMxOC40NDUgMCAzMS44MTktMC4wNTUgNDAgMiAxMC43MSAyLjY3MiAxOC45MzQgNy42MDYgMjYgMTRzMTMuNTM3IDE3LjM0NSAxOCAzMmM0LjQ2MyAxNC42NSA2IDM0LjcxNCA2IDYwcy0xLjUzOCA0NC40NjQtNiA1OGMtNC40NjMgMTMuNTM2LTExLjk2OCAyNC40MTMtMjAgMzItOC4wMzMgNy41ODItMTcuNjU0IDEzLjMxNy0zMCAxNi05LjIyMyAyLjM0MS0yNy4wNzcgMi01NCAyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWE0OyIgZ2x5cGgtbmFtZT0iY29tbW9uX25jZF9icmVhayIgZD0iTTgyMCA5NjBsLTQwLTQgMTItNjYgNDAgNC0xMiA2NnpNNjc4IDkzOGMtMzkuMDgzIDAtNjgtMzAuOTY2LTY4LTcwIDAtMzkuMDIxIDI4LjkxNy03MCA2OC03MCAxMC44MzEgMCAyMi44MjMgMS42NDggMzIgNmw0OC00NiAzNiAzOC00OCA0OGMyLjYyIDcuMzkyIDQgMTUuNzI1IDQgMjQgMCAzOS4wMzQtMzIuOTE2IDcwLTcyIDcwek05NDggOTE2bC05MC02MCAzMC00NiA5MCA2Mi0zMCA0NHpNMTUwIDg2MmMtODQuMDgxIDAtMTUwLTY2LjA0NS0xNTAtMTUwdi02MjZjMC04My45NjIgNjUuOTE5LTE1MCAxNTAtMTUwaDYyOGM4NC4wODEgMCAxNTAgNjYuMDM4IDE1MCAxNTB2NDIwYy05Ny4wMDktMzUuNTUyLTIxOS41MzgtNC45MzEtMzA0IDgyLTc5LjA2OCA4MS4zODItMTAyLjk1NSAxODcuOTg0LTY4IDI3NGgtNDA2ek0xMDIwIDc5MmwtNjYtMTIgNC00MCA2NiAxMi00IDQwek02NjIgNzcwbC02Ni0xMiA0LTM4IDY2IDEwLTQgNDB6TTg1OCA3NDJsLTM4LTM4IDM4LTM2Yy0yLjUzMS03LjI3LTYtMTUuODY2LTYtMjQgMC0zOS4wMjcgMzAuOTE2LTcwIDcwLTcwczcyIDMwLjk3MyA3MiA3MGMwIDM5LjAyNy0zMi45MTcgNzItNzIgNzItMTAuOTkyIDAtMjAuNzE5LTMuNTA3LTMwLThsLTM0IDM0ek03MzIgNzAwbC05MC02MiAyOC00NCA5MiA1OC0zMCA0OHpNMTA0IDY3Mmg5MmwxOTAtMjMydjIzMmg4OHYtMjY2Yy0xNi41MDkgNC41MjMtMzQuMTM4IDgtNTIgOC0zNC45MDcgMC02Ny4yODItOS45MDgtOTYtMjZsLTEzNiAxNjR2LTIyOGgtODZ2MzQ4ek04MjYgNjE2bC00MC0yIDEwLTY2IDQwIDQtMTAgNjR6TTQzNiAzNjJjMzcuNjY0IDAgNjguNDc3LTkuMTYxIDkyLTMwIDE0LjAwMS0xMi4zMTYgMjQuOTk5LTMwLjkyOSAzMi01NGwtNjItMTRjLTMuNjQxIDE0Ljk0LTEwLjQ0OSAyNy4zNDktMjIgMzYtMTEuNTUyIDguNjYtMjUuNDc4IDEyLTQyIDEyLTIyLjgyMyAwLTQxLjc4OC04LjY2LTU2LTI0LTE0LjIxMi0xNS4zMy0yMi0zOS42NTUtMjItNzQgMC0zNi40NDUgNy45OTgtNjIuNTQxIDIyLTc4IDE0LjAwMi0xNS40NjMgMzMuNTk3LTIyIDU2LTIyIDE2LjUyMiAwIDI4LjA5OCA0LjE4OCA0MCAxNCAxMS45MDEgOS44MzEgMjAuODE5IDI0LjkgMjYgNDZsNjAtMThjLTkuMjQxLTMxLjQ2LTI0LjUwOC01Mi43MjctNDYtNjgtMjEuNDkzLTE1LjI2My00Ni45NTYtMjQtODAtMjQtNDAuODg1IDAtNzUuNjc3IDEzLjg0OC0xMDIgNDBzLTQwIDYwLjY0Ny00MCAxMDZjMCA0Ny45NzEgMTMuNTM3IDg1LjQ1OCA0MCAxMTJzNjAuODc1IDQwIDEwNCA0MHpNNjE0IDM1NmgxMTZjMjUuNjIzIDAgNDQuNTU4LTAuNTI1IDU4LTQgMTguMDYyLTQuOTYxIDMxLjExOC0xNS4yNzkgNDQtMjggMTIuODgxLTEyLjcwNyAyMy4yNzktMjcuNTg1IDMwLTQ2czEwLTQwLjk5NiAxMC02OGMwLTIzLjcyNC0zLjctNDQuODMyLTEwLTYyLTcuNzAxLTIwLjk3Mi0xOS43MTktMzcuMDEyLTM0LTUwLTEwLjc4Mi05LjgyNy0yMy42NTgtMTYuNDk2LTQyLTIyLTEzLjcyMi00LjA0Ny0zMy4wMzctOC01Ni04aC0xMTZ2Mjg4ek02NzYgMzA4di0xOTBoNDhjMTcuMzYyIDAgMzAuMjk5IDAuMjM3IDM4IDIgMTAuMDgxIDIuMzgxIDE3LjM0OSA2LjM2OCAyNCAxMiA2LjY1MSA1LjYzNyAxMS43OTkgMTUuMDg4IDE2IDI4czYgMzEuNzE5IDYgNTRjMCAyMi4yODYtMS44IDM4LjA3NC02IDUwLTQuMjAxIDExLjkzNi0xMC40MzkgMjEuMzE2LTE4IDI4cy0xNi4zNzkgMTEuNjM0LTI4IDE0Yy04LjY4MSAyLjA5NS0yNi42NTcgMi01MiAyaC0yOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlhNTsiIGdseXBoLW5hbWU9ImNvbW1vbl9zYyIgZD0iTTEyOCA5NjBjLTcwLjkxMiAwLTEyOC01Ny4wODgtMTI4LTEyOHYtNzY4YzAtNzAuOTEyIDU3LjA4OC0xMjggMTI4LTEyOGg3NjhjNzAuOTEyIDAgMTI4IDU3LjA4OCAxMjggMTI4djc2OGMwIDcwLjkxMi01Ny4wODggMTI4LTEyOCAxMjhoLTc2OHpNMTkyIDgxNGg2MjhjMjYuMDEyIDAgNDkuNTQyLTExLjAxOSA2OC0yNiAyMi4xMDktMTcuOTQ0IDM4LTQyLjkzOCAzOC03MnYtMzgwYzAtNTMuMzI1LTQ4LjgzLTk2LTEwNi05NmgtMjUyYzEzLjc1NS0yNi44MSAyOC4yOTItNjYuNTg5IDEyLTg2LTI4LjE5OS0zMy41OTQtMTA3LjA2MC0zMy4wMzAtMTM2IDAtMTYuNjIgMTguOTc2LTIuMzI1IDU5LjAzMCAxMCA4NmgtMjYyYy01Ny4xNyAwLTEwNCA0Mi42NzUtMTA0IDk2djM4MGMwIDI5LjA2MiAxMy44OTEgNTQuMDU2IDM2IDcyIDE4LjQ1OCAxNC45ODEgNDEuOTg4IDI2IDY4IDI2ek0zMDggNzMyYy0zMS42ODggMC01Ny41OTQtNC40MzgtODAtMTRzLTQwLjA5NC0yMy43MTktNTItNDJjLTExLjkwNi0xOC4yODItMTgtMzktMTgtNjAgMC0zMi42MjUgMTIuNjg3LTU5LjMxMyAzOC04MiAxOC0xNi4xMjUgNDkuMzc1LTI4LjkzOCA5NC00MCAzNC42ODctOC42MjUgNTguMjUtMTQuNjI1IDY4LTE4IDE0LjI1LTUuMDYzIDIyLjI4MS0xMS4xNTYgMjgtMThzMTAtMTYuMjUgMTAtMjZjMC0xNS4xODgtNi40MDctMjguNjU2LTIwLTQwcy0zNS4xODgtMTYtNjItMTZjLTI1LjMxMyAwLTQ1LjA5NCA1LjI1LTYwIDE4cy0yNS4xMjUgMzIuODEyLTMwIDYwbC04MC04YzUuNDM3LTQ2LjEyNSAyMi4wNjItNzkuOTA2IDUwLTEwNHM2Ny44NzUtMzYgMTIwLTM2YzM1LjgxMiAwIDY2IDMuOTY5IDkwIDE0czQyLjg3NSAyNS4zNzUgNTYgNDZjMTMuMTI1IDIwLjYyNSAxOCA0Mi4zNzUgMTggNjYgMCAyNi4wNjItNS4wMzIgNDguMjgxLTE2IDY2cy0yNi41OTQgMzEuNzgxLTQ2IDQyYy0xOS40MDcgMTAuMjE5LTQ5LjUgMjAuNDM3LTkwIDMwcy02NS41IDE5LjE4Ny03NiAyOGMtOC4yNSA2LjkzNy0xMiAxNC4yNS0xMiAyNCAwIDEwLjY4NyA1LjE4NyAxOS42MjUgMTQgMjYgMTMuNjg3IDkuOTM3IDMxLjgxMiAxNiA1NiAxNiAyMy40MzcgMCA0MC4yODEtNC43MTkgNTItMTRzMjAuNDM3LTI0LjgxMyAyNC00Nmw4MiA0Yy0xLjMxMyAzNy44NzUtMTMuODQ0IDY3LjMxMi00MCA5MHMtNjYuMjUgMzQtMTE4IDM0ek03MjggNzMyYy01Ny43NSAwLTEwNC41NjMtMTguMDMyLTE0MC01NnMtNTQtOTEuMzc1LTU0LTE2MGMwLTY0Ljg3NSAxOC43NS0xMTYuNTk0IDU0LTE1NHM3OS4yNS01NiAxMzQtNTZjNDQuMjUgMCA4MS4yMTggMTAuMTU2IDExMCAzMnM0OS42MjUgNTUgNjIgMTAwbC04MCAyNmMtNi45MzgtMzAuMTg4LTIwLjA2My01MS45MzgtMzYtNjZzLTMzLjg3NS0yMi01Ni0yMmMtMzAgMC01NS4yNSAxMS44NzUtNzQgMzRzLTI4IDU5Ljg3NS0yOCAxMTJjMCA0OS4xMjUgMTAuOTY5IDg0LjA2MiAzMCAxMDZzNDMuNDM3IDMyIDc0IDMyYzIyLjEyNSAwIDQwLjUzMS01LjYyNSA1Ni0xOHMyNS4xMjUtMjguNjI1IDMwLTUwbDgyIDIwYy05LjM3NSAzMy0yMy4yNSA1OC4zNzUtNDIgNzYtMzEuNSAyOS44MTItNzEuNTYzIDQ0LTEyMiA0NHpNNDE4IDE0NmMxLjA5Ni04LjEyOCA1LjA0Ni0xNC40MDYgMTAtMjAgMzUuOTQ0LTQwLjYxNCAxMzQuOTc3LTQxLjMxMiAxNzAgMCA0LjY4NSA1LjUwNCA3LjEwNyAxMi4xODYgOCAyMCA2Mi42NjEtOC4yNjIgMTA0LTI1LjIyMiAxMDQtNDQgMC0yNy4xMS04OC4zLTQ4LTE5OC00OHMtMjAwIDIwLjg5LTIwMCA0OGMwIDE4Ljc3OCA0My4zMzkgMzUuNzM4IDEwNiA0NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlhNjsiIGdseXBoLW5hbWU9Im5ldHdvcmtUcmVlIiBkPSJNNDk2IDk2MGMtODguMzY2IDAtMTYwLTcxLjYzNC0xNjAtMTYwIDAtMjQuNjE2IDYuMDY5LTQ3LjE2OCAxNi02OC0yLjcxNyAwLjEzNy01LjI0OSAwLTggMC04OC4zNjYgMC0xNjAtNzEuNjM0LTE2MC0xNjAgMC0yNy40NTYgNS44MTUtNTMuNDIxIDE4LTc2LTY2LjU4LTE5LjM2My0xMTYtNzkuMTcyLTExNi0xNTIgMC0zNS4xMjkgMTIuODA3LTY3LjYwOSAzMi05NC02Ny44MDYtMTguNTcxLTExOC04MC4zMDEtMTE4LTE1NCAwLTg4LjM2NiA3MS42MzQtMTYwIDE2MC0xNjAgNDYuODM0IDAgODguNzQgMTkuOTMgMTE4IDUyIDI5LjI4NC0zMi40NzQgNzIuODI5LTUyIDEyMC01MiA0NS4xNzkgMCA4NC45MDYgMTcuODg3IDExNCA0OCAyOS4wOTQtMzAuMTEzIDcwLjgyMS00OCAxMTYtNDggNDcuMTcxIDAgODguNzE2IDE5LjUyNiAxMTggNTIgMjkuMjYtMzIuMDcwIDcxLjE2Ni01MiAxMTgtNTIgODguMzY2IDAgMTYwIDcxLjYzNCAxNjAgMTYwIDAgNzUuMDc0LTUyLjI1NyAxMzYuNzQ3LTEyMiAxNTQgMTguNzQ1IDI2LjIwNiAzMCA1OS4zMjQgMzAgOTQgMCA4MC4wMzktNTkuMjU5IDE0NC4yMTMtMTM2IDE1NiA4LjA5NiAxOS4xNDIgMTIgNDEuOTA5IDEyIDY0IDAgODguMzY2LTcxLjYzNCAxNjAtMTYwIDE2MC00Ljg0MyAwLTkuMjY2LTEuNTc5LTE0LTIgMTIuOTc5IDIzLjEyMyAyMiA0OS41OTcgMjIgNzggMCA4OC4zNjYtNzEuNjM0IDE2MC0xNjAgMTYwek00ODYgNjQwYzMuMzg0LTAuMjE0IDYuNTYyIDAgMTAgMCA0LjgxNCAwIDkuMjk0LTAuNDE2IDE0IDAtNC44NzUtOC43MjItMTAuODA4LTE2LjM2OS0xNC0yNi0yLjQ5NCA5LjAyMS02LjA0MCAxNy42OTQtMTAgMjZ6TTQ5NCA1MjJjMS43ODktNi44NjYgMy4zNTQtMTMuNTI1IDYtMjAtNC43Ny0wLjI0Ni05LjM0OS0xLjM0Ni0xNC0yIDMuNDU5IDYuODU4IDUuNTQzIDE0LjYyIDggMjJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YTc7IiBnbHlwaC1uYW1lPSJyZXNvdXJjZVR5cGUiIGQ9Ik0xOTIgOTYwYy0xMDUuNTIyIDAtMTkwLTg0LjQ3OC0xOTAtMTkwdi02NDRjMC0xMDUuNTIyIDg0LjQ3OC0xOTAgMTkwLTE5MGg2NDRjMTA1LjUyMiAwIDE5MCA4NC40NzggMTkwIDE5MHY2NDRjMCAxMDUuNTIyLTg0LjQ3OCAxOTAtMTkwIDE5MGgtNjQ0ek04MDAgODY0YzUyLjU5OCAwIDk2LTQzLjQwMyA5Ni05NnMtNDMuNDAyLTk2LTk2LTk2Yy01Mi41OTggMC05NCA0My40MDMtOTQgOTZzNDEuNDAyIDk2IDk0IDk2ek0xNTYgODUyaDQ0NnYtMTc2aC00NDZ2MTc2ek04MDQgNTQyYzUyLjU5OCAwIDk2LTQzLjQwMyA5Ni05NnMtNDMuNDAyLTk2LTk2LTk2Yy01Mi41OTggMC05NCA0My40MDMtOTQgOTZzNDEuNDAyIDk2IDk0IDk2ek0xNTAgNTM2aDQ0NHYtMTc2aC00NDR2MTc2ek0xNTYgMjIwaDQ0NnYtMTc2aC00NDZ2MTc2ek04MDggMjIwYzUyLjU5OCAwIDk0LTQzLjQwMiA5NC05NnMtNDEuNDAyLTk2LTk0LTk2Yy01Mi41OTggMC05NiA0My40MDItOTYgOTZzNDMuNDAyIDk2IDk2IDk2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWE4OyIgZ2x5cGgtbmFtZT0idHJlZS1pY29uIiBkPSJNMzg0IDk2MGgyNTZ2LTI1NmgtNTYuNjE3di0xMjhoMzEyLjYxN3YtMzg0aDEyOHYtMjU2aC0zODR2MjU2aDEyOHYyNTZoLTUxMnYtMjU2aDEyOHYtMjU2aC0zODR2MjU2aDEyOHYzODRoMzIyLjg3M3YxMjhoLTY2Ljg3M3YyNTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YTk7IiBnbHlwaC1uYW1lPSJ1ZXAtdG9wby1ncm91cDIweDIwIiBkPSJNMCA3MDR2LTE5Mmg5NnYtMzIwaC05NnYtMjU2aDI1NnYyNTZoLTk2djMyMGgzMjB2LTMyMGgtOTZ2LTI1NmgyNTZ2MjU2aC05NnYzMjBoMzIwdi0zMjBoLTk2di0yNTZoMjU2djI1NmgtOTZ2MzIwaDk2djE5MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlhYTsiIGdseXBoLW5hbWU9InVlcC10b3BvLXJvb3QiIGQ9Ik04NiA5NjBjLTQ3LjQ3NyAwLTg2LTM4LjUyMy04Ni04NnYtNTMyYzAtNDcuNDc3IDM4LjUyMy04NiA4Ni04NmgzNTBsLTQ0LTE3MmMxMDguMTQzLTM4LjgwOCAxNzguNTE2LTI2LjkyOCAyNDAgMGwtMzQgMTcyaDM0MGM0Ny40NzcgMCA4NiAzOC41MjMgODYgODZ2NTMyYzAgNDcuNDc3LTM4LjUyMyA4Ni04NiA4NmgtODUyek0xMTAgODQ4aDgwNHYtNDY4aC04MDR2NDY4ek0zMDQgMTIwYy0zNy4yMjctMTkuMzU5LTYwLTQ1LjE1NS02MC03MiAwLTYyLjI1IDEyMC4wOTQtMTEyIDI2OC0xMTJzMjY4IDQ5Ljc1IDI2OCAxMTJjMCAyNi44NDUtMjIuNzczIDUyLjY0MS02MCA3Mi0yMi4zNzYtNjMuNTE4LTEwNi4xMDktMTEyLTIwOC0xMTJzLTE4NS42MjQgNDguNDgyLTIwOCAxMTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YWI7IiBnbHlwaC1uYW1lPSJ1ZXAtdG9wby12aXJ0dWFsMjB4MjAiIGQ9Ik0wIDQ0NC45OTdoMTkydi01MDguOTk3aC0xOTJ2NTA4Ljk5N3pNNjIzLjgxOSA5NjB2LTM4NGwxMzYgMTIydi03NjJoMTI4djc0NmwxMzYtMTIydjM4NGwtMTkyLTE3Mi0yMDggMTg4ek0yOTguODU3IDQ0NC45OTdoMTkydi01MDguOTk3aC0xOTJ2NTA4Ljk5N3pNNTk3LjcxNCA0NDQuOTk3aDE5MnYtNTA4Ljk5N2gtMTkydjUwOC45OTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YWM7IiBnbHlwaC1uYW1lPSJjb21tb25fbmNkX3N0b3AiIGQ9Ik04MTQgOTYwLjAwMmMtMTE1LjgzMyAwLTIwOC05NC4zNzEtMjA4LTIxMCAwLTExNS42MjMgOTIuMTY3LTIwOCAyMDgtMjA4czIxMCA5Mi4zNzcgMjEwIDIwOGMwIDExNS42MjktOTQuMTY3IDIxMC0yMTAgMjEwek0xNTIgODY2LjAwMmMtODQuNDMyIDAtMTUyLTY3LjcxNy0xNTItMTUydi02MjZjMC04NC4yNzcgNjcuNTY4LTE1MiAxNTItMTUyaDYyOGM4NC40MzIgMCAxNTAgNjcuNzIzIDE1MCAxNTJ2MzkyYy0zNS44NjctMTYuMjQyLTc0LjA1MC0yNi0xMTYtMjYtMTU3LjQ0NSAwLTI4NiAxMjYuODI3LTI4NiAyODQgMCA0NS43MjEgMTAuODAyIDg5LjcxOSAzMCAxMjhoLTQwNnpNNzA0IDg1NC4wMDJoNzB2LTIwNmgtNzB2MjA2ek04NTYgODU0LjAwMmg3MHYtMjA2aC03MHYyMDZ6TTExMCA2NjguMDAyaDg0bDE3Ni0yMjh2MjI4aDgwdi0yNjBjLTE1LjE3MyA0LjQzMy0zMS41ODMgNi00OCA2LTMyLjA4MyAwLTYxLjYwNS0xMC4yMjktODgtMjZsLTEyNCAxNjB2LTIyMmgtODB2MzQyek00MTQgMzYyLjAwMmMzNC42MTcgMCA2Mi4zOC05LjU3NyA4NC0zMCAxMi44NjktMTIuMDcxIDIzLjU2NS0yNy4zODkgMzAtNTBsLTU2LTE0Yy0zLjM0NiAxNC42NDItOS4zODMgMjUuNTIyLTIwIDM0LTEwLjYxNyA4LjQ4Ny0yNC44MTUgMTItNDAgMTItMjAuOTc2IDAtMzguOTM4LTYuOTY2LTUyLTIyLTEzLjA2Mi0xNS4wMjQtMTgtNDAuMzQtMTgtNzQgMC0zNS43MTggNS4xMzEtNjAuODUgMTgtNzYgMTIuODY5LTE1LjE1NSAzMS40MS0yMiA1Mi0yMiAxNS4xODUgMCAyNy4wNjEgNC4zODMgMzggMTQgMTAuOTM4IDkuNjM1IDE3LjIzOCAyNS4zMjEgMjIgNDZsNTYtMThjLTguNDk0LTMwLjgzMy0yMi4yNDYtNTMuMDMyLTQyLTY4LTE5Ljc1NC0xNC45NTktNDMuNjMtMjQtNzQtMjQtMzcuNTc3IDAtNjkuODA3IDE0LjM3LTk0IDQwcy0zNiA1OS41NTItMzYgMTA0YzAgNDcuMDE0IDExLjY3OCA4My45ODcgMzYgMTEwczU2LjM2NCAzOCA5NiAzOHpNNTc4IDM1Ni4wMDJoMTA2YzIzLjU1IDAgNDEuNjQ2IDEuNDA2IDU0LTIgMTYuNjAxLTQuODYyIDMwLjE2LTE1LjUzMyA0Mi0yOCAxMS44MzktMTIuNDUzIDE5LjgyMy0yNS45NTIgMjYtNDRzMTAtNDEuNTM1IDEwLTY4YzAtMjMuMjUtNC4yMS00My4xNzUtMTAtNjAtNy4wNzgtMjAuNTUzLTE2Ljg3NC0zNy4yNzEtMzAtNTAtOS45MDktOS42MzEtMjMuMTQyLTE2LjYwNi00MC0yMi0xMi42MTItMy45NjYtMjguODk1LTYtNTAtNmgtMTA4djI4MHpNNjM2IDMxMC4wMDJ2LTE4Nmg0MmMxNS45NTcgMCAyOC45MjIgMC4yNzUgMzYgMiA5LjI2NSAyLjMzMyAxNS44ODcgNi40OCAyMiAxMiA2LjExMyA1LjUyNCAxMi4xMzkgMTUuMzQ2IDE2IDI4czQgMzAuMTYzIDQgNTJjMCAyMS44NDEtMC4xNDEgMzguMzEyLTQgNTAtMy44NjEgMTEuNjk4LTExLjA1MSAxOS40NDktMTggMjZzLTE1LjMxOSAxMS42ODEtMjYgMTRjLTcuOTc5IDIuMDUzLTIyLjcwNyAyLTQ2IDJoLTI2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWFkOyIgZ2x5cGgtbmFtZT0idWVwLW1vYy1yb290IiBkPSJNMTIwIDc1NC44MTdsLTU4LTEyNGg4OTRsLTMwIDY0aC00MjRsLTE2IDYwek0wIDUzMGw2NC01OTRoODk4bDYyIDU5NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlhZTsiIGdseXBoLW5hbWU9InVlcC10b3BvLXVuZGVmaW5lZGdyb3VwMjB4MjAiIGQ9Ik0wIDcwNHYtMTkyaDk2di0zMjBoLTk2di0yNTZoMjU2djI1NmgtOTZ2MzIwaDMyMHYtMzIwaC05NnYtMjU2aDI1NnYyNTZoLTk2djMyMGgzMjB2LTMyMGgtOTZ2LTI1NmgyNTZ2MjU2aC05NnYzMjBoOTZ2MTkyek02NCAxMjhoMTI4di0xMjhoLTEyOHpNNDQ4IDEyOGgxMjh2LTEyOGgtMTI4ek04MzIgMTI4aDEyOHYtMTI4aC0xMjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YWY7IiBnbHlwaC1uYW1lPSJhbmFseXNpcyIgZD0iTTI4OC40MTQgNTU3LjgyYzAtMC4wMDkgMC0wLjAyMCAwLTAuMDMwIDAtNzkuNjQzLTY0LjU2NC0xNDQuMjA3LTE0NC4yMDctMTQ0LjIwN3MtMTQ0LjIwNyA2NC41NjQtMTQ0LjIwNyAxNDQuMjA3YzAgMC4wMTEgMCAwLjAyMSAwIDAuMDMyIDAgMC4wMDcgMCAwLjAxOCAwIDAuMDI5IDAgNzkuNjQzIDY0LjU2NCAxNDQuMjA3IDE0NC4yMDcgMTQ0LjIwN3MxNDQuMjA3LTY0LjU2NCAxNDQuMjA3LTE0NC4yMDdjMC0wLjAxMSAwLTAuMDIxIDAtMC4wMzJ6TTI4Ny4yNiAxNDguMjcyYzAtMC4wMDcgMC0wLjAxNiAwLTAuMDI1IDAtNjQuMzUyLTUyLjE2Ny0xMTYuNTE5LTExNi41MTktMTE2LjUxOXMtMTE2LjUxOSA1Mi4xNjctMTE2LjUxOSAxMTYuNTE5YzAgMC4wMDkgMCAwLjAxNyAwIDAuMDI2IDAgMC4wMDYgMCAwLjAxNSAwIDAuMDIzIDAgNjQuMzUyIDUyLjE2NyAxMTYuNTE5IDExNi41MTkgMTE2LjUxOXMxMTYuNTE5LTUyLjE2NyAxMTYuNTE5LTExNi41MTljMC0wLjAwOSAwLTAuMDE3IDAtMC4wMjZ6TTcxNi40MTkgNjEuNzQ4YzAtMC4wMDggMC0wLjAxNyAwLTAuMDI2IDAtNjkuNDQ5LTU2LjI5OS0xMjUuNzQ4LTEyNS43NDgtMTI1Ljc0OHMtMTI1Ljc0OCA1Ni4yOTktMTI1Ljc0OCAxMjUuNzQ4YzAgMC4wMDkgMCAwLjAxOSAwIDAuMDI4IDAgMC4wMDYgMCAwLjAxNiAwIDAuMDI1IDAgNjkuNDQ5IDU2LjI5OSAxMjUuNzQ4IDEyNS43NDggMTI1Ljc0OHMxMjUuNzQ4LTU2LjI5OSAxMjUuNzQ4LTEyNS43NDhjMC0wLjAwOSAwLTAuMDE5IDAtMC4wMjh6TTc0OC43MjEgNzMyLjAyMWMwLTAuMDE0IDAtMC4wMzEgMC0wLjA0NyAwLTEyNC4yNDMtMTAwLjcxOS0yMjQuOTYzLTIyNC45NjMtMjI0Ljk2M3MtMjI0Ljk2MyAxMDAuNzE5LTIyNC45NjMgMjI0Ljk2M2MwIDAuMDE3IDAgMC4wMzMgMCAwLjA1MCAwIDAuMDExIDAgMC4wMjggMCAwLjA0NSAwIDEyNC4yNDMgMTAwLjcxOSAyMjQuOTYzIDIyNC45NjMgMjI0Ljk2M3MyMjQuOTYzLTEwMC43MTkgMjI0Ljk2My0yMjQuOTYzYzAtMC4wMTcgMC0wLjAzMyAwLTAuMDUwek0xMDI1LjU5OCA0MTguMjI3YzAtMC4wMTEgMC0wLjAyNCAwLTAuMDM3IDAtOTcuNDgzLTc5LjAyNi0xNzYuNTA5LTE3Ni41MDktMTc2LjUwOXMtMTc2LjUwOSA3OS4wMjYtMTc2LjUwOSAxNzYuNTA5YzAgMC4wMTMgMCAwLjAyNiAwIDAuMDM5IDAgMC4wMDkgMCAwLjAyMiAwIDAuMDM1IDAgOTcuNDgzIDc5LjAyNiAxNzYuNTA5IDE3Ni41MDkgMTc2LjUwOXMxNzYuNTA5LTc5LjAyNiAxNzYuNTA5LTE3Ni41MDljMC0wLjAxMyAwLTAuMDI2IDAtMC4wMzl6TTUyNi4wNjYgMzI0Ljc4MWMwLTAuMDA2IDAtMC4wMTMgMC0wLjAyMCAwLTUxLjYwOS00MS44MzctOTMuNDQ2LTkzLjQ0Ni05My40NDZzLTkzLjQ0NiA0MS44MzctOTMuNDQ2IDkzLjQ0NmMwIDAuMDA3IDAgMC4wMTQgMCAwLjAyMSAwIDAuMDA1IDAgMC4wMTIgMCAwLjAxOSAwIDUxLjYwOSA0MS44MzcgOTMuNDQ2IDkzLjQ0NiA5My40NDZzOTMuNDQ2LTQxLjgzNyA5My40NDYtOTMuNDQ2YzAtMC4wMDcgMC0wLjAxNCAwLTAuMDIxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWIwOyIgZ2x5cGgtbmFtZT0iYmluZGluZ1JlbGF0aW9uc2hpcCIgZD0iTTMxNiA5NjJjLTk1LjA4OSAwLTE3Mi03Ni45MTEtMTcyLTE3MiAwLTkyLjQ4IDcyLjUyNC0xNjcuOTI5IDE2NC0xNzItOTAuMTk0LTUuNDMxLTE2Mi03OC40NC0xNjItMTcwIDAtODYuNjg3IDY0LjYzNC0xNTguMDAyIDE0OC0xNzAtODQuMDcyLTExLjM3LTE0OC04Mi44MTEtMTQ4LTE3MCAwLTk1LjA4OSA3Ni45MTEtMTcyIDE3Mi0xNzJzMTcyIDc2LjkxMSAxNzIgMTcyYzAgODcuNDIyLTY1LjYwMSAxNTguOTI1LTE1MCAxNzAgODQuMzQ2IDExLjEyNCAxNTAgODIuNjE2IDE1MCAxNzAgMCA5Mi4zMy03Mi43MzIgMTY3LjcwNi0xNjQgMTcyIDkwLjE5NCA1LjQzMSAxNjIgNzguNDQgMTYyIDE3MCAwIDk1LjA4OS03Ni45MTEgMTcyLTE3MiAxNzJ6TTc1MCA3NTRjLTk1LjA4OSAwLTE3Mi03Ni45MTEtMTcyLTE3MnM3Ni45MTEtMTcyIDE3Mi0xNzJjLTk0LjEyNy0xLjExOC0xNzAtNzcuNjA4LTE3MC0xNzIgMC05NS4wODkgNzYuOTExLTE3MiAxNzItMTcyczE3NCA3Ni45MTEgMTc0IDE3MmMwIDk1LjA4OS03OC45MTEgMTcyLTE3NCAxNzIgOTQuMTggMS4wNTcgMTcwIDc3LjU2OSAxNzAgMTcyIDAgOTUuMDg5LTc2LjkxMSAxNzItMTcyIDE3MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTliMTsiIGdseXBoLW5hbWU9ImJyb3dzZVBvbGljeSIgZD0iTTAgOTYwdi0xMDI0aDEwMjR2MTAyNGgtMTAyNHpNNjQgNzI4aDg5NnYtNzQ0aC04OTZ2NzQ0ek0xNTQgNTgwdi02NGgzODZ2NjRoLTM4NnpNMTU0IDM3NHYtNjRoNzM4djY0aC03Mzh6TTE1NCAxNjJ2LTY0aDczOHY2NGgtNzM4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWIyOyIgZ2x5cGgtbmFtZT0iYnVzaW5lc3NNYW5hZ21lbnQiIGQ9Ik0wIDk2MHYtMTAyNGgxMDI0djEwMjRoLTEwMjR6TTEyMiA4NDBoNzgwdi01ODRoLTE5OHYtMTk4aC0zODR2MTk4aC0xOTh2NTg0ek0yMzQgNzI2di02NGg1NTZ2NjRoLTU1NnpNMjM0IDUxNHYtNjRoNTU2djY0aC01NTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YjM7IiBnbHlwaC1uYW1lPSJjYXJkRGF0YSIgZD0iTTAgNzU0LjUyOHYtODE4LjUyOGgxMDI0djgxOC41Mjh6TTY2IDY5MC41MjhoODk2di0xMDguOTAyaC04OTZ6TTY2IDQxNS42MjJoODk2di00MTUuNjIyaC04OTZ6TTcyNiAyNjAuOTAydi0xOTJoMTkydjE5MnpNMTA4IDEzMi45MDJ2LTY0aDE1NnY2NHpNMzE0IDEzMi45MDJ2LTY0aDY0djY0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWI0OyIgZ2x5cGgtbmFtZT0iZGFpbHlNYW5hZ21lbnQiIGQ9Ik0zNDAgOTY0bC0zNC02LTI4Ni00OCAxMi0zNCAyMi03NmgtNTR2LTg2MmgxMDI0djU4NS4yMjlsLTI5NS4yMjkgMjc2Ljc3MWgtMjYyLjc3MWwtMTQgMTIwLTY0LTYgMTItMTE0aC00NmwtMTAgMTI4ek0yODIgODg4bDgtODhoLTc4bC0yMiA1MC00NC0xOCAxMi0zMmgtMzRsLTIwIDU4ek02NCA3MzZoMTE4bDg0LTIxNiAxMC0yMiAyNCA0IDQ4IDYgMzAgNi0yIDMwLTE2IDE5MmgzNjguNzcxdi0yMTIuNzcxaDIzMS4yMjl2LTUyMS4yMjloLTg5NnpNMjQwIDczNmg1NmwxMi0xNTB6TTE0MiAzODJ2LTY0aDc2MnY2NHpNMTQyIDE5NnYtNjRoNzYydjY0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWI1OyIgZ2x5cGgtbmFtZT0iZW50ZXJwcmlzZUN1c3RvbWVyIiBkPSJNNTEyIDk2MGwtNTEyLTMyMmgxMDI0bC01MTIgMzIyek01MTIgODQ2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhzLTIxLjQ5LTQ4LTQ4LTQ4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4ek01NS4zNDQgNTcwLjY2OWw0LTMwLjMzNnYtMzkxLjM3OWwtNC0zMS44NTNoMTc0bC00IDMxLjg1M3YzOTEuMzc5bDQgMzAuMzM2aC0xNzR6TTMwMS4zNDQgNTcwLjY2OWw0LTMwLjMzNnYtMzkxLjM3OWwtNC0zMS44NTNoMTc0bC00IDMxLjg1M3YzOTEuMzc5bDQgMzAuMzM2aC0xNzR6TTU0Ny4zNDQgNTcwLjY2OWw0LTMwLjMzNnYtMzkxLjM3OWwtNC0zMS44NTNoMTc0bC00IDMxLjg1M3YzOTEuMzc5bDQgMzAuMzM2aC0xNzR6TTc5My4zNDQgNTcwLjY2OWw0LTMwLjMzNnYtMzkxLjM3OWwtNC0zMS44NTNoMTc0bC00IDMxLjg1M3YzOTEuMzc5bDQgMzAuMzM2aC0xNzR6TTMzLjMzMSA2Mi42NTZoOTU3LjMzOGwzMy4zMzEtMTI2LjY1NmgtMTAyNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTliNjsiIGdseXBoLW5hbWU9ImVxdWlwbWVudEJsYWNrbGlzdCIgZD0iTTk2IDk2MHYtMTAyNGg4MzJ2NTU0Yy0xNi41NTEtMjMuNjYxLTM4LjEwNC0yOC44MDQtNjQtNDJ2LTQ0OGgtNzA0djg5Nmg0MjJjMjMuNjkzIDMxLjY4NSA1OC4zNDkgNTQuMzI0IDk4IDY0aC01ODR6TTgxNiA5MzRjLTExNC41MzkgMC0yMDYtOTMuNDYxLTIwNi0yMDhzOTEuNDYxLTIwOCAyMDYtMjA4YzExNC41NCAwIDIwOCA5My40NjEgMjA4IDIwOHMtOTMuNDYgMjA4LTIwOCAyMDh6TTIyMCA4NDB2LTY0aDI0OHY2NGgtMjQ4ek03MTAgNzY0aDIxNHYtNzZoLTIxNHY3NnpNMjIwIDczOHYtMjA2aDI0OHYyMDZoLTI0OHpNMjIwIDQ5NnYtOThoMjQ4djk4aC0yNDh6TTIxOCAzMTR2LTY0aDU3OHY2NGgtNTc4ek0yMjQgMTYydi02NGg1ODB2NjRoLTU4MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTliNzsiIGdseXBoLW5hbWU9ImVxdWlwbWVudE1vZGVsIiBkPSJNOTYyLjAzMCA5MTIuMDMyYy04LjgzOC02Mi44OTMtMjYuNjkyLTg3Ljc2My00Ny40MS0xMDAuMDgzLTIwLjcwOC0xMi4zMDctNTAuNTQ0LTEyLjUwNi04Mi41MTctMTIuMjgyLTMxLjk3OCAwLTY3LjQ2MyAyLjQzMi05OC4zMjgtMjIuODM1LTE1LjQyOC0xMi41OTUtMjYuNjI1LTMwLjAzNS0yOS44NDktNTIuNjcyLTAuMjUtMS43MjggMC4xOTgtMy41MiAwLjAxMS01LjI0OC01MS4wNDggMjAuNDEtMjMyLjMgNDYuOTMxLTI3NS41MjcgOC4wNTEtMS45MjMtMS43OTItNS4xNi0xLjY2NC03LjAyMS0zLjUybC00MjEuMzg5LTQxOS41OSAzNjcuODU2LTM2Ny44NTMgNDIxLjM4OSA0MTkuNjM1YzEuOCAxLjc5MiAzLjU5IDMuMzkyIDUuMjY1IDUuMzEyIDQ3LjU0OCA1Mi40MzUgMTMuODc4IDI1Mi45OTgtMjcuMzU5IDMwOC44OS0yLjk0NiAxOS40NjItNC44NDkgMzYuMjYyLTMuNTExIDQ1LjY1MSAxLjc1MSAxMi4zMiA0LjEwNiAxNS4xODEgNy4wMjEgMTcuNTYyIDUuODIzIDQuNzM2IDI4LjY4NCA3LjI1MSA2MS40NTMgNy4wMjcgMzIuNzY5LTAuMDA2IDc1LjkzNi0xLjY2NCAxMTQuMTI2IDIxLjA2MiAzOC4xOTEgMjIuNzE0IDY1LjE3NSA2OC43NjIgNzUuNDk5IDE0Mi4yMjFsLTU5LjY5OSA4Ljc4MXpNNjIzLjczOCA2MTUuODg1YzMxLjAzNCAwIDU2LjE4OS0yNS4xNTggNTYuMTg1LTU2LjE5MiAwLjAwMS0zMS4wMjctMjUuMTU0LTU2LjE3OS01Ni4xODMtNTYuMTc5cy01Ni4xODQgMjUuMTUyLTU2LjE4NSA1Ni4xNzljLTAuMDAxIDMxLjAzNCAyNS4xNTQgNTYuMTkyIDU2LjE4MyA1Ni4xOTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Yjg7IiBnbHlwaC1uYW1lPSJleGFtaW5lIiBkPSJNMTYwIDk1MmMtMjUuOTAzLTMwLjA0NC00MS4zMzEtNjIuMTkyLTQ4LTk0aC0xMDZ2LTkyNGg2NzBjMTAuNDk3LTEuMDc4IDIxLjIxOS0yIDMyLTIgOC43NjcgMCAxNy40MTcgMS4yODMgMjYgMmg0MHY2YzE0MC4xMTkgMzEuMDg1IDI0NiAxNTYuNTgzIDI0NiAzMDZzLTEwNS44ODEgMjczLjMxNy0yNDYgMzA0djMwOGgtMTU4YzUuMjc5IDE2LjQwNSAxNi4wNDQgMzMuNDkxIDMyIDUybC00OCA0MmMtMjUuOTAzLTMwLjA0NC00MS4zMzEtNjIuMTkyLTQ4LTk0aC04MGM1LjMxMSAxNi4yNzEgMTQuMTg3IDMzLjY1OCAzMCA1MmwtNDggNDJjLTI1LjkwMy0zMC4wNDQtNDEuMzMxLTYyLjE5Mi00OC05NGgtODJjNS44MTkgMTYuNDA1IDE2LjA0NCAzMy40OTEgMzIgNTJsLTUwIDQyYy0yNS45MDMtMzAuMDQ0LTQxLjMzMS02Mi4xOTItNDgtOTRoLTgyYzUuMjc5IDE2LjQwNSAxNi4wNDQgMzMuNDkxIDMyIDUybC00OCA0MnpNODYgNzc4aDI4YzguMjMtMzEuMTY3IDI0LjAzNy02MC4yMDEgNDQtODhsNTIgMzZjLTEzLjI3NCAxOC40ODMtMjMuNjExIDM0Ljg1Ni0zMCA1Mmg4MmM4LjgxNS0zMS4xNDggMjQuMDQ4LTYwLjIxNiA0NC04OGw1MiAzNmMtMTMuMjQ1IDE4LjQ0My0yMy4wNTYgMzQuODktMzAgNTJoODBjOC4yMy0zMS4xNjcgMjQuMDM3LTYwLjIwMSA0NC04OGw1MiAzNmMtMTMuMjc0IDE4LjQ4My0yMy42MTEgMzQuODU2LTMwIDUyaDgwYzguMjMtMzEuMTY3IDI0LjAzNy02MC4yMDEgNDQtODhsNTIgMzZjLTEzLjI3NCAxOC40ODMtMjMuNjExIDM0Ljg1Ni0zMCA1Mmg3NnYtMjIwYy0xNjYuOTA3LTYuMzA1LTMwMC0xNDMuNTMyLTMwMC0zMTIgMC05MS44OTIgNDAuOTIyLTE3NC40MDYgMTA0LTIzMmgtNDE0djc2NHpNODg4IDM3OGw0Ni00NC0yMjYtMjMwLTI4LTI2LTIyIDMwLTEyOCAxODAgNTIgMzggMTA2LTE1MCAyMDAgMjAyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWI5OyIgZ2x5cGgtbmFtZT0iZmFpbHVyZUxpc3QiIGQ9Ik0wIDk2MHYtMTAyNGg4MTh2MTA2bC02NC04di0zNGgtNjkwdjg5Nmg2OTB2LTEwNmw2NC04djE3OGgtODE4ek03MzAgNzMyYy0xNjMuMzUgMC0yOTYtMTMwLjY1LTI5Ni0yOTRzMTMyLjY1LTI5NiAyOTYtMjk2YzE2My4zNSAwIDI5NCAxMzIuNjUgMjk0IDI5NnMtMTMwLjY1IDI5NC0yOTQgMjk0ek0xMzIgNzE0di02NGgzMDZ2NjRoLTMwNnpNNzA0IDYzNmg0OGMxNy44NDUgMCAzNS41NzQtMTQuMjI0IDM0LTMybC0xOC0yMDBjLTEuNTc0LTE3Ljc3Ni0xNC4xNTUtMzItMzItMzJoLTEwYy0xNy44NDUgMC0zMC4wNjAgMTQuMjYxLTMyIDMybC0yMiAyMDBjLTEuOTQgMTcuNzM5IDE0LjE1NSAzMiAzMiAzMnpNMTMyIDUyNnYtNjRoMjI2djY0aC0yMjZ6TTEzMiAzMzh2LTY0aDIyNnY2NGgtMjI2ek03MjggMzM2YzI3LjAzNiAwIDUwLTIwLjk2NCA1MC00OHMtMjIuOTY0LTUwLTUwLTUwYy0yNy4wMzYgMC00OCAyMi45NjQtNDggNTBzMjAuOTY0IDQ4IDQ4IDQ4ek0xMzIgMTQ4di02NGgzNTR2NjRoLTM1NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTliYTsiIGdseXBoLW5hbWU9ImZhbWlseUN1c3RvbWVyIiBkPSJNNDQ4IDk2MC4wMDFjLTk5LjE0OSAwLTE4NC04NC44NTgtMTg0LTE4NHM4NC44NTEtMTc4IDE4NC0xNzhjOTkuMTQ5IDAgMTc0IDc4Ljg1OCAxNzQgMTc4cy03NC44NTEgMTg0LTE3NCAxODR6TTI4NiA1ODYuMDAxYy0xMjkuNzA1LTU3LjI3My0yMTcuODc3LTE4Ni45MzUtMjI2LTMzNmwtNjAtMjUwYzI4NC40NDUgMzE4Ljc3OCAyMzYgMzcyLjA4NiAyMzYtNjZoMjc2LjY3MXYyNzAuNTYxYzMuNTEyIDk5LjcyMiA2Ni43NjQgMTYwLjE4OCAxMjEuOTE5IDE3Mi4xMjUtMTcuNDkgNTQuMjE0LTI1LjYyNSAxMjIuMTc1IDMuNDEgMTY3LjMxMy01Ljk0MiAyMS4wMTQtMTcuMTUzIDM1LjE4Mi0zNiA0Mi0xLjgzNSAxLjYzOS0yLjE0OSAwLTQgMC00MC40MjEtMzguNDc2LTg5Ljc5Mi02NC0xNTAtNjRzLTExNy41NzkgMjUuNTI0LTE1OCA2NGMtMS4zNDcgMS42MzktMi42OC0xLjYzOS00IDB6TTc4NiA1NjIuMDAxYy02MC4xNjggMC0xMTItNTEuMjI0LTExMi0xMTJzNTEuODMyLTExMCAxMTItMTEwYzYwLjE2OCAwIDEwNiA0OS4yMjQgMTA2IDExMHMtNDUuODMyIDExMi0xMDYgMTEyek0xMDE0IDU1MC4wMDFjLTY1LjY5LTE0Ny42NTQtMTA1LjY1MS0yNjkuNjIxLTI0Ni0yNTAtMzYuNTM3IDAtNzEuNDcxIDE0LjQxNC05NiAzOC0wLjgxOCAxLjAwNS0xLjE5OS0xLjAwNS0yIDAtNzQuMjgxLTM1LjEwOS02Ny4xNDUtMzguNjIxLTExMC0xMzBsNC40NjQtMjU0IDYzLjUzNiAxNzhoMTB2LTE5MmgyNTR2MTkyaDEyYzk3LjYwMiAzOC41NjcgMTAwLjA0NiAzMTMuMDM2IDExMCA0MTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YmI7IiBnbHlwaC1uYW1lPSJmaWxlVG9vbCIgZD0iTTI1NiA5Mzh2LTE1MGg2NHY1NGgzOTh2LTU0aDY0djE1MGgtNTI2ek04IDcxOHYtMjk0aDEzMnY2NGg5NnYtNjRoNjAwdjY0aDk2di02NGgxMDB2Mjk0aC0xMDI0ek0wIDM2NHYtNDI4aDEwMjR2NDI4aC05MnYtNjRoLTk2djY0aC02MDB2LTY0aC05NnY2NGgtMTQwek00MDQgMzAybDIyNC0xNTItMjI0LTE1MnYzMDR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YmM7IiBnbHlwaC1uYW1lPSJncm91cE1hbmFnbWVudCIgZD0iTTAgOTYwdi0xMDI0aDEwMjR2MTAyNGgtMTAyNHpNNDQ4IDg5NmgxMjh2LTg5NmgtMTI4djg5NnpNMTIwIDg0OGgyMDh2LTIxMGgtMjA4djIxMHpNNjk2IDg0OGgyMDh2LTIxMGgtMjA4djIxMHpNMTIwIDU0NmgyMDh2LTIxMGgtMjA4djIxMHpNNjk2IDU0NmgyMDh2LTIxMGgtMjA4djIxMHpNMTIwIDI0NGgyMDh2LTIxMGgtMjA4djIxMHpNNjk2IDI0NGgyMDh2LTIxMGgtMjA4djIxMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTliZDsiIGdseXBoLW5hbWU9Im5vdGljZSIgZD0iTTgzMCA5NTUuOTk4Yy0zLjk1NCAwLTYuMTYzLTEuNjU0LTEwLTItMjEuMDg3LTEuODk5LTQyLjUyLTkuMTgyLTYwLTIwLTE1MC41NjMtNDkuMjY2LTI5OS44MTQtMTMyLjQ3Mi00NTItMTQwdi0zMTBsNDcwLTE2MGM2LjA0NS0yLjY4MiAxMy41NzYtNC4yNTEgMjAtNiAyLjE5Ni0wLjU5NSAzLjc2LTEuNTE4IDYtMiA4LjY4Mi0xLjg2OCAxNi42NjQtMiAyNi0yIDYyLjYzOSAwIDExMC4xODUgNDQuMTE1IDE0MiAxMDJzNTAgMTMxLjkyNCA1MCAyMTZjMCA4NC4wODMtMTguMTg1IDE2NC4xMTUtNTAgMjIyLTMxLjgxNSA1Ny44OTItNzkuMzYxIDEwMi0xNDIgMTAyek04MzAgODk1Ljk5OGMyNS40NzQgMCA1OC4wNzItMjAuODI4IDg0LTY4IDI1LjkyOC00Ny4xNzkgNDItMTE5Ljc1NSA0Mi0xOTYgMC03Ni4yMzgtMTYuMDcyLTE0Mi44MjgtNDItMTkwLTI1LjkyOC00Ny4xNzktNTguNTI2LTY4LTg0LTY4cy01Ni4wNzIgMjAuODIxLTgyIDY4Yy0yNS45MjggNDcuMTcyLTQ0IDExMy43NjItNDQgMTkwIDAgNzYuMjQ1IDE4LjA3MiAxNDguODIxIDQ0IDE5NiAyNS45MjggNDcuMTcyIDU2LjUyNiA2OCA4MiA2OHpNNzIgNzkzLjk5OGMtMzMuNjE0IDAtNjAtMjYuMzg2LTYwLTYwdi0xOTBjMC0zMy42MTQgMjYuMzg2LTYwIDYwLTYwaDE3MnYzMTBoLTE3MnpNODMwIDczMy45OThjLTE3LjM4IDAtMzAtNDkuNTM3LTMwLTExMHMxMi42Mi0xMDggMzAtMTA4YzE3LjM4IDAgMzIgNDcuNTM3IDMyIDEwOHMtMTQuNjIgMTEwLTMyIDExMHpNMzMwIDM4OS45OThjLTYuNjggMC4xMTItMTIuOTgxLTAuNDA5LTIwLTItOS4zNTgtMi4xMjEtMTkuNDEyLTUuMDQyLTI4LTEwbC01OC0zNGMtMzQuMzU0LTE5LjgzOS00Mi41MjYtNTQuMTAzLTM0LTg0IDMyLjk3MS0xMTUuNjE5IDc0LjAzOC0yMjYuMjA5IDE3Ni0zMDIgMjUuNDc2LTE4Ljg2NiA1NS42NDgtMzEuODI4IDkwLTEybDU2IDMyYzM0LjM1MyAxOS44MzQgNjQuNjg2IDY4LjU3IDM2IDg0LTExMC44MDMgNTkuNTg3LTE0MS44NzcgMTgzLjk0Mi0xNzYgMzA0LTQuNzgxIDE2LjgyMS0yMS45NTkgMjMuNjY1LTQyIDI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWJlOyIgZ2x5cGgtbmFtZT0icG9saWN5IiBkPSJNNTE2IDk2MGwtMTgyLTM2MmgzNjJsLTE4MCAzNjJ6TTI3MCA0NzBsLTEwNC0yMDZoNjk2bC0xMDIgMjA2aC00OTB6TTEwMCAxMzZsLTEwMC0yMDBoMTAyNGwtMTAwIDIwMGgtODI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWJmOyIgZ2x5cGgtbmFtZT0icG9ydGFsIiBkPSJNMCA5NjB2LTEwMjRoMTAyNHYxMDI0aC0xMDI0ek03NCA4ODZoODc2di0xMzJoLTg3NnYxMzJ6TTEyNiA4NTZ2LTY0aDY0djY0aC02NHpNMjU4IDg1NnYtNjRoNjR2NjRoLTY0ek0zOTAgODU2di02NGg2NHY2NGgtNjR6TTc0IDY5MGg4NzZ2LTY4MGgtODc2djY4MHpNNTEwIDYzNGwtMjg0LTE5NGg1NzJsLTI4OCAxOTR6TTI3MiA0MDJ2LTMyMGg0Nzh2MzIwaC00Nzh6TTQ0OCAyMjJoMTI2di0xMzhoLTEyNnYxMzh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YzA7IiBnbHlwaC1uYW1lPSJyZWNvcmRRdWVyeSIgZD0iTTAgOTYwdi0xMDI0aDgxOHY5OGgtNjR2LTM0aC02OTB2ODk2aDY5MHYtMTE0aDY0djE3OGgtODE4ek01NzIgNzgwYy0xNDcuNTc0IDAtMjY4LTEyMy43MjItMjY4LTI3NnMxMjAuNDI2LTI3NiAyNjgtMjc2YzUwLjg1MiAwIDk3LjUzNSAxNi41NTYgMTM4IDQyIDIuMzc2LTUuMTE0IDUuODgyLTExLjc1MSAxMC0xNmwxODgtMTk0YzE5LjQ2Ni0yMC4wODYgNTAuNTM0LTIwLjA4NiA3MCAwbDI0IDI0YzE5LjQ2NiAyMC4wODYgMTkuNDY2IDUxLjkxNCAwIDcybC0xODggMTk2Yy00LjA3NyA0LjIwNy05LjA5OSA3LjU1NS0xNCAxMCAyNC4wNDggNDEuMzg2IDM4IDkwLjIzNCAzOCAxNDIgMCAxNTIuMjc4LTExOC40MjYgMjc2LTI2NiAyNzZ6TTU3MiA3MDZjMTA3LjMyNiAwIDE5NC05MS4yNTMgMTk0LTIwMnMtODYuNjc0LTIwMC0xOTQtMjAwYy0xMDcuMzI2IDAtMTk2IDg5LjI1My0xOTYgMjAwczg4LjY3NCAyMDIgMTk2IDIwMnpNMTM0IDQ5NHYtNjRoODJjLTUuMDc4IDIwLjgxNy05LjA1MiA0MS43ODQtMTAgNjRoLTcyek0xMzggMzA2di02NGgyMDRjLTI0LjgwNyAxNy40MTktNDcuMDM4IDQwLjAyNS02NiA2NGgtMTM4ek0xMzggMTM2di02NGg0NTJ2NjRoLTQ1MnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTljMTsiIGdseXBoLW5hbWU9InJlc291cmNlTWFuYWdtZW50IiBkPSJNMTE2IDkzMGwtMTE0LTUyOGgtMmwyLTYtMi02aDJsMTAyLTQ1NGg4NDBsNzggNDU0aDJsLTIgNiAyIDZoLTJsLTExNCA1MjhoLTc5MnpNMTYyIDg3Nmg3MDBsODQtMzk4aC04NjhsODQgMzk4ek0zMjggODIwdi00OGgzNzB2NDhoLTM3MHpNMjM2IDcxMHYtNThoNTU0djU4aC01NTR6TTE5MCA1OTh2LTY0aDY0NnY2NGgtNjQ2ek0zNzggMjEwaDI2OHYtNjBoLTI2OHY2MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTljMjsiIGdseXBoLW5hbWU9InJ1bGVNYW5hZ21lbnQiIGQ9Ik0wIDE5MmgxMDI0di0yNTZoLTEwMjR2MjU2ek0xNTUuODY5IDgyNy41NThoMTkydi01MzUuODM4aC0xOTJ2NTM1LjgzOHpNODgwLjExNSA0ODMuNzE4di0xOTJoLTQyNy44ODh2MTkyaDQyNy44ODh6TTg3MS40MTMgODI3LjU1OHYtMTkyaC00MjcuODg4djE5Mmg0MjcuODg4ek0wIDk2MHYtMTAyNGgxMDI0djEwMjRoLTEwMjR6TTYwIDkwMGg5MDR2LTkwMS45OTdoLTkwNHY5MDEuOTk3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWMzOyIgZ2x5cGgtbmFtZT0ic3VjZXNzUmF0ZSIgZD0iTTkwOCA5NTZsLTQ0MC0xMDE2aDgybDQzOCAxMDE2aC04MHpNNTg2IDkwNGMtMjguOTg2IDAtNTUuNzU4LTExLjc1OC03Ni0zMnMtMzQtNTAuOTk5LTM0LTg4YzAtMzcuMDAxIDEzLjc1OC02Ny43NTggMzQtODhzNDcuMDE0LTMyIDc2LTMyYzI4Ljk4NiAwIDU1Ljc1OCAxMS43NTggNzYgMzJzMzQgNTAuOTk5IDM0IDg4YzAgMzcuMDAxLTEzLjc1OCA2Ny43NTgtMzQgODhzLTQ3LjAxNCAzMi03NiAzMnpNNTg2IDg1NmMyNC4wMzMgMCA0NS40OTctMTEuNDk3IDYwLTI2czIyLTI5Ljk4MiAyMi00NmMwLTE2LjAxOC03LjQ5Ny0zMy40OTctMjItNDhzLTM1Ljk2Ny0yNC02MC0yNGMtMjQuMDMzIDAtNDUuNDk3IDkuNDk3LTYwIDI0cy0yMiAzMS45ODItMjIgNDhjMCAxNi4wMTggNy40OTcgMzEuNDk3IDIyIDQ2czM1Ljk2NyAyNiA2MCAyNnpNNDYyIDYxOGwtMjA4LTQyOC0xMjQgMjAwLTEzMi04NCAyMDgtMjA0IDIyLTI2IDI4IDIyIDM4MCA0NDgtMTc0IDcyek04NzIgMjIwYy0yOC45ODYgMC01NS43NTgtMTEuNzU4LTc2LTMycy0zNi01MC45OTktMzYtODhjMC0zNy4wMDEgMTUuNzU4LTY3Ljc1OCAzNi04OHM0Ny4wMTQtMzIgNzYtMzJjMjguOTg2IDAgNTMuNzU4IDExLjc1OCA3NCAzMnMzNiA1MC45OTkgMzYgODhjMCAzNy4wMDEtMTUuNzU4IDY3Ljc1OC0zNiA4OHMtNDUuMDE0IDMyLTc0IDMyek04NzIgMTcyYzI0LjAzMyAwIDQ1LjQ5Ny0xMS40OTcgNjAtMjZzMjAtMjkuOTgyIDIwLTQ2YzAtMTYuMDE4LTUuNDk3LTMzLjQ5Ny0yMC00OHMtMzUuOTY3LTI0LTYwLTI0Yy0yNC4wMzMgMC00NS40OTcgOS40OTctNjAgMjRzLTIyIDMxLjk4Mi0yMiA0OGMwIDE2LjAxOCA3LjQ5NyAzMS40OTcgMjIgNDZzMzUuOTY3IDI2IDYwIDI2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWM0OyIgZ2x5cGgtbmFtZT0idGVybWluYWxNYW5hZ21lbnQiIGQ9Ik0zNDAgOTYwYy0xODguMzk0IDAtMzQwLTE1MS42MDYtMzQwLTM0MHYtMzQ0YzAtMTg4LjM5NCAxNTEuNjA2LTM0MCAzNDAtMzQwaDM0NGMxODguMzk0IDAgMzQwIDE1MS42MDYgMzQwIDM0MHYzNDRjMCAxODguMzk0LTE1MS42MDYgMzQwLTM0MCAzNDBoLTM0NHpNMzQwIDkwMGgzNDRjMTU2LjE5MyAwIDI4MC0xMjMuODA3IDI4MC0yODB2LTM0NGMwLTE1Ni4xOTMtMTIzLjgwNy0yODAtMjgwLTI4MGgtMzQ0Yy0xNTYuMTkzIDAtMjgwIDEyMy44MDctMjgwIDI4MHYzNDRjMCAxNTYuMTkzIDEyMy44MDcgMjgwIDI4MCAyODB6TTI5NCA4MDhsLTExOC05OCAxNDAtMTcyLTE0OC0yMDQgMTE2LTg2IDIyNCAyODQtMjE0IDI3NnpNNTI2IDM0NHYtOTZoOTZ2OTZoLTk2ek03NTggMzQ0di05Nmg5NnY5NmgtOTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YzU7IiBnbHlwaC1uYW1lPSJ0b29scyIgZD0iTTIzMiA5NTBjLTYxLjcwMi0yNi4wOTgtMTA0LTg4Ljc5MS0xMDQtMTYwIDAtNjMuNDA2IDM2Ljg5MS0xMTguMTczIDg4LTE0OHYtMTQyaC0yOGMtMTAyLjc4NCAwLTE4OC03OS4yODYtMTg4LTE3NHYtMjE2YzAtOTQuNzE0IDg1LjIxNi0xNzQgMTg4LTE3NGg2NDhjMTAyLjc4NCAwIDE4OCA3OS4yODYgMTg4IDE3NHYyMTZjMCA5NC43MTQtODUuMjE2IDE3NC0xODggMTc0aC05MHYyNzIuNzQ0bDMyLjI0Mi0xMC42OTdoNzUuNzU4YzkuODkxIDEuNTEyIDEzLjI4MSAyLjg0MiAyMCAxOCAxNi41MjMgNTAuMTgyIDEyNC43MzggNTYuNjM5IDE0NiAzNy45NTQgMy41MiA1OC43MDQtODQuNTgxIDk2Ljg0Mi0xNDggOTQtMzguNjUzIDEuNTQ5LTExNCAwLTExNCAwLTEyLjUxOC0wLjAyNi0yMy4xOS0xMi4zMDItMjgtMjhoLTU2djhjMCAyOS4xMzQtMjIuODY2IDU0LTUyIDU0aC0yMGMtMjkuMTM0IDAtNTQtMjQuODY2LTU0LTU0di0xMDhjMC0yOS4xMzQgMjQuODY2LTU0IDU0LTU0aDIwYzEwLjY0NSAwIDE5LjczOCA0LjYwNCAyOCAxMHYtMjQwaC0yNzB2MTM4YzU1LjMwOSAyOC42MDYgOTIgODUuNDczIDkyIDE1MiAwIDcxLjg4NS00NS4zNjIgMTM0LjMyNy0xMDggMTYwIDAuOTEtMi45MjkgNC02LjcxNCA0LTEwdi0xNzZjMC0xNS42ODctMTQuMDA5LTI4LTI4LTI4aC04MGMtMTMuOTkxIDAtMjggMTIuMzEzLTI4IDI4djE3NmMwIDMuMjg2IDMuMDkwIDcuMDcxIDQgMTAtMC41ODktMC4yNDEtMy40MTQgMC4yNDgtNCAwek0xODggNDAwaDY0OGM0NS41MzggMCA4Mi0zMi4wMzcgODItNzR2LTE2aC04MTJ2MTZjMCA0MS45NjMgMzYuNDYyIDc0IDgyIDc0ek0xMDYgMjQ2aDgxMnYtMTM2YzAtNDEuOTYzLTM2LjQ2Mi03Ni04Mi03NmgtNjQ4Yy00NS41MzggMC04MiAzNC4wMzctODIgNzZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5YzY7IiBnbHlwaC1uYW1lPSJ0cmFjayIgZD0iTTM4Ni4yODggODA5LjM4OWMtNjQuNTA0LTIuOTItMTI0LjE5LTQzLjg4MS0xMDkuNTU4LTE0MS44NDYgMTUuOTU1LTEwNi44MjUgMTUuNDA2LTE3Mi4yNTYgOTMuMzI3LTE1OC4wNTcgODcuNTg4IDE1Ljk2MSAxMDguODIzIDgyLjg0NCAxMDMuNDcxIDE2NC4xMzYtNS44NDcgODguODEtMjYuNjE2IDEzOC41MTEtODcuMjQgMTM1Ljc2N3pNNjcwLjMyNiA3OTMuMTc4Yy00Ni4xMjktMi4yMTctNzIuMzc2LTU0LjI5LTkzLjMyNy0xMTkuNTU2LTMzLjAxNS0xMDIuODUxLTMwLjM1Ni0xNDQuOTM3IDQ4LjY5Mi0xNDkuOTUxIDg4Ljg1NS01LjYzNyAxMTguMTM0IDMxLjE0NyAxMzEuODc1IDExMS40NSAxMy4yMDggNzcuMTkzLTUuOTk0IDE0MS4zODQtNjQuOTIzIDE1Ni4wMzAtNy4zNjYgMS44MzEtMTUuNzI3IDIuMzQzLTIyLjMxNyAyLjAyNnpNMTEyLjM5NCA2MDAuNjczYy02MC43MjYgMC0xMDYuMzg2LTYzLjY4OS0xMTEuNTg2LTE0MS44NDYtNy4xNzEtMTA3Ljc3IDMzLjY2Ni0xNTYuMDQ1IDExMS41ODYtMTQxLjg0NiA4Ny41ODggMTUuOTYxIDExNS42NCA2MC42MDUgMTA5LjU1OCAxNDEuODQ2LTUuODQ3IDc4LjA5NC00OC44MzEgMTQxLjg0Ni0xMDkuNTU4IDE0MS44NDZ6TTkyMy45MzEgNTg2LjQ4OGMtNDMuNzAyLTQuNTQ1LTg2LjU5NC00MS4wMzMtMTEzLjYxNS05My4yMTMtNDkuNjc5LTk1LjkzNS0zMi40NzgtMTU0LjE2OCA0NC42MzUtMTcyLjI0MSA4Ni42OC0yMC4zMTYgMTI5LjMwMiA4LjIwNCAxNTYuMjIxIDg1LjEwNyAyNS44NzYgNzMuOTI0IDEzLjA2NCAxNTAuMDM4LTQyLjYwNiAxNzQuMjY4LTEzLjkxOCA2LjA1Ny0zMC4wNjcgNy41OTQtNDQuNjM1IDYuMDc5ek00OTMuODE3IDQ2Mi44OGMtODAuNjk1IDAtMTY3LjE5Ny01Ny4zMzUtMjAwLjg1NS0xNzYuMjk0LTg5Ljg4NC00NC40OTUtMTU5Ljc1NS0xMjkuMzY1LTEzNy45NjEtMjE0Ljc5NSAzNS45NTYtMTQwLjk0OCAxODUuOTgtMTM1Ljc2NyAzMzguODE3LTEzNS43NjdzMzI2LjY0NC0xLjUxNCAzMjYuNjQ0IDE0My44NzJjMCAxNDUuMzg2LTE3My44MDcgMzgyLjk4My0zMjYuNjQ0IDM4Mi45ODN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Yzc7IiBnbHlwaC1uYW1lPSJ1c2VyTWFuYWdtZW50IiBkPSJNMzI1Ljc3MSA4MjQuODQ1Yy04My40NjEgMC0xNTMuODM2LTcwLjM2NS0xNTMuODM2LTE1My44MzQgMC04My40NjMgNzAuMzc1LTE1MC44MTYgMTUzLjgzNi0xNTAuODE2czE0Ny44MDMgNjcuMzUzIDE0Ny44MDMgMTUwLjgxNmMwIDgzLjQ2OS02NC4zNDIgMTUzLjgzNC0xNDcuODAzIDE1My44MzR6TTE5MC4wMzMgNTExLjE0MWMtMTA5LjE4My00OC4yMTQtMTgzLjE5NS0xNTguMDUxLTE5MC4wMzMtMjgzLjUzN2g0MDQuOTU0bDExMy4wMzkgMjUwLjE0NGMtMTIuNzcyIDguMTExLTQ4LjUyMSAyNy4yMTUtNjIuNTE3IDMzLjM5My0xLjU0NSAxLjMxMi0xLjQ1OCAwLTMuMDE3IDBsLTEyNi42ODktMTg5LjkxMS0xMzIuNzIxIDE4OS45MTFjLTEuMTM0IDEuMzEyLTEuOTA1LTEuMzEyLTMuMDE2IDB6TTcwMy4zNTUgNjA0LjgyNGMtODMuNDYxIDAtMTUzLjgzNi03MC4zNjUtMTUzLjgzNi0xNTMuODM0IDAtODMuNDYzIDcwLjM3NS0xNTAuODE2IDE1My44MzYtMTUwLjgxNnMxNDcuODA0IDY3LjM1NCAxNDcuODA0IDE1MC44MTZjMCA4My40NjktNjQuMzQyIDE1My44MzQtMTQ3LjgwNCAxNTMuODM0ek01NjcuNjE3IDI5MS4xMmMtMTA5LjE4My00OC4yMTQtMTgzLjE5NS0xNTguMDUxLTE5MC4wMzMtMjgzLjUzN2g2NDUuNTA5Yy02LjgzOCAxMjUuNDg2LTgwLjg1IDIzNS4zMjMtMTkwLjAzMyAyODMuNTM3LTEuNTQ2IDEuMzEyLTEuNDU5IDAtMy4wMTcgMC03MS42MjEtMTEwLjk0LTE3Ny42OTktMTExLjE5My0yNTkuNDEgMC0xLjEzNCAxLjMxMi0xLjkwNS0xLjMxMi0zLjAxNiAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWM4OyIgZ2x5cGgtbmFtZT0idmVyc2lvbk1hbmFnbWVudCIgZD0iTTEyOCA5NTkuNzV2LTQ4MS45OTdoLTEyOGwxMTItNTQwLjgwNmg4MDJsMTEwIDU0MC44MDZoLTEyOHY0ODEuOTk3ek0xOTIgODk1Ljc1aDY0MHYtNDE3Ljk5N2gtNjQwek0yNDQgNzY3Ljc1di02NGgyNzB2NjR6TTI0MiA2MzcuNzU0di02NGg1MjB2NjR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Yzk7IiBnbHlwaC1uYW1lPSJ3b3JrT3JkZXIiIGQ9Ik0xMTYgOTYwdi0xMDI0aDc5MnY3MjJoMmwtMjgyIDMwMHYyaC01MTJ6TTE3NiA5MDBoMzkwdi0zMDJoMjgydi02MDBoLTY3MnY5MDJ6TTYyOCA4NjRsMTkyLTIwNmgtMTkydjIwNnpNMzc0IDg2MnYtMTA2aC0xMTR2LTg0aDExNHYtMTEybDE0MCAxNTQtMTQwIDE0OHpNNjUwIDUwOHYtMTA2aC0xMTR2LTg0aDExNHYtMTEybDE0MCAxNTQtMTQwIDE0OHpNMzc0IDM0NHYtMTA2aC0xMTR2LTg0aDExNHYtMTEybDE0MCAxNTQtMTQwIDE0OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTljYTsiIGdseXBoLW5hbWU9InNhdmUiIGQ9Ik01NTAuMjU0IDgwNC41NzFoMTA5LjcxNHYtMTU4LjUwMWgtMTA5LjcxNHYxNTguNTAxek0yNjIuMDcxIDM2Mi40OTZoNDk5Ljc4NXYtNzMuMTQzaC00OTkuNzg1djczLjE0M3pNMjYyLjA3MSAxNzMuNTY4aDQ5OS43ODV2LTczLjE0M2gtNDk5Ljc4NXY3My4xNDN6TTkxNC4yODYgOTYwaC04MDQuNTcxYy02MC40ODkgMC0xMDkuNzE0LTQ5LjIyNS0xMDkuNzE0LTEwOS43MTR2LTgwNC41NzFjMC02MC40ODkgNDkuMjI1LTEwOS43MTQgMTA5LjcxNC0xMDkuNzE0aDgwNC41NzFjNjAuNDg5IDAgMTA5LjcxNCA0OS4yMjUgMTA5LjcxNCAxMDkuNzE0djgwNC41NzFjMCA2MC40ODktNDkuMjI1IDEwOS43MTQtMTA5LjcxNCAxMDkuNzE0ek03NjQuOTI4IDg3Ny43MTR2LTI2OC4xNDJjMC0yMC4xODctMTYuNDU3LTM2LjU3MS0zNi41NzEtMzYuNTcxaC00MzIuNzg2Yy0yMC4xODcgMC0zNi41NzEgMTYuMzg0LTM2LjU3MSAzNi41NzF2MjY4LjE0Mmg1MDUuOTI5ek05NTAuODU3IDQ1LjcxNGMwLTIwLjExNC0xNi40NTctMzYuNTcxLTM2LjU3MS0zNi41NzFoLTgwNC41NzFjLTIwLjE4NyAwLTM2LjU3MSAxNi40NTctMzYuNTcxIDM2LjU3MXY4MDQuNTcxYzAgMjAuMTg3IDE2LjM4NCAzNi41NzEgMzYuNTcxIDM2LjU3MWg3Ni4xNDJ2LTI3Ny4yODVjMC02MC40ODkgNDkuMjI1LTEwOS43MTQgMTA5LjcxNC0xMDkuNzE0aDQzMi43ODZjNjAuNDg5IDAgMTA5LjcxNCA0OS4yMjUgMTA5LjcxNCAxMDkuNzE0djI3Ny4yODVoNzYuMjE1YzIwLjExNCAwIDM2LjU3MS0xNi4zODQgMzYuNTcxLTM2LjU3MXYtODA0LjU3MXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTljYjsiIGdseXBoLW5hbWU9Ik1hZ25pZmllciIgZD0iTTIxNC44OTQgNDc3LjY5NmMxOC4yODYgMTYzLjQwMSAxNjQuNTcxIDI3Ni41NTMgMjkxLjYyMSAyODAuMTM3IDEuMzE3IDAgMi40MTQtMC4zNjYgMy42NTctMC40MzktMTg0LjQ2NiA1Mi44ODItMzQyLjE2Mi05NC41NzQtMjk1LjI3OC0yNzkuNjk4ek0xMDAyLjU2OSA4OC45NDJsLTE0Ni41NzggMTIwLjY4NmMtMTMuODI0IDEzLjc1MS0zMS43NDQgMTkuODIyLTQ5Ljg4MyAxOS44MjJsLTQxLjk4NCA0MS45ODRjNTMuODMzIDcwLjg3NSA4Ni4zMDkgMTU4LjcyIDg2LjMwOSAyNTQuMzE4IDAgMjMyLjMwMi0xODkuMDc0IDQyMS4zNzYtNDIxLjQ0OSA0MjEuMzc2LTIzMi4zMDIgMC00MjEuMzAzLTE4OS4wMDEtNDIxLjMwMy00MjEuMzc2IDAtMjMyLjMwMiAxODkuMDAxLTQyMS4zMDMgNDIxLjMwMy00MjEuMzAzIDk4LjIzMSAwIDE4OC40ODkgMzQuMDExIDI2MC4xNjkgOTAuNTUxbDQxLjI1My00MS4yNTNjMC4xNDYtMTcuOTkzIDUuOTk4LTM1Ljg0IDE5LjgyMi00OS44MWwxMjAuNjg2LTE0Ni41NzhjMjguNTk5LTI4LjY3MiA3NC44MjUtMjguNjcyIDEwMy40MjQgMHYwLjA3M2wyOC4wODcgMjguMDE0YzI4Ljc0NSAyOC41MjYgMjguNzQ1IDc0Ljg5OCAwLjE0NiAxMDMuNDk3ek00MjguOTgzIDE3Ny43MzdjLTE5MiAwLTM0OC4xNiAxNTYuMTYtMzQ4LjE2IDM0OC4wODcgMCAxOTIgMTU2LjE2IDM0OC4yMzMgMzQ4LjE2IDM0OC4yMzMgMTkyLjA3MyAwIDM0OC4zMDYtMTU2LjIzMyAzNDguMzA2LTM0OC4yMzNzLTE1Ni4yMzMtMzQ4LjA4Ny0zNDguMzA2LTM0OC4wODd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5Y2M7IiBnbHlwaC1uYW1lPSJ6b29tSW4iIGQ9Ik0xMDAyLjU2OSA4OC45NDJsLTE0Ni41NzggMTIwLjY4NmMtMTMuODI0IDEzLjgyNC0zMS43NDQgMTkuODIyLTQ5LjgxIDE5LjgyMmwtNDEuOTg0IDQxLjk4NGM1My44MzMgNzAuODAyIDg2LjIzNSAxNTguNzIgODYuMjM1IDI1NC4zMTggMCAyMzIuMzAyLTE4OS4wNzQgNDIxLjM3Ni00MjEuNDQ5IDQyMS4zNzYtMjMyLjMwMiAwLTQyMS4zMDMtMTg5LjAwMS00MjEuMzAzLTQyMS4zNzYgMC0yMzIuMzAyIDE4OS4wMDEtNDIxLjMwMyA0MjEuMzAzLTQyMS4zMDMgOTguMjMxIDAgMTg4LjQxNiAzNC4wMTEgMjYwLjE2OSA5MC41NTFsNDEuMzI2LTQxLjMyNmMwLjA3My0xNy45OTMgNS45OTgtMzUuODQgMTkuODIyLTQ5LjczN2wxMjAuNjg2LTE0Ni41NzhjMjguNTk5LTI4LjU5OSA3NC44MjUtMjguNTk5IDEwMy40MjQgMGwyOC4wODcgMjguMDg3YzI4LjY3MiAyOC41OTkgMjguNjcyIDc0Ljg5OCAwLjA3MyAxMDMuNDk3ek00MjguOTgzIDE3Ny42NjRjLTE5MiAwLTM0OC4xNiAxNTYuMTYtMzQ4LjE2IDM0OC4xNnMxNTYuMTYgMzQ4LjIzMyAzNDguMTYgMzQ4LjIzM2MxOTIuMDczIDAgMzQ4LjMwNi0xNTYuMjMzIDM0OC4zMDYtMzQ4LjIzM3MtMTU2LjIzMy0zNDguMTYtMzQ4LjMwNi0zNDguMTZ6TTU5My44NDcgNTg1LjcyOGgtMTA5LjcxNHYxMDkuNzE0YzAgMzAuMjgxLTI0LjU3NiA1NC44NTctNTQuODU3IDU0Ljg1N3MtNTQuODU3LTI0LjU3Ni01NC44NTctNTQuODU3di0xMDkuNzE0aC0xMDkuNzE0Yy0zMC4yODEgMC01NC44NTctMjQuNTc2LTU0Ljg1Ny01NC44NTdzMjQuNTc2LTU0Ljg1NyA1NC44NTctNTQuODU3aDEwOS43MTR2LTEwOS43MTRjMC0zMC40MjcgMjQuNTc2LTU0Ljg1NyA1NC44NTctNTQuODU3czU0Ljg1NyAyNC40MyA1NC44NTcgNTQuODU3djEwOS43MTRoMTA5LjcxNGMzMC40MjcgMCA1NC44NTcgMjQuNTc2IDU0Ljg1NyA1NC44NTdzLTI0LjQzIDU0Ljg1Ny01NC44NTcgNTQuODU3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWNkOyIgZ2x5cGgtbmFtZT0iem9vbU91dCIgZD0iTTEwMDIuNTY5IDg4Ljk0MmwtMTQ2LjU3OCAxMjAuNjg2Yy0xMy44MjQgMTMuODI0LTMxLjc0NCAxOS44MjItNDkuODEgMTkuODIybC00MS45ODQgNDEuOTg0YzUzLjgzMyA3MC44MDIgODYuMjM1IDE1OC43MiA4Ni4yMzUgMjU0LjMxOCAwIDIzMi4zMDItMTg5LjA3NCA0MjEuMzc2LTQyMS40NDkgNDIxLjM3Ni0yMzIuMzAyIDAtNDIxLjMwMy0xODkuMDAxLTQyMS4zMDMtNDIxLjM3NiAwLTIzMi4zMDIgMTg5LjAwMS00MjEuMzAzIDQyMS4zMDMtNDIxLjMwMyA5OC4yMzEgMCAxODguNDE2IDM0LjAxMSAyNjAuMTY5IDkwLjU1MWw0MS4zMjYtNDEuMzI2YzAuMDczLTE3Ljk5MyA1Ljk5OC0zNS44NCAxOS44MjItNDkuNzM3bDEyMC42ODYtMTQ2LjU3OGMyOC41OTktMjguNTk5IDc0LjgyNS0yOC41OTkgMTAzLjQyNCAwbDI4LjA4NyAyOC4wODdjMjguNjcyIDI4LjU5OSAyOC42NzIgNzQuODk4IDAuMDczIDEwMy40OTd6TTQyOC45ODMgMTc3LjY2NGMtMTkyIDAtMzQ4LjE2IDE1Ni4xNi0zNDguMTYgMzQ4LjE2czE1Ni4xNiAzNDguMjMzIDM0OC4xNiAzNDguMjMzYzE5Mi4wNzMgMCAzNDguMzA2LTE1Ni4yMzMgMzQ4LjMwNi0zNDguMjMzcy0xNTYuMjMzLTM0OC4xNi0zNDguMzA2LTM0OC4xNnpNNTkyLjYwMyA1ODMuMDk1aC0zMjkuMTQzYy0zMC4yODEgMC01NC44NTctMjQuNTc2LTU0Ljg1Ny01NC44NTdzMjQuNTc2LTU0Ljg1NyA1NC44NTctNTQuODU3aDMyOS4xNDNjMzAuNDI3IDAgNTQuODU3IDI0LjU3NiA1NC44NTcgNTQuODU3cy0yNC40MyA1NC44NTctNTQuODU3IDU0Ljg1N3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTljZTsiIGdseXBoLW5hbWU9ImRlbGV0ZSIgZD0iTTk0Ny41NjYgNzYxLjkyOWgtMjA2LjQ4MmMwIDAuNTg1IDAuMzY2IDEuMDI0IDAuMzY2IDEuNTM2bC0zNi41NzEgODYuODk0Yy0xNy4xMTUgMzguODM5LTM5LjU3IDczLjE0My03Ni4yODggNzMuMTQzaC0yMzMuMTc5Yy0zNi43OTEgMC01OS4yNDYtMzQuMjMxLTc2LjM2MS03My4xNDNsLTM2LjU3MS04Ni44OTRjMC0wLjU4NSAwLjM2Ni0xLjAyNCAwLjM2Ni0xLjUzNmgtMjA2LjQwOWMtMjIuMDE2IDAtMzkuODYzLTE2LjM4NC0zOS44NjMtMzYuNTcxczE3Ljg0Ny0zNi41NzEgMzkuODYzLTM2LjU3MWg2OS44NTF2LTYwNi41MDFjMC04MC43NSA2NS4zMTctMTQ2LjI4NiAxNDUuODQ3LTE0Ni4yODZoNDM5LjY2MmM4MC42MDMgMCAxNDUuODQ3IDY1LjUzNiAxNDUuODQ3IDE0Ni4yODZ2NjA2LjUwMWg2OS45MjVjMjIuMDE2IDAgMzkuODYzIDE2LjM4NCAzOS44NjMgMzYuNTcxcy0xNy44NDcgMzYuNTcxLTM5Ljg2MyAzNi41NzF6TTM2NC43NjMgNzYyLjM2OGwzNS40MDEgNzUuNDFoMjIzLjUyNWwzNS40MDEtNzUuNDEtNTMuNDY3LTAuNDM5aC0xODcuMzE5bC01My41NDEgMC40Mzl6TTgwNC40OTggODQuNTUzYzAtNDAuNDQ4LTMyLjU0OS03My4xNDMtNzIuODUtNzMuMTQzaC00MzkuNDQyYy00MC4yMjkgMC03Mi43MDQgMzIuNjk1LTcyLjcwNCA3My4xNDN2NjA0LjIzM2g1ODQuOTk3di02MDQuMjMzek0zNDguOTY1IDE0OS4yODVjMjAuMTg3IDAgMzYuNTcxIDE2LjQ1NyAzNi41NzEgMzYuNTcxdjM0NC40M2MwIDIwLjI2MS0xNi4zODQgMzYuNTcxLTM2LjU3MSAzNi41NzFzLTM2LjU3MS0xNi4zMTEtMzYuNTcxLTM2LjU3MXYtMzQ0LjQzYzAtMjAuMTE0IDE2LjMxMS0zNi41NzEgMzYuNTcxLTM2LjU3MXpNNTEyIDE0OS4yODVjMjAuMTE0IDAgMzYuNTcxIDE2LjQ1NyAzNi41NzEgMzYuNTcxdjM0NC40M2MwIDIwLjI2MS0xNi40NTcgMzYuNTcxLTM2LjU3MSAzNi41NzEtMjAuMTg3IDAtMzYuNTcxLTE2LjMxMS0zNi41NzEtMzYuNTcxdi0zNDQuNDNjMC0yMC4xMTQgMTYuMzg0LTM2LjU3MSAzNi41NzEtMzYuNTcxek02NzUuMDM1IDE0OS4yODVjMjAuMjYxIDAgMzYuNTcxIDE2LjQ1NyAzNi41NzEgMzYuNTcxdjM0NC40M2MwIDIwLjI2MS0xNi4zMTEgMzYuNTcxLTM2LjU3MSAzNi41NzEtMjAuMTE0IDAtMzYuNTcxLTE2LjMxMS0zNi41NzEtMzYuNTcxdi0zNDQuNDNjMC0yMC4xMTQgMTYuMzg0LTM2LjU3MSAzNi41NzEtMzYuNTcxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWNmOyIgZ2x5cGgtbmFtZT0icmVmcmVzaCIgZD0iTTgwNS4xNTcgNDkuOTU3YzEyMS4yNzEgOTEuNDI5IDIwMC44NSAyMzUuNTkzIDIwMC44NSAzOTkuMDY3IDAgMjYzLjg5OS0yMDQuNzI3IDQ4MC40MDItNDYzLjUwNiA1MDAuMjI0di03Ny4yMzljMjE2LjI4My0xOS42MDIgMzg2LjQxNC0yMDEuNzI4IDM4Ni40MTQtNDIyLjk4NSAwLTE1MS4xODYtODAuNzUtMjgyLjYyNC0yMDAuMTE5LTM1Ny45NjFsNDguMTI4IDI2MC44MjctNzUuOTk1IDEzLjg5Ny03Mi44NS0zOTMuMzYyaDM5NC4zMTN2NzcuNDU4aC0yMTcuMjM0ek03OS4wNjcgNDQ5LjAyNGMwIDE3MC41NjkgMTAxLjU5NSAzMTYuNDE2IDI0Ny4wMDMgMzgzLjU2MWwtNTAuMTAzLTI3MC4zMzYgNzUuOTk1LTE0LjA0MyA3Mi43NzcgMzkzLjI4OWgtMzk0LjAyMXYtNzcuMjM5aDE5Ni4zMTVjLTEzNS4xNjgtODkuMzgxLTIyNS4yOC0yNDEuMTUyLTIyNS4yOC00MTUuMjMyIDAtMjc2LjkxOSAyMjUuMjgtNTAyLjE5OSA1MDIuMTI2LTUwMi4xOTkgMi4zNDEgMCA0LjQ2MiAwLjI5MyA2LjcyOSAwLjI5M3Y3Ny4zODVjLTIuMjY3IDAtNC4zODktMC4yOTMtNi43MjktMC4yOTMtMjM0LjI3NyAwLTQyNC44MTQgMTkwLjQ2NC00MjQuODE0IDQyNC44MTR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZDA7IiBnbHlwaC1uYW1lPSJtb2RpZnkiIGQ9Ik0zMi41NDkgMTg1LjEyNWwtMjkuNDc3LTI0NS42ODcgMjU2Ljk1MSAxOC40MzIgNjI4LjI5NyA2MjcuODU4LTIyNy40MDEgMjI3LjI1NS02MjguMzctNjI3Ljg1OHpNMjUwLjgwNyAxMTIuNTY3bC02OC42ODEgNjguNjgxIDQ1Ny42NTUgNDU3LjY1NSA2OC42MDgtNjguNjA4LTQ1Ny41ODItNDU3LjcyOHpNOTg2Ljc3IDg5MC4yMjJsLTMyLjkxNCAzMi44NDFjLTUzLjc2IDUzLjc2LTE0MS4wMTkgNTMuNzYtMTk0LjcwNiAwbC00MS43NjUtNDEuNjkxIDIyOC4yNzktMjI2LjgxNiA0MS4xNzkgNDEuMTA2YzUzLjY4NyA1My43NiA1My42ODcgMTQwLjg3My0wLjA3MyAxOTQuNTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZDE7IiBnbHlwaC1uYW1lPSJuZXciIGQ9Ik01MTIgOTYwYy0yODIuMzMxIDAtNTEyLTIyOS42NjktNTEyLTUxMiAwLTI4Mi4yNTggMjI5Ljc0Mi01MTIgNTEyLTUxMnM1MTIgMjI5Ljc0MiA1MTIgNTEyYzAgMjgyLjMzMS0yMjkuNjY5IDUxMi01MTIgNTEyek01MTIgOS4xNDNjLTI0Mi4wMzAgMC00MzguODU3IDE5Ni44MjctNDM4Ljg1NyA0MzguODU3czE5Ni45MDEgNDM4Ljg1NyA0MzguODU3IDQzOC44NTdjMjQxLjk1NyAwIDQzOC44NTctMTk2LjgyNyA0MzguODU3LTQzOC44NTdzLTE5Ni44MjctNDM4Ljg1Ny00MzguODU3LTQzOC44NTd6TTU0OC41NzEgNzQwLjU3MWgtNzMuMTQzdi0yNTZoLTI1NnYtNzMuMTQzaDI1NnYtMjU2aDczLjE0M3YyNTZoMjU2djczLjE0M2gtMjU2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWQyOyIgZ2x5cGgtbmFtZT0iY3B1IiBkPSJNODg4LjY4NiA5NjBoLTc1My4zNzFjLTc0LjYwNiAwLTEzNS4zMTQtNjIuMTcxLTEzNS4zMTQtMTM4LjYwNnYtNzQ2Ljg2MmMwLTc2LjM2MSA2MC43MDktMTM4LjUzMyAxMzUuMzE0LTEzOC41MzNoNzUzLjM3MWM3NC42MDYgMCAxMzUuMzE0IDYyLjE3MSAxMzUuMzE0IDEzOC42MDZ2NzQ2Ljc4OWMwIDc2LjQzNC02MC43MDkgMTM4LjYwNi0xMzUuMzE0IDEzOC42MDZ6TTg4OC42ODYgOS4xNDNoLTQ5LjQ0NXY1OS44MzFjMCA3Ny41MzEtNjQgMTQwLjU4MS0xNDIuNzAyIDE0MC41ODFoLTE1LjI4N2MtMTMuMjM5IDIyLjYwMS0zNy4wMTAgMzguNDczLTY1LjQ2MyAzOC40NzMtNDIuMzUgMC03Ni44LTMzLjY0Ni03Ni44LTc1LjExOCAwLTQxLjM5OSAzNC40NS03NS4xOTEgNzYuOC03NS4xOTEgMjguNTI2IDAgNTIuNTE3IDE2LjA5MSA2NS42MDkgMzguNzY2aDE1LjE0MWMzOC4zMjcgMCA2OS41NTktMzAuMjA4IDY5LjU1OS02Ny40Mzh2LTU5LjkwNGgtNTcxLjYxMXY1OS44MzFjMCAzNy4yMyAzMS4yMzIgNjcuNDM4IDY5LjU1OSA2Ny40MzhoNTEuNzg1YzEzLjIzOS0yMi43NDcgMzcuMTU3LTM4Ljc2NiA2NS42ODItMzguNzY2IDQyLjM1IDAgNzYuNzI3IDMzLjc5MiA3Ni43MjcgNzUuMTkxIDAgNDEuNDcyLTM0LjM3NyA3NS4xMTgtNzYuNzI3IDc1LjExOC0yOC40NTMgMC01Mi4yOTctMTUuODcyLTY1LjUzNi0zOC40aC01MS45MzFjLTc4LjcwMiAwLTE0Mi43MDItNjMuMDQ5LTE0Mi43MDItMTQwLjU4MXYtNTYuODMyYy0yNy4zNTUgNi44MDItNDguMjAxIDMxLjU5OC00OC4yMDEgNjIuNDY0djI2My42OGgxMDkuNTY4YzEwLjY3OS0xMy42MDUgMjYuNjk3LTIyLjg5NCA0NS41NjgtMjIuODk0IDMyLjMyOSAwIDU4LjQ0MSAyNS42IDU4LjQ0MSA1Ny4xOTggMCAzMS42NzEtMjYuMDM5IDU3LjM0NC01OC40NDEgNTcuMzQ0LTIxLjY1IDAtMzkuODYzLTEyLjA2OS00OS45NTctMjkuMzNoLTEwNS4xNzl2OTEuNDI5aDExMS44MzVjMTAuNzUyLTExLjc3NiAyNS44OTMtMTkuNjAyIDQzLjMwMS0xOS42MDIgMzIuMzI5IDAgNTguNDQxIDI1LjY3MyA1OC40NDEgNTcuMjcxIDAgMzEuNjcxLTI2LjAzOSA1Ny4zNDQtNTguNDQxIDU3LjM0NC0yMy4xODYgMC00Mi43ODktMTMuNTMxLTUyLjIyNC0zMi42OTVoLTEwMi45MTJ2MjY3LjA0NWMwIDM2LjEzMyAyNy44NjcgNjUuNDYzIDYyLjE3MSA2NS40NjNoMjY2LjQ1OXYtMTA4LjAzMmMtMTkuNjAyLTkuMjE2LTMzLjM1My0yOC41MjYtMzMuMzUzLTUxLjIgMC0zMS43NDQgMjYuMTg1LTU3LjM0NCA1OC41ODctNTcuMzQ0IDMyLjE4MyAwIDU4LjQ0MSAyNS42IDU4LjQ0MSA1Ny4zNDQgMCAxNy4wNDItNy45NzMgMzEuODktMTkuOTY4IDQyLjQyM3YxMTYuODA5aDkzLjMzdi0xMTAuMjI2Yy0xNy43NzQtOS45NDctMzAuMDYyLTI3LjcyMS0zMC4wNjItNDkuMDA2IDAtMzEuNzQ0IDI2LjE4NS01Ny4zNDQgNTguNTE0LTU3LjM0NCAzMi4xODMgMCA1OC40NDEgMjUuNiA1OC40NDEgNTcuMzQ0IDAgMTguNTA1LTkuNTA5IDM0LjIzMS0yMy40MDYgNDQuNjE3djExNC42MTVoMjY2LjQ1OWMzNC4yMzEgMCA2Mi4wOTgtMjkuMzMgNjIuMDk4LTY1LjQ2M3YtMjY3LjA0NWgtMTAyLjU0NmMtOS40MzUgMTkuMTYzLTI4Ljk2NSAzMi42OTUtNTIuMjI0IDMyLjY5NS0zMi4zMjkgMC01OC40NDEtMjUuNjczLTU4LjQ0MS01Ny4zNDQgMC0zMS41OTggMjYuMDM5LTU3LjI3MSA1OC40NDEtNTcuMjcxIDE3LjQwOCAwIDMyLjQ3NSA3LjgyNiA0My4zMDEgMTkuNjAyaDExMS40N3YtOTEuNDI5aC0xMDQuODg3Yy0xMC4wOTQgMTcuMjYyLTI4LjMwNiAyOS4zMy00OS45NTcgMjkuMzMtMzIuMzI5IDAtNTguNDQxLTI1LjY3My01OC40NDEtNTcuMzQ0czI2LjAzOS01Ny4xOTggNTguNDQxLTU3LjE5OGMxOC44NzEgMCAzNC45NjIgOS4zNjIgNDUuNTY4IDIyLjg5NGgxMDkuMjc1di0yNjMuNjhjMC0zNi4xMzMtMjcuODY3LTY1LjQ2My02Mi4xNzEtNjUuNDYzek0zNTYuMjA2IDU4Mi4zNjNoMjk0Ljk4NXYtMjc1LjUyOWgtMjk0Ljk4NXYyNzUuNTI5eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWQzOyIgZ2x5cGgtbmFtZT0ibWVtb3J5IiBkPSJNMTAyMy44NTQgMzA2LjI0OWwtOTcuOTM4IDU2Ni40OTFoLTc5NC45OWwtMTMwLjcwNi01NjYuNDkxaC0wLjIxOXYtMjg0LjMwNmgxMDI0djI4NC4zMDZoLTAuMTQ2ek0xODMuMjk2IDc5OS41OThoNjg2Ljg4NWw3Mi45MjMtNDIxLjAxMGgtODU2Ljk0Mmw5Ny4xMzQgNDIxLjAxMHpNOTU1LjY4NSA5NS4xNTloLTg4Ny4zNjl2MTM3Ljk0N2g4ODcuNDQydi0xMzcuOTQ3ek0xMzEuOTUgMjA5LjI2Mmg3My4xNDN2LTk5LjEwOWgtNzMuMTQzdjk5LjEwOXpNMjQ3LjAwMyAyMDkuMjYyaDczLjE0M3YtOTkuMTA5aC03My4xNDN2OTkuMTA5ek04OTAuMzY4IDE1Ny43NjljMC0xNy42OTMtMTQuMzQzLTMyLjAzNy0zMi4wMzctMzIuMDM3cy0zMi4wMzcgMTQuMzQzLTMyLjAzNyAzMi4wMzdjMCAxNy42OTMgMTQuMzQzIDMyLjAzNyAzMi4wMzcgMzIuMDM3czMyLjAzNy0xNC4zNDMgMzIuMDM3LTMyLjAzN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlkNDsiIGdseXBoLW5hbWU9ImN1cnJlbnRBbGFybSIgZD0iTTUxMiA5NjBjLTI4Mi4zMzEgMC01MTItMjI5Ljc0Mi01MTItNTEyczIyOS42NjktNTEyIDUxMi01MTJjMjgyLjI1OCAwIDUxMiAyMjkuNzQyIDUxMiA1MTJzLTIyOS43NDIgNTEyLTUxMiA1MTJ6TTUxMiA5LjE0M2MtMjQyLjAzMCAwLTQzOC44NTcgMTk2LjgyNy00MzguODU3IDQzOC44NTdzMTk2LjgyNyA0MzguODU3IDQzOC44NTcgNDM4Ljg1NyA0MzguODU3LTE5Ni44MjcgNDM4Ljg1Ny00MzguODU3LTE5Ni44MjctNDM4Ljg1Ny00MzguODU3LTQzOC44NTd6TTc1Ny45MDYgMzI4LjcwNGMtNTYuMTc0IDU2LjE3NC04MC4wMTggMTY1Ljk2MS03Ny42MDUgMjI3LjQ3NCAyLjg1MyA2MS40NC0xNC40MDkgMTE4LjYzOC01OC42NjEgMTUyLjM1Ny0zOS43OSAzMC4yMDgtODAuNTMgMjQuMDY0LTgwLjUzIDI0LjA2NGwtMi40MTQgMjEuNDMxYzAgMC04LjkyMyA2Ljk0OS0yNi43NyA2Ljk0OS0xNi44MjMgMC0yNi42OTctNi45NDktMjYuNjk3LTYuOTQ5bC0yLjcwNi0yMS40MzFjMCAwLTQwLjY2NyA2LjA3MS04MC4xNjUtMjQuMDY0LTQ0LjQ3MS0zMy43MTktNjEuNTg2LTkwLjk5LTU4Ljg4LTE1Mi4zNTcgMi43MDYtNjEuNTEzLTIxLjM1OC0xNzEuMzAxLTc3LjYwNS0yMjcuNDAxLTU2LjEwMS01Ni4xNzQtNjQuMDczLTU4Ljk1My02MS40NC04OC4yODMgMi43NzktMjkuMzMgMjYuOTE3LTQzLjgxMyAyNi45MTctNDMuODEzaDE5Ni40NjJjMC0zNC4xNTggMzcuNzQyLTYxLjczMyA4NC4xODctNjEuNzMzIDQ2LjU5MiAwIDg0LjE4NyAyNy41NzUgODQuMTg3IDYxLjczM2gxOTYuNTM1YzAgMCAyNC4yMSAxNC40MDkgMjYuODQzIDQzLjgxM3MtNS4yNjYgMzIuMTEtNjEuNjU5IDg4LjIxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWQ1OyIgZ2x5cGgtbmFtZT0ibm90aWNlQWxhcm0iIGQ9Ik01MTguNjU2IDk1Ny42NTljLTI4Mi4zMzEgMC01MTItMjI5LjY2OS01MTItNTEyIDAtMjgyLjI1OCAyMjkuNjY5LTUxMiA1MTItNTEyczUxMi4wNzMgMjI5Ljc0MiA1MTIuMDczIDUxMmMwIDI4Mi4zMzEtMjI5Ljc0MiA1MTItNTEyLjA3MyA1MTJ6TTUxOC42NTYgNi44NzVjLTI0Mi4wMzAgMC00MzguODU3IDE5Ni44MjctNDM4Ljg1NyA0MzguODU3czE5Ni44MjcgNDM4Ljg1NyA0MzguODU3IDQzOC44NTdjMjQyLjEwMyAwIDQzOC45My0xOTYuODI3IDQzOC45My00MzguODU3cy0xOTYuOTAxLTQzOC44NTctNDM4LjkzLTQzOC44NTd6TTgxOC45MDcgNTI3LjUwNmMtMS43NTUgMC0zLjM2NS0xLjI0My01LjMzOS0xLjQ2M3YxOTIuOTUxYzAgMC0yNy4yMDkgMTIuMTQyLTUxLjI3MyAwLTUwLjgzNC0yNS4zMDctMTE4LjcxMS0xMDkuNDk1LTE5MC4yNDUtMTIzLjE3My03MS4zMTQtMTMuNTMxLTI2NC4yNjUgMC41MTItMzUwLjkzOS03LjYwNy0yMy45MTgtMi4xMjEtNjMuOTI3LTE1LjA2Ny02Ny41MTEtNjcuNTg0LTMuODc3LTUyLjQ0MyAwLTEwNy4xNTQgMC0xMDcuMTU0czE5LjYwMi00NS4yMDIgNDUuMDU2LTQ1LjIwMmMyNS4zODEgMCA4MS42MjcgMCA4MS42MjcgMHMtMi4xMjEtMTA3LjQ0NyAwLTE0My4yODdjMy4xNDUtNTAuMTc2IDE4Ljg3MS02Mi4zMTggMzguMTA3LTg4LjEzNyAxMS4wNDUtMTUuMTQxIDczLjY1NS00OS43MzcgMTEyLjM0Ny0yNS45NjYgMjEuNTA0IDEzLjM4NSAzOS42NDMgMzYuNDI1IDMxLjg5IDY1LjUzNi05LjUwOSAzNS4xODItNDQuMTA1IDEuMzktNTQuNzExIDQ0LjEwNS0xMC42NzkgNDIuNDk2LTcuNjA3IDEyNy41NjEtNy42MDcgMTI3LjU2MXMxOC4yODYgMjUuODkzIDQyLjY0MiAzMS45NjNjNS40MTMgMS40NjMgNzQuNDU5LTQuNjA4IDc0LjQ1OS00LjYwOHMxOTAuNDY0LTY2Ljc3OSAyMzUuNTItMTI5LjA5N2MzMS45NjMtNDQuMDMyIDYwLjYzNS0xMy41MzEgNjAuNjM1LTEzLjUzMXYxOTAuNjFjMS45MDItMC4yMTkgMy41ODQtMS40NjMgNS4yNjYtMS40NjMgMjAuNjI2IDAgMzcuMzc2IDIzLjQ3OSAzNy4zNzYgNTIuODA5IDAuMDczIDI5LjExMS0xNi42MDMgNTIuNzM2LTM3LjMwMyA1Mi43MzZ6TTc4MS44MjQgMjkxLjkxM2gtMTMuODI0YzAgMCAwIDAtMzkuNDI0IDM1LjAzNS0zOS40MjQgMzQuODg5LTEyNy4xMjIgNjkuOTI1LTE4MC44MDkgODYuNjc0LTE1LjQzMyA0Ljc1NC02NS4wMjQgOC4zMzgtNjUuMDI0IDguMzM4djExMi4zNDdjNi40MzcgMC4xNDYgMTcuMjYyIDQuMzg5IDM3LjgxNSAzLjczIDEwNy44ODYtMi45OTkgMjQ5LjE5OCAxMjkuMjQzIDI0OS4xOTggMTI5LjI0M2gxMi4xNDJ2LTM3NS4zNjl6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZDY7IiBnbHlwaC1uYW1lPSJoaXN0b3J5QWxhcm0iIGQ9Ik02NzIuMzI5IDYwOC42OTVsLTExNy45MDYtMTAwLjU3MWMtMTAuNjc5IDYuMjE3LTIyLjUyOCAxMC42NzktMzUuNzY3IDEwLjY3OS04Ljk5NyAwLTE3LjMzNS0yLjEyMS0yNS4yMzQtNS4xMmwtMTgyLjQ5MSAxODIuNDkxYy0xMy40NTggMTMuNDU4LTM1Ljg0IDEyLjcyNy01MC4xMDMtMS42MDktMTQuMjYzLTE0LjI2My0xNC45OTQtMzYuNjQ1LTEuNjA5LTUwLjEwM2wxODguNDE2LTE4OC40MTZjLTAuNTEyLTMuNTExLTIuMTIxLTYuNjU2LTIuMTIxLTEwLjM4NiAwLTQwLjM3NSAzMi43NjgtNzMuMTQzIDczLjE0My03My4xNDMgMzkuNjQzIDAgNzEuNTM0IDMxLjY3MSA3Mi43MDQgNzEuMDIybDEyOC40MzkgMTA5LjU2OGMxNS4zNiAxMy4wOTMgMTcuMTg5IDM2LjEzMyA0LjE2OSA1MS40OTMtMTMuMTY2IDE1LjQzMy0zNi4yNzkgMTcuMjYyLTUxLjYzOSA0LjA5NnpNNTE4LjY1NiA3NTMuMTUyYzIwLjE4NyAwIDM2LjU3MSAxNi4zODQgMzYuNTcxIDM2LjU3MXY1MS4yYzAgMjAuMTg3LTE2LjM4NCAzNi41NzEtMzYuNTcxIDM2LjU3MXMtMzYuNTcxLTE2LjM4NC0zNi41NzEtMzYuNTcxdi01MS4yYzAtMjAuMTg3IDE2LjMxMS0zNi41NzEgMzYuNTcxLTM2LjU3MXpNNTE4LjY1NiAxMzkuMjY0Yy0yMC4xODcgMC0zNi41NzEtMTYuNDU3LTM2LjU3MS0zNi41NzF2LTUxLjI3M2MwLTIwLjExNCAxNi4zODQtMzYuNTcxIDM2LjU3MS0zNi41NzFzMzYuNTcxIDE2LjQ1NyAzNi41NzEgMzYuNTcxdjUxLjI3M2MwIDIwLjE4Ny0xNi4zODQgMzYuNTcxLTM2LjU3MSAzNi41NzF6TTkxMC4zMzYgNDgyLjIzMWgtNTEuMTI3Yy0yMC4xODcgMC0zNi41NzEtMTYuMzg0LTM2LjU3MS0zNi41NzFzMTYuMzg0LTM2LjU3MSAzNi41NzEtMzYuNTcxaDUxLjEyN2MyMC4yNjEgMCAzNi41NzEgMTYuMzg0IDM2LjU3MSAzNi41NzFzLTE2LjIzOCAzNi41NzEtMzYuNTcxIDM2LjU3MXpNMTcyLjEwNSA0ODIuMjMxaC01MS4yYy0yMC4xMTQgMC0zNi41NzEtMTYuMzg0LTM2LjU3MS0zNi41NzFzMTYuNDU3LTM2LjU3MSAzNi41NzEtMzYuNTcxaDUxLjJjMjAuMTg3IDAgMzYuNTcxIDE2LjM4NCAzNi41NzEgMzYuNTcxcy0xNi4zODQgMzYuNTcxLTM2LjU3MSAzNi41NzF6TTUxOC42NTYgOTU3LjY1OWMtMjgyLjMzMSAwLTUxMi0yMjkuNjY5LTUxMi01MTIgMC0yODIuMjU4IDIyOS42NjktNTEyIDUxMi01MTJzNTEyLjA3MyAyMjkuNzQyIDUxMi4wNzMgNTEyYzAgMjgyLjMzMS0yMjkuNzQyIDUxMi01MTIuMDczIDUxMnpNNTE4LjY1NiA2Ljg3NWMtMjQyLjAzMCAwLTQzOC44NTcgMTk2LjgyNy00MzguODU3IDQzOC44NTdzMTk2LjgyNyA0MzguODU3IDQzOC44NTcgNDM4Ljg1N2MyNDIuMTAzIDAgNDM4LjkzLTE5Ni44MjcgNDM4LjkzLTQzOC44NTdzLTE5Ni45MDEtNDM4Ljg1Ny00MzguOTMtNDM4Ljg1N3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlkNzsiIGdseXBoLW5hbWU9ImNsb3NlIiBkPSJNODY4Ljc5MSAyMDQuMjE1bC0yNTEuMDI2IDI0NS4xMDIgMjQ1LjE3NSAyNTAuODgtMTA3LjE1NCAxMDQuNTIxLTI0NS4wMjktMjUwLjg4LTI1MS4wMjYgMjQ1LjAyOS0xMDQuNTIxLTEwNy4wMDggMjUxLjAyNi0yNDUuMTAyLTI0NS4xNzUtMjUxLjAyNiAxMDcuMDgxLTEwNC40NDggMjQ1LjEwMiAyNTAuOTUzIDI1MS4wMjYtMjQ1LjE3NXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlkODsiIGdseXBoLW5hbWU9InRhYmxlIiBkPSJNMzYuNTcxIDg4Ni44NTd2LTk1MC44NTdoOTUwLjg1N3Y5NTAuODU3aC05NTAuODU3ek05MTkuMTEzIDgxMy43MTR2LTExMy4yMjVoLTgxNC4yMjZ2MTEzLjIyNWg4MTQuMjI2ek02ODguNTY3IDYyNy4zNDZ2LTE2NS4yM2gtMTM2LjMzOHYxNjUuMjNoMTM2LjMzOHpNNDc5LjA4NiA0NjIuMDQzaC0xNDQuMDE4djE2NS4zMDNoMTQ0LjAxOHYtMTY1LjMwM3pNMjYxLjkyNSA0NjIuMDQzaC0xNTcuMDM4djE2NS4zMDNoMTU3LjAzOHYtMTY1LjMwM3pNMjYxLjkyNSAzODguOTAxdi0xNDIuNDgyaC0xNTcuMDM4djE0Mi40ODJoMTU3LjAzOHpNMzM1LjA2NyAzODguOTAxaDE0NC4wMTh2LTE0Mi40ODJoLTE0NC4wMTh2MTQyLjQ4MnpNNTUyLjIyOSAzODguOTAxaDEzNi4zMzh2LTE0Mi40ODJoLTEzNi4zMzh2MTQyLjQ4MnpNNzYxLjcxIDM4OC45MDFoMTU3LjQwM3YtMTQyLjQ4MmgtMTU3LjQwM3YxNDIuNDgyek03NjEuNzEgNDYyLjA0M3YxNjUuMzAzaDE1Ny40MDN2LTE2NS4yM2gtMTU3LjQwM3pNMTA0Ljg4NyA5LjA3MHYxNjQuMjA2aDE1Ny4wMzh2LTE2NC4yMDZoLTE1Ny4wMzh6TTMzNS4wNjcgOS4wNzB2MTY0LjIwNmgxNDQuMDE4di0xNjQuMjA2aC0xNDQuMDE4ek01NTIuMjI5IDkuMDcwdjE2NC4yMDZoMTM2LjMzOHYtMTY0LjIwNmgtMTM2LjMzOHpNNzYxLjcxIDkuMDcwdjE2NC4yMDZoMTU3LjQwM3YtMTY0LjIwNmgtMTU3LjQwM3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlkOTsiIGdseXBoLW5hbWU9Im5leHQiIGQ9Ik0yMTUuMDQwIDkyMy40MjlsNTAxLjEwMi00ODEuNjQ2djQ4MS41NzNoMTQ2LjI4NnYtOTUwLjc4NGgtMTQ2LjI4NnY0NjMuNTA2bC01MDEuMTAyLTQ2My41MDZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZGE7IiBnbHlwaC1uYW1lPSJwcmUiIGQ9Ik04NjIuNDI3IDkyMy40MjlsLTUwMS4xMDItNDgxLjY0NnY0ODEuNTczaC0xNDYuMjg2di05NTAuNzg0aDE0Ni4yODZ2NDYzLjUwNmw1MDEuMTAyLTQ2My41MDZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZGI7IiBnbHlwaC1uYW1lPSJyb2xlc2V0IiBkPSJNOTQyLjUyOCAzODUuMTUyYzAgMC0zOS44NzIgNDMuOTA0LTc3LjYzMiA2OC4wOTYtMzcuODg4IDI0LjMyLTEwMi42NTYgMzYuOTkyLTEwMi42NTYgMzYuOTkybC0zLjM5MiAzMS4xMDQgNi44NDggNC42MDhjMCAwIDI3Ljc3NiA1Ni42NCAzMi4zODQgNjkuMzEyIDQuNTQ0IDEyLjczNiAxMi44IDEyLjczNiAxOC41NiAxOS42NDhzMTIuMDMyIDUxLjg0IDguMTI4IDU4Ljg4Yy0yLjg4IDUuMTg0LTkuMzQ0IDcuMDQwLTkuMzQ0IDcuMDQwbDEuMjggOS4xNTJjMCAwIDEwLjM2OCA1Ny43MjggNi44NDggNzUuMDcycy0xMS42NDggNDUuMTItMjEuODg4IDU4Ljg4Yy0xMC40OTYgMTMuODg4LTI3LjY0OCAyMC44LTQxLjYgMTguNTYtMTMuODg4LTIuMzY4LTIwLjg2NCA2LjkxMi0yMC44NjQgNi45MTJzLTI2LjM2OCAyMy4xMDQtNTEuODQgMjQuMjU2LTk4LjMwNC0xNy4zNDQtMTEzLjI4LTg1LjUwNGMtMTQuOTc2LTY4LjE2IDAtMTEwLjg0OCAwLTExMC44NDhsLTYuOTc2LTIuMzA0YzAgMC0zLjQ1Ni0yOC44NjQgMy41Mi00OS42NjQgNi44NDgtMjAuNzM2IDI0LjI1Ni0zMy40MDggMjQuMjU2LTMzLjQwOGwzLjQ1Ni02Ljk3NmMwIDAgNC4wMzItOS4zNDQgOS4yOC0yMC42NzIgNTMuNDQtMzUuNzc2IDkwLjE3Ni0xMDQuNzA0IDkwLjE3Ni0xODQuOTYgMC00Ni4wODAtMTIuMjI0LTg4LjM4NC0zMi41NzYtMTIzLjA3MiAxMS4yLTAuNzA0IDIyLjQ2NC0xLjM0NCAzMy42LTEuMDg4IDEzNC4yMDggMy42NDggMjM2LjY3MiA0Mi4yNCAyNDMuNzEyIDYxLjg4OCA2Ljg0OCAxOS41MiAwIDY4LjA5NiAwIDY4LjA5NnpNMzU1LjEzNiAzNzkuMjY0YzAgNzguOTEyIDM1LjUyIDE0Ni44OCA4Ny41NTIgMTgzLjE2OCA2LjUyOCAxMy43NiAxMi44NjQgMjcuNDU2IDE0Ljg0OCAzMi44OTYgNC40OCAxMi42NzIgMTIuNzM2IDEyLjY3MiAxOC40OTYgMTkuNTg0czEyLjAzMiA1MS44NCA4LjEyOCA1OC44OGMtMi44OCA1LjE4NC05LjM0NCA3LjA0MC05LjM0NCA3LjA0MGwxLjI4IDkuMTUyYzAgMCAxMC4zNjggNTcuNzI4IDYuODQ4IDc1LjA3MnMtMTEuNjQ4IDQ1LjEyLTIxLjg4OCA1OC44OGMtMTAuNTYgMTMuODg4LTI3LjcxMiAyMC44NjQtNDEuNjY0IDE4LjU2LTEzLjg4OC0yLjM2OC0yMC44NjQgNi45MTItMjAuODY0IDYuOTEycy0yNi4zNjggMjMuMTA0LTUxLjg0IDI0LjI1NmMtMjUuNDcyIDEuMTUyLTk4LjMwNC0xNy4zNDQtMTEzLjI4LTg1LjUwNHMwLTExMC44NDggMC0xMTAuODQ4bC02LjkxMi0yLjMwNGMwIDAtMy40NTYtMjguODY0IDMuNDU2LTQ5LjY2NCA2LjkxMi0yMC43MzYgMjQuMjU2LTMzLjQwOCAyNC4yNTYtMzMuNDA4bDMuNDU2LTYuOTc2YzAgMCAyMi4wMTYtNTEuOTY4IDMxLjE2OC02MC4wMzIgOS4yOC04LjEyOCAyLjMwNC0yOC45MjggMi4zMDQtMjguOTI4bC0xMi42NzItOS4yMTZjMCAwLTE2MS42NjQtNTAuODgtMTY2LjMzNi05Ny4wODhzLTYuNDY0LTU1LjgwOC0zLjI2NC02OS44ODhjMi4xNzYtOS4zNDQgMTI5LjY2NC02OC4wOTYgMjQ5LjI4LTY0Ljc2OCAxMC4wNDggMC4yNTYgMTkuMzkyIDEuMTUyIDI5LjA1NiAxLjcyOC0yMC4wMzIgMzQuNjg4LTMyLjA2NCA3Ni43MzYtMzIuMDY0IDEyMi40OTZ6TTU2OC44MzIgNTMwLjQ5NmMwIDAtMjYuMzY4IDIzLjEwNC01MS44NCAyNC4yNTZzLTk4LjMwNC0xNy4zNDQtMTEzLjI4LTg1LjUwNGMtMTQuOTc2LTY4LjE2IDAtMTEwLjg0OCAwLTExMC44NDhsLTYuOTEyLTIuMzY4YzAgMC0zLjQ1Ni0yOC44NjQgMy40NTYtNDkuNjY0IDYuOTEyLTIwLjczNiAyNC4yNTYtMzMuNDA4IDI0LjI1Ni0zMy40MDhsMy40NTYtNi45NzZjMCAwIDIyLjAxNi01MS45NjggMzEuMTY4LTYwLjAzMiA5LjI4LTguMDY0IDIuMzA0LTI4Ljg2NCAyLjMwNC0yOC44NjRsLTEyLjY3Mi05LjIxNmMwIDAtMTYxLjY2NC01MC44OC0xNjYuMzM2LTk3LjA4OHMtNi40NjQtNTUuODA4LTMuMjY0LTY5Ljg4OGMyLjE3Ni05LjQwOCAxMjkuNjY0LTY4LjE2IDI0OS4yOC02NC44MzIgMTM0LjIwOCAzLjcxMiAyMzYuNzM2IDQyLjMwNCAyNDMuNzEyIDYxLjg4OCA2Ljg0OCAxOS42NDggMCA2OC4xNiAwIDY4LjE2cy0zOS44NzIgNDMuOTA0LTc3LjYzMiA2OC4wOTZjLTM3Ljg4OCAyNC4zMi0xMDIuNjU2IDM2Ljk5Mi0xMDIuNjU2IDM2Ljk5MmwtMy4zOTIgMzEuMTA0IDYuODQ4IDQuNjA4YzAgMCAyNy43NzYgNTYuNjQgMzIuMzg0IDY5LjMxMiA0LjQ4IDEyLjY3MiAxMi43MzYgMTIuNjcyIDE4LjQ5NiAxOS42NDhzMTIuMDMyIDUxLjg0IDguMTI4IDU4Ljg4Yy0yLjg4IDUuMTg0LTkuMzQ0IDcuMDQwLTkuMzQ0IDcuMDQwbDEuMjggOS4xNTJjMCAwIDEwLjM2OCA1Ny43MjggNi44NDggNzUuMDcycy0xMS42NDggNDUuMTItMjEuODg4IDU4Ljg4Yy0xMC40MzIgMTQuMDE2LTI3LjUyIDIwLjkyOC00MS41MzYgMTguNjg4LTEzLjg4OC0yLjM2OC0yMC44NjQgNi45MTItMjAuODY0IDYuOTEyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWRjOyIgZ2x5cGgtbmFtZT0icm9sZSIgZD0iTTUwOS41MDQgMjg5LjM0NGMwIDAgOS4zNDQgMjcuOTA0LTMuMDcyIDM4LjY1Ni0xMi4yODggMTAuODE2LTQxLjc5MiA4MC40NDgtNDEuNzkyIDgwLjQ0OGwtNC42MDggOS4zNDRjMCAwLTIzLjIzMiAxNi45Ni0zMi41MTIgNDQuODY0LTAuNjQgMS44NTYtMC43NjggMy45NjgtMS4yOCA1Ljg4OC0xNy4xNTIgNC41NDQtMjguOTI4IDYuODQ4LTI4LjkyOCA2Ljg0OGwtNC4zNTIgMzkuMzYgOC42NCA1Ljg4OGMwIDAgMTIuMTYgMjQuODMyIDIzLjQyNCA0OC41MTItMi44OCAyNS44NTYtMy40NTYgNjQgNy4xMDQgMTExLjY4IDYuMjA4IDI4LjA5NiAyMC4wOTYgNDkuMzQ0IDM2Ljg2NCA2NS45ODQgMy41ODQgMjMuMTA0IDguNTc2IDYxLjA1NiA1LjUwNCA3NS45MDQtNC4xNiAyMS44ODgtMTQuNTI4IDU2Ljk2LTI3LjcxMiA3NC40MzItMTMuMTIgMTcuNTM2LTM0Ljk0NCAyNi4zMDQtNTIuNDggMjMuMzZzLTI2LjI0IDguNzY4LTI2LjI0IDguNzY4LTMzLjQ3MiAyOS4yNDgtNjUuNiAzMC42NTZjLTMyLjEyOCAxLjQ3Mi0xMjQuMTYtMjEuODg4LTE0My4xNjgtMTA3Ljk2OC0xOC45NDQtODYuMDgwIDAtMTQwLjAzMiAwLTE0MC4wMzJsLTguNjQtMy4wMDhjMCAwLTQuNDE2LTM2LjU0NCA0LjI4OC02Mi43MiA4Ljc2OC0yNi4zMDQgMzAuNjU2LTQyLjM2OCAzMC42NTYtNDIuMzY4bDQuMzUyLTguNzY4YzAgMCAyNy44NC02NS42NjQgMzkuNDI0LTc1LjkwNCAxMS42NDgtMTAuMTEyIDIuODgtMzYuNDggMi44OC0zNi40OGwtMTUuOTM2LTExLjU4NGMwIDAtMjA0LjI4OC02NC4xOTItMjEwLjE3Ni0xMjIuNjg4LTUuODI0LTU4LjMwNC04LjE5Mi03MC41MjgtNC4wOTYtODguMjU2IDIuNjI0LTExLjA3MiAxNDQuNzA0LTc3LjE4NCAyODcuMTA0LTgxLjcyOCA1NC4xNDQgNTEuNDU2IDIwMy40NTYgOTguNDk2IDIwMy40NTYgOTguNDk2bDE2Ljg5NiAxMi40MTZ6TTEwMTkuODQgMTEwLjQ2NGMwIDAtNTMuMzc2IDU4LjgxNi0xMDQgOTEuMzI4LTUwLjc1MiAzMi41NzYtMTM3LjM0NCA0OS40NzItMTM3LjM0NCA0OS40NzJsLTQuNjA4IDQxLjcyOCA5LjI4IDYuMjcyYzAgMCAzNy4xMiA3NS44NCA0My4zOTIgOTIuODY0IDYuMTQ0IDE3LjAyNCAxNy4wMjQgMTcuMDI0IDI0Ljc2OCAyNi4zMDRzMTYgNjkuMzc2IDEwLjc1MiA3OC45NzZjLTMuNzc2IDYuOTEyLTEyLjIyNCA5LjM0NC0xMi4yMjQgOS4zNDRsMS4zNDQgMTIuMjI0YzAgMCAxMy44ODggNzcuMzc2IDkuMjggMTAwLjYwOHMtMTUuNDg4IDYwLjM1Mi0yOS4zNzYgNzguOTEyYy0xNC4wMTYgMTguNjI0LTM3LjEyIDI3LjkwNC01NS43NDQgMjQuODMyLTE4LjYyNC0zLjEzNi0yNy45MDQgOS4yOC0yNy45MDQgOS4yOHMtMzUuNTIgMzAuOTEyLTY5LjUwNCAzMi40NDhjLTM0LjExMiAxLjUzNi0xMzEuNjQ4LTIzLjE2OC0xNTEuNzQ0LTExNC41Ni0yMC4wOTYtOTEuMjY0IDAtMTQ4LjQ4IDAtMTQ4LjQ4bC05LjI4LTMuMTM2YzAgMC00LjY3Mi0zOC43MiA0LjYwOC02Ni41NiA5LjI4LTI3LjkwNCAzMi41MTItNDQuOTI4IDMyLjUxMi00NC45MjhsNC42MDgtOS4zNDRjMCAwIDI5LjUwNC02OS42MzIgNDEuNzI4LTgwLjQ0OCAxMi4zNTItMTAuNzUyIDMuMTM2LTM4LjY1NiAzLjEzNi0zOC42NTZsLTE3LjAyNC0xMi4yODhjMCAwLTIxNi42NC02OC4wOTYtMjIyLjg0OC0xMzAuMDQ4cy04LjcwNC03NC43NTItNC4zNTItOTMuNjMyYzIuODgtMTIuNTQ0IDE3My43Ni05MS4yNjQgMzM0LjAxNi04Ni43ODQgMTc5LjkwNCA0LjkyOCAzMTcuMjQ4IDU2LjcwNCAzMjYuNTI4IDgyLjk0NCA5LjM0NCAyNi4zMDQgMCA5MS4zMjggMCA5MS4zMjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZGQ7IiBnbHlwaC1uYW1lPSJ1c2VyIiBkPSJNNTkzLjY2NCA4NTkuMDcyYzAgMC00MS4yMTYgMzUuODQtODAuNjQgMzcuNjMyLTM5LjQ4OCAxLjc5Mi0xNTIuNTEyLTI2Ljg4LTE3NS44MDgtMTMyLjczNi0yMy4yOTYtMTA1Ljc5MiAwLTE3Mi4wOTYgMC0xNzIuMDk2bC0xMC42ODgtMy42NDhjMCAwLTUuMzc2LTQ0Ljg2NCA1LjMxMi03Ny4xODQgMTAuNzUyLTMyLjI1NiAzNy42OTYtNTEuOTY4IDM3LjY5Ni01MS45NjhsNS4zNzYtMTAuODE2YzAgMCAzNC4xMTItODAuNzA0IDQ4LjM4NC05My4xODQgMTQuNC0xMi40OCAzLjU4NC00NC44IDMuNTg0LTQ0LjhsLTE5LjcxMi0xNC4zMzZjMCAwLTI1MS4wNzItNzguOTEyLTI1OC4yNC0xNTAuNjU2cy0xMC4wNDgtODYuNjU2LTUuMDU2LTEwOC40OGMzLjMyOC0xNC41OTIgMjAxLjM0NC0xMDUuNzI4IDM4Ni45NDQtMTAwLjYwOCAyMDguNTEyIDUuNzYgMzY3LjY4IDY1LjY2NCAzNzguNDMyIDk2LjEyOCAxMC43NTIgMzAuNTI4IDAgMTA1Ljc5MiAwIDEwNS43OTJzLTYxLjk1MiA2OC4xNi0xMjAuNjQgMTA1Ljc5MmMtNTguNzUyIDM3Ljc2LTE1OS4xMDQgNTcuMzQ0LTE1OS4xMDQgNTcuMzQ0bC01LjI0OCA0OC40NDggMTAuNjI0IDcuMjMyYzAgMCA0My4xMzYgODcuODcyIDUwLjMwNCAxMDcuNTg0IDcuMTA0IDE5LjcxMiAxOS43MTIgMTkuNzEyIDI4LjY3MiAzMC40NjRzMTguNTYgODAuMzg0IDEyLjQ4IDkxLjUyYy00LjM1MiA4LTE0LjMzNiAxMC44OC0xNC4zMzYgMTAuODhsMS43OTIgMTQuMjA4YzAgMCAxNi4wNjQgODkuNjY0IDEwLjY4OCAxMTYuNTQ0LTUuMzEyIDI2Ljg4LTE3LjkyIDY5Ljk1Mi0zNC4wNDggOTEuNDU2cy00Mi45NDQgMzIuMjU2LTY0LjUxMiAyOC43MzZjLTIxLjU2OC0zLjY0OC0zMi4yNTYgMTAuNzUyLTMyLjI1NiAxMC43NTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZGU7IiBnbHlwaC1uYW1lPSJlbXB0eSIgZD0iTTQ5MC42MzkgNzA0LjAzMWwtNDU3LjQ1Mi0xMjguNTQ4IDMxLjQwMS0xNDEuNDU1LTIuMjUzIDAuNDgxdi0zLjc3OWwtNDUuMzM4LTE0MS42ODEgNDAyLjM3Ni05Ni4zMzMgNzcuNDUgMTQ1LjQ1NCAxLjg4NCAzLjc3OS00MTEuMSA4Ny4xOTkgNDM0LjE5MSAxMjkuNDI4ek02Mi4zMzYgMjU4LjM4MXYtMjA1LjQ1NWw0MzYuMzcyLTExNS4yMzF2MzU5LjM0N2wtNjYuNTE0LTEyNi43NjZ6TTUzMS45MzcgMzQwLjI2bDEuODg5LTMuNzc5IDc3LjQ0NS0xNDUuNDU5IDQwMi4zODEgOTYuMzM4LTQ1LjM0OCAxNDEuNjgxdjMuNzc5bC0xLjM2Ny0wLjI4NyAzMy42MjMgMTUxLjQwNC00NDcuNjAxIDEyMC4wOTUtMzEuMTYtMTQ1LjQ1NCA0NDIuODctMTI2LjUyNXpNNTMxLjkzNyAyOTUuMzUydi0zNTkuMzUybDQzNi4zNjcgMTE1LjIzNnYyMDUuNDU1bC0zNjkuODQ4LTg4LjF6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZGY7IiBnbHlwaC1uYW1lPSJub3RpY2VGaWx0ZXIiIGQ9Ik01NDQuNDI3IDU1Ni44MTdsMTc5Ljg0OS0yMjIuNzg4di0yOTUuNDI0bDExOS43NC0xMDIuNjA1djM5Ny40MTRsMTc5Ljk4NSAyMjMuNDAzaC00NzkuNTczek04MDkuODgyIDM0NS4wNTR2LTMzMy4zNDZsLTUxLjQ3MyAzOS40NTh2Mjk1LjQ5MmwtMTM4LjkyMyAxNzYuNTAzaDMzMy44NThsLTE0My40NjItMTc4LjEwOHpNMzkzLjg2NSA1MzQuNTI4Yy0zNS42MDEtOC40OTktNjEuMjY5LTQyLjU5OC02Mi4zNjItNDQuMDMybC0zLjE0LTQuMjY3LTAuMjA1LTUuMjkxYy0wLjEzNy00LjE2NC0zLjY4Ni0xMDMuMTg1IDkuODk5LTE1NS4xMzYgOS44My0zNy43MTcgMzUuNjM1LTQwLjQ4MiA1MS4wMjktNDIuMDUyIDEyLjgzNC0xLjM5OSAxNC4zMzYtMS44NDMgMTYuNjkxLTEwLjEzOCA4LjQzMS0zMC4wNzEtMTkuNDIyLTUwLjM4MS0zMS42NzYtNTcuNjE3LTM3LjcxNy0yMS45MTQtMTA2LjcwMSAxMi45MzctMTE2Ljg3MyAyNi4zMTctMy42MTggNC42NzYtNy4xMzQgOC45NDMtMTAuNTEzIDEzLjA3My0xOC4wOTEgMjEuOTgyLTMwLjA3MSAzNi40Mi0zMi45MzkgODEuMjAzLTIuNjI4IDQwLjk5NCAwIDE2NS43NTEgMC4wMzQgMTY3LjA0OWwwLjM3NSAxNy40NDJoLTExOC4zNzRjLTEzLjE0MSAwLTMwLjQxMyAyMy4yNzktMzkuMDE0IDQwLjU4NS0wLjg1MyAxMy40ODMtMy44MjMgNjguMTY0IDAuMjA1IDEyMC4yODYgMy43ODkgNTAuNjIgNDQuMjM3IDYxLjY3OSA2OC4wMjggNjMuNzk1IDQ3LjAwMiA0LjE5OCA5OC4yMDIgMy4yNDMgMTQ3Ljc2MyAyLjMyMSA2My41NTYtMS4xMjYgMTIzLjU2My0yLjI4NyAxNzQuMDQ2IDYuODYxIDU5LjE4NyAxMC43ODYgMTE0LjQ0OSA1NC41MTEgMTYzLjIyNiA5My4wODIgMjcuNzg1IDIxLjk0OCA1NC4wMzMgNDIuNzM1IDc2LjAxNSA1My4xNDYgMTMuNzU2IDYuNTU0IDI5LjI4NiA0Ljk0OSAzOS4yODcgMi43NjV2LTIzNC41OThsMTkuODMxIDMuMjc3IDMuNzIxIDEuNTAyYzE1LjczNSAwIDI5LjA0Ny0yMC42NTEgMjkuMDQ3LTQ1LjA1NiAwLTcuODE3LTEuNDY4LTE1LjQ2Mi00LjQwMy0yMi43NjdsMzEuNzQ0LTEyLjYyOWM0LjUwNiAxMS4zNjYgNi43OTMgMjMuMjc5IDYuNzkzIDM1LjQzIDAgMzkuODY4LTIyLjM1NyA3Mi4wMjEtNTIuNTk5IDc4LjEzMXYyMjAuNjA0bC0xMC41MTMgNC40MDNjLTEuNjA0IDAuNzE3LTQxLjI2NyAxNi45NjQtNzcuNTUxLTAuMzA3LTI1LjQ2My0xMi4wODMtNTMuMjQ4LTMzLjk5Ny04Mi41MzQtNTcuMjA3LTQ1LjY3LTM2LjA3OS05Ny4zODItNzcuMDA1LTE0OC4xNzMtODYuMjU1LTQ3LjEzOC04LjQ5OS0xMDUuNTQtNy40NDEtMTY3LjMyMi02LjMxNS01MC40NDkgMC45NTYtMTAyLjU3MSAxLjg3Ny0xNTEuNDE1LTIuNDU4LTU3Ljg5LTUuMTItOTQuOTI1LTQwLjcyMS05OS4wMjEtOTUuMTk4LTQuODEzLTYyLjI1OS0wLjIwNS0xMjUuOTUyIDAtMTI4LjY0OWwxLjUwMi01LjgzN2MyLjk3LTYuNDUxIDMwLjE3NC02My4xODEgNzEuMzM5LTYzLjE4MWg4My41MjRjLTAuNjE0LTM2LjM1Mi0xLjc3NS0xMTkuMTU5IDAuMzc1LTE1Mi41MDggMy42MTgtNTUuNzc0IDIwLjc1My03Ni41OTUgNDAuNjUzLTEwMC43MjcgMy4yMDktMy44OTEgNi41MTktNy44ODUgOS44My0xMi4xNTEgMTMuMTA3LTE3LjEzNSA2NS4wOTItNDYuNTU4IDExNC4xNDItNDYuNTU4IDE2LjU1NSAwIDMyLjgwMiAzLjM3OSA0Ny4wNzAgMTEuNzA4IDM5LjgzNCAyMy41ODYgNTcuNDgxIDU5LjU5NyA0Ny4yMDYgOTYuMzI0LTguNzM4IDMwLjg1Ny0zMi4wMTcgMzMuMzQ4LTQ1Ljk0MyAzNC44MTYtMTMuNTg1IDEuMzk5LTE3LjY4MSAxLjgwOS0yMS41NzIgMTYuNzU5LTEwLjU4MSA0MC41MTYtOS40ODkgMTE4LjEwMS04Ljk3NyAxMzkuNjA1IDcuNTQzIDguNjcgMjIuOTM4IDIzLjMxMyAzOC4wNTkgMjYuOTk5IDYuNTg4IDAuNDc4IDUwLjAzOS0yLjQ1OCA4Ni42OTktNS41NjRsOC41MzMgMzMuMTQzLTQuMTk4IDAuODg3Yy04Ny45OTYgNy4xMzQtOTQuNDgxIDUuNjY2LTk3LjM0OCA0Ljk4M3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTllMDsiIGdseXBoLW5hbWU9ImFsYXJtVHVybiIgZD0iTTI2MC45NDkgNTY2Ljc4NGMxNC43MTEgOS4yODQgNTYuNDkxIDMwLjg5MSAxMjkuODc3IDMzLjQ4NSA5My4xNSAzLjE3NCAyNzUuOS0yOS40OTEgMjc3LjY3NS0yOS43OThsNTIuMTU2LTkuMzUzLTM2Ljg2NCAzOC4wNTljLTUuOTA1IDYuMDc2LTE0NS42ODEgMTQ4LjY1MS0yODcuMzY5IDE1OC42MTgtNjguNTc0IDQuODgxLTExOS4xNTktNC4yMzMtMTQ2LjMzLTExLjE5NmwtNS44MDMgMTQ5LjA5NC0yMzMuNzQ1LTI3MS4xODkgMjUwLjQwMi0yMzUuMDQydjE3Ny4zMjN6TTIyNi44MTYgNTgzLjUwOXYtMTE1LjJsLTE2OS4wOTcgMTU4LjcyIDE1NS44MTkgMTgwLjczNiA0LjI2Ny0xMDguNTEgMjIuMzIzIDguNzA0YzAuNTEyIDAuMTcxIDU4LjkxNCAyMi4zOTEgMTUzLjg3MyAxNS43NyA4NS4wMjYtNi4wMDcgMTcyLjk1NC02OC4zMDEgMjIzLjE5OC0xMTAuMjE3LTYzLjE4MSA5LjY5NC0xNjQuMjE1IDIyLjk3Mi0yMjcuNjAxIDIwLjg1NS0xMDYuMzI1LTMuNzU1LTE1NC43OTUtNDQuMDMyLTE1Ni44MDktNDUuNzM5bC01Ljk3My01LjEyek05MzYuMDczIDI0MC4xNjJsLTI3LjQ3NyAyNy4xMzZjLTcyLjg0MSA3Mi43MzgtMTAyLjMzMiAyMTcuNzcxLTk5LjM5NiAyOTIuNzk2IDQuNDcxIDk1Ljg4MS0yNS45MDcgMTczLjcwNS04NS41MzggMjE5LjE3LTQwLjA3MyAzMC40NDctODAuODI4IDM2LjA3OS0xMDMuMzU2IDM2LjQ4OWwtMi4yNTMgMjAuMTA1LTUuNyA0LjQzN2MtMS43MDcgMS4zMzEtMTcuNDc2IDEyLjk3MS00Ni40OSAxMi45NzEtMjcuMjM4IDAtNDMuODk1LTExLjIzLTQ1LjcwNS0xMi40OTNsLTYuMTQ0LTQuMzM1LTIuNjI4LTIwLjcxOWMtMTQuMTMxLTAuMjczLTM1LjU2Ny0yLjU5NC01OS4zNTgtMTEuODc4bDEyLjM1Ni0zMS44MTJjMzIuNTI5IDEyLjYyOSA1OS4yNTUgOS4xNDggNTkuNDYgOS4xMTRsMTcuMjM3LTIuNTYgNC43MSAzNy4wNjljOS4xNDggMy40MTMgMzEuODQ2IDMuMjQzIDQwLjE0MSAwLjIzOWw0LjMwMS0zNy4yMzkgMTcuMzc0IDIuNDU4YzEuOTggMC4yMDUgNDguNzc3IDYuMzgzIDk1LjQwMy0yOS4wNDcgNTAuNDE1LTM4LjQzNCA3Ni4wNDktMTA2LjA4NiA3Mi4wOTAtMTkwLjU2Ni0zLjMxMS04My41NTggMjguNDY3LTIzNy41NjggMTA5LjM5Ny0zMTguNDNsMjcuNjQ4LTI3LjMwN2M1MS4xMzItNTAuMjEgNTIuNTMxLTUyLjM5NSA1MC4yNzgtNzcuNjUzLTIuMTUtMjMuNDg0LTE3LjUxLTM3Ljg4OC0yNC40NzQtNDMuMzE1aC0yNzUuODMxdi0xNy4wNjdjMC0zNi4zMTgtNDMuMTQ1LTY1LjkxMS05Ni4xMTktNjUuOTExcy05Ni4wODUgMjkuNTU5LTk2LjA4NSA2NS45MTF2MTcuMDY3aC0yNzUuNzYzYy02LjkyOSA1LjQ2MS0yMi4zOTEgMjAuMDcwLTI0LjU3NiA0My4zMTUtMi4yNTMgMjUuMjU5LTAuODUzIDI3LjQ0MyA0OS45NzEgNzcuNTE3bDI3Ljc1IDI3LjUxMWM2OC4xMyA2OC4wNjIgMTAwLjQ4OSAxODcuNjMxIDEwNy41MiAyNjkuMzQ2bC0zMy45OTcgMi45MzVjLTYuNTE5LTc1Ljk4MS0zNi4wNDUtMTg2LjUzOS05Ny42NTUtMjQ4LjE0OWwtMjcuNTgtMjcuMzA3Yy01MS41NDEtNTAuNzU2LTYzLjc5NS02Mi44MzktNjAuMDA2LTEwNC45NiA0LjQ3MS00Ny41MTQgNDIuNzY5LTcwLjg5NSA0NC40MDctNzEuODUxbDQuMDI4LTIuNDIzaDI1My42NDVjMTAuNTgxLTQ3LjA3MCA2NC4xMDItODIuOTc4IDEyOC4zNDEtODIuOTc4IDY0LjI3MyAwIDExNy43OTQgMzUuOTA4IDEyOC4zNzUgODIuOTc4aDI1My42NzlsNC4wMjggMi4zODljMS42MzggMC45NTYgNDAuMDczIDI0LjQwNSA0NC4zNzMgNzEuOTUzIDMuNzIxIDQyLjEyMS04LjYwMiA1NC4yMzgtNjAuMzgyIDEwNS4wOTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZTE7IiBnbHlwaC1uYW1lPSJhZHZpY2UiIGQ9Ik04NDYuODE0IDg0MS4xODJjMi41MjYgMTAuNTEzIDUuOTM5IDE3LjE2OSA2Ljk5NyAxOC4xOTN2MzQuMTMzYy0yMC42MTcgMC0zNi40Mi0yMS4wNjAtNDEuODQ3LTUyLjMyNmgtNTYuNjk1YzIuNTI2IDEwLjUxMyA1LjkzOSAxNy4xNjkgNi45OTcgMTguMTkzdjM0LjEzM2MtMjAuNjE3IDAtMzYuNDItMjEuMDYwLTQxLjg0Ny01Mi4zMjZoLTU2LjY5NWMyLjUyNiAxMC41MTMgNS45MzkgMTcuMTY5IDYuOTk3IDE4LjE5M3YzNC4xMzNjLTIwLjYxNyAwLTM2LjQyLTIxLjA2MC00MS44NDctNTIuMzI2aC01Ni42OTVjMi41MjYgMTAuNTEzIDUuOTM5IDE3LjE2OSA2Ljk5NyAxOC4xOTN2MzQuMTMzYy0yMC42MTcgMC0zNi40Mi0yMS4wNjAtNDEuODQ3LTUyLjMyNmgtNTYuNjk1YzIuNTI2IDEwLjUxMyA1LjkzOSAxNy4xNjkgNi45OTcgMTguMTkzdjM0LjEzM2MtMjAuNjE3IDAtMzYuNDU0LTIxLjA2MC00MS44NDctNTIuMzI2aC01Ni42NjFjMi41MjYgMTAuNTEzIDUuOTM5IDE3LjE2OSA2Ljk5NyAxOC4xOTN2MzQuMTMzYy0yMC42MTcgMC0zNi40NTQtMjEuMDYwLTQxLjg0Ny01Mi4zMjZoLTU2LjY2MWMyLjUyNiAxMC41MTMgNS45MzkgMTcuMTY5IDYuOTk3IDE4LjE5M3YzNC4xMzNjLTIwLjYxNyAwLTM2LjQ1NC0yMS4wNjAtNDEuODQ3LTUyLjMyNmgtNTYuNjk1YzIuNTI2IDEwLjUxMyA1LjkzOSAxNy4xNjkgNi45OTcgMTguMTkzdjM0LjEzM2MtMjAuNjE3IDAtMzYuNDU0LTIxLjA2MC00MS44NDctNTIuMzI2aC0xMTQuMDA1di03MDUuNDM0aDkyNy43Nzh2NzA1LjQzNGgtMTM4LjE3MnpNOTUwLjg1MiAxNjkuODgyaC04NTkuNTExdjYzNy4xNjdoNzguMzAyYzIuNzMxLTM4LjQgMjAuMDM2LTY1LjM5OSA0My4zODMtNjUuMzk5bDEuNjM4IDMzLjc5MmMtMi43OTkgMS43MDctOC43MzggMTMuMDczLTEwLjYxNSAzMS42MDdoNTcuMTM5YzIuNzMxLTM4LjQgMjAuMDM2LTY1LjM5OSA0My4zODMtNjUuMzk5bDEuNjM4IDMzLjc5MmMtMi43OTkgMS43MDctOC43NzIgMTMuMDczLTEwLjYxNSAzMS42MDdoNTcuMTM5YzIuNzMxLTM4LjQgMjAuMDM2LTY1LjM5OSA0My4zODMtNjUuMzk5bDEuNjM4IDMzLjc5MmMtMi44MzMgMS42NzMtOC44MDYgMTMuMDM5LTEwLjY4NCAzMS42MDdoNTcuMTM5YzIuNzMxLTM4LjQgMjAuMDM2LTY1LjM5OSA0My4zODMtNjUuMzk5bDEuNjM4IDMzLjc5MmMtMi44MzMgMS42NzMtOC44MDYgMTMuMDM5LTEwLjY4NCAzMS42MDdoNTcuMTM5YzIuNzMxLTM4LjQgMjAuMDM2LTY1LjM5OSA0My4zODMtNjUuMzk5bDEuNjM4IDMzLjc5MmMtMi44MzMgMS42NzMtOC43NzIgMTMuMDA1LTEwLjY1IDMxLjU3M2g1Ny4xMzljMi43MzEtMzguNCAyMC4wMzYtNjUuMzk5IDQzLjM4My02NS4zOTlsMS42MzggMzMuNzkyYy0yLjgzMyAxLjY3My04Ljc3MiAxMy4wMDUtMTAuNjUgMzEuNTczaDU3LjEzOWMyLjczMS0zOC40IDIwLjAzNi02NS4zOTkgNDMuMzgzLTY1LjM5OWwxLjYzOCAzMy43OTJjLTIuODMzIDEuNjczLTguNzcyIDEzLjAwNS0xMC42NSAzMS41NzNoNTcuMTM5YzIuNzMxLTM4LjQgMjAuMDM2LTY1LjM5OSA0My4zODMtNjUuMzk5bDEuNjM4IDMzLjc5MmMtMi44MzMgMS42NzMtOC43NzIgMTMuMDA1LTEwLjY1IDMxLjU3M2gxMDYuMDUydi02MzcuMDMwek0xOTcuMDg2IDYyNi4yMWgxNzYuNDY5di0zNC4xMzNoLTE3Ni40Njl2MzQuMTMzek0xOTUuNTg0IDUwNS4wNzFoNjg0LjkxOXYtMzQuMTMzaC02ODQuOTE5djM0LjEzM3pNMTk1LjU4NCAzNjMuMDA4aDY4NC45MTl2LTM0LjEzM2gtNjg0LjkxOXYzNC4xMzN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZTI7IiBnbHlwaC1uYW1lPSJjbGVhckFsYXJtIiBkPSJNODU3LjQ2MyA0NDUuNzEzYzAgMjguMjI4LTIyLjQ2IDUxLjItNTAuMDc0IDUxLjJoLTIyNC45Mzl2Mzc5LjUyOWMwIDM2LjI4NC0zMC40ODEgNjUuNzc1LTY3Ljg5MSA2NS43NzUtMzcuNDc4IDAtNjcuOTI1LTI5LjQ5MS02Ny45MjUtNjUuNzc1di0zNzkuNTI5aC0yMjIuNzJjLTI3LjY0OCAwLTUwLjEwOC0yMi45NzItNTAuMTA4LTUxLjJ2LTg3LjgyNWwyLjQ5Mi0xMi4wMTUgMC44NTMtNS4zOTMgNC4wMjgtMTcuNTQ1YzQuNjA4LTQ4LjIzIDYuNzkzLTIxMy4yOTktMzEuMjMyLTI5Mi4yNWwtNC4wOTYtOS4wNDUgNS4wNTItNy45ODdjNi4wNzYtOS41MjMgMTcuMDMzLTEwLjAwMSAzNS44NzQtMTAuMDAxIDExNC40ODMgMCA2MzIuODY2IDQ4LjQzNSA2NTQuODQ4IDUwLjQ4M2wxNS41NjUgMS40Njh2Mjc2LjM3OGgwLjIzOXYxMTMuNzMyek00ODAuNzY4IDg3Ni40NDJjMCAxNy40NDIgMTUuMTU1IDMxLjY0MiAzMy43OTIgMzEuNjQyczMzLjc1OC0xNC4xOTkgMzMuNzU4LTMxLjY0MnYtMzc5LjUyOWgtNjcuNTV2Mzc5LjUyOXpNMjA3Ljk0IDQ0NS43MTNjMCA5LjQyMSA3LjE2OCAxNy4wNjcgMTUuOTc0IDE3LjA2N2g1ODMuNDc1YzguODA2IDAgMTUuOTQtNy42NDYgMTUuOTQtMTcuMDY3di03OS41NjVoLTYxNS4zOXY3OS41NjV6TTgyMi44ODYgODYuNjk5Yy04OC4zMzctOC4xNTgtNTI1LjIxLTQ4LjA5NC02MzIuOS00OC45MTMgMzEuNDM3IDg3LjkyNyAzMC4wNzEgMjI4LjcyNyAyNS4xOSAyODUuMTVoNjA3Ljcxdi0yMzYuMjM3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWUzOyIgZ2x5cGgtbmFtZT0iYWxhcm1Cb3giIGQ9Ik05MTQuMTkzIDQyMy42OTdoLTgxNC4xODJjLTMzLjgyNiAwLTYxLjMzOCAyNy41MTEtNjEuMzM4IDYxLjMzOHYxODYuOTQ4YzAgMzMuODI2IDI3LjUxMSA2MS4zMzggNjEuMzM4IDYxLjMzOGg4MTQuMTgyYzMzLjgyNiAwIDYxLjMzOC0yNy41MTEgNjEuMzM4LTYxLjMzOHYtMTg2Ljk0OGMwLTMzLjgyNi0yNy41MTEtNjEuMzM4LTYxLjMzOC02MS4zMzh6TTEwMC4wMTEgNjk5LjE4N2MtMTQuOTg1IDAtMjcuMjA0LTEyLjIyLTI3LjIwNC0yNy4yMDR2LTE4Ni45NDhjMC0xNC45ODUgMTIuMTg2LTI3LjIwNCAyNy4yMDQtMjcuMjA0aDgxNC4xODJjMTQuOTg1IDAgMjcuMjA0IDEyLjIyIDI3LjIwNCAyNy4yMDR2MTg2Ljk0OGMwIDE0Ljk4NS0xMi4xODYgMjcuMjA0LTI3LjIwNCAyNy4yMDRoLTgxNC4xODJ6TTkxNC4xOTMgNTYuMTgzaC04MTQuMTgyYy0zMy44MjYgMC02MS4zMzggMjcuNTExLTYxLjMzOCA2MS4zMzh2MTg2Ljk0OGMwIDMzLjgyNiAyNy41MTEgNjEuMzM4IDYxLjMzOCA2MS4zMzhoODE0LjE4MmMzMy44MjYgMCA2MS4zMzgtMjcuNTExIDYxLjMzOC02MS4zMzh2LTE4Ni45NDhjMC0zMy44Ni0yNy41MTEtNjEuMzM4LTYxLjMzOC02MS4zMzh6TTEwMC4wMTEgMzMxLjYzOWMtMTQuOTg1IDAtMjcuMjA0LTEyLjE4Ni0yNy4yMDQtMjcuMjA0di0xODYuOTQ4YzAtMTQuOTg1IDEyLjE4Ni0yNy4yMDQgMjcuMjA0LTI3LjIwNGg4MTQuMTgyYzE0Ljk4NSAwIDI3LjIwNCAxMi4xODYgMjcuMjA0IDI3LjIwNHYxODYuOTQ4YzAgMTQuOTg1LTEyLjE4NiAyNy4yMDQtMjcuMjA0IDI3LjIwNGgtODE0LjE4MnpNNjY4LjQzMyA1ODguMzU2YzAtMjUuOTc3LTIxLjA1OS00Ny4wMzYtNDcuMDM2LTQ3LjAzNnMtNDcuMDM2IDIxLjA1OS00Ny4wMzYgNDcuMDM2YzAgMjUuOTc3IDIxLjA1OSA0Ny4wMzYgNDcuMDM2IDQ3LjAzNnM0Ny4wMzYtMjEuMDU5IDQ3LjAzNi00Ny4wMzZ6TTg0OC4yODIgNTg4LjM1NmMwLTI1Ljk3Ny0yMS4wNTktNDcuMDM2LTQ3LjAzNi00Ny4wMzZzLTQ3LjAzNiAyMS4wNTktNDcuMDM2IDQ3LjAzNmMwIDI1Ljk3NyAyMS4wNTkgNDcuMDM2IDQ3LjAzNiA0Ny4wMzZzNDcuMDM2LTIxLjA1OSA0Ny4wMzYtNDcuMDM2ek0yNDcuNTY5IDIwMy43NDJjMC0yNS45NzctMjEuMDU5LTQ3LjAzNi00Ny4wMzYtNDcuMDM2cy00Ny4wMzYgMjEuMDU5LTQ3LjAzNiA0Ny4wMzZjMCAyNS45NzcgMjEuMDU5IDQ3LjAzNiA0Ny4wMzYgNDcuMDM2czQ3LjAzNi0yMS4wNTkgNDcuMDM2LTQ3LjAzNnpNNDUyLjM2OSAyMDMuNzQyYzAtMjUuOTc3LTIxLjA1OS00Ny4wMzYtNDcuMDM2LTQ3LjAzNnMtNDcuMDM2IDIxLjA1OS00Ny4wMzYgNDcuMDM2YzAgMjUuOTc3IDIxLjA1OSA0Ny4wMzYgNDcuMDM2IDQ3LjAzNnM0Ny4wMzYtMjEuMDU5IDQ3LjAzNi00Ny4wMzZ6TTY3MC4wMDMgMjAzLjc0MmMwLTI1Ljk5Ni0yMS4wNzQtNDcuMDcwLTQ3LjA3MC00Ny4wNzBzLTQ3LjA3MCAyMS4wNzQtNDcuMDcwIDQ3LjA3MGMwIDI1Ljk5NiAyMS4wNzQgNDcuMDcwIDQ3LjA3MCA0Ny4wNzBzNDcuMDcwLTIxLjA3NCA0Ny4wNzAtNDcuMDcweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWU0OyIgZ2x5cGgtbmFtZT0iYWZyZXNoRGVmIiBkPSJNNDg3LjA4MyA2MC4zODJsLTI2LjY1OCAzMDguODM4IDMwNy41MDctMTc3LjUyNy0yODAuODQ5LTEzMS4zMTF6TTUwMC4wNTMgMzA2LjkyN2wxNi44MjgtMTk0Ljk3IDE3Ny4yNTQgODIuOTEtMTk0LjA4MiAxMTIuMDYwek03NzAuMTUgMjI2Ljk4N2wtMjgwLjMzNyAxNjEuNzkyIDI2MC4yMzMgNDUwLjY5N2MyMS4xNjMgMzYuNjkzIDY5LjY2NiA0OS44MzUgMTA2LjQ5NiAyOC41N2wxNDUuMzA2LTgzLjljMzcuNzg2LTIxLjg0NSA1MC4zNDctNjguNjA4IDI4LjU3LTEwNi40NjJsLTE1LjM5NC0yNi41MjIgMC4wMzQtMC4wMzQtMjQ0LjkwNy00MjQuMTQxek01MzYuNDc0IDQwMS4yNzFsMjIxLjIxOC0xMjcuNjU5IDIxMC43NzMgMzY1LjA1Ni0yMjEuMjE4IDEyNy43MjctMjEwLjc3My0zNjUuMTI0ek03ODAuODM0IDgyNC40MjJsMjIxLjExNi0xMjcuNjkzYzEwLjkyMyAyMS4xNjMgMy44MjMgNDUuNzM5LTE3LjEzNSA1Ny44NTZsLTE0NS4zMDYgODMuOWMtMjAuMTczIDExLjcwOC00Ni4yNTEgNS4yNTctNTguNjc1LTE0LjA2M3pNMCA1OTYuNjE3aDMzMS4zMzJ2LTM0LjEzM2gtMzMxLjMzMnYzNC4xMzN6TTAgNDE5LjMyOGgzMzEuMzMydi0zNC4xMzNoLTMzMS4zMzJ2MzQuMTMzek0wIDI0Mi4wMzloMzMxLjMzMnYtMzQuMTMzaC0zMzEuMzMydjM0LjEzM3pNMCA2NC43NTFoNzIwLjY1N3YtMzQuMTMzaC03MjAuNjU3djM0LjEzM3pNNzc3LjY4MyA2OTMuOTMybDI5LjI4Mi0xNy42MS0xNzIuODQ1LTI4Ny40MDQtMjkuMjgyIDE3LjYxIDE3Mi44NDUgMjg3LjQwNHpNODY1LjQzNCA2MzYuNzI3bDI5LjI4Mi0xNy42MS0xNzIuODQ1LTI4Ny40MDQtMjkuMjgyIDE3LjYxIDE3Mi44NDUgMjg3LjQwNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTllNTsiIGdseXBoLW5hbWU9ImFsYXJtRmlsdGVyIiBkPSJNODQzLjk4MS02NGwtMTE5LjcwNiAxMDIuNjA1djI5NS40MjRsLTE3OS44NDkgMjIyLjc4OGg0NzkuNTczbC0xODAuMDE5LTIyMy40Mzd2LTM5Ny4zOHpNNzU4LjQwOSA1MS4ybDUxLjQzOS0zOS40NTh2MzMzLjM0NmwxNDMuNDk3IDE3OC4xMDhoLTMzMy44OTJsMTM4Ljk1Ny0xNzYuNTAzdi0yOTUuNDkyek00OTMuMjYxIDI2Mi44OTVjMC0zMi42MzEtMzkuMDE0LTU5LjE1My04Ni45NzItNTkuMTUzLTQ3LjEwNCAwLTg2LjkzOCAyNy4xMDItODYuOTM4IDU5LjE1M3YxNy4wNjdoLTI1NC4zOTZjLTYuNDE3IDUuMDg2LTE5LjcyOSAxNy45NTQtMjEuNjQxIDM4LjU3MS0yLjA0OCAyMi41NjItMC43NTEgMjQuNTQyIDQ1LjQ2NiA3MC4wNzZsMjUuNiAyNS4zMjdjNzUuMTI3IDc1LjA1OSAxMDQuMTc1IDIxNi45NTEgMTAwLjc5NiAyOTMuNzUxLTMuNDEzIDc3LjI3OCAyMC4wMDIgMTM5LjA1OSA2Ni4wMTQgMTczLjk0MyA0MC41MTYgMzAuODkxIDg0LjQ4IDI2LjY1OCA4Ni4yNTUgMjYuNDE5bDE3LjI3MS0yLjU2IDQuMzY5IDM0LjY3OWM4LjA5MCAyLjkwMSAyNi45MzEgMi43MzEgMzQuMzA0IDAuMjM5bDQuMDYyLTM0Ljc4MiAxNy4zNCAyLjQyM2MyLjE1IDAuMzA3IDQ1LjgwNyA0LjYwOCA4Ni42NjUtMjYuNDE5IDQ1Ljk3OC0zNS4wODkgNjkuMzU5LTk2LjgzNiA2NS43NDEtMTc0LjAxMi0wLjcxNy0xNy4yMDMtMS44MDktMjguMjYyLTAuNjgzLTQzLjQxOGgzNC40MDZjLTEuMjk3IDE0Ljg0OC0wLjI3MyAyNS42IDAuMzc1IDQxLjk1IDQuMTMgODguNTc2LTIzLjk2MiAxNjAuNTYzLTc5LjE1NSAyMDIuNjUtMzYuNDU0IDI3LjcxNi03My41OTEgMzMuMjQ2LTk0LjU4MyAzMy43OTJsLTIuMDQ4IDE3Ljg4Ni01LjY2NiA0LjQwM2MtMS42NzMgMS4yMjktMTYuNTIxIDEyLjE4Ni00My42NTcgMTIuMTg2LTI1LjQyOSAwLTQxLjA2Mi0xMC41MTMtNDIuNzY5LTExLjcwOGwtNi4xNDQtNC4zMzUtMi4zMjEtMTguNDY2Yy0yMS4wMjYtMC41NDYtNTguMTYzLTYuMDc2LTk0LjQ4MS0zMy43NTgtNTUuMTI1LTQxLjg0Ny04My4zNTQtMTEzLjgwMS03OS40MjgtMjAyLjYxNSAzLjAwNC02OC41MDYtMjMuNzU3LTIwMS4xMTQtOTAuODI5LTI2OC4xMTdsLTI1LjM5NS0yNS4xNTZjLTQ3LjcxOC00Ni45NjctNTkuMDUxLTU4LjEyOS01NS41MDEtOTcuNDg1IDQuMTY0LTQ0LjM3MyAzOS45MzYtNjYuMjE5IDQxLjQ3Mi02Ny4xNGw0LjAyOC0yLjQyM2gyMzIuNDE0YzEwLjQ0NS00My4zNDkgNTkuODM2LTc2LjIyIDExOS4wMjMtNzYuMjIgNTkuMjIxIDAgMTA4LjY0NiAzMi45MDUgMTE5LjA5MSA3Ni4yMmgxMDcuNTU0djM0LjEzM2gtMTM5LjYzOXYtMTcuMTAxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWU2OyIgZ2x5cGgtbmFtZT0ibWFuQW5hbHlzaXMiIGQ9Ik02MDguMDM3IDU3My4xNDdjNy4zMTQtOS4xNDMgMTUuMTQxLTE3LjYyNyAyMy42OTgtMjUuMzgxbC0xNi44MjMtMzUuOTg2Yy05LjIxNi0xOS42MDIgMC4yOTMtNDMuNzM5IDIxLjA2NS01My42MTRsMjUuOTY2LTEyLjUwN2MyMC44NDYtMTAuMDIxIDQ1LjIwMi0yLjA0OCA1NC4yNzIgMTcuNTU0bDE2Ljc1IDM1Ljk4NmMxMC4zODYtMS42MDkgMjAuNjk5LTMuMTQ1IDMxLjU5OC0zLjE0NSAxMC42NzkgMCAyMS4yMTEgMS41MzYgMzEuNTk4IDMuMTQ1bDE2Ljc1LTM1Ljk4NmM5LjE0My0xOS42NzUgMzMuNDI2LTI3LjU3NSA1NC4yNzItMTcuNjI3bDI1Ljg5MyAxMi41MDdjMjAuOTE5IDkuODc0IDMwLjM1NCAzNC4wMTEgMjEuMjExIDUzLjYxNGwtMTYuNzUgMzYuMTMzYzguNTU4IDcuNjggMTYuNDU3IDE2LjIzOCAyMy42OTggMjUuMzgxbDM2LjI3OS0xNS4yODdjMTkuODIyLTguNDExIDQzLjE1NCAyLjQxNCA1MS44NTggMjMuOTkxbDEwLjk3MSAyNi45MTdjOC45OTcgMjEuNjUgMCA0NS44NjEtMTkuODIyIDU0LjE5OWwtMzYuNTcxIDE1LjI4N2MwLjg3OCA3LjM4NyAyLjE5NCAxNC42MjkgMi4xOTQgMjIuMzA5IDAgNy42MDctMS4zOSAxNC43NzUtMi4xOTQgMjIuMTYybDM2LjcxOCAxNS4zNmMxOS44MjIgOC40MTEgMjguODE4IDMyLjYyMiAxOS44MjIgNTQuMTk5bC0xMC44OTggMjYuOTljLTguNzA0IDIxLjU3Ny0zMi4xMSAzMi4zMjktNTEuODU4IDIzLjk5MWwtMzYuNDI1LTE1LjI4N2MtNy4yNDEgOS4xNDMtMTQuOTk0IDE3LjYyNy0yMy42OTggMjUuMzA3bDE2Ljc1IDM2LjI3OWM5LjE0MyAxOS42MDItMC4yOTMgNDMuNjY2LTIxLjEzOCA1My42MTRsLTI2LjAzOSAxMi40MzRjLTIwLjY5OSA5Ljk0Ny00NC45ODMgMi4wNDgtNTQuMTI2LTE3LjU1NGwtMTYuNzUtMzYuMDU5Yy0xMC4zODYgMS42ODItMjAuNjk5IDMuMjE4LTMxLjU5OCAzLjIxOHMtMjEuMjExLTEuNTM2LTMxLjU5OC0zLjIxOGwtMTYuNzUgMzYuMDU5Yy05LjE0MyAxOS42MDItMzMuNDk5IDI3LjUwMi01NC4xOTkgMTcuNTU0bC0yNS45NjYtMTIuNDM0Yy0yMC45MTktMTAuMDIxLTMwLjQyNy0zNC4wMTEtMjEuMjExLTUzLjYxNGwxNi43NS0zNi4yMDZjLTguNTU4LTcuNzUzLTE2LjUzLTE2LjE2NS0yMy42OTgtMjUuMzgxbC0zNi40MjUgMTUuMzZjLTE5LjgyMiA4LjQxMS00My4wODEtMi4zNDEtNTEuODU4LTIzLjk5MWwtMTEuMDQ1LTI2Ljk5Yy04Ljc3Ny0yMS41NzcgMC4xNDYtNDUuODYxIDE5Ljk2OC01NC4xOTlsMzYuNTcxLTE1LjI4N2MtMC44NzgtNy40NjEtMi4yNjctMTQuNjI5LTIuMjY3LTIyLjIzNSAwLTcuNjggMS41MzYtMTQuOTIxIDIuMjY3LTIyLjM4MmwtMzYuNTcxLTE1LjI4N2MtMTkuNzQ5LTguNDExLTI4Ljc0NS0zMi41NDktMTkuOTY4LTU0LjE5OWwxMS4wNDUtMjYuOTE3YzguNzc3LTIxLjUwNCAzMi4wMzctMzIuMzI5IDUxLjc4NS0yMy45OTFsMzYuNDk4IDE1LjIxNHpNNzY0LjYzNSA4MjcuMTczYzY4LjYwOCAwIDEyNC40ODktNTYuNjEzIDEyNC40ODktMTI2LjUzNyAwLTY5Ljc3OC01NS43MzUtMTI2LjQ2NC0xMjQuNDg5LTEyNi40NjRzLTEyNC41NjIgNTYuNjg2LTEyNC41NjIgMTI2LjQ2NGMwIDY5LjkyNSA1NS44MDggMTI2LjUzNyAxMjQuNTYyIDEyNi41Mzd6TTIuOTI2LTc0LjAyMWg0NjMuMTQxdjM4Ni41NmgtNDYzLjE0MXYtMzg2LjU2ek0zOTIuOTIzLTAuODc4aC0xMjEuODU2djI0MC4yNzRoMTIxLjg1NnYtMjQwLjI3NHpNNzYuMDY5IDIzOS4zOTdoMTIxLjg1NnYtMjQwLjI3NGgtMTIxLjg1NnYyNDAuMjc0ek0zMTcuMTQ3IDU5NS40NTZsLTEzMy41NTktOC4xMTljMTQuMTkgMzEuMzc4IDM1Ljg0IDU4Ljk1MyA2NS40NjMgNzkuODcyIDEwNi4xMyA3NC42NzkgMTkxLjI2OSA0Mi43ODkgMTkxLjI2OSA0Mi43ODktNzYuOTQ2IDU0LjQ5MS0xNjAuMTEgNTkuMDk5LTIyNy4xODIgMTIuNTA3LTQ5Ljk1Ny0zNC41MjMtODYuMjM1LTgxLjc3NC0xMDIuODM5LTEzNi45OTdsLTExMC4yOTktNC4zODkgMTYwLjExLTE0OS4zNTggMTU3LjAzOCAxNjMuNjk0ek05MTUuODIyIDMzNS4yMTRsLTE5OC43MjktMTA5LjI3NSAxMjkuNzU1LTMyLjE4M2MtMjIuODk0LTI1LjY3My01MS44NTgtNDUuNDIyLTg2LjM4Mi01Ni40NjYtMTIzLjYxMS0zOS41Ny0xOTUuMjkxIDE2LjUzLTE5NS4yOTEgMTYuNTMgNTcuMTI1LTc1LjA0NSAxMzUuMTY4LTEwNC4zNzUgMjEzLjEzOC04MC4wMTggNTguMDAyIDE3LjkyIDEwNi43MTUgNTIuMjk3IDEzOS4wNDUgOTkuOTEzbDEwNi42NDItMjguOTY1LTEwOC4xNzggMTkwLjQ2NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTllNzsiIGdseXBoLW5hbWU9ImRyaWxsIiBkPSJNMjk2Ljk2IDY2My4xMTNjMC04Mi4wMDMtNjYuNDc3LTE0OC40OC0xNDguNDgtMTQ4LjQ4cy0xNDguNDggNjYuNDc3LTE0OC40OCAxNDguNDhjMCA4Mi4wMDMgNjYuNDc3IDE0OC40OCAxNDguNDggMTQ4LjQ4czE0OC40OC02Ni40NzcgMTQ4LjQ4LTE0OC40OHpNNTUxLjkzNiAxNTIuMjFjMC04Mi4wMDMtNjYuNDc3LTE0OC40OC0xNDguNDgtMTQ4LjQ4cy0xNDguNDggNjYuNDc3LTE0OC40OCAxNDguNDhjMCA4Mi4wMDMgNjYuNDc3IDE0OC40OCAxNDguNDggMTQ4LjQ4czE0OC40OC02Ni40NzcgMTQ4LjQ4LTE0OC40OHpNOTMwLjE1OCA2NDguMTkyYzAtOTEuNDk2LTc0LjE3Mi0xNjUuNjY5LTE2NS42NjktMTY1LjY2OXMtMTY1LjY2OSA3NC4xNzItMTY1LjY2OSAxNjUuNjY5YzAgOTEuNDk2IDc0LjE3MiAxNjUuNjY5IDE2NS42NjkgMTY1LjY2OXMxNjUuNjY5LTc0LjE3MiAxNjUuNjY5LTE2NS42Njl6TTEwMjQgMTc1Ljk4MmMwLTczLjgwMy01OS44MjktMTMzLjYzMi0xMzMuNjMyLTEzMy42MzJzLTEzMy42MzIgNTkuODI5LTEzMy42MzIgMTMzLjYzMmMwIDczLjgwMyA1OS44MjkgMTMzLjYzMiAxMzMuNjMyIDEzMy42MzJzMTMzLjYzMi01OS44MjkgMTMzLjYzMi0xMzMuNjMyek03MzIuMjg2IDU5Ny45NzNsNTUuMzI0IDE5LjI3NSAxNjYuOTU2LTQ3OS4xOTktNTUuMzI0LTE5LjI3NS0xNjYuOTU2IDQ3OS4xOTl6TTgxMi40MjEgNzM0Ljc4Nmw0Ni4zOS0zNS43ODUtNDYwLjY5NS01OTcuMjE0LTQ2LjM5IDM1Ljc4NSA0NjAuNjk1IDU5Ny4yMTR6TTExMi45MTQgNjU5LjUyNGw1Mi4wNjEgMjYuODY4IDI5My41MDQtNTY4LjcwNC01Mi4wNjEtMjYuODY4LTI5My41MDQgNTY4LjcwNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTllODsiIGdseXBoLW5hbWU9ImdlYXIiIGQ9Ik05NzcuNzc0IDM3My42ODdsLTcyLjE5MiAzMC4yODFjMS42MDkgMTQuNjI5IDQuNDYyIDI4Ljk2NSA0LjQ2MiA0NC4wMzJzLTIuNzc5IDI5LjI1Ny00LjQ2MiA0My44ODZsNzIuMzM4IDMwLjQyN2MzOS4wNTggMTYuNDU3IDU2Ljc1OSA2NC4yOTMgMzkuMjc4IDEwNi44NjJsLTIxLjcyMyA1My4yNDhjLTE3LjMzNSA0Mi43MTUtNjMuMTk1IDYzLjg1NC0xMDIuMjU0IDQ3LjM5N2wtNzIuMDQ2LTMwLjM1NGMtMTQuMjYzIDE4LjA2Ni0yOS42OTYgMzQuNzQzLTQ2LjczOCA1MC4wMzBsMzMuMTM0IDcxLjUzNGMxNy45OTMgMzguNzY2LTAuNjU4IDg2LjIzNS00MS43NjUgMTA1LjkxMWwtNTEuNDE5IDI0LjUwM2MtNDEuMTA2IDE5LjY3NS04OS4wMTUgNC4wOTYtMTA3LjA4MS0zNC42N2wtMzMuMDYxLTcxLjE2OGMtMjAuNDA3IDMuMjkxLTQwLjk2IDYuMzYzLTYyLjMxOCA2LjM2My0yMS4yODUgMC00MS44MzgtMy4wNzItNjIuMjQ1LTYuMzYzbC0zMy4wNjEgNzEuMTY4Yy0xOC4wNjYgMzguNzY2LTY2LjA0OCA1NC4zNDUtMTA3LjA4MSAzNC42N2wtNTEuNDE5LTI0LjU3NmMtNDEuMTA2LTE5LjY3NS01OS44MzEtNjcuMTQ1LTQxLjc2NS0xMDUuODM4bDMzLjEzNC03MS40NjFjLTE3LjA0Mi0xNS4yODctMzIuNDc1LTMxLjk2My00Ni43MzgtNTAuMDMwbC03MS45NzMgMzAuMjgxYy0zOS4wNTggMTYuNDU3LTg0LjkxOS00LjY4MS0xMDIuMjU0LTQ3LjM5N2wtMjEuNzk3LTUzLjI0OGMtMTcuNDA4LTQyLjU2OSAwLjIxOS05MC40NzggMzkuMzUxLTEwNi44NjJsNzIuMTkyLTMwLjM1NGMtMS41MzYtMTQuNzAyLTQuMzE1LTI4Ljg5MS00LjMxNS00My45NTkgMC0xNS4xNDEgMi43NzktMjkuNDAzIDQuMzg5LTQ0LjEwNWwtNzIuMTkyLTMwLjI4MWMtMzkuMTMxLTE2LjYwMy01Ni44MzItNjQuMjE5LTM5LjQ5Ny0xMDYuOTM1bDIxLjg3LTUzLjE3NWMxNy4zMzUtNDIuNTY5IDYzLjI2OS02My43ODEgMTAyLjMyNy00Ny4zOTdsNzEuODk5IDMwLjIwOGMxNC4yNjMtMTcuOTkzIDI5LjY5Ni0zNC43NDMgNDYuNjY1LTUwLjAzMGwtMzMuMTM0LTcxLjMxNGMtMTguMDY2LTM4LjY5MyAwLjY1OC04Ni4zMDkgNDEuNzY1LTEwNS44MzhsNTEuNDE5LTI0LjcyMmM0MS4xMDYtMTkuNjc1IDg5LjA4OC00LjAyMyAxMDcuMDgxIDM0LjgxNmwzMi45ODcgNzEuMDk1YzIwLjQwNy0zLjI5MSA0MC45Ni02LjM2MyA2Mi4yNDUtNi4zNjMgMjEuMzU4IDAgNDEuOTExIDMuMDcyIDYyLjM5MSA2LjM2M2wzMi45ODctNzEuMDk1YzE3Ljk5My0zOC43NjYgNjUuOTc1LTU0LjQxOCAxMDcuMDgxLTM0LjgxNmw1MS40MTkgMjQuNzIyYzQxLjE3OSAxOS42MDIgNTkuNzU4IDY3LjE0NSA0MS43NjUgMTA1LjgzOGwtMzMuMTM0IDcxLjQ2MWMxNi45NjkgMTUuMjg3IDMyLjQwMiAzMS45NjMgNDYuNzM4IDQ5Ljk1N2w3MS44OTktMzAuMjgxYzM5LjA1OC0xNi4zODQgODQuOTkyIDQuODI3IDEwMi4zMjcgNDcuNDdsMjEuNzk3IDUzLjE3NWMxNy42MjcgNDIuNzE1LTAuMjE5IDkwLjQwNS0zOS4yNzggMTA2LjkzNXpNNTEyIDE5OC4yOWMtMTM1Ljg5OSAwLTI0Ni4wNTMgMTExLjkwOS0yNDYuMDUzIDI0OS42MzcgMCAxMzguMDk0IDExMC4xNTMgMjQ5LjcxIDI0Ni4wNTMgMjQ5LjcxIDEzNS43NTMgMCAyNDUuOTA2LTExMS42MTYgMjQ1LjkwNi0yNDkuNzEgMC0xMzcuNzI4LTExMC4xNTMtMjQ5LjYzNy0yNDUuOTA2LTI0OS42Mzd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZTk7IiBnbHlwaC1uYW1lPSJwcm9jZXNzIiBkPSJNNTEyIDk2MGMtMjgyLjMxNyAwLTUxMi0yMjkuNjgzLTUxMi01MTIgMC0yODIuMzMgMjI5LjY4My01MTIgNTEyLTUxMiAyODIuMzMgMCA1MTIgMjI5LjY3IDUxMiA1MTIgMCAyODIuMzE3LTIyOS42NyA1MTItNTEyIDUxMnpNNTEyLTUxLjM3OWMtMjc1LjM0MSAwLTQ5OS4zNTQgMjI0LjAyNi00OTkuMzU0IDQ5OS4zNzkgMCAyNzUuMzQxIDIyNC4wMTMgNDk5LjM1NCA0OTkuMzU0IDQ5OS4zNTQgMjc1LjM1NCAwIDQ5OS4zNzktMjI0LjAxMyA0OTkuMzc5LTQ5OS4zNTQgMC0yNzUuMzU0LTIyNC4wMjYtNDk5LjM3OS00OTkuMzc5LTQ5OS4zNzl6TTg3My4wMTEgNDEzLjM3NmMtMTUuMjA2IDAtMjkuMzEyLTQuNzEtNDAuOTczLTEyLjcyM2wtMTQ0LjA2NCAxNzUuMDAyYzEwLjgwMyAxMi42NTkgMTcuMzQ0IDI5LjA0MyAxNy4zNDQgNDYuOTc2IDAgNDAtMzIuNDIyIDcyLjQzNS03Mi40MjIgNzIuNDM1cy03Mi40NDgtMzIuNDM1LTcyLjQ0OC03Mi40MzVjMC0yMi4xNDQgOS45NzEtNDEuOTQ2IDI1LjYzOC01NS4yMTlsLTE0Ny41Mi0yMTQuNjNjLTEyLjQ4IDEwLjIwMi0yOC40MTYgMTYuMzItNDUuNzg2IDE2LjMyLTE5LjkxNyAwLTM3Ljk1Mi04LjA1MS01MS4wNTktMjEuMDY5bC0xMjYuMTE4IDEwNC4wMzhjNi4wMDMgMTAuNTYgOS40ODUgMjIuNzMzIDkuNDg1IDM1Ljc1IDAgNDAtMzIuNDM1IDcyLjQzNS03Mi40MzUgNzIuNDM1cy03Mi40MzUtMzIuNDM1LTcyLjQzNS03Mi40MzVjMC00MC4wMTMgMzIuNDM1LTcyLjQzNSA3Mi40MzUtNzIuNDM1IDIyLjM3NCAwIDQyLjM2OCAxMC4xNSA1NS42NTQgMjYuMDk5bDEyNS4xODQtMTAzLjI3Yy04LjI2OS0xMS43NjMtMTMuMTU4LTI2LjA3NC0xMy4xNTgtNDEuNTQ5IDAtNDAuMDEzIDMyLjQzNS03Mi40MzUgNzIuNDM1LTcyLjQzNXM3Mi40MzUgMzIuNDIyIDcyLjQzNSA3Mi40MzVjMCAxNy45MzMtNi41NjYgMzQuMzQyLTE3LjM3IDQ2Ljk4OWwxNDguNzIzIDIxNi4zODRjMTAuNjg4LTYuMjIxIDIzLjA3OC05Ljg0MyAzNi4zMzktOS44NDMgMTcuNDIxIDAgMzMuNDIxIDYuMTU3IDQ1LjkxNCAxNi40MjJsMTQzLjM0Ny0xNzQuMTMxYy0xMy4zMTItMTMuMTMzLTIxLjU5NC0zMS4zNzMtMjEuNTk0LTUxLjU1OCAwLTQwLjAxMyAzMi40MzUtNzIuNDM1IDcyLjQzNS03Mi40MzVzNzIuNDIyIDMyLjQyMiA3Mi40MjIgNzIuNDM1YzAuMDEzIDQwLjAxMy0zMi40MSA3Mi40NDgtNzIuNDEgNzIuNDQ4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWVhOyIgZ2x5cGgtbmFtZT0idW5hY2tub3dubGVkZ2UiIGQ9Ik05NTAuODU3IDkuMTQzaC04NzcuNzE0djg3Ny43MTRoNDgyLjAxMXY3My4xNDNoLTU1NS4xNTR2LTEwMjRoMTAyNHY0NTguNjc5aC03My4xNDN6TTUyNi4xOSA2ODIuNzE1Yy05OC4yMzEtOTEuNzIxLTIyNC40NzUtMzE3LjAwMS0yMjQuNDc1LTMxNy4wMDFzMTkzLjE3IDExOC4yNzIgMjgwLjU3NiAxNjIuODE2Yzc3LjgyNCAzOS42NDMgMTkyLjY1OCAyOC44MTggMjE4LjQ3OCAyNi42OTdsLTAuNjU4LTE4NC40NjYgMjIzLjg5IDMwOC4yOTctMjI0LjQwMiAyODAuOTQyIDAuNTg1LTE4My4wNzdjLTMwLjY0Ny0xLjkwMi0xODcuODMxLTEzLjg5Ny0yNzMuOTkzLTk0LjIwOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTllYjsiIGdseXBoLW5hbWU9ImFja25vd25sZWRnZSIgZD0iTTk1MC44NTcgOS4xNDNoLTg3Ny43MTR2ODc3LjcxNGg0ODIuMDExdjczLjE0M2gtNTU1LjE1NHYtMTAyNGgxMDI0djQ1OC42NzloLTczLjE0M3pNMjQwLjkzMyA0NzcuMTExbDMzNS40MzMtMzI3LjgyNiA0NDcuNjM0IDY0MC0xMTkuODgxIDgzLjgyMi0zNDguODE4LTQ5OC42ODgtMjEyLjE4NyAyMDcuMzZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZWM7IiBnbHlwaC1uYW1lPSJPcGVyYXRpb24iIGQ9Ik01MTIuMDY0IDk2MGMtMjgyLjMwNCAwLTUxMi4wNjQtMjI5LjY5Ni01MTIuMDY0LTUxMiAwLTI4Mi4zNjggMjI5Ljc2LTUxMiA1MTIuMDY0LTUxMnM1MTEuOTM2IDIyOS42MzIgNTExLjkzNiA1MTItMjI5LjYzMiA1MTItNTExLjkzNiA1MTJ6TTUxMi4wNjQgMGMtMjQ2Ljk3NiAwLTQ0OC4wNjQgMjAxLjAyNC00NDguMDY0IDQ0OCAwIDI0Ny4wNDAgMjAxLjA4OCA0NDggNDQ4LjA2NCA0NDggMjQ3LjA0MCAwIDQ0Ny45MzYtMjAxLjAyNCA0NDcuOTM2LTQ0OCAwLTI0Ni45MTItMjAwLjg5Ni00NDgtNDQ3LjkzNi00NDh6TTYxNS44NzIgNTMyLjkyOGwtNzMuNDA4IDQxLjc5MiA4MC42NCAxNDIuMDE2Yy03Mi41NzYgMTkuNjQ4LTE1Mi4xOTItMTAuNjI0LTE5MS4xNjgtNzkuMjMyLTM2LjIyNC02My43NDQtMjYuMDQ4LTE0MC42MDggMTguOTQ0LTE5My4yOGwtMTQxLjYzMi0yNDkuMjE2Yy0xNS42MTYtMjcuNTItNi4wMTYtNjIuNTI4IDIxLjUwNC03OC4xNDRzNjIuNTI4LTYuMDE2IDc4LjE0NCAyMS41MDRsMTQxLjU2OCAyNDkuMjhjNjguMzUyLTExLjc3NiAxMzkuNzEyIDE4Ljg4IDE3NS44NzIgODIuNTYgMzguOTc2IDY4LjU0NCAyNC4zODQgMTUyLjM4NC0yOS43NiAyMDQuODY0bC04MC43MDQtMTQyLjE0NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTllZDsiIGdseXBoLW5hbWU9ImNsb3VkIiBkPSJNNTEyIDk2MGMtMjgyLjMxNyAwLTUxMi0yMjkuNjgzLTUxMi01MTIgMC0yODIuMzMgMjI5LjY4My01MTIgNTEyLTUxMiAyODIuMzMgMCA1MTIgMjI5LjY3IDUxMiA1MTIgMCAyODIuMzE3LTIyOS42NyA1MTItNTEyIDUxMnpNNTEyLTUxLjM2NmMtMjc1LjM0MSAwLTQ5OS4zNTQgMjI0LjAyNi00OTkuMzU0IDQ5OS4zNjZzMjI0LjAxMyA0OTkuMzU0IDQ5OS4zNTQgNDk5LjM1NCA0OTkuMzY2LTIyNC4wMTMgNDk5LjM2Ni00OTkuMzU0LTIyNC4wMjYtNDk5LjM2Ni00OTkuMzY2LTQ5OS4zNjZ6TTkxMC4xMTggMzk3LjY0NWMwIDc3LjQ3OC02MC4wODMgMTQwLjMxNC0xMzQuMjA4IDE0MC4zMTQtNC44NTEgMC05LjYyNi0wLjMwNy0xNC4zNDktMC44MTktMTguODY3IDI4LjUwNi00Ny41NTIgNDkuMjgtODAuOTYgNTcuMTAxLTMxLjE5NCA3NS40MDUtMTAyLjkxMiAxMjguMjA1LTE4Ni40OTYgMTI4LjIwNS04NS45NzggMC0xNTkuMzM0LTU1LjkyMy0xODguOTkyLTEzNC44MS04LjMyIDEuMzU3LTE2Ljc5NCAyLjI5MS0yNS40ODUgMi4yOTEtODkuOTA3IDAtMTYyLjc5LTc2LjIxMS0xNjIuNzktMTcwLjE2MyAwLTM4LjQ2NCAxMi4zMzktNzMuODA1IDMyLjkwOS0xMDIuMjk4LTUuOTktOS4wNTAtOS41MjMtMTkuODc4LTkuNTIzLTMxLjUyNiAwLTMxLjU3OCAyNS41ODctNTcuMTY1IDU3LjE2NS01Ny4xNjVoNjMxLjM4NmMzMS41OSAwIDU3LjE2NSAyNS41ODcgNTcuMTY1IDU3LjE2NSAwIDguNTc2LTIuMDIyIDE2LjYxNC01LjQxNCAyMy45MjMgMTguNDU4IDI0LjAzOCAyOS41OTQgNTQuNTQxIDI5LjU5NCA4Ny43ODJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZWU7IiBnbHlwaC1uYW1lPSJjb21wdXRlciIgZD0iTTUxMiA5NjBjLTI4Mi4zMTcgMC01MTItMjI5LjY4My01MTItNTEyIDAtMjgyLjMzIDIyOS42ODMtNTEyIDUxMi01MTIgMjgyLjMzIDAgNTEyIDIyOS42NyA1MTIgNTEyIDAgMjgyLjMxNy0yMjkuNjcgNTEyLTUxMiA1MTJ6TTUxMi01MS4zNjZjLTI3NS4zNDEgMC00OTkuMzU0IDIyNC4wMTMtNDk5LjM1NCA0OTkuMzY2IDAgMjc1LjM0MSAyMjQuMDEzIDQ5OS4zNTQgNDk5LjM1NCA0OTkuMzU0IDI3NS4zNTQgMCA0OTkuMzY2LTIyNC4wMTMgNDk5LjM2Ni00OTkuMzU0IDAtMjc1LjM1NC0yMjQuMDEzLTQ5OS4zNjYtNDk5LjM2Ni00OTkuMzY2ek01NTkuNjI5IDU1Ni4wNThoLTM2NC4wOTZjLTEyLjU3IDAtMjIuNzU4LTkuMzctMjIuNzU4LTIwLjkyOHYtMjE5LjgyN2MwLTExLjU0NiAxMC4xODktMjAuOTI4IDIyLjc1OC0yMC45MjhoMzY0LjA5NmMxMi41NyAwIDIyLjc0NiA5LjM3IDIyLjc0NiAyMC45Mjh2MjE5LjgyN2MwIDExLjU1OC0xMC4xNzYgMjAuOTI4LTIyLjc0NiAyMC45Mjh6TTU1Mi4zMiAzMzguOTU3YzAtOS4wNjItOC43MDQtMTYuNDEtMTkuNDA1LTE2LjQxaC0zMTAuNjgyYy0xMC43MTQgMC0xOS40MTggNy4zNDctMTkuNDE4IDE2LjQxdjE3Mi41MDZjMCA5LjA2MiA4LjcwNCAxNi40MjIgMTkuNDE4IDE2LjQyMmgzMTAuNjgyYzEwLjcwMSAwIDE5LjQwNS03LjM2IDE5LjQwNS0xNi40MjJ2LTE3Mi41MDZ6TTM3Ny41ODcgMjg0LjQxNmMtMzUuMzQxIDAtNjQtMjguNjQ2LTY0LTY0aDEyOGMwIDM1LjM0MS0yOC42NTkgNjQtNjQgNjR6TTgzMS42MDMgNjcyaC0xODIuNGMtNy4wNzggMC0xMi44LTUuNzM0LTEyLjgtMTIuOHYtODBoMjA4djgwYzAgNy4wNjYtNS43MzQgMTIuOC0xMi44IDEyLjh6TTYzNi40MDMgNTY2LjRoMjA4di02Ny4yaC0yMDh2NjcuMnpNNjM2LjQwMyAyMzMuNmMwLTcuMDc4IDUuNzIyLTEyLjggMTIuOC0xMi44aDE4Mi40YzcuMDc4IDAgMTIuOCA1LjcyMiAxMi44IDEyLjh2MjUyLjhoLTIwOHYtMjUyLjh6TTc0MC40MDMgMzI5LjZjMTAuNTk4IDAgMTkuMi04LjYwMiAxOS4yLTE5LjJzLTguNjAyLTE5LjItMTkuMi0xOS4yLTE5LjIgOC42MDItMTkuMiAxOS4yIDguNjAyIDE5LjIgMTkuMiAxOS4yeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWVmOyIgZ2x5cGgtbmFtZT0iYWxhcm0iIGQ9Ik01MTIgODk2Yy0yNDcuNDI0IDAtNDQ4LTIwMC41NzYtNDQ4LTQ0OCAwLTI0Ny4zNiAyMDAuNTc2LTQ0OCA0NDgtNDQ4IDI0Ny40ODggMCA0NDggMjAwLjY0IDQ0OCA0NDggMCAyNDcuNDI0LTIwMC41MTIgNDQ4LTQ0OCA0NDh6TTQ0NC4wMzIgNTEuOTY4bDQxLjYgMzY1LjY5Ni0yNTMuNjMyIDYuMzM2IDMwMC4wMzIgNDMyLTMzLjM0NC0zMjEuNDcyIDIyMi40LTIwLjg2NC0yNzcuMDU2LTQ2MS42OTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZjA7IiBnbHlwaC1uYW1lPSJpbXBvcnQiIGQ9Ik0yMjUuOTg0IDM4MS4zMTJsMjkwLjY4OC0yOTMuMzEyIDI5Ny4zNDQgMjkzLjMxMi0xODguOTkyIDAuMDY0Yy0xLjcyOCAzMS42MTYgOS4yOCAxMDYuNjg4LTQxLjAyNCAyNTMuNjMyLTUzLjMxMiAxNTUuNjQ4LTI0Mi42ODggMzEwLjMzNi0yNDIuNjg4IDMxMC4zMzZzNjYuNjg4LTE1NC42ODggOTAuNjg4LTMyMi4xMTJjMTUuNTUyLTEwOC40OCA1LjMxMi0yMDUuMzEyLTE3LjQ3Mi0yNDIuODhsLTE4OC41NDQgMC45NnpNNzcxLjg0IDg5Ny45ODR2LTY0aDE3OC4xNzZ2LTgxOS45NjhoLTg3Ni4wMzJ2ODE5Ljk2OGgxMzguNTZ2NjRoLTIwMi41NnYtOTQ3Ljk2OGgxMDA0LjAzMnY5NDcuOTY4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWYxOyIgZ2x5cGgtbmFtZT0iZXhwb3J0IiBkPSJNNDMyIDQxMC4wNDhjLTI0LTE2Ny4zNi05MC42ODgtMzIyLjA0OC05MC42ODgtMzIyLjA0OHMxODkuMzEyIDE1NC42ODggMjQyLjY4OCAzMTAuMzM2YzUwLjMwNCAxNDYuODggMzkuMjk2IDIyMi4wMTYgNDEuMDI0IDI1My42MzJoMTg4Ljk5MmwtMjk3LjM0NCAyOTMuMzc2LTI5MC42ODgtMjkzLjM3NiAxODguNDggMC45NmMyMi44NDgtMzcuNTY4IDMzLjA4OC0xMzQuNCAxNy41MzYtMjQyLjg4ek03NzEuODQgODk3Ljk4NHYtNjRoMTc4LjE3NnYtODE5Ljk2OGgtODc2LjAzMnY4MTkuOTY4aDEzOC41NnY2NGgtMjAyLjU2di05NDcuOTY4aDEwMDQuMDMydjk0Ny45Njh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZjI7IiBnbHlwaC1uYW1lPSJBZG1pbiIgZD0iTTUxMiA5NjAuMDY0Yy0yODIuMzA0IDAtNTEyLTIyOS42OTYtNTEyLTUxMnMyMjkuNjk2LTUxMiA1MTItNTEyIDUxMiAyMjkuNjk2IDUxMiA1MTItMjI5LjY5NiA1MTItNTEyIDUxMnpNNTEyIDAuMDY0Yy0yNDcuMDQwIDAtNDQ4IDIwMS4wMjQtNDQ4IDQ0OCAwIDI0Ny4wNDAgMjAwLjk2IDQ0OCA0NDggNDQ4IDI0Ni45NzYgMCA0NDgtMjAwLjk2IDQ0OC00NDggMC0yNDYuOTc2LTIwMS4wMjQtNDQ4LTQ0OC00NDh6TTc4Ni44MTYgNTA4LjM1MmMwLTYxLjMxMi01Ni45Ni0xMTEuMDQwLTEyNy4wNDAtMTExLjA0MC03MC4yMDggMC0xMjcuMTY4IDQ5LjcyOC0xMjcuMTY4IDExMS4wNDAgMCA2LjY1NiAwLjk2IDEyLjk5MiAyLjI0IDE5LjMyOGgtNDMuNTg0YzEuMjgtNi40IDIuMjQtMTIuNzM2IDIuMjQtMTkuMzI4IDAtNjEuMzEyLTU2Ljk2LTExMS4wNDAtMTI3LjA0MC0xMTEuMDQwLTcwLjIwOCAwLTEyNy4xMDQgNDkuNzI4LTEyNy4xMDQgMTExLjA0MCAwIDYuNjU2IDAuOTYgMTIuOTkyIDIuMjQgMTkuMzI4aC00Mi41Nmw2Ny44NC0zMTAuNjU2YzAgMCAxMDEuOTUyIDI5Ljc2IDI0OC4zODQgMjkuNzYgMTMwLjM2OCAwIDI0OC42NC0yOS43NiAyNDguNjQtMjkuNzZsNjcuNjQ4IDMxMC42NTZoLTQ3LjA0MGMxLjIxNi02LjMzNiAyLjMwNC0xMi43MzYgMi4zMDQtMTkuMzI4ek01ODEuNzYgNTk1LjA3MmMwLTM3LjIyLTMwLjE3Mi02Ny4zOTItNjcuMzkyLTY3LjM5MnMtNjcuMzkyIDMwLjE3Mi02Ny4zOTIgNjcuMzkyYzAgMzcuMjIgMzAuMTcyIDY3LjM5MiA2Ny4zOTIgNjcuMzkyczY3LjM5Mi0zMC4xNzIgNjcuMzkyLTY3LjM5MnpNMjczLjkyIDU4NC4xMjhjMC0zMS4xNzUtMjUuMjczLTU2LjQ0OC01Ni40NDgtNTYuNDQ4cy01Ni40NDggMjUuMjczLTU2LjQ0OCA1Ni40NDhjMCAzMS4xNzUgMjUuMjczIDU2LjQ0OCA1Ni40NDggNTYuNDQ4czU2LjQ0OC0yNS4yNzMgNTYuNDQ4LTU2LjQ0OHpNODYzLjA0MCA1ODQuMTI4YzAtMzEuMTc1LTI1LjI3My01Ni40NDgtNTYuNDQ4LTU2LjQ0OHMtNTYuNDQ4IDI1LjI3My01Ni40NDggNTYuNDQ4YzAgMzEuMTc1IDI1LjI3MyA1Ni40NDggNTYuNDQ4IDU2LjQ0OHM1Ni40NDgtMjUuMjczIDU2LjQ0OC01Ni40NDh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZjM7IiBnbHlwaC1uYW1lPSJhbGxTZWxlY3RlZCIgZD0iTTUxMiA5NjBjLTI4Mi43NyAwLTUxMi0yMjkuMjI5LTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyYzI4Mi43NyAwIDUxMiAyMjkuMjI5IDUxMiA1MTJzLTIyOS4yMyA1MTItNTEyIDUxMnpNNzcwIDY1OGw5NC05Mi0zNzgtMzY4LTMyMCAyMDIgMTM2IDEwMiAxNDYtMTQyIDMyMiAyOTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGU5ZjQ7IiBnbHlwaC1uYW1lPSJhbmdsZVJpZ2h0IiBkPSJNMzExLjM4MiA3NDYuMTA3bDUxMi0zMTQuMjAyLTUxMi0zMjUuNzk4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWY1OyIgZ2x5cGgtbmFtZT0iYXJyb3dMZWZ0IiBkPSJNNDgwIDk2MGwtNDgwLTUxMiA0ODAtNTEydjM0Mi41NTFoNDg4YzMwLjUyNyAwIDU2IDI4LjEwOCA1NiA2MS43OTN2MjE4LjM1NGMwIDMzLjY4NS0yNS40NzMgNjEuNzkzLTU2IDYxLjc5M2gtNDg4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWY2OyIgZ2x5cGgtbmFtZT0iYXJyb3dMZWZ0QWxsIiBkPSJNMjk3LjExOSA5NjBsLTI5Ny4xMTktMzE3LjMzMyA3OS41ODUtODUuMzMzIDM3Ni43MDUgNDAyLjY2N2gtMTU5LjE3MXpNNTY3LjcxIDk1NC42NjdsLTQ3NC44Ni01MDkuMzMzIDQ3NC44Ni01MDkuMzMzdjM0MS4zMzNoNDAwLjU4YzMwLjI3OCAwIDU1LjcxIDI3Ljc1IDU1LjcxIDYxLjMzM3YyMTZjMCAzMy41MjYtMjUuNDMyIDYxLjMzMy01NS43MSA2MS4zMzNoLTQwMC41OHYzMzguNjY3ek02NTIuNjAxIDgxMy4zMzN2LTEwOS4zMzNoMzYzLjQ0djQ4YzAgMzMuNTI2LTI1LjQzMiA2MS4zMzMtNTUuNzEgNjEuMzMzaC0zMDcuNzMxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWY3OyIgZ2x5cGgtbmFtZT0iYXJyb3dSaWdodCIgZD0iTTU0NCA5NjBsNDgwLTUxMi00ODAtNTEydjM0Mi41NTFoLTQ4OGMtMzAuNTI3IDAtNTYgMjguMTA4LTU2IDYxLjc5M3YyMTguMzU0YzAgMzMuNjg1IDI1LjQ3MyA2MS43OTMgNTYgNjEuNzkzaDQ4OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlmODsiIGdseXBoLW5hbWU9ImFycm93UmlnaHRBbGwiIGQ9Ik03MjYuODgxIDk2MGwyOTcuMTE5LTMxNy4zMzMtNzkuNTg1LTg1LjMzMy0zNzYuNzA1IDQwMi42NjdoMTU5LjE3MXpNNDU2LjI5IDk1NC42NjdsNDc0Ljg2LTUwOS4zMzMtNDc0Ljg2LTUwOS4zMzN2MzQxLjMzM2gtNDAwLjU4Yy0zMC4yNzggMC01NS43MSAyNy43NS01NS43MSA2MS4zMzN2MjE2YzAgMzMuNTI2IDI1LjQzMiA2MS4zMzMgNTUuNzEgNjEuMzMzaDQwMC41OHYzMzguNjY3ek0zNzEuMzk5IDgxMy4zMzN2LTEwOS4zMzNoLTM2My40NHY0OGMwIDMzLjUyNiAyNS40MzIgNjEuMzMzIDU1LjcxIDYxLjMzM2gzMDcuNzMxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWY5OyIgZ2x5cGgtbmFtZT0iYXV0b0ZpbmQiIGQ9Ik01MDggOTYwYy0zMS4xMTkgMC01OC0yNC44ODEtNTgtNTZ2LTQ2Yy02OS44MzEtMTAuODE2LTEzMy42NDYtMzguODg5LTE4OC03OGwtNDIgNDBjLTExLjAwMiAxMS4wMDItMjUuNjQxIDE4LTQwIDE4cy0yNi45OTgtNi45OTgtMzgtMThsLTE4LTE2Yy0yMi4wMDUtMjIuMDA1LTIyLjAwNS01Ny45OTUgMC04MGw0Mi00MGMtMzQuOTQxLTQ4LjUzOC02MS4wMzgtMTAzLjQzMi03Mi0xNjRoLTM2Yy0zMS4xMTkgMC01OC0yNC44ODEtNTgtNTZ2LTIyYzAtMzEuMTE5IDI2Ljg4MS01OCA1OC01OGgzNmMxMi4yOTItNzYuMzM1IDQ0LjkxMi0xNDcuMzM3IDk0LTIwNGwtMzQtMzZjLTIyLjAwNS0yMi4wMDUtMjIuMDA1LTU1Ljk5NSAwLTc4bDE2LTE4YzIyLjAwNS0yMi4wMDUgNTcuOTk1LTIyLjAwNSA4MCAwbDQ0IDQ2YzQ3LjA5OS0yOC4wNDIgOTkuMTgxLTQ3LjE5OSAxNTYtNTZ2LTQ2YzAtMzEuMTE5IDI2Ljg4MS01NiA1OC01NmgyMmMzMS4xMTkgMCA1NiAyNC44ODEgNTYgNTZ2NDZjMjcuNzUzIDQuMjI4IDU0LjI4NiAxMS4xNTIgODAgMjBsLTEwNCAxMDZjLTE0LjQ0LTIuMjI5LTI4LjkzNi00LTQ0LTQtMTU5LjA1OCAwLTI4OCAxMjguOTQyLTI4OCAyODhzMTI4Ljk0MiAyODggMjg4IDI4OGMxNTkuMDU4IDAgMjg4LTEyOC45NDIgMjg4LTI4OCAwLTQ3Ljg1My0xMy4zNDktOTIuMjktMzQtMTMybDEwNC05OGMzMy42MzUgNDkuMjE4IDU4LjI0NyAxMDUuNDMyIDY4IDE2NmgyMmMzMS4xMTkgMCA1NiAyNi44ODEgNTYgNTh2MjJjMCAzMS4xMTktMjQuODgxIDU2LTU2IDU2aC0yMmMtMTAuNjE1IDU4LjY1Mi0zNC44MDUgMTEyLjUzOS02OCAxNjBsMzYgMzZjMjIuMDA1IDIyLjAwNSAyMi4wMDUgNTcuOTk1IDAgODBsLTE2IDE2Yy0xMS4wMDIgMTEuMDAyLTI1LjY0MSAxNi00MCAxNnMtMjguOTk4LTQuOTk4LTQwLTE2bC0zNi0zNmMtNTUuNzM1IDQxLjM5OS0xMjEuNDcxIDcwLjk1MS0xOTQgODJ2NDZjMCAzMS4xMTktMjQuODgxIDU2LTU2IDU2aC0yMnpNNTIwIDY2OGMtMTI2LjY3OCAwLTIzMC0xMDMuMzIyLTIzMC0yMzBzMTAzLjMyMi0yMjggMjMwLTIyOGMyOS41MDEgMCA1OC4wOTUgNS44NTUgODQgMTZsMjEwLTIxMGMyMi4wMDUtMjIuMDA1IDU1Ljk5NS0yMi4wMDUgNzggMGwxMCAxMGMyMi4wMDUgMjIuMDA1IDIyLjAwNSA1NS45OTUgMCA3OGwtMTk4IDE5OGMyOC4yNSAzOC4xMjYgNDYgODQuOTA0IDQ2IDEzNiAwIDEyNi42NzgtMTAzLjMyMiAyMzAtMjMwIDIzMHpNNTIwIDU2MGM2Ny4yNzUgMCAxMjItNTQuNzI1IDEyMi0xMjJzLTU0LjcyNS0xMjItMTIyLTEyMmMtNjcuMjc1IDAtMTIyIDU0LjcyNS0xMjIgMTIyczU0LjcyNSAxMjIgMTIyIDEyMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlmYTsiIGdseXBoLW5hbWU9ImJhY2siIGQ9Ik02NzQuMjQtNTAuMTEybC00ODEuMjggNDgxLjM0NCA0ODUuNjk2IDQ4NS44MjQgNDUuMzEyLTQ1LjI0OC00NDAuNTEyLTQ0MC41NzYgNDM2LjAzMi00MzYuMDk2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWZiOyIgZ2x5cGgtbmFtZT0iYmFsbCIgZD0iTTM2NiA5NjB2LTM2NGgtMTgwdi0zMDBoMTg0djUyaDUydi01Mmg0MHYzMDBoOTJ2LTMwMGg0MHY1Mmg1NHYtNTJoMTg0djMwMGgtMTc0djM2NGgtMjkyek0wIDMwMnYtMzY2aDM2NnYxNTJoLTEzMnY5MmgtOTB2MTIyaC0xNDR6TTg4MCAzMDJ2LTEyMmgtOTB2LTkyaC0xMzJ2LTE1MmgzNjZ2MzY2aC0xNDR6TTQzMiA4OHYtMTUyaDE2MHYxNTJoLTE2MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlmYzsiIGdseXBoLW5hbWU9ImJlbGwiIGQ9Ik00NDguMDMxIDkzOC4wMTZ2LTExMC4wMDNjLTExMS4yNDktMjcuNTUyLTE5Mi0xMjcuNjgtMTkyLTI0OHYtOTMuOTk3Yy0xNC4xMDQtMTcwLjc4NC0xMjAuOTk2LTI3MC43MDEtMjI0LTM3OC4wMDMgNC43MjMgMCA5LjIxIDEuOTg0IDE0IDEuOTg0aDI4MmMtMS40OTgtOC41MjUtMS45OTctMTcuMDMwLTEuOTk3LTI1Ljk5NyAwLTgyLjcyNiA2NS4yNzUtMTQ4IDE0OC0xNDhoMzRjODIuNzI1IDAgMTUwIDY1LjI3NCAxNTAgMTQ4IDAgOC45ODYtMi40OSAxNy40NTktNCAyNS45OTdoMzIwYzQuNzg3IDAgOS4yNzctMS43MjggMTQtMS45ODQtMTAzLjAwNCAxMDcuMzAyLTIwOS44OTYgMjA3LjIxOS0yMjQgMzc4LjAwM3Y5My45OTdjMCAxMjAuMzItODAuNzUxIDIyMC40NDgtMTkyIDI0OHYxMTAuMDAzaC0xMjR6TTM5Ni4wMzEgMTEwLjAxNmgzMmMtMTEuOTY1LTEyLjQwMy0yMC0yOC4zNzEtMjAtNDYuMDAzIDAtNDAuMzQ2IDM3LjM5MS03My45OTcgODQtNzMuOTk3LTEwLjE1NC00LjE2LTIwLjMyOS04LTMyLTgtNDYuNjA5IDAtODQgMzQuMTc2LTg0IDc3Ljk5NyAwIDE5LjQxOCA3Ljc3MyAzNi4wNzAgMjAgNTAuMDAzeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlOWZkOyIgZ2x5cGgtbmFtZT0iYmxhY2tMaXN0IiBkPSJNNTA5LjA5MSA5NTguMjkzYy0xMzQuNDQ4IDAtMjQyLjU0NC0xMDguNzA0LTI0Mi41NDQtMjQ0czEwOC4wOTYtMjQ2IDI0Mi41NDQtMjQ2YzEzNC40NDggMCAyNDIuNTQ0IDExMC43MDQgMjQyLjU0NCAyNDZzLTEwOC4wOTYgMjQ0LTI0Mi41NDQgMjQ0ek03NjkuNTI4IDUxMi4yOTNjLTE0MC41NDEgMC0yNTQuNDcyLTExNC42MTgtMjU0LjQ3Mi0yNTZzMTEzLjkzMS0yNTYgMjU0LjQ3Mi0yNTZjMTQwLjU0MSAwIDI1NC40NzIgMTE0LjYxOCAyNTQuNDcyIDI1NnMtMTEzLjkzMSAyNTYtMjU0LjQ3MiAyNTZ6TTMwNi4zMDggNDU2LjI5M2MtMzQ2Ljg1NS0xOTUuOTEtMzAyLjUyNC01MzEuNjEtMzA2LjE2Mi01MjBoNjg1Ljg4M2wtMS45ODggNmMtMTM1LjExMyAyMy4wOTAtMjM4LjU2OCAxNDEuNDk5LTIzOC41NjggMjg0IDAgNTAuMDA4IDEzLjQ5OSA5Ny4wMTcgMzUuNzg1IDEzOC03Mi4wODIgNy41ODktMTM2LjMwNiA0Mi41MTMtMTc0Ljk1IDkyek02MTAuNDgyIDMyNi4yOTNoMzE4LjA5MXYtMTI4aC0zMTguMDkxdjEyOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlmZTsiIGdseXBoLW5hbWU9ImJyZWFrTGluayIgZD0iTTUxMiA5NjBjLTI4Mi43NyAwLTUxMi0yMjkuMjMtNTEyLTUxMnMyMjkuMjMtNTEyIDUxMi01MTJjMjgyLjc3IDAgNTEyIDIyOS4yMyA1MTIgNTEycy0yMjkuMjMgNTEyLTUxMiA1MTJ6TTUzMCA4MzJsMjItMTI0LTcyLTYtMjIgMTIyIDcyIDh6TTI3NiA3OTBjNzAuMTMxIDAgMTI4LTU3LjIzOSAxMjgtMTMwIDAtMTUuNDIyLTEuMjk4LTMwLjIyLTYtNDRsODYtOTAtNjYtNzAtODYgODZjLTE2LjQ2OC04LjExMi0zNi41NjUtMTItNTYtMTItNzAuMTMxIDAtMTIyIDU3LjI2Ny0xMjIgMTMwIDAgNzIuNzYxIDUxLjg2OSAxMzAgMTIyIDEzMHpNNzYwIDc1MGw1NC04Mi0xNjItMTE2LTU0IDg2IDE2MiAxMTJ6TTg4OCA1MThsOC03NC0xMTgtMjItOCA3NCAxMTggMjJ6TTI0NiA0NzhsOC03NC0xMTgtMjAtOCA3MiAxMTggMjJ6TTU5OCA0MjZsNjItNjRjMTYuNjU0IDguMzc2IDMyLjI3NiAxNiA1MiAxNiA3MC4xMzEgMCAxMzAtNjMuMjUzIDEzMC0xMzYgMC03Mi43NTItNTkuODY5LTEzMC0xMzAtMTMwcy0xMjQgNTcuMjQ4LTEyNCAxMzBjMCAxNS4xNjMgNS40NTkgMzIuNDUgMTAgNDZsLTY4IDY2IDY4IDcyek0zNzIgMzQ4bDU0LTkwLTE2Ni0xMDgtNTAgODIgMTYyIDExNnpNNTQwIDE5MGwxOC0xMTgtNzItOC0xOCAxMjQgNzIgMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTlmZjsiIGdseXBoLW5hbWU9ImNhbmNsZSIgZD0iTTUxMiA5NjBjLTI4Mi43NyAwLTUxMi0yMjkuMjI5LTUxMi01MTJzMjI5LjIzLTUxMiA1MTItNTEyYzI4Mi43NyAwIDUxMiAyMjkuMjI5IDUxMiA1MTJzLTIyOS4yMyA1MTItNTEyIDUxMnpNMTI4IDY0NS45OTdsMTgwLTEwNGM2MS45MDIgNDkuNzM0IDE0MC41NTEgODAgMjI2IDgwIDE5OC42MTcgMCAzNjAtMTYzLjM3OSAzNjAtMzYxLjk5NyAwLTIuOTQ0IDAuMDcwLTUuMDU2IDAtOGwtOTAtMS45ODRjMC4xMzQgMy40NTYgMCA2LjUyOCAwIDEwLjAwMyAwIDE0OC45Ni0xMjEuMDM4IDI3Mi0yNzAgMjcyLTUxLjQ2OSAwLTk4Ljk3Mi0xNC43NzEtMTQwLTQwbDE4NC0xMDYuMDAzLTM1Ni05My45OTctOTQgMzUzLjk3OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEwMDsiIGdseXBoLW5hbWU9ImNpcmNsZSIgZD0iTTEwMjQgNDQ3Ljk5OGMwLTI4Mi43Ny0yMjkuMjMtNTEyLTUxMi01MTJzLTUxMiAyMjkuMjMtNTEyIDUxMmMwIDI4Mi43NyAyMjkuMjMgNTEyIDUxMiA1MTJzNTEyLTIyOS4yMyA1MTItNTEyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTAxOyIgZ2x5cGgtbmFtZT0iY2xvc2VUcmVlIiBkPSJNMCA5NTQuNjY3di0zNDEuMzMzaDEyMi42Njd2LTQ0NS4zMzNoMzYyLjY2N2MxNy43ODMtMTMyLjc0NSAxMjkuMTI4LTIzNC42NjcgMjY2LjY2Ny0yMzQuNjY3IDE0OS44MzkgMCAyNzIgMTIyLjI3OCAyNzIgMjcycy0xMjIuMTYxIDI2OS4zMzMtMjcyIDI2OS4zMzNjLTEzMy4wMTEgMC0yNDAuOTU0LTk1LjQ2NS0yNjQtMjIxLjMzM2gtMjgwdjM2MGgxMzMuMzMzdjM0MS4zMzNoLTM0MS4zMzN6TTcxMiAzNzMuMzMzaDg1LjMzM3YtMTI4aDEyOHYtODUuMzMzaC0xMjh2LTEyOGgtODUuMzMzdjEyOGgtMTI4djg1LjMzM2gxMjh2MTI4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTAyOyIgZ2x5cGgtbmFtZT0iY29uZmlnbWFwIiBkPSJNMCA5NjB2LTEwMjRoNDAwbC02IDIzOCAxNTggMjYwLTE0NiAxODgtMjc4LTM5MnY2MDJoNzY4di0xMjBsMTI4LTc0djMyMmgtMTAyNHpNNzk2IDY3MGwtMjY2LTQ2MiAxNjYtOTYgMjY2IDQ2MC0xNjYgOTh6TTEwMjQgNTM0bC04LTE2LTI5MC01MzQtNTgtNDhoMzU2djU5OHpNNDg2IDEzMmwxNC0xNjYgMTUyIDcwLTE2NiA5NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEwMzsiIGdseXBoLW5hbWU9ImRlcGFydG1lbnQiIGQ9Ik0yMTEuNTg3IDkyOGwtMjA1LjYwMi0yMjRoNDI5LjE2NmwtMjIzLjU2NCAyMjR6TTAgNjU2di03MjBoMTAyNHY0OTZoLTU5Ni44MzN2MjI0aC00MjcuMTY3ek03Ny44NDUgNTUzLjk5N2g5NS44MTN2LTk2aC05NS44MTN2OTZ6TTI1NS41MDIgNTUzLjk5N2g5NS44MTN2LTk2aC05NS44MTN2OTZ6TTc3Ljg0NSAzNDUuOTk3aDk1LjgxM3YtOTZoLTk1LjgxM3Y5NnpNMjU1LjUwMiAzNDUuOTk3aDk1LjgxM3YtOTZoLTk1LjgxM3Y5NnpNNjgwLjY3IDM0NS45OTdoOTUuODEzdi05NmgtOTUuODEzdjk2ek04NTguMzI2IDM0NS45OTdoOTUuODEzdi05NmgtOTUuODEzdjk2ek01MDEuMDIwIDMzOS45ODFoNjMuODc1di0yOTZoLTYzLjg3NXYyOTZ6TTc1Ljg1MiAxMzkuOTgxaDk1LjgxM3YtOTZoLTk1LjgxM3Y5NnpNMjUzLjUwMiAxMzkuOTgxaDk1LjgxM3YtOTZoLTk1LjgxM3Y5NnpNNjgwLjY3IDEzOS45ODFoOTUuODEzdi05NmgtOTUuODEzdjk2ek04NTguMzI2IDEzOS45ODFoOTUuODEzdi05NmgtOTUuODEzdjk2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTA0OyIgZ2x5cGgtbmFtZT0iZGV0YWlsIiBkPSJNMCA5MTQuNjY3di0xNzAuNjY3aDEwMjR2MTcwLjY2N2gtMTAyNHpNMCA2NTguNjY3di0xNzAuNjY3aDEwMjR2MTcwLjY2N2gtMTAyNHpNMCA0MDIuNjY3di0xNzAuNjY3aDEwMjR2MTcwLjY2N2gtMTAyNHpNMCAxNDYuNjY3di0xNzAuNjY3aDc2OHYxNzAuNjY3aC03Njh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMDU7IiBnbHlwaC1uYW1lPSJkaXNwbGF5U3dpdGNoIiBkPSJNMCA5NjB2LTEwMjRoODYyLjc2NnYyOTJoMTYwbC0xOTIgMTkyLTE5MC0xOTJoMTU4di0yMjhoLTM2Ni43NjZ2ODk2aDM2Ni41MDN2LTIwNGgtMTU4bDE5MC0xOTIgMTkyIDE5MmgtMTYwdjI2OGgtNTYwLjUwM3pNNzIgNzQ2aDI5MHYtNjRoLTI5MHpNNzIgNDg2aDI5MHYtNjRoLTI5MHpNNzIgMjM0aDI5MHYtNjRoLTI5MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEwNjsiIGdseXBoLW5hbWU9ImZpbGUiIGQ9Ik0xMjAgOTYwdi0xMDI0aDgxMmwyMCA4MjItMTYwIDIwMmgtNjcyek0yMTYgODY0aDUxNmwxMjQtMTY0LTE0LTY2OGgtNjI2djgzMnpNMjk4IDc4MnYtMTQwaDE0NnYxNDBoLTE0NnpNNTI0IDcyNnYtNjRoMjUydjY0aC0yNTJ6TTI5OCA1NzR2LTY0aDQ3OHY2NGgtNDc4ek0yOTggMzk4di02NGg0Nzh2NjRoLTQ3OHpNMjk4IDIyMnYtNjRoNDc4djY0aC00Nzh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMDc7IiBnbHlwaC1uYW1lPSJmaWx0ZXIiIGQ9Ik0wLjAwNiA5NjBsMC40OTctNzcuMzYgNDE1LjUtMzkyLjkwN3YtMzI5Ljc5N2wxOTItMjIzLjkzNnY1NTEuNjk4bDQxNi42NjQgMzg4LjgzNS0wLjY2OCA4My40NjdoLTEwMjR6TTI1NC4wMDYgODU4LjIxMWg1MTR2LTQ0Ljc4N2wtMjU2LTI0Mi4yNTgtMjU2IDI0Ni4zMy0xLjk5NyA0MC43MTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMDg7IiBnbHlwaC1uYW1lPSJmaW5kIiBkPSJNMjc4IDk2NGMtMTYuNDI1IDAtMzAtMTMuNTc1LTMwLTMwdi0xMzJjMC0xNi40MjUgMTMuNTc1LTMwIDMwLTMwaDEzMmMxNi40MjUgMCAzMCAxMy41NzUgMzAgMzB2MTMyYzAgMTYuNDI1LTEzLjU3NSAzMC0zMCAzMGgtMTMyek01OTggOTYyYy0xNi40MjUgMC0zMC0xMy41NzUtMzAtMzB2LTEzMmMwLTE2LjQyNSAxMy41NzUtMzAgMzAtMzBoMTMyYzE2LjQyNSAwIDMwIDEzLjU3NSAzMCAzMHYxMzJjMCAxNi40MjUtMTMuNTc1IDMwLTMwIDMwaC0xMzJ6TTQ0MCA3MTBsLTI3MC0yLTExNC0yNzR2LTM2OGgyMDhsMzAgMzB2MjcybDEyNiAyYzEyLjQ2NCAxLjI5MiAyMS42MzQgMTguNzkyIDIwIDQwdjMwMHpNNTY4IDcwOHYtMzAwYy0xLjYzNC0yMS4yMDggNy41MzYtMzguNzA4IDIwLTQwbDEyNi0ydi0yNzJsMzAtMzBoMjA4djM2OGwtMTE0IDI3NC0yNzAgMnpNNTYgMHYtNjRoMjM4djY0aC0yMzh6TTcxNC0ydi02NGgyMzh2NjRoLTIzOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEwOTsiIGdseXBoLW5hbWU9ImZvbGRlciIgZD0iTTk2LjggODIzLjQyNGgyMDAuMjc3YzQzLjE3MyAwLjEzNiA1My42NjUtMTIuNjc1IDY4Ljk2Mi00Mi4xNTggMCAwIDM4LjAyOC0xMTIuOTUyIDc5LjgyNy0xNTIuMDc0IDEzLjA3OS0xMi4yNDIgMjIuNzM0LTIxLjc4IDQ5LjEzMy0yMS43OGg0MzIuMjAxYzUzLjYyNyAwIDk2LjgtNDMuNTcxIDk2LjgtOTcuNjk0di00ODYuMTNjMC01NC4xMjItNDMuMTczLTk3LjY5NC05Ni44LTk3LjY5NGgtODMwLjM5OWMtNTMuNjI3IDAtOTYuOCA0My41NzEtOTYuOCA5Ny42OTR2NzAyLjE0M2MwIDU0LjEyMiA0My4xNzMgOTcuNjk0IDk2LjggOTcuNjk0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTBhOyIgZ2x5cGgtbmFtZT0iZm9yY2VPdXQiIGQ9Ik03MDcuMiA3Ljc0NGgtNjc1LjUydjg3MC45MTJoNjc1LjUydi02NGgtNjExLjUydi03NDIuOTEyaDYxMS41MnpNNzM3LjkyIDE2MS43MjhsLTQ1LjI0OCA0NS4yNDggMjM1Ljg0IDIzNS43NzYtMjM2LjU0NCAyMzYuNjA4IDQ1LjI0OCA0NS4yNDggMjgxLjc5Mi0yODEuODU2ek0yMjYuMjQgNDc1LjJoNzEzLjY2NHYtNjRoLTcxMy42NjR2NjR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMGI7IiBnbHlwaC1uYW1lPSJmdWxsU2NyZWVuIiBkPSJNNTEyIDk2MGwtMjI0LTI1Nmg0NDhsLTIyNCAyNTZ6TTI1NiA2NzJsLTI1Ni0yMjQgMjU2LTIyNHY0NDh6TTc2OCA2NzJ2LTQ0OGwyNTYgMjI0LTI1NiAyMjR6TTI4OCAxOTJsMjI0LTI1NiAyMjQgMjU2aC00NDh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMGM7IiBnbHlwaC1uYW1lPSJHcmFwaGljYWwiIGQ9Ik04MjMuMTA0IDQ0OS4wODhjMC04OS40NzItMzcuMzc2LTE2OS42LTk2LjU3Ni0yMjYuNjg4bDEzMi4wOTYtMTMyLjA5NmM5Mi4wOTYgOTEuMDcyIDE0OS40NCAyMTguMTEyIDE0OS40NCAzNTguNzg0djAuMDY0bC0xODQuOTYtMC4wNjR6TTc5NS4zOTIgNTc0Ljc4NGgxOTUuMTM2Yy00OS4wMjQgMTkxLjM2LTIwNS4zMTIgMzM4LjU2LTQwMC44OTYgMzY4Ljg5NnYtMTkxLjkzNmM5Mi43MzYtMjMuNjE2IDE2Ny44MDgtODkuOTg0IDIwNS43Ni0xNzYuOTZ6TTYxMS4zOTIgMTUzLjM0NGMtMzAuNDY0LTEwLjY4OC02Mi42NTYtMTcuMzQ0LTk2Ljc2OC0xNy4zNDQtMTcwLjMwNCAwLTMwOC4zNTIgMTQwLjA5Ni0zMDguMzUyIDMxMy4xNTIgMCAxNTQuNzUyIDExMC44NDggMjgyLjU2IDI1Ni4yNTYgMzA3Ljc3NnYxOTAuMjcyYy0yNDguMDY0LTI2LjQzMi00NDEuNDA4LTIzOS4zNi00NDEuNDA4LTQ5OC4xMTIgMC0yNzYuNjA4IDIyMC45OTItNTAwLjg2NCA0OTMuNTA0LTUwMC44NjQgODYuNzIgMCAxNjcuNDI0IDIzLjc0NCAyMzguMjA4IDYzLjY4bC0xNDEuNDQgMTQxLjQ0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTBkOyIgZ2x5cGgtbmFtZT0iaGVscFRpcCIgZD0iTTUxMiA5NjBjLTI4Mi43NyAwLTUxMi0yMjkuMjMtNTEyLTUxMnMyMjkuMjMtNTEyIDUxMi01MTJjMjgyLjc3IDAgNTEyIDIyOS4yMyA1MTIgNTEycy0yMjkuMjMgNTEyLTUxMiA1MTJ6TTUwOCA4MDZjNDYuMzgzIDEuODU2IDg1LjQ1NC0zLjA3MiAxMTQtMTQgMjguNTQ1LTEwLjkzIDUxLjk0MS0yNi4xMTQgNzQtNDQgMjIuMDU4LTE3Ljg4OCAzOC43MjUtMzkuNTgxIDQ4LTY0IDkuMjczLTI0LjQyIDEzLjM2NS00Ny45ODEgMTItNzQtMS44MDQtMjUuNzI5LTcuMzYxLTUxLjQ2OS0xOC03Ni0xMC42NC0yNC41MzItMjUuOTM2LTQ4Ljk1Ni00Ni03Mi0yMC4wNjUtMjMuMDQ0LTQ0LjA1Ni00NS40OTMtNzItNjhsLTQ4LTM4di05NmgtMTQwdjE0NGMyNC43MjEgMTguNjU5IDQ3LjQ3MSAzNi4wNzAgNjggNTJzNDAuODEgMzMuNzg4IDYwIDUyYzE5LjE5IDE4LjIxMSAzNC41ODkgMzcuMDQ4IDQ0IDU4czEyLjEzIDQyLjA1NyAxMCA2MGMtMy4xMTUgMjMuNTM2LTEyLjIxMSAzOS45NzQtMjggNTItMTUuNzg5IDEyLjAyNS0zNC41MTYgMjAuMTk4LTU2IDIyLTIxLjQ4NSAxLjgtMzkuMjIyLTMuOTc4LTU0LTE0LTEzLjk4Ni05LjEwNi0yMi4zMDctMTkuMjYyLTI0LTMwbC02LTI2LTgtNC0xMzQtNmMxLjM2NiAyNS4yODEgNS4zNTYgNTAuMzMxIDEwIDcyIDQuNjQ0IDIxLjY2NyAxNi45MzkgNDEuMzk2IDM4IDYwIDIxLjA2MSAxOC42MDIgNDYuMTA5IDMyLjEzNSA3NCA0MCAyNy44OSA3Ljg2MyA1NC4yNDYgMTIuNTQ1IDgyIDE0ek00MjggMTYwaDE0OHYtOTRoLTE0OHY5NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEwZTsiIGdseXBoLW5hbWU9ImhpZGUiIGQ9Ik0zNjggOTYwdi01OTZoLTIzNGwzNjQtMzYwaC00OTh2LTcwaDEwMjR2NzBoLTUyMmwzODggMzYwaC0yMzR2NTk2aC0yODh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMGY7IiBnbHlwaC1uYW1lPSJoaXN0b3J5IiBkPSJNMTY3LjYxNSA3NzMuMTU4di00ODcuMzI4bDM0LTczLjM1aDU3Mi4zODVsMzggNzUuMjI2djMzLjg1NmgyNmMxMDQuNDAxIDAgMTg4IDc4LjYxOCAxODggMTc2Ljc5NCAwIDk4LjE4Mi04My41OTkgMTc2LjgtMTg4IDE3Ni44aC0yNnY5OC4wMDN6TTgxMiA2MTMuMDg4aDE0YzY2Ljg5OCAwIDEyMi01MS44MjEgMTIyLTExNC43MzMgMC02Mi45MDYtNTUuMTAyLTExMi44NDUtMTIyLTExMi44NDVoLTE0ek0wIDExNi41NTdsMTA4LTE4MC41NTdoODM0bDgyIDE4MC41NTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMTA7IiBnbHlwaC1uYW1lPSJsYXVuY2hpbmdUb3dlciIgZD0iTTIxMiA5NTRjLTg2LjI3LTQ5LjU1OC0xNDQtMTMzLjg2Mi0xNDQtMjMwIDAtOTcuNzI0IDU5LjQwOS0xODIuODIgMTQ4LTIzMmwyNCA1MmMtNjUuODM0IDQwLjA2Ny0xMDggMTA1LjA4NS0xMDggMTgwczQyLjE2NiAxNDEuOTMzIDEwOCAxODJsLTI4IDQ4ek04NDggOTU0bC0yOC00OGM2NS44MzQtNDAuMDY3IDEwOC0xMDcuMDg1IDEwOC0xODJzLTQyLjE2Ni0xMzkuOTMzLTEwOC0xODBsMjQtNTJjODguNTkxIDQ5LjE4IDE0OCAxMzQuMjc2IDE0OCAyMzIgMCA5Ni4xMzgtNTcuNzMgMTgwLjQ0Mi0xNDQgMjMwek0zMTggODkwYy01Ny43NDItMzUuNDc1LTk4LTk3LjE4Mi05OC0xNjYgMC02OS45NTMgNDAuNzA1LTEzMC43OTYgMTAwLTE2NmwxNiAzOGMtNDQuMDY0IDI4LjY4MS03MiA3NC4zNzQtNzIgMTI4czI3LjkzNiAxMDEuMzE5IDcyIDEzMGwtMTggMzZ6TTc0MiA4OTBsLTE4LTM2YzQ0LjA2NC0yOC42ODEgNzItNzYuMzc0IDcyLTEzMHMtMjcuOTM2LTk5LjMxOS03Mi0xMjhsMTYtMzhjNTkuMjk1IDM1LjIwNCAxMDAgOTYuMDQ3IDEwMCAxNjYgMCA2OC44MTgtNDAuMjU4IDEzMC41MjUtOTggMTY2ek00MDYgODIwYy0zMy41NjktMjAuNjIzLTU2LTU1Ljk5My01Ni05NiAwLTQwLjY2NyAyMy41MjktNzUuNTM0IDU4LTk2bDEwIDIyYy0yNS42MTcgMTYuNjczLTQyIDQyLjgyNC00MiA3NHMxNi4zODMgNTkuMzI3IDQyIDc2bC0xMiAyMHpNNjU0IDgyMGwtMTItMjBjMjUuNjE3LTE2LjY3MyA0Mi00NC44MjQgNDItNzZzLTE2LjM4My01Ny4zMjctNDItNzRsMTAtMjJjMzQuNDcxIDIwLjQ2NiA1OCA1NS4zMzMgNTggOTYgMCA0MC4wMDctMjIuNDMxIDc1LjM3Ny01NiA5NnpNNDgwIDc2NmwtMjgtODMwaDE1NmwtMjggODMwaC0xMDB6TTIxOC45ODkgMzk5LjYwN2gxMjEuOTA4di00NjMuMzg5aC0xMjEuOTA4djQ2My4zODl6TTg4IDMwNC4yMTd2LTM2OGgxNTJ2MzY4aC0xNTJ6TTExNCAyODguMjE3aDI2di0zNDZoLTI2djM0NnpNLTQuNTM1IDExNS44MDloOTkuNTM3di0xNzkuODA5aC05OS41Mzd2MTc5LjgwOXpNNTkyLjUgMTU2Ljg0Nmg4Mi42NjV2LTIyMy42aC04Mi42NjV2MjIzLjZ6TTY2Mi4wOTIgMzc5LjgxaDc4LjMzMnYtNDQ2LjU2NGgtNzguMzMydjQ0Ni41NjR6TTczOCAyNTR2LTMxOGg5NHYzMThoLTk0ek03NTggMjI2aDIwdi0yNjJoLTIwdjI2MnpNODA4IDE0NHYtMjA4aDE3NHYyMDhoLTE3NHpNODY0IDEwMGg4MnYtMTQ2aC04MnYxNDZ6TTk2Ny41OTUgNDUuODk5aDY4LjM2MnYtMTA5Ljg5OWgtNjguMzYydjEwOS44OTl6TTMzMS4yMDEgMTQxLjcyNXYtMjA4aDE0My44NTl2MjA4aC0xNDMuODU5ek0zNzcuNTAxIDk3LjcyNWg2Ny43OTZ2LTE0NmgtNjcuNzk2djE0NnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWExMTsiIGdseXBoLW5hbWU9ImxheW91dCIgZD0iTTAgOTYwdi0xNjBoNjR2LTg2NGg4OTZ2ODY0aDY0djE2MGgtMTAyNHpNMTkyIDcwMmg2NDB2LTY0MGgtNjQwdjY0MHpNNDAwIDYzMGwtMTcyLTE3NCAxNzItMTc0djExNGgxMTJ2MTI0aC0xMTJ2MTEwek02MjQgNDQ0di0xMTBoLTExMnYtMTI0aDExMnYtMTE0bDE3MiAxNzQtMTcyIDE3NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWExMjsiIGdseXBoLW5hbWU9ImxlZ2VuZGhpZGUiIGQ9Ik0xMDI0IDk2MHYtMTAyNGgtNzM2LjUwOHYxMDI0ek0xNjguMTM2IDk2MHYtMTAyNGgtMTY4LjEzNnYxMDI0ek02MzUuOTMyIDYzMGwtMTgyLTE4MiAxODItMTgydjEyMmgyMzJ2MTIwaC0yMzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMTM7IiBnbHlwaC1uYW1lPSJsZWdlbmRzaG93IiBkPSJNMCA5NjB2LTEwMjRoNjAydjEwMjRoLTYwMnpNNzA0IDk2MHYtMTAyNGgzMjB2MTAyNGgtMzIwek03NzggODI0aDE3MnYtODZoLTE3MnY4NnpNMzM2IDYzMGwxODItMTgyLTE4Mi0xODJ2MTIyaC0yMzJ2MTIwaDIzMnYxMjJ6TTc3OCA1ODRoMTcydi04NmgtMTcydjg2ek03NzggMzQ0aDE3MnYtODZoLTE3MnY4NnpNNzc4IDEwNmgxNzJ2LTg4aC0xNzJ2ODh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMTQ7IiBnbHlwaC1uYW1lPSJsaW5rIiBkPSJNMTc0IDk2MGMtOTUuNzYxIDAtMTc0LTc4LjIzOS0xNzQtMTc0czc4LjIzOS0xNzIgMTc0LTE3MmMzMC4yMzYgMCA1Ny4yNTIgNi4zOTQgODIgMjBsNDQyLTQ0MmMtMTMuNjA2LTI0Ljc0OC0yMC01MS43NjQtMjAtODIgMC05NS43NjEgNzYuMjM5LTE3NCAxNzItMTc0czE3NCA3OC4yMzkgMTc0IDE3NGMwIDk1Ljc2MS03OC4yMzkgMTcyLTE3NCAxNzItMzAuNTcgMC01OS4wNjEtNi4xMTMtODQtMjBsLTQ0MiA0MzhjMTQuOTUxIDI1LjYyOCAyMiA1NC4xOSAyMiA4NiAwIDk1Ljc2MS03Ni4yMzkgMTc0LTE3MiAxNzR6TTE3NCA4NzRjNDcuODgxIDAgODYtNDAuMTE5IDg2LTg4cy0zOC4xMTktODYtODYtODZjLTQ3Ljg4MSAwLTg4IDM4LjExOS04OCA4NnM0MC4xMTkgODggODggODh6TTg1MCAxOTZjNDcuODgxIDAgODgtMzguMTE5IDg4LTg2cy00MC4xMTktODgtODgtODhjLTQ3Ljg4MSAwLTg2IDQwLjExOS04NiA4OHMzOC4xMTkgODYgODYgODZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMTU7IiBnbHlwaC1uYW1lPSJsb2NrIiBkPSJNNTEwIDk1MmMtMjAzLjQyMiAwLTM2Ny43MzUtMTUzLjM0Ny0zNzAtMzQ0aDkyYzIuNTA3IDEzMC42NzcgMTI1LjU2NCAyMzYgMjc4IDIzNnMyNzcuNDUyLTEwNS4zMjMgMjgwLTIzNmg5MmMtMi4yOTIgMTkwLjY1My0xNjguNTc4IDM0NC0zNzIgMzQ0ek0xNTYgNTQ0Yy01Ni4xOSAwLTEwMi00My44MS0xMDItMTAwdi00MDZjMC01Ni4xOSA0NS44MS0xMDIgMTAyLTEwMmg3MTBjNTYuMTkgMCAxMDIgNDUuODEgMTAyIDEwMnY0MDZjMCA1Ni4xOS00NS44MSAxMDAtMTAyIDEwMGgtNzEwek01MTAgMzc0YzM3Ljg0MiAwIDY4LTMwLjE1OCA2OC02OCAwLTIwLjkyNC05LjIxNi00MS40MzItMjQtNTR2LTE3MGgtOTB2MTcwYy0xNC43ODQgMTIuNTY4LTI0IDMzLjA3Ni0yNCA1NCAwIDM3Ljg0MiAzMi4xNTggNjggNzAgNjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMTY7IiBnbHlwaC1uYW1lPSJsdEFycm93IiBkPSJNODM5LjY4IDE2NS4wNTZsLTQ2OS4xMiA0NjkuMTIgMzI1LjgyNCAzMjUuODI0aC02OTYuMzg0di02OTYuMzg0bDMyNS4zMTIgMzI1LjMxMiA0NjkuMTItNDY5LjEyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTE3OyIgZ2x5cGgtbmFtZT0iTWFpbnRhaW4iIGQ9Ik01MTIuMDY0IDk2MGMtMjgyLjM2OCAwLTUxMi4wNjQtMjI5LjYzMi01MTIuMDY0LTUxMiAwLTI4Mi40MzIgMjI5LjY5Ni01MTIgNTEyLjA2NC01MTIgMjgyLjMwNCAwIDUxMS45MzYgMjI5LjYzMiA1MTEuOTM2IDUxMnMtMjI5LjYzMiA1MTItNTExLjkzNiA1MTJ6TTUxMi4wNjQgMGMtMjQ3LjA0MCAwLTQ0OC4wNjQgMjAxLjAyNC00NDguMDY0IDQ0OCAwIDI0Ny4wNDAgMjAxLjAyNCA0NDggNDQ4LjA2NCA0NDggMjQ2Ljk3NiAwIDQ0Ny45MzYtMjAwLjk2IDQ0Ny45MzYtNDQ4IDAtMjQ2Ljk3Ni0yMDAuOTYtNDQ4LTQ0Ny45MzYtNDQ4ek03MzQuOTc2IDU4Ny43NzZsMjAuNjcyIDU1LjgwOC00OS40MDggMzIuODk2LTMuODQgNTkuMzkyLTU4LjU2IDkuODU2LTI3LjUyIDUyLjY3Mi01Ny43MjgtMTQuNzItNDYuNTkyIDM2Ljg2NC00Ni42NTYtMzYuODY0LTU3LjYgMTQuNzItMjcuNTItNTIuNjcyLTU4LjY4OC05LjkyLTMuNzEyLTU5LjM5Mi00OS41MzYtMzIuODMyIDIwLjY3Mi01NS44MDgtMzEuODA4LTUwLjI0IDQxLjUzNi00Mi40OTYtOC42NC01OC44MTYgNTUuMjk2LTIxLjgyNCAxMy45NTItNDkuOTItODguNjQtMjM3LjUwNCA5MS42NDggMjUuMTUyIDQ2LjY1Ni03Ni43MzYgOTcuOTIgMjYyLjI3MiA1LjEyIDIuNTYgMy4yNjQtMS42IDk1LjQ4OC0yNTUuODcyIDQ2LjY1NiA3Ni42MDggOTEuNjQ4LTI1LjE1Mi04NC45OTIgMjI3Ljc3NiAxNC42NTYgNTIuNDE2IDU1LjI5NiAyMS44MjQtOC43MDQgNTguODE2IDQxLjYgNDIuNDk2LTMxLjkzNiA1MC4yNHpNNjI2LjE3NiA0MjEuMTJsLTEwNS4wMjQtMzkuMTA0Yy0zLjA3Mi0wLjI1Ni02LjAxNi0xLjAyNC05LjE1Mi0xLjAyNC0xOS45NjggMC0zOC43ODQgNC4wMzItNTYuNzY4IDkuNzI4bC0yMS40NCA4LjA2NGMtNjMuNTUyIDI5LjU2OC0xMDcuOTA0IDkzLjU2OC0xMDcuOTA0IDE2OC4zMiAwIDEwMi44NDggODMuMzI4IDE4Ni4xNzYgMTg2LjExMiAxODYuMTc2IDEwMi44NDggMCAxODYuMTEyLTgzLjMyOCAxODYuMTEyLTE4Ni4xNzYgMC01OS41Mi0yOC40MTYtMTExLjkzNi03MS45MzYtMTQ1Ljk4NHpNNjY5LjEyIDU2Ny4xNjhjMC04Ni43NzUtNzAuMzQ1LTE1Ny4xMi0xNTcuMTItMTU3LjEycy0xNTcuMTIgNzAuMzQ1LTE1Ny4xMiAxNTcuMTJjMCA4Ni43NzUgNzAuMzQ1IDE1Ny4xMiAxNTcuMTIgMTU3LjEyczE1Ny4xMi03MC4zNDUgMTU3LjEyLTE1Ny4xMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWExODsiIGdseXBoLW5hbWU9Im1heGltaXplIiBkPSJNMTc3Ljg5OCA2NDB2LTcwNGg3MDR2NzA0ek0yNzMuNDU3IDM2MC4yMzdoNTEyLjg4M3YtMzI2LjIzN2gtNTEyLjg4M3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWExOTsiIGdseXBoLW5hbWU9Ik1vbml0b3IiIGQ9Ik01MDguNjA4IDk1MC40Yy0yODIuMzY4IDAtNTEyLjA2NC0yMjkuNjk2LTUxMi4wNjQtNTEyIDAtMjgyLjQzMiAyMjkuNjk2LTUxMiA1MTIuMDY0LTUxMiAyODIuMzA0IDAgNTExLjkzNiAyMjkuNjMyIDUxMiA1MTIgMCAyODIuMzY4LTIyOS42MzIgNTEyLTUxMiA1MTJ6TTUwOC42MDgtOS42Yy0yNDcuMDQwIDAtNDQ4LjA2NCAyMDEuMDI0LTQ0OC4wNjQgNDQ4czIwMS4wMjQgNDQ4IDQ0OC4wNjQgNDQ4IDQ0Ny45MzYtMjAxLjAyNCA0NDgtNDQ4YzAtMjQ2Ljk3Ni0yMDAuOTYtNDQ4LTQ0OC00NDh6TTYxMC4wNDggMjUwLjQ5NmgtMjAzLjAwOHYtMzMuODU2aC0xNjguOTZ2LTY0aDU0MC45Mjh2NjRoLTE2OC45NnpNMjA2LjA4MCAyOTMuMzc2aDYwNC45Mjh2NDI5LjMxMmgtNjA0LjkyOHYtNDI5LjMxMnpNNzQ5LjA1NiAzNDIuOTc2aC02OC4wMzJ2MjguMDMyaDY4LjAzMnYtMjguMDMyek0yNzAuMDgwIDY1OC42ODhoNDc2LjkyOHYtMjUwLjY4OGgtNDc2LjkyOHYyNTAuNjg4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTFhOyIgZ2x5cGgtbmFtZT0ibW92ZSIgZD0iTTQ5Ny4wMTkgOTUwYy0zMC4xMzggMC01NC0zMC4zOTgtNTQtNjkuNzI4di0zNTQuNjE1bC02Mi0xNS45MzhoLTZ2MjQxLjA1OGMwIDM5LjMzLTIzLjg2MiA3MS43Mi01NCA3MS43MnMtNTQtMzIuMzktNTQtNzEuNzJ2LTMxNi43NjNsLTQ0LTYzLjc1MS0xMC0xMy45NDYtMTAwIDk5LjYxMWMtMjcuOTE5IDI3LjgxMS03MC45MjkgMjguOTU4LTk2IDMuOTg0cy0yMS45MTktNjcuODE2IDYtOTUuNjI2bDIxMi0yMDkuMTgzYzMxLjY3Ny0xMzAuNTIyIDE2OS4wMjgtMjI5LjEwNSAzMzItMjI5LjEwNSAxNzUuNDQgMCAzMTcuOTI4IDExNS42NDYgMzM0IDI2MC45ODEgMi43NDYgOC40OTkgNCAxNi4wNjYgNCAyNS44OTl2NDE0LjM4MWMwIDM5LjMzLTIzLjg2MiA3MS43Mi01NCA3MS43MnMtNTYtMzIuMzktNTYtNzEuNzJ2LTE1My40MDFsLTM0IDkuOTYxLTMyIDE3LjkzdjMxOC43NTVjMCAzOS4zMy0yNS44NjIgNzEuNzItNTYgNzEuNzJzLTU0LTMyLjM5LTU0LTcxLjcydi0yODguODcybC00NCAxLjk5Mi0yNCAzLjk4NHYzNDIuNjYxYzAgMzkuMzMtMjMuODYyIDY5LjcyOC01NCA2OS43Mjh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMWI7IiBnbHlwaC1uYW1lPSJuZXdTaG9ydGN1dCIgZD0iTTM3MCA5NjB2LTEwMGgxMzJ2LTMyMmgtMTMydi05OGgtMTcwdi01MDRoODAwdjgxMGwtMTk0IDIxNGgtNDM2ek0xNTAgOTA0di0xMzJoLTEzMnYtMTI4aDEzMnYtMTMyaDEyOHYxMzJoMTMydjEyOGgtMTMydjEzMmgtMTI4ek03MDQgNDU2bDIwNC0yMDQtMTk4LTE5OC0yIDEzMmgtMjQ0djE1NmgyNDJsLTIgMTE0ek0zNTIgMzQ0aDQwdi0xNThoLTQwdjE1OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWExYzsiIGdseXBoLW5hbWU9Im9wZW5UcmVlIiBkPSJNODAwIDk2MHYtODJsLTI4NC02aC0zMnYtMzkwaC0zNDJ2ODhoMTIwdjI2MmgtMjYydi0yNjJoNzh2LTE1NGg0MDZ2LTM4NGgzMTZ2LTk2aDIyNHYyMjRoLTIyNHYtNjRoLTI1MnYzMjBoMjUydi04MGgyMjR2MjI0aC0yMjR2LTc4aC0yNTJ2MzI2bDI1MiA2di03OGgyMjR2MjI0aC0yMjR6TTg4MCA4ODBoNjR2LTY0aC02NHY2NHpNODgwIDQ4MGg2NHYtNjRoLTY0djY0ek04ODAgODBoNjR2LTY0aC02NHY2NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWExZDsiIGdseXBoLW5hbWU9InBvTm9kZSIgZD0iTTQ0OCA5NjB2LTMyMGg1NzZ2MzIwaC01NzZ6TTAgNTEydi01NzZoMTAyNHY1NzZoLTEwMjR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMWU7IiBnbHlwaC1uYW1lPSJwcmludCIgZD0iTTI3MiA5NjB2LTIwMGg0ODB2MjAwaC00ODB6TTk4IDg0OGMtNTQuMTIyIDAtOTgtNDMuODc4LTk4LTk4di0zNThjMC01NC4xMjIgNDMuODc4LTk4IDk4LTk4aDgyOGM1NC4xMjIgMCA5OCA0My44NzggOTggOTh2MzU4YzAgNTQuMTIyLTQzLjg3OCA5OC05OCA5OGgtMTEwdi0xNjhoLTYwOHYxNjhoLTExMHpNMjg0IDIzNnYtMzAwaDQ4NHYzMDBoLTQ4NHpNMzMwIDE3NGgzNjR2LTUyaC0zNjR2NTJ6TTMzMiA2NmgyNjR2LTUwaC0yNjR2NTB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMWY7IiBnbHlwaC1uYW1lPSJwcm9kdWN0IiBkPSJNMTg2Ljg2OSA5NjB2LTEwMjRoNjQwdjEwMjRoLTY0MHpNMzA0Ljg2OSA4MjUuOTk3aDQwNHYtMTMzLjk5N2gtNDA0djEzMy45OTd6TTMwNC44NjkgNDU3Ljk5N2gxODZ2LTY0aC0xODZ2NjR6TTMwNC44NjkgMjI4aDE4NnYtNjRoLTE4NnY2NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEyMDsiIGdseXBoLW5hbWU9InJiQXJyb3ciIGQ9Ik0xODQuMzIgNzMwLjk0NGw0NjkuMTItNDY5LjEyLTMyNS44MjQtMzI1LjgyNGg2OTYuMzg0djY5Ni4zODRsLTMyNS4zMTItMzI1LjMxMi00NjkuMTIgNDY5LjEyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTIxOyIgZ2x5cGgtbmFtZT0icmVkdWN0aW9uIiBkPSJNMTY5LjI1IDY0MHYtNDU2aDIwMy45MjV2LTI0OGg1MDAuMDc1djQ1NmgtMjAzLjkyNXYyNDh6TTIzOS43NTIgNDYwaDM2Mi4zNXYtNjhoLTIyOC45Mjh2LTExMGgtMTMzLjQyMnpNNDQzLjY3NyAyMTRoMzYwLjcxdi0xNzhoLTM2MC43MXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEyMjsiIGdseXBoLW5hbWU9InJlbmFtZSIgZD0iTTU2IDk2MGMtMzEuMTE5IDAtNTYtMjQuODgxLTU2LTU2di02MThjMC0zMS4xMTkgMjQuODgxLTU2IDU2LTU2IDAgMCAyMjYuNzgtNC41MTYgMjYwLjY0OCAwdjE3NmMwIDM0LjE4MyAyNy44MTcgNjIgNjIgNjJoODcuMzUybC0zNiA5MmgtMTY0bC0zNC05NGgtODhsMTYwIDQxOGg4OGwxNjYtNDE2aDUyLjg5OWMzNC4xODMgMCA2Mi0yNy44MTcgNjItNjJ2LTcyaDU3LjEwMXY1NzBjMCAzMS4xMTktMjQuODgxIDU2LTU2IDU2ek0zNDggNzg4bC01Ni0xNTZoMTEyek00MTQgNDA0di0zMjIuOTloNDEydi0xNDMuMzQzbDIwMiAyMDkuMzQzLTIwMiAyMjQuODQ3di0xNDQuODQ3aC0yNjZ2MTc2Ljk5eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTIzOyIgZ2x5cGgtbmFtZT0ic2VsZWN0IiBkPSJNMCA5NjBsNDg2LTEwMjQgOTYgMzk2IDQ0MiAxNDItMTAyNCA0ODZ6TTE1NiA3OTJsNjY2LTMwNC0zMDgtODItNjAtMjM0LTI5OCA2MjB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMjQ7IiBnbHlwaC1uYW1lPSJzZWxlY3RBbGwiIGQ9Ik02OCA5NjBjLTM4LjE0NSAwLTY4LTMxLjA2OS02OC03MHYtNTJjMC0zOC45MzEgMjkuODU1LTcwIDY4LTcwaDg4OGMzOC4xNDUgMCA2OCAzMS4wNjkgNjggNzB2NTJjMCAzOC45MzEtMjkuODU1IDcwLTY4IDcwaC04ODh6TTY4IDY5MmMtMzguMTQ1IDAtNjgtMjkuODU1LTY4LTY4di02MjBjMC0zOC4xNDUgMjkuODU1LTY4IDY4LTY4aDg4OGMzOC4xNDUgMCA2OCAyOS44NTUgNjggNjh2NjIwYzAgMzguMTQ1LTI5Ljg1NSA2OC02OCA2OGgtODg4ek04MTAgNTcybDEyNC0xMC00NjAtNTI4LTMyMCAyNjQgMTQ0IDEyNCAxNTQtMjIyIDM1OCAzNzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMjU7IiBnbHlwaC1uYW1lPSJzZWxlY3RMZWZ0IiBkPSJNMzU0IDk1OGwtMzUyLTI2NCAzNTItMjY2djE0MGg0MzR2LTI3OGgtMjM0djY0aC0yMDR2LTIwNGgyMDR2NzZoMTA0di0xODhoLTQ1NHY5OGgtMjA0di0yMDRoMjA0djQyaDUxOHYyNTJoMTMwdjM0MmgxNzJ2MjUyaC02NzB2MTM4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTI2OyIgZ2x5cGgtbmFtZT0ic2VsZWN0UmlnaHQiIGQ9Ik02NzAgOTU4bDM1Mi0yNjQtMzUyLTI2NnYxNDBoLTQzNHYtMjc4aDIzNHY2NGgyMDR2LTIwNGgtMjA0djc2aC0xMDR2LTE4OGg0NTR2OThoMjA0di0yMDRoLTIwNHY0MmgtNTE4djI1MmgtMTMwdjM0MmgtMTcydjI1Mmg2NzB2MTM4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTI3OyIgZ2x5cGgtbmFtZT0ic2hvdyIgZD0iTTAgOTYwdi0zNTZoNDg2bC0zNTItMzQ4aDIzNHYtMjUwaC0zNjh2LTcwaDEwMjR2NzBoLTM2OHYyNTBoMjM0bC0zNzQgMzQ4aDUwOHYzNTZoLTEwMjR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMjg7IiBnbHlwaC1uYW1lPSJzaHJpbmsiIGQ9Ik01MTIgNzIyLjMxOGwtNTEyLTc4Ni4zMThoMTAyNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEyOTsiIGdseXBoLW5hbWU9InN0YXJ0IiBkPSJNMTU0IDk2MGMtODUuMzUyIDAtMTU0LTY4LjY0OC0xNTQtMTU0di03MTZjMC04NS4zNTIgNjguNjQ4LTE1NCAxNTQtMTU0aDcxNmM4NS4zNTIgMCAxNTQgNjguNjQ4IDE1NCAxNTR2NzE2YzAgODUuMzUyLTY4LjY0OCAxNTQtMTU0IDE1NGgtNzE2ek0xOTAgODMyaDY0NGMzNC4xODMgMCA2Mi0yNy44MTcgNjItNjJ2LTY0NGMwLTM0LjE4My0yNy44MTctNjItNjItNjJoLTY0NGMtMzQuMTgzIDAtNjIgMjcuODE3LTYyIDYydjY0NGMwIDM0LjE4MyAyNy44MTcgNjIgNjIgNjJ6TTI3MiA3NTh2LTYyMGw1MTggMzEwLTUxOCAzMTB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMmE7IiBnbHlwaC1uYW1lPSJzdG9wIiBkPSJNMTU0IDk2MGMtODUuMzUyIDAtMTU0LTY4LjY0OC0xNTQtMTU0di03MTZjMC04NS4zNTIgNjguNjQ4LTE1NCAxNTQtMTU0aDcxNmM4NS4zNTIgMCAxNTQgNjguNjQ4IDE1NCAxNTR2NzE2YzAgODUuMzUyLTY4LjY0OCAxNTQtMTU0IDE1NGgtNzE2ek0xOTAgODMyaDY0NGMzNC4xODMgMCA2Mi0yNy44MTcgNjItNjJ2LTY0NGMwLTM0LjE4My0yNy44MTctNjItNjItNjJoLTY0NGMtMzQuMTgzIDAtNjIgMjcuODE3LTYyIDYydjY0NGMwIDM0LjE4MyAyNy44MTcgNjIgNjIgNjJ6TTI5NiA2NjR2LTQzMmg0MzJ2NDMyaC00MzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMmI7IiBnbHlwaC1uYW1lPSJzdHJldGNoIiBkPSJNNTEyLTY0bC01MTIgNzg2LjMxOGgxMDI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTJjOyIgZ2x5cGgtbmFtZT0ic3RyaWtlT3V0IiBkPSJNMTk0IDk2MGMtMTA3LjA2OCAwLTE5NC04Mi40MTItMTk0LTE4NHYtNjU2YzAtMTAxLjU4OCA4Ni45MzItMTg0IDE5NC0xODRoNjM2YzEwNy4wNjggMCAxOTQgODIuNDEyIDE5NCAxODR2NjU2YzAgMTAxLjU4OC04Ni45MzIgMTg0LTE5NCAxODRoLTYzNnpNMjU2IDc5NGwyNTQtMjU0IDI1NCAyNTQgOTItOTAtMjU2LTI1NCAyNTgtMjU4LTkwLTkwLTI1OCAyNTgtMjU4LTI1OC05MCA5MCAyNTggMjU4LTI1NCAyNTQgOTAgOTB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMmQ7IiBnbHlwaC1uYW1lPSJTeW5jaHJvbm91cyIgZD0iTTQ5NC41OTEgOTU5Ljc1Yy0xMDQuNTE0LTMuMjY0LTIwOC43NjItNDAuMzY1LTI5Ni41Ni0xMDguNDEgNTQuOTYzLTE0LjQzMiAxMDQuODQ2LTQ1LjcyMiAxNDIuMDE1LTkxLjczMSAyNi4xODMtMzIuNDE2IDQzLjI5My02OS40MzQgNTIuMjExLTEwOC40MSA3LjQ3MSA0LjQxNiAxNS4xODIgNi45MzEgMjIuOTczIDEwLjQxOSA5Mi4yMjggNDEuMzMxIDIwMi45MDMgMjEuNDAyIDI3My41ODctNTguMzc0IDIuMy0yLjYyNCA0LjA5OS01LjY5NiA2LjI2Ni04LjMzOSAzOC41MzkgMTAuNTI4IDc1LjEzNCAyOC41ODkgMTA2LjUxMSA1Ni4yOTQgNDQuNjAyIDM5LjM3OSA3Mi4wMTUgOTAuMzU1IDgzLjUzOCAxNDUuOTM5LTEwNC42ODQgMTEwLjg0Mi0yNDguMDY3IDE2Ny4wODUtMzkwLjU0IDE2Mi42MTF6TTEyOS4xMTIgNzg4LjhjLTE1NC42NTYtMTczLjI5OS0xNzEuNzQtNDMwLjUxNS00My44NTctNjIzLjM2NiAxNC45MzQgNDIuNTM0IDM3LjkyIDgxLjUyMyA3My4wOTYgMTEyLjU3NiA0MC44MjEgMzYuMDY0IDkwLjI2MSA1NS41MzMgMTQyLjAxNSA2Mi41NDctMzkuMjUxIDc4LjU0Ny0zMi44NTEgMTc0LjQzOCAxOC43OTYgMjQ2LjAxMC04LjUyNyA0MC45NzktMjQuODU1IDgwLjgxMy01Mi4yMTEgMTE0LjY2OS0zNS45NDIgNDQuNDk5LTg0Ljg1MyA3My4wMTgtMTM3LjgzOCA4Ny41NjV6TTk0NS42OTYgNzE3LjkxNGMtMTIuNzE0LTUyLjE5Mi0zOS4zMzMtMTAwLjQxLTgxLjQ1LTEzNy42LTM3LjAxMi0zMi42NzgtODEuMzU0LTUxLjc4OS0xMjcuMzk2LTYwLjQ2MSAyNi4wMTUtNzkuMDI3IDYuNzM2LTE2Ny40MTgtNTIuMjExLTIzMS40MTEgMTkuNDI4LTMxLjc1IDQ0LjUyOS01OS42NzQgNzcuMjczLTgxLjMxMiA1My41NjktMzUuNDA1IDExNS45NDUtNDguMDMyIDE3Ny41MTgtNDEuNjk2IDEwOS43MjggMTY1LjM1NyAxMTMuNTgzIDM4Mi4wNjEgNi4yNjYgNTUyLjQ4ek0zNTYuNzUzIDI2OS42N2MtNDkuNTk5LTcuMjktOTYuMjE2LTI3LjYzNS0xMzUuNzQ5LTYyLjU0MS0zNy4wMzctMzIuNjk4LTYwLjk1Ni03My43NDctNzUuMTg0LTExOC44MzUgMTg5Ljc1MS0xOTMuMzc2IDUwMC40NDctMjA0LjMzMyA3MDUuODk3LTIyLjkzOCA3LjIgNi4zMzYgMTQuMTI4IDEyLjEwOSAyMC44ODUgMTguNzcxLTU2LjcxMS0zLjEzNi0xMTMuNTI2IDExLjE0OS0xNjIuODk5IDQzLjc3Ni00MS40NDUgMjcuMzk4LTcxLjcxNSA2NS42NDUtOTEuODkyIDEwOC40MS04NC44NjYtNDIuNzItMTg4LjExNC0zMC4wOTktMjYxLjA1NiAzMy4zNTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMmU7IiBnbHlwaC1uYW1lPSJ0b1JpZ2h0IiBkPSJNNTE3LjMxMiA5MDguMzUyYy0yNjEuNTA0IDAtNDc0LjI0LTIxMi43MzYtNDc0LjI0LTQ3NC4yNHMyMTIuNzM2LTQ3NC4yNCA0NzQuMjQtNDc0LjI0YzI2MS40NCAwIDQ3NC4xNzYgMjEyLjczNiA0NzQuMTc2IDQ3NC4yNHMtMjEyLjczNiA0NzQuMjQtNDc0LjE3NiA0NzQuMjR6TTUxNy4zMTIgMjMuODcyYy0yMjYuMjQgMC00MTAuMjQgMTg0LjA2NC00MTAuMjQgNDEwLjI0IDAgMjI2LjI0IDE4NCA0MTAuMjQgNDEwLjI0IDQxMC4yNCAyMjYuMTc2IDAgNDEwLjE3Ni0xODQgNDEwLjE3Ni00MTAuMjQgMC0yMjYuMTc2LTE4NC00MTAuMjQtNDEwLjE3Ni00MTAuMjR6TTQ5OC42MjQgNzYzLjcxMmwtNDUuMzEyLTQ1LjI0OCAyNDUuNjMyLTI0NS42MzJoLTQ0NS4xODR2LTY0aDQ1Ny41MzZsLTI0NC4xNi0yNDQuMjI0IDQ1LjI0OC00NS4yNDggMzE1LjI2NCAzMTUuMzI4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTJmOyIgZ2x5cGgtbmFtZT0idHJlZWZpbGUiIGQ9Ik0xNzIgOTYwYy05NS40OCAwLTE3Mi03Ni41Mi0xNzItMTcydi02ODBjMC05NS40OCA3Ni41Mi0xNzIgMTcyLTE3Mmg2ODBjOTUuNDggMCAxNzIgNzYuNTIgMTcyIDE3MnY2ODBjMCA5NS40OC03Ni41MiAxNzItMTcyIDE3MmgtNjgwek0yNDQgNzgyaDQzMmwxMDQtMTMydi01MzZoLTUzNnY2Njh6TTMyNiA2NTR2LTc4aDIwMHY3OGgtMjAwek0zMjggNDgydi03NmgzNzR2NzZoLTM3NHpNMzIwIDMxMnYtNzhoMzg0djc4aC0zODR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMzA7IiBnbHlwaC1uYW1lPSJ0cmVlRm9sZGVyIiBkPSJNMTcyIDk2MGMtOTUuNDggMC0xNzItNzYuNTItMTcyLTE3MnYtNjgwYzAtOTUuNDggNzYuNTItMTcyIDE3Mi0xNzJoNjgwYzk1LjQ4IDAgMTcyIDc2LjUyIDE3MiAxNzJ2NjgwYzAgOTUuNDgtNzYuNTIgMTcyLTE3MiAxNzJ6TTIzOC43MTIgNzE4LjI3MWgyMDYuOTQ5YzI3Ljg0OCAwIDUwLjc4Ny0yMS44OTcgNTAtNDh2LTE0NGgzMTZjMjguNzUxIDAgNTItMjMuMjQ5IDUyLTUydi0yNjYuMjM3YzAtMjguNzUxLTIzLjI0OS01Mi01Mi01MmgtNTY4Ljk0OWMtMjguNzUxIDAtNTEuMDk4IDIzLjI2My01MiA1MnY0NjIuMjM3YzAgMjYuMTE1IDIwLjE1MiA0OCA0OCA0OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEzMTsiIGdseXBoLW5hbWU9InVubG9jayIgZD0iTTUxMCA5NTJjLTIwMi43MTcgMC0zNjYuNjI2LTE1Mi4yNjYtMzcwLTM0Mi0wLjAxMi0wLjY1OSAwLjAwOC0xLjM0IDAtMnYtNjZjLTQ4LjM2NC03LjYxOS04Ni00Ny40NDMtODYtOTh2LTQwNmMwLTU2LjE5IDQ1LjgxLTEwMiAxMDItMTAyaDcxMGM1Ni4xOSAwIDEwMiA0NS44MSAxMDIgMTAydjQwNmMwIDU2LjE5LTQ1LjgxIDEwMC0xMDIgMTAwaC02MzR2NjZjMy43MjIgMTI5Ljc0NiAxMjYuMzQ2IDIzNCAyNzggMjM0IDEyNS4yMzYgMCAyMzAuOTYxLTcxLjMzMiAyNjYuNDAzLTE2OS4xODQgOS43ODgtOS45NjUgMTguODgtMTkuOTE2IDMwLjg5NC0yMi44MjkgMTIuNzE2LTMuMDg0IDQxLjg5NS00LjE2IDUzLjU1OCA2LjE0NSA3LjY2MyA2Ljc3IDEzLjQ3NiAxNS43MSAxMS42MjggMjIuNDgxLTM3LjIwNiAxNTUuNjc3LTE4NS41MjMgMjcxLjM4Ny0zNjIuNDgyIDI3MS4zODd6TTUxMCAzNzRjMzcuODQyIDAgNjgtMzAuMTU4IDY4LTY4IDAtMjAuOTI0LTkuMjE2LTQxLjQzMi0yNC01NHYtMTcwaC05MHYxNzBjLTE0Ljc4NCAxMi41NjgtMjQgMzMuMDc2LTI0IDU0IDAgMzcuODQyIDMyLjE1OCA2OCA3MCA2OHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZWEzMjsiIGdseXBoLW5hbWU9InVzZXJDb21wYXJlIiBkPSJNNDMwLjA1MSA5NTguMTYzYy0xMTMuNzQ4IDAtMjA0LTkyLjI1LTIwNC0yMDYuMDAzIDAtMTEzLjc0NyA5MC4yNTItMjA1Ljk5NyAyMDQtMjA1Ljk5N3MyMDYgOTIuMjUgMjA2IDIwNS45OTdjMCAxMTMuNzU0LTkyLjI1MiAyMDYuMDAzLTIwNiAyMDYuMDAzek0yNjAuMDUxIDUzNi4xNmMtMjkzLjQ1MS0xNjQuNzEtMjU2LjkyMS00NDcuNzYzLTI2MC00MzcuOTk3aDM3OGMyNC42MzEgNDIuNjYyIDYyLjYyOSA4Ni40MzIgMTI2IDEyMS45OTdsMTIgMzguMDAzdjEuOTg0Yy0wLjYwMiAwLjcwNC0xLjQxMSAxLjI4LTIgMS45ODQtMTYuOTA5IDIwLjkyOC0yOC42MjkgNTEuODE0LTMwIDk3Ljk5NyAwIDYyLjMzNiA0Mi41MzkgMTE1LjIxOSAxMDAgMTMwLjAwM2w0IDEuOTg0djEuOTg0bDE0IDQxLjk5N2MtMzcuMDEyLTQ3LjEwNC0xMDAuOTA3LTgwLTE3Mi04MHMtMTMyLjk4OCAzMi44OTYtMTcwIDgwek02ODguMDUxIDQ5Mi4xNmMtNzMuNjkyIDAtMTM0LTU4LjMwNC0xMzQtMTMyIDAtNzMuNjkgNjAuMzA4LTEzMy45OTcgMTM0LTEzMy45OTdzMTMyIDYwLjMwNyAxMzIgMTMzLjk5N2MwIDczLjY5Ni01OC4zMDggMTMyLTEzMiAxMzJ6TTU3Ni4wNTEgMjIwLjE2Yy0xOTAuMTEyLTEwNi43MDctMTY2LjAwNS0yOTAuMzIzLTE2OC0yODRoNTU4Yy0xLjk5NC02LjMzNiAyMi4xMTIgMTc3LjI5My0xNjggMjg0LTIzLjk3OC0zMC41MTUtNjMuOTQzLTUyLTExMC01MnMtODguMDIyIDIxLjQ4NS0xMTIgNTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMzM7IiBnbHlwaC1uYW1lPSJ1c2VyRGlzcGF0Y2giIGQ9Ik01MTIgOTYwYy0xMzUuMjU2IDAtMjQzLjkyNy0xMDguODgzLTI0My45MjctMjQ0LjQwMyAwLTEzNS41MjYgMTA4LjY3MS0yNDYuNDEzIDI0My45MjctMjQ2LjQxM3MyNDMuOTI3IDExMC44ODYgMjQzLjkyNyAyNDYuNDEzYzAgMTM1LjUyLTEwOC42NzEgMjQ0LjQwMy0yNDMuOTI3IDI0NC40MDN6TTMwOC4wNjEgNDU3LjE1OGMtMzQ4LjkzOC0xOTYuMjM3LTMwNC4yNDctNTMyLjQ5My0zMDcuOTA3LTUyMC44NjRoMTAyMy42OTJjLTMuNjYtMTEuNjI5IDQxLjAzMCAzMjQuNjI3LTMwNy45MDcgNTIwLjg2NC00NC4wMTEtNTYuMTE1LTExOS40MDMtOTQuMTUtMjAzLjkzOS05NC4xNS01MC4zNDEgMC05Ni43OTkgMTUuMzAyLTEzNS45NTkgMzguMDYxIDEwMC4yNzUtNzcuMTcxIDIxMi4zNTktMTEwLjQ5NiAzMzEuOS0xMTguMTk1bDMuOTk5IDE1Mi4yNTYgMjM1LjkyOS0yMDguMzQ2LTIxMy45MzYtMjQyLjQwNi0xMS45OTYgMTM4LjIzNGMtMTY2LjY3MSA1MC4yMDItNDAwLjk0NSAxNDguNDgtNDEzLjg3NiAzMzQuNTQ3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTM0OyIgZ2x5cGgtbmFtZT0ieG1sIiBkPSJNMTMwIDk2MGMtNzEuODc3IDAtMTMwLTU4LjEyMy0xMzAtMTMwdi03NjRjMC03MS44NzcgNTguMTIzLTEzMCAxMzAtMTMwaDc2NGM3MS44NzcgMCAxMzAgNTguMTIzIDEzMCAxMzB2NTA2bC0zODggMzg4aC01MDZ6TTc3MiA5NjBsMjUyLTI1MnYxMjJjMCA3MS44NzctNTguMTIzIDEzMC0xMzAgMTMwaC0xMjJ6TTU2IDYwOGg3Nmw2NC0xMDIgNjIgMTAyaDc2bC0xMDAtMTU2IDExMC0xNjRoLTc4bC03MiAxMTAtNzAtMTEwaC03OGwxMTAgMTY4LTEwMCAxNTJ6TTM3NiA2MDhoOThsNTgtMjE4IDU4IDIxOGg5NnYtMzIwaC02MHYyNTJsLTY0LTI1MmgtNjJsLTY0IDI1MnYtMjUyaC02MHYzMjB6TTc1MiA2MDZoNjZ2LTI2NGgxNjB2LTU0aC0yMjZ2MzE4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlYTM1OyIgZ2x5cGgtbmFtZT0iem9vbU92ZXJWaWV3IiBkPSJNMCA5NjB2LTE3MmwxNzIgMTcyaC0xNzJ6TTg1MiA5NjBsMTcyLTE3MnYxNzJoLTE3MnpNMTI4IDgzMnYtNzY4aDc2OHY3NjhoLTc2OHpNMjM0IDcwNmg1NTZ2LTI3MmwtNDIgNTYtNzItODYtNjYgMTk0LTExNC0yMzAtMTA0IDEyMi0xNTgtMTYydjM3OHpNMCAxMDh2LTE3MmgxNzJsLTE3MiAxNzJ6TTEwMjQgMTA4bC0xNzItMTcyaDE3MnYxNzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGVhMzY7IiBnbHlwaC1uYW1lPSJ6b29tUmVzZXQiIGQ9Ik0zODggOTYwbDExNC0xMjggMTE0IDEyOGgtMjI4ek01MDIgODMyaC0zNzR2LTc2OGg3Njh2NzY4aC0zOTR6TTg5NiA0OTBsMTI4LTExNHYyMjhsLTEyOC0xMTR6TTUxMiA2NGwtMTE0LTEyOGgyMjZsLTExMiAxMjh6TTEyOCA0ODhsLTEyOCAxMTJ2LTIyNmwxMjggMTE0ek0yMzQgNzA2aDU1NnYtMjcybC00MiA1Ni03Mi04Ni02NiAxOTQtMTE0LTIzMC0xMDQgMTIyLTE1OC0xNjJ2Mzc4eiIgLz4KKzwvZm9udD48L2RlZnM+PC9zdmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMudHRmIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMudHRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzMzNkM2IKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9mb250cy9adGVJY3RJY29ucy50dGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvZm9udHMvWnRlSWN0SWNvbnMud29mZiBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL2ZvbnRzL1p0ZUljdEljb25zLndvZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAzOGQxMwotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL2ZvbnRzL1p0ZUljdEljb25zLndvZmYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvc2VsZWN0aW9uLmpzb24gYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9adGVJY3RJY29ucy9zZWxlY3Rpb24uanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmVhODIxCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvc2VsZWN0aW9uLmpzb24KQEAgLTAsMCArMSw5NTY5IEBACit7CisJIkljb01vb25UeXBlIjogInNlbGVjdGlvbiIsCisJImljb25zIjogWworCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTc2LjU2NyA1NzMuNTg2YzExLjcwMy0xNC4yNjMgMjcuNzIxLTY3LjU4NCAyNy43MjEtNjcuNTg0di05Mi43NDVsLTEwMy40MjQtOS44NzQtMTAwLjg2NCAxMC44OTh2OTIuNzQ1YzAgMCAxNS45NDUgNTMuMzIxIDI3Ljc5NCA2Ny44MDMgMzkuMDU4IDQ4LjQyMSA1My45NzkgNjMuNDE1IDczLjA3MCA4My4wMTdoMS40NjN2LTEuMDk3aDEuMzE3YzE4Ljc5OC0xOS41MjkgMzMuNzkyLTM0LjQ1IDcyLjkyMy04My4xNjN6TTEwMy4xMzEgNjE3LjE3OWgtMS4wMjR2MC44NzhoLTEuMDI0Yy0xNC43NzUtMTUuMzYtMjYuNDc4LTE2LjMxMS01Ny4xOTgtNTQuMTk5LTkuMTQzLTExLjU1Ny0yMS43MjMtNTMuMjQ4LTIxLjcyMy01My4yNDh2LTcyLjQ4NWw3OC45MjEtOC42MzEgODAuODk2IDcuODI2djcyLjQ4NWMwIDAtMTIuNDM0IDQxLjYxOC0yMS41NzcgNTIuODgyLTMwLjcyIDM4LjE4MS00Mi40MjMgMzkuMjA1LTU3LjI3MSA1NC40OTF6IiwKKwkJCQkJIk0xNjYuNCA0NTQuMTQ0bC02NS4wOTctNi4yMTctNjMuNDE1IDYuODc1djU4LjM2OGMwIDAgMTAuMDIxIDMzLjQ5OSAxNy40ODEgNDIuNjQyIDI0LjU3NiAzMC41NzQgMzQuMDg1IDMxLjQ1MSA0NS45MzQgNDMuNTkzaDAuODc4di0wLjczMWgwLjg3OGMxMS43NzYtMTIuMDY5IDIxLjI4NS0xMi45NDYgNDUuOTM0LTQzLjUyIDcuNDYxLTguOTk3IDE3LjQwOC00Mi42NDIgMTcuNDA4LTQyLjY0MnYtNTguMzY4eiIsCisJCQkJCSJNOTAxLjEyIDQ5OC4zOTVjNjcuNTg0IDAgMTIyLjQ0MS0yMi40NTUgMTIyLjQ0MS01MC4zOTUgMC0wLjI5MyAwLTAuNTEyIDAtMC44MDUgMC0wLjE0NiAwLTAuNTg1IDAtMC44MDUtMS42ODItMjcuMjA5LTU2LjAyNy00OC45MzMtMTIyLjQ0MS00OC45MzMtNjcuNDM4IDAuMTQ2LTEyMi4yOTUgMjIuNzQ3LTEyMi4yOTUgNTAuNTQyIDAgMjcuODY3IDU0Ljg1NyA1MC4zOTUgMTIyLjI5NSA1MC4zOTV6IiwKKwkJCQkJIk05MDEuNjMyIDUwOS44MDZjLTY3LjUxMSAwLTEyMi4zNjgtMjIuNjAxLTEyMi4zNjgtNTAuMzk1IDAtMS42ODItMC43MzEtNi45NDktMC44NzgtMTAuMTY3djMxLjUyNWMwLjQzOSA0Ljc1NCAwLjg3OCA5Ljg3NCAwLjg3OCAxMi4xNDIgMCAyNy43OTQgNTQuODU3IDUwLjQ2OSAxMjIuMzY4IDUwLjQ2OSA2Ny41ODQgMCAxMjIuMzY4LTIyLjY3NCAxMjIuMzY4LTUwLjQ2OXYtMzMuNTczYzAgMjcuODY3LTU0Ljc4NCA1MC40NjktMTIyLjM2OCA1MC40Njl6IiwKKwkJCQkJIk05MDEuNjMyIDU1OC43MzhjLTY3LjUxMSAwLTEyMi4zNjgtMjIuNzQ3LTEyMi4zNjgtNTAuMzk1IDAtMS42MDktMC43MzEtNi41ODMtMC44NzgtOS42NTV2MjkuNDAzYzAuNDM5IDQuODI3IDAuODc4IDkuODc0IDAuODc4IDEyLjA2OSAwIDI4LjA4NyA1NC44NTcgNTAuNTQyIDEyMi4zNjggNTAuNTQyIDY3LjU4NC0wLjE0NiAxMjIuMzY4LTIyLjUyOCAxMjIuMzY4LTUwLjY4OHYtMzEuODE3YzAgMjcuNzk0LTU0Ljc4NCA1MC41NDItMTIyLjM2OCA1MC41NDJ6IiwKKwkJCQkJIk05MDEuNjMyIDYwNS44NDJjLTY3LjUxMSAwLTEyMi4zNjgtMjIuNDU1LTEyMi4zNjgtNTAuMzk1IDAtMS41MzYtMC43MzEtNi41ODMtMC44NzgtOS43Mjh2MzEuMDEzYzAuMTQ2IDEuMDI0IDAuNDM5IDIuMjY3IDAuNDM5IDIuOTk5IDAgMjguMDE0IDU0Ljg1NyA1MC4zOTUgMTIyLjI5NSA1MC4zOTUgNjcuNTg0IDAgMTIyLjQ0MS0yMi42MDEgMTIyLjQ0MS01MC4zOTUgMC0wLjczMSAwLjIxOS0xLjk3NSAwLjQzOS0yLjk5OXYtMjEuMjg1YzAgMjcuODY3LTU0Ljc4NCA1MC4zOTUtMTIyLjM2OCA1MC4zOTV6IiwKKwkJCQkJIk02MjMuODM1IDM3LjUyMmMwLTIwLjY5OS0xNy43MDEtMzcuMzc2LTM5LjU3LTM3LjM3NmgtOTQuNDI3Yy0yMS44Ny0wLjA3My0zOS42NDMgMTYuNjc3LTM5LjY0MyAzNy4zNzZ2NTQuNzExaDE3My41NjhsMC4wNzMtNTQuNzExeiIsCisJCQkJCSJNNDUwLjI2NyAyNDcuMzY5YzAgMjAuNjI2IDE3LjcwMSAzNy4zNzYgMzkuNTcgMzcuMzc2aDk0LjUwMWMyMS45NDMgMCAzOS41Ny0xNi43NSAzOS41Ny0zNy4zNzZ2LTEzNi40MTFoLTE3My42NDF2MTM2LjQxMXpNNTM3LjAxNSAxOTQuMzQxYzguODUgMCAxNi4wMTggNi43MjkgMTYuMDE4IDE1LjA2N3MtNy4xNjggMTQuOTk0LTE2LjAxOCAxNC45OTRjLTguNzA0IDAtMTUuODcyLTYuODAyLTE1Ljg3Mi0xNS4wNjdzNy4wMjItMTQuOTk0IDE1Ljg3Mi0xNC45OTR6IiwKKwkJCQkJIk02NjkuNzY5IDg1OC4yNThjMCAxMC4wMTgtNTYuNjIgMTguMTM5LTEyNi40NjQgMTguMTM5cy0xMjYuNDY0LTguMTIxLTEyNi40NjQtMTguMTM5YzAtMTAuMDE4IDU2LjYyLTE4LjEzOSAxMjYuNDY0LTE4LjEzOXMxMjYuNDY0IDguMTIxIDEyNi40NjQgMTguMTM5eiIsCisJCQkJCSJNNDE4LjY3IDg3NC40OTZ2MTIxLjA1MWMwIDAgMjcuNzIxIDI4LjMwNiAxMjguNTEyIDI4LjQ1MyAxMDYuNDIzIDAgMTIyLjY2MS0yOC40NTMgMTIyLjY2MS0yOC40NTN2LTEyMS4wNTFjMCAwLTY4LjYwOCAxMS44NDktMTI0LjM0MyAxMS44NDktNjYuNDg3IDAuMDczLTEyNi44My0xMS44NDktMTI2LjgzLTExLjg0OXpNNTAxLjk3OSA5NjUuNTU5djBoLTE2LjAxOHYxNi4yMzhsLTI1LjY3My0yNC40MyAyNS42NzMtMjMuNzcxdjE2LjE2NWgxNi4wMTh2MTUuNzk5ek01NDAuNzQ1IDEwMDkuNzM3bC0yNS43NDYtMjQuMjgzaDE2Ljk2OXYtMTUuMTQxaDE2Ljg5NnYxNS4xNDFoMTYuOTY5bC0yNS4wODggMjQuMjgzek01NzguOTI2IDk0OS42ODdoMTYuMDE4di0xNi4xNjVsMjUuNjczIDIzLjg0NS0yNS42NzMgMjQuMjgzdi0xNi4xNjVoLTE2LjAxOHYtMTUuNzk5ek01NDguODY0IDkzMC4xNTh2MTUuMDY3aC0xNi45Njl2LTE1LjA2N2gtMTYuOTY5bDI1LjY3My0yNC4zNTcgMjUuMjM0IDI0LjM1N2gtMTYuOTY5eiIsCisJCQkJCSJNMzgyLjAyNSAxNTQuNjk3bC0yMy40MDYtNTMuNjg3Yy0xOC4xMzkgNy45NzMtMzUuNjIxIDE2Ljg5Ni01Mi4yMjQgMjYuOTlsMzAuMjA4IDUwLjEwM2MxNC40ODItOC43NzcgMjkuNjIzLTE2LjYwMyA0NS40MjItMjMuNDA2eiIsCisJCQkJCSJNMjgxLjgxOSAyMTcuNjczbC0zOC4xODEtNDQuMzI1Yy0xOS41MjkgMTYuODIzLTM3Ljc0MiAzNS40MDEtNTQuMTk5IDU1LjI5Nmw0NS4wNTYgMzcuMzAzYzE0LjQwOS0xNy40MDggMzAuMzU0LTMzLjY0NiA0Ny4zMjMtNDguMjc0eiIsCisJCQkJCSJNMTk2LjA5NiAzMjEuODI5bC01MC43NjEtMjkuMTExYy05LjY1NSAxNi45NjktMTguMjg2IDM0LjU5Ny0yNS43NDYgNTIuNjYzbDU0LjA1MyAyMi4zMDljNi41MS0xNS42NTMgMTMuOTctMzEuMDg2IDIyLjQ1NS00NS44NjF6IiwKKwkJCQkJIk05MDkuODk3IDM2Ny42ODlsNTQuMTI2LTIyLjMwOWMtNy42MDctMTguMzU5LTE2LjA5MS0zNS45ODYtMjUuNzQ2LTUyLjczNmwtNTAuNjg4IDI5LjAzOGM4LjQxMSAxNC43MDIgMTUuNzk5IDMwLjA2MiAyMi4zMDkgNDYuMDA3eiIsCisJCQkJCSJNODkzLjI5NCAyMjcuMzI4Yy0xNi44MjMtMjAuMzM0LTM1LjU0Ny0zOS4zNTEtNTUuODA4LTU2LjQ2NmwtMzcuODg4IDQ0LjU0NGMxNy40ODEgMTQuOTk0IDMzLjg2NSAzMS41MjUgNDguNDk0IDQ5LjIyNWw0NS4yMDItMzcuMzAzeiIsCisJCQkJCSJNNjk3LjEyNSAxNTIuMzU3YzE1Ljc5OSA2LjY1NiAzMS4wMTMgMTQuMjYzIDQ1LjY0MSAyMi44OTRsMjkuNTUtNTAuNDY5Yy0xNi43NS05LjgwMS0zNC4zMDQtMTguNTc4LTUyLjM3LTI2LjI1OGwtMjIuODIxIDUzLjgzM3oiLAorCQkJCQkiTTY5Ny4wNTEgODg1LjEwMmwyMi45NjcgNTMuODMzYzE4LjEzOS03Ljc1MyAzNS41NDctMTYuNTMgNTIuMjk3LTI2LjExMmwtMjkuMjU3LTUwLjY4OGMtMTQuNzAyIDguNDExLTI5Ljk4OSAxNi4xNjUtNDYuMDA3IDIyLjk2N3oiLAorCQkJCQkiTTc5OC4zNTQgODIzLjE1bDM3LjU5NSA0NC44MzdjMTkuNzQ5LTE2LjYwMyAzOC4xODEtMzQuOTYyIDU0LjkzLTU0LjcxMWwtNDQuNTQ0LTM3Ljg4OGMtMTQuNzAyIDE3LjMzNS0zMC44NjYgMzMuNDI2LTQ3Ljk4MiA0Ny43NjJ6IiwKKwkJCQkJIk04ODUuMzIxIDcyMC4wMThsNTAuNTQyIDI5LjQwM2M5LjgwMS0xNi43NSAxOC41MDUtMzQuMjMxIDI2LjE4NS01Mi4yMjRsLTUzLjgzMy0yMi45NjdjLTYuNjU2IDE1LjcyNi0xNC4xOSAzMS4wMTMtMjIuODk0IDQ1Ljc4N3oiLAorCQkJCQkiTTE3NS41NDMgNjc0LjIzMWwtNTMuNzYgMjIuOTY3YzcuNzUzIDE4LjEzOSAxNi41MyAzNS41NDcgMjYuMTEyIDUyLjIyNGw1MC42MTUtMjkuMjU3Yy04LjQ4NS0xNC42MjktMTYuMTY1LTMwLjA2Mi0yMi45NjctNDUuOTM0eiIsCisJCQkJCSJNMTkxLjU2MSA4MTEuNTkzYzE2LjAxOCAxOS4zODMgMzMuOTM4IDM3LjU5NSA1My4zMjEgNTQuMDUzbDM4LjAzNC00NC4zOThjLTE2LjgyMy0xNC40MDktMzIuNDAyLTMwLjIwOC00Ni4yOTktNDYuOTU4bC00NS4wNTYgMzcuMzAzeiIsCisJCQkJCSJNMzA2LjU0MiA5MTAuMTljMTYuNzUgMTAuMDk0IDM0LjIzMSAxOS4wOTAgNTIuMDA1IDI2Ljg0M2wyMy40MDYtNTMuNTQxYy0xNS41MDYtNi44MDItMzAuNzItMTQuNjI5LTQ1LjQyMi0yMy40MDZsLTI5Ljk4OSA1MC4xMDN6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIk5GViIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzE0LAorCQkJCSJpZCI6IDMxMCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Nzk1LAorCQkJCSJuYW1lIjogIk5GViIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTc4NS40ODEgODgwLjc4NmgtNTU1LjA4MWw5Mi4zMDYtMjk0Ljc2NmgyMDMuNzAzdi03My4xNDNoLTI1Ny4zOWwtNzguOTIxIDI1Mi4wNTAtMTAyLjYxOS00MjAuOTM3di02My41NjFoMjI1LjEzNGw4MS45OTMgODUuNzk3aDI0Ny41ODl2LTczLjE0M2gtMjE2LjI4M2wtODEuOTkzLTg1Ljc5N2gtMzI5LjU4MnYxNDEuMDkzbDE0Ni41NzggNjA1LjU1aDY1NS44NzJsMTAwLjcxOC0xMDUuMzk5LTUyLjg4Mi01MC42MTV6IiwKKwkJCQkJIk0xMDIwLjA1MCA2OTYuMzkzYy0xMy4yMzktMzkuOTM2LTU2LjQ2Ni02MS45NTItOTYuNzY4LTQ4LjY0LTI4Ljk2NSA5LjY1NS00Ny45MDkgMzQuODE2LTUxLjYzOSA2My4xOTVsLTI2NC41NTgtMC4yOTNjLTAuNzMxLTQuMTY5LTEuNjA5LTguMjY1LTIuODUzLTEyLjI4OC00LjA5Ni0xMi4xNDItMTAuOTcxLTIyLjIzNS0xOS4zODMtMzAuNTAxbDE2MC44NDEtMjY1Ljg3NGMxNi4wMTggNS45OTggMzMuOTM4IDcuMTY4IDUxLjI3MyAxLjM5IDQwLjE1NS0xMy4zMTIgNjEuODc5LTU2LjY4NiA0OC40OTQtOTYuOTE0LTEzLjMxMi00MC4xNTUtNTYuNTM5LTYxLjk1Mi05Ni43NjgtNDguNjQtNDAuMDgyIDEzLjMxMi02MS44MDYgNTYuNjg2LTQ4LjU2NyA5Ni44NDEgMy43MyAxMS4xMTggOS44MDEgMjAuODQ2IDE3LjU1NCAyOC43NDVsLTE2MS41NzMgMjY2LjYwNmMtMTUuMjg3LTUuMjY2LTMyLjAzNy01Ljk5OC00OC42NC0wLjU4NS00MC4xNTUgMTMuMzEyLTYxLjk1MiA1Ni42MTMtNDguNjQgOTYuNzY4IDEzLjMxMiA0MC4zMDIgNTYuNjEzIDYyLjAyNSA5Ni44NDEgNDguNjQgMjQuNTc2LTguMTE5IDQyLjEzLTI3LjUwMiA0OS4xNTItNTAuNDY5bDI2OS44MjQgMC4yMTljMTMuMzEyIDQwLjE1NSA1Ni42ODYgNjEuODc5IDk2LjY5NSA0OC41NjcgNDAuMzAyLTEzLjM4NSA2Mi4wMjUtNTYuNjg2IDQ4LjcxMy05Ni43Njh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIlZORk0iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMxNSwKKwkJCQkiaWQiOiAzMDksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc5NiwKKwkJCQkibmFtZSI6ICJWTkZNIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNzA2LjI2NyA2NDUuNjMyYy0yOS45ODkgMC01NS41ODkgMTcuNjI3LTY3LjczIDQyLjkzNWwtMjQ2LjkzLTgxLjk5M2MwLjgwNS00LjAyMyAxLjMxNy04LjExOSAxLjMxNy0xMi41MDcgMC0xMi4zNjEtMy4zNjUtMjQuMDY0LTguNjMxLTM0LjUyM2wyMzIuNDQ4LTE5OC4yOWMxMy4xNjYgMTAuNTMzIDI5LjQwMyAxNy4wNDIgNDcuMjUgMTcuMDQyIDQxLjU0NSAwIDc1LjQxLTMzLjcxOSA3NS40MS03NS4zMzcgMC00MS41NDUtMzMuODY1LTc1LjI2NC03NS40MS03NS4yNjQtNDEuNjE4IDAtNzUuMzM3IDMzLjcxOS03NS4zMzcgNzUuMzM3IDAgMTEuNjMgMi43NzkgMjIuNDU1IDcuNTM0IDMyLjI1NmwtMjMzLjI1MyAxOTguOTQ5Yy0xMi42NTQtOS43MjgtMjguMjMzLTE1LjU3OS00NS4yNzUtMTUuNTc5LTQxLjY5MSAwLTc1LjQxIDMzLjY0Ni03NS40MSA3NS4yNjQgMCA0MS42OTEgMzMuNzE5IDc1LjI2NCA3NS40MSA3NS4yNjQgMjUuNDU0IDAgNDcuODM1LTEyLjQzNCA2MS41MTMtMzEuODlsMjUxLjgzMSA4My43NDljMCA0MS42MTggMzMuNzE5IDc1LjI2NCA3NS4yNjQgNzUuMjY0IDQxLjY5MSAwIDc1LjU1Ny0zMy42NDYgNzUuNTU3LTc1LjI2NC0wLjA3My00MS42MTgtMzMuNzkyLTc1LjQxLTc1LjU1Ny03NS40MXoiLAorCQkJCQkiTTUxMiAwYy0yODIuMjU4IDAtNTEyIDIyOS43NDItNTEyIDUxMiAwIDI4Mi4zMzEgMjI5Ljc0MiA1MTIgNTEyIDUxMiAyODIuMzMxIDAgNTEyLTIyOS42NjkgNTEyLTUxMiAwLTI4Mi4yNTgtMjI5LjY2OS01MTItNTEyLTUxMnpNNTEyIDk1MC44NTdjLTI0Mi4wMzAgMC00MzguODU3LTE5Ni44MjctNDM4Ljg1Ny00MzguODU3czE5Ni44MjctNDM4Ljg1NyA0MzguODU3LTQzOC44NTcgNDM4Ljg1NyAxOTYuODI3IDQzOC44NTcgNDM4Ljg1Ny0xOTYuODI3IDQzOC44NTctNDM4Ljg1NyA0MzguODU3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJWTkYiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMxNiwKKwkJCQkiaWQiOiAzMDgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc5NywKKwkJCQkibmFtZSI6ICJWTkYiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MzYuODY5IDU5OS42OThjLTI0LjIxIDAtNDQuNzYzIDE0LjE5LTU0LjYzOCAzNC41OTdsLTE5OC43MjktNjYuMDQ4YzAuNTg1LTMuMjE4IDEuMDI0LTYuNTgzIDEuMDI0LTEwLjA5NCAwLTkuOTQ3LTIuNzA2LTE5LjM4My02Ljk0OS0yNy43MjFsMTg3LjI0Ni0xNTkuNjcxYzEwLjUzMyA4LjQ4NSAyMy42MjUgMTMuNzUxIDM4LjAzNCAxMy43NTEgMzMuNDk5IDAgNjAuNzA5LTI3LjIwOSA2MC43MDktNjAuNzA5cy0yNy4yMDktNjAuNzA5LTYwLjcwOS02MC43MDktNjAuNzA5IDI3LjI4Mi02MC43MDkgNjAuNzgyYzAgOS4zNjIgMi4xOTQgMTguMDY2IDUuOTk4IDI1Ljk2NmwtMTg3LjgzMSAxNjAuMTgzYy0xMC4xNjctNy44MjYtMjIuNjc0LTEyLjU4MS0zNi40MjUtMTIuNTgxLTMzLjQ5OSAwLTYwLjcwOSAyNy4xMzYtNjAuNzA5IDYwLjYzNXMyNy4yMDkgNjAuNjM1IDYwLjcwOSA2MC42MzVjMjAuNDggMCAzOC41NDYtMTAuMDIxIDQ5LjUxOC0yNS42NzNsMjAyLjc1MiA2Ny4zNjVjMCAzMy41NzMgMjcuMjA5IDYwLjYzNSA2MC43MDkgNjAuNjM1czYwLjc4Mi0yNy4wNjMgNjAuNzgyLTYwLjYzNWMtMC4wNzMtMzMuNDk5LTI3LjIwOS02MC43MDktNjAuNzgyLTYwLjcwOXoiLAorCQkJCQkiTTEwMjQgMzYwLjU5NGwtMTkyLjA3My05OS41NDctMTkyLjE0NiA5OS41NDcgMTkyLjE0NiA5OS42MjEgMTkyLjA3My05OS42MjF6TTgzMS45MjcgMjk5LjY2NmwxMTcuMzIxIDYwLjkyOC0xMTcuMzIxIDYwLjkyOC0xMTcuNDY3LTYwLjkyOCAxMTcuNDY3LTYwLjkyOHoiLAorCQkJCQkiTTgzMS45MjcgNTUxLjI3OGwtMTA1LjI1My01NC42MzhoLTc0LjY3OWwxNzkuOTMxIDkzLjMzIDE3OS45MzEtOTMuMzNoLTc0LjY3OXoiLAorCQkJCQkiTTgzMS45MjcgNjgxLjEwNmwtMTA1LjI1My01NC43ODRoLTc0LjY3OWwxNzkuOTMxIDkzLjQwMyAxNzkuOTMxLTkzLjQwM2gtNzQuNjc5eiIsCisJCQkJCSJNODIxLjM5NCA4MjIuODU3Yy03OS4zNiA3OS4wNjctMTg4Ljc4MiAxMjgtMzA5LjM5NCAxMjgtMjQyLjAzMCAwLTQzOC44NTctMTk2LjgyNy00MzguODU3LTQzOC44NTdzMTk2LjgyNy00MzguODU3IDQzOC44NTctNDM4Ljg1N2M5Ny43OTIgMCAxODcuOTA0IDMyLjU0OSAyNjAuOTc0IDg2Ljg5NGgxMDkuODYxYy05My4zMy05OC4zMDQtMjI0LjkxNC0xNjAuMDM3LTM3MC44MzQtMTYwLjAzNy0yODIuMzMxIDAtNTEyIDIyOS42NjktNTEyIDUxMiAwIDI4Mi4yNTggMjI5LjY2OSA1MTIgNTEyIDUxMiAxNjUuMzc2IDAgMzEyLjI0Ny03OS4xNDEgNDA1Ljg3LTIwMS4xNDNoLTk2LjQ3NXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiVk5GQyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzE3LAorCQkJCSJpZCI6IDMwNywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Nzk4LAorCQkJCSJuYW1lIjogIlZORkMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk05OTIuMTEgNjM0LjczNGwtNDkuNTkxLTIwLjc3M2MxLjA5Ny0xMC4xNjcgMy4wNzItMTkuOTY4IDMuMDcyLTMwLjM1NCAwLTEwLjQ1OS0xLjgyOS0yMC4wNDEtMy4wNzItMzAuMTM1bDQ5LjczNy0yMC45MTljMjYuOTE3LTExLjMzNyAzOS4wNTgtNDQuMTc4IDI3LjA2My03My41MDlsLTE0Ljk5NC0zNi41NzFjLTExLjkyMi0yOS40MDMtNDMuNDQ3LTQzLjk1OS03MC4zNjMtMzIuNTQ5bC00OS41OTEgMjAuNzczYy05LjU4Mi0xMi4zNjEtMjAuMjYxLTIzLjg0NS0zMi4xMS0zNC4zNzdsMjIuODk0LTQ5LjA3OWMxMi4zNjEtMjYuNjk3LTAuMzY2LTU5LjI0Ni0yOC43NDUtNzIuODVsLTM1LjQwMS0xNi43NWMtMjguMTYtMTMuNTMxLTYxLjE0Ny0yLjkyNi03My40MzUgMjMuNzcxbC00LjE2OSA4Ljg1aC0xMjIuODhsLTQuMTY5LTguOTIzYy0xMi40MzQtMjYuNjk3LTQ1LjM0OS0zNy4zMDMtNzMuNTA5LTIzLjc3MWwtMzUuNDAxIDE2LjgyM2MtOC4wNDYgMy44NzctMTQuNDA5IDkuNDM1LTE5Ljc0OSAxNS43OTloLTY5LjI2NmwtODEuOTkzLTg1Ljc5N2gtMzI5LjY1NXYxNDEuMTY2bDE0Ni41NzggNjA1LjYyM2gzOTQuMjRjMTQuMDQzIDUuMzM5IDI4LjU5OSA1LjEyIDQxLjI1MyAwaDE4Ni4xNDljMTQuMTE3IDUuNzA1IDMwLjY0NyA2LjA3MSA0Ni4wMDctMS4zMTdsMzUuMzI4LTE3LjExNWMyNS4wODgtMTEuNzc2IDM2Ljg2NC0zOC41NDYgMzAuOTM5LTYzLjA0OWwyMi44MjEtMjMuODQ1LTQyLjQyMy00MC41OTRjOS41MDktOS4wNzAgMTguNTc4LTE4LjQzMiAyNi43Ny0yOC43NDVsNDkuMzcxIDIwLjkxOWMyNi45MTcgMTEuMTkxIDU4LjUxNC0zLjIxOCA3MC40MzctMzIuNjIybDE0Ljk5NC0zNi40OThjMTIuMTQyLTI5LjU1LTAuMjE5LTYyLjA5OC0yNy4xMzYtNzMuNTgyek00MDAuMzg0IDU2My4xMjdjLTAuOTUxIDYuNzI5LTIuMDQ4IDEzLjQ1OC0yLjA0OCAyMC40OCAwIDEwLjQ1OSAxLjk3NSAyMC4xODcgMy4wNzIgMzAuNTAxbC00OS42NjQgMjAuNzczYy0yNi45MTcgMTEuMzM3LTM5LjEzMSA0My44ODYtMjcuMTM2IDczLjQzNWwxNS4xNDEgMzYuNDk4YzExLjg0OSAyOS40MDMgNDMuNDQ3IDQzLjg4NiA3MC4yOSAzMi42MjJsNDkuMzcxLTIwLjYyNmM5LjcyOCAxMi4yODggMjAuNDggMjMuNjk4IDMyLjAzNyAzNC4yMzFsLTIyLjgyMSA0OS4wNzljLTIuNzA2IDUuNzc4LTMuNjU3IDExLjg0OS00LjA5NiAxNy45MmgtMjUxLjYxMWw5Mi4zMDYtMjk0LjkxMmg5NS4xNTl6TTg0MS4wNzAgNTgzLjc1M2MwIDk0LjU3NC03NS43NzYgMTcxLjU5My0xNjkuMDMzIDE3MS41OTMtOTMuNDc3IDAtMTY5LjE3OS03Ny4wMTktMTY5LjE3OS0xNzEuNTkzIDAtNy4wOTUgMS4yNDMtMTMuODI0IDIuMDQ4LTIwLjY5OWg0LjA5NnYtMjIuNjc0YzE5LjAxNy03My44MDEgODQuNDgtMTI4LjM2NiAxNjMuMTA5LTEyOC4zNjYgOTMuMTg0IDAgMTY4Ljk2IDc2LjcyNyAxNjguOTYgMTcxLjczOXpNNzE1LjExOCA4NTcuOTY2aC0xMC4wOTRjMy4yMTgtMC41MTIgNi41ODMtMC41MTIgOS43MjgtMS4wMjRsMC4zNjYgMS4wMjR6TTYzOC42ODMgODU3Ljk2NmgtMTAuMDk0bDAuNTEyLTEuMDI0YzMuMTQ1IDAuNTg1IDYuNDM3IDAuNTg1IDkuNTgyIDEuMDI0ek02OS45MjUgMjU3LjUzNmgyMjUuMjA3bDgxLjk5MyA4NS43OTdoOTkuMDM1bDE1LjI4NyAzMi45MTRjLTExLjcwMyAxMC41MzMtMjIuMzgyIDIyLjAxNi0zMi4xMSAzNC4zNzdsLTQ5LjQ0NS0yMC42OTljLTI2Ljg0My0xMS4zMzctNTguMzY4IDMuMTQ1LTcwLjIxNyAzMi41NDlsLTE1LjA2NyAzNi41NzFjLTQuMjQyIDEwLjMxMy00LjUzNSAyMC44NDYtMy4xNDUgMzAuOTM5aC02OS45OThsLTc4LjkyMSAyNTIuMTk3LTEwMi42MTktNDIxLjAxMHYtNjMuNjM0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJWSU0iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMxOCwKKwkJCQkiaWQiOiAzMDYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc5OSwKKwkJCQkibmFtZSI6ICJWSU0iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTMuMTYxIDE4NS4xMjVoMzE1LjQ2NXY3My4xNDNoLTMxNS40NjV2LTczLjE0M3oiLAorCQkJCQkiTTE1My4xNjEgMzMxLjQxaDMxNS40NjV2NzMuMTQzaC0zMTUuNDY1di03My4xNDN6IiwKKwkJCQkJIk0zNjAuMDA5IDU3Mi41NjJjMCAyNy4xNDYtMjIuMDA2IDQ5LjE1Mi00OS4xNTIgNDkuMTUycy00OS4xNTItMjIuMDA2LTQ5LjE1Mi00OS4xNTJjMC0yNy4xNDYgMjIuMDA2LTQ5LjE1MiA0OS4xNTItNDkuMTUyczQ5LjE1MiAyMi4wMDYgNDkuMTUyIDQ5LjE1MnoiLAorCQkJCQkiTTQyOS43MTQgNzc5Ljg0OWgtMjM3LjcxNGMtMTUuNzk5IDAtMjguNTk5IDE2LjM4NC0yOC41OTkgMzYuNTcxczEyLjggMzYuNTcxIDI4LjU5OSAzNi41NzFoMjM3LjcxNGMxNS43OTkgMCAyOC41OTktMTYuMzg0IDI4LjU5OS0zNi41NzFzLTEyLjgtMzYuNTcxLTI4LjU5OS0zNi41NzF6IiwKKwkJCQkJIk05NTEuNTg5IDg0MS4xNDNoLTM4LjAzNGMtNDAuMDA5IDAtNzIuNDExIDMyLjQwMi03Mi40MTEgNzIuNDg1djEyLjI4OGgtMTAzLjQyNHYtMzc3LjkyOWgxMDQuOTZjNS43MDUgMzQuMzA0IDM0LjE1OCA2MC45MjggNzAuMDcxIDYwLjkyOGgzOC4wMzRjNDAuMDA5IDAgNzIuNDExLTMyLjQwMiA3Mi40MTEtNzIuNDExdi0zOC4wMzRjMC00MC4wMDktMzIuNDAyLTcyLjQ4NS03Mi40MTEtNzIuNDg1aC0zOC4wMzRjLTQwLjAwOSAwLTcyLjQxMSAzMi40MDItNzIuNDExIDcyLjQ4NXYxMi44NzNoLTEwMi41NDZ2LTM4Ni45OTloMTA1LjE3OWM2LjM2MyAzMy40OTkgMzQuNDUgNTkuMzkyIDY5Ljc3OCA1OS4zOTJoMzguMDM0YzQwLjAwOSAwIDcyLjQxMS0zMi40MDIgNzIuNDExLTcyLjQ4NXYtMzcuOTYxYzAtNDAuMDA5LTMyLjQwMi03Mi40ODUtNzIuNDExLTcyLjQ4NWgtMzguMDM0Yy00MC4wMDkgMC03Mi40MTEgMzIuNDAyLTcyLjQxMSA3Mi40ODV2MTQuNDgyaC0xMTkuMzY5djAuMjE5aC0xOS44MjJ2NDIzLjQyNGgtNzkuNDMzdi00MDYuODk0YzAtNTcuNjM3LTQ1LjU2OC0xMDQuNTIxLTEwMS42NjktMTA0LjUyMWgtNDE4LjQ1Yy01Ni4wMjcgMC0xMDEuNTk1IDQ2Ljg4NS0xMDEuNTk1IDEwNC41MjF2ODE1LjAzMWMwIDU3LjU2MyA0NS41NjggMTA0LjQ0OCAxMDEuNTk1IDEwNC40NDhoNDE4LjQ1YzU2LjEwMSAwIDEwMS42NjktNDYuODg1IDEwMS42NjktMTA0LjUyMXYtMzcxLjU2Nmg3OS40MzN2NDE0LjM1NGgxOS44MjJ2MC4yMTloMTIyLjM2OGM1LjQxMyAzNC41OTcgMzQuMDg1IDYxLjUxMyA3MC4yMTcgNjEuNTEzaDM4LjAzNGM0MC4wMDkgMCA3Mi40MTEtMzIuNDAyIDcyLjQxMS03Mi40MTF2LTM3Ljk2MWMwLTQwLjA4Mi0zMi40MDItNzIuNDg1LTcyLjQxMS03Mi40ODV6TTU0OC41NzEgOTE5LjQ3OWMwIDE3LjMzNS0xMi44IDMxLjM3OC0yOC41MjYgMzEuMzc4aC00MTguNDVjLTE1LjcyNiAwLTI4LjQ1My0xNC4wNDMtMjguNDUzLTMxLjM3OHYtODE0Ljk1OGMwLTE3LjMzNSAxMi43MjctMzEuMzc4IDI4LjQ1My0zMS4zNzhoNDE4LjQ1YzE1LjcyNiAwIDI4LjUyNiAxNC4wNDMgMjguNTI2IDMxLjM3OHY4MTQuOTU4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJWRFUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMxOSwKKwkJCQkiaWQiOiAzMDUsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwMCwKKwkJCQkibmFtZSI6ICJWRFUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zMzYuMjM4IDE4NS4xMjVoMzE1LjQ2NXY3My4xNDNoLTMxNS40NjV2LTczLjE0M3oiLAorCQkJCQkiTTcwMy4xMjIgMGgtNDE4LjQ1Yy01Ni4wMjcgMC0xMDEuNTk1IDQ2Ljg4NS0xMDEuNTk1IDEwNC41MjF2ODE1LjAzMWMwIDU3LjU2MyA0NS41NjggMTA0LjQ0OCAxMDEuNTk1IDEwNC40NDhoNDE4LjUyM2M1Ni4xMDEgMCAxMDEuNjY5LTQ2Ljg4NSAxMDEuNjY5LTEwNC41MjF2LTgxNC45NThjLTAuMDczLTU3LjYzNy00NS42NDEtMTA0LjUyMS0xMDEuNzQyLTEwNC41MjF6TTczMS42NDggOTE5LjQ3OWMwIDE3LjI2Mi0xMi44IDMxLjM3OC0yOC41MjYgMzEuMzc4aC00MTguNDVjLTE1LjY1MyAwLTI4LjQ1My0xNC4wNDMtMjguNDUzLTMxLjM3OHYtODE0Ljk1OGMwLTE3LjMzNSAxMi43MjctMzEuMzc4IDI4LjQ1My0zMS4zNzhoNDE4LjUyM2MxNS43MjYgMCAyOC41MjYgMTQuMDQzIDI4LjUyNiAzMS4zNzh2ODE0Ljk1OHoiLAorCQkJCQkiTTMzNi4yMzggMzMxLjQxaDMxNS40NjV2NzMuMTQzaC0zMTUuNDY1di03My4xNDN6IiwKKwkJCQkJIk01NDMuMDg2IDU3Mi41NjJjMCAyNy4xNDYtMjIuMDA2IDQ5LjE1Mi00OS4xNTIgNDkuMTUycy00OS4xNTItMjIuMDA2LTQ5LjE1Mi00OS4xNTJjMC0yNy4xNDYgMjIuMDA2LTQ5LjE1MiA0OS4xNTItNDkuMTUyczQ5LjE1MiAyMi4wMDYgNDkuMTUyIDQ5LjE1MnoiLAorCQkJCQkiTTYxMi43OTEgNzc5Ljg0OWgtMjM3LjcxNGMtMTUuNzk5IDAtMjguNTk5IDE2LjM4NC0yOC41OTkgMzYuNTcxczEyLjggMzYuNTcxIDI4LjU5OSAzNi41NzFoMjM3LjcxNGMxNS43OTkgMCAyOC41OTktMTYuMzg0IDI4LjU5OS0zNi41NzFzLTEyLjgtMzYuNTcxLTI4LjU5OS0zNi41NzF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImhvc3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyMCwKKwkJCQkiaWQiOiAzMDQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwMSwKKwkJCQkibmFtZSI6ICJob3N0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTI4Mi4zMzEgMC01MTIgMjI5LjY2OS01MTIgNTEyIDAgMjM5LjAzMSAxNjQuODY0IDQzOS44MDggMzg2Ljc3OSA0OTUuODM1IDAuMzY2IDAuNTg1IDEuMDk3IDEuNTM2IDEuMzE3IDEuNzU1bDEuNDYzLTEuMDk3YzM5LjI3OCA5LjgwMSA4MC4xNjUgMTUuNTA2IDEyMi40NDEgMTUuNTA2IDI4Mi4yNTggMCA1MTItMjI5Ljc0MiA1MTItNTEyIDAtMjgyLjMzMS0yMjkuNzQyLTUxMi01MTItNTEyek00NjkuMzU4IDg4OC44MzJjLTExLjk5NS0xNC43NzUtMjkuNDc3LTI0Ljg2OS00OS45NTctMjQuODY5LTE1Ljc5OSAwLTI5Ljc2OSA2LjM2My00MS4xMDYgMTUuNzI2LTMuMTQ1LTYuMjktNi4zNjMtMTIuNDM0LTkuNTgyLTE5LjIzNyA0My4wODEtMTkuMzgzIDkyLjg5MS00Ny45ODIgMTQ1LjcwMS05MC40NzggOC42MzEgNC4yNDIgMTguMDY2IDcuMTY4IDI4LjM3OSA3LjE2OCAyNC41NzYgMCA0NS4xMjktMTQuMTE3IDU2LjI0Ny0zNC4xNTggMTM1Ljc1My0xMi41MDcgMjQ4LjE3NC02NS4wMjQgMzIwLjM2Ni0xMDguNjE3IDQuMzE1IDEuMTcgOC40ODUgMi4zNDEgMTMuMDkzIDIuNjMzLTUuMDQ3IDE2Ljk2OS0xMS4wNDUgMzMuNDk5LTE4LjA2NiA0OS41OTEtNTYuMTc0IDM2LjI3OS0xOTIuMzY2IDEyMy4wMjYtMjQyLjI0OSAxNDMuNTc5LTUzLjAyOSAyMS44Ny0xNDMuNzI2IDQ0LjgzNy0yMDIuODI1IDU4LjY2MXpNODIuNzk4IDQyMC45MzdsNC45NzQgNS43MDVjMC44NzgtMC44MDUgNjQuMjE5LTUyLjk1NSAxODMuNzM1LTkwLjc3LTE3LjU1NCA0Ni4yMjYtMzAuNTc0IDk1LjIzMi0zNS40NzQgMTQ1LjkyLTMuMjkxIDM0LjU5Ny0zLjU4NCA2OC4zMTUtMS42ODIgMTAxLjA4My0xLjQ2MyAwLjgwNS0yLjc3OSAxLjgyOS00LjE2OSAyLjc3OS03MC45NDktNDcuOTA5LTEyMy45MDQtMTAxLjA4My0xNTIuNTAzLTEzMy4wNDcgMS40NjMtMTAuNjc5IDIuOTI2LTIxLjM1OCA1LjEyLTMxLjY3MXpNNTEyIDczLjE0M2M3Ny4wMTkgMCAxNDkuMzU4IDIwLjA0MSAyMTIuMjYxIDU1LjAwMy0xLjUzNiAyNi41NTEtNC45MDEgNjcuMjE4LTExLjQxIDExNS4wNTQtNi4yOSAzLjM2NS0xMi4xNDIgNy4zMTQtMTYuOTY5IDEyLjQzNC02Mi43NTctMTEuNjMtMTMzLjEyLTE4Ljg3MS0yMDcuNTA2LTE2LjAxOC0zNi4wNTkgMS40NjMtNjkuODUxIDQuNjgxLTEwMS40NDkgOS4yODktMS4yNDMtMi4zNDEtMi45MjYtNC4zODktNC4zODktNi41MSA0NS43ODctNzYuNTA3IDk3LjcxOS0xMzYuNzc3IDEyOC0xNjkuMTc5IDAuNTEyIDAgMC45NTEtMC4wNzMgMS40NjMtMC4wNzN6TTkzNC4xMDcgMzkzLjQzNWMxMC41MzMgMzcuMzAzIDE2LjUzIDc2LjQzNCAxNi42NzcgMTE2Ljk1NS00LjkwMS0xLjE3LTkuNTgyLTIuOTI2LTE0Ljc3NS0yLjkyNi0zNS45ODYgMC02NS4xNyAyOS4xMTEtNjUuMTcgNjUuMTcgMCA3LjAyMiAxLjkwMiAxMy41MzEgNC4wMjMgMTkuODIyLTY0LjU4NSAzNy4yMy0xNTguNDI3IDc4LjkyMS0yNjguODczIDkxLjM1NSAyLjU2LTIuOTI2IDUuMTkzLTUuNDEzIDcuODI2LTguMzM4IDcyLjExOS04MC42MDMgMTEzLjczNy0yMDEuNTA5IDEzNy44MDEtMzEyLjE3NCAxNi45NjktMi4yNjcgMzEuNTI1LTEwLjY3OSA0MS42OTEtMjMuNDA2IDgxLjc3NCAyNC41MDMgMTM1LjI0MSA1MC43NjEgMTQwLjggNTMuNTQxek0yOTIuNzkxIDU3Ny42ODJjLTEuNjgyLTI5LjQwMy0xLjQ2My01OS41MzggMS40NjMtOTAuMzMxIDQuNzU0LTQ5LjU5MSAxOC42NTEtOTcuNzE5IDM3LjE1Ny0xNDMuMTQxIDI0Ljc5NS0wLjUxMiA0NS43MTQtMTQuOTk0IDU2LjI0Ny0zNS42OTQgMzIuMDM3LTQuOTc0IDY1Ljk3NS04LjkyMyAxMDIuOTg1LTEwLjM4NiA2Ny4zNjUtMi41NiAxMzEuODc3IDQuMDk2IDE5MC4wOTggMTQuNzc1IDIuNDE0IDExLjcwMyA3LjA5NSAyMi4zODIgMTQuOTIxIDMwLjg2Ni0yMi4wMTYgMTA0Ljk2LTU5Ljk3NyAyMTkuNTAyLTEyNS40NCAyOTIuNzE4LTQuMjQyIDQuNjgxLTguNDExIDguNzc3LTEyLjY1NCAxMy4zODUtNC44MjctMS4yNDMtOS41MDktMi45OTktMTQuNzAyLTIuOTk5LTI1Ljg5MyAwLTQ3Ljc2MiAxNS4zNi01OC4yOTUgMzcuMjMtNTQuODU3LTUuODUxLTEwNi4yMDMtMjAuOTkyLTE1Mi45NDItNDEuNzY1IDAuMTQ2LTEuNTM2IDAuOTUxLTIuOTI2IDAuOTUxLTQuNjA4LTAtMjYuOTktMTYuMzg0LTUwLjE3Ni0zOS43OS02MC4wNTB6TTQ1Ny40MzUgNzM5Ljc2N2MtNDAuNjY3IDMwLjIwOC03OC43NzUgNTEuNTY2LTExMi4xMjggNjYuNjMzLTEzLjAxOS0zMi44NDEtMjUuMDg4LTY5LjQxMy0zNC41MjMtMTA4LjkxIDQ1LjA1NiAxOS42MDIgOTQuMDYyIDM0LjY3IDE0Ni42NTEgNDIuMjc3ek05MDQuMTE5IDMxNi4xMjNjLTI1Ljg5My0xMC41MzMtNTkuNjExLTIyLjc0Ny05OS40MDEtMzQuNDUtNS4xMi0xNy4yNjItMTYuNjAzLTMxLjMwNS0zMi4zMjktMzkuMjc4IDMuODAzLTI4Ljg5MSA2LjM2My01NC45MyA4LjExOS03Ni44NzMgNTEuNzEyIDQwLjIyOSA5NC4wNjIgOTEuNjQ4IDEyMy42MTEgMTUwLjYwMXpNNDI0LjU5NCA4MS45MmMtMjkuMDM4IDM0Ljg4OS02Mi42ODMgNzkuODcyLTkzLjkxNSAxMzIuMzg5LTAuMTQ2IDAtMC4yOTMtMC4xNDYtMC40MzktMC4xNDYtMzQuOTYyIDAtNjIuODMgMjcuNTc1LTY0LjUxMiA2Mi4wOTgtNjkuNjMyIDIwLjc3My0xMjIuODggNDUuODYxLTE1OC43MiA2Ni45MjYgNTUuMzY5LTEzMi4zODkgMTczLjc4Ny0yMzIuMDgyIDMxNy41ODYtMjYxLjI2NnpNNzQuMjQgNTM0LjE2MmMzMi40NzUgMzEuODkgNzUuNzAzIDY5LjMzOSAxMjguMTQ2IDEwNC4wODIgMC4yMTkgMjkuODQyIDIwLjkxOSA1My45MDYgNDguNDk0IDYxLjIyMSAxMC4zODYgNDYuODExIDI0LjI4MyA4OS44OTMgMzkuNDk3IDEyOC4xNDYtMzcuNTk1IDExLjg0OS02MS44NzkgMTQuMjYzLTY2LjQxNCAxNC42MjktODYuOTY3LTc1LjkyMi0xNDMuNTA2LTE4NS40MTctMTQ5LjcyMy0zMDguMDc4ek0yODguOTg3IDg4OS4yNzFjNy42OC0yLjA0OCAxNS45NDUtNC41MzUgMjQuNzIyLTcuMzg3IDQuNjA4IDkuNzI4IDkuMjE2IDE4Ljk0NCAxMy43NTEgMjcuNzIxLTEzLjIzOS02LjE0NC0yNi4wMzktMTIuODczLTM4LjQ3My0yMC4zMzR6TTUxMiA5NTAuODU3Yy0xMC42NzkgMC0yMS4wNjUtMC44NzgtMzEuNTI1LTEuNTM2IDAuMzY2LTEuMDI0IDAuMzY2LTIuMDQ4IDAuNjU4LTMuMDcyIDYwLjcwOS0xNC4xOSAxNTUuNjQ4LTM4LjEwNyAyMTMuNTA0LTYyLjA5OCAzMS4wODYtMTIuODczIDg5LjYtNDcuMTc3IDE0NC44OTYtODEuMTE1LTgwLjM4NCA5MC40NzgtMTk3LjI2NiAxNDcuODIyLTMyNy41MzQgMTQ3LjgyMnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiTlMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyMSwKKwkJCQkiaWQiOiAzMDMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwMiwKKwkJCQkibmFtZSI6ICJOUyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg2IDBjLTQ3LjQ3NyAwLTg2IDM4LjA3Ni04NiA4NHY1MTRjMCA0NS45MjQgMzguNTIzIDgyIDg2IDgyaDIzNHY5MGgtMTg0djgyaDI4MHYtMTcyaDE5MnYxNzJoMjgwdi04MmgtMTg0di05MGgyMzRjNDcuNDc3IDAgODYtMzYuMDc2IDg2LTgydi01MTRjMC00NS45MjQtMzguNTIzLTg0LTg2LTg0aC04NTJ6TTExMCAxMDhoODA0djQ1NGgtODA0di00NTR6TTEzNiA5NDZ2ODBoNzUydi04MGgtNzUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ1ZXAtbW9jLXVjYS1wdWJsaWMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyMiwKKwkJCQkiaWQiOiAzMDIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwMywKKwkJCQkibmFtZSI6ICJ1ZXAtbW9jLXVjYS1wdWJsaWMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yIDI2MnYxOTJoOTZ2MzIwYy01NS4xOTIgMTMuMzIzLTk2IDYyLjcxNi05NiAxMjIgMCA2OS40OSA1Ni41MSAxMjYgMTI2IDEyNnMxMjYtNTYuNTEgMTI2LTEyNmMwLTU3Ljc2LTM4Ljk1NC0xMDcuMjE1LTkyLTEyMnYtMzIwaDMyMHYzMjBjLTU0LjAyOCAxNC4xMzItOTQgNjMuNTQyLTk0IDEyMiAwIDY5LjQ5IDU2LjUxIDEyNiAxMjYgMTI2czEyNi01Ni41MSAxMjYtMTI2YzAtNTguNDU4LTM5Ljk3Mi0xMDcuODY4LTk0LTEyMnYtMzIwaDMyMHYzMjBjLTUzLjM1NiAxNC41ODEtOTQgNjQuMDE5LTk0IDEyMiAwIDY5LjQ5IDU2LjUxIDEyNiAxMjYgMTI2czEyNi01Ni41MSAxMjYtMTI2YzAtNTguNjMyLTM5LjcyNy0xMDguMDM2LTk0LTEyMnYtMzIwaDk2di0xOTJoLTEwMjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInVlcC10b3BvLWNvbW1vbmdyb3VwMjB4MjAiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyMywKKwkJCQkiaWQiOiAzMDEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwNCwKKwkJCQkibmFtZSI6ICJ1ZXAtdG9wby1jb21tb25ncm91cDIweDIwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogOQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNzQxLjg0MSA5NC4xMTVjMC0zOS45ODMtMzIuMjU2LTcyLjIzOS03Mi4wOTktNzIuMjM5aC0zNzUuNTI5Yy0zOS45ODMgMC03Mi4yMzkgMzIuMjU2LTcyLjIzOSA3Mi4yMzl2NTguNTA4aDUxOS44MnYtNTguNTA4eiIsCisJCQkJCSJNNzQ1LjQ3MiA5ODAuNzEzdi0yLjMyN2MwIDAuNDY1LTAuMDkzIDAuODg0LTAuMTg2IDEuMTY0IDAuMDkzIDAuMzcyIDAuMTg2IDAuNzQ1IDAuMTg2IDEuMTY0eiIsCisJCQkJCSJNMjE4LjM0NSA5ODAuNzEzYzAtMC40NjUgMC4xNC0wLjgzOCAwLjE4Ni0xLjE2NC0wLjA0Ny0wLjM3Mi0wLjE4Ni0wLjc0NS0wLjE4Ni0xLjE2NHYyLjMyN3oiLAorCQkJCQkiTTg0MC4yODUgMjEyLjI0N2gtOTguMzUxdi00OS4xMDVoLTUxOS45MTN2MTI4LjA0N2g1MTkuODY2di0yOS4xMzdoMjUuNTUzdjI0LjkwMmgxMC44OTJjLTAuNjA1IDI2LjU3Ny01LjM1MyAyMjguNDkyLTcuMDc1IDI3OS40NTktNC41NjEgMTM4LjMzMy03LjEyMSAxOTguNzk2LTIxLjgzIDIzMS4wOTgtMjQuMjUgNTMuMjQ4LTEwMy4wOTggNjQuNjk4LTExOS45MDEgNjYuNjA3di0xOTUuMDcyaDQwLjE2OWMzOS43OTYgMCA3Mi4xOTItMzIuMzQ5IDcyLjE5Mi03Mi4wOTl2LTI5NS4zMzFoLTUxOS44NjZ2Mjk1LjI4NGMwIDM5Ljc1IDMyLjIwOSA3Mi4wOTkgNzIuMjM5IDcyLjA5OWg0MC4wNzZ2MjgzLjI3NmMwIDMuNzI0IDAuNjA1IDcuMDc1IDEuNTgzIDEwLjQ3M2gtOTkuNTE0Yy05LjYzNSAwLTE3LjM2MSA3LjM1NC0xNy44NzMgMTYuODAzIDAuNTEyIDkuMzU2IDguMjM5IDE2LjgwMyAxNy44NzMgMTYuODAzaDQ5MS4wNTVjOS40OTUgMCAxNy4zMTUtNy40NDcgMTcuOTItMTYuODAzLTAuNjA1LTkuNDQ5LTguNDI1LTE2LjgwMy0xNy45Mi0xNi44MDNoLTk5LjQyMWMwLjk3Ny0zLjM1MSAxLjM5Ni02Ljc0OSAxLjM5Ni0xMC4zOHYtNDkuMTA1YzM4LjEyMS03LjQ0NyAxMTguNTUxLTE1LjQ1MyAxNTQuMDY1LTkyLjM0NiAyMS4yMjUtNDYuMTczIDIyLjI5NS0xMjUuNzE5IDI0Ljk0OC0yNDEuNDc4IDMuMDcyLTEzNC4wMDQgNS45NTgtMjYxLjkxMSA2LjQyMy0yODIuNDg0aDkuNDk1di0yNC45MDJoMTUuOTE5di00OS44MDRoLTB6TTY5My42MiAzMjAuNjUyYzkuOTE0IDAgMTguMDYwIDguMDUyIDE4LjA2MCAxOC4wNjAgMCA5LjkxNC04LjE0NSAxOC4xMDYtMTguMDYwIDE4LjEwNi0xMC4xIDAtMTguMTA2LTguMTkyLTE4LjEwNi0xOC4xMDYgMC4wNDctMTAuMDA3IDguMDUyLTE4LjA2MCAxOC4xMDYtMTguMDYwek00MzUuODUyIDY0Mi45NzlsMzAuOTA2LTk2LjgxNS00NS4wNTYtMTEuNzI5IDg0LjI5NC0xNDUuMzE1LTIzLjM2NiAxMTQuNTAyIDQ1Ljc1NCAyMC40OC05Mi41MzIgMTE4Ljg3N3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInZhcGVsX2NoZ3BpbGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQkyLAorCQkJCQkJMiwKKwkJCQkJCTIsCisJCQkJCQkyCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzMjQsCisJCQkJImlkIjogMzAwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MDUsCisJCQkJIm5hbWUiOiAidmFwZWxfY2hncGlsZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk03OTIuNTI5IDc4MS4zNTl2Mi45MzJjLTEuOTU1IDAuMDkzLTI4LjM5MyA0Ljg4Ny00NC41NDQgOC4wNTItMTIuMjQxIDAtMjAzLjEyNCAwLjMyNi0zMzMuNDA1IDAuMzI2LTY2Ljk3OSAwLTExNy45LTAuMDkzLTEyMC40MTMtMC4zMjYtNy40OTQtMC41NTktNTMuNzYtOS41ODgtNTUuNzE1LTkuOTYxbDAuNjUyLTMuMzA1Yy0xNS40MDcgMTUuMjItMjQuOTQ4IDMyLjQ4OS0yMy45MjQgNDQuOTYzIDEuNzIyIDIyLjcxNCA0Ni42ODUgNDQuODIzIDYyLjg4MyA1MC4yMjMgMC45MzEgMC40MTkgMi43IDAuNzkxIDQuODQxIDAuOTc3bC0wLjIzMy0wLjI3OWMyLjA5NS0xLjM1IDIwLjYyLTEyLjc1MyAyOS4wOTEtMTIuNzUzbDQxOC4yNTcgMC4zNzJjMC4wOTMgMC4wOTMgNi4zMyA0LjM3NSAxNC45NDEgOS45NjFsLTEuODE1IDIuNzQ2YzEzLjkxNy0xLjkwOCAyNC45NDgtNC4wOTYgMzEuNTU4LTYuMzc3IDQwLjk2LTE0LjY2MiA0MS41NjUtNTIuMzE3IDQxLjU2NS01Mi42ODktMC42NTItOS40NDktMTAuODQ1LTIyLjQ4MS0yMy43MzgtMzQuODYzeiIsCisJCQkJCSJNNzQ5LjAwOSA3NDEuMTljLTE2Ljk4OS00Ljg4Ny0xODIuNzM3LTIxLjEzMi0yMzYuNTQ0LTIyLjk0Ny0xLjkwOC0wLjA5My0zLjkxLTAuMDkzLTYuMDk3LTAuMDkzLTU5LjI1MiAwLTIxOS41NTUgMjMuNTA1LTIyMS4xODQgMjMuODMxLTQyLjQ0OSAxMy43MzEtNzguMTAzIDU5LjE1OS03Ni4yODggODUuMTc4IDEuNzY5IDI1LjUwNyA0Ny43MDkgNTAuMTI5IDY0LjE4NiA1Ni4yNzMgMTIuNTY3IDQuNzAxIDEzNi4wOTkgMTAuMzggMjAyLjQyNiAxMy4zMTIgMjEuNjkgMC45NzcgMzguNzcyIDEuNzIyIDQ1Ljg0NyAyLjA5NSAyLjcgMC4yMzMgNi43OTYgMC4zMjYgMTIuMjg4IDAuMzI2IDU2LjI3MyAwIDIxMS4yNy04LjQ3MSAyNDUuNjItMjEuOTY5IDQxLjYxMi0xNi4xOTggNDMuMjQxLTU0Ljg3NyA0My43MDYtNjcuNDQ0IDAuNjA1LTEzLjM1OS00My44OTItNTkuNTc4LTczLjk2MS02OC41NjF6TTc3NS45NTkgODcyLjI2MmMtMzYuNjMxIDEzLjE3Mi0xOTQuNDIgMjAuMTA4LTI0Mi4zNjIgMjAuMTA4LTUuNDQ2IDAtOS41ODgtMC4wOTMtMTIuMjg4LTAuMjc5LTYuODQyLTAuNTU5LTIzLjU5OS0xLjIxLTQ0LjgyMy0yLjA5NS02OS45MTEtMi44ODYtMTg2LjkyNy03LjYzMy0xOTkuNzI3LTEyLjA1NS0xMi41NjctNC4zMjktNjMuNTM1LTI3LjA4OS02NS41MzYtNTMuNjItMS45NTUtMjUuMTM1IDMzLjY1Mi02Ny4xMTkgNzcuODI0LTgwLjE5OCAxLjg2Mi0wLjE4NiAxNTkuMzcyLTIxLjM2NCAyMTcuNzQtMjEuMzY0IDIuMTQxIDAgNC4xODkgMC4wOTMgNi4wOTcgMC4wOTMgNTIuODI5IDEuNjI5IDIxNi4xMTEgMTYuMjkxIDIzMi44MiAyMC42NjYgMTYuNTI0IDQuNTYxIDcyLjkzNyA0OC44MjYgNzQuMjQgNzIuMzMyIDAuNTU5IDguNDcxLTUuNTg1IDQyLjc3NS00My45ODUgNTYuNDEzeiIsCisJCQkJCSJNNzQ3LjY2IDc4OC41MjdjNi4zMy0xLjExNyAzOC4wMjgtNy4xNjggNDQuMDMyLTguMDUyLTE2Ljk4OS0xNi4yNDQtMzguMTY3LTMwLjc2Ny00Ni44MjUtMzMuMTg3LTE2LjU3LTQuNjU1LTE3OS4yOTMtMTguODk3LTIzMi4wMjktMjAuNTI3LTEuOTA4LTAuMDkzLTMuODYzLTAuMDkzLTYuMDA0LTAuMDkzLTU4LjEzNSAwLTIxNS40MTIgMjAuOTkyLTIxNi45NDggMjEuMjI1LTcuODY2IDIuMzc0LTE1LjU0NiA1LjYzMi0yMi43MTQgOS43NzUgMTEuODIzIDEuMTE3IDYwLjA5MCA2LjA1MSA2Ni41NiA2LjcwMyA3LjMwOCAwLjU1OSAzNzguMzIxIDAgMzgyLjA0NS0wLjA5MyAxMi4zODEtMS40NDMgNDUuMTk2LTUuMTIgNDcuNzA5LTUuNTg1bDAuNjk4IDMuODYzYy0zLjAyNSAwLjU1OS00Ni4yNjYgNS4zNTMtNDguMTc1IDUuNTM5LTEwLjE5MyAwLTE2OS42NTggMC4zNzItMjc5LjQxMiAwLjM3Mi01Ni45NzIgMC0xMDAuNTg1LTAuMDkzLTEwMy4xNDUtMC4zNzItNy40MDEtMC42NTItNjguNjU1LTYuNzk2LTY5LjI2LTYuODQybDAuMTg2LTEuODE1Yy05LjI2MyA1LjQ5Mi0xNy42ODcgMTIuMTk1LTI0LjkwMiAxOS4zMTYgMy44NjMgMC43NDUgNDcuOTQyIDkuMjE2IDU0Ljk3IDkuODY4IDcuMzU0IDAuNTEyIDQ0OC43OTEtMC4wOTMgNDUzLjIxMy0wLjA5M3oiLAorCQkJCQkiTTMxMS43NjEgODY1LjkzMmMtNS4wNzMgMC0xNi40NzcgNi4wNTEtMjMuMzE5IDEwLjEgMzMuMzI3IDMuNzI0IDEzMS44NjMgNy43MjcgMTg4LjI3NiAxMC4wNTQgMjEuMjcxIDAuOTc3IDM3Ljk4MSAxLjYyOSA0NC44NyAyLjAwMSAyLjY1MyAwLjIzMyA2LjcwMyAwLjMyNiAxMi4wMDkgMC4zMjYgNDQuMTcyIDAgMTUwLjgwNy00LjkzNCAyMDguNjE3LTEzLjA3OS02LjkzNS00LjQ2OC0xMi4zMzUtOC4xNDUtMTMuODcxLTkuMzA5bC00MTYuNTgyLTAuMDkzeiIsCisJCQkJCSJNMTAxNi4zNjcgNzQyLjRjLTEuMzAzLTEyLjk4Ni01LjI2LTM3Ljg0MS01LjI2LTQ0LjI2NSAwLTYuNDctMTUuNTkzLTc5LjUtMTUuNTkzLTc5LjVsLTEwLjQyNi0yNC42NjktMjguNjI1LTI3LjQxNS00MC40MDEtMjYuMDY1LTMyLjQ4OS0xNC4zODMtMTQuNDI5LTEwLjQyNi04LjUxOC0xNC42MTVjNi43NDktMC40NjUgNTguMzIxLTQuMzI5IDY0LjM3Mi04LjA5OSA2LjQyMy00LjAwMyAxMC43NTItNS43NzIgMTAuMTQ3LTcuMTIxLTAuNzQ1LTEuMzUtNC4zNzUtMjAuMzQtOS4xMjMtMjQuNzE2LTQuNzk0LTQuNDIyLTM4LjI2LTEwLjc5OS00My4wMDgtMTAuNTE5LTQuODQxIDAuMzI2LTguMDk5IDAuMzI2LTguMDk5IDAuMzI2cy0xMS41NDMgMTcuMjY4LTEwLjE5MyAyNy40MTVjMS4zMDMgMTAuMTkzIDIuMDQ4IDEyLjU2NyAyLjA0OCAxMi41NjdsLTkuNDAyIDQuNjU1LTEuMjEtMi4wMDEtMjAuODUyLTI5Ljk3NS0zMy43OTItNTUuOTk0LTI3LjQxNS0zOS4wNTItMjQuODA5LTE4LjI5Mi0xMS42ODMtNy44MmMwIDAtMTI5LjExNy0xMy43MzEtMjIxLjA0NC0xMi4yODgtMTAyLjU0IDEuNzIyLTIxMC44NTEgMTIuODQ3LTIxMC44NTEgMTIuODQ3bC04LjQyNSA2LjA1MS0yMC44MDYgMTkuMDg0LTg0Ljc1OSAxMDMuMzMxYy01LjM5OSA3LjcyNy0xMC4xOTMgMTMuNzMxLTE0Ljk0MSAxOS40MDlsLTEwLjkzOC00Ljk4YzAgMCAwLjc0NS0yLjM3NCAyLjAwMS0xMi41NjcgMS4zNS0xMC4xNDctMTAuMTkzLTI3LjQxNS0xMC4xOTMtMjcuNDE1cy0zLjM1MSAwLTguMDk5LTAuMzI2Yy00Ljc0OC0wLjQxOS0zOC4yNiA2LjA1MS00My4wMDggMTAuNDI2LTQuNzQ4IDQuNDIyLTguNDI1IDIzLjQxMi05LjEyMyAyNC43NjJzMy43MjQgMy4wMjUgMTAuMTQ3IDcuMTIxYzYuMzMgNC4wMDMgNjIuODgzIDguMjM5IDY0LjUxMiA4LjMzMi00LjE0MyA0LjY1NS04LjMzMiA5LjE2OS0xMi45ODYgMTQuMjg5LTExLjY4MyAxMy4wMzMtMzcuODQxIDIzLjQ1OS00Ni45MTggMzAuMDIyLTkuMTIzIDYuNTYzLTY5LjAyNyA0MS42NTgtNjkuMDI3IDUzLjQzNCAwIDExLjY4My0yNi4wNjUgOTguOTU2LTI2LjA2NSA5OC45NTZzMCAxOS41NDktMS4zMDMgMjcuMzIyYy0xLjMwMyA3Ljg2Ni0xLjMwMyA0My4wMDgtMi41NiA1Ny4zNDQtMS4zMDMgMTQuNDc2IDUuMTY3IDExOC41OTggNS4xNjcgMTE4LjU5OGw0LjYwOCAxMC45ODVjLTAuNTU5IDcuNDk0LTAuMjc5IDIyLjgwNyAxMC4zMzMgMjcuMjc2IDEuMzAzIDAuNDY1IDQuMDAzIDEuMzAzIDcuODIgMi41MTMgMS4xNjQgNC4zMjkgMjYuODEgMzMuMTg3IDQwLjA3NiAzNC45NTYgMTMuNTkxIDEuOTU1IDQzLjM4IDMuMjEyIDUxLjE1MyAzLjIxMnMxOC42NjUtOC42NTcgMjEuOTIzLTkuOTE0YzAuMDQ3IDAgMC0wLjE0IDAtMC4xNCAzOS42NTcgOS4yNjMgNzQuNDczIDE2Ljc1NiA3Ny44MjQgMTUuOTY1IDcuNzczLTIuMDAxIDEyLjMzNS0zLjkxIDE4Ljc1OC0zLjkxIDYuNTE2IDAgMjEzLjA4NSAxNy40NTUgMjMxLjE5MSAxNi43NTYgMTguMTUzLTAuNjUyIDI4Ni4yNTUtMTYuNzU2IDI5Ni4wMjktMTYuNzU2IDkuNjM1IDAgMTAuMzMzIDAuNjUyIDIwLjAxNSAyLjU2IDQuNjA4IDAuOTc3IDQ0LjIxOC02Ljk4MiA4Ni44MDctMTYuOTQzLTAuNjk4IDIuMDk1LTEuMDI0IDUuNTg1IDEuODYyIDguNjExIDQuNjA4IDQuNjA4IDU5LjYyNS0xLjkwOCA2OS45NTgtNS4xNjcgMTAuMzgtMy4yMTIgMzEuMDkyLTMwLjM0OCAzMS4wOTItMzAuMzQ4bC05LjIxNiAyLjIzNGM3LjQ0Ny0yLjQyIDEyLjg0Ny00LjYwOCAxNS4wMzQtNi4xOTEgMTUuNTQ2LTEwLjk4NSAxNC4zMzYtMjMuOTcxIDE0LjMzNi0yMy45NzFsLTMuMzUxIDAuNjA1IDYuNTE2LTguMzc4Yy0wLjA0Ny0wLjA0NyA2LjUxNi0xNDQuNzU2IDUuMjEzLTE1Ny43NDN6TTk4My41OTkgODcwLjE2N2MtMy45MSA4LjY1Ny0zMy43NDUgMjkuOTI5LTQzLjM4IDMzLjM3My05LjY4MSAzLjQ0NC0xMTIuMDM1IDIzLjA0MC0xMTUuNDMzIDIyLjg1NC0zLjU4NC0wLjMyNi0xMi41MjEtOC4wOTktMTQuMDU3LTE0LjU2OS0xLjU4My02LjUxNiAyNS4zMjEtNDAuOTYgMzQuNDQ0LTQ3LjcwOSA5LjEyMy02LjcwMyA5NC43Mi0zNi41MzggMTA4LjIxOC00MS43MDUgMTMuNTQ1LTUuMTY3IDQwLjQwMS0yMi44NTQgNDAuNDAxLTIyLjg1NHMzLjUzNyA0MC4yMTUtMTAuMTkzIDcwLjYwOXpNNzgxLjA3OSA4ODAuMzYxYy0zNy4yODMgMTQuNjE1LTE5OC4xOTEgMjIuMjQ5LTI0Ny4wNjMgMjIuMjQ5LTUuNTM5IDAtOS43MjgtMC4wOTMtMTIuNjE0LTAuMjc5LTYuOTgyLTAuNDY1LTI0LjExMS0xLjE2NC00NS43NTQtMi4yMzQtNzEuMjE1LTMuMTY1LTE5MC41MTEtOC43NTEtMjAzLjYzNi0xMy40OTgtMTIuNzUzLTQuODQxLTY0LjY1Mi0zMC4yMDgtNjYuNy01OS42NzEtMS45NTUtMjguMDIwIDM0LjI1Ny03NC43MDUgNzkuMzEzLTg5LjIyOCAxLjkwOC0wLjI3OSAxNjIuNDktMjMuOTcxIDIyMi4wMjItMjMuOTcxIDIuMTg4IDAgNC4yODIgMC4wOTMgNi4yMzcgMC4xODYgNTMuODUzIDEuODE1IDIyMC4zIDE4LjAxMyAyMzcuMzgyIDIzLjA4NyAzMC45OTkgOS4xNjkgNzcuNTQ1IDU1Ljg1NSA3Ni44OTMgNzIuNDI1LTAuNDE5IDEzLjE3Mi0yLjE0MSA1My43Ni00Ni4wODAgNzAuOTM1ek04NDEuMzU2IDY1NS43NzljOC44NDQtNS44MTggMTMyLjg0MS00OS4zMzggMTMyLjg0MS00OS4zMzhzMTIuNDI4IDMyLjQ0MiAxMy40NTIgMzkuMzMxYzAuOTc3IDYuODQyLTMuMzk4IDMzLjE0LTYuNTE2IDM3LjAwNC0zLjAyNSAzLjcyNC0zNS45MzMgMjYuMzQ1LTQwLjIxNSAyNi45NS00LjIzNiAwLjgzOC0yMC44NTItOC41NjQtMjQuMDE3LTguNTY0LTIuOTMyIDAtNTUuODA4IDE2Ljg5Ni03NS43MjkgMTkuMzYzLTIwLjAxNSAyLjctNTcuMjA0LTE2LjU3LTU3LjIwNC0xNi41N3M0OC41OTMtNDIuNDAzIDU3LjM5MS00OC4xNzV6TTI4OC44NjEgNDA4LjM0M2MxNy42ODctMTEuNzc2IDQyLjkxNS0yNC4xNTcgNjAuNTU2LTI2LjI5OCAwIDAgNTYuNzM5LTkuOTYxIDE0My4yMi0xMi41NjdsLTAuMDQ3LTAuMzI2YzEyLjA1NS0wLjIzMyAyMy42OTItMC4zMjYgMzQuOTU2LTAuMjc5IDExLjI2NC0wLjA0NyAyMi44MDcgMCAzNC44MTYgMC4yNzlsLTAuMDkzIDAuMzI2Yzg2LjQzNSAyLjYwNyAxNDMuMDgxIDEyLjU2NyAxNDMuMDgxIDEyLjU2NyAxNy43MzQgMi4wOTUgNDMuMDA4IDE0LjQ3NiA2MC43NDIgMjYuMjk4bDUyLjMxNyA1OS4yMDZjMCAxMC43MDUtMy42NzcgMTkuODc1LTE0LjQ3NiAxOS44NzVsLTI4MS4zNjctMC42NTItMjgxLjQxNCAwLjY1MmMtMTAuNzA1IDAtMTQuNDc2LTkuMTIzLTE0LjQ3Ni0xOS44NzVsNjIuMTg1LTU5LjIwNnpNNDUuNzA4IDY0Ni4yMzdjMS4wMjQtNi44NDIgMTQuODk1LTQwLjk2IDE0Ljg5NS00MC45NnMxMjYuODM2IDQ1LjU2OCAxMzUuNjggNTEuMzRjOC44NDQgNS44MTggNTcuMzkxIDQ4LjM2MSA1Ny4zOTEgNDguMzYxcy0zNy4xNDMgMTkuMDM3LTU3LjExMSAxNi41N2MtMTkuOTY4LTIuNTYtNzIuNzk3LTE5LjUwMy03NS44MjMtMTkuNTAzLTIuOTc5IDAtMTkuNjg5IDkuMjYzLTI0LjAxNyA4LjY1Ny00LjI4Mi0wLjg4NC00MS40MjUtMjIuMjQ5LTQ0LjQ1MS0yNi4wNjUtMy4wMjUtMy43Ny03LjU0LTMxLjY1MS02LjU2My0zOC40ek0zMy45MzIgODAxLjY5OWMwIDAgMjYuOTUgMTcuNzggNDAuNDAxIDIyLjgwNyAxMy40NTIgNS4xMiA5OS4wNDkgMzQuOTA5IDEwOC4yMTggNDEuNzA1czM2LjA3MyA0MS4yMzkgMzQuNDQ0IDQ3Ljc1NmMtMS41ODMgNi40MjMtMTAuNTE5IDE0LjE5Ni0xNC4wMTAgMTQuNDc2LTMuNDQ0IDAuMjc5LTEwNS43OTgtMTkuMjctMTE1LjQ3OS0yMi43NjEtOS43MjgtMy41MzctMzkuNDcxLTI0Ljg1NS00My4zMzQtMzMuNDY2LTEzLjczMS0zMC40NDEtMTAuMjQtNzAuNTE2LTEwLjI0LTcwLjUxNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY2FyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdLAorCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDExMjMxMzExNDcxMTI0MTMzMTUwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogWworCQkJCQkJMiwKKwkJCQkJCTIsCisJCQkJCQkyLAorCQkJCQkJMiwKKwkJCQkJCTIKKwkJCQkJXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzI1LAorCQkJCSJpZCI6IDI5OSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODA2LAorCQkJCSJuYW1lIjogImNhciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDExCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yODYuNjI3IDE2My40MjFoNTIxLjI2M3YxMjguMzcyaC01MjEuMjYzdi0xMjguMzcyeiIsCisJCQkJCSJNODA3Ljg4OSA5NC4yMDhjMC00MC4wMjktMzIuMzk2LTcyLjM3OC03Mi4zNzgtNzIuMzc4aC0zNzYuNTUzYy0zOS45MzYgMC03Mi40MjUgMzIuMzAzLTcyLjQyNSA3Mi4zNzh2NTguNjQ3aDUyMS4zMDl2LTU4LjY0N3oiLAorCQkJCQkiTTgxMS40NzMgOTgyLjIwMmMwIDAuMzcyIDAuMDkzIDAuNzkxIDAuMDkzIDEuMjF2LTIuNjA3YzAgMC42MDUtMC4wOTMgMC45NzctMC4wOTMgMS4zOTZ6IiwKKwkJCQkJIk0yODIuOTk2IDk4My40MTJjMC0wLjUxMiAwLjE0LTAuOTc3IDAuMTQtMS4yMSAwLTAuMzcyLTAuMTQtMC43OTEtMC4xNC0xLjM1djIuNTZ6IiwKKwkJCQkJIk03OTMuNDYgOTY1LjI2aC05OS44NGMwLjk3Ny0zLjI1OCAxLjUzNi02Ljg0MiAxLjUzNi0xMC40NzN2LTI4NC4wNjdoNDAuMzU1YzM5Ljg4OSAwIDcyLjM3OC0zMi4zOTYgNzIuMzc4LTcyLjQ3MXYtMjk2LjAyOWgtNTIxLjMwOXYyOTYuMDI5YzAgMzkuOTgzIDMyLjQ0MiA3Mi4zNzggNzIuNDI1IDcyLjM3OGg0MC4zMDh2Mjg0LjE2YzAgMy40OTEgMC41MTIgNy4wNzUgMS41MzYgMTAuMjg3aC05OS43NDdjLTkuNjM1IDAtMTcuMzYxIDcuNDQ3LTE3Ljk2NyAxNi45ODkgMC42NTIgOS4zMDkgOC4zMzIgMTYuODAzIDE3Ljk2NyAxNi44MDNoNDkyLjM1OGM5LjU0MiAwIDE3LjMxNS03LjQ5NCAxOC4wMTMtMTYuODAzLTAuNjk4LTkuNDQ5LTguNDI1LTE2LjgwMy0xOC4wMTMtMTYuODAzek03NTkuNTI5IDMyMS40NDNjOS45MTQgMCAxOC4wNjAgOC4wOTkgMTguMDYwIDE4LjE1MyAwIDkuOTYxLTguMTQ1IDE4LjEwNi0xOC4wNjAgMTguMTA2LTEwLjAwNyAwLTE4LjE5OS04LjA5OS0xOC4xOTktMTguMTA2IDAuMTQtMTAuMDU0IDguMjM5LTE4LjE1MyAxOC4xOTktMTguMTUzek01MDEuMDYyIDY0NC42NTVsMzEuMDQ2LTk3LjA5NC00NS4yNDItMTEuNTQzIDg0LjQ4LTE0NS44NzMtMjMuMjczIDExNC44MjggNDUuNzA4IDIwLjUyNy05Mi43MTkgMTE5LjE1NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY2hncGlsZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTIsCisJCQkJCQkyLAorCQkJCQkJMiwKKwkJCQkJCTIsCisJCQkJCQkyCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjQsIDEzMywgMTUwKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyNiwKKwkJCQkiaWQiOiAyOTgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwNywKKwkJCQkibmFtZSI6ICJjaGdwaWxlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTIKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTU1MC45NTkgNTYzLjgwNWMtOS42MzUtMS44MTUtMjguOTk4LTIuNzQ2LTU4LjA4OS0yLjc0NmgtMzkuMDA1djExMy40NzhoNDQuMTcyYzMxLjgzNyAwIDUzLjEwOC0yLjA5NSA2My44Ni02LjI4NCAxMC43MDUtNC4xODkgMTkuMDg0LTEwLjcwNSAyNS4xODEtMTkuNjQyczkuMTY5LTE5LjI3IDkuMTY5LTMxLjA5MmMwLTE0LjU2OS00LjMyOS0yNi41MzEtMTIuOC0zNS45OC04LjUxOC05LjQ0OS0xOS4zNjMtMTUuMzYtMzIuNDg5LTE3LjczNHoiLAorCQkJCQkiTTk3Ny40NTUgMzk1LjYzNmgtOTMwLjkwOWMtMjUuNjkzIDAtNDYuNTQ1IDIwLjg1Mi00Ni41NDUgNDYuNTQ1djQ4OC43MjdjMCAyNS43NCAyMC44NTIgNDYuNTQ1IDQ2LjU0NSA0Ni41NDVoOTMwLjkwOWMyNS43NCAwIDQ2LjU0NS0yMC44MDYgNDYuNTQ1LTQ2LjU0NXYtNDg4LjcyN2MwLTI1Ljc0LTIwLjgwNi00Ni41NDUtNDYuNTQ1LTQ2LjU0NXpNNjY2LjExMiA2NzguMzUzYy04Ljg0NCAxNi43MS0yMC4yOTQgMjkuOTI5LTMzLjkzMiAzOS40NzFzLTI3LjY5NSAxNS44MjUtNDEuNzUxIDE4Ljg5N2MtMTkuMjcgMy44MTctNDcuMjQ0IDUuNzI1LTgzLjc4MiA1LjcyNWgtNTIuNzgzdjE1MC44MDdoLTgwLjcxdi0zOTkuNzc5aDEyOS41MzZjNDkuMTUyIDAgODEuMTI5IDIuMDAxIDk2LjAyMyA2LjAwNCAyMi45IDYuMDA0IDQyLjA3NyAxOS4wMzcgNTcuNTMgMzkuMTQ1czIzLjE4IDQ1Ljk4NyAyMy4xOCA3Ny44MjRjMC4wNDcgMjQuNTI5LTQuNDIyIDQ1LjE5Ni0xMy4zMTIgNjEuOTA1eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJCX0KKwkJCQldLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjaGdwb3NpdGlvbiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTIsCisJCQkJCQkyCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyNCwgMTMzLCAxNTApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTI0LCAxMzMsIDE1MCkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyNywKKwkJCQkiaWQiOiAyOTcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwOCwKKwkJCQkibmFtZSI6ICJjaGdwb3NpdGlvbiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEzCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk02NjcuNzQxIDM5MS45MTNoLTYzOC42OTd2LTEzOC43OTlsNjM4LjY5Ny0xMS4xNzF6IiwKKwkJCQkJIk05OTUuMDAyIDQzOS41MjlsLTYxOC4xNy0wLjY1Mi0zNDcuNzg4LTM1LjQ2OGg2MzguNjk3eiIsCisJCQkJCSJNOTk1LjAwMiA0MjYuMjE3bC0zMjcuMjYxLTM0LjMwNHYtMTQ5Ljk2OWwzMjcuMjYxIDUzLjM4OHoiLAorCQkJCQkiTTE1MC43NjEgNDEyLjY3Mmg2My44NnY2MDAuMTExaC02My44NnYtNjAwLjExMXoiLAorCQkJCQkiTTYzNS44MTEgNDEyLjY3Mmg2My44MTR2NjAwLjExMWgtNjMuODE0di02MDAuMTExeiIsCisJCQkJCSJNMzQ4LjM5MyA0MTcuNzkyaDYzLjg2djUwMy45NDhoLTYzLjg2di01MDMuOTQ4eiIsCisJCQkJCSJNODUzLjA4NSA0MzQuMTc2aDYzLjg2djQ4Ny41NjRoLTYzLjg2di00ODcuNTY0eiIsCisJCQkJCSJNNDc1Ljg4MSA3NjAuMjczaDcxLjA3NXYxNjEuNDY2aC03MS4wNzV2LTE2MS40NjZ6IiwKKwkJCQkJIk03MzkuMTQyIDc2MC4yNzNoNzEuMDc1djE2MS40NjZoLTcxLjA3NXYtMTYxLjQ2NnoiLAorCQkJCQkiTTI4NS4wOTEgNzc2LjM3OGwtMjQuNzE2IDIzLjY0NXYxNjAuOTU0aDE3LjU5NGwyNi4yMDUtMjMuMTh2LTE2MS40MnoiLAorCQkJCQkiTTgzNC4wMDEgODE1LjE5N2wtMjQuNzE2IDIzLjU5OXYxNjEuMDAxaDE3LjY0MWwyNi4xNTktMjMuMTh2LTE2MS40MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY2hnc3RhdGlvbiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTEsCisJCQkJCQkxLAorCQkJCQkJMSwKKwkJCQkJCTEsCisJCQkJCQkxLAorCQkJCQkJMSwKKwkJCQkJCTEsCisJCQkJCQkxLAorCQkJCQkJMSwKKwkJCQkJCTEsCisJCQkJCQkxCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMjMsIDEzMSwgMTQ3KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEyMywgMTMxLCAxNDcpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTIzLCAxMzEsIDE0NykiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyOCwKKwkJCQkiaWQiOiAyOTYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgwOSwKKwkJCQkibmFtZSI6ICJjaGdzdGF0aW9uIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEyOCAwYy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuOTEyIDU3LjA4OCAxMjggMTI4IDEyOGg3NjhjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di03NjhjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTI2Ni4xODIgNzIuNzIzaDQ5MC4xODJjNDMuNTk2IDAgODAgMzIuNzMgODAgNzIuNzM2djczOC45MDZjMCA0MC0zNi40MDQgNzIuNzIzLTgwIDcyLjcyM2gtNDkwLjE4MmMtNDMuNTk2IDAtNzguNTQ1LTMyLjcyMy03OC41NDUtNzIuNzIzdi03MzguOTA2YzAtNDAuMDA2IDM0Ljk1LTcyLjczNiA3OC41NDUtNzIuNzM2ek02NjcuNjM2IDE4OS4wODhjLTQxLjM2IDAtNzMuNTI5IDEyLjg3Ny05OC45MDkgMzcuODE4LTI1LjM4IDI0Ljk0Ny0zNy44MTggNTkuNjM1LTM3LjgxOCAxMDQuNzMgMCA0Mi42MyAxMi41NzIgNzcuMjQyIDM3LjgxOCAxMDEuODE4IDI1LjI0NiAyNC41ODIgNTYuNzg4IDM0LjkxMiA5NiAzNC45MTIgMzEuNjkxIDAgNTkuMzg3LTUuOTUyIDgwLTIwLjM2NSAyMC42MTMtMTQuMzU1IDM0Ljc3My0zNy4zMzggNDMuNjM2LTY2LjkwNmwtNTguMTgyLTE0LjU1NGMtNC45NjkgMTkuODQ2LTExLjg1OSAzNC40LTIzLjI3MyA0My42NDJzLTI2LjMzNiAxMS42MzUtNDIuMTgyIDExLjYzNWMtMjEuNDg2IDAtMzguOTM1LTUuODI0LTUyLjM2NC0yMC4zNTgtMTMuNDI5LTE0LjU0Ny0yMC4zNjQtMzguNDgzLTIwLjM2NC03Mi43MzYtMC0zMi4yNzUgNi43MzQtNTUuMzk4IDIwLjM2NC02OS44MTEgMTMuNjMtMTQuNDE5IDMxLjkyOS0yMy4yNzcgNTMuODE4LTIzLjI3NyAxNS44NDYgMCAyOS42NDggMy40NTYgNDAuNzI3IDExLjYzNSAxMS4wNzggOC4xMjggMTguMzI2IDIwLjg2NCAyMS44MTggMzQuOTEybDU4LjE4Mi0xNC41NDdjLTYuNzE1LTIxLjY4My0xNy4xMTctMzcuODY5LTMwLjU0NS00OS40NTMtMjIuNTYtMTkuNTktNTIuNjA1LTI5LjA5NC04OC43MjctMjkuMDk0ek0yNDIuOTA5IDE5NC45MTJ2MjcwLjU0N2gxMTMuNDU1YzIyLjAyMyAwIDM5LjIwMy0xLjk4NCA1Mi4zNjQtNS44MjQgMTcuNTkxLTUuMTg0IDMwLjM4Ny0xNC4wNDIgNDAuNzI3LTIzLjI3NyAxMy42OTctMTIuMTk4IDI0LjYxNC0yNi44MzUgMzItNDYuNTQ3IDYuMDQyLTE2LjE0MSA4LjcyNy0zNS44ODUgOC43MjctNTguMTgyLTAtMjUuMzgyLTIuMjgyLTQ2LjY4OC04LjcyNy02NC02LjQ0Ni0xNy4zMDYtMTYuNzM3LTMxLjY4LTI5LjA5MS00My42MzUtMTIuMzU1LTExLjk0OS0yNi4zMTQtMjEuNTA0LTQzLjYzNi0yNi4xODItMTIuODkyLTMuNDU2LTMzLjYwOC0yLjg4LTU4LjE4Mi0yLjg4aC0xMDcuNjM2ek0zMDIuNTQ1IDIzOC41NTRoMjYuMTgyYzI0LjMwNiAwIDQxLjEyOSAxLjIxNiA0OS40NTUgMi44OCAxMS4xNDYgMi4yNCAyMS44MzkgOC4yNTYgMjkuMDkxIDE0LjU0MSA3LjI1MSA2LjI3MiAxMC41MTcgMTQuOTc2IDE0LjU0NSAyNi4xODIgNC4wMjggMTEuMjEzIDcuMjczIDI1LjYgNy4yNzMgNDYuNTU0LTAgMjAuOTQxLTMuMjQ0IDM3LjMxOC03LjI3MyA0OS40NDYtNC4wMjkgMTIuMTM0LTguMTY3IDIwLjg5LTE0LjU0NSAyNi4xODktNi4zNzkgNS4zMTItMTUuMDU5IDkuNDE0LTI0LjcyNyAxMS42MjktNy4zODYgMS43MjgtMTkuNzEyIDIuODgtMzYuMzY0IDIuODhoLTQzLjYzNnYtMTgwLjM2NXpNMjcyIDU5OS4yODNjLTE1LjEzOSAwLTI3LjYzNiAxMC4zNzQtMjcuNjM2IDIzLjI2NCAwIDEyLjkwMiAxMi40OTggMjMuMjc3IDI3LjYzNiAyMy4yNzdoNDg1LjgxOGMxNS4xMzkgMCAyNy42MzYtMTAuMzc0IDI3LjYzNi0yMy4yNzcgMC0xMi44OS0xMi40OTgtMjMuMjY0LTI3LjYzNi0yMy4yNjRoLTQ4NS44MTh6TTI3MiA3MzMuMTAxYy0xNS4xMzkgMC0yNy42MzYgMTAuMzgxLTI3LjYzNiAyMy4yNyAwIDEyLjg5NiAxMi40OTggMjMuMjcgMjcuNjM2IDIzLjI3aDQ4NS44MThjMTUuMTM5IDAgMjcuNjM2LTEwLjM3NCAyNy42MzYtMjMuMjcgMC0xMi44OS0xMi40OTgtMjMuMjctMjcuNjM2LTIzLjI3aC00ODUuODE4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY29tbW9uX2RjIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTcKKwkJCQkJXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTkKKwkJCQkJXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMyOSwKKwkJCQkiaWQiOiAyOTUsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgxMCwKKwkJCQkibmFtZSI6ICJjb21tb25fZGMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTUyIDBjLTg0LjMyIDAtMTUyIDY3LjY4LTE1MiAxNTJ2NzIwYzAgODQuMzIgNjcuNjggMTUyIDE1MiAxNTJoNzIwYzg0LjMyIDAgMTUyLTY3LjY4IDE1Mi0xNTJ2LTcyMGMwLTg0LjMyLTY3LjY4LTE1Mi0xNTItMTUyek0xMDQgMTY2aDk4bDIwMiAyNjR2LTI2NGg5NHYzMDJjLTE3LjUzOC01LjA5OC0zNy4wMjQtOC01Ni04LTM3LjA4NCAwLTcxLjQ5MSAxMS43NDItMTAyIDMwbC0xNDQtMTg2djI1OGgtOTJ6TTQ1NiA1NTEuMzM2YzQwLjAxMyAwIDczLjAxMCAxMC4zNTMgOTggMzQgMTQuODc0IDEzLjk4MiAyNi41NjIgMzMuODI0IDM0IDYwbC02NiAxNmMtMy44NjgtMTYuOTU2LTkuNzI5LTMwLjE4LTIyLTQwLTEyLjI3Mi05LjgyNS0yOC40NDgtMTQtNDYtMTQtMjQuMjQ2IDAtNDQuOTAyIDguNTkzLTYwIDI2LTE1LjA5OCAxNy40MDEtMjIgNDUuMDI5LTIyIDg0LTAgNDEuMzU3IDcuMTI1IDcyLjQ1IDIyIDkwczM2LjIgMjQgNjAgMjRjMTcuNTUyIDAgMzEuMzU2LTQuODQ0IDQ0LTE2czIwLjQ5Ni0yOC4wNTAgMjYtNTJsNjQgMjBjLTkuODE4IDM1LjcwNS0yNS4xNjggNjAuNjczLTQ4IDc4cy01MC44OTYgMjgtODYgMjhjLTQzLjQzNCAwLTgwLjAzNi0xNi4zMy0xMDgtNDYtMjcuOTY1LTI5LjY3Ni00Mi02OC41MzItNDItMTIwLTAtNTQuNDM3IDEzLjg4Ny05Ny44NzkgNDItMTI4czY0LjE4Ni00NCAxMTAtNDR6TTY0NiA1NTcuMzM2aDEyMmMyNy4yMjEgMCA0Ny43Mi0wLjE2OCA2MiA0IDE5LjE4OCA1LjY1MiAzNC4zMTUgMTcuNTczIDQ4IDMyczI0Ljg2IDMxLjEwNSAzMiA1MmM3LjE0IDIwLjkwMSAxMCA0Ny4zNTkgMTAgNzgtMCAyNi45MjQtMy4zMDcgNTAuNTE1LTEwIDcwLTguMTgxIDIzLjc5Ni0yMC44MjggNDEuMjctMzYgNTYtMTEuNDU0IDExLjE1Ni0yNi41MTQgMTkuNzU0LTQ2IDI2LTE0LjU3NyA0LjYzLTMzLjYwNiA4LTU4IDhoLTEyNHpNNzEyIDYxMS4zMzZ2MjE2aDUwYzE4LjQ0NSAwIDMxLjgxOSAwLjA1NSA0MC0yIDEwLjcxLTIuNjcyIDE4LjkzNC03LjYwNiAyNi0xNHMxMy41MzctMTcuMzQ1IDE4LTMyYzQuNDYzLTE0LjY1IDYtMzQuNzE0IDYtNjBzLTEuNTM4LTQ0LjQ2NC02LTU4Yy00LjQ2My0xMy41MzYtMTEuOTY4LTI0LjQxMy0yMC0zMi04LjAzMy03LjU4Mi0xNy42NTQtMTMuMzE3LTMwLTE2LTkuMjIzLTIuMzQxLTI3LjA3Ny0yLTU0LTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImNvbW1vbl9uY2QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMzMCwKKwkJCQkiaWQiOiAyOTQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgxMSwKKwkJCQkibmFtZSI6ICJjb21tb25fbmNkIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTgyMCAwbC00MCA0IDEyIDY2IDQwLTQtMTItNjZ6TTY3OCAyMmMtMzkuMDgzIDAtNjggMzAuOTY2LTY4IDcwIDAgMzkuMDIxIDI4LjkxNyA3MCA2OCA3MCAxMC44MzEgMCAyMi44MjMtMS42NDggMzItNmw0OCA0NiAzNi0zOC00OC00OGMyLjYyLTcuMzkyIDQtMTUuNzI1IDQtMjQgMC0zOS4wMzQtMzIuOTE2LTcwLTcyLTcwek05NDggNDRsLTkwIDYwIDMwIDQ2IDkwLTYyLTMwLTQ0ek0xNTAgOThjLTg0LjA4MSAwLTE1MCA2Ni4wNDUtMTUwIDE1MHY2MjZjMCA4My45NjIgNjUuOTE5IDE1MCAxNTAgMTUwaDYyOGM4NC4wODEgMCAxNTAtNjYuMDM4IDE1MC0xNTB2LTQyMGMtOTcuMDA5IDM1LjU1Mi0yMTkuNTM4IDQuOTMxLTMwNC04Mi03OS4wNjgtODEuMzgyLTEwMi45NTUtMTg3Ljk4NC02OC0yNzRoLTQwNnpNMTAyMCAxNjhsLTY2IDEyIDQgNDAgNjYtMTItNC00MHpNNjYyIDE5MGwtNjYgMTIgNCAzOCA2Ni0xMC00LTQwek04NTggMjE4bC0zOCAzOCAzOCAzNmMtMi41MzEgNy4yNy02IDE1Ljg2Ni02IDI0IDAgMzkuMDI3IDMwLjkxNiA3MCA3MCA3MHM3Mi0zMC45NzMgNzItNzBjMC0zOS4wMjctMzIuOTE3LTcyLTcyLTcyLTEwLjk5MiAwLTIwLjcxOSAzLjUwNy0zMCA4bC0zNC0zNHpNNzMyIDI2MGwtOTAgNjIgMjggNDQgOTItNTgtMzAtNDh6TTEwNCAyODhoOTJsMTkwIDIzMnYtMjMyaDg4djI2NmMtMTYuNTA5LTQuNTIzLTM0LjEzOC04LTUyLTgtMzQuOTA3IDAtNjcuMjgyIDkuOTA4LTk2IDI2bC0xMzYtMTY0djIyOGgtODZ2LTM0OHpNODI2IDM0NGwtNDAgMiAxMCA2NiA0MC00LTEwLTY0ek00MzYgNTk4YzM3LjY2NCAwIDY4LjQ3NyA5LjE2MSA5MiAzMCAxNC4wMDEgMTIuMzE2IDI0Ljk5OSAzMC45MjkgMzIgNTRsLTYyIDE0Yy0zLjY0MS0xNC45NC0xMC40NDktMjcuMzQ5LTIyLTM2LTExLjU1Mi04LjY2LTI1LjQ3OC0xMi00Mi0xMi0yMi44MjMgMC00MS43ODggOC42Ni01NiAyNC0xNC4yMTIgMTUuMzMtMjIgMzkuNjU1LTIyIDc0LTAgMzYuNDQ1IDcuOTk4IDYyLjU0MSAyMiA3OCAxNC4wMDIgMTUuNDYzIDMzLjU5NyAyMiA1NiAyMiAxNi41MjIgMCAyOC4wOTgtNC4xODggNDAtMTQgMTEuOTAxLTkuODMxIDIwLjgxOS0yNC45IDI2LTQ2bDYwIDE4Yy05LjI0MSAzMS40Ni0yNC41MDggNTIuNzI3LTQ2IDY4LTIxLjQ5MyAxNS4yNjMtNDYuOTU2IDI0LTgwIDI0LTQwLjg4NSAwLTc1LjY3Ny0xMy44NDgtMTAyLTQwcy00MC02MC42NDctNDAtMTA2YzAtNDcuOTcxIDEzLjUzNy04NS40NTggNDAtMTEyczYwLjg3NS00MCAxMDQtNDB6TTYxNCA2MDRoMTE2YzI1LjYyMyAwIDQ0LjU1OCAwLjUyNSA1OCA0IDE4LjA2MiA0Ljk2MSAzMS4xMTggMTUuMjc5IDQ0IDI4IDEyLjg4MSAxMi43MDcgMjMuMjc5IDI3LjU4NSAzMCA0NnMxMCA0MC45OTYgMTAgNjhjLTAgMjMuNzI0LTMuNyA0NC44MzItMTAgNjItNy43MDEgMjAuOTcyLTE5LjcxOSAzNy4wMTItMzQgNTAtMTAuNzgyIDkuODI3LTIzLjY1OCAxNi40OTYtNDIgMjItMTMuNzIyIDQuMDQ3LTMzLjAzNyA4LTU2IDhoLTExNnYtMjg4ek02NzYgNjUydjE5MGg0OGMxNy4zNjIgMCAzMC4yOTktMC4yMzcgMzgtMiAxMC4wODEtMi4zODEgMTcuMzQ5LTYuMzY4IDI0LTEyIDYuNjUxLTUuNjM3IDExLjc5OS0xNS4wODggMTYtMjhzNi0zMS43MTkgNi01NGMwLTIyLjI4Ni0xLjgtMzguMDc0LTYtNTAtNC4yMDEtMTEuOTM2LTEwLjQzOS0yMS4zMTYtMTgtMjhzLTE2LjM3OS0xMS42MzQtMjgtMTRjLTguNjgxLTIuMDk1LTI2LjY1Ny0yLTUyLTJoLTI4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjb21tb25fbmNkX2JyZWFrIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdLAorCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDExMjMxMzExNDcxMTI0MTMzMTUwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzMzEsCisJCQkJImlkIjogMjkzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MTIsCisJCQkJIm5hbWUiOiAiY29tbW9uX25jZF9icmVhayIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMjggMGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjkxMiA1Ny4wODggMTI4IDEyOCAxMjhoNzY4YzcwLjkxMiAwIDEyOC01Ny4wODggMTI4LTEyOHYtNzY4YzAtNzAuOTEyLTU3LjA4OC0xMjgtMTI4LTEyOGgtNzY4ek0xOTIgMTQ2aDYyOGMyNi4wMTIgMCA0OS41NDIgMTEuMDE5IDY4IDI2IDIyLjEwOSAxNy45NDQgMzggNDIuOTM4IDM4IDcydjM4MGMwIDUzLjMyNS00OC44MyA5Ni0xMDYgOTZoLTI1MmMxMy43NTUgMjYuODEgMjguMjkyIDY2LjU4OSAxMiA4Ni0yOC4xOTkgMzMuNTk0LTEwNy4wNjAgMzMuMDMwLTEzNiAwLTE2LjYyLTE4Ljk3Ni0yLjMyNS01OS4wMzAgMTAtODZoLTI2MmMtNTcuMTcgMC0xMDQtNDIuNjc1LTEwNC05NnYtMzgwYzAtMjkuMDYyIDEzLjg5MS01NC4wNTYgMzYtNzIgMTguNDU4LTE0Ljk4MSA0MS45ODgtMjYgNjgtMjZ6TTMwOCAyMjhjLTMxLjY4OCAwLTU3LjU5NCA0LjQzOC04MCAxNHMtNDAuMDk0IDIzLjcxOS01MiA0MmMtMTEuOTA2IDE4LjI4Mi0xOCAzOS0xOCA2MC0wIDMyLjYyNSAxMi42ODcgNTkuMzEzIDM4IDgyIDE4IDE2LjEyNSA0OS4zNzUgMjguOTM4IDk0IDQwIDM0LjY4NyA4LjYyNSA1OC4yNSAxNC42MjUgNjggMTggMTQuMjUgNS4wNjMgMjIuMjgxIDExLjE1NiAyOCAxOHMxMCAxNi4yNSAxMCAyNmMtMCAxNS4xODgtNi40MDcgMjguNjU2LTIwIDQwcy0zNS4xODggMTYtNjIgMTZjLTI1LjMxMyAwLTQ1LjA5NC01LjI1LTYwLTE4cy0yNS4xMjUtMzIuODEyLTMwLTYwbC04MCA4YzUuNDM3IDQ2LjEyNSAyMi4wNjIgNzkuOTA2IDUwIDEwNHM2Ny44NzUgMzYgMTIwIDM2YzM1LjgxMiAwIDY2LTMuOTY5IDkwLTE0czQyLjg3NS0yNS4zNzUgNTYtNDZjMTMuMTI1LTIwLjYyNSAxOC00Mi4zNzUgMTgtNjYtMC0yNi4wNjItNS4wMzItNDguMjgxLTE2LTY2cy0yNi41OTQtMzEuNzgxLTQ2LTQyYy0xOS40MDctMTAuMjE5LTQ5LjUtMjAuNDM3LTkwLTMwcy02NS41LTE5LjE4Ny03Ni0yOGMtOC4yNS02LjkzNy0xMi0xNC4yNS0xMi0yNC0wLTEwLjY4NyA1LjE4Ny0xOS42MjUgMTQtMjYgMTMuNjg3LTkuOTM3IDMxLjgxMi0xNiA1Ni0xNiAyMy40MzcgMCA0MC4yODEgNC43MTkgNTIgMTRzMjAuNDM3IDI0LjgxMyAyNCA0Nmw4Mi00Yy0xLjMxMy0zNy44NzUtMTMuODQ0LTY3LjMxMi00MC05MHMtNjYuMjUtMzQtMTE4LTM0ek03MjggMjI4Yy01Ny43NSAwLTEwNC41NjMgMTguMDMyLTE0MCA1NnMtNTQgOTEuMzc1LTU0IDE2MGMtMCA2NC44NzUgMTguNzUgMTE2LjU5NCA1NCAxNTRzNzkuMjUgNTYgMTM0IDU2YzQ0LjI1IDAgODEuMjE4LTEwLjE1NiAxMTAtMzJzNDkuNjI1LTU1IDYyLTEwMGwtODAtMjZjLTYuOTM4IDMwLjE4OC0yMC4wNjMgNTEuOTM4LTM2IDY2cy0zMy44NzUgMjItNTYgMjJjLTMwIDAtNTUuMjUtMTEuODc1LTc0LTM0cy0yOC01OS44NzUtMjgtMTEyYy0wLTQ5LjEyNSAxMC45NjktODQuMDYyIDMwLTEwNnM0My40MzctMzIgNzQtMzJjMjIuMTI1IDAgNDAuNTMxIDUuNjI1IDU2IDE4czI1LjEyNSAyOC42MjUgMzAgNTBsODItMjBjLTkuMzc1LTMzLTIzLjI1LTU4LjM3NS00Mi03Ni0zMS41LTI5LjgxMi03MS41NjMtNDQtMTIyLTQ0ek00MTggODE0YzEuMDk2IDguMTI4IDUuMDQ2IDE0LjQwNiAxMCAyMCAzNS45NDQgNDAuNjE0IDEzNC45NzcgNDEuMzEyIDE3MCAwIDQuNjg1LTUuNTA0IDcuMTA3LTEyLjE4NiA4LTIwIDYyLjY2MSA4LjI2MiAxMDQgMjUuMjIyIDEwNCA0NCAwIDI3LjExLTg4LjMgNDgtMTk4IDQ4cy0yMDAtMjAuODktMjAwLTQ4YzAtMTguNzc4IDQzLjMzOS0zNS43MzggMTA2LTQ0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY29tbW9uX3NjIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTcKKwkJCQkJXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTkKKwkJCQkJXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMzMiwKKwkJCQkiaWQiOiAyOTIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgxMywKKwkJCQkibmFtZSI6ICJjb21tb25fc2MiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxOAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNDk2IDBjLTg4LjM2NiAwLTE2MCA3MS42MzQtMTYwIDE2MCAwIDI0LjYxNiA2LjA2OSA0Ny4xNjggMTYgNjgtMi43MTctMC4xMzctNS4yNDkgMC04IDAtODguMzY2IDAtMTYwIDcxLjYzNC0xNjAgMTYwIDAgMjcuNDU2IDUuODE1IDUzLjQyMSAxOCA3Ni02Ni41OCAxOS4zNjMtMTE2IDc5LjE3Mi0xMTYgMTUyIDAgMzUuMTI5IDEyLjgwNyA2Ny42MDkgMzIgOTQtNjcuODA2IDE4LjU3MS0xMTggODAuMzAxLTExOCAxNTQgMCA4OC4zNjYgNzEuNjM0IDE2MCAxNjAgMTYwIDQ2LjgzNCAwIDg4Ljc0LTE5LjkzIDExOC01MiAyOS4yODQgMzIuNDc0IDcyLjgyOSA1MiAxMjAgNTIgNDUuMTc5IDAgODQuOTA2LTE3Ljg4NyAxMTQtNDggMjkuMDk0IDMwLjExMyA3MC44MjEgNDggMTE2IDQ4IDQ3LjE3MSAwIDg4LjcxNi0xOS41MjYgMTE4LTUyIDI5LjI2IDMyLjA3MCA3MS4xNjYgNTIgMTE4IDUyIDg4LjM2NiAwIDE2MC03MS42MzQgMTYwLTE2MCAwLTc1LjA3NC01Mi4yNTctMTM2Ljc0Ny0xMjItMTU0IDE4Ljc0NS0yNi4yMDYgMzAtNTkuMzI0IDMwLTk0IDAtODAuMDM5LTU5LjI1OS0xNDQuMjEzLTEzNi0xNTYgOC4wOTYtMTkuMTQyIDEyLTQxLjkwOSAxMi02NCAwLTg4LjM2Ni03MS42MzQtMTYwLTE2MC0xNjAtNC44NDMgMC05LjI2NiAxLjU3OS0xNCAyIDEyLjk3OS0yMy4xMjMgMjItNDkuNTk3IDIyLTc4IDAtODguMzY2LTcxLjYzNC0xNjAtMTYwLTE2MHpNNDg2IDMyMGMzLjM4NCAwLjIxNCA2LjU2MiAwIDEwIDAgNC44MTQgMCA5LjI5NCAwLjQxNiAxNCAwLTQuODc1IDguNzIyLTEwLjgwOCAxNi4zNjktMTQgMjYtMi40OTQtOS4wMjEtNi4wNDAtMTcuNjk0LTEwLTI2ek00OTQgNDM4YzEuNzg5IDYuODY2IDMuMzU0IDEzLjUyNSA2IDIwLTQuNzcgMC4yNDYtOS4zNDkgMS4zNDYtMTQgMiAzLjQ1OS02Ljg1OCA1LjU0My0xNC42MiA4LTIyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJuZXR3b3JrVHJlZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzMzLAorCQkJCSJpZCI6IDI5MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODE0LAorCQkJCSJuYW1lIjogIm5ldHdvcmtUcmVlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE5MiAwYy0xMDUuNTIyIDAtMTkwIDg0LjQ3OC0xOTAgMTkwdjY0NGMwIDEwNS41MjIgODQuNDc4IDE5MCAxOTAgMTkwaDY0NGMxMDUuNTIyIDAgMTkwLTg0LjQ3OCAxOTAtMTkwdi02NDRjMC0xMDUuNTIyLTg0LjQ3OC0xOTAtMTkwLTE5MGgtNjQ0ek04MDAgOTZjNTIuNTk4IDAgOTYgNDMuNDAzIDk2IDk2cy00My40MDIgOTYtOTYgOTZjLTUyLjU5OCAwLTk0LTQzLjQwMy05NC05NnM0MS40MDItOTYgOTQtOTZ6TTE1NiAxMDhoNDQ2djE3NmgtNDQ2di0xNzZ6TTgwNCA0MThjNTIuNTk4IDAgOTYgNDMuNDAzIDk2IDk2cy00My40MDIgOTYtOTYgOTZjLTUyLjU5OCAwLTk0LTQzLjQwMy05NC05NnM0MS40MDItOTYgOTQtOTZ6TTE1MCA0MjRoNDQ0djE3NmgtNDQ0di0xNzZ6TTE1NiA3NDBoNDQ2djE3NmgtNDQ2di0xNzZ6TTgwOCA3NDBjNTIuNTk4IDAgOTQgNDMuNDAyIDk0IDk2cy00MS40MDIgOTYtOTQgOTZjLTUyLjU5OCAwLTk2LTQzLjQwMi05Ni05NnM0My40MDItOTYgOTYtOTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInJlc291cmNlVHlwZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzM0LAorCQkJCSJpZCI6IDI5MCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODE1LAorCQkJCSJuYW1lIjogInJlc291cmNlVHlwZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zODQgMGgyNTZ2MjU2aC01Ni42MTd2MTI4aDMxMi42MTd2Mzg0aDEyOHYyNTZoLTM4NHYtMjU2aDEyOHYtMjU2aC01MTJ2MjU2aDEyOHYyNTZoLTM4NHYtMjU2aDEyOHYtMzg0aDMyMi44NzN2LTEyOGgtNjYuODczdi0yNTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInRyZWUtaWNvbiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzM1LAorCQkJCSJpZCI6IDI4OSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODE2LAorCQkJCSJuYW1lIjogInRyZWUtaWNvbiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDI1NnYxOTJoOTZ2MzIwaC05NnYyNTZoMjU2di0yNTZoLTk2di0zMjBoMzIwdjMyMGgtOTZ2MjU2aDI1NnYtMjU2aC05NnYtMzIwaDMyMHYzMjBoLTk2djI1NmgyNTZ2LTI1NmgtOTZ2LTMyMGg5NnYtMTkyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ1ZXAtdG9wby1ncm91cDIweDIwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdLAorCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDExMjMxMzExNDcxMTI0MTMzMTUwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzMzYsCisJCQkJImlkIjogMjg4LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MTcsCisJCQkJIm5hbWUiOiAidWVwLXRvcG8tZ3JvdXAyMHgyMCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04NiAwYy00Ny40NzcgMC04NiAzOC41MjMtODYgODZ2NTMyYzAgNDcuNDc3IDM4LjUyMyA4NiA4NiA4NmgzNTBsLTQ0IDE3MmMxMDguMTQzIDM4LjgwOCAxNzguNTE2IDI2LjkyOCAyNDAgMGwtMzQtMTcyaDM0MGM0Ny40NzcgMCA4Ni0zOC41MjMgODYtODZ2LTUzMmMwLTQ3LjQ3Ny0zOC41MjMtODYtODYtODZoLTg1MnpNMTEwIDExMmg4MDR2NDY4aC04MDR2LTQ2OHoiLAorCQkJCQkiTTMwNCA4NDBjLTM3LjIyNyAxOS4zNTktNjAgNDUuMTU1LTYwIDcyIDAgNjIuMjUgMTIwLjA5NCAxMTIgMjY4IDExMnMyNjgtNDkuNzUgMjY4LTExMmMwLTI2Ljg0NS0yMi43NzMtNTIuNjQxLTYwLTcyLTIyLjM3NiA2My41MTgtMTA2LjEwOSAxMTItMjA4IDExMnMtMTg1LjYyNC00OC40ODItMjA4LTExMnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkidWVwLXRvcG8tcm9vdCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzM3LAorCQkJCSJpZCI6IDI4NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODE4LAorCQkJCSJuYW1lIjogInVlcC10b3BvLXJvb3QiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCA1MTUuMDAzaDE5MnY1MDguOTk3aC0xOTJ2LTUwOC45OTd6IiwKKwkJCQkJIk02MjMuODE5IDB2Mzg0bDEzNi0xMjJ2NzYyaDEyOHYtNzQ2bDEzNiAxMjJ2LTM4NGwtMTkyIDE3Mi0yMDgtMTg4eiIsCisJCQkJCSJNMjk4Ljg1NyA1MTUuMDAzaDE5MnY1MDguOTk3aC0xOTJ2LTUwOC45OTd6IiwKKwkJCQkJIk01OTcuNzE0IDUxNS4wMDNoMTkydjUwOC45OTdoLTE5MnYtNTA4Ljk5N3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkidWVwLXRvcG8tdmlydHVhbDIweDIwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdLAorCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDExMjMxMzExNDcxMTI0MTMzMTUwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzMzgsCisJCQkJImlkIjogMjg2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MTksCisJCQkJIm5hbWUiOiAidWVwLXRvcG8tdmlydHVhbDIweDIwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTgxNC0wLjAwMmMtMTE1LjgzMyAwLTIwOCA5NC4zNzEtMjA4IDIxMCAwIDExNS42MjMgOTIuMTY3IDIwOCAyMDggMjA4czIxMC05Mi4zNzcgMjEwLTIwOGMwLTExNS42MjktOTQuMTY3LTIxMC0yMTAtMjEwek0xNTIgOTMuOTk4Yy04NC40MzIgMC0xNTIgNjcuNzE3LTE1MiAxNTJ2NjI2YzAgODQuMjc3IDY3LjU2OCAxNTIgMTUyIDE1Mmg2MjhjODQuNDMyIDAgMTUwLTY3LjcyMyAxNTAtMTUydi0zOTJjLTM1Ljg2NyAxNi4yNDItNzQuMDUwIDI2LTExNiAyNi0xNTcuNDQ1IDAtMjg2LTEyNi44MjctMjg2LTI4NCAwLTQ1LjcyMSAxMC44MDItODkuNzE5IDMwLTEyOGgtNDA2ek03MDQgMTA1Ljk5OGg3MHYyMDZoLTcwdi0yMDZ6TTg1NiAxMDUuOTk4aDcwdjIwNmgtNzB2LTIwNnpNMTEwIDI5MS45OThoODRsMTc2IDIyOHYtMjI4aDgwdjI2MGMtMTUuMTczLTQuNDMzLTMxLjU4My02LTQ4LTYtMzIuMDgzIDAtNjEuNjA1IDEwLjIyOS04OCAyNmwtMTI0LTE2MHYyMjJoLTgwdi0zNDJ6TTQxNCA1OTcuOTk4YzM0LjYxNyAwIDYyLjM4IDkuNTc3IDg0IDMwIDEyLjg2OSAxMi4wNzEgMjMuNTY1IDI3LjM4OSAzMCA1MGwtNTYgMTRjLTMuMzQ2LTE0LjY0Mi05LjM4My0yNS41MjItMjAtMzQtMTAuNjE3LTguNDg3LTI0LjgxNS0xMi00MC0xMi0yMC45NzYgMC0zOC45MzggNi45NjYtNTIgMjItMTMuMDYyIDE1LjAyNC0xOCA0MC4zNC0xOCA3NC0wIDM1LjcxOCA1LjEzMSA2MC44NSAxOCA3NiAxMi44NjkgMTUuMTU1IDMxLjQxIDIyIDUyIDIyIDE1LjE4NSAwIDI3LjA2MS00LjM4MyAzOC0xNCAxMC45MzgtOS42MzUgMTcuMjM4LTI1LjMyMSAyMi00Nmw1NiAxOGMtOC40OTQgMzAuODMzLTIyLjI0NiA1My4wMzItNDIgNjgtMTkuNzU0IDE0Ljk1OS00My42MyAyNC03NCAyNC0zNy41NzcgMC02OS44MDctMTQuMzctOTQtNDBzLTM2LTU5LjU1Mi0zNi0xMDRjMC00Ny4wMTQgMTEuNjc4LTgzLjk4NyAzNi0xMTBzNTYuMzY0LTM4IDk2LTM4ek01NzggNjAzLjk5OGgxMDZjMjMuNTUgMCA0MS42NDYtMS40MDYgNTQgMiAxNi42MDEgNC44NjIgMzAuMTYgMTUuNTMzIDQyIDI4IDExLjgzOSAxMi40NTMgMTkuODIzIDI1Ljk1MiAyNiA0NHMxMCA0MS41MzUgMTAgNjhjLTAgMjMuMjUtNC4yMSA0My4xNzUtMTAgNjAtNy4wNzggMjAuNTUzLTE2Ljg3NCAzNy4yNzEtMzAgNTAtOS45MDkgOS42MzEtMjMuMTQyIDE2LjYwNi00MCAyMi0xMi42MTIgMy45NjYtMjguODk1IDYtNTAgNmgtMTA4di0yODB6TTYzNiA2NDkuOTk4djE4Nmg0MmMxNS45NTcgMCAyOC45MjItMC4yNzUgMzYtMiA5LjI2NS0yLjMzMyAxNS44ODctNi40OCAyMi0xMiA2LjExMy01LjUyNCAxMi4xMzktMTUuMzQ2IDE2LTI4czQtMzAuMTYzIDQtNTJjMC0yMS44NDEtMC4xNDEtMzguMzEyLTQtNTAtMy44NjEtMTEuNjk4LTExLjA1MS0xOS40NDktMTgtMjZzLTE1LjMxOS0xMS42ODEtMjYtMTRjLTcuOTc5LTIuMDUzLTIyLjcwNy0yLTQ2LTJoLTI2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjb21tb25fbmNkX3N0b3AiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10sCisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTEyMzEzMTE0NzExMjQxMzMxNTAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDMzOSwKKwkJCQkiaWQiOiAyODUsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgyMCwKKwkJCQkibmFtZSI6ICJjb21tb25fbmNkX3N0b3AiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTIwIDIwNS4xODNsLTU4IDEyNGg4OTRsLTMwLTY0aC00MjRsLTE2LTYwek0wIDQzMGw2NCA1OTRoODk4bDYyLTU5NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkidWVwLW1vYy1yb290IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdLAorCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDExMjMxMzExNDcxMTI0MTMzMTUwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNDAsCisJCQkJImlkIjogMjg0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MjEsCisJCQkJIm5hbWUiOiAidWVwLW1vYy1yb290IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTAgMjU2djE5Mmg5NnYzMjBoLTk2djI1NmgyNTZ2LTI1NmgtOTZ2LTMyMGgzMjB2MzIwaC05NnYyNTZoMjU2di0yNTZoLTk2di0zMjBoMzIwdjMyMGgtOTZ2MjU2aDI1NnYtMjU2aC05NnYtMzIwaDk2di0xOTJ6TTY0IDgzMmgxMjh2MTI4aC0xMjh6TTQ0OCA4MzJoMTI4djEyOGgtMTI4ek04MzIgODMyaDEyOHYxMjhoLTEyOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkidWVwLXRvcG8tdW5kZWZpbmVkZ3JvdXAyMHgyMCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXSwKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMTIzMTMxMTQ3MTEyNDEzMzE1MDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzQxLAorCQkJCSJpZCI6IDI4MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODIyLAorCQkJCSJuYW1lIjogInVlcC10b3BvLXVuZGVmaW5lZGdyb3VwMjB4MjAiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjg4LjQxNCA0MDIuMThjMCAwLjAwOSAwIDAuMDIwIDAgMC4wMzAgMCA3OS42NDMtNjQuNTY0IDE0NC4yMDctMTQ0LjIwNyAxNDQuMjA3cy0xNDQuMjA3LTY0LjU2NC0xNDQuMjA3LTE0NC4yMDdjMC0wLjAxMSAwLTAuMDIxIDAtMC4wMzItMC0wLjAwNy0wLTAuMDE4LTAtMC4wMjkgMC03OS42NDMgNjQuNTY0LTE0NC4yMDcgMTQ0LjIwNy0xNDQuMjA3czE0NC4yMDcgNjQuNTY0IDE0NC4yMDcgMTQ0LjIwN2MwIDAuMDExLTAgMC4wMjEtMCAwLjAzMnoiLAorCQkJCQkiTTI4Ny4yNiA4MTEuNzI4YzAgMC4wMDcgMCAwLjAxNiAwIDAuMDI1IDAgNjQuMzUyLTUyLjE2NyAxMTYuNTE5LTExNi41MTkgMTE2LjUxOXMtMTE2LjUxOS01Mi4xNjctMTE2LjUxOS0xMTYuNTE5YzAtMC4wMDkgMC0wLjAxNyAwLTAuMDI2LTAtMC4wMDYtMC0wLjAxNS0wLTAuMDIzIDAtNjQuMzUyIDUyLjE2Ny0xMTYuNTE5IDExNi41MTktMTE2LjUxOXMxMTYuNTE5IDUyLjE2NyAxMTYuNTE5IDExNi41MTljMCAwLjAwOS0wIDAuMDE3LTAgMC4wMjZ6IiwKKwkJCQkJIk03MTYuNDE5IDg5OC4yNTJjMCAwLjAwOCAwIDAuMDE3IDAgMC4wMjYgMCA2OS40NDktNTYuMjk5IDEyNS43NDgtMTI1Ljc0OCAxMjUuNzQ4cy0xMjUuNzQ4LTU2LjI5OS0xMjUuNzQ4LTEyNS43NDhjMC0wLjAwOSAwLTAuMDE5IDAtMC4wMjgtMC0wLjAwNi0wLTAuMDE2LTAtMC4wMjUgMC02OS40NDkgNTYuMjk5LTEyNS43NDggMTI1Ljc0OC0xMjUuNzQ4czEyNS43NDggNTYuMjk5IDEyNS43NDggMTI1Ljc0OGMwIDAuMDA5LTAgMC4wMTktMCAwLjAyOHoiLAorCQkJCQkiTTc0OC43MjEgMjI3Ljk3OWMwIDAuMDE0IDAgMC4wMzEgMCAwLjA0NyAwIDEyNC4yNDMtMTAwLjcxOSAyMjQuOTYzLTIyNC45NjMgMjI0Ljk2M3MtMjI0Ljk2My0xMDAuNzE5LTIyNC45NjMtMjI0Ljk2M2MwLTAuMDE3IDAtMC4wMzMgMC0wLjA1MC0wLTAuMDExLTAtMC4wMjgtMC0wLjA0NSAwLTEyNC4yNDMgMTAwLjcxOS0yMjQuOTYzIDIyNC45NjMtMjI0Ljk2M3MyMjQuOTYzIDEwMC43MTkgMjI0Ljk2MyAyMjQuOTYzYzAgMC4wMTctMCAwLjAzMy0wIDAuMDUweiIsCisJCQkJCSJNMTAyNS41OTggNTQxLjc3M2MwIDAuMDExIDAgMC4wMjQgMCAwLjAzNyAwIDk3LjQ4My03OS4wMjYgMTc2LjUwOS0xNzYuNTA5IDE3Ni41MDlzLTE3Ni41MDktNzkuMDI2LTE3Ni41MDktMTc2LjUwOWMwLTAuMDEzIDAtMC4wMjYgMC0wLjAzOS0wLTAuMDA5LTAtMC4wMjItMC0wLjAzNSAwLTk3LjQ4MyA3OS4wMjYtMTc2LjUwOSAxNzYuNTA5LTE3Ni41MDlzMTc2LjUwOSA3OS4wMjYgMTc2LjUwOSAxNzYuNTA5YzAgMC4wMTMtMCAwLjAyNi0wIDAuMDM5eiIsCisJCQkJCSJNNTI2LjA2NiA2MzUuMjE5YzAgMC4wMDYgMCAwLjAxMyAwIDAuMDIwIDAgNTEuNjA5LTQxLjgzNyA5My40NDYtOTMuNDQ2IDkzLjQ0NnMtOTMuNDQ2LTQxLjgzNy05My40NDYtOTMuNDQ2YzAtMC4wMDcgMC0wLjAxNCAwLTAuMDIxLTAtMC4wMDUtMC0wLjAxMi0wLTAuMDE5IDAtNTEuNjA5IDQxLjgzNy05My40NDYgOTMuNDQ2LTkzLjQ0NnM5My40NDYgNDEuODM3IDkzLjQ0NiA5My40NDZjMCAwLjAwNy0wIDAuMDE0LTAgMC4wMjF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFuYWx5c2lzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzQyLAorCQkJCSJpZCI6IDI4MiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODIzLAorCQkJCSJuYW1lIjogImFuYWx5c2lzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTMxNi0yYy05NS4wODkgMC0xNzIgNzYuOTExLTE3MiAxNzIgMCA5Mi40OCA3Mi41MjQgMTY3LjkyOSAxNjQgMTcyLTkwLjE5NCA1LjQzMS0xNjIgNzguNDQtMTYyIDE3MCAwIDg2LjY4NyA2NC42MzQgMTU4LjAwMiAxNDggMTcwLTg0LjA3MiAxMS4zNy0xNDggODIuODExLTE0OCAxNzAgMCA5NS4wODkgNzYuOTExIDE3MiAxNzIgMTcyczE3Mi03Ni45MTEgMTcyLTE3MmMwLTg3LjQyMi02NS42MDEtMTU4LjkyNS0xNTAtMTcwIDg0LjM0Ni0xMS4xMjQgMTUwLTgyLjYxNiAxNTAtMTcwIDAtOTIuMzMtNzIuNzMyLTE2Ny43MDYtMTY0LTE3MiA5MC4xOTQtNS40MzEgMTYyLTc4LjQ0IDE2Mi0xNzAgMC05NS4wODktNzYuOTExLTE3Mi0xNzItMTcyek03NTAgMjA2Yy05NS4wODkgMC0xNzIgNzYuOTExLTE3MiAxNzJzNzYuOTExIDE3MiAxNzIgMTcyYy05NC4xMjcgMS4xMTgtMTcwIDc3LjYwOC0xNzAgMTcyIDAgOTUuMDg5IDc2LjkxMSAxNzIgMTcyIDE3MnMxNzQtNzYuOTExIDE3NC0xNzJjMC05NS4wODktNzguOTExLTE3Mi0xNzQtMTcyIDk0LjE4LTEuMDU3IDE3MC03Ny41NjkgMTcwLTE3MiAwLTk1LjA4OS03Ni45MTEtMTcyLTE3Mi0xNzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImJpbmRpbmdSZWxhdGlvbnNoaXAiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNDMsCisJCQkJImlkIjogMjgxLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MjQsCisJCQkJIm5hbWUiOiAiYmluZGluZ1JlbGF0aW9uc2hpcCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDB2MTAyNGgxMDI0di0xMDI0aC0xMDI0ek02NCAyMzJoODk2djc0NGgtODk2di03NDR6TTE1NCAzODB2NjRoMzg2di02NGgtMzg2ek0xNTQgNTg2djY0aDczOHYtNjRoLTczOHpNMTU0IDc5OHY2NGg3Mzh2LTY0aC03Mzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImJyb3dzZVBvbGljeSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM0NCwKKwkJCQkiaWQiOiAyODAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgyNSwKKwkJCQkibmFtZSI6ICJicm93c2VQb2xpY3kiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzMAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCAwdjEwMjRoMTAyNHYtMTAyNGgtMTAyNHpNMTIyIDEyMGg3ODB2NTg0aC0xOTh2MTk4aC0zODR2LTE5OGgtMTk4di01ODR6TTIzNCAyMzR2NjRoNTU2di02NGgtNTU2ek0yMzQgNDQ2djY0aDU1NnYtNjRoLTU1NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiYnVzaW5lc3NNYW5hZ21lbnQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNDUsCisJCQkJImlkIjogMjc5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MjYsCisJCQkJIm5hbWUiOiAiYnVzaW5lc3NNYW5hZ21lbnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCAyMDUuNDcydjgxOC41MjhoMTAyNHYtODE4LjUyOHpNNjYgMjY5LjQ3Mmg4OTZ2MTA4LjkwMmgtODk2ek02NiA1NDQuMzc4aDg5NnY0MTUuNjIyaC04OTZ6TTcyNiA2OTkuMDk4djE5MmgxOTJ2LTE5MnpNMTA4IDgyNy4wOTh2NjRoMTU2di02NHpNMzE0IDgyNy4wOTh2NjRoNjR2LTY0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjYXJkRGF0YSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM0NiwKKwkJCQkiaWQiOiAyNzgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgyNywKKwkJCQkibmFtZSI6ICJjYXJkRGF0YSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDMyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zNDAtNGwtMzQgNi0yODYgNDggMTIgMzQgMjIgNzZoLTU0djg2MmgxMDI0di01ODUuMjI5bC0yOTUuMjI5LTI3Ni43NzFoLTI2Mi43NzFsLTE0LTEyMC02NCA2IDEyIDExNGgtNDZsLTEwLTEyOHpNMjgyIDcybDggODhoLTc4bC0yMi01MC00NCAxOCAxMiAzMmgtMzRsLTIwLTU4ek02NCAyMjRoMTE4bDg0IDIxNiAxMCAyMiAyNC00IDQ4LTYgMzAtNi0yLTMwLTE2LTE5MmgzNjguNzcxdjIxMi43NzFoMjMxLjIyOXY1MjEuMjI5aC04OTZ6TTI0MCAyMjRoNTZsMTIgMTUwek0xNDIgNTc4djY0aDc2MnYtNjR6TTE0MiA3NjR2NjRoNzYydi02NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiZGFpbHlNYW5hZ21lbnQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNDcsCisJCQkJImlkIjogMjc3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MjgsCisJCQkJIm5hbWUiOiAiZGFpbHlNYW5hZ21lbnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBsLTUxMiAzMjJoMTAyNGwtNTEyLTMyMnpNNTEyIDExNGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4cy0yMS40OSA0OC00OCA0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OHMyMS40OS00OCA0OC00OHoiLAorCQkJCQkiTTU1LjM0NCAzODkuMzMxbDQgMzAuMzM2djM5MS4zNzlsLTQgMzEuODUzaDE3NGwtNC0zMS44NTN2LTM5MS4zNzlsNC0zMC4zMzZoLTE3NHpNMzAxLjM0NCAzODkuMzMxbDQgMzAuMzM2djM5MS4zNzlsLTQgMzEuODUzaDE3NGwtNC0zMS44NTN2LTM5MS4zNzlsNC0zMC4zMzZoLTE3NHpNNTQ3LjM0NCAzODkuMzMxbDQgMzAuMzM2djM5MS4zNzlsLTQgMzEuODUzaDE3NGwtNC0zMS44NTN2LTM5MS4zNzlsNC0zMC4zMzZoLTE3NHpNNzkzLjM0NCAzODkuMzMxbDQgMzAuMzM2djM5MS4zNzlsLTQgMzEuODUzaDE3NGwtNC0zMS44NTN2LTM5MS4zNzlsNC0zMC4zMzZoLTE3NHoiLAorCQkJCQkiTTMzLjMzMSA4OTcuMzQ0aDk1Ny4zMzhsMzMuMzMxIDEyNi42NTZoLTEwMjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImVudGVycHJpc2VDdXN0b21lciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM0OCwKKwkJCQkiaWQiOiAyNzYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgyOSwKKwkJCQkibmFtZSI6ICJlbnRlcnByaXNlQ3VzdG9tZXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzNAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTYgMHYxMDI0aDgzMnYtNTU0Yy0xNi41NTEgMjMuNjYxLTM4LjEwNCAyOC44MDQtNjQgNDJ2NDQ4aC03MDR2LTg5Nmg0MjJjMjMuNjkzLTMxLjY4NSA1OC4zNDktNTQuMzI0IDk4LTY0aC01ODR6TTgxNiAyNmMtMTE0LjUzOSAwLTIwNiA5My40NjEtMjA2IDIwOHM5MS40NjEgMjA4IDIwNiAyMDhjMTE0LjU0IDAgMjA4LTkzLjQ2MSAyMDgtMjA4cy05My40Ni0yMDgtMjA4LTIwOHpNMjIwIDEyMHY2NGgyNDh2LTY0aC0yNDh6TTcxMCAxOTZoMjE0djc2aC0yMTR2LTc2ek0yMjAgMjIydjIwNmgyNDh2LTIwNmgtMjQ4ek0yMjAgNDY0djk4aDI0OHYtOThoLTI0OHpNMjE4IDY0NnY2NGg1Nzh2LTY0aC01Nzh6TTIyNCA3OTh2NjRoNTgwdi02NGgtNTgweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJlcXVpcG1lbnRCbGFja2xpc3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNDksCisJCQkJImlkIjogMjc1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4MzAsCisJCQkJIm5hbWUiOiAiZXF1aXBtZW50QmxhY2tsaXN0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMzUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk2Mi4wMzAgNDcuOTY4Yy04LjgzOCA2Mi44OTMtMjYuNjkyIDg3Ljc2My00Ny40MSAxMDAuMDgzLTIwLjcwOCAxMi4zMDctNTAuNTQ0IDEyLjUwNi04Mi41MTcgMTIuMjgyLTMxLjk3OCAwLTY3LjQ2My0yLjQzMi05OC4zMjggMjIuODM1LTE1LjQyOCAxMi41OTUtMjYuNjI1IDMwLjAzNS0yOS44NDkgNTIuNjcyLTAuMjUgMS43MjggMC4xOTggMy41MiAwLjAxMSA1LjI0OC01MS4wNDgtMjAuNDEtMjMyLjMtNDYuOTMxLTI3NS41MjctOC4wNTEtMS45MjMgMS43OTItNS4xNiAxLjY2NC03LjAyMSAzLjUybC00MjEuMzg5IDQxOS41OSAzNjcuODU2IDM2Ny44NTMgNDIxLjM4OS00MTkuNjM1YzEuOC0xLjc5MiAzLjU5LTMuMzkyIDUuMjY1LTUuMzEyIDQ3LjU0OC01Mi40MzUgMTMuODc4LTI1Mi45OTgtMjcuMzU5LTMwOC44OS0yLjk0Ni0xOS40NjItNC44NDktMzYuMjYyLTMuNTExLTQ1LjY1MSAxLjc1MS0xMi4zMiA0LjEwNi0xNS4xODEgNy4wMjEtMTcuNTYyIDUuODIzLTQuNzM2IDI4LjY4NC03LjI1MSA2MS40NTMtNy4wMjcgMzIuNzY5IDAuMDA2IDc1LjkzNiAxLjY2NCAxMTQuMTI2LTIxLjA2MiAzOC4xOTEtMjIuNzE0IDY1LjE3NS02OC43NjIgNzUuNDk5LTE0Mi4yMjFsLTU5LjY5OS04Ljc4MXpNNjIzLjczOCAzNDQuMTE1YzMxLjAzNCAwIDU2LjE4OSAyNS4xNTggNTYuMTg1IDU2LjE5MiAwLjAwMSAzMS4wMjctMjUuMTU0IDU2LjE3OS01Ni4xODMgNTYuMTc5cy01Ni4xODQtMjUuMTUyLTU2LjE4NS01Ni4xNzljLTAuMDAxLTMxLjAzNCAyNS4xNTQtNTYuMTkyIDU2LjE4My01Ni4xOTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImVxdWlwbWVudE1vZGVsIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzUwLAorCQkJCSJpZCI6IDI3NCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODMxLAorCQkJCSJuYW1lIjogImVxdWlwbWVudE1vZGVsIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMzYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE2MCA4Yy0yNS45MDMgMzAuMDQ0LTQxLjMzMSA2Mi4xOTItNDggOTRoLTEwNnY5MjRoNjcwYzEwLjQ5NyAxLjA3OCAyMS4yMTkgMiAzMiAyIDguNzY3IDAgMTcuNDE3LTEuMjgzIDI2LTJoNDB2LTZjMTQwLjExOS0zMS4wODUgMjQ2LTE1Ni41ODMgMjQ2LTMwNnMtMTA1Ljg4MS0yNzMuMzE3LTI0Ni0zMDR2LTMwOGgtMTU4YzUuMjc5LTE2LjQwNSAxNi4wNDQtMzMuNDkxIDMyLTUybC00OC00MmMtMjUuOTAzIDMwLjA0NC00MS4zMzEgNjIuMTkyLTQ4IDk0aC04MGM1LjMxMS0xNi4yNzEgMTQuMTg3LTMzLjY1OCAzMC01MmwtNDgtNDJjLTI1LjkwMyAzMC4wNDQtNDEuMzMxIDYyLjE5Mi00OCA5NGgtODJjNS44MTktMTYuNDA1IDE2LjA0NC0zMy40OTEgMzItNTJsLTUwLTQyYy0yNS45MDMgMzAuMDQ0LTQxLjMzMSA2Mi4xOTItNDggOTRoLTgyYzUuMjc5LTE2LjQwNSAxNi4wNDQtMzMuNDkxIDMyLTUybC00OC00MnpNODYgMTgyaDI4YzguMjMgMzEuMTY3IDI0LjAzNyA2MC4yMDEgNDQgODhsNTItMzZjLTEzLjI3NC0xOC40ODMtMjMuNjExLTM0Ljg1Ni0zMC01Mmg4MmM4LjgxNSAzMS4xNDggMjQuMDQ4IDYwLjIxNiA0NCA4OGw1Mi0zNmMtMTMuMjQ1LTE4LjQ0My0yMy4wNTYtMzQuODktMzAtNTJoODBjOC4yMyAzMS4xNjcgMjQuMDM3IDYwLjIwMSA0NCA4OGw1Mi0zNmMtMTMuMjc0LTE4LjQ4My0yMy42MTEtMzQuODU2LTMwLTUyaDgwYzguMjMgMzEuMTY3IDI0LjAzNyA2MC4yMDEgNDQgODhsNTItMzZjLTEzLjI3NC0xOC40ODMtMjMuNjExLTM0Ljg1Ni0zMC01Mmg3NnYyMjBjLTE2Ni45MDcgNi4zMDUtMzAwIDE0My41MzItMzAwIDMxMiAwIDkxLjg5MiA0MC45MjIgMTc0LjQwNiAxMDQgMjMyaC00MTR2LTc2NHpNODg4IDU4Mmw0NiA0NC0yMjYgMjMwLTI4IDI2LTIyLTMwLTEyOC0xODAgNTItMzggMTA2IDE1MCAyMDAtMjAyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJleGFtaW5lIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzUxLAorCQkJCSJpZCI6IDI3MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODMyLAorCQkJCSJuYW1lIjogImV4YW1pbmUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzNworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCAwdjEwMjRoODE4di0xMDZsLTY0IDh2MzRoLTY5MHYtODk2aDY5MHYxMDZsNjQgOHYtMTc4aC04MTh6TTczMCAyMjhjLTE2My4zNSAwLTI5NiAxMzAuNjUtMjk2IDI5NHMxMzIuNjUgMjk2IDI5NiAyOTZjMTYzLjM1IDAgMjk0LTEzMi42NSAyOTQtMjk2cy0xMzAuNjUtMjk0LTI5NC0yOTR6TTEzMiAyNDZ2NjRoMzA2di02NGgtMzA2ek03MDQgMzI0aDQ4YzE3Ljg0NSAwIDM1LjU3NCAxNC4yMjQgMzQgMzJsLTE4IDIwMGMtMS41NzQgMTcuNzc2LTE0LjE1NSAzMi0zMiAzMmgtMTBjLTE3Ljg0NSAwLTMwLjA2MC0xNC4yNjEtMzItMzJsLTIyLTIwMGMtMS45NC0xNy43MzkgMTQuMTU1LTMyIDMyLTMyek0xMzIgNDM0djY0aDIyNnYtNjRoLTIyNnpNMTMyIDYyMnY2NGgyMjZ2LTY0aC0yMjZ6TTcyOCA2MjRjMjcuMDM2IDAgNTAgMjAuOTY0IDUwIDQ4cy0yMi45NjQgNTAtNTAgNTBjLTI3LjAzNiAwLTQ4LTIyLjk2NC00OC01MHMyMC45NjQtNDggNDgtNDh6TTEzMiA4MTJ2NjRoMzU0di02NGgtMzU0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJmYWlsdXJlTGlzdCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM1MiwKKwkJCQkiaWQiOiAyNzIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgzMywKKwkJCQkibmFtZSI6ICJmYWlsdXJlTGlzdCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDM4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00NDgtMC4wMDFjLTk5LjE0OSAwLTE4NCA4NC44NTgtMTg0IDE4NHM4NC44NTEgMTc4IDE4NCAxNzhjOTkuMTQ5IDAgMTc0LTc4Ljg1OCAxNzQtMTc4cy03NC44NTEtMTg0LTE3NC0xODR6TTI4NiAzNzMuOTk5Yy0xMjkuNzA1IDU3LjI3My0yMTcuODc3IDE4Ni45MzUtMjI2IDMzNmwtNjAgMjUwYzI4NC40NDUtMzE4Ljc3OCAyMzYtMzcyLjA4NiAyMzYgNjZoMjc2LjY3MXYtMjcwLjU2MWMzLjUxMi05OS43MjIgNjYuNzY0LTE2MC4xODggMTIxLjkxOS0xNzIuMTI1LTE3LjQ5LTU0LjIxNC0yNS42MjUtMTIyLjE3NSAzLjQxLTE2Ny4zMTMtNS45NDItMjEuMDE0LTE3LjE1My0zNS4xODItMzYtNDItMS44MzUtMS42MzktMi4xNDkgMC00IDAtNDAuNDIxIDM4LjQ3Ni04OS43OTIgNjQtMTUwIDY0cy0xMTcuNTc5LTI1LjUyNC0xNTgtNjRjLTEuMzQ3LTEuNjM5LTIuNjggMS42MzktNCAwek03ODYgMzk3Ljk5OWMtNjAuMTY4IDAtMTEyIDUxLjIyNC0xMTIgMTEyczUxLjgzMiAxMTAgMTEyIDExMGM2MC4xNjggMCAxMDYtNDkuMjI0IDEwNi0xMTBzLTQ1LjgzMi0xMTItMTA2LTExMnpNMTAxNCA0MDkuOTk5Yy02NS42OSAxNDcuNjU0LTEwNS42NTEgMjY5LjYyMS0yNDYgMjUwLTM2LjUzNyAwLTcxLjQ3MS0xNC40MTQtOTYtMzgtMC44MTgtMS4wMDUtMS4xOTkgMS4wMDUtMiAwLTc0LjI4MSAzNS4xMDktNjcuMTQ1IDM4LjYyMS0xMTAgMTMwbDQuNDY0IDI1NCA2My41MzYtMTc4aDEwdjE5MmgyNTR2LTE5MmgxMmM5Ny42MDItMzguNTY3IDEwMC4wNDYtMzEzLjAzNiAxMTAtNDE4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJmYW1pbHlDdXN0b21lciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM1MywKKwkJCQkiaWQiOiAyNzEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgzNCwKKwkJCQkibmFtZSI6ICJmYW1pbHlDdXN0b21lciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDM5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yNTYgMjJ2MTUwaDY0di01NGgzOTh2NTRoNjR2LTE1MGgtNTI2ek04IDI0MnYyOTRoMTMydi02NGg5NnY2NGg2MDB2LTY0aDk2djY0aDEwMHYtMjk0aC0xMDI0ek0wIDU5NnY0MjhoMTAyNHYtNDI4aC05MnY2NGgtOTZ2LTY0aC02MDB2NjRoLTk2di02NGgtMTQwek00MDQgNjU4bDIyNCAxNTItMjI0IDE1MnYtMzA0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJmaWxlVG9vbCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM1NCwKKwkJCQkiaWQiOiAyNzAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgzNSwKKwkJCQkibmFtZSI6ICJmaWxlVG9vbCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDQwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDB2MTAyNGgxMDI0di0xMDI0aC0xMDI0ek00NDggNjRoMTI4djg5NmgtMTI4di04OTZ6TTEyMCAxMTJoMjA4djIxMGgtMjA4di0yMTB6TTY5NiAxMTJoMjA4djIxMGgtMjA4di0yMTB6TTEyMCA0MTRoMjA4djIxMGgtMjA4di0yMTB6TTY5NiA0MTRoMjA4djIxMGgtMjA4di0yMTB6TTEyMCA3MTZoMjA4djIxMGgtMjA4di0yMTB6TTY5NiA3MTZoMjA4djIxMGgtMjA4di0yMTB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImdyb3VwTWFuYWdtZW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzU1LAorCQkJCSJpZCI6IDI2OSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODM2LAorCQkJCSJuYW1lIjogImdyb3VwTWFuYWdtZW50IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNDEKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTgzMCA0LjAwMmMtMy45NTQgMC02LjE2MyAxLjY1NC0xMCAyLTIxLjA4NyAxLjg5OS00Mi41MiA5LjE4Mi02MCAyMC0xNTAuNTYzIDQ5LjI2Ni0yOTkuODE0IDEzMi40NzItNDUyIDE0MHYzMTBsNDcwIDE2MGM2LjA0NSAyLjY4MiAxMy41NzYgNC4yNTEgMjAgNiAyLjE5NiAwLjU5NSAzLjc2IDEuNTE4IDYgMiA4LjY4MiAxLjg2OCAxNi42NjQgMiAyNiAyIDYyLjYzOSAwIDExMC4xODUtNDQuMTE1IDE0Mi0xMDJzNTAtMTMxLjkyNCA1MC0yMTZjMC04NC4wODMtMTguMTg1LTE2NC4xMTUtNTAtMjIyLTMxLjgxNS01Ny44OTItNzkuMzYxLTEwMi0xNDItMTAyek04MzAgNjQuMDAyYzI1LjQ3NCAwIDU4LjA3MiAyMC44MjggODQgNjggMjUuOTI4IDQ3LjE3OSA0MiAxMTkuNzU1IDQyIDE5NiAwIDc2LjIzOC0xNi4wNzIgMTQyLjgyOC00MiAxOTAtMjUuOTI4IDQ3LjE3OS01OC41MjYgNjgtODQgNjhzLTU2LjA3Mi0yMC44MjEtODItNjhjLTI1LjkyOC00Ny4xNzItNDQtMTEzLjc2Mi00NC0xOTAgMC03Ni4yNDUgMTguMDcyLTE0OC44MjEgNDQtMTk2IDI1LjkyOC00Ny4xNzIgNTYuNTI2LTY4IDgyLTY4ek03MiAxNjYuMDAyYy0zMy42MTQgMC02MCAyNi4zODYtNjAgNjB2MTkwYzAgMzMuNjE0IDI2LjM4NiA2MCA2MCA2MGgxNzJ2LTMxMGgtMTcyek04MzAgMjI2LjAwMmMtMTcuMzggMC0zMCA0OS41MzctMzAgMTEwczEyLjYyIDEwOCAzMCAxMDhjMTcuMzggMCAzMi00Ny41MzcgMzItMTA4cy0xNC42Mi0xMTAtMzItMTEwek0zMzAgNTcwLjAwMmMtNi42OC0wLjExMi0xMi45ODEgMC40MDktMjAgMi05LjM1OCAyLjEyMS0xOS40MTIgNS4wNDItMjggMTBsLTU4IDM0Yy0zNC4zNTQgMTkuODM5LTQyLjUyNiA1NC4xMDMtMzQgODQgMzIuOTcxIDExNS42MTkgNzQuMDM4IDIyNi4yMDkgMTc2IDMwMiAyNS40NzYgMTguODY2IDU1LjY0OCAzMS44MjggOTAgMTJsNTYtMzJjMzQuMzUzLTE5LjgzNCA2NC42ODYtNjguNTcgMzYtODQtMTEwLjgwMy01OS41ODctMTQxLjg3Ny0xODMuOTQyLTE3Ni0zMDQtNC43ODEtMTYuODIxLTIxLjk1OS0yMy42NjUtNDItMjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIm5vdGljZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM1NiwKKwkJCQkiaWQiOiAyNjgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTgzNywKKwkJCQkibmFtZSI6ICJub3RpY2UiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA0MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTE2IDBsLTE4MiAzNjJoMzYybC0xODAtMzYyek0yNzAgNDkwbC0xMDQgMjA2aDY5NmwtMTAyLTIwNmgtNDkwek0xMDAgODI0bC0xMDAgMjAwaDEwMjRsLTEwMC0yMDBoLTgyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicG9saWN5IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzU3LAorCQkJCSJpZCI6IDI2NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODM4LAorCQkJCSJuYW1lIjogInBvbGljeSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDQzCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDB2MTAyNGgxMDI0di0xMDI0aC0xMDI0ek03NCA3NGg4NzZ2MTMyaC04NzZ2LTEzMnpNMTI2IDEwNHY2NGg2NHYtNjRoLTY0ek0yNTggMTA0djY0aDY0di02NGgtNjR6TTM5MCAxMDR2NjRoNjR2LTY0aC02NHpNNzQgMjcwaDg3NnY2ODBoLTg3NnYtNjgwek01MTAgMzI2bC0yODQgMTk0aDU3MmwtMjg4LTE5NHpNMjcyIDU1OHYzMjBoNDc4di0zMjBoLTQ3OHpNNDQ4IDczOGgxMjZ2MTM4aC0xMjZ2LTEzOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicG9ydGFsIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzU4LAorCQkJCSJpZCI6IDI2NiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODM5LAorCQkJCSJuYW1lIjogInBvcnRhbCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDQ0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDB2MTAyNGg4MTh2LTk4aC02NHYzNGgtNjkwdi04OTZoNjkwdjExNGg2NHYtMTc4aC04MTh6TTU3MiAxODBjLTE0Ny41NzQgMC0yNjggMTIzLjcyMi0yNjggMjc2czEyMC40MjYgMjc2IDI2OCAyNzZjNTAuODUyIDAgOTcuNTM1LTE2LjU1NiAxMzgtNDIgMi4zNzYgNS4xMTQgNS44ODIgMTEuNzUxIDEwIDE2bDE4OCAxOTRjMTkuNDY2IDIwLjA4NiA1MC41MzQgMjAuMDg2IDcwIDBsMjQtMjRjMTkuNDY2LTIwLjA4NiAxOS40NjYtNTEuOTE0IDAtNzJsLTE4OC0xOTZjLTQuMDc3LTQuMjA3LTkuMDk5LTcuNTU1LTE0LTEwIDI0LjA0OC00MS4zODYgMzgtOTAuMjM0IDM4LTE0MiAwLTE1Mi4yNzgtMTE4LjQyNi0yNzYtMjY2LTI3NnpNNTcyIDI1NGMxMDcuMzI2IDAgMTk0IDkxLjI1MyAxOTQgMjAycy04Ni42NzQgMjAwLTE5NCAyMDBjLTEwNy4zMjYgMC0xOTYtODkuMjUzLTE5Ni0yMDBzODguNjc0LTIwMiAxOTYtMjAyek0xMzQgNDY2djY0aDgyYy01LjA3OC0yMC44MTctOS4wNTItNDEuNzg0LTEwLTY0aC03MnpNMTM4IDY1NHY2NGgyMDRjLTI0LjgwNy0xNy40MTktNDcuMDM4LTQwLjAyNS02Ni02NGgtMTM4ek0xMzggODI0djY0aDQ1MnYtNjRoLTQ1MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicmVjb3JkUXVlcnkiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNTksCisJCQkJImlkIjogMjY1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NDAsCisJCQkJIm5hbWUiOiAicmVjb3JkUXVlcnkiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA0NQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTE2IDMwbC0xMTQgNTI4aC0ybDIgNi0yIDZoMmwxMDIgNDU0aDg0MGw3OC00NTRoMmwtMi02IDItNmgtMmwtMTE0LTUyOGgtNzkyek0xNjIgODRoNzAwbDg0IDM5OGgtODY4bDg0LTM5OHpNMzI4IDE0MHY0OGgzNzB2LTQ4aC0zNzB6TTIzNiAyNTB2NThoNTU0di01OGgtNTU0ek0xOTAgMzYydjY0aDY0NnYtNjRoLTY0NnpNMzc4IDc1MGgyNjh2NjBoLTI2OHYtNjB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInJlc291cmNlTWFuYWdtZW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzYwLAorCQkJCSJpZCI6IDI2NCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODQxLAorCQkJCSJuYW1lIjogInJlc291cmNlTWFuYWdtZW50IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNDYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTAgNzY4aDEwMjR2MjU2aC0xMDI0di0yNTZ6IiwKKwkJCQkJIk0xNTUuODY5IDEzMi40NDJoMTkydjUzNS44MzhoLTE5MnYtNTM1LjgzOHoiLAorCQkJCQkiTTg4MC4xMTUgNDc2LjI4MnYxOTJoLTQyNy44ODh2LTE5Mmg0MjcuODg4eiIsCisJCQkJCSJNODcxLjQxMyAxMzIuNDQydjE5MmgtNDI3Ljg4OHYtMTkyaDQyNy44ODh6IiwKKwkJCQkJIk0wIDB2MTAyNGgxMDI0di0xMDI0aC0xMDI0ek02MCA2MGg5MDR2OTAxLjk5N2gtOTA0di05MDEuOTk3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJydWxlTWFuYWdtZW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzYxLAorCQkJCSJpZCI6IDI2MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODQyLAorCQkJCSJuYW1lIjogInJ1bGVNYW5hZ21lbnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA0NworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTA4IDRsLTQ0MCAxMDE2aDgybDQzOC0xMDE2aC04MHpNNTg2IDU2Yy0yOC45ODYgMC01NS43NTggMTEuNzU4LTc2IDMycy0zNCA1MC45OTktMzQgODhjMCAzNy4wMDEgMTMuNzU4IDY3Ljc1OCAzNCA4OHM0Ny4wMTQgMzIgNzYgMzJjMjguOTg2IDAgNTUuNzU4LTExLjc1OCA3Ni0zMnMzNC01MC45OTkgMzQtODhjMC0zNy4wMDEtMTMuNzU4LTY3Ljc1OC0zNC04OHMtNDcuMDE0LTMyLTc2LTMyek01ODYgMTA0YzI0LjAzMyAwIDQ1LjQ5NyAxMS40OTcgNjAgMjZzMjIgMjkuOTgyIDIyIDQ2YzAgMTYuMDE4LTcuNDk3IDMzLjQ5Ny0yMiA0OHMtMzUuOTY3IDI0LTYwIDI0Yy0yNC4wMzMgMC00NS40OTctOS40OTctNjAtMjRzLTIyLTMxLjk4Mi0yMi00OGMwLTE2LjAxOCA3LjQ5Ny0zMS40OTcgMjItNDZzMzUuOTY3LTI2IDYwLTI2ek00NjIgMzQybC0yMDggNDI4LTEyNC0yMDAtMTMyIDg0IDIwOCAyMDQgMjIgMjYgMjgtMjIgMzgwLTQ0OC0xNzQtNzJ6TTg3MiA3NDBjLTI4Ljk4NiAwLTU1Ljc1OCAxMS43NTgtNzYgMzJzLTM2IDUwLjk5OS0zNiA4OGMwIDM3LjAwMSAxNS43NTggNjcuNzU4IDM2IDg4czQ3LjAxNCAzMiA3NiAzMmMyOC45ODYgMCA1My43NTgtMTEuNzU4IDc0LTMyczM2LTUwLjk5OSAzNi04OGMwLTM3LjAwMS0xNS43NTgtNjcuNzU4LTM2LTg4cy00NS4wMTQtMzItNzQtMzJ6TTg3MiA3ODhjMjQuMDMzIDAgNDUuNDk3IDExLjQ5NyA2MCAyNnMyMCAyOS45ODIgMjAgNDZjMCAxNi4wMTgtNS40OTcgMzMuNDk3LTIwIDQ4cy0zNS45NjcgMjQtNjAgMjRjLTI0LjAzMyAwLTQ1LjQ5Ny05LjQ5Ny02MC0yNHMtMjItMzEuOTgyLTIyLTQ4YzAtMTYuMDE4IDcuNDk3LTMxLjQ5NyAyMi00NnMzNS45NjctMjYgNjAtMjZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInN1Y2Vzc1JhdGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNjIsCisJCQkJImlkIjogMjYyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NDMsCisJCQkJIm5hbWUiOiAic3VjZXNzUmF0ZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDQ4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zNDAgMGMtMTg4LjM5NCAwLTM0MCAxNTEuNjA2LTM0MCAzNDB2MzQ0YzAgMTg4LjM5NCAxNTEuNjA2IDM0MCAzNDAgMzQwaDM0NGMxODguMzk0IDAgMzQwLTE1MS42MDYgMzQwLTM0MHYtMzQ0YzAtMTg4LjM5NC0xNTEuNjA2LTM0MC0zNDAtMzQwaC0zNDR6TTM0MCA2MGgzNDRjMTU2LjE5MyAwIDI4MCAxMjMuODA3IDI4MCAyODB2MzQ0YzAgMTU2LjE5My0xMjMuODA3IDI4MC0yODAgMjgwaC0zNDRjLTE1Ni4xOTMgMC0yODAtMTIzLjgwNy0yODAtMjgwdi0zNDRjMC0xNTYuMTkzIDEyMy44MDctMjgwIDI4MC0yODB6TTI5NCAxNTJsLTExOCA5OCAxNDAgMTcyLTE0OCAyMDQgMTE2IDg2IDIyNC0yODQtMjE0LTI3NnpNNTI2IDYxNnY5Nmg5NnYtOTZoLTk2ek03NTggNjE2djk2aDk2di05NmgtOTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInRlcm1pbmFsTWFuYWdtZW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzYzLAorCQkJCSJpZCI6IDI2MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODQ0LAorCQkJCSJuYW1lIjogInRlcm1pbmFsTWFuYWdtZW50IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNDkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTIzMiAxMGMtNjEuNzAyIDI2LjA5OC0xMDQgODguNzkxLTEwNCAxNjAgMCA2My40MDYgMzYuODkxIDExOC4xNzMgODggMTQ4djE0MmgtMjhjLTEwMi43ODQgMC0xODggNzkuMjg2LTE4OCAxNzR2MjE2YzAgOTQuNzE0IDg1LjIxNiAxNzQgMTg4IDE3NGg2NDhjMTAyLjc4NCAwIDE4OC03OS4yODYgMTg4LTE3NHYtMjE2YzAtOTQuNzE0LTg1LjIxNi0xNzQtMTg4LTE3NGgtOTB2LTI3Mi43NDRsMzIuMjQyIDEwLjY5N2g3NS43NThjOS44OTEtMS41MTIgMTMuMjgxLTIuODQyIDIwLTE4IDE2LjUyMy01MC4xODIgMTI0LjczOC01Ni42MzkgMTQ2LTM3Ljk1NCAzLjUyLTU4LjcwNC04NC41ODEtOTYuODQyLTE0OC05NC0zOC42NTMtMS41NDktMTE0IDAtMTE0IDAtMTIuNTE4IDAuMDI2LTIzLjE5IDEyLjMwMi0yOCAyOGgtNTZ2LThjMC0yOS4xMzQtMjIuODY2LTU0LTUyLTU0aC0yMGMtMjkuMTM0IDAtNTQgMjQuODY2LTU0IDU0djEwOGMwIDI5LjEzNCAyNC44NjYgNTQgNTQgNTRoMjBjMTAuNjQ1IDAgMTkuNzM4LTQuNjA0IDI4LTEwdjI0MGgtMjcwdi0xMzhjNTUuMzA5LTI4LjYwNiA5Mi04NS40NzMgOTItMTUyIDAtNzEuODg1LTQ1LjM2Mi0xMzQuMzI3LTEwOC0xNjAgMC45MSAyLjkyOSA0IDYuNzE0IDQgMTB2MTc2YzAgMTUuNjg3LTE0LjAwOSAyOC0yOCAyOGgtODBjLTEzLjk5MSAwLTI4LTEyLjMxMy0yOC0yOHYtMTc2YzAtMy4yODYgMy4wOTAtNy4wNzEgNC0xMC0wLjU4OSAwLjI0MS0zLjQxNC0wLjI0OC00IDB6TTE4OCA1NjBoNjQ4YzQ1LjUzOCAwIDgyIDMyLjAzNyA4MiA3NHYxNmgtODEydi0xNmMwLTQxLjk2MyAzNi40NjItNzQgODItNzR6TTEwNiA3MTRoODEydjEzNmMwIDQxLjk2My0zNi40NjIgNzYtODIgNzZoLTY0OGMtNDUuNTM4IDAtODItMzQuMDM3LTgyLTc2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ0b29scyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM2NCwKKwkJCQkiaWQiOiAyNjAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg0NSwKKwkJCQkibmFtZSI6ICJ0b29scyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDUwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zODYuMjg4IDE1MC42MTFjLTY0LjUwNCAyLjkyLTEyNC4xOSA0My44ODEtMTA5LjU1OCAxNDEuODQ2IDE1Ljk1NSAxMDYuODI1IDE1LjQwNiAxNzIuMjU2IDkzLjMyNyAxNTguMDU3IDg3LjU4OC0xNS45NjEgMTA4LjgyMy04Mi44NDQgMTAzLjQ3MS0xNjQuMTM2LTUuODQ3LTg4LjgxLTI2LjYxNi0xMzguNTExLTg3LjI0LTEzNS43Njd6TTY3MC4zMjYgMTY2LjgyMmMtNDYuMTI5IDIuMjE3LTcyLjM3NiA1NC4yOS05My4zMjcgMTE5LjU1Ni0zMy4wMTUgMTAyLjg1MS0zMC4zNTYgMTQ0LjkzNyA0OC42OTIgMTQ5Ljk1MSA4OC44NTUgNS42MzcgMTE4LjEzNC0zMS4xNDcgMTMxLjg3NS0xMTEuNDUgMTMuMjA4LTc3LjE5My01Ljk5NC0xNDEuMzg0LTY0LjkyMy0xNTYuMDMwLTcuMzY2LTEuODMxLTE1LjcyNy0yLjM0My0yMi4zMTctMi4wMjZ6TTExMi4zOTQgMzU5LjMyN2MtNjAuNzI2IDAtMTA2LjM4NiA2My42ODktMTExLjU4NiAxNDEuODQ2LTcuMTcxIDEwNy43NyAzMy42NjYgMTU2LjA0NSAxMTEuNTg2IDE0MS44NDYgODcuNTg4LTE1Ljk2MSAxMTUuNjQtNjAuNjA1IDEwOS41NTgtMTQxLjg0Ni01Ljg0Ny03OC4wOTQtNDguODMxLTE0MS44NDYtMTA5LjU1OC0xNDEuODQ2ek05MjMuOTMxIDM3My41MTJjLTQzLjcwMiA0LjU0NS04Ni41OTQgNDEuMDMzLTExMy42MTUgOTMuMjEzLTQ5LjY3OSA5NS45MzUtMzIuNDc4IDE1NC4xNjggNDQuNjM1IDE3Mi4yNDEgODYuNjggMjAuMzE2IDEyOS4zMDItOC4yMDQgMTU2LjIyMS04NS4xMDcgMjUuODc2LTczLjkyNCAxMy4wNjQtMTUwLjAzOC00Mi42MDYtMTc0LjI2OC0xMy45MTgtNi4wNTctMzAuMDY3LTcuNTk0LTQ0LjYzNS02LjA3OXpNNDkzLjgxNyA0OTcuMTJjLTgwLjY5NSAwLTE2Ny4xOTcgNTcuMzM1LTIwMC44NTUgMTc2LjI5NC04OS44ODQgNDQuNDk1LTE1OS43NTUgMTI5LjM2NS0xMzcuOTYxIDIxNC43OTUgMzUuOTU2IDE0MC45NDggMTg1Ljk4IDEzNS43NjcgMzM4LjgxNyAxMzUuNzY3czMyNi42NDQgMS41MTQgMzI2LjY0NC0xNDMuODcyYzAtMTQ1LjM4Ni0xNzMuODA3LTM4Mi45ODMtMzI2LjY0NC0zODIuOTgzeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ0cmFjayIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM2NSwKKwkJCQkiaWQiOiAyNTksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg0NiwKKwkJCQkibmFtZSI6ICJ0cmFjayIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDUxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zMjUuNzcxIDEzNS4xNTVjLTgzLjQ2MSAwLTE1My44MzYgNzAuMzY1LTE1My44MzYgMTUzLjgzNCAwIDgzLjQ2MyA3MC4zNzUgMTUwLjgxNiAxNTMuODM2IDE1MC44MTZzMTQ3LjgwMy02Ny4zNTMgMTQ3LjgwMy0xNTAuODE2YzAtODMuNDY5LTY0LjM0Mi0xNTMuODM0LTE0Ny44MDMtMTUzLjgzNHpNMTkwLjAzMyA0NDguODU5Yy0xMDkuMTgzIDQ4LjIxNC0xODMuMTk1IDE1OC4wNTEtMTkwLjAzMyAyODMuNTM3aDQwNC45NTRsMTEzLjAzOS0yNTAuMTQ0Yy0xMi43NzItOC4xMTEtNDguNTIxLTI3LjIxNS02Mi41MTctMzMuMzkzLTEuNTQ1LTEuMzEyLTEuNDU4IDAtMy4wMTcgMGwtMTI2LjY4OSAxODkuOTExLTEzMi43MjEtMTg5LjkxMWMtMS4xMzQtMS4zMTItMS45MDUgMS4zMTItMy4wMTYgMHoiLAorCQkJCQkiTTcwMy4zNTUgMzU1LjE3NmMtODMuNDYxIDAtMTUzLjgzNiA3MC4zNjUtMTUzLjgzNiAxNTMuODM0IDAgODMuNDYzIDcwLjM3NSAxNTAuODE2IDE1My44MzYgMTUwLjgxNnMxNDcuODA0LTY3LjM1NCAxNDcuODA0LTE1MC44MTZjMC04My40NjktNjQuMzQyLTE1My44MzQtMTQ3LjgwNC0xNTMuODM0ek01NjcuNjE3IDY2OC44OGMtMTA5LjE4MyA0OC4yMTQtMTgzLjE5NSAxNTguMDUxLTE5MC4wMzMgMjgzLjUzN2g2NDUuNTA5Yy02LjgzOC0xMjUuNDg2LTgwLjg1LTIzNS4zMjMtMTkwLjAzMy0yODMuNTM3LTEuNTQ2LTEuMzEyLTEuNDU5IDAtMy4wMTcgMC03MS42MjEgMTEwLjk0LTE3Ny42OTkgMTExLjE5My0yNTkuNDEgMC0xLjEzNC0xLjMxMi0xLjkwNSAxLjMxMi0zLjAxNiAweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ1c2VyTWFuYWdtZW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzY2LAorCQkJCSJpZCI6IDI1OCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODQ3LAorCQkJCSJuYW1lIjogInVzZXJNYW5hZ21lbnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA1MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTI4IDAuMjV2NDgxLjk5N2gtMTI4bDExMiA1NDAuODA2aDgwMmwxMTAtNTQwLjgwNmgtMTI4di00ODEuOTk3ek0xOTIgNjQuMjVoNjQwdjQxNy45OTdoLTY0MHpNMjQ0IDE5Mi4yNXY2NGgyNzB2LTY0ek0yNDIgMzIyLjI0NnY2NGg1MjB2LTY0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ2ZXJzaW9uTWFuYWdtZW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzY3LAorCQkJCSJpZCI6IDI1NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODQ4LAorCQkJCSJuYW1lIjogInZlcnNpb25NYW5hZ21lbnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA1MworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTE2IDB2MTAyNGg3OTJ2LTcyMmgybC0yODItMzAwdi0yaC01MTJ6TTE3NiA2MGgzOTB2MzAyaDI4MnY2MDBoLTY3MnYtOTAyek02MjggOTZsMTkyIDIwNmgtMTkydi0yMDZ6TTM3NCA5OHYxMDZoLTExNHY4NGgxMTR2MTEybDE0MC0xNTQtMTQwLTE0OHpNNjUwIDQ1MnYxMDZoLTExNHY4NGgxMTR2MTEybDE0MC0xNTQtMTQwLTE0OHpNMzc0IDYxNnYxMDZoLTExNHY4NGgxMTR2MTEybDE0MC0xNTQtMTQwLTE0OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkid29ya09yZGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzY4LAorCQkJCSJpZCI6IDI1NiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODQ5LAorCQkJCSJuYW1lIjogIndvcmtPcmRlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDU0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01NTAuMjU0IDE1NS40MjloMTA5LjcxNHYxNTguNTAxaC0xMDkuNzE0di0xNTguNTAxeiIsCisJCQkJCSJNMjYyLjA3MSA1OTcuNTA0aDQ5OS43ODV2NzMuMTQzaC00OTkuNzg1di03My4xNDN6IiwKKwkJCQkJIk0yNjIuMDcxIDc4Ni40MzJoNDk5Ljc4NXY3My4xNDNoLTQ5OS43ODV2LTczLjE0M3oiLAorCQkJCQkiTTkxNC4yODYgMGgtODA0LjU3MWMtNjAuNDg5IDAtMTA5LjcxNCA0OS4yMjUtMTA5LjcxNCAxMDkuNzE0djgwNC41NzFjMCA2MC40ODkgNDkuMjI1IDEwOS43MTQgMTA5LjcxNCAxMDkuNzE0aDgwNC41NzFjNjAuNDg5IDAgMTA5LjcxNC00OS4yMjUgMTA5LjcxNC0xMDkuNzE0di04MDQuNTcxYzAtNjAuNDg5LTQ5LjIyNS0xMDkuNzE0LTEwOS43MTQtMTA5LjcxNHpNNzY0LjkyOCA4Mi4yODZ2MjY4LjE0MmMwIDIwLjE4Ny0xNi40NTcgMzYuNTcxLTM2LjU3MSAzNi41NzFoLTQzMi43ODZjLTIwLjE4NyAwLTM2LjU3MS0xNi4zODQtMzYuNTcxLTM2LjU3MXYtMjY4LjE0Mmg1MDUuOTI5ek05NTAuODU3IDkxNC4yODZjMCAyMC4xMTQtMTYuNDU3IDM2LjU3MS0zNi41NzEgMzYuNTcxaC04MDQuNTcxYy0yMC4xODcgMC0zNi41NzEtMTYuNDU3LTM2LjU3MS0zNi41NzF2LTgwNC41NzFjMC0yMC4xODcgMTYuMzg0LTM2LjU3MSAzNi41NzEtMzYuNTcxaDc2LjE0MnYyNzcuMjg1YzAgNjAuNDg5IDQ5LjIyNSAxMDkuNzE0IDEwOS43MTQgMTA5LjcxNGg0MzIuNzg2YzYwLjQ4OSAwIDEwOS43MTQtNDkuMjI1IDEwOS43MTQtMTA5LjcxNHYtMjc3LjI4NWg3Ni4yMTVjMjAuMTE0IDAgMzYuNTcxIDE2LjM4NCAzNi41NzEgMzYuNTcxdjgwNC41NzF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInNhdmUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNjksCisJCQkJImlkIjogMjU1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NTAsCisJCQkJIm5hbWUiOiAic2F2ZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDU1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yMTQuODk0IDQ4Mi4zMDRjMTguMjg2LTE2My40MDEgMTY0LjU3MS0yNzYuNTUzIDI5MS42MjEtMjgwLjEzNyAxLjMxNyAwIDIuNDE0IDAuMzY2IDMuNjU3IDAuNDM5LTE4NC40NjYtNTIuODgyLTM0Mi4xNjIgOTQuNTc0LTI5NS4yNzggMjc5LjY5OHoiLAorCQkJCQkiTTEwMDIuNTY5IDg3MS4wNThsLTE0Ni41NzgtMTIwLjY4NmMtMTMuODI0LTEzLjc1MS0zMS43NDQtMTkuODIyLTQ5Ljg4My0xOS44MjJsLTQxLjk4NC00MS45ODRjNTMuODMzLTcwLjg3NSA4Ni4zMDktMTU4LjcyIDg2LjMwOS0yNTQuMzE4IDAtMjMyLjMwMi0xODkuMDc0LTQyMS4zNzYtNDIxLjQ0OS00MjEuMzc2LTIzMi4zMDIgMC00MjEuMzAzIDE4OS4wMDEtNDIxLjMwMyA0MjEuMzc2IDAgMjMyLjMwMiAxODkuMDAxIDQyMS4zMDMgNDIxLjMwMyA0MjEuMzAzIDk4LjIzMSAwIDE4OC40ODktMzQuMDExIDI2MC4xNjktOTAuNTUxbDQxLjI1MyA0MS4yNTNjMC4xNDYgMTcuOTkzIDUuOTk4IDM1Ljg0IDE5LjgyMiA0OS44MWwxMjAuNjg2IDE0Ni41NzhjMjguNTk5IDI4LjY3MiA3NC44MjUgMjguNjcyIDEwMy40MjQgMHYtMC4wNzNsMjguMDg3LTI4LjAxNGMyOC43NDUtMjguNTI2IDI4Ljc0NS03NC44OTggMC4xNDYtMTAzLjQ5N3pNNDI4Ljk4MyA3ODIuMjYzYy0xOTIgMC0zNDguMTYtMTU2LjE2LTM0OC4xNi0zNDguMDg3IDAtMTkyIDE1Ni4xNi0zNDguMjMzIDM0OC4xNi0zNDguMjMzIDE5Mi4wNzMgMCAzNDguMzA2IDE1Ni4yMzMgMzQ4LjMwNiAzNDguMjMzcy0xNTYuMjMzIDM0OC4wODctMzQ4LjMwNiAzNDguMDg3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJNYWduaWZpZXIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNzAsCisJCQkJImlkIjogMjU0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NTEsCisJCQkJIm5hbWUiOiAiTWFnbmlmaWVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNTYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEwMDIuNTY5IDg3MS4wNThsLTE0Ni41NzgtMTIwLjY4NmMtMTMuODI0LTEzLjgyNC0zMS43NDQtMTkuODIyLTQ5LjgxLTE5LjgyMmwtNDEuOTg0LTQxLjk4NGM1My44MzMtNzAuODAyIDg2LjIzNS0xNTguNzIgODYuMjM1LTI1NC4zMTggMC0yMzIuMzAyLTE4OS4wNzQtNDIxLjM3Ni00MjEuNDQ5LTQyMS4zNzYtMjMyLjMwMiAwLTQyMS4zMDMgMTg5LjAwMS00MjEuMzAzIDQyMS4zNzYgMCAyMzIuMzAyIDE4OS4wMDEgNDIxLjMwMyA0MjEuMzAzIDQyMS4zMDMgOTguMjMxIDAgMTg4LjQxNi0zNC4wMTEgMjYwLjE2OS05MC41NTFsNDEuMzI2IDQxLjMyNmMwLjA3MyAxNy45OTMgNS45OTggMzUuODQgMTkuODIyIDQ5LjczN2wxMjAuNjg2IDE0Ni41NzhjMjguNTk5IDI4LjU5OSA3NC44MjUgMjguNTk5IDEwMy40MjQgMGwyOC4wODctMjguMDg3YzI4LjY3Mi0yOC41OTkgMjguNjcyLTc0Ljg5OCAwLjA3My0xMDMuNDk3ek00MjguOTgzIDc4Mi4zMzZjLTE5MiAwLTM0OC4xNi0xNTYuMTYtMzQ4LjE2LTM0OC4xNnMxNTYuMTYtMzQ4LjIzMyAzNDguMTYtMzQ4LjIzM2MxOTIuMDczIDAgMzQ4LjMwNiAxNTYuMjMzIDM0OC4zMDYgMzQ4LjIzM3MtMTU2LjIzMyAzNDguMTYtMzQ4LjMwNiAzNDguMTZ6IiwKKwkJCQkJIk01OTMuODQ3IDM3NC4yNzJoLTEwOS43MTR2LTEwOS43MTRjMC0zMC4yODEtMjQuNTc2LTU0Ljg1Ny01NC44NTctNTQuODU3cy01NC44NTcgMjQuNTc2LTU0Ljg1NyA1NC44NTd2MTA5LjcxNGgtMTA5LjcxNGMtMzAuMjgxIDAtNTQuODU3IDI0LjU3Ni01NC44NTcgNTQuODU3czI0LjU3NiA1NC44NTcgNTQuODU3IDU0Ljg1N2gxMDkuNzE0djEwOS43MTRjMCAzMC40MjcgMjQuNTc2IDU0Ljg1NyA1NC44NTcgNTQuODU3czU0Ljg1Ny0yNC40MyA1NC44NTctNTQuODU3di0xMDkuNzE0aDEwOS43MTRjMzAuNDI3IDAgNTQuODU3LTI0LjU3NiA1NC44NTctNTQuODU3cy0yNC40My01NC44NTctNTQuODU3LTU0Ljg1N3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiem9vbUluIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzcxLAorCQkJCSJpZCI6IDI1MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODUyLAorCQkJCSJuYW1lIjogInpvb21JbiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDU3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMDAyLjU2OSA4NzEuMDU4bC0xNDYuNTc4LTEyMC42ODZjLTEzLjgyNC0xMy44MjQtMzEuNzQ0LTE5LjgyMi00OS44MS0xOS44MjJsLTQxLjk4NC00MS45ODRjNTMuODMzLTcwLjgwMiA4Ni4yMzUtMTU4LjcyIDg2LjIzNS0yNTQuMzE4IDAtMjMyLjMwMi0xODkuMDc0LTQyMS4zNzYtNDIxLjQ0OS00MjEuMzc2LTIzMi4zMDIgMC00MjEuMzAzIDE4OS4wMDEtNDIxLjMwMyA0MjEuMzc2IDAgMjMyLjMwMiAxODkuMDAxIDQyMS4zMDMgNDIxLjMwMyA0MjEuMzAzIDk4LjIzMSAwIDE4OC40MTYtMzQuMDExIDI2MC4xNjktOTAuNTUxbDQxLjMyNiA0MS4zMjZjMC4wNzMgMTcuOTkzIDUuOTk4IDM1Ljg0IDE5LjgyMiA0OS43MzdsMTIwLjY4NiAxNDYuNTc4YzI4LjU5OSAyOC41OTkgNzQuODI1IDI4LjU5OSAxMDMuNDI0IDBsMjguMDg3LTI4LjA4N2MyOC42NzItMjguNTk5IDI4LjY3Mi03NC44OTggMC4wNzMtMTAzLjQ5N3pNNDI4Ljk4MyA3ODIuMzM2Yy0xOTIgMC0zNDguMTYtMTU2LjE2LTM0OC4xNi0zNDguMTZzMTU2LjE2LTM0OC4yMzMgMzQ4LjE2LTM0OC4yMzNjMTkyLjA3MyAwIDM0OC4zMDYgMTU2LjIzMyAzNDguMzA2IDM0OC4yMzNzLTE1Ni4yMzMgMzQ4LjE2LTM0OC4zMDYgMzQ4LjE2eiIsCisJCQkJCSJNNTkyLjYwMyAzNzYuOTA1aC0zMjkuMTQzYy0zMC4yODEgMC01NC44NTcgMjQuNTc2LTU0Ljg1NyA1NC44NTdzMjQuNTc2IDU0Ljg1NyA1NC44NTcgNTQuODU3aDMyOS4xNDNjMzAuNDI3IDAgNTQuODU3LTI0LjU3NiA1NC44NTctNTQuODU3cy0yNC40My01NC44NTctNTQuODU3LTU0Ljg1N3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiem9vbU91dCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM3MiwKKwkJCQkiaWQiOiAyNTIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg1MywKKwkJCQkibmFtZSI6ICJ6b29tT3V0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNTgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk0Ny41NjYgMTk4LjA3MWgtMjA2LjQ4MmMwLTAuNTg1IDAuMzY2LTEuMDI0IDAuMzY2LTEuNTM2bC0zNi41NzEtODYuODk0Yy0xNy4xMTUtMzguODM5LTM5LjU3LTczLjE0My03Ni4yODgtNzMuMTQzaC0yMzMuMTc5Yy0zNi43OTEgMC01OS4yNDYgMzQuMjMxLTc2LjM2MSA3My4xNDNsLTM2LjU3MSA4Ni44OTRjMCAwLjU4NSAwLjM2NiAxLjAyNCAwLjM2NiAxLjUzNmgtMjA2LjQwOWMtMjIuMDE2IDAtMzkuODYzIDE2LjM4NC0zOS44NjMgMzYuNTcxczE3Ljg0NyAzNi41NzEgMzkuODYzIDM2LjU3MWg2OS44NTF2NjA2LjUwMWMwIDgwLjc1IDY1LjMxNyAxNDYuMjg2IDE0NS44NDcgMTQ2LjI4Nmg0MzkuNjYyYzgwLjYwMyAwIDE0NS44NDctNjUuNTM2IDE0NS44NDctMTQ2LjI4NnYtNjA2LjUwMWg2OS45MjVjMjIuMDE2IDAgMzkuODYzLTE2LjM4NCAzOS44NjMtMzYuNTcxcy0xNy44NDctMzYuNTcxLTM5Ljg2My0zNi41NzF6TTM2NC43NjMgMTk3LjYzMmwzNS40MDEtNzUuNDFoMjIzLjUyNWwzNS40MDEgNzUuNDEtNTMuNDY3IDAuNDM5aC0xODcuMzE5bC01My41NDEtMC40Mzl6TTgwNC40OTggODc1LjQ0N2MwIDQwLjQ0OC0zMi41NDkgNzMuMTQzLTcyLjg1IDczLjE0M2gtNDM5LjQ0MmMtNDAuMjI5IDAtNzIuNzA0LTMyLjY5NS03Mi43MDQtNzMuMTQzdi02MDQuMjMzaDU4NC45OTd2NjA0LjIzM3oiLAorCQkJCQkiTTM0OC45NjUgODEwLjcxNWMyMC4xODcgMCAzNi41NzEtMTYuNDU3IDM2LjU3MS0zNi41NzF2LTM0NC40M2MwLTIwLjI2MS0xNi4zODQtMzYuNTcxLTM2LjU3MS0zNi41NzFzLTM2LjU3MSAxNi4zMTEtMzYuNTcxIDM2LjU3MXYzNDQuNDNjMCAyMC4xMTQgMTYuMzExIDM2LjU3MSAzNi41NzEgMzYuNTcxeiIsCisJCQkJCSJNNTEyIDgxMC43MTVjMjAuMTE0IDAgMzYuNTcxLTE2LjQ1NyAzNi41NzEtMzYuNTcxdi0zNDQuNDNjMC0yMC4yNjEtMTYuNDU3LTM2LjU3MS0zNi41NzEtMzYuNTcxLTIwLjE4NyAwLTM2LjU3MSAxNi4zMTEtMzYuNTcxIDM2LjU3MXYzNDQuNDNjMCAyMC4xMTQgMTYuMzg0IDM2LjU3MSAzNi41NzEgMzYuNTcxeiIsCisJCQkJCSJNNjc1LjAzNSA4MTAuNzE1YzIwLjI2MSAwIDM2LjU3MS0xNi40NTcgMzYuNTcxLTM2LjU3MXYtMzQ0LjQzYzAtMjAuMjYxLTE2LjMxMS0zNi41NzEtMzYuNTcxLTM2LjU3MS0yMC4xMTQgMC0zNi41NzEgMTYuMzExLTM2LjU3MSAzNi41NzF2MzQ0LjQzYzAgMjAuMTE0IDE2LjM4NCAzNi41NzEgMzYuNTcxIDM2LjU3MXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiZGVsZXRlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzczLAorCQkJCSJpZCI6IDI1MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODU0LAorCQkJCSJuYW1lIjogImRlbGV0ZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDU5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04MDUuMTU3IDkxMC4wNDNjMTIxLjI3MS05MS40MjkgMjAwLjg1LTIzNS41OTMgMjAwLjg1LTM5OS4wNjcgMC0yNjMuODk5LTIwNC43MjctNDgwLjQwMi00NjMuNTA2LTUwMC4yMjR2NzcuMjM5YzIxNi4yODMgMTkuNjAyIDM4Ni40MTQgMjAxLjcyOCAzODYuNDE0IDQyMi45ODUgMCAxNTEuMTg2LTgwLjc1IDI4Mi42MjQtMjAwLjExOSAzNTcuOTYxbDQ4LjEyOC0yNjAuODI3LTc1Ljk5NS0xMy44OTctNzIuODUgMzkzLjM2MmgzOTQuMzEzdi03Ny40NThoLTIxNy4yMzR6IiwKKwkJCQkJIk03OS4wNjcgNTEwLjk3NmMwLTE3MC41NjkgMTAxLjU5NS0zMTYuNDE2IDI0Ny4wMDMtMzgzLjU2MWwtNTAuMTAzIDI3MC4zMzYgNzUuOTk1IDE0LjA0MyA3Mi43NzctMzkzLjI4OWgtMzk0LjAyMXY3Ny4yMzloMTk2LjMxNWMtMTM1LjE2OCA4OS4zODEtMjI1LjI4IDI0MS4xNTItMjI1LjI4IDQxNS4yMzIgMCAyNzYuOTE5IDIyNS4yOCA1MDIuMTk5IDUwMi4xMjYgNTAyLjE5OSAyLjM0MSAwIDQuNDYyLTAuMjkzIDYuNzI5LTAuMjkzdi03Ny4zODVjLTIuMjY3IDAtNC4zODkgMC4yOTMtNi43MjkgMC4yOTMtMjM0LjI3NyAwLTQyNC44MTQtMTkwLjQ2NC00MjQuODE0LTQyNC44MTR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInJlZnJlc2giCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNzQsCisJCQkJImlkIjogMjUwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NTUsCisJCQkJIm5hbWUiOiAicmVmcmVzaCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDYwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zMi41NDkgNzc0Ljg3NWwtMjkuNDc3IDI0NS42ODcgMjU2Ljk1MS0xOC40MzIgNjI4LjI5Ny02MjcuODU4LTIyNy40MDEtMjI3LjI1NS02MjguMzcgNjI3Ljg1OHpNMjUwLjgwNyA4NDcuNDMzbC02OC42ODEtNjguNjgxIDQ1Ny42NTUtNDU3LjY1NSA2OC42MDggNjguNjA4LTQ1Ny41ODIgNDU3LjcyOHoiLAorCQkJCQkiTTk4Ni43NyA2OS43NzhsLTMyLjkxNC0zMi44NDFjLTUzLjc2LTUzLjc2LTE0MS4wMTktNTMuNzYtMTk0LjcwNiAwbC00MS43NjUgNDEuNjkxIDIyOC4yNzkgMjI2LjgxNiA0MS4xNzktNDEuMTA2YzUzLjY4Ny01My43NiA1My42ODctMTQwLjg3My0wLjA3My0xOTQuNTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIm1vZGlmeSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM3NSwKKwkJCQkiaWQiOiAyNDksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg1NiwKKwkJCQkibmFtZSI6ICJtb2RpZnkiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA2MQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTI4Mi4zMzEgMC01MTIgMjI5LjY2OS01MTIgNTEyIDAgMjgyLjI1OCAyMjkuNzQyIDUxMiA1MTIgNTEyczUxMi0yMjkuNzQyIDUxMi01MTJjMC0yODIuMzMxLTIyOS42NjktNTEyLTUxMi01MTJ6TTUxMiA5NTAuODU3Yy0yNDIuMDMwIDAtNDM4Ljg1Ny0xOTYuODI3LTQzOC44NTctNDM4Ljg1N3MxOTYuOTAxLTQzOC44NTcgNDM4Ljg1Ny00MzguODU3YzI0MS45NTcgMCA0MzguODU3IDE5Ni44MjcgNDM4Ljg1NyA0MzguODU3cy0xOTYuODI3IDQzOC44NTctNDM4Ljg1NyA0MzguODU3eiIsCisJCQkJCSJNNTQ4LjU3MSAyMTkuNDI5aC03My4xNDN2MjU2aC0yNTZ2NzMuMTQzaDI1NnYyNTZoNzMuMTQzdi0yNTZoMjU2di03My4xNDNoLTI1NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibmV3IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzc2LAorCQkJCSJpZCI6IDI0OCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODU3LAorCQkJCSJuYW1lIjogIm5ldyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDYyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04ODguNjg2IDBoLTc1My4zNzFjLTc0LjYwNiAwLTEzNS4zMTQgNjIuMTcxLTEzNS4zMTQgMTM4LjYwNnY3NDYuODYyYzAgNzYuMzYxIDYwLjcwOSAxMzguNTMzIDEzNS4zMTQgMTM4LjUzM2g3NTMuMzcxYzc0LjYwNiAwIDEzNS4zMTQtNjIuMTcxIDEzNS4zMTQtMTM4LjYwNnYtNzQ2Ljc4OWMwLTc2LjQzNC02MC43MDktMTM4LjYwNi0xMzUuMzE0LTEzOC42MDZ6TTg4OC42ODYgOTUwLjg1N2gtNDkuNDQ1di01OS44MzFjMC03Ny41MzEtNjQtMTQwLjU4MS0xNDIuNzAyLTE0MC41ODFoLTE1LjI4N2MtMTMuMjM5LTIyLjYwMS0zNy4wMTAtMzguNDczLTY1LjQ2My0zOC40NzMtNDIuMzUgMC03Ni44IDMzLjY0Ni03Ni44IDc1LjExOCAwIDQxLjM5OSAzNC40NSA3NS4xOTEgNzYuOCA3NS4xOTEgMjguNTI2IDAgNTIuNTE3LTE2LjA5MSA2NS42MDktMzguNzY2aDE1LjE0MWMzOC4zMjcgMCA2OS41NTkgMzAuMjA4IDY5LjU1OSA2Ny40Mzh2NTkuOTA0aC01NzEuNjExdi01OS44MzFjMC0zNy4yMyAzMS4yMzItNjcuNDM4IDY5LjU1OS02Ny40MzhoNTEuNzg1YzEzLjIzOSAyMi43NDcgMzcuMTU3IDM4Ljc2NiA2NS42ODIgMzguNzY2IDQyLjM1IDAgNzYuNzI3LTMzLjc5MiA3Ni43MjctNzUuMTkxIDAtNDEuNDcyLTM0LjM3Ny03NS4xMTgtNzYuNzI3LTc1LjExOC0yOC40NTMgMC01Mi4yOTcgMTUuODcyLTY1LjUzNiAzOC40aC01MS45MzFjLTc4LjcwMiAwLTE0Mi43MDIgNjMuMDQ5LTE0Mi43MDIgMTQwLjU4MXY1Ni44MzJjLTI3LjM1NS02LjgwMi00OC4yMDEtMzEuNTk4LTQ4LjIwMS02Mi40NjR2LTI2My42OGgxMDkuNTY4YzEwLjY3OSAxMy42MDUgMjYuNjk3IDIyLjg5NCA0NS41NjggMjIuODk0IDMyLjMyOSAwIDU4LjQ0MS0yNS42IDU4LjQ0MS01Ny4xOTggMC0zMS42NzEtMjYuMDM5LTU3LjM0NC01OC40NDEtNTcuMzQ0LTIxLjY1IDAtMzkuODYzIDEyLjA2OS00OS45NTcgMjkuMzNoLTEwNS4xNzl2LTkxLjQyOWgxMTEuODM1YzEwLjc1MiAxMS43NzYgMjUuODkzIDE5LjYwMiA0My4zMDEgMTkuNjAyIDMyLjMyOSAwIDU4LjQ0MS0yNS42NzMgNTguNDQxLTU3LjI3MSAwLTMxLjY3MS0yNi4wMzktNTcuMzQ0LTU4LjQ0MS01Ny4zNDQtMjMuMTg2IDAtNDIuNzg5IDEzLjUzMS01Mi4yMjQgMzIuNjk1aC0xMDIuOTEydi0yNjcuMDQ1YzAtMzYuMTMzIDI3Ljg2Ny02NS40NjMgNjIuMTcxLTY1LjQ2M2gyNjYuNDU5djEwOC4wMzJjLTE5LjYwMiA5LjIxNi0zMy4zNTMgMjguNTI2LTMzLjM1MyA1MS4yIDAgMzEuNzQ0IDI2LjE4NSA1Ny4zNDQgNTguNTg3IDU3LjM0NCAzMi4xODMgMCA1OC40NDEtMjUuNiA1OC40NDEtNTcuMzQ0IDAtMTcuMDQyLTcuOTczLTMxLjg5LTE5Ljk2OC00Mi40MjN2LTExNi44MDloOTMuMzN2MTEwLjIyNmMtMTcuNzc0IDkuOTQ3LTMwLjA2MiAyNy43MjEtMzAuMDYyIDQ5LjAwNiAwIDMxLjc0NCAyNi4xODUgNTcuMzQ0IDU4LjUxNCA1Ny4zNDQgMzIuMTgzIDAgNTguNDQxLTI1LjYgNTguNDQxLTU3LjM0NCAwLTE4LjUwNS05LjUwOS0zNC4yMzEtMjMuNDA2LTQ0LjYxN3YtMTE0LjYxNWgyNjYuNDU5YzM0LjIzMSAwIDYyLjA5OCAyOS4zMyA2Mi4wOTggNjUuNDYzdjI2Ny4wNDVoLTEwMi41NDZjLTkuNDM1LTE5LjE2My0yOC45NjUtMzIuNjk1LTUyLjIyNC0zMi42OTUtMzIuMzI5IDAtNTguNDQxIDI1LjY3My01OC40NDEgNTcuMzQ0IDAgMzEuNTk4IDI2LjAzOSA1Ny4yNzEgNTguNDQxIDU3LjI3MSAxNy40MDggMCAzMi40NzUtNy44MjYgNDMuMzAxLTE5LjYwMmgxMTEuNDd2OTEuNDI5aC0xMDQuODg3Yy0xMC4wOTQtMTcuMjYyLTI4LjMwNi0yOS4zMy00OS45NTctMjkuMzMtMzIuMzI5IDAtNTguNDQxIDI1LjY3My01OC40NDEgNTcuMzQ0czI2LjAzOSA1Ny4xOTggNTguNDQxIDU3LjE5OGMxOC44NzEgMCAzNC45NjItOS4zNjIgNDUuNTY4LTIyLjg5NGgxMDkuMjc1djI2My42OGMwIDM2LjEzMy0yNy44NjcgNjUuNDYzLTYyLjE3MSA2NS40NjN6IiwKKwkJCQkJIk0zNTYuMjA2IDM3Ny42MzdoMjk0Ljk4NXYyNzUuNTI5aC0yOTQuOTg1di0yNzUuNTI5eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjcHUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNzcsCisJCQkJImlkIjogMjQ3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NTgsCisJCQkJIm5hbWUiOiAiY3B1IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNjMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEwMjMuODU0IDY1My43NTFsLTk3LjkzOC01NjYuNDkxaC03OTQuOTlsLTEzMC43MDYgNTY2LjQ5MWgtMC4yMTl2Mjg0LjMwNmgxMDI0di0yODQuMzA2aC0wLjE0NnpNMTgzLjI5NiAxNjAuNDAyaDY4Ni44ODVsNzIuOTIzIDQyMS4wMTBoLTg1Ni45NDJsOTcuMTM0LTQyMS4wMTB6TTk1NS42ODUgODY0Ljg0MWgtODg3LjM2OXYtMTM3Ljk0N2g4ODcuNDQydjEzNy45NDd6IiwKKwkJCQkJIk0xMzEuOTUgNzUwLjczOGg3My4xNDN2OTkuMTA5aC03My4xNDN2LTk5LjEwOXoiLAorCQkJCQkiTTI0Ny4wMDMgNzUwLjczOGg3My4xNDN2OTkuMTA5aC03My4xNDN2LTk5LjEwOXoiLAorCQkJCQkiTTg5MC4zNjggODAyLjIzMWMwIDE3LjY5My0xNC4zNDMgMzIuMDM3LTMyLjAzNyAzMi4wMzdzLTMyLjAzNy0xNC4zNDMtMzIuMDM3LTMyLjAzN2MwLTE3LjY5MyAxNC4zNDMtMzIuMDM3IDMyLjAzNy0zMi4wMzdzMzIuMDM3IDE0LjM0MyAzMi4wMzcgMzIuMDM3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJtZW1vcnkiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzNzgsCisJCQkJImlkIjogMjQ2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NTksCisJCQkJIm5hbWUiOiAibWVtb3J5IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNjQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxMiAwYy0yODIuMzMxIDAtNTEyIDIyOS43NDItNTEyIDUxMnMyMjkuNjY5IDUxMiA1MTIgNTEyYzI4Mi4yNTggMCA1MTItMjI5Ljc0MiA1MTItNTEycy0yMjkuNzQyLTUxMi01MTItNTEyek01MTIgOTUwLjg1N2MtMjQyLjAzMCAwLTQzOC44NTctMTk2LjgyNy00MzguODU3LTQzOC44NTdzMTk2LjgyNy00MzguODU3IDQzOC44NTctNDM4Ljg1NyA0MzguODU3IDE5Ni44MjcgNDM4Ljg1NyA0MzguODU3LTE5Ni44MjcgNDM4Ljg1Ny00MzguODU3IDQzOC44NTd6IiwKKwkJCQkJIk03NTcuOTA2IDYzMS4yOTZjLTU2LjE3NC01Ni4xNzQtODAuMDE4LTE2NS45NjEtNzcuNjA1LTIyNy40NzQgMi44NTMtNjEuNDQtMTQuNDA5LTExOC42MzgtNTguNjYxLTE1Mi4zNTctMzkuNzktMzAuMjA4LTgwLjUzLTI0LjA2NC04MC41My0yNC4wNjRsLTIuNDE0LTIxLjQzMWMwIDAtOC45MjMtNi45NDktMjYuNzctNi45NDktMTYuODIzIDAtMjYuNjk3IDYuOTQ5LTI2LjY5NyA2Ljk0OWwtMi43MDYgMjEuNDMxYzAgMC00MC42NjctNi4wNzEtODAuMTY1IDI0LjA2NC00NC40NzEgMzMuNzE5LTYxLjU4NiA5MC45OS01OC44OCAxNTIuMzU3IDIuNzA2IDYxLjUxMy0yMS4zNTggMTcxLjMwMS03Ny42MDUgMjI3LjQwMS01Ni4xMDEgNTYuMTc0LTY0LjA3MyA1OC45NTMtNjEuNDQgODguMjgzIDIuNzc5IDI5LjMzIDI2LjkxNyA0My44MTMgMjYuOTE3IDQzLjgxM2gxOTYuNDYyYzAgMzQuMTU4IDM3Ljc0MiA2MS43MzMgODQuMTg3IDYxLjczMyA0Ni41OTIgMCA4NC4xODctMjcuNTc1IDg0LjE4Ny02MS43MzNoMTk2LjUzNWMwIDAgMjQuMjEtMTQuNDA5IDI2Ljg0My00My44MTNzLTUuMjY2LTMyLjExLTYxLjY1OS04OC4yMXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY3VycmVudEFsYXJtIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzc5LAorCQkJCSJpZCI6IDI0NSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODYwLAorCQkJCSJuYW1lIjogImN1cnJlbnRBbGFybSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDY1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTguNjU2IDIuMzQxYy0yODIuMzMxIDAtNTEyIDIyOS42NjktNTEyIDUxMiAwIDI4Mi4yNTggMjI5LjY2OSA1MTIgNTEyIDUxMnM1MTIuMDczLTIyOS43NDIgNTEyLjA3My01MTJjMC0yODIuMzMxLTIyOS43NDItNTEyLTUxMi4wNzMtNTEyek01MTguNjU2IDk1My4xMjVjLTI0Mi4wMzAgMC00MzguODU3LTE5Ni44MjctNDM4Ljg1Ny00MzguODU3czE5Ni44MjctNDM4Ljg1NyA0MzguODU3LTQzOC44NTdjMjQyLjEwMyAwIDQzOC45MyAxOTYuODI3IDQzOC45MyA0MzguODU3cy0xOTYuOTAxIDQzOC44NTctNDM4LjkzIDQzOC44NTd6IiwKKwkJCQkJIk04MTguOTA3IDQzMi40OTRjLTEuNzU1IDAtMy4zNjUgMS4yNDMtNS4zMzkgMS40NjN2LTE5Mi45NTFjMCAwLTI3LjIwOS0xMi4xNDItNTEuMjczIDAtNTAuODM0IDI1LjMwNy0xMTguNzExIDEwOS40OTUtMTkwLjI0NSAxMjMuMTczLTcxLjMxNCAxMy41MzEtMjY0LjI2NS0wLjUxMi0zNTAuOTM5IDcuNjA3LTIzLjkxOCAyLjEyMS02My45MjcgMTUuMDY3LTY3LjUxMSA2Ny41ODQtMy44NzcgNTIuNDQzIDAgMTA3LjE1NCAwIDEwNy4xNTRzMTkuNjAyIDQ1LjIwMiA0NS4wNTYgNDUuMjAyYzI1LjM4MSAwIDgxLjYyNyAwIDgxLjYyNyAwcy0yLjEyMSAxMDcuNDQ3IDAgMTQzLjI4N2MzLjE0NSA1MC4xNzYgMTguODcxIDYyLjMxOCAzOC4xMDcgODguMTM3IDExLjA0NSAxNS4xNDEgNzMuNjU1IDQ5LjczNyAxMTIuMzQ3IDI1Ljk2NiAyMS41MDQtMTMuMzg1IDM5LjY0My0zNi40MjUgMzEuODktNjUuNTM2LTkuNTA5LTM1LjE4Mi00NC4xMDUtMS4zOS01NC43MTEtNDQuMTA1LTEwLjY3OS00Mi40OTYtNy42MDctMTI3LjU2MS03LjYwNy0xMjcuNTYxczE4LjI4Ni0yNS44OTMgNDIuNjQyLTMxLjk2M2M1LjQxMy0xLjQ2MyA3NC40NTkgNC42MDggNzQuNDU5IDQuNjA4czE5MC40NjQgNjYuNzc5IDIzNS41MiAxMjkuMDk3YzMxLjk2MyA0NC4wMzIgNjAuNjM1IDEzLjUzMSA2MC42MzUgMTMuNTMxdi0xOTAuNjFjMS45MDIgMC4yMTkgMy41ODQgMS40NjMgNS4yNjYgMS40NjMgMjAuNjI2IDAgMzcuMzc2LTIzLjQ3OSAzNy4zNzYtNTIuODA5IDAuMDczLTI5LjExMS0xNi42MDMtNTIuNzM2LTM3LjMwMy01Mi43MzZ6TTc4MS44MjQgNjY4LjA4N2gtMTMuODI0YzAgMCAwIDAtMzkuNDI0LTM1LjAzNS0zOS40MjQtMzQuODg5LTEyNy4xMjItNjkuOTI1LTE4MC44MDktODYuNjc0LTE1LjQzMy00Ljc1NC02NS4wMjQtOC4zMzgtNjUuMDI0LTguMzM4di0xMTIuMzQ3YzYuNDM3LTAuMTQ2IDE3LjI2Mi00LjM4OSAzNy44MTUtMy43MyAxMDcuODg2IDIuOTk5IDI0OS4xOTgtMTI5LjI0MyAyNDkuMTk4LTEyOS4yNDNoMTIuMTQydjM3NS4zNjl6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIm5vdGljZUFsYXJtIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzgwLAorCQkJCSJpZCI6IDI0NCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODYxLAorCQkJCSJuYW1lIjogIm5vdGljZUFsYXJtIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNjYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTY3Mi4zMjkgMzUxLjMwNWwtMTE3LjkwNiAxMDAuNTcxYy0xMC42NzktNi4yMTctMjIuNTI4LTEwLjY3OS0zNS43NjctMTAuNjc5LTguOTk3IDAtMTcuMzM1IDIuMTIxLTI1LjIzNCA1LjEybC0xODIuNDkxLTE4Mi40OTFjLTEzLjQ1OC0xMy40NTgtMzUuODQtMTIuNzI3LTUwLjEwMyAxLjYwOS0xNC4yNjMgMTQuMjYzLTE0Ljk5NCAzNi42NDUtMS42MDkgNTAuMTAzbDE4OC40MTYgMTg4LjQxNmMtMC41MTIgMy41MTEtMi4xMjEgNi42NTYtMi4xMjEgMTAuMzg2IDAgNDAuMzc1IDMyLjc2OCA3My4xNDMgNzMuMTQzIDczLjE0MyAzOS42NDMgMCA3MS41MzQtMzEuNjcxIDcyLjcwNC03MS4wMjJsMTI4LjQzOS0xMDkuNTY4YzE1LjM2LTEzLjA5MyAxNy4xODktMzYuMTMzIDQuMTY5LTUxLjQ5My0xMy4xNjYtMTUuNDMzLTM2LjI3OS0xNy4yNjItNTEuNjM5LTQuMDk2eiIsCisJCQkJCSJNNTE4LjY1NiAyMDYuODQ4YzIwLjE4NyAwIDM2LjU3MS0xNi4zODQgMzYuNTcxLTM2LjU3MXYtNTEuMmMwLTIwLjE4Ny0xNi4zODQtMzYuNTcxLTM2LjU3MS0zNi41NzFzLTM2LjU3MSAxNi4zODQtMzYuNTcxIDM2LjU3MXY1MS4yYzAgMjAuMTg3IDE2LjMxMSAzNi41NzEgMzYuNTcxIDM2LjU3MXoiLAorCQkJCQkiTTUxOC42NTYgODIwLjczNmMtMjAuMTg3IDAtMzYuNTcxIDE2LjQ1Ny0zNi41NzEgMzYuNTcxdjUxLjI3M2MwIDIwLjExNCAxNi4zODQgMzYuNTcxIDM2LjU3MSAzNi41NzFzMzYuNTcxLTE2LjQ1NyAzNi41NzEtMzYuNTcxdi01MS4yNzNjMC0yMC4xODctMTYuMzg0LTM2LjU3MS0zNi41NzEtMzYuNTcxeiIsCisJCQkJCSJNOTEwLjMzNiA0NzcuNzY5aC01MS4xMjdjLTIwLjE4NyAwLTM2LjU3MSAxNi4zODQtMzYuNTcxIDM2LjU3MXMxNi4zODQgMzYuNTcxIDM2LjU3MSAzNi41NzFoNTEuMTI3YzIwLjI2MSAwIDM2LjU3MS0xNi4zODQgMzYuNTcxLTM2LjU3MXMtMTYuMjM4LTM2LjU3MS0zNi41NzEtMzYuNTcxeiIsCisJCQkJCSJNMTcyLjEwNSA0NzcuNzY5aC01MS4yYy0yMC4xMTQgMC0zNi41NzEgMTYuMzg0LTM2LjU3MSAzNi41NzFzMTYuNDU3IDM2LjU3MSAzNi41NzEgMzYuNTcxaDUxLjJjMjAuMTg3IDAgMzYuNTcxLTE2LjM4NCAzNi41NzEtMzYuNTcxcy0xNi4zODQtMzYuNTcxLTM2LjU3MS0zNi41NzF6IiwKKwkJCQkJIk01MTguNjU2IDIuMzQxYy0yODIuMzMxIDAtNTEyIDIyOS42NjktNTEyIDUxMiAwIDI4Mi4yNTggMjI5LjY2OSA1MTIgNTEyIDUxMnM1MTIuMDczLTIyOS43NDIgNTEyLjA3My01MTJjMC0yODIuMzMxLTIyOS43NDItNTEyLTUxMi4wNzMtNTEyek01MTguNjU2IDk1My4xMjVjLTI0Mi4wMzAgMC00MzguODU3LTE5Ni44MjctNDM4Ljg1Ny00MzguODU3czE5Ni44MjctNDM4Ljg1NyA0MzguODU3LTQzOC44NTdjMjQyLjEwMyAwIDQzOC45MyAxOTYuODI3IDQzOC45MyA0MzguODU3cy0xOTYuOTAxIDQzOC44NTctNDM4LjkzIDQzOC44NTd6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImhpc3RvcnlBbGFybSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM4MSwKKwkJCQkiaWQiOiAyNDMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg2MiwKKwkJCQkibmFtZSI6ICJoaXN0b3J5QWxhcm0iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA2NworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODY4Ljc5MSA3NTUuNzg1bC0yNTEuMDI2LTI0NS4xMDIgMjQ1LjE3NS0yNTAuODgtMTA3LjE1NC0xMDQuNTIxLTI0NS4wMjkgMjUwLjg4LTI1MS4wMjYtMjQ1LjAyOS0xMDQuNTIxIDEwNy4wMDggMjUxLjAyNiAyNDUuMTAyLTI0NS4xNzUgMjUxLjAyNiAxMDcuMDgxIDEwNC40NDggMjQ1LjEwMi0yNTAuOTUzIDI1MS4wMjYgMjQ1LjE3NXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY2xvc2UiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzODIsCisJCQkJImlkIjogMjQyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NjMsCisJCQkJIm5hbWUiOiAiY2xvc2UiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA2OAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMzYuNTcxIDczLjE0M3Y5NTAuODU3aDk1MC44NTd2LTk1MC44NTdoLTk1MC44NTd6TTkxOS4xMTMgMTQ2LjI4NnYxMTMuMjI1aC04MTQuMjI2di0xMTMuMjI1aDgxNC4yMjZ6TTY4OC41NjcgMzMyLjY1NHYxNjUuMjNoLTEzNi4zMzh2LTE2NS4yM2gxMzYuMzM4ek00NzkuMDg2IDQ5Ny45NTdoLTE0NC4wMTh2LTE2NS4zMDNoMTQ0LjAxOHYxNjUuMzAzek0yNjEuOTI1IDQ5Ny45NTdoLTE1Ny4wMzh2LTE2NS4zMDNoMTU3LjAzOHYxNjUuMzAzek0yNjEuOTI1IDU3MS4wOTl2MTQyLjQ4MmgtMTU3LjAzOHYtMTQyLjQ4MmgxNTcuMDM4ek0zMzUuMDY3IDU3MS4wOTloMTQ0LjAxOHYxNDIuNDgyaC0xNDQuMDE4di0xNDIuNDgyek01NTIuMjI5IDU3MS4wOTloMTM2LjMzOHYxNDIuNDgyaC0xMzYuMzM4di0xNDIuNDgyek03NjEuNzEgNTcxLjA5OWgxNTcuNDAzdjE0Mi40ODJoLTE1Ny40MDN2LTE0Mi40ODJ6TTc2MS43MSA0OTcuOTU3di0xNjUuMzAzaDE1Ny40MDN2MTY1LjIzaC0xNTcuNDAzek0xMDQuODg3IDk1MC45M3YtMTY0LjIwNmgxNTcuMDM4djE2NC4yMDZoLTE1Ny4wMzh6TTMzNS4wNjcgOTUwLjkzdi0xNjQuMjA2aDE0NC4wMTh2MTY0LjIwNmgtMTQ0LjAxOHpNNTUyLjIyOSA5NTAuOTN2LTE2NC4yMDZoMTM2LjMzOHYxNjQuMjA2aC0xMzYuMzM4ek03NjEuNzEgOTUwLjkzdi0xNjQuMjA2aDE1Ny40MDN2MTY0LjIwNmgtMTU3LjQwM3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkidGFibGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzODMsCisJCQkJImlkIjogMjQxLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NjQsCisJCQkJIm5hbWUiOiAidGFibGUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA2OQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjE1LjA0MCAzNi41NzFsNTAxLjEwMiA0ODEuNjQ2di00ODEuNTczaDE0Ni4yODZ2OTUwLjc4NGgtMTQ2LjI4NnYtNDYzLjUwNmwtNTAxLjEwMiA0NjMuNTA2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJuZXh0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzg0LAorCQkJCSJpZCI6IDI0MCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODY1LAorCQkJCSJuYW1lIjogIm5leHQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA3MAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODYyLjQyNyAzNi41NzFsLTUwMS4xMDIgNDgxLjY0NnYtNDgxLjU3M2gtMTQ2LjI4NnY5NTAuNzg0aDE0Ni4yODZ2LTQ2My41MDZsNTAxLjEwMiA0NjMuNTA2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJwcmUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzODUsCisJCQkJImlkIjogMjM5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NjYsCisJCQkJIm5hbWUiOiAicHJlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNzEKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk0Mi41MjggNTc0Ljg0OGMwIDAtMzkuODcyLTQzLjkwNC03Ny42MzItNjguMDk2LTM3Ljg4OC0yNC4zMi0xMDIuNjU2LTM2Ljk5Mi0xMDIuNjU2LTM2Ljk5MmwtMy4zOTItMzEuMTA0IDYuODQ4LTQuNjA4YzAgMCAyNy43NzYtNTYuNjQgMzIuMzg0LTY5LjMxMiA0LjU0NC0xMi43MzYgMTIuOC0xMi43MzYgMTguNTYtMTkuNjQ4czEyLjAzMi01MS44NCA4LjEyOC01OC44OGMtMi44OC01LjE4NC05LjM0NC03LjA0MC05LjM0NC03LjA0MGwxLjI4LTkuMTUyYzAgMCAxMC4zNjgtNTcuNzI4IDYuODQ4LTc1LjA3MnMtMTEuNjQ4LTQ1LjEyLTIxLjg4OC01OC44OGMtMTAuNDk2LTEzLjg4OC0yNy42NDgtMjAuOC00MS42LTE4LjU2LTEzLjg4OCAyLjM2OC0yMC44NjQtNi45MTItMjAuODY0LTYuOTEycy0yNi4zNjgtMjMuMTA0LTUxLjg0LTI0LjI1Ni05OC4zMDQgMTcuMzQ0LTExMy4yOCA4NS41MDRjLTE0Ljk3NiA2OC4xNiAwIDExMC44NDggMCAxMTAuODQ4bC02Ljk3NiAyLjMwNGMwIDAtMy40NTYgMjguODY0IDMuNTIgNDkuNjY0IDYuODQ4IDIwLjczNiAyNC4yNTYgMzMuNDA4IDI0LjI1NiAzMy40MDhsMy40NTYgNi45NzZjMCAwIDQuMDMyIDkuMzQ0IDkuMjggMjAuNjcyIDUzLjQ0IDM1Ljc3NiA5MC4xNzYgMTA0LjcwNCA5MC4xNzYgMTg0Ljk2IDAgNDYuMDgwLTEyLjIyNCA4OC4zODQtMzIuNTc2IDEyMy4wNzIgMTEuMiAwLjcwNCAyMi40NjQgMS4zNDQgMzMuNiAxLjA4OCAxMzQuMjA4LTMuNjQ4IDIzNi42NzItNDIuMjQgMjQzLjcxMi02MS44ODggNi44NDgtMTkuNTIgMC02OC4wOTYgMC02OC4wOTZ6IiwKKwkJCQkJIk0zNTUuMTM2IDU4MC43MzZjMC03OC45MTIgMzUuNTItMTQ2Ljg4IDg3LjU1Mi0xODMuMTY4IDYuNTI4LTEzLjc2IDEyLjg2NC0yNy40NTYgMTQuODQ4LTMyLjg5NiA0LjQ4LTEyLjY3MiAxMi43MzYtMTIuNjcyIDE4LjQ5Ni0xOS41ODRzMTIuMDMyLTUxLjg0IDguMTI4LTU4Ljg4Yy0yLjg4LTUuMTg0LTkuMzQ0LTcuMDQwLTkuMzQ0LTcuMDQwbDEuMjgtOS4xNTJjMCAwIDEwLjM2OC01Ny43MjggNi44NDgtNzUuMDcycy0xMS42NDgtNDUuMTItMjEuODg4LTU4Ljg4Yy0xMC41Ni0xMy44ODgtMjcuNzEyLTIwLjg2NC00MS42NjQtMTguNTYtMTMuODg4IDIuMzY4LTIwLjg2NC02LjkxMi0yMC44NjQtNi45MTJzLTI2LjM2OC0yMy4xMDQtNTEuODQtMjQuMjU2Yy0yNS40NzItMS4xNTItOTguMzA0IDE3LjM0NC0xMTMuMjggODUuNTA0czAgMTEwLjg0OCAwIDExMC44NDhsLTYuOTEyIDIuMzA0YzAgMC0zLjQ1NiAyOC44NjQgMy40NTYgNDkuNjY0IDYuOTEyIDIwLjczNiAyNC4yNTYgMzMuNDA4IDI0LjI1NiAzMy40MDhsMy40NTYgNi45NzZjMCAwIDIyLjAxNiA1MS45NjggMzEuMTY4IDYwLjAzMiA5LjI4IDguMTI4IDIuMzA0IDI4LjkyOCAyLjMwNCAyOC45MjhsLTEyLjY3MiA5LjIxNmMwIDAtMTYxLjY2NCA1MC44OC0xNjYuMzM2IDk3LjA4OHMtNi40NjQgNTUuODA4LTMuMjY0IDY5Ljg4OGMyLjE3NiA5LjM0NCAxMjkuNjY0IDY4LjA5NiAyNDkuMjggNjQuNzY4IDEwLjA0OC0wLjI1NiAxOS4zOTItMS4xNTIgMjkuMDU2LTEuNzI4LTIwLjAzMi0zNC42ODgtMzIuMDY0LTc2LjczNi0zMi4wNjQtMTIyLjQ5NnoiLAorCQkJCQkiTTU2OC44MzIgNDI5LjUwNGMwIDAtMjYuMzY4LTIzLjEwNC01MS44NC0yNC4yNTZzLTk4LjMwNCAxNy4zNDQtMTEzLjI4IDg1LjUwNGMtMTQuOTc2IDY4LjE2IDAgMTEwLjg0OCAwIDExMC44NDhsLTYuOTEyIDIuMzY4YzAgMC0zLjQ1NiAyOC44NjQgMy40NTYgNDkuNjY0IDYuOTEyIDIwLjczNiAyNC4yNTYgMzMuNDA4IDI0LjI1NiAzMy40MDhsMy40NTYgNi45NzZjMCAwIDIyLjAxNiA1MS45NjggMzEuMTY4IDYwLjAzMiA5LjI4IDguMDY0IDIuMzA0IDI4Ljg2NCAyLjMwNCAyOC44NjRsLTEyLjY3MiA5LjIxNmMwIDAtMTYxLjY2NCA1MC44OC0xNjYuMzM2IDk3LjA4OHMtNi40NjQgNTUuODA4LTMuMjY0IDY5Ljg4OGMyLjE3NiA5LjQwOCAxMjkuNjY0IDY4LjE2IDI0OS4yOCA2NC44MzIgMTM0LjIwOC0zLjcxMiAyMzYuNzM2LTQyLjMwNCAyNDMuNzEyLTYxLjg4OCA2Ljg0OC0xOS42NDggMC02OC4xNiAwLTY4LjE2cy0zOS44NzItNDMuOTA0LTc3LjYzMi02OC4wOTZjLTM3Ljg4OC0yNC4zMi0xMDIuNjU2LTM2Ljk5Mi0xMDIuNjU2LTM2Ljk5MmwtMy4zOTItMzEuMTA0IDYuODQ4LTQuNjA4YzAgMCAyNy43NzYtNTYuNjQgMzIuMzg0LTY5LjMxMiA0LjQ4LTEyLjY3MiAxMi43MzYtMTIuNjcyIDE4LjQ5Ni0xOS42NDhzMTIuMDMyLTUxLjg0IDguMTI4LTU4Ljg4Yy0yLjg4LTUuMTg0LTkuMzQ0LTcuMDQwLTkuMzQ0LTcuMDQwbDEuMjgtOS4xNTJjMCAwIDEwLjM2OC01Ny43MjggNi44NDgtNzUuMDcycy0xMS42NDgtNDUuMTItMjEuODg4LTU4Ljg4Yy0xMC40MzItMTQuMDE2LTI3LjUyLTIwLjkyOC00MS41MzYtMTguNjg4LTEzLjg4OCAyLjM2OC0yMC44NjQtNi45MTItMjAuODY0LTYuOTEyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJyb2xlc2V0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzg2LAorCQkJCSJpZCI6IDIzOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODY3LAorCQkJCSJuYW1lIjogInJvbGVzZXQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA3MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTA5LjUwNCA2NzAuNjU2YzAgMCA5LjM0NC0yNy45MDQtMy4wNzItMzguNjU2LTEyLjI4OC0xMC44MTYtNDEuNzkyLTgwLjQ0OC00MS43OTItODAuNDQ4bC00LjYwOC05LjM0NGMwIDAtMjMuMjMyLTE2Ljk2LTMyLjUxMi00NC44NjQtMC42NC0xLjg1Ni0wLjc2OC0zLjk2OC0xLjI4LTUuODg4LTE3LjE1Mi00LjU0NC0yOC45MjgtNi44NDgtMjguOTI4LTYuODQ4bC00LjM1Mi0zOS4zNiA4LjY0LTUuODg4YzAgMCAxMi4xNi0yNC44MzIgMjMuNDI0LTQ4LjUxMi0yLjg4LTI1Ljg1Ni0zLjQ1Ni02NCA3LjEwNC0xMTEuNjggNi4yMDgtMjguMDk2IDIwLjA5Ni00OS4zNDQgMzYuODY0LTY1Ljk4NCAzLjU4NC0yMy4xMDQgOC41NzYtNjEuMDU2IDUuNTA0LTc1LjkwNC00LjE2LTIxLjg4OC0xNC41MjgtNTYuOTYtMjcuNzEyLTc0LjQzMi0xMy4xMi0xNy41MzYtMzQuOTQ0LTI2LjMwNC01Mi40OC0yMy4zNnMtMjYuMjQtOC43NjgtMjYuMjQtOC43NjgtMzMuNDcyLTI5LjI0OC02NS42LTMwLjY1NmMtMzIuMTI4LTEuNDcyLTEyNC4xNiAyMS44ODgtMTQzLjE2OCAxMDcuOTY4LTE4Ljk0NCA4Ni4wODAgMCAxNDAuMDMyIDAgMTQwLjAzMmwtOC42NCAzLjAwOGMwIDAtNC40MTYgMzYuNTQ0IDQuMjg4IDYyLjcyIDguNzY4IDI2LjMwNCAzMC42NTYgNDIuMzY4IDMwLjY1NiA0Mi4zNjhsNC4zNTIgOC43NjhjMCAwIDI3Ljg0IDY1LjY2NCAzOS40MjQgNzUuOTA0IDExLjY0OCAxMC4xMTIgMi44OCAzNi40OCAyLjg4IDM2LjQ4bC0xNS45MzYgMTEuNTg0YzAgMC0yMDQuMjg4IDY0LjE5Mi0yMTAuMTc2IDEyMi42ODgtNS44MjQgNTguMzA0LTguMTkyIDcwLjUyOC00LjA5NiA4OC4yNTYgMi42MjQgMTEuMDcyIDE0NC43MDQgNzcuMTg0IDI4Ny4xMDQgODEuNzI4IDU0LjE0NC01MS40NTYgMjAzLjQ1Ni05OC40OTYgMjAzLjQ1Ni05OC40OTZsMTYuODk2LTEyLjQxNnoiLAorCQkJCQkiTTEwMTkuODQgODQ5LjUzNmMwIDAtNTMuMzc2LTU4LjgxNi0xMDQtOTEuMzI4LTUwLjc1Mi0zMi41NzYtMTM3LjM0NC00OS40NzItMTM3LjM0NC00OS40NzJsLTQuNjA4LTQxLjcyOCA5LjI4LTYuMjcyYzAgMCAzNy4xMi03NS44NCA0My4zOTItOTIuODY0IDYuMTQ0LTE3LjAyNCAxNy4wMjQtMTcuMDI0IDI0Ljc2OC0yNi4zMDRzMTYtNjkuMzc2IDEwLjc1Mi03OC45NzZjLTMuNzc2LTYuOTEyLTEyLjIyNC05LjM0NC0xMi4yMjQtOS4zNDRsMS4zNDQtMTIuMjI0YzAgMCAxMy44ODgtNzcuMzc2IDkuMjgtMTAwLjYwOHMtMTUuNDg4LTYwLjM1Mi0yOS4zNzYtNzguOTEyYy0xNC4wMTYtMTguNjI0LTM3LjEyLTI3LjkwNC01NS43NDQtMjQuODMyLTE4LjYyNCAzLjEzNi0yNy45MDQtOS4yOC0yNy45MDQtOS4yOHMtMzUuNTItMzAuOTEyLTY5LjUwNC0zMi40NDhjLTM0LjExMi0xLjUzNi0xMzEuNjQ4IDIzLjE2OC0xNTEuNzQ0IDExNC41Ni0yMC4wOTYgOTEuMjY0IDAgMTQ4LjQ4IDAgMTQ4LjQ4bC05LjI4IDMuMTM2YzAgMC00LjY3MiAzOC43MiA0LjYwOCA2Ni41NiA5LjI4IDI3LjkwNCAzMi41MTIgNDQuOTI4IDMyLjUxMiA0NC45MjhsNC42MDggOS4zNDRjMCAwIDI5LjUwNCA2OS42MzIgNDEuNzI4IDgwLjQ0OCAxMi4zNTIgMTAuNzUyIDMuMTM2IDM4LjY1NiAzLjEzNiAzOC42NTZsLTE3LjAyNCAxMi4yODhjMCAwLTIxNi42NCA2OC4wOTYtMjIyLjg0OCAxMzAuMDQ4cy04LjcwNCA3NC43NTItNC4zNTIgOTMuNjMyYzIuODggMTIuNTQ0IDE3My43NiA5MS4yNjQgMzM0LjAxNiA4Ni43ODQgMTc5LjkwNC00LjkyOCAzMTcuMjQ4LTU2LjcwNCAzMjYuNTI4LTgyLjk0NCA5LjM0NC0yNi4zMDQgMC05MS4zMjggMC05MS4zMjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInJvbGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzODcsCisJCQkJImlkIjogMjM3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NjgsCisJCQkJIm5hbWUiOiAicm9sZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDczCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01OTMuNjY0IDEwMC45MjhjMCAwLTQxLjIxNi0zNS44NC04MC42NC0zNy42MzItMzkuNDg4LTEuNzkyLTE1Mi41MTIgMjYuODgtMTc1LjgwOCAxMzIuNzM2LTIzLjI5NiAxMDUuNzkyIDAgMTcyLjA5NiAwIDE3Mi4wOTZsLTEwLjY4OCAzLjY0OGMwIDAtNS4zNzYgNDQuODY0IDUuMzEyIDc3LjE4NCAxMC43NTIgMzIuMjU2IDM3LjY5NiA1MS45NjggMzcuNjk2IDUxLjk2OGw1LjM3NiAxMC44MTZjMCAwIDM0LjExMiA4MC43MDQgNDguMzg0IDkzLjE4NCAxNC40IDEyLjQ4IDMuNTg0IDQ0LjggMy41ODQgNDQuOGwtMTkuNzEyIDE0LjMzNmMwIDAtMjUxLjA3MiA3OC45MTItMjU4LjI0IDE1MC42NTZzLTEwLjA0OCA4Ni42NTYtNS4wNTYgMTA4LjQ4YzMuMzI4IDE0LjU5MiAyMDEuMzQ0IDEwNS43MjggMzg2Ljk0NCAxMDAuNjA4IDIwOC41MTItNS43NiAzNjcuNjgtNjUuNjY0IDM3OC40MzItOTYuMTI4IDEwLjc1Mi0zMC41MjggMC0xMDUuNzkyIDAtMTA1Ljc5MnMtNjEuOTUyLTY4LjE2LTEyMC42NC0xMDUuNzkyYy01OC43NTItMzcuNzYtMTU5LjEwNC01Ny4zNDQtMTU5LjEwNC01Ny4zNDRsLTUuMjQ4LTQ4LjQ0OCAxMC42MjQtNy4yMzJjMCAwIDQzLjEzNi04Ny44NzIgNTAuMzA0LTEwNy41ODQgNy4xMDQtMTkuNzEyIDE5LjcxMi0xOS43MTIgMjguNjcyLTMwLjQ2NHMxOC41Ni04MC4zODQgMTIuNDgtOTEuNTJjLTQuMzUyLTgtMTQuMzM2LTEwLjg4LTE0LjMzNi0xMC44OGwxLjc5Mi0xNC4yMDhjMCAwIDE2LjA2NC04OS42NjQgMTAuNjg4LTExNi41NDQtNS4zMTItMjYuODgtMTcuOTItNjkuOTUyLTM0LjA0OC05MS40NTZzLTQyLjk0NC0zMi4yNTYtNjQuNTEyLTI4LjczNmMtMjEuNTY4IDMuNjQ4LTMyLjI1Ni0xMC43NTItMzIuMjU2LTEwLjc1MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkidXNlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM4OCwKKwkJCQkiaWQiOiAyMzYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg2OSwKKwkJCQkibmFtZSI6ICJ1c2VyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNzQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQ5MC42MzkgMjU1Ljk2OWwtNDU3LjQ1MiAxMjguNTQ4IDMxLjQwMSAxNDEuNDU1LTIuMjUzLTAuNDgxdjMuNzc5bC00NS4zMzggMTQxLjY4MSA0MDIuMzc2IDk2LjMzMyA3Ny40NS0xNDUuNDU0IDEuODg0LTMuNzc5LTQxMS4xLTg3LjE5OSA0MzQuMTkxLTEyOS40Mjh6IiwKKwkJCQkJIk02Mi4zMzYgNzAxLjYxOXYyMDUuNDU1bDQzNi4zNzIgMTE1LjIzMXYtMzU5LjM0N2wtNjYuNTE0IDEyNi43NjZ6IiwKKwkJCQkJIk01MzEuOTM3IDYxOS43NGwxLjg4OSAzLjc3OSA3Ny40NDUgMTQ1LjQ1OSA0MDIuMzgxLTk2LjMzOC00NS4zNDgtMTQxLjY4MXYtMy43NzlsLTEuMzY3IDAuMjg3IDMzLjYyMy0xNTEuNDA0LTQ0Ny42MDEtMTIwLjA5NS0zMS4xNiAxNDUuNDU0IDQ0Mi44NyAxMjYuNTI1eiIsCisJCQkJCSJNNTMxLjkzNyA2NjQuNjQ4djM1OS4zNTJsNDM2LjM2Ny0xMTUuMjM2di0yMDUuNDU1bC0zNjkuODQ4IDg4LjF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImVtcHR5IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzg5LAorCQkJCSJpZCI6IDIzNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODcwLAorCQkJCSJuYW1lIjogImVtcHR5IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogNzUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTU0NC40MjcgNDAzLjE4M2wxNzkuODQ5IDIyMi43ODh2Mjk1LjQyNGwxMTkuNzQgMTAyLjYwNXYtMzk3LjQxNGwxNzkuOTg1LTIyMy40MDNoLTQ3OS41NzN6TTgwOS44ODIgNjE0Ljk0NnYzMzMuMzQ2bC01MS40NzMtMzkuNDU4di0yOTUuNDkybC0xMzguOTIzLTE3Ni41MDNoMzMzLjg1OGwtMTQzLjQ2MiAxNzguMTA4eiIsCisJCQkJCSJNMzkzLjg2NSA0MjUuNDcyYy0zNS42MDEgOC40OTktNjEuMjY5IDQyLjU5OC02Mi4zNjIgNDQuMDMybC0zLjE0IDQuMjY3LTAuMjA1IDUuMjkxYy0wLjEzNyA0LjE2NC0zLjY4NiAxMDMuMTg1IDkuODk5IDE1NS4xMzYgOS44MyAzNy43MTcgMzUuNjM1IDQwLjQ4MiA1MS4wMjkgNDIuMDUyIDEyLjgzNCAxLjM5OSAxNC4zMzYgMS44NDMgMTYuNjkxIDEwLjEzOCA4LjQzMSAzMC4wNzEtMTkuNDIyIDUwLjM4MS0zMS42NzYgNTcuNjE3LTM3LjcxNyAyMS45MTQtMTA2LjcwMS0xMi45MzctMTE2Ljg3My0yNi4zMTctMy42MTgtNC42NzYtNy4xMzQtOC45NDMtMTAuNTEzLTEzLjA3My0xOC4wOTEtMjEuOTgyLTMwLjA3MS0zNi40Mi0zMi45MzktODEuMjAzLTIuNjI4LTQwLjk5NCAwLTE2NS43NTEgMC4wMzQtMTY3LjA0OWwwLjM3NS0xNy40NDJoLTExOC4zNzRjLTEzLjE0MSAwLTMwLjQxMy0yMy4yNzktMzkuMDE0LTQwLjU4NS0wLjg1My0xMy40ODMtMy44MjMtNjguMTY0IDAuMjA1LTEyMC4yODYgMy43ODktNTAuNjIgNDQuMjM3LTYxLjY3OSA2OC4wMjgtNjMuNzk1IDQ3LjAwMi00LjE5OCA5OC4yMDItMy4yNDMgMTQ3Ljc2My0yLjMyMSA2My41NTYgMS4xMjYgMTIzLjU2MyAyLjI4NyAxNzQuMDQ2LTYuODYxIDU5LjE4Ny0xMC43ODYgMTE0LjQ0OS01NC41MTEgMTYzLjIyNi05My4wODIgMjcuNzg1LTIxLjk0OCA1NC4wMzMtNDIuNzM1IDc2LjAxNS01My4xNDYgMTMuNzU2LTYuNTU0IDI5LjI4Ni00Ljk0OSAzOS4yODctMi43NjV2MjM0LjU5OGwxOS44MzEtMy4yNzcgMy43MjEtMS41MDJjMTUuNzM1IDAgMjkuMDQ3IDIwLjY1MSAyOS4wNDcgNDUuMDU2IDAgNy44MTctMS40NjggMTUuNDYyLTQuNDAzIDIyLjc2N2wzMS43NDQgMTIuNjI5YzQuNTA2LTExLjM2NiA2Ljc5My0yMy4yNzkgNi43OTMtMzUuNDMgMC0zOS44NjgtMjIuMzU3LTcyLjAyMS01Mi41OTktNzguMTMxdi0yMjAuNjA0bC0xMC41MTMtNC40MDNjLTEuNjA0LTAuNzE3LTQxLjI2Ny0xNi45NjQtNzcuNTUxIDAuMzA3LTI1LjQ2MyAxMi4wODMtNTMuMjQ4IDMzLjk5Ny04Mi41MzQgNTcuMjA3LTQ1LjY3IDM2LjA3OS05Ny4zODIgNzcuMDA1LTE0OC4xNzMgODYuMjU1LTQ3LjEzOCA4LjQ5OS0xMDUuNTQgNy40NDEtMTY3LjMyMiA2LjMxNS01MC40NDktMC45NTYtMTAyLjU3MS0xLjg3Ny0xNTEuNDE1IDIuNDU4LTU3Ljg5IDUuMTItOTQuOTI1IDQwLjcyMS05OS4wMjEgOTUuMTk4LTQuODEzIDYyLjI1OS0wLjIwNSAxMjUuOTUyIDAgMTI4LjY0OWwxLjUwMiA1LjgzN2MyLjk3IDYuNDUxIDMwLjE3NCA2My4xODEgNzEuMzM5IDYzLjE4MWg4My41MjRjLTAuNjE0IDM2LjM1Mi0xLjc3NSAxMTkuMTU5IDAuMzc1IDE1Mi41MDggMy42MTggNTUuNzc0IDIwLjc1MyA3Ni41OTUgNDAuNjUzIDEwMC43MjcgMy4yMDkgMy44OTEgNi41MTkgNy44ODUgOS44MyAxMi4xNTEgMTMuMTA3IDE3LjEzNSA2NS4wOTIgNDYuNTU4IDExNC4xNDIgNDYuNTU4IDE2LjU1NSAwIDMyLjgwMi0zLjM3OSA0Ny4wNzAtMTEuNzA4IDM5LjgzNC0yMy41ODYgNTcuNDgxLTU5LjU5NyA0Ny4yMDYtOTYuMzI0LTguNzM4LTMwLjg1Ny0zMi4wMTctMzMuMzQ4LTQ1Ljk0My0zNC44MTYtMTMuNTg1LTEuMzk5LTE3LjY4MS0xLjgwOS0yMS41NzItMTYuNzU5LTEwLjU4MS00MC41MTYtOS40ODktMTE4LjEwMS04Ljk3Ny0xMzkuNjA1IDcuNTQzLTguNjcgMjIuOTM4LTIzLjMxMyAzOC4wNTktMjYuOTk5IDYuNTg4LTAuNDc4IDUwLjAzOSAyLjQ1OCA4Ni42OTkgNS41NjRsOC41MzMtMzMuMTQzLTQuMTk4LTAuODg3Yy04Ny45OTYtNy4xMzQtOTQuNDgxLTUuNjY2LTk3LjM0OC00Ljk4M3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibm90aWNlRmlsdGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzkwLAorCQkJCSJpZCI6IDIzNCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODcxLAorCQkJCSJuYW1lIjogIm5vdGljZUZpbHRlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDc2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yNjAuOTQ5IDM5My4yMTZjMTQuNzExLTkuMjg0IDU2LjQ5MS0zMC44OTEgMTI5Ljg3Ny0zMy40ODUgOTMuMTUtMy4xNzQgMjc1LjkgMjkuNDkxIDI3Ny42NzUgMjkuNzk4bDUyLjE1NiA5LjM1My0zNi44NjQtMzguMDU5Yy01LjkwNS02LjA3Ni0xNDUuNjgxLTE0OC42NTEtMjg3LjM2OS0xNTguNjE4LTY4LjU3NC00Ljg4MS0xMTkuMTU5IDQuMjMzLTE0Ni4zMyAxMS4xOTZsLTUuODAzLTE0OS4wOTQtMjMzLjc0NSAyNzEuMTg5IDI1MC40MDIgMjM1LjA0MnYtMTc3LjMyM3pNMjI2LjgxNiAzNzYuNDkxdjExNS4ybC0xNjkuMDk3LTE1OC43MiAxNTUuODE5LTE4MC43MzYgNC4yNjcgMTA4LjUxIDIyLjMyMy04LjcwNGMwLjUxMi0wLjE3MSA1OC45MTQtMjIuMzkxIDE1My44NzMtMTUuNzcgODUuMDI2IDYuMDA3IDE3Mi45NTQgNjguMzAxIDIyMy4xOTggMTEwLjIxNy02My4xODEtOS42OTQtMTY0LjIxNS0yMi45NzItMjI3LjYwMS0yMC44NTUtMTA2LjMyNSAzLjc1NS0xNTQuNzk1IDQ0LjAzMi0xNTYuODA5IDQ1LjczOWwtNS45NzMgNS4xMnoiLAorCQkJCQkiTTkzNi4wNzMgNzE5LjgzOGwtMjcuNDc3LTI3LjEzNmMtNzIuODQxLTcyLjczOC0xMDIuMzMyLTIxNy43NzEtOTkuMzk2LTI5Mi43OTYgNC40NzEtOTUuODgxLTI1LjkwNy0xNzMuNzA1LTg1LjUzOC0yMTkuMTctNDAuMDczLTMwLjQ0Ny04MC44MjgtMzYuMDc5LTEwMy4zNTYtMzYuNDg5bC0yLjI1My0yMC4xMDUtNS43LTQuNDM3Yy0xLjcwNy0xLjMzMS0xNy40NzYtMTIuOTcxLTQ2LjQ5LTEyLjk3MS0yNy4yMzggMC00My44OTUgMTEuMjMtNDUuNzA1IDEyLjQ5M2wtNi4xNDQgNC4zMzUtMi42MjggMjAuNzE5Yy0xNC4xMzEgMC4yNzMtMzUuNTY3IDIuNTk0LTU5LjM1OCAxMS44NzhsMTIuMzU2IDMxLjgxMmMzMi41MjktMTIuNjI5IDU5LjI1NS05LjE0OCA1OS40Ni05LjExNGwxNy4yMzcgMi41NiA0LjcxLTM3LjA2OWM5LjE0OC0zLjQxMyAzMS44NDYtMy4yNDMgNDAuMTQxLTAuMjM5bDQuMzAxIDM3LjIzOSAxNy4zNzQtMi40NThjMS45OC0wLjIwNSA0OC43NzctNi4zODMgOTUuNDAzIDI5LjA0NyA1MC40MTUgMzguNDM0IDc2LjA0OSAxMDYuMDg2IDcyLjA5MCAxOTAuNTY2LTMuMzExIDgzLjU1OCAyOC40NjcgMjM3LjU2OCAxMDkuMzk3IDMxOC40M2wyNy42NDggMjcuMzA3YzUxLjEzMiA1MC4yMSA1Mi41MzEgNTIuMzk1IDUwLjI3OCA3Ny42NTMtMi4xNSAyMy40ODQtMTcuNTEgMzcuODg4LTI0LjQ3NCA0My4zMTVoLTI3NS44MzF2MTcuMDY3YzAgMzYuMzE4LTQzLjE0NSA2NS45MTEtOTYuMTE5IDY1LjkxMXMtOTYuMDg1LTI5LjU1OS05Ni4wODUtNjUuOTExdi0xNy4wNjdoLTI3NS43NjNjLTYuOTI5LTUuNDYxLTIyLjM5MS0yMC4wNzAtMjQuNTc2LTQzLjMxNS0yLjI1My0yNS4yNTktMC44NTMtMjcuNDQzIDQ5Ljk3MS03Ny41MTdsMjcuNzUtMjcuNTExYzY4LjEzLTY4LjA2MiAxMDAuNDg5LTE4Ny42MzEgMTA3LjUyLTI2OS4zNDZsLTMzLjk5Ny0yLjkzNWMtNi41MTkgNzUuOTgxLTM2LjA0NSAxODYuNTM5LTk3LjY1NSAyNDguMTQ5bC0yNy41OCAyNy4zMDdjLTUxLjU0MSA1MC43NTYtNjMuNzk1IDYyLjgzOS02MC4wMDYgMTA0Ljk2IDQuNDcxIDQ3LjUxNCA0Mi43NjkgNzAuODk1IDQ0LjQwNyA3MS44NTFsNC4wMjggMi40MjNoMjUzLjY0NWMxMC41ODEgNDcuMDcwIDY0LjEwMiA4Mi45NzggMTI4LjM0MSA4Mi45NzggNjQuMjczIDAgMTE3Ljc5NC0zNS45MDggMTI4LjM3NS04Mi45NzhoMjUzLjY3OWw0LjAyOC0yLjM4OWMxLjYzOC0wLjk1NiA0MC4wNzMtMjQuNDA1IDQ0LjM3My03MS45NTMgMy43MjEtNDIuMTIxLTguNjAyLTU0LjIzOC02MC4zODItMTA1LjA5N3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiYWxhcm1UdXJuIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzkxLAorCQkJCSJpZCI6IDIzMywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODcyLAorCQkJCSJuYW1lIjogImFsYXJtVHVybiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDc3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04NDYuODE0IDExOC44MThjMi41MjYtMTAuNTEzIDUuOTM5LTE3LjE2OSA2Ljk5Ny0xOC4xOTN2LTM0LjEzM2MtMjAuNjE3IDAtMzYuNDIgMjEuMDYwLTQxLjg0NyA1Mi4zMjZoLTU2LjY5NWMyLjUyNi0xMC41MTMgNS45MzktMTcuMTY5IDYuOTk3LTE4LjE5M3YtMzQuMTMzYy0yMC42MTcgMC0zNi40MiAyMS4wNjAtNDEuODQ3IDUyLjMyNmgtNTYuNjk1YzIuNTI2LTEwLjUxMyA1LjkzOS0xNy4xNjkgNi45OTctMTguMTkzdi0zNC4xMzNjLTIwLjYxNyAwLTM2LjQyIDIxLjA2MC00MS44NDcgNTIuMzI2aC01Ni42OTVjMi41MjYtMTAuNTEzIDUuOTM5LTE3LjE2OSA2Ljk5Ny0xOC4xOTN2LTM0LjEzM2MtMjAuNjE3IDAtMzYuNDIgMjEuMDYwLTQxLjg0NyA1Mi4zMjZoLTU2LjY5NWMyLjUyNi0xMC41MTMgNS45MzktMTcuMTY5IDYuOTk3LTE4LjE5M3YtMzQuMTMzYy0yMC42MTcgMC0zNi40NTQgMjEuMDYwLTQxLjg0NyA1Mi4zMjZoLTU2LjY2MWMyLjUyNi0xMC41MTMgNS45MzktMTcuMTY5IDYuOTk3LTE4LjE5M3YtMzQuMTMzYy0yMC42MTcgMC0zNi40NTQgMjEuMDYwLTQxLjg0NyA1Mi4zMjZoLTU2LjY2MWMyLjUyNi0xMC41MTMgNS45MzktMTcuMTY5IDYuOTk3LTE4LjE5M3YtMzQuMTMzYy0yMC42MTcgMC0zNi40NTQgMjEuMDYwLTQxLjg0NyA1Mi4zMjZoLTU2LjY5NWMyLjUyNi0xMC41MTMgNS45MzktMTcuMTY5IDYuOTk3LTE4LjE5M3YtMzQuMTMzYy0yMC42MTcgMC0zNi40NTQgMjEuMDYwLTQxLjg0NyA1Mi4zMjZoLTExNC4wMDV2NzA1LjQzNGg5MjcuNzc4di03MDUuNDM0aC0xMzguMTcyek05NTAuODUyIDc5MC4xMThoLTg1OS41MTF2LTYzNy4xNjdoNzguMzAyYzIuNzMxIDM4LjQgMjAuMDM2IDY1LjM5OSA0My4zODMgNjUuMzk5bDEuNjM4LTMzLjc5MmMtMi43OTktMS43MDctOC43MzgtMTMuMDczLTEwLjYxNS0zMS42MDdoNTcuMTM5YzIuNzMxIDM4LjQgMjAuMDM2IDY1LjM5OSA0My4zODMgNjUuMzk5bDEuNjM4LTMzLjc5MmMtMi43OTktMS43MDctOC43NzItMTMuMDczLTEwLjYxNS0zMS42MDdoNTcuMTM5YzIuNzMxIDM4LjQgMjAuMDM2IDY1LjM5OSA0My4zODMgNjUuMzk5bDEuNjM4LTMzLjc5MmMtMi44MzMtMS42NzMtOC44MDYtMTMuMDM5LTEwLjY4NC0zMS42MDdoNTcuMTM5YzIuNzMxIDM4LjQgMjAuMDM2IDY1LjM5OSA0My4zODMgNjUuMzk5bDEuNjM4LTMzLjc5MmMtMi44MzMtMS42NzMtOC44MDYtMTMuMDM5LTEwLjY4NC0zMS42MDdoNTcuMTM5YzIuNzMxIDM4LjQgMjAuMDM2IDY1LjM5OSA0My4zODMgNjUuMzk5bDEuNjM4LTMzLjc5MmMtMi44MzMtMS42NzMtOC43NzItMTMuMDA1LTEwLjY1LTMxLjU3M2g1Ny4xMzljMi43MzEgMzguNCAyMC4wMzYgNjUuMzk5IDQzLjM4MyA2NS4zOTlsMS42MzgtMzMuNzkyYy0yLjgzMy0xLjY3My04Ljc3Mi0xMy4wMDUtMTAuNjUtMzEuNTczaDU3LjEzOWMyLjczMSAzOC40IDIwLjAzNiA2NS4zOTkgNDMuMzgzIDY1LjM5OWwxLjYzOC0zMy43OTJjLTIuODMzLTEuNjczLTguNzcyLTEzLjAwNS0xMC42NS0zMS41NzNoNTcuMTM5YzIuNzMxIDM4LjQgMjAuMDM2IDY1LjM5OSA0My4zODMgNjUuMzk5bDEuNjM4LTMzLjc5MmMtMi44MzMtMS42NzMtOC43NzItMTMuMDA1LTEwLjY1LTMxLjU3M2gxMDYuMDUydjYzNy4wMzB6IiwKKwkJCQkJIk0xOTcuMDg2IDMzMy43OWgxNzYuNDY5djM0LjEzM2gtMTc2LjQ2OXYtMzQuMTMzeiIsCisJCQkJCSJNMTk1LjU4NCA0NTQuOTI5aDY4NC45MTl2MzQuMTMzaC02ODQuOTE5di0zNC4xMzN6IiwKKwkJCQkJIk0xOTUuNTg0IDU5Ni45OTJoNjg0LjkxOXYzNC4xMzNoLTY4NC45MTl2LTM0LjEzM3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiYWR2aWNlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzkyLAorCQkJCSJpZCI6IDIzMiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODczLAorCQkJCSJuYW1lIjogImFkdmljZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDc4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04NTcuNDYzIDUxNC4yODdjMC0yOC4yMjgtMjIuNDYtNTEuMi01MC4wNzQtNTEuMmgtMjI0LjkzOXYtMzc5LjUyOWMwLTM2LjI4NC0zMC40ODEtNjUuNzc1LTY3Ljg5MS02NS43NzUtMzcuNDc4IDAtNjcuOTI1IDI5LjQ5MS02Ny45MjUgNjUuNzc1djM3OS41MjloLTIyMi43MmMtMjcuNjQ4IDAtNTAuMTA4IDIyLjk3Mi01MC4xMDggNTEuMnY4Ny44MjVsMi40OTIgMTIuMDE1IDAuODUzIDUuMzkzIDQuMDI4IDE3LjU0NWM0LjYwOCA0OC4yMyA2Ljc5MyAyMTMuMjk5LTMxLjIzMiAyOTIuMjVsLTQuMDk2IDkuMDQ1IDUuMDUyIDcuOTg3YzYuMDc2IDkuNTIzIDE3LjAzMyAxMC4wMDEgMzUuODc0IDEwLjAwMSAxMTQuNDgzIDAgNjMyLjg2Ni00OC40MzUgNjU0Ljg0OC01MC40ODNsMTUuNTY1LTEuNDY4di0yNzYuMzc4aDAuMjM5di0xMTMuNzMyek00ODAuNzY4IDgzLjU1OGMwLTE3LjQ0MiAxNS4xNTUtMzEuNjQyIDMzLjc5Mi0zMS42NDJzMzMuNzU4IDE0LjE5OSAzMy43NTggMzEuNjQydjM3OS41MjloLTY3LjU1di0zNzkuNTI5ek0yMDcuOTQgNTE0LjI4N2MwLTkuNDIxIDcuMTY4LTE3LjA2NyAxNS45NzQtMTcuMDY3aDU4My40NzVjOC44MDYgMCAxNS45NCA3LjY0NiAxNS45NCAxNy4wNjd2NzkuNTY1aC02MTUuMzl2LTc5LjU2NXpNODIyLjg4NiA4NzMuMzAxYy04OC4zMzcgOC4xNTgtNTI1LjIxIDQ4LjA5NC02MzIuOSA0OC45MTMgMzEuNDM3LTg3LjkyNyAzMC4wNzEtMjI4LjcyNyAyNS4xOS0yODUuMTVoNjA3LjcxdjIzNi4yMzd6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImNsZWFyQWxhcm0iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzOTMsCisJCQkJImlkIjogMjMxLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NzQsCisJCQkJIm5hbWUiOiAiY2xlYXJBbGFybSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDc5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk05MTQuMTkzIDUzNi4zMDNoLTgxNC4xODJjLTMzLjgyNiAwLTYxLjMzOC0yNy41MTEtNjEuMzM4LTYxLjMzOHYtMTg2Ljk0OGMwLTMzLjgyNiAyNy41MTEtNjEuMzM4IDYxLjMzOC02MS4zMzhoODE0LjE4MmMzMy44MjYgMCA2MS4zMzggMjcuNTExIDYxLjMzOCA2MS4zMzh2MTg2Ljk0OGMtMCAzMy44MjYtMjcuNTExIDYxLjMzOC02MS4zMzggNjEuMzM4ek0xMDAuMDExIDI2MC44MTNjLTE0Ljk4NSAwLTI3LjIwNCAxMi4yMi0yNy4yMDQgMjcuMjA0djE4Ni45NDhjMCAxNC45ODUgMTIuMTg2IDI3LjIwNCAyNy4yMDQgMjcuMjA0aDgxNC4xODJjMTQuOTg1IDAgMjcuMjA0LTEyLjIyIDI3LjIwNC0yNy4yMDR2LTE4Ni45NDhjMC0xNC45ODUtMTIuMTg2LTI3LjIwNC0yNy4yMDQtMjcuMjA0aC04MTQuMTgyeiIsCisJCQkJCSJNOTE0LjE5MyA5MDMuODE3aC04MTQuMTgyYy0zMy44MjYgMC02MS4zMzgtMjcuNTExLTYxLjMzOC02MS4zMzh2LTE4Ni45NDhjMC0zMy44MjYgMjcuNTExLTYxLjMzOCA2MS4zMzgtNjEuMzM4aDgxNC4xODJjMzMuODI2IDAgNjEuMzM4IDI3LjUxMSA2MS4zMzggNjEuMzM4djE4Ni45NDhjLTAgMzMuODYtMjcuNTExIDYxLjMzOC02MS4zMzggNjEuMzM4ek0xMDAuMDExIDYyOC4zNjFjLTE0Ljk4NSAwLTI3LjIwNCAxMi4xODYtMjcuMjA0IDI3LjIwNHYxODYuOTQ4YzAgMTQuOTg1IDEyLjE4NiAyNy4yMDQgMjcuMjA0IDI3LjIwNGg4MTQuMTgyYzE0Ljk4NSAwIDI3LjIwNC0xMi4xODYgMjcuMjA0LTI3LjIwNHYtMTg2Ljk0OGMwLTE0Ljk4NS0xMi4xODYtMjcuMjA0LTI3LjIwNC0yNy4yMDRoLTgxNC4xODJ6IiwKKwkJCQkJIk02NjguNDMzIDM3MS42NDRjMCAyNS45NzctMjEuMDU5IDQ3LjAzNi00Ny4wMzYgNDcuMDM2cy00Ny4wMzYtMjEuMDU5LTQ3LjAzNi00Ny4wMzZjMC0yNS45NzcgMjEuMDU5LTQ3LjAzNiA0Ny4wMzYtNDcuMDM2czQ3LjAzNiAyMS4wNTkgNDcuMDM2IDQ3LjAzNnoiLAorCQkJCQkiTTg0OC4yODIgMzcxLjY0NGMwIDI1Ljk3Ny0yMS4wNTkgNDcuMDM2LTQ3LjAzNiA0Ny4wMzZzLTQ3LjAzNi0yMS4wNTktNDcuMDM2LTQ3LjAzNmMwLTI1Ljk3NyAyMS4wNTktNDcuMDM2IDQ3LjAzNi00Ny4wMzZzNDcuMDM2IDIxLjA1OSA0Ny4wMzYgNDcuMDM2eiIsCisJCQkJCSJNMjQ3LjU2OSA3NTYuMjU4YzAgMjUuOTc3LTIxLjA1OSA0Ny4wMzYtNDcuMDM2IDQ3LjAzNnMtNDcuMDM2LTIxLjA1OS00Ny4wMzYtNDcuMDM2YzAtMjUuOTc3IDIxLjA1OS00Ny4wMzYgNDcuMDM2LTQ3LjAzNnM0Ny4wMzYgMjEuMDU5IDQ3LjAzNiA0Ny4wMzZ6IiwKKwkJCQkJIk00NTIuMzY5IDc1Ni4yNThjMCAyNS45NzctMjEuMDU5IDQ3LjAzNi00Ny4wMzYgNDcuMDM2cy00Ny4wMzYtMjEuMDU5LTQ3LjAzNi00Ny4wMzZjMC0yNS45NzcgMjEuMDU5LTQ3LjAzNiA0Ny4wMzYtNDcuMDM2czQ3LjAzNiAyMS4wNTkgNDcuMDM2IDQ3LjAzNnoiLAorCQkJCQkiTTY3MC4wMDMgNzU2LjI1OGMwIDI1Ljk5Ni0yMS4wNzQgNDcuMDcwLTQ3LjA3MCA0Ny4wNzBzLTQ3LjA3MC0yMS4wNzQtNDcuMDcwLTQ3LjA3MGMwLTI1Ljk5NiAyMS4wNzQtNDcuMDcwIDQ3LjA3MC00Ny4wNzBzNDcuMDcwIDIxLjA3NCA0Ny4wNzAgNDcuMDcweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJhbGFybUJveCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM5NCwKKwkJCQkiaWQiOiAyMzAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg3NSwKKwkJCQkibmFtZSI6ICJhbGFybUJveCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDgwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00ODcuMDgzIDg5OS42MThsLTI2LjY1OC0zMDguODM4IDMwNy41MDcgMTc3LjUyNy0yODAuODQ5IDEzMS4zMTF6TTUwMC4wNTMgNjUzLjA3M2wxNi44MjggMTk0Ljk3IDE3Ny4yNTQtODIuOTEtMTk0LjA4Mi0xMTIuMDYwek03NzAuMTUgNzMzLjAxM2wtMjgwLjMzNy0xNjEuNzkyIDI2MC4yMzMtNDUwLjY5N2MyMS4xNjMtMzYuNjkzIDY5LjY2Ni00OS44MzUgMTA2LjQ5Ni0yOC41N2wxNDUuMzA2IDgzLjljMzcuNzg2IDIxLjg0NSA1MC4zNDcgNjguNjA4IDI4LjU3IDEwNi40NjJsLTE1LjM5NCAyNi41MjIgMC4wMzQgMC4wMzQtMjQ0LjkwNyA0MjQuMTQxek01MzYuNDc0IDU1OC43MjlsMjIxLjIxOCAxMjcuNjU5IDIxMC43NzMtMzY1LjA1Ni0yMjEuMjE4LTEyNy43MjctMjEwLjc3MyAzNjUuMTI0ek03ODAuODM0IDEzNS41NzhsMjIxLjExNiAxMjcuNjkzYzEwLjkyMy0yMS4xNjMgMy44MjMtNDUuNzM5LTE3LjEzNS01Ny44NTZsLTE0NS4zMDYtODMuOWMtMjAuMTczLTExLjcwOC00Ni4yNTEtNS4yNTctNTguNjc1IDE0LjA2M3oiLAorCQkJCQkiTTAgMzYzLjM4M2gzMzEuMzMydjM0LjEzM2gtMzMxLjMzMnYtMzQuMTMzeiIsCisJCQkJCSJNMCA1NDAuNjcyaDMzMS4zMzJ2MzQuMTMzaC0zMzEuMzMydi0zNC4xMzN6IiwKKwkJCQkJIk0wIDcxNy45NjFoMzMxLjMzMnYzNC4xMzNoLTMzMS4zMzJ2LTM0LjEzM3oiLAorCQkJCQkiTTAgODk1LjI0OWg3MjAuNjU3djM0LjEzM2gtNzIwLjY1N3YtMzQuMTMzeiIsCisJCQkJCSJNNzc3LjY4MyAyNjYuMDY4bDI5LjI4MiAxNy42MS0xNzIuODQ1IDI4Ny40MDQtMjkuMjgyLTE3LjYxIDE3Mi44NDUtMjg3LjQwNHoiLAorCQkJCQkiTTg2NS40MzQgMzIzLjI3M2wyOS4yODIgMTcuNjEtMTcyLjg0NSAyODcuNDA0LTI5LjI4Mi0xNy42MSAxNzIuODQ1LTI4Ny40MDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFmcmVzaERlZiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDM5NSwKKwkJCQkiaWQiOiAyMjksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg3NiwKKwkJCQkibmFtZSI6ICJhZnJlc2hEZWYiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA4MQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODQzLjk4MSAxMDI0bC0xMTkuNzA2LTEwMi42MDV2LTI5NS40MjRsLTE3OS44NDktMjIyLjc4OGg0NzkuNTczbC0xODAuMDE5IDIyMy40Mzd2Mzk3LjM4ek03NTguNDA5IDkwOC44bDUxLjQzOSAzOS40NTh2LTMzMy4zNDZsMTQzLjQ5Ny0xNzguMTA4aC0zMzMuODkybDEzOC45NTcgMTc2LjUwM3YyOTUuNDkyeiIsCisJCQkJCSJNNDkzLjI2MSA2OTcuMTA1YzAgMzIuNjMxLTM5LjAxNCA1OS4xNTMtODYuOTcyIDU5LjE1My00Ny4xMDQgMC04Ni45MzgtMjcuMTAyLTg2LjkzOC01OS4xNTN2LTE3LjA2N2gtMjU0LjM5NmMtNi40MTctNS4wODYtMTkuNzI5LTE3Ljk1NC0yMS42NDEtMzguNTcxLTIuMDQ4LTIyLjU2Mi0wLjc1MS0yNC41NDIgNDUuNDY2LTcwLjA3NmwyNS42LTI1LjMyN2M3NS4xMjctNzUuMDU5IDEwNC4xNzUtMjE2Ljk1MSAxMDAuNzk2LTI5My43NTEtMy40MTMtNzcuMjc4IDIwLjAwMi0xMzkuMDU5IDY2LjAxNC0xNzMuOTQzIDQwLjUxNi0zMC44OTEgODQuNDgtMjYuNjU4IDg2LjI1NS0yNi40MTlsMTcuMjcxIDIuNTYgNC4zNjktMzQuNjc5YzguMDkwLTIuOTAxIDI2LjkzMS0yLjczMSAzNC4zMDQtMC4yMzlsNC4wNjIgMzQuNzgyIDE3LjM0LTIuNDIzYzIuMTUtMC4zMDcgNDUuODA3LTQuNjA4IDg2LjY2NSAyNi40MTkgNDUuOTc4IDM1LjA4OSA2OS4zNTkgOTYuODM2IDY1Ljc0MSAxNzQuMDEyLTAuNzE3IDE3LjIwMy0xLjgwOSAyOC4yNjItMC42ODMgNDMuNDE4aDM0LjQwNmMtMS4yOTctMTQuODQ4LTAuMjczLTI1LjYgMC4zNzUtNDEuOTUgNC4xMy04OC41NzYtMjMuOTYyLTE2MC41NjMtNzkuMTU1LTIwMi42NS0zNi40NTQtMjcuNzE2LTczLjU5MS0zMy4yNDYtOTQuNTgzLTMzLjc5MmwtMi4wNDgtMTcuODg2LTUuNjY2LTQuNDAzYy0xLjY3My0xLjIyOS0xNi41MjEtMTIuMTg2LTQzLjY1Ny0xMi4xODYtMjUuNDI5IDAtNDEuMDYyIDEwLjUxMy00Mi43NjkgMTEuNzA4bC02LjE0NCA0LjMzNS0yLjMyMSAxOC40NjZjLTIxLjAyNiAwLjU0Ni01OC4xNjMgNi4wNzYtOTQuNDgxIDMzLjc1OC01NS4xMjUgNDEuODQ3LTgzLjM1NCAxMTMuODAxLTc5LjQyOCAyMDIuNjE1IDMuMDA0IDY4LjUwNi0yMy43NTcgMjAxLjExNC05MC44MjkgMjY4LjExN2wtMjUuMzk1IDI1LjE1NmMtNDcuNzE4IDQ2Ljk2Ny01OS4wNTEgNTguMTI5LTU1LjUwMSA5Ny40ODUgNC4xNjQgNDQuMzczIDM5LjkzNiA2Ni4yMTkgNDEuNDcyIDY3LjE0bDQuMDI4IDIuNDIzaDIzMi40MTRjMTAuNDQ1IDQzLjM0OSA1OS44MzYgNzYuMjIgMTE5LjAyMyA3Ni4yMiA1OS4yMjEgMCAxMDguNjQ2LTMyLjkwNSAxMTkuMDkxLTc2LjIyaDEwNy41NTR2LTM0LjEzM2gtMTM5LjYzOXYxNy4xMDF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFsYXJtRmlsdGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzk2LAorCQkJCSJpZCI6IDIyOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODc3LAorCQkJCSJuYW1lIjogImFsYXJtRmlsdGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogODIKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTYwOC4wMzcgMzg2Ljg1M2M3LjMxNCA5LjE0MyAxNS4xNDEgMTcuNjI3IDIzLjY5OCAyNS4zODFsLTE2LjgyMyAzNS45ODZjLTkuMjE2IDE5LjYwMiAwLjI5MyA0My43MzkgMjEuMDY1IDUzLjYxNGwyNS45NjYgMTIuNTA3YzIwLjg0NiAxMC4wMjEgNDUuMjAyIDIuMDQ4IDU0LjI3Mi0xNy41NTRsMTYuNzUtMzUuOTg2YzEwLjM4NiAxLjYwOSAyMC42OTkgMy4xNDUgMzEuNTk4IDMuMTQ1IDEwLjY3OSAwIDIxLjIxMS0xLjUzNiAzMS41OTgtMy4xNDVsMTYuNzUgMzUuOTg2YzkuMTQzIDE5LjY3NSAzMy40MjYgMjcuNTc1IDU0LjI3MiAxNy42MjdsMjUuODkzLTEyLjUwN2MyMC45MTktOS44NzQgMzAuMzU0LTM0LjAxMSAyMS4yMTEtNTMuNjE0bC0xNi43NS0zNi4xMzNjOC41NTgtNy42OCAxNi40NTctMTYuMjM4IDIzLjY5OC0yNS4zODFsMzYuMjc5IDE1LjI4N2MxOS44MjIgOC40MTEgNDMuMTU0LTIuNDE0IDUxLjg1OC0yMy45OTFsMTAuOTcxLTI2LjkxN2M4Ljk5Ny0yMS42NSAwLTQ1Ljg2MS0xOS44MjItNTQuMTk5bC0zNi41NzEtMTUuMjg3YzAuODc4LTcuMzg3IDIuMTk0LTE0LjYyOSAyLjE5NC0yMi4zMDkgMC03LjYwNy0xLjM5LTE0Ljc3NS0yLjE5NC0yMi4xNjJsMzYuNzE4LTE1LjM2YzE5LjgyMi04LjQxMSAyOC44MTgtMzIuNjIyIDE5LjgyMi01NC4xOTlsLTEwLjg5OC0yNi45OWMtOC43MDQtMjEuNTc3LTMyLjExLTMyLjMyOS01MS44NTgtMjMuOTkxbC0zNi40MjUgMTUuMjg3Yy03LjI0MS05LjE0My0xNC45OTQtMTcuNjI3LTIzLjY5OC0yNS4zMDdsMTYuNzUtMzYuMjc5YzkuMTQzLTE5LjYwMi0wLjI5My00My42NjYtMjEuMTM4LTUzLjYxNGwtMjYuMDM5LTEyLjQzNGMtMjAuNjk5LTkuOTQ3LTQ0Ljk4My0yLjA0OC01NC4xMjYgMTcuNTU0bC0xNi43NSAzNi4wNTljLTEwLjM4Ni0xLjY4Mi0yMC42OTktMy4yMTgtMzEuNTk4LTMuMjE4cy0yMS4yMTEgMS41MzYtMzEuNTk4IDMuMjE4bC0xNi43NS0zNi4wNTljLTkuMTQzLTE5LjYwMi0zMy40OTktMjcuNTAyLTU0LjE5OS0xNy41NTRsLTI1Ljk2NiAxMi40MzRjLTIwLjkxOSAxMC4wMjEtMzAuNDI3IDM0LjAxMS0yMS4yMTEgNTMuNjE0bDE2Ljc1IDM2LjIwNmMtOC41NTggNy43NTMtMTYuNTMgMTYuMTY1LTIzLjY5OCAyNS4zODFsLTM2LjQyNS0xNS4zNmMtMTkuODIyLTguNDExLTQzLjA4MSAyLjM0MS01MS44NTggMjMuOTkxbC0xMS4wNDUgMjYuOTljLTguNzc3IDIxLjU3NyAwLjE0NiA0NS44NjEgMTkuOTY4IDU0LjE5OWwzNi41NzEgMTUuMjg3Yy0wLjg3OCA3LjQ2MS0yLjI2NyAxNC42MjktMi4yNjcgMjIuMjM1IDAgNy42OCAxLjUzNiAxNC45MjEgMi4yNjcgMjIuMzgybC0zNi41NzEgMTUuMjg3Yy0xOS43NDkgOC40MTEtMjguNzQ1IDMyLjU0OS0xOS45NjggNTQuMTk5bDExLjA0NSAyNi45MTdjOC43NzcgMjEuNTA0IDMyLjAzNyAzMi4zMjkgNTEuNzg1IDIzLjk5MWwzNi40OTgtMTUuMjE0ek03NjQuNjM1IDEzMi44MjdjNjguNjA4IDAgMTI0LjQ4OSA1Ni42MTMgMTI0LjQ4OSAxMjYuNTM3IDAgNjkuNzc4LTU1LjczNSAxMjYuNDY0LTEyNC40ODkgMTI2LjQ2NHMtMTI0LjU2Mi01Ni42ODYtMTI0LjU2Mi0xMjYuNDY0YzAtNjkuOTI1IDU1LjgwOC0xMjYuNTM3IDEyNC41NjItMTI2LjUzN3oiLAorCQkJCQkiTTIuOTI2IDEwMzQuMDIxaDQ2My4xNDF2LTM4Ni41NmgtNDYzLjE0MXYzODYuNTZ6TTM5Mi45MjMgOTYwLjg3OGgtMTIxLjg1NnYtMjQwLjI3NGgxMjEuODU2djI0MC4yNzR6TTc2LjA2OSA3MjAuNjAzaDEyMS44NTZ2MjQwLjI3NGgtMTIxLjg1NnYtMjQwLjI3NHoiLAorCQkJCQkiTTMxNy4xNDcgMzY0LjU0NGwtMTMzLjU1OSA4LjExOWMxNC4xOS0zMS4zNzggMzUuODQtNTguOTUzIDY1LjQ2My03OS44NzIgMTA2LjEzLTc0LjY3OSAxOTEuMjY5LTQyLjc4OSAxOTEuMjY5LTQyLjc4OS03Ni45NDYtNTQuNDkxLTE2MC4xMS01OS4wOTktMjI3LjE4Mi0xMi41MDctNDkuOTU3IDM0LjUyMy04Ni4yMzUgODEuNzc0LTEwMi44MzkgMTM2Ljk5N2wtMTEwLjI5OSA0LjM4OSAxNjAuMTEgMTQ5LjM1OCAxNTcuMDM4LTE2My42OTR6IiwKKwkJCQkJIk05MTUuODIyIDYyNC43ODZsLTE5OC43MjkgMTA5LjI3NSAxMjkuNzU1IDMyLjE4M2MtMjIuODk0IDI1LjY3My01MS44NTggNDUuNDIyLTg2LjM4MiA1Ni40NjYtMTIzLjYxMSAzOS41Ny0xOTUuMjkxLTE2LjUzLTE5NS4yOTEtMTYuNTMgNTcuMTI1IDc1LjA0NSAxMzUuMTY4IDEwNC4zNzUgMjEzLjEzOCA4MC4wMTggNTguMDAyLTE3LjkyIDEwNi43MTUtNTIuMjk3IDEzOS4wNDUtOTkuOTEzbDEwNi42NDIgMjguOTY1LTEwOC4xNzgtMTkwLjQ2NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibWFuQW5hbHlzaXMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzOTcsCisJCQkJImlkIjogMjI3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NzgsCisJCQkJIm5hbWUiOiAibWFuQW5hbHlzaXMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA4MworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjk2Ljk2IDI5Ni44ODdjMCA4Mi4wMDMtNjYuNDc3IDE0OC40OC0xNDguNDggMTQ4LjQ4cy0xNDguNDgtNjYuNDc3LTE0OC40OC0xNDguNDhjMC04Mi4wMDMgNjYuNDc3LTE0OC40OCAxNDguNDgtMTQ4LjQ4czE0OC40OCA2Ni40NzcgMTQ4LjQ4IDE0OC40OHoiLAorCQkJCQkiTTU1MS45MzYgODA3Ljc5YzAgODIuMDAzLTY2LjQ3NyAxNDguNDgtMTQ4LjQ4IDE0OC40OHMtMTQ4LjQ4LTY2LjQ3Ny0xNDguNDgtMTQ4LjQ4YzAtODIuMDAzIDY2LjQ3Ny0xNDguNDggMTQ4LjQ4LTE0OC40OHMxNDguNDggNjYuNDc3IDE0OC40OCAxNDguNDh6IiwKKwkJCQkJIk05MzAuMTU4IDMxMS44MDhjMCA5MS40OTYtNzQuMTcyIDE2NS42NjktMTY1LjY2OSAxNjUuNjY5cy0xNjUuNjY5LTc0LjE3Mi0xNjUuNjY5LTE2NS42NjljMC05MS40OTYgNzQuMTcyLTE2NS42NjkgMTY1LjY2OS0xNjUuNjY5czE2NS42NjkgNzQuMTcyIDE2NS42NjkgMTY1LjY2OXoiLAorCQkJCQkiTTEwMjQgNzg0LjAxOGMwIDczLjgwMy01OS44MjkgMTMzLjYzMi0xMzMuNjMyIDEzMy42MzJzLTEzMy42MzItNTkuODI5LTEzMy42MzItMTMzLjYzMmMwLTczLjgwMyA1OS44MjktMTMzLjYzMiAxMzMuNjMyLTEzMy42MzJzMTMzLjYzMiA1OS44MjkgMTMzLjYzMiAxMzMuNjMyeiIsCisJCQkJCSJNNzMyLjI4NiAzNjIuMDI3bDU1LjMyNC0xOS4yNzUgMTY2Ljk1NiA0NzkuMTk5LTU1LjMyNCAxOS4yNzUtMTY2Ljk1Ni00NzkuMTk5eiIsCisJCQkJCSJNODEyLjQyMSAyMjUuMjE0bDQ2LjM5IDM1Ljc4NS00NjAuNjk1IDU5Ny4yMTQtNDYuMzktMzUuNzg1IDQ2MC42OTUtNTk3LjIxNHoiLAorCQkJCQkiTTExMi45MTQgMzAwLjQ3Nmw1Mi4wNjEtMjYuODY4IDI5My41MDQgNTY4LjcwNC01Mi4wNjEgMjYuODY4LTI5My41MDQtNTY4LjcwNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiZHJpbGwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiAzOTgsCisJCQkJImlkIjogMjI2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4NzksCisJCQkJIm5hbWUiOiAiZHJpbGwiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA4NAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTc3Ljc3NCA1ODYuMzEzbC03Mi4xOTItMzAuMjgxYzEuNjA5LTE0LjYyOSA0LjQ2Mi0yOC45NjUgNC40NjItNDQuMDMycy0yLjc3OS0yOS4yNTctNC40NjItNDMuODg2bDcyLjMzOC0zMC40MjdjMzkuMDU4LTE2LjQ1NyA1Ni43NTktNjQuMjkzIDM5LjI3OC0xMDYuODYybC0yMS43MjMtNTMuMjQ4Yy0xNy4zMzUtNDIuNzE1LTYzLjE5NS02My44NTQtMTAyLjI1NC00Ny4zOTdsLTcyLjA0NiAzMC4zNTRjLTE0LjI2My0xOC4wNjYtMjkuNjk2LTM0Ljc0My00Ni43MzgtNTAuMDMwbDMzLjEzNC03MS41MzRjMTcuOTkzLTM4Ljc2Ni0wLjY1OC04Ni4yMzUtNDEuNzY1LTEwNS45MTFsLTUxLjQxOS0yNC41MDNjLTQxLjEwNi0xOS42NzUtODkuMDE1LTQuMDk2LTEwNy4wODEgMzQuNjdsLTMzLjA2MSA3MS4xNjhjLTIwLjQwNy0zLjI5MS00MC45Ni02LjM2My02Mi4zMTgtNi4zNjMtMjEuMjg1IDAtNDEuODM4IDMuMDcyLTYyLjI0NSA2LjM2M2wtMzMuMDYxLTcxLjE2OGMtMTguMDY2LTM4Ljc2Ni02Ni4wNDgtNTQuMzQ1LTEwNy4wODEtMzQuNjdsLTUxLjQxOSAyNC41NzZjLTQxLjEwNiAxOS42NzUtNTkuODMxIDY3LjE0NS00MS43NjUgMTA1LjgzOGwzMy4xMzQgNzEuNDYxYy0xNy4wNDIgMTUuMjg3LTMyLjQ3NSAzMS45NjMtNDYuNzM4IDUwLjAzMGwtNzEuOTczLTMwLjI4MWMtMzkuMDU4LTE2LjQ1Ny04NC45MTkgNC42ODEtMTAyLjI1NCA0Ny4zOTdsLTIxLjc5NyA1My4yNDhjLTE3LjQwOCA0Mi41NjkgMC4yMTkgOTAuNDc4IDM5LjM1MSAxMDYuODYybDcyLjE5MiAzMC4zNTRjLTEuNTM2IDE0LjcwMi00LjMxNSAyOC44OTEtNC4zMTUgNDMuOTU5IDAgMTUuMTQxIDIuNzc5IDI5LjQwMyA0LjM4OSA0NC4xMDVsLTcyLjE5MiAzMC4yODFjLTM5LjEzMSAxNi42MDMtNTYuODMyIDY0LjIxOS0zOS40OTcgMTA2LjkzNWwyMS44NyA1My4xNzVjMTcuMzM1IDQyLjU2OSA2My4yNjkgNjMuNzgxIDEwMi4zMjcgNDcuMzk3bDcxLjg5OS0zMC4yMDhjMTQuMjYzIDE3Ljk5MyAyOS42OTYgMzQuNzQzIDQ2LjY2NSA1MC4wMzBsLTMzLjEzNCA3MS4zMTRjLTE4LjA2NiAzOC42OTMgMC42NTggODYuMzA5IDQxLjc2NSAxMDUuODM4bDUxLjQxOSAyNC43MjJjNDEuMTA2IDE5LjY3NSA4OS4wODggNC4wMjMgMTA3LjA4MS0zNC44MTZsMzIuOTg3LTcxLjA5NWMyMC40MDcgMy4yOTEgNDAuOTYgNi4zNjMgNjIuMjQ1IDYuMzYzIDIxLjM1OCAwIDQxLjkxMS0zLjA3MiA2Mi4zOTEtNi4zNjNsMzIuOTg3IDcxLjA5NWMxNy45OTMgMzguNzY2IDY1Ljk3NSA1NC40MTggMTA3LjA4MSAzNC44MTZsNTEuNDE5LTI0LjcyMmM0MS4xNzktMTkuNjAyIDU5Ljc1OC02Ny4xNDUgNDEuNzY1LTEwNS44MzhsLTMzLjEzNC03MS40NjFjMTYuOTY5LTE1LjI4NyAzMi40MDItMzEuOTYzIDQ2LjczOC00OS45NTdsNzEuODk5IDMwLjI4MWMzOS4wNTggMTYuMzg0IDg0Ljk5Mi00LjgyNyAxMDIuMzI3LTQ3LjQ3bDIxLjc5Ny01My4xNzVjMTcuNjI3LTQyLjcxNS0wLjIxOS05MC40MDUtMzkuMjc4LTEwNi45MzV6TTUxMiA3NjEuNzFjLTEzNS44OTkgMC0yNDYuMDUzLTExMS45MDktMjQ2LjA1My0yNDkuNjM3IDAtMTM4LjA5NCAxMTAuMTUzLTI0OS43MSAyNDYuMDUzLTI0OS43MSAxMzUuNzUzIDAgMjQ1LjkwNiAxMTEuNjE2IDI0NS45MDYgMjQ5LjcxIDAgMTM3LjcyOC0xMTAuMTUzIDI0OS42MzctMjQ1LjkwNiAyNDkuNjM3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJnZWFyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogMzk5LAorCQkJCSJpZCI6IDIyNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODgwLAorCQkJCSJuYW1lIjogImdlYXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA4NQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTI4Mi4zMTcgMC01MTIgMjI5LjY4My01MTIgNTEyIDAgMjgyLjMzIDIyOS42ODMgNTEyIDUxMiA1MTIgMjgyLjMzIDAgNTEyLTIyOS42NyA1MTItNTEyIDAtMjgyLjMxNy0yMjkuNjctNTEyLTUxMi01MTJ6TTUxMiAxMDExLjM3OWMtMjc1LjM0MSAwLTQ5OS4zNTQtMjI0LjAyNi00OTkuMzU0LTQ5OS4zNzkgMC0yNzUuMzQxIDIyNC4wMTMtNDk5LjM1NCA0OTkuMzU0LTQ5OS4zNTQgMjc1LjM1NCAwIDQ5OS4zNzkgMjI0LjAxMyA0OTkuMzc5IDQ5OS4zNTQtMCAyNzUuMzU0LTIyNC4wMjYgNDk5LjM3OS00OTkuMzc5IDQ5OS4zNzl6IiwKKwkJCQkJIk04NzMuMDExIDU0Ni42MjRjLTE1LjIwNiAwLTI5LjMxMiA0LjcxLTQwLjk3MyAxMi43MjNsLTE0NC4wNjQtMTc1LjAwMmMxMC44MDMtMTIuNjU5IDE3LjM0NC0yOS4wNDMgMTcuMzQ0LTQ2Ljk3NiAwLTQwLTMyLjQyMi03Mi40MzUtNzIuNDIyLTcyLjQzNXMtNzIuNDQ4IDMyLjQzNS03Mi40NDggNzIuNDM1YzAgMjIuMTQ0IDkuOTcxIDQxLjk0NiAyNS42MzggNTUuMjE5bC0xNDcuNTIgMjE0LjYzYy0xMi40OC0xMC4yMDItMjguNDE2LTE2LjMyLTQ1Ljc4Ni0xNi4zMi0xOS45MTcgMC0zNy45NTIgOC4wNTEtNTEuMDU5IDIxLjA2OWwtMTI2LjExOC0xMDQuMDM4YzYuMDAzLTEwLjU2IDkuNDg1LTIyLjczMyA5LjQ4NS0zNS43NSAwLTQwLTMyLjQzNS03Mi40MzUtNzIuNDM1LTcyLjQzNXMtNzIuNDM1IDMyLjQzNS03Mi40MzUgNzIuNDM1YzAgNDAuMDEzIDMyLjQzNSA3Mi40MzUgNzIuNDM1IDcyLjQzNSAyMi4zNzQgMCA0Mi4zNjgtMTAuMTUgNTUuNjU0LTI2LjA5OWwxMjUuMTg0IDEwMy4yN2MtOC4yNjkgMTEuNzYzLTEzLjE1OCAyNi4wNzQtMTMuMTU4IDQxLjU0OSAwIDQwLjAxMyAzMi40MzUgNzIuNDM1IDcyLjQzNSA3Mi40MzVzNzIuNDM1LTMyLjQyMiA3Mi40MzUtNzIuNDM1YzAtMTcuOTMzLTYuNTY2LTM0LjM0Mi0xNy4zNy00Ni45ODlsMTQ4LjcyMy0yMTYuMzg0YzEwLjY4OCA2LjIyMSAyMy4wNzggOS44NDMgMzYuMzM5IDkuODQzIDE3LjQyMSAwIDMzLjQyMS02LjE1NyA0NS45MTQtMTYuNDIybDE0My4zNDcgMTc0LjEzMWMtMTMuMzEyIDEzLjEzMy0yMS41OTQgMzEuMzczLTIxLjU5NCA1MS41NTggMCA0MC4wMTMgMzIuNDM1IDcyLjQzNSA3Mi40MzUgNzIuNDM1czcyLjQyMi0zMi40MjIgNzIuNDIyLTcyLjQzNWMwLjAxMy00MC4wMTMtMzIuNDEtNzIuNDQ4LTcyLjQxLTcyLjQ0OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicHJvY2VzcyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQwMCwKKwkJCQkiaWQiOiAyMjQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg4MSwKKwkJCQkibmFtZSI6ICJwcm9jZXNzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogODYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk1MC44NTcgOTUwLjg1N2gtODc3LjcxNHYtODc3LjcxNGg0ODIuMDExdi03My4xNDNoLTU1NS4xNTR2MTAyNGgxMDI0di00NTguNjc5aC03My4xNDN6IiwKKwkJCQkJIk01MjYuMTkgMjc3LjI4NWMtOTguMjMxIDkxLjcyMS0yMjQuNDc1IDMxNy4wMDEtMjI0LjQ3NSAzMTcuMDAxczE5My4xNy0xMTguMjcyIDI4MC41NzYtMTYyLjgxNmM3Ny44MjQtMzkuNjQzIDE5Mi42NTgtMjguODE4IDIxOC40NzgtMjYuNjk3bC0wLjY1OCAxODQuNDY2IDIyMy44OS0zMDguMjk3LTIyNC40MDItMjgwLjk0MiAwLjU4NSAxODMuMDc3Yy0zMC42NDcgMS45MDItMTg3LjgzMSAxMy44OTctMjczLjk5MyA5NC4yMDh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInVuYWNrbm93bmxlZGdlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDAxLAorCQkJCSJpZCI6IDIyMywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODgyLAorCQkJCSJuYW1lIjogInVuYWNrbm93bmxlZGdlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogODcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk1MC44NTcgOTUwLjg1N2gtODc3LjcxNHYtODc3LjcxNGg0ODIuMDExdi03My4xNDNoLTU1NS4xNTR2MTAyNGgxMDI0di00NTguNjc5aC03My4xNDN6IiwKKwkJCQkJIk0yNDAuOTMzIDQ4Mi44ODlsMzM1LjQzMyAzMjcuODI2IDQ0Ny42MzQtNjQwLTExOS44ODEtODMuODIyLTM0OC44MTggNDk4LjY4OC0yMTIuMTg3LTIwNy4zNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiYWNrbm93bmxlZGdlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDAyLAorCQkJCSJpZCI6IDIyMiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODgzLAorCQkJCSJuYW1lIjogImFja25vd25sZWRnZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDg4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIuMDY0IDBjLTI4Mi4zMDQgMC01MTIuMDY0IDIyOS42OTYtNTEyLjA2NCA1MTIgMCAyODIuMzY4IDIyOS43NiA1MTIgNTEyLjA2NCA1MTJzNTExLjkzNi0yMjkuNjMyIDUxMS45MzYtNTEyLTIyOS42MzItNTEyLTUxMS45MzYtNTEyek01MTIuMDY0IDk2MGMtMjQ2Ljk3NiAwLTQ0OC4wNjQtMjAxLjAyNC00NDguMDY0LTQ0OCAwLTI0Ny4wNDAgMjAxLjA4OC00NDggNDQ4LjA2NC00NDggMjQ3LjA0MCAwIDQ0Ny45MzYgMjAxLjAyNCA0NDcuOTM2IDQ0OCAwIDI0Ni45MTItMjAwLjg5NiA0NDgtNDQ3LjkzNiA0NDh6IiwKKwkJCQkJIk02MTUuODcyIDQyNy4wNzJsLTczLjQwOC00MS43OTIgODAuNjQtMTQyLjAxNmMtNzIuNTc2LTE5LjY0OC0xNTIuMTkyIDEwLjYyNC0xOTEuMTY4IDc5LjIzMi0zNi4yMjQgNjMuNzQ0LTI2LjA0OCAxNDAuNjA4IDE4Ljk0NCAxOTMuMjhsLTE0MS42MzIgMjQ5LjIxNmMtMTUuNjE2IDI3LjUyLTYuMDE2IDYyLjUyOCAyMS41MDQgNzguMTQ0czYyLjUyOCA2LjAxNiA3OC4xNDQtMjEuNTA0bDE0MS41NjgtMjQ5LjI4YzY4LjM1MiAxMS43NzYgMTM5LjcxMi0xOC44OCAxNzUuODcyLTgyLjU2IDM4Ljk3Ni02OC41NDQgMjQuMzg0LTE1Mi4zODQtMjkuNzYtMjA0Ljg2NGwtODAuNzA0IDE0Mi4xNDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIk9wZXJhdGlvbiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQwMywKKwkJCQkiaWQiOiAyMjEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg4NCwKKwkJCQkibmFtZSI6ICJPcGVyYXRpb24iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA4OQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTI4Mi4zMTcgMC01MTIgMjI5LjY4My01MTIgNTEyIDAgMjgyLjMzIDIyOS42ODMgNTEyIDUxMiA1MTIgMjgyLjMzIDAgNTEyLTIyOS42NyA1MTItNTEyIDAtMjgyLjMxNy0yMjkuNjctNTEyLTUxMi01MTJ6TTUxMiAxMDExLjM2NmMtMjc1LjM0MSAwLTQ5OS4zNTQtMjI0LjAyNi00OTkuMzU0LTQ5OS4zNjZzMjI0LjAxMy00OTkuMzU0IDQ5OS4zNTQtNDk5LjM1NCA0OTkuMzY2IDIyNC4wMTMgNDk5LjM2NiA0OTkuMzU0LTIyNC4wMjYgNDk5LjM2Ni00OTkuMzY2IDQ5OS4zNjZ6IiwKKwkJCQkJIk05MTAuMTE4IDU2Mi4zNTVjMC03Ny40NzgtNjAuMDgzLTE0MC4zMTQtMTM0LjIwOC0xNDAuMzE0LTQuODUxIDAtOS42MjYgMC4zMDctMTQuMzQ5IDAuODE5LTE4Ljg2Ny0yOC41MDYtNDcuNTUyLTQ5LjI4LTgwLjk2LTU3LjEwMS0zMS4xOTQtNzUuNDA1LTEwMi45MTItMTI4LjIwNS0xODYuNDk2LTEyOC4yMDUtODUuOTc4IDAtMTU5LjMzNCA1NS45MjMtMTg4Ljk5MiAxMzQuODEtOC4zMi0xLjM1Ny0xNi43OTQtMi4yOTEtMjUuNDg1LTIuMjkxLTg5LjkwNyAwLTE2Mi43OSA3Ni4yMTEtMTYyLjc5IDE3MC4xNjMgMCAzOC40NjQgMTIuMzM5IDczLjgwNSAzMi45MDkgMTAyLjI5OC01Ljk5IDkuMDUwLTkuNTIzIDE5Ljg3OC05LjUyMyAzMS41MjYgMCAzMS41NzggMjUuNTg3IDU3LjE2NSA1Ny4xNjUgNTcuMTY1aDYzMS4zODZjMzEuNTkgMCA1Ny4xNjUtMjUuNTg3IDU3LjE2NS01Ny4xNjUgMC04LjU3Ni0yLjAyMi0xNi42MTQtNS40MTQtMjMuOTIzIDE4LjQ1OC0yNC4wMzggMjkuNTk0LTU0LjU0MSAyOS41OTQtODcuNzgyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjbG91ZCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQwNCwKKwkJCQkiaWQiOiAyMjAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg4NSwKKwkJCQkibmFtZSI6ICJjbG91ZCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDkwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgMGMtMjgyLjMxNyAwLTUxMiAyMjkuNjgzLTUxMiA1MTIgMCAyODIuMzMgMjI5LjY4MyA1MTIgNTEyIDUxMiAyODIuMzMgMCA1MTItMjI5LjY3IDUxMi01MTIgMC0yODIuMzE3LTIyOS42Ny01MTItNTEyLTUxMnpNNTEyIDEwMTEuMzY2Yy0yNzUuMzQxIDAtNDk5LjM1NC0yMjQuMDEzLTQ5OS4zNTQtNDk5LjM2NiAwLTI3NS4zNDEgMjI0LjAxMy00OTkuMzU0IDQ5OS4zNTQtNDk5LjM1NCAyNzUuMzU0IDAgNDk5LjM2NiAyMjQuMDEzIDQ5OS4zNjYgNDk5LjM1NCAwIDI3NS4zNTQtMjI0LjAxMyA0OTkuMzY2LTQ5OS4zNjYgNDk5LjM2NnoiLAorCQkJCQkiTTU1OS42MjkgNDAzLjk0MmgtMzY0LjA5NmMtMTIuNTcgMC0yMi43NTggOS4zNy0yMi43NTggMjAuOTI4djIxOS44MjdjMCAxMS41NDYgMTAuMTg5IDIwLjkyOCAyMi43NTggMjAuOTI4aDM2NC4wOTZjMTIuNTcgMCAyMi43NDYtOS4zNyAyMi43NDYtMjAuOTI4di0yMTkuODI3YzAtMTEuNTU4LTEwLjE3Ni0yMC45MjgtMjIuNzQ2LTIwLjkyOHpNNTUyLjMyIDYyMS4wNDNjMCA5LjA2Mi04LjcwNCAxNi40MS0xOS40MDUgMTYuNDFoLTMxMC42ODJjLTEwLjcxNCAwLTE5LjQxOC03LjM0Ny0xOS40MTgtMTYuNDF2LTE3Mi41MDZjMC05LjA2MiA4LjcwNC0xNi40MjIgMTkuNDE4LTE2LjQyMmgzMTAuNjgyYzEwLjcwMSAwIDE5LjQwNSA3LjM2IDE5LjQwNSAxNi40MjJ2MTcyLjUwNnoiLAorCQkJCQkiTTM3Ny41ODcgNjc1LjU4NGMtMzUuMzQxIDAtNjQgMjguNjQ2LTY0IDY0aDEyOGMwLTM1LjM0MS0yOC42NTktNjQtNjQtNjR6IiwKKwkJCQkJIk04MzEuNjAzIDI4OGgtMTgyLjRjLTcuMDc4IDAtMTIuOCA1LjczNC0xMi44IDEyLjh2ODBoMjA4di04MGMwLTcuMDY2LTUuNzM0LTEyLjgtMTIuOC0xMi44eiIsCisJCQkJCSJNNjM2LjQwMyAzOTMuNmgyMDh2NjcuMmgtMjA4di02Ny4yeiIsCisJCQkJCSJNNjM2LjQwMyA3MjYuNGMwIDcuMDc4IDUuNzIyIDEyLjggMTIuOCAxMi44aDE4Mi40YzcuMDc4IDAgMTIuOC01LjcyMiAxMi44LTEyLjh2LTI1Mi44aC0yMDh2MjUyLjh6TTc0MC40MDMgNjMwLjRjMTAuNTk4IDAgMTkuMiA4LjYwMiAxOS4yIDE5LjJzLTguNjAyIDE5LjItMTkuMiAxOS4yLTE5LjItOC42MDItMTkuMi0xOS4yIDguNjAyLTE5LjIgMTkuMi0xOS4yeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjb21wdXRlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQwNSwKKwkJCQkiaWQiOiAyMTksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg4NiwKKwkJCQkibmFtZSI6ICJjb21wdXRlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDkxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgNjRjLTI0Ny40MjQgMC00NDggMjAwLjU3Ni00NDggNDQ4IDAgMjQ3LjM2IDIwMC41NzYgNDQ4IDQ0OCA0NDggMjQ3LjQ4OCAwIDQ0OC0yMDAuNjQgNDQ4LTQ0OCAwLTI0Ny40MjQtMjAwLjUxMi00NDgtNDQ4LTQ0OHpNNDQ0LjAzMiA5MDguMDMybDQxLjYtMzY1LjY5Ni0yNTMuNjMyLTYuMzM2IDMwMC4wMzItNDMyLTMzLjM0NCAzMjEuNDcyIDIyMi40IDIwLjg2NC0yNzcuMDU2IDQ2MS42OTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFsYXJtIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDA2LAorCQkJCSJpZCI6IDIxOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODg3LAorCQkJCSJuYW1lIjogImFsYXJtIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogOTIKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTIyNS45ODQgNTc4LjY4OGwyOTAuNjg4IDI5My4zMTIgMjk3LjM0NC0yOTMuMzEyLTE4OC45OTItMC4wNjRjLTEuNzI4LTMxLjYxNiA5LjI4LTEwNi42ODgtNDEuMDI0LTI1My42MzItNTMuMzEyLTE1NS42NDgtMjQyLjY4OC0zMTAuMzM2LTI0Mi42ODgtMzEwLjMzNnM2Ni42ODggMTU0LjY4OCA5MC42ODggMzIyLjExMmMxNS41NTIgMTA4LjQ4IDUuMzEyIDIwNS4zMTItMTcuNDcyIDI0Mi44OGwtMTg4LjU0NC0wLjk2eiIsCisJCQkJCSJNNzcxLjg0IDYyLjAxNnY2NGgxNzguMTc2djgxOS45NjhoLTg3Ni4wMzJ2LTgxOS45NjhoMTM4LjU2di02NGgtMjAyLjU2djk0Ny45NjhoMTAwNC4wMzJ2LTk0Ny45Njh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImltcG9ydCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQwNywKKwkJCQkiaWQiOiAyMTcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg4OCwKKwkJCQkibmFtZSI6ICJpbXBvcnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA5MworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNDMyIDU0OS45NTJjLTI0IDE2Ny4zNi05MC42ODggMzIyLjA0OC05MC42ODggMzIyLjA0OHMxODkuMzEyLTE1NC42ODggMjQyLjY4OC0zMTAuMzM2YzUwLjMwNC0xNDYuODggMzkuMjk2LTIyMi4wMTYgNDEuMDI0LTI1My42MzJoMTg4Ljk5MmwtMjk3LjM0NC0yOTMuMzc2LTI5MC42ODggMjkzLjM3NiAxODguNDgtMC45NmMyMi44NDggMzcuNTY4IDMzLjA4OCAxMzQuNCAxNy41MzYgMjQyLjg4eiIsCisJCQkJCSJNNzcxLjg0IDYyLjAxNnY2NGgxNzguMTc2djgxOS45NjhoLTg3Ni4wMzJ2LTgxOS45NjhoMTM4LjU2di02NGgtMjAyLjU2djk0Ny45NjhoMTAwNC4wMzJ2LTk0Ny45Njh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImV4cG9ydCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQwOCwKKwkJCQkiaWQiOiAyMTYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg4OSwKKwkJCQkibmFtZSI6ICJleHBvcnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA5NAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyLTAuMDY0Yy0yODIuMzA0IDAtNTEyIDIyOS42OTYtNTEyIDUxMnMyMjkuNjk2IDUxMiA1MTIgNTEyIDUxMi0yMjkuNjk2IDUxMi01MTItMjI5LjY5Ni01MTItNTEyLTUxMnpNNTEyIDk1OS45MzZjLTI0Ny4wNDAgMC00NDgtMjAxLjAyNC00NDgtNDQ4IDAtMjQ3LjA0MCAyMDAuOTYtNDQ4IDQ0OC00NDggMjQ2Ljk3NiAwIDQ0OCAyMDAuOTYgNDQ4IDQ0OCAwIDI0Ni45NzYtMjAxLjAyNCA0NDgtNDQ4IDQ0OHoiLAorCQkJCQkiTTc4Ni44MTYgNDUxLjY0OGMwIDYxLjMxMi01Ni45NiAxMTEuMDQwLTEyNy4wNDAgMTExLjA0MC03MC4yMDggMC0xMjcuMTY4LTQ5LjcyOC0xMjcuMTY4LTExMS4wNDAgMC02LjY1NiAwLjk2LTEyLjk5MiAyLjI0LTE5LjMyOGgtNDMuNTg0YzEuMjggNi40IDIuMjQgMTIuNzM2IDIuMjQgMTkuMzI4IDAgNjEuMzEyLTU2Ljk2IDExMS4wNDAtMTI3LjA0MCAxMTEuMDQwLTcwLjIwOCAwLTEyNy4xMDQtNDkuNzI4LTEyNy4xMDQtMTExLjA0MCAwLTYuNjU2IDAuOTYtMTIuOTkyIDIuMjQtMTkuMzI4aC00Mi41Nmw2Ny44NCAzMTAuNjU2YzAgMCAxMDEuOTUyLTI5Ljc2IDI0OC4zODQtMjkuNzYgMTMwLjM2OCAwIDI0OC42NCAyOS43NiAyNDguNjQgMjkuNzZsNjcuNjQ4LTMxMC42NTZoLTQ3LjA0MGMxLjIxNiA2LjMzNiAyLjMwNCAxMi43MzYgMi4zMDQgMTkuMzI4eiIsCisJCQkJCSJNNTgxLjc2IDM2NC45MjhjMCAzNy4yMi0zMC4xNzIgNjcuMzkyLTY3LjM5MiA2Ny4zOTJzLTY3LjM5Mi0zMC4xNzItNjcuMzkyLTY3LjM5MmMwLTM3LjIyIDMwLjE3Mi02Ny4zOTIgNjcuMzkyLTY3LjM5MnM2Ny4zOTIgMzAuMTcyIDY3LjM5MiA2Ny4zOTJ6IiwKKwkJCQkJIk0yNzMuOTIgMzc1Ljg3MmMwIDMxLjE3NS0yNS4yNzMgNTYuNDQ4LTU2LjQ0OCA1Ni40NDhzLTU2LjQ0OC0yNS4yNzMtNTYuNDQ4LTU2LjQ0OGMwLTMxLjE3NSAyNS4yNzMtNTYuNDQ4IDU2LjQ0OC01Ni40NDhzNTYuNDQ4IDI1LjI3MyA1Ni40NDggNTYuNDQ4eiIsCisJCQkJCSJNODYzLjA0MCAzNzUuODcyYzAgMzEuMTc1LTI1LjI3MyA1Ni40NDgtNTYuNDQ4IDU2LjQ0OHMtNTYuNDQ4LTI1LjI3My01Ni40NDgtNTYuNDQ4YzAtMzEuMTc1IDI1LjI3My01Ni40NDggNTYuNDQ4LTU2LjQ0OHM1Ni40NDggMjUuMjczIDU2LjQ0OCA1Ni40NDh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIkFkbWluIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDA5LAorCQkJCSJpZCI6IDIxNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODkwLAorCQkJCSJuYW1lIjogIkFkbWluIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogOTUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxMiAwYy0yODIuNzcgMC01MTIgMjI5LjIyOS01MTIgNTEyczIyOS4yMyA1MTIgNTEyIDUxMmMyODIuNzcgMCA1MTItMjI5LjIyOSA1MTItNTEycy0yMjkuMjMtNTEyLTUxMi01MTJ6TTc3MCAzMDJsOTQgOTItMzc4IDM2OC0zMjAtMjAyIDEzNi0xMDIgMTQ2IDE0MiAzMjItMjk4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJhbGxTZWxlY3RlZCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQxMCwKKwkJCQkiaWQiOiAyMTQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg5MSwKKwkJCQkibmFtZSI6ICJhbGxTZWxlY3RlZCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDk2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zMTEuMzgyIDIxMy44OTNsNTEyIDMxNC4yMDItNTEyIDMyNS43OTh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFuZ2xlUmlnaHQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MTEsCisJCQkJImlkIjogMjEzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4OTIsCisJCQkJIm5hbWUiOiAiYW5nbGVSaWdodCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDk3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00ODAtMGwtNDgwIDUxMiA0ODAgNTEydi0zNDIuNTUxaDQ4OGMzMC41MjcgMCA1Ni0yOC4xMDggNTYtNjEuNzkzdi0yMTguMzU0YzAtMzMuNjg1LTI1LjQ3My02MS43OTMtNTYtNjEuNzkzaC00ODh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFycm93TGVmdCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQxMiwKKwkJCQkiaWQiOiAyMTIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg5MywKKwkJCQkibmFtZSI6ICJhcnJvd0xlZnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA5OAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjk3LjExOSAwbC0yOTcuMTE5IDMxNy4zMzMgNzkuNTg1IDg1LjMzMyAzNzYuNzA1LTQwMi42NjdoLTE1OS4xNzF6TTU2Ny43MSA1LjMzM2wtNDc0Ljg2IDUwOS4zMzMgNDc0Ljg2IDUwOS4zMzN2LTM0MS4zMzNoNDAwLjU4YzMwLjI3OCAwIDU1LjcxLTI3Ljc1IDU1LjcxLTYxLjMzM3YtMjE2YzAtMzMuNTI2LTI1LjQzMi02MS4zMzMtNTUuNzEtNjEuMzMzaC00MDAuNTh2LTMzOC42Njd6TTY1Mi42MDEgMTQ2LjY2N3YxMDkuMzMzaDM2My40NHYtNDhjMC0zMy41MjYtMjUuNDMyLTYxLjMzMy01NS43MS02MS4zMzNoLTMwNy43MzF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImFycm93TGVmdEFsbCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQxMywKKwkJCQkiaWQiOiAyMTEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg5NCwKKwkJCQkibmFtZSI6ICJhcnJvd0xlZnRBbGwiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiA5OQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTQ0LTBsNDgwIDUxMi00ODAgNTEydi0zNDIuNTUxaC00ODhjLTMwLjUyNyAwLTU2LTI4LjEwOC01Ni02MS43OTN2LTIxOC4zNTRjMC0zMy42ODUgMjUuNDczLTYxLjc5MyA1Ni02MS43OTNoNDg4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJhcnJvd1JpZ2h0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDE0LAorCQkJCSJpZCI6IDIxMCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODk1LAorCQkJCSJuYW1lIjogImFycm93UmlnaHQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMDAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTcyNi44ODEgMGwyOTcuMTE5IDMxNy4zMzMtNzkuNTg1IDg1LjMzMy0zNzYuNzA1LTQwMi42NjdoMTU5LjE3MXpNNDU2LjI5IDUuMzMzbDQ3NC44NiA1MDkuMzMzLTQ3NC44NiA1MDkuMzMzdi0zNDEuMzMzaC00MDAuNThjLTMwLjI3OCAwLTU1LjcxLTI3Ljc1LTU1LjcxLTYxLjMzM3YtMjE2YzAtMzMuNTI2IDI1LjQzMi02MS4zMzMgNTUuNzEtNjEuMzMzaDQwMC41OHYtMzM4LjY2N3pNMzcxLjM5OSAxNDYuNjY3djEwOS4zMzNoLTM2My40NHYtNDhjMC0zMy41MjYgMjUuNDMyLTYxLjMzMyA1NS43MS02MS4zMzNoMzA3LjczMXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiYXJyb3dSaWdodEFsbCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQxNSwKKwkJCQkiaWQiOiAyMDksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTg5NiwKKwkJCQkibmFtZSI6ICJhcnJvd1JpZ2h0QWxsIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTAxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MDggMGMtMzEuMTE5IDAtNTggMjQuODgxLTU4IDU2djQ2Yy02OS44MzEgMTAuODE2LTEzMy42NDYgMzguODg5LTE4OCA3OGwtNDItNDBjLTExLjAwMi0xMS4wMDItMjUuNjQxLTE4LTQwLTE4cy0yNi45OTggNi45OTgtMzggMThsLTE4IDE2Yy0yMi4wMDUgMjIuMDA1LTIyLjAwNSA1Ny45OTUgMCA4MGw0MiA0MGMtMzQuOTQxIDQ4LjUzOC02MS4wMzggMTAzLjQzMi03MiAxNjRoLTM2Yy0zMS4xMTkgMC01OCAyNC44ODEtNTggNTZ2MjJjMCAzMS4xMTkgMjYuODgxIDU4IDU4IDU4aDM2YzEyLjI5MiA3Ni4zMzUgNDQuOTEyIDE0Ny4zMzcgOTQgMjA0bC0zNCAzNmMtMjIuMDA1IDIyLjAwNS0yMi4wMDUgNTUuOTk1IDAgNzhsMTYgMThjMjIuMDA1IDIyLjAwNSA1Ny45OTUgMjIuMDA1IDgwIDBsNDQtNDZjNDcuMDk5IDI4LjA0MiA5OS4xODEgNDcuMTk5IDE1NiA1NnY0NmMwIDMxLjExOSAyNi44ODEgNTYgNTggNTZoMjJjMzEuMTE5IDAgNTYtMjQuODgxIDU2LTU2di00NmMyNy43NTMtNC4yMjggNTQuMjg2LTExLjE1MiA4MC0yMGwtMTA0LTEwNmMtMTQuNDQgMi4yMjktMjguOTM2IDQtNDQgNC0xNTkuMDU4IDAtMjg4LTEyOC45NDItMjg4LTI4OHMxMjguOTQyLTI4OCAyODgtMjg4YzE1OS4wNTggMCAyODggMTI4Ljk0MiAyODggMjg4IDAgNDcuODUzLTEzLjM0OSA5Mi4yOS0zNCAxMzJsMTA0IDk4YzMzLjYzNS00OS4yMTggNTguMjQ3LTEwNS40MzIgNjgtMTY2aDIyYzMxLjExOSAwIDU2LTI2Ljg4MSA1Ni01OHYtMjJjMC0zMS4xMTktMjQuODgxLTU2LTU2LTU2aC0yMmMtMTAuNjE1LTU4LjY1Mi0zNC44MDUtMTEyLjUzOS02OC0xNjBsMzYtMzZjMjIuMDA1LTIyLjAwNSAyMi4wMDUtNTcuOTk1IDAtODBsLTE2LTE2Yy0xMS4wMDItMTEuMDAyLTI1LjY0MS0xNi00MC0xNnMtMjguOTk4IDQuOTk4LTQwIDE2bC0zNiAzNmMtNTUuNzM1LTQxLjM5OS0xMjEuNDcxLTcwLjk1MS0xOTQtODJ2LTQ2YzAtMzEuMTE5LTI0Ljg4MS01Ni01Ni01NmgtMjJ6TTUyMCAyOTJjLTEyNi42NzggMC0yMzAgMTAzLjMyMi0yMzAgMjMwczEwMy4zMjIgMjI4IDIzMCAyMjhjMjkuNTAxIDAgNTguMDk1LTUuODU1IDg0LTE2bDIxMCAyMTBjMjIuMDA1IDIyLjAwNSA1NS45OTUgMjIuMDA1IDc4IDBsMTAtMTBjMjIuMDA1LTIyLjAwNSAyMi4wMDUtNTUuOTk1IDAtNzhsLTE5OC0xOThjMjguMjUtMzguMTI2IDQ2LTg0LjkwNCA0Ni0xMzYgMC0xMjYuNjc4LTEwMy4zMjItMjMwLTIzMC0yMzB6TTUyMCA0MDBjNjcuMjc1IDAgMTIyIDU0LjcyNSAxMjIgMTIycy01NC43MjUgMTIyLTEyMiAxMjJjLTY3LjI3NSAwLTEyMi01NC43MjUtMTIyLTEyMnM1NC43MjUtMTIyIDEyMi0xMjJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImF1dG9GaW5kIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDE2LAorCQkJCSJpZCI6IDIwOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5ODk3LAorCQkJCSJuYW1lIjogImF1dG9GaW5kIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTAyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk02NzQuMjQgMTAxMC4xMTJsLTQ4MS4yOC00ODEuMzQ0IDQ4NS42OTYtNDg1LjgyNCA0NS4zMTIgNDUuMjQ4LTQ0MC41MTIgNDQwLjU3NiA0MzYuMDMyIDQzNi4wOTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImJhY2siCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MTcsCisJCQkJImlkIjogMjA3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4OTgsCisJCQkJIm5hbWUiOiAiYmFjayIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEwMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMzY2IDB2MzY0aC0xODB2MzAwaDE4NHYtNTJoNTJ2NTJoNDB2LTMwMGg5MnYzMDBoNDB2LTUyaDU0djUyaDE4NHYtMzAwaC0xNzR2LTM2NGgtMjkyek0wIDY1OHYzNjZoMzY2di0xNTJoLTEzMnYtOTJoLTkwdi0xMjJoLTE0NHpNODgwIDY1OHYxMjJoLTkwdjkyaC0xMzJ2MTUyaDM2NnYtMzY2aC0xNDR6TTQzMiA4NzJ2MTUyaDE2MHYtMTUyaC0xNjB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImJhbGwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MTgsCisJCQkJImlkIjogMjA2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk4OTksCisJCQkJIm5hbWUiOiAiYmFsbCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEwNAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNDQ4LjAzMSAyMS45ODR2MTEwLjAwM2MtMTExLjI0OSAyNy41NTItMTkyIDEyNy42OC0xOTIgMjQ4djkzLjk5N2MtMTQuMTA0IDE3MC43ODQtMTIwLjk5NiAyNzAuNzAxLTIyNCAzNzguMDAzIDQuNzIzIDAgOS4yMS0xLjk4NCAxNC0xLjk4NGgyODJjLTEuNDk4IDguNTI1LTEuOTk3IDE3LjAzMC0xLjk5NyAyNS45OTcgMCA4Mi43MjYgNjUuMjc1IDE0OCAxNDggMTQ4aDM0YzgyLjcyNSAwIDE1MC02NS4yNzQgMTUwLTE0OCAwLTguOTg2LTIuNDktMTcuNDU5LTQtMjUuOTk3aDMyMGM0Ljc4NyAwIDkuMjc3IDEuNzI4IDE0IDEuOTg0LTEwMy4wMDQtMTA3LjMwMi0yMDkuODk2LTIwNy4yMTktMjI0LTM3OC4wMDN2LTkzLjk5N2MwLTEyMC4zMi04MC43NTEtMjIwLjQ0OC0xOTItMjQ4di0xMTAuMDAzaC0xMjR6TTM5Ni4wMzEgODQ5Ljk4NGgzMmMtMTEuOTY1IDEyLjQwMy0yMCAyOC4zNzEtMjAgNDYuMDAzIDAgNDAuMzQ2IDM3LjM5MSA3My45OTcgODQgNzMuOTk3LTEwLjE1NCA0LjE2LTIwLjMyOSA4LTMyIDgtNDYuNjA5IDAtODQtMzQuMTc2LTg0LTc3Ljk5NyAwLTE5LjQxOCA3Ljc3My0zNi4wNzAgMjAtNTAuMDAzeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJiZWxsIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDE5LAorCQkJCSJpZCI6IDIwNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTAwLAorCQkJCSJuYW1lIjogImJlbGwiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMDUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUwOS4wOTEgMS43MDdjLTEzNC40NDggMC0yNDIuNTQ0IDEwOC43MDQtMjQyLjU0NCAyNDRzMTA4LjA5NiAyNDYgMjQyLjU0NCAyNDZjMTM0LjQ0OCAwIDI0Mi41NDQtMTEwLjcwNCAyNDIuNTQ0LTI0NnMtMTA4LjA5Ni0yNDQtMjQyLjU0NC0yNDR6TTc2OS41MjggNDQ3LjcwN2MtMTQwLjU0MSAwLTI1NC40NzIgMTE0LjYxOC0yNTQuNDcyIDI1NnMxMTMuOTMxIDI1NiAyNTQuNDcyIDI1NmMxNDAuNTQxIDAgMjU0LjQ3Mi0xMTQuNjE4IDI1NC40NzItMjU2cy0xMTMuOTMxLTI1Ni0yNTQuNDcyLTI1NnpNMzA2LjMwOCA1MDMuNzA3Yy0zNDYuODU1IDE5NS45MS0zMDIuNTI0IDUzMS42MS0zMDYuMTYyIDUyMGg2ODUuODgzbC0xLjk4OC02Yy0xMzUuMTEzLTIzLjA5MC0yMzguNTY4LTE0MS40OTktMjM4LjU2OC0yODQgMC01MC4wMDggMTMuNDk5LTk3LjAxNyAzNS43ODUtMTM4LTcyLjA4Mi03LjU4OS0xMzYuMzA2LTQyLjUxMy0xNzQuOTUtOTJ6TTYxMC40ODIgNjMzLjcwN2gzMTguMDkxdjEyOGgtMzE4LjA5MXYtMTI4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJibGFja0xpc3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MjAsCisJCQkJImlkIjogMjA0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MDEsCisJCQkJIm5hbWUiOiAiYmxhY2tMaXN0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTA2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgMGMtMjgyLjc3IDAtNTEyIDIyOS4yMy01MTIgNTEyczIyOS4yMyA1MTIgNTEyIDUxMmMyODIuNzcgMCA1MTItMjI5LjIzIDUxMi01MTJzLTIyOS4yMy01MTItNTEyLTUxMnpNNTMwIDEyOGwyMiAxMjQtNzIgNi0yMi0xMjIgNzItOHpNMjc2IDE3MGM3MC4xMzEgMCAxMjggNTcuMjM5IDEyOCAxMzAgMCAxNS40MjItMS4yOTggMzAuMjItNiA0NGw4NiA5MC02NiA3MC04Ni04NmMtMTYuNDY4IDguMTEyLTM2LjU2NSAxMi01NiAxMi03MC4xMzEgMC0xMjItNTcuMjY3LTEyMi0xMzAgMC03Mi43NjEgNTEuODY5LTEzMCAxMjItMTMwek03NjAgMjEwbDU0IDgyLTE2MiAxMTYtNTQtODYgMTYyLTExMnpNODg4IDQ0Mmw4IDc0LTExOCAyMi04LTc0IDExOC0yMnpNMjQ2IDQ4Mmw4IDc0LTExOCAyMC04LTcyIDExOC0yMnpNNTk4IDUzNGw2MiA2NGMxNi42NTQtOC4zNzYgMzIuMjc2LTE2IDUyLTE2IDcwLjEzMSAwIDEzMCA2My4yNTMgMTMwIDEzNiAwIDcyLjc1Mi01OS44NjkgMTMwLTEzMCAxMzBzLTEyNC01Ny4yNDgtMTI0LTEzMGMwLTE1LjE2MyA1LjQ1OS0zMi40NSAxMC00NmwtNjgtNjYgNjgtNzJ6TTM3MiA2MTJsNTQgOTAtMTY2IDEwOC01MC04MiAxNjItMTE2ek01NDAgNzcwbDE4IDExOC03MiA4LTE4LTEyNCA3Mi0yeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJicmVha0xpbmsiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MjEsCisJCQkJImlkIjogMjAzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MDIsCisJCQkJIm5hbWUiOiAiYnJlYWtMaW5rIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTA3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgMGMtMjgyLjc3IDAtNTEyIDIyOS4yMjktNTEyIDUxMnMyMjkuMjMgNTEyIDUxMiA1MTJjMjgyLjc3IDAgNTEyLTIyOS4yMjkgNTEyLTUxMnMtMjI5LjIzLTUxMi01MTItNTEyek0xMjggMzE0LjAwM2wxODAgMTA0YzYxLjkwMi00OS43MzQgMTQwLjU1MS04MCAyMjYtODAgMTk4LjYxNyAwIDM2MCAxNjMuMzc5IDM2MCAzNjEuOTk3IDAgMi45NDQgMC4wNzAgNS4wNTYgMCA4bC05MCAxLjk4NGMwLjEzNC0zLjQ1NiAwLTYuNTI4IDAtMTAuMDAzIDAtMTQ4Ljk2LTEyMS4wMzgtMjcyLTI3MC0yNzItNTEuNDY5IDAtOTguOTcyIDE0Ljc3MS0xNDAgNDBsMTg0IDEwNi4wMDMtMzU2IDkzLjk5Ny05NC0zNTMuOTc4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJjYW5jbGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MjIsCisJCQkJImlkIjogMjAyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MDMsCisJCQkJIm5hbWUiOiAiY2FuY2xlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTA4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMDI0IDUxMi4wMDJjMCAyODIuNzctMjI5LjIzIDUxMi01MTIgNTEycy01MTItMjI5LjIzLTUxMi01MTJjMC0yODIuNzcgMjI5LjIzLTUxMiA1MTItNTEyczUxMiAyMjkuMjMgNTEyIDUxMnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY2lyY2xlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDIzLAorCQkJCSJpZCI6IDIwMSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTA0LAorCQkJCSJuYW1lIjogImNpcmNsZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEwOQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNLTAgNS4zMzN2MzQxLjMzM2gxMjIuNjY3djQ0NS4zMzNoMzYyLjY2N2MxNy43ODMgMTMyLjc0NSAxMjkuMTI4IDIzNC42NjcgMjY2LjY2NyAyMzQuNjY3IDE0OS44MzkgMCAyNzItMTIyLjI3OCAyNzItMjcycy0xMjIuMTYxLTI2OS4zMzMtMjcyLTI2OS4zMzNjLTEzMy4wMTEgMC0yNDAuOTU0IDk1LjQ2NS0yNjQgMjIxLjMzM2gtMjgwdi0zNjBoMTMzLjMzM3YtMzQxLjMzM2gtMzQxLjMzM3pNNzEyIDU4Ni42NjdoODUuMzMzdjEyOGgxMjh2ODUuMzMzaC0xMjh2MTI4aC04NS4zMzN2LTEyOGgtMTI4di04NS4zMzNoMTI4di0xMjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImNsb3NlVHJlZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQyNCwKKwkJCQkiaWQiOiAyMDAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkwNSwKKwkJCQkibmFtZSI6ICJjbG9zZVRyZWUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMTAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTAgMHYxMDI0aDQwMGwtNi0yMzggMTU4LTI2MC0xNDYtMTg4LTI3OCAzOTJ2LTYwMmg3Njh2MTIwbDEyOCA3NHYtMzIyaC0xMDI0ek03OTYgMjkwbC0yNjYgNDYyIDE2NiA5NiAyNjYtNDYwLTE2Ni05OHpNMTAyNCA0MjZsLTggMTYtMjkwIDUzNC01OCA0OGgzNTZ2LTU5OHpNNDg2IDgyOGwxNCAxNjYgMTUyLTcwLTE2Ni05NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiY29uZmlnbWFwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDI1LAorCQkJCSJpZCI6IDE5OSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTA2LAorCQkJCSJuYW1lIjogImNvbmZpZ21hcCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDExMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjExLjU4NyAzMmwtMjA1LjYwMiAyMjRoNDI5LjE2NmwtMjIzLjU2NC0yMjR6TTAgMzA0djcyMGgxMDI0di00OTZoLTU5Ni44MzN2LTIyNGgtNDI3LjE2N3pNNzcuODQ1IDQwNi4wMDNoOTUuODEzdjk2aC05NS44MTN2LTk2ek0yNTUuNTAyIDQwNi4wMDNoOTUuODEzdjk2aC05NS44MTN2LTk2ek03Ny44NDUgNjE0LjAwM2g5NS44MTN2OTZoLTk1LjgxM3YtOTZ6TTI1NS41MDIgNjE0LjAwM2g5NS44MTN2OTZoLTk1LjgxM3YtOTZ6TTY4MC42NyA2MTQuMDAzaDk1LjgxM3Y5NmgtOTUuODEzdi05NnpNODU4LjMyNiA2MTQuMDAzaDk1LjgxM3Y5NmgtOTUuODEzdi05NnpNNTAxLjAyMCA2MjAuMDE5aDYzLjg3NXYyOTZoLTYzLjg3NXYtMjk2ek03NS44NTIgODIwLjAxOWg5NS44MTN2OTZoLTk1LjgxM3YtOTZ6TTI1My41MDIgODIwLjAxOWg5NS44MTN2OTZoLTk1LjgxM3YtOTZ6TTY4MC42NyA4MjAuMDE5aDk1LjgxM3Y5NmgtOTUuODEzdi05NnpNODU4LjMyNiA4MjAuMDE5aDk1LjgxM3Y5NmgtOTUuODEzdi05NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiZGVwYXJ0bWVudCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQyNiwKKwkJCQkiaWQiOiAxOTgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkwNywKKwkJCQkibmFtZSI6ICJkZXBhcnRtZW50IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTEyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDQ1LjMzM3YxNzAuNjY3aDEwMjR2LTE3MC42NjdoLTEwMjR6TTAgMzAxLjMzM3YxNzAuNjY3aDEwMjR2LTE3MC42NjdoLTEwMjR6TTAgNTU3LjMzM3YxNzAuNjY3aDEwMjR2LTE3MC42NjdoLTEwMjR6TTAgODEzLjMzM3YxNzAuNjY3aDc2OHYtMTcwLjY2N2gtNzY4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJkZXRhaWwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MjcsCisJCQkJImlkIjogMTk3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MDgsCisJCQkJIm5hbWUiOiAiZGV0YWlsIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTEzCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDB2MTAyNGg4NjIuNzY2di0yOTJoMTYwbC0xOTItMTkyLTE5MCAxOTJoMTU4djIyOGgtMzY2Ljc2NnYtODk2aDM2Ni41MDN2MjA0aC0xNThsMTkwIDE5MiAxOTItMTkyaC0xNjB2LTI2OGgtNTYwLjUwM3pNNzIgMjE0aDI5MHY2NGgtMjkwek03MiA0NzRoMjkwdjY0aC0yOTB6TTcyIDcyNmgyOTB2NjRoLTI5MHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiZGlzcGxheVN3aXRjaCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQyOCwKKwkJCQkiaWQiOiAxOTYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkwOSwKKwkJCQkibmFtZSI6ICJkaXNwbGF5U3dpdGNoIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTE0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMjAgMHYxMDI0aDgxMmwyMC04MjItMTYwLTIwMmgtNjcyek0yMTYgOTZoNTE2bDEyNCAxNjQtMTQgNjY4aC02MjZ2LTgzMnpNMjk4IDE3OHYxNDBoMTQ2di0xNDBoLTE0NnpNNTI0IDIzNHY2NGgyNTJ2LTY0aC0yNTJ6TTI5OCAzODZ2NjRoNDc4di02NGgtNDc4ek0yOTggNTYydjY0aDQ3OHYtNjRoLTQ3OHpNMjk4IDczOHY2NGg0Nzh2LTY0aC00Nzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImZpbGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MjksCisJCQkJImlkIjogMTk1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MTAsCisJCQkJIm5hbWUiOiAiZmlsZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDExNQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMC4wMDYgMGwwLjQ5NyA3Ny4zNiA0MTUuNSAzOTIuOTA3djMyOS43OTdsMTkyIDIyMy45MzZ2LTU1MS42OThsNDE2LjY2NC0zODguODM1LTAuNjY4LTgzLjQ2N2gtMTAyNHpNMjU0LjAwNiAxMDEuNzg5aDUxNHY0NC43ODdsLTI1NiAyNDIuMjU4LTI1Ni0yNDYuMzMtMS45OTctNDAuNzE2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJmaWx0ZXIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MzAsCisJCQkJImlkIjogMTk0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MTEsCisJCQkJIm5hbWUiOiAiZmlsdGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTE2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yNzgtNGMtMTYuNDI1IDAtMzAgMTMuNTc1LTMwIDMwdjEzMmMwIDE2LjQyNSAxMy41NzUgMzAgMzAgMzBoMTMyYzE2LjQyNSAwIDMwLTEzLjU3NSAzMC0zMHYtMTMyYzAtMTYuNDI1LTEzLjU3NS0zMC0zMC0zMGgtMTMyek01OTgtMmMtMTYuNDI1IDAtMzAgMTMuNTc1LTMwIDMwdjEzMmMwIDE2LjQyNSAxMy41NzUgMzAgMzAgMzBoMTMyYzE2LjQyNSAwIDMwLTEzLjU3NSAzMC0zMHYtMTMyYzAtMTYuNDI1LTEzLjU3NS0zMC0zMC0zMGgtMTMyek00NDAgMjUwbC0yNzAgMi0xMTQgMjc0djM2OGgyMDhsMzAtMzB2LTI3MmwxMjYtMmMxMi40NjQtMS4yOTIgMjEuNjM0LTE4Ljc5MiAyMC00MHYtMzAwek01NjggMjUydjMwMGMtMS42MzQgMjEuMjA4IDcuNTM2IDM4LjcwOCAyMCA0MGwxMjYgMnYyNzJsMzAgMzBoMjA4di0zNjhsLTExNC0yNzQtMjcwLTJ6TTU2IDk2MHY2NGgyMzh2LTY0aC0yMzh6TTcxNCA5NjJ2NjRoMjM4di02NGgtMjM4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJmaW5kIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDMxLAorCQkJCSJpZCI6IDE5MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTEyLAorCQkJCSJuYW1lIjogImZpbmQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMTcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk2LjggMTM2LjU3NmgyMDAuMjc3YzQzLjE3My0wLjEzNiA1My42NjUgMTIuNjc1IDY4Ljk2MiA0Mi4xNTggMCAwIDM4LjAyOCAxMTIuOTUyIDc5LjgyNyAxNTIuMDc0IDEzLjA3OSAxMi4yNDIgMjIuNzM0IDIxLjc4IDQ5LjEzMyAyMS43OGg0MzIuMjAxYzUzLjYyNyAwIDk2LjggNDMuNTcxIDk2LjggOTcuNjk0djQ4Ni4xM2MwIDU0LjEyMi00My4xNzMgOTcuNjk0LTk2LjggOTcuNjk0aC04MzAuMzk5Yy01My42MjcgMC05Ni44LTQzLjU3MS05Ni44LTk3LjY5NHYtNzAyLjE0M2MwLTU0LjEyMiA0My4xNzMtOTcuNjk0IDk2LjgtOTcuNjk0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJmb2xkZXIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MzIsCisJCQkJImlkIjogMTkyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MTMsCisJCQkJIm5hbWUiOiAiZm9sZGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTE4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk03MDcuMiA5NTIuMjU2aC02NzUuNTJ2LTg3MC45MTJoNjc1LjUydjY0aC02MTEuNTJ2NzQyLjkxMmg2MTEuNTJ6IiwKKwkJCQkJIk03MzcuOTIgNzk4LjI3MmwtNDUuMjQ4LTQ1LjI0OCAyMzUuODQtMjM1Ljc3Ni0yMzYuNTQ0LTIzNi42MDggNDUuMjQ4LTQ1LjI0OCAyODEuNzkyIDI4MS44NTZ6IiwKKwkJCQkJIk0yMjYuMjQgNDg0LjhoNzEzLjY2NHY2NGgtNzEzLjY2NHYtNjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImZvcmNlT3V0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDMzLAorCQkJCSJpZCI6IDE5MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTE0LAorCQkJCSJuYW1lIjogImZvcmNlT3V0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTE5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgMGwtMjI0IDI1Nmg0NDhsLTIyNC0yNTZ6TTI1NiAyODhsLTI1NiAyMjQgMjU2IDIyNHYtNDQ4ek03NjggMjg4djQ0OGwyNTYtMjI0LTI1Ni0yMjR6TTI4OCA3NjhsMjI0IDI1NiAyMjQtMjU2aC00NDh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImZ1bGxTY3JlZW4iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MzQsCisJCQkJImlkIjogMTkwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MTUsCisJCQkJIm5hbWUiOiAiZnVsbFNjcmVlbiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEyMAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODIzLjEwNCA1MTAuOTEyYzAgODkuNDcyLTM3LjM3NiAxNjkuNi05Ni41NzYgMjI2LjY4OGwxMzIuMDk2IDEzMi4wOTZjOTIuMDk2LTkxLjA3MiAxNDkuNDQtMjE4LjExMiAxNDkuNDQtMzU4Ljc4NHYtMC4wNjRsLTE4NC45NiAwLjA2NHoiLAorCQkJCQkiTTc5NS4zOTIgMzg1LjIxNmgxOTUuMTM2Yy00OS4wMjQtMTkxLjM2LTIwNS4zMTItMzM4LjU2LTQwMC44OTYtMzY4Ljg5NnYxOTEuOTM2YzkyLjczNiAyMy42MTYgMTY3LjgwOCA4OS45ODQgMjA1Ljc2IDE3Ni45NnoiLAorCQkJCQkiTTYxMS4zOTIgODA2LjY1NmMtMzAuNDY0IDEwLjY4OC02Mi42NTYgMTcuMzQ0LTk2Ljc2OCAxNy4zNDQtMTcwLjMwNCAwLTMwOC4zNTItMTQwLjA5Ni0zMDguMzUyLTMxMy4xNTIgMC0xNTQuNzUyIDExMC44NDgtMjgyLjU2IDI1Ni4yNTYtMzA3Ljc3NnYtMTkwLjI3MmMtMjQ4LjA2NCAyNi40MzItNDQxLjQwOCAyMzkuMzYtNDQxLjQwOCA0OTguMTEyIDAgMjc2LjYwOCAyMjAuOTkyIDUwMC44NjQgNDkzLjUwNCA1MDAuODY0IDg2LjcyIDAgMTY3LjQyNC0yMy43NDQgMjM4LjIwOC02My42OGwtMTQxLjQ0LTE0MS40NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiR3JhcGhpY2FsIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDM1LAorCQkJCSJpZCI6IDE4OSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTE2LAorCQkJCSJuYW1lIjogIkdyYXBoaWNhbCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEyMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTI4Mi43NyAwLTUxMiAyMjkuMjMtNTEyIDUxMnMyMjkuMjMgNTEyIDUxMiA1MTJjMjgyLjc3IDAgNTEyLTIyOS4yMyA1MTItNTEycy0yMjkuMjMtNTEyLTUxMi01MTJ6TTUwOCAxNTRjNDYuMzgzLTEuODU2IDg1LjQ1NCAzLjA3MiAxMTQgMTQgMjguNTQ1IDEwLjkzIDUxLjk0MSAyNi4xMTQgNzQgNDQgMjIuMDU4IDE3Ljg4OCAzOC43MjUgMzkuNTgxIDQ4IDY0IDkuMjczIDI0LjQyIDEzLjM2NSA0Ny45ODEgMTIgNzQtMS44MDQgMjUuNzI5LTcuMzYxIDUxLjQ2OS0xOCA3Ni0xMC42NCAyNC41MzItMjUuOTM2IDQ4Ljk1Ni00NiA3Mi0yMC4wNjUgMjMuMDQ0LTQ0LjA1NiA0NS40OTMtNzIgNjhsLTQ4IDM4djk2aC0xNDB2LTE0NGMyNC43MjEtMTguNjU5IDQ3LjQ3MS0zNi4wNzAgNjgtNTJzNDAuODEtMzMuNzg4IDYwLTUyYzE5LjE5LTE4LjIxMSAzNC41ODktMzcuMDQ4IDQ0LTU4czEyLjEzLTQyLjA1NyAxMC02MGMtMy4xMTUtMjMuNTM2LTEyLjIxMS0zOS45NzQtMjgtNTItMTUuNzg5LTEyLjAyNS0zNC41MTYtMjAuMTk4LTU2LTIyLTIxLjQ4NS0xLjgtMzkuMjIyIDMuOTc4LTU0IDE0LTEzLjk4NiA5LjEwNi0yMi4zMDcgMTkuMjYyLTI0IDMwbC02IDI2LTggNC0xMzQgNmMxLjM2Ni0yNS4yODEgNS4zNTYtNTAuMzMxIDEwLTcyIDQuNjQ0LTIxLjY2NyAxNi45MzktNDEuMzk2IDM4LTYwIDIxLjA2MS0xOC42MDIgNDYuMTA5LTMyLjEzNSA3NC00MCAyNy44OS03Ljg2MyA1NC4yNDYtMTIuNTQ1IDgyLTE0ek00MjggODAwaDE0OHY5NGgtMTQ4di05NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaGVscFRpcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQzNiwKKwkJCQkiaWQiOiAxODgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkxNywKKwkJCQkibmFtZSI6ICJoZWxwVGlwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTIyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zNjggMHY1OTZoLTIzNGwzNjQgMzYwaC00OTh2NzBoMTAyNHYtNzBoLTUyMmwzODgtMzYwaC0yMzR2LTU5NmgtMjg4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJoaWRlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDM3LAorCQkJCSJpZCI6IDE4NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTE4LAorCQkJCSJuYW1lIjogImhpZGUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMjMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE2Ny42MTUgMTg2Ljg0MnY0ODcuMzI4bDM0IDczLjM1aDU3Mi4zODVsMzgtNzUuMjI2di0zMy44NTZoMjZjMTA0LjQwMSAwIDE4OC03OC42MTggMTg4LTE3Ni43OTQgMC05OC4xODItODMuNTk5LTE3Ni44LTE4OC0xNzYuOGgtMjZ2LTk4LjAwM3pNODEyIDM0Ni45MTJoMTRjNjYuODk4IDAgMTIyIDUxLjgyMSAxMjIgMTE0LjczMyAwIDYyLjkwNi01NS4xMDIgMTEyLjg0NS0xMjIgMTEyLjg0NWgtMTR6TTAgODQzLjQ0M2wxMDggMTgwLjU1N2g4MzRsODItMTgwLjU1N3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaGlzdG9yeSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQzOCwKKwkJCQkiaWQiOiAxODYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkxOSwKKwkJCQkibmFtZSI6ICJoaXN0b3J5IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTI0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yMTIgNmMtODYuMjcgNDkuNTU4LTE0NCAxMzMuODYyLTE0NCAyMzAgMCA5Ny43MjQgNTkuNDA5IDE4Mi44MiAxNDggMjMybDI0LTUyYy02NS44MzQtNDAuMDY3LTEwOC0xMDUuMDg1LTEwOC0xODBzNDIuMTY2LTE0MS45MzMgMTA4LTE4MmwtMjgtNDh6TTg0OCA2bC0yOCA0OGM2NS44MzQgNDAuMDY3IDEwOCAxMDcuMDg1IDEwOCAxODJzLTQyLjE2NiAxMzkuOTMzLTEwOCAxODBsMjQgNTJjODguNTkxLTQ5LjE4IDE0OC0xMzQuMjc2IDE0OC0yMzIgMC05Ni4xMzgtNTcuNzMtMTgwLjQ0Mi0xNDQtMjMwek0zMTggNzBjLTU3Ljc0MiAzNS40NzUtOTggOTcuMTgyLTk4IDE2NiAwIDY5Ljk1MyA0MC43MDUgMTMwLjc5NiAxMDAgMTY2bDE2LTM4Yy00NC4wNjQtMjguNjgxLTcyLTc0LjM3NC03Mi0xMjhzMjcuOTM2LTEwMS4zMTkgNzItMTMwbC0xOC0zNnpNNzQyIDcwbC0xOCAzNmM0NC4wNjQgMjguNjgxIDcyIDc2LjM3NCA3MiAxMzBzLTI3LjkzNiA5OS4zMTktNzIgMTI4bDE2IDM4YzU5LjI5NS0zNS4yMDQgMTAwLTk2LjA0NyAxMDAtMTY2IDAtNjguODE4LTQwLjI1OC0xMzAuNTI1LTk4LTE2NnpNNDA2IDE0MGMtMzMuNTY5IDIwLjYyMy01NiA1NS45OTMtNTYgOTYgMCA0MC42NjcgMjMuNTI5IDc1LjUzNCA1OCA5NmwxMC0yMmMtMjUuNjE3LTE2LjY3My00Mi00Mi44MjQtNDItNzRzMTYuMzgzLTU5LjMyNyA0Mi03NmwtMTItMjB6TTY1NCAxNDBsLTEyIDIwYzI1LjYxNyAxNi42NzMgNDIgNDQuODI0IDQyIDc2cy0xNi4zODMgNTcuMzI3LTQyIDc0bDEwIDIyYzM0LjQ3MS0yMC40NjYgNTgtNTUuMzMzIDU4LTk2IDAtNDAuMDA3LTIyLjQzMS03NS4zNzctNTYtOTZ6TTQ4MCAxOTRsLTI4IDgzMGgxNTZsLTI4LTgzMGgtMTAweiIsCisJCQkJCSJNMjE4Ljk4OSA1NjAuMzkzaDEyMS45MDh2NDYzLjM4OWgtMTIxLjkwOHYtNDYzLjM4OXoiLAorCQkJCQkiTTg4IDY1NS43ODN2MzY4aDE1MnYtMzY4aC0xNTJ6TTExNCA2NzEuNzgzaDI2djM0NmgtMjZ2LTM0NnoiLAorCQkJCQkiTS00LjUzNSA4NDQuMTkxaDk5LjUzN3YxNzkuODA5aC05OS41Mzd2LTE3OS44MDl6IiwKKwkJCQkJIk01OTIuNSA4MDMuMTU0aDgyLjY2NXYyMjMuNmgtODIuNjY1di0yMjMuNnoiLAorCQkJCQkiTTY2Mi4wOTIgNTgwLjE5aDc4LjMzMnY0NDYuNTY0aC03OC4zMzJ2LTQ0Ni41NjR6IiwKKwkJCQkJIk03MzggNzA2djMxOGg5NHYtMzE4aC05NHpNNzU4IDczNGgyMHYyNjJoLTIwdi0yNjJ6IiwKKwkJCQkJIk04MDggODE2djIwOGgxNzR2LTIwOGgtMTc0ek04NjQgODYwaDgydjE0NmgtODJ2LTE0NnoiLAorCQkJCQkiTTk2Ny41OTUgOTE0LjEwMWg2OC4zNjJ2MTA5Ljg5OWgtNjguMzYydi0xMDkuODk5eiIsCisJCQkJCSJNMzMxLjIwMSA4MTguMjc1djIwOGgxNDMuODU5di0yMDhoLTE0My44NTl6TTM3Ny41MDEgODYyLjI3NWg2Ny43OTZ2MTQ2aC02Ny43OTZ2LTE0NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibGF1bmNoaW5nVG93ZXIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0MzksCisJCQkJImlkIjogMTg1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MjAsCisJCQkJIm5hbWUiOiAibGF1bmNoaW5nVG93ZXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMjUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTAgMHYxNjBoNjR2ODY0aDg5NnYtODY0aDY0di0xNjBoLTEwMjR6TTE5MiAyNThoNjQwdjY0MGgtNjQwdi02NDB6TTQwMCAzMzBsLTE3MiAxNzQgMTcyIDE3NHYtMTE0aDExMnYtMTI0aC0xMTJ2LTExMHpNNjI0IDUxNnYxMTBoLTExMnYxMjRoMTEydjExNGwxNzItMTc0LTE3Mi0xNzR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImxheW91dCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ0MCwKKwkJCQkiaWQiOiAxODQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkyMSwKKwkJCQkibmFtZSI6ICJsYXlvdXQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMjYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEwMjQgMHYxMDI0aC03MzYuNTA4di0xMDI0ek0xNjguMTM2IDB2MTAyNGgtMTY4LjEzNnYtMTAyNHpNNjM1LjkzMiAzMzBsLTE4MiAxODIgMTgyIDE4MnYtMTIyaDIzMnYtMTIwaC0yMzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImxlZ2VuZGhpZGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NDEsCisJCQkJImlkIjogMTgzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MjIsCisJCQkJIm5hbWUiOiAibGVnZW5kaGlkZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEyNworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCAwdjEwMjRoNjAydi0xMDI0aC02MDJ6TTcwNCAwdjEwMjRoMzIwdi0xMDI0aC0zMjB6TTc3OCAxMzZoMTcydjg2aC0xNzJ2LTg2ek0zMzYgMzMwbDE4MiAxODItMTgyIDE4MnYtMTIyaC0yMzJ2LTEyMGgyMzJ2LTEyMnpNNzc4IDM3NmgxNzJ2ODZoLTE3MnYtODZ6TTc3OCA2MTZoMTcydjg2aC0xNzJ2LTg2ek03NzggODU0aDE3MnY4OGgtMTcydi04OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibGVnZW5kc2hvdyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ0MiwKKwkJCQkiaWQiOiAxODIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkyMywKKwkJCQkibmFtZSI6ICJsZWdlbmRzaG93IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTI4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNzQgMGMtOTUuNzYxIDAtMTc0IDc4LjIzOS0xNzQgMTc0czc4LjIzOSAxNzIgMTc0IDE3MmMzMC4yMzYgMCA1Ny4yNTItNi4zOTQgODItMjBsNDQyIDQ0MmMtMTMuNjA2IDI0Ljc0OC0yMCA1MS43NjQtMjAgODIgMCA5NS43NjEgNzYuMjM5IDE3NCAxNzIgMTc0czE3NC03OC4yMzkgMTc0LTE3NGMwLTk1Ljc2MS03OC4yMzktMTcyLTE3NC0xNzItMzAuNTcgMC01OS4wNjEgNi4xMTMtODQgMjBsLTQ0Mi00MzhjMTQuOTUxLTI1LjYyOCAyMi01NC4xOSAyMi04NiAwLTk1Ljc2MS03Ni4yMzktMTc0LTE3Mi0xNzR6TTE3NCA4NmM0Ny44ODEgMCA4NiA0MC4xMTkgODYgODhzLTM4LjExOSA4Ni04NiA4NmMtNDcuODgxIDAtODgtMzguMTE5LTg4LTg2czQwLjExOS04OCA4OC04OHpNODUwIDc2NGM0Ny44ODEgMCA4OCAzOC4xMTkgODggODZzLTQwLjExOSA4OC04OCA4OGMtNDcuODgxIDAtODYtNDAuMTE5LTg2LTg4czM4LjExOS04NiA4Ni04NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibGluayIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ0MywKKwkJCQkiaWQiOiAxODEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkyNCwKKwkJCQkibmFtZSI6ICJsaW5rIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTI5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTAgOGMtMjAzLjQyMiAwLTM2Ny43MzUgMTUzLjM0Ny0zNzAgMzQ0aDkyYzIuNTA3LTEzMC42NzcgMTI1LjU2NC0yMzYgMjc4LTIzNnMyNzcuNDUyIDEwNS4zMjMgMjgwIDIzNmg5MmMtMi4yOTItMTkwLjY1My0xNjguNTc4LTM0NC0zNzItMzQ0ek0xNTYgNDE2Yy01Ni4xOSAwLTEwMiA0My44MS0xMDIgMTAwdjQwNmMwIDU2LjE5IDQ1LjgxIDEwMiAxMDIgMTAyaDcxMGM1Ni4xOSAwIDEwMi00NS44MSAxMDItMTAydi00MDZjMC01Ni4xOS00NS44MS0xMDAtMTAyLTEwMGgtNzEwek01MTAgNTg2YzM3Ljg0MiAwIDY4IDMwLjE1OCA2OCA2OCAwIDIwLjkyNC05LjIxNiA0MS40MzItMjQgNTR2MTcwaC05MHYtMTcwYy0xNC43ODQtMTIuNTY4LTI0LTMzLjA3Ni0yNC01NCAwLTM3Ljg0MiAzMi4xNTgtNjggNzAtNjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImxvY2siCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NDQsCisJCQkJImlkIjogMTgwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MjUsCisJCQkJIm5hbWUiOiAibG9jayIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEzMAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODM5LjY4IDc5NC45NDRsLTQ2OS4xMi00NjkuMTIgMzI1LjgyNC0zMjUuODI0aC02OTYuMzg0djY5Ni4zODRsMzI1LjMxMi0zMjUuMzEyIDQ2OS4xMiA0NjkuMTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJImx0QXJyb3ciCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NDUsCisJCQkJImlkIjogMTc5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MjYsCisJCQkJIm5hbWUiOiAibHRBcnJvdyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEzMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyLjA2NCAwYy0yODIuMzY4IDAtNTEyLjA2NCAyMjkuNjMyLTUxMi4wNjQgNTEyIDAgMjgyLjQzMiAyMjkuNjk2IDUxMiA1MTIuMDY0IDUxMiAyODIuMzA0IDAgNTExLjkzNi0yMjkuNjMyIDUxMS45MzYtNTEycy0yMjkuNjMyLTUxMi01MTEuOTM2LTUxMnpNNTEyLjA2NCA5NjBjLTI0Ny4wNDAgMC00NDguMDY0LTIwMS4wMjQtNDQ4LjA2NC00NDggMC0yNDcuMDQwIDIwMS4wMjQtNDQ4IDQ0OC4wNjQtNDQ4IDI0Ni45NzYgMCA0NDcuOTM2IDIwMC45NiA0NDcuOTM2IDQ0OCAwIDI0Ni45NzYtMjAwLjk2IDQ0OC00NDcuOTM2IDQ0OHoiLAorCQkJCQkiTTczNC45NzYgMzcyLjIyNGwyMC42NzItNTUuODA4LTQ5LjQwOC0zMi44OTYtMy44NC01OS4zOTItNTguNTYtOS44NTYtMjcuNTItNTIuNjcyLTU3LjcyOCAxNC43Mi00Ni41OTItMzYuODY0LTQ2LjY1NiAzNi44NjQtNTcuNi0xNC43Mi0yNy41MiA1Mi42NzItNTguNjg4IDkuOTItMy43MTIgNTkuMzkyLTQ5LjUzNiAzMi44MzIgMjAuNjcyIDU1LjgwOC0zMS44MDggNTAuMjQgNDEuNTM2IDQyLjQ5Ni04LjY0IDU4LjgxNiA1NS4yOTYgMjEuODI0IDEzLjk1MiA0OS45Mi04OC42NCAyMzcuNTA0IDkxLjY0OC0yNS4xNTIgNDYuNjU2IDc2LjczNiA5Ny45Mi0yNjIuMjcyIDUuMTItMi41NiAzLjI2NCAxLjYgOTUuNDg4IDI1NS44NzIgNDYuNjU2LTc2LjYwOCA5MS42NDggMjUuMTUyLTg0Ljk5Mi0yMjcuNzc2IDE0LjY1Ni01Mi40MTYgNTUuMjk2LTIxLjgyNC04LjcwNC01OC44MTYgNDEuNi00Mi40OTYtMzEuOTM2LTUwLjI0ek02MjYuMTc2IDUzOC44OGwtMTA1LjAyNCAzOS4xMDRjLTMuMDcyIDAuMjU2LTYuMDE2IDEuMDI0LTkuMTUyIDEuMDI0LTE5Ljk2OCAwLTM4Ljc4NC00LjAzMi01Ni43NjgtOS43MjhsLTIxLjQ0LTguMDY0Yy02My41NTItMjkuNTY4LTEwNy45MDQtOTMuNTY4LTEwNy45MDQtMTY4LjMyIDAtMTAyLjg0OCA4My4zMjgtMTg2LjE3NiAxODYuMTEyLTE4Ni4xNzYgMTAyLjg0OCAwIDE4Ni4xMTIgODMuMzI4IDE4Ni4xMTIgMTg2LjE3NiAwIDU5LjUyLTI4LjQxNiAxMTEuOTM2LTcxLjkzNiAxNDUuOTg0eiIsCisJCQkJCSJNNjY5LjEyIDM5Mi44MzJjMCA4Ni43NzUtNzAuMzQ1IDE1Ny4xMi0xNTcuMTIgMTU3LjEycy0xNTcuMTItNzAuMzQ1LTE1Ny4xMi0xNTcuMTJjMC04Ni43NzUgNzAuMzQ1LTE1Ny4xMiAxNTcuMTItMTU3LjEyczE1Ny4xMiA3MC4zNDUgMTU3LjEyIDE1Ny4xMnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiTWFpbnRhaW4iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NDYsCisJCQkJImlkIjogMTc4LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MjcsCisJCQkJIm5hbWUiOiAiTWFpbnRhaW4iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMzIKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE3Ny44OTggMzIwdjcwNGg3MDR2LTcwNHpNMjczLjQ1NyA1OTkuNzYzaDUxMi44ODN2MzI2LjIzN2gtNTEyLjg4M3oiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibWF4aW1pemUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NDcsCisJCQkJImlkIjogMTc3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MjgsCisJCQkJIm5hbWUiOiAibWF4aW1pemUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMzMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUwOC42MDggOS42Yy0yODIuMzY4IDAtNTEyLjA2NCAyMjkuNjk2LTUxMi4wNjQgNTEyIDAgMjgyLjQzMiAyMjkuNjk2IDUxMiA1MTIuMDY0IDUxMiAyODIuMzA0IDAgNTExLjkzNi0yMjkuNjMyIDUxMi01MTIgMC0yODIuMzY4LTIyOS42MzItNTEyLTUxMi01MTJ6TTUwOC42MDggOTY5LjZjLTI0Ny4wNDAgMC00NDguMDY0LTIwMS4wMjQtNDQ4LjA2NC00NDhzMjAxLjAyNC00NDggNDQ4LjA2NC00NDggNDQ3LjkzNiAyMDEuMDI0IDQ0OCA0NDhjMCAyNDYuOTc2LTIwMC45NiA0NDgtNDQ4IDQ0OHoiLAorCQkJCQkiTTYxMC4wNDggNzA5LjUwNGgtMjAzLjAwOHYzMy44NTZoLTE2OC45NnY2NGg1NDAuOTI4di02NGgtMTY4Ljk2eiIsCisJCQkJCSJNMjA2LjA4MCA2NjYuNjI0aDYwNC45Mjh2LTQyOS4zMTJoLTYwNC45Mjh2NDI5LjMxMnpNNzQ5LjA1NiA2MTcuMDI0aC02OC4wMzJ2LTI4LjAzMmg2OC4wMzJ2MjguMDMyek0yNzAuMDgwIDMwMS4zMTJoNDc2LjkyOHYyNTAuNjg4aC00NzYuOTI4di0yNTAuNjg4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJNb25pdG9yIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDQ4LAorCQkJCSJpZCI6IDE3NiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTI5LAorCQkJCSJuYW1lIjogIk1vbml0b3IiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxMzQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQ5Ny4wMTkgMTBjLTMwLjEzOCAwLTU0IDMwLjM5OC01NCA2OS43Mjh2MzU0LjYxNWwtNjIgMTUuOTM4aC02di0yNDEuMDU4YzAtMzkuMzMtMjMuODYyLTcxLjcyLTU0LTcxLjcycy01NCAzMi4zOS01NCA3MS43MnYzMTYuNzYzbC00NCA2My43NTEtMTAgMTMuOTQ2LTEwMC05OS42MTFjLTI3LjkxOS0yNy44MTEtNzAuOTI5LTI4Ljk1OC05Ni0zLjk4NHMtMjEuOTE5IDY3LjgxNiA2IDk1LjYyNmwyMTIgMjA5LjE4M2MzMS42NzcgMTMwLjUyMiAxNjkuMDI4IDIyOS4xMDUgMzMyIDIyOS4xMDUgMTc1LjQ0IDAgMzE3LjkyOC0xMTUuNjQ2IDMzNC0yNjAuOTgxIDIuNzQ2LTguNDk5IDQtMTYuMDY2IDQtMjUuODk5di00MTQuMzgxYzAtMzkuMzMtMjMuODYyLTcxLjcyLTU0LTcxLjcycy01NiAzMi4zOS01NiA3MS43MnYxNTMuNDAxbC0zNC05Ljk2MS0zMi0xNy45M3YtMzE4Ljc1NWMwLTM5LjMzLTI1Ljg2Mi03MS43Mi01Ni03MS43MnMtNTQgMzIuMzktNTQgNzEuNzJ2Mjg4Ljg3MmwtNDQtMS45OTItMjQtMy45ODR2LTM0Mi42NjFjMC0zOS4zMy0yMy44NjItNjkuNzI4LTU0LTY5LjcyOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkibW92ZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ0OSwKKwkJCQkiaWQiOiAxNzUsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkzMCwKKwkJCQkibmFtZSI6ICJtb3ZlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTM1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zNzAgMHYxMDBoMTMydjMyMmgtMTMydjk4aC0xNzB2NTA0aDgwMHYtODEwbC0xOTQtMjE0aC00MzZ6TTE1MCA1NnYxMzJoLTEzMnYxMjhoMTMydjEzMmgxMjh2LTEzMmgxMzJ2LTEyOGgtMTMydi0xMzJoLTEyOHpNNzA0IDUwNGwyMDQgMjA0LTE5OCAxOTgtMi0xMzJoLTI0NHYtMTU2aDI0MmwtMi0xMTR6TTM1MiA2MTZoNDB2MTU4aC00MHYtMTU4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJuZXdTaG9ydGN1dCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ1MCwKKwkJCQkiaWQiOiAxNzQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkzMSwKKwkJCQkibmFtZSI6ICJuZXdTaG9ydGN1dCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEzNgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODAwIDB2ODJsLTI4NCA2aC0zMnYzOTBoLTM0MnYtODhoMTIwdi0yNjJoLTI2MnYyNjJoNzh2MTU0aDQwNnYzODRoMzE2djk2aDIyNHYtMjI0aC0yMjR2NjRoLTI1MnYtMzIwaDI1MnY4MGgyMjR2LTIyNGgtMjI0djc4aC0yNTJ2LTMyNmwyNTItNnY3OGgyMjR2LTIyNGgtMjI0ek04ODAgODBoNjR2NjRoLTY0di02NHpNODgwIDQ4MGg2NHY2NGgtNjR2LTY0ek04ODAgODgwaDY0djY0aC02NHYtNjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIm9wZW5UcmVlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDUxLAorCQkJCSJpZCI6IDE3MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTMyLAorCQkJCSJuYW1lIjogIm9wZW5UcmVlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTM3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00NDggMHYzMjBoNTc2di0zMjBoLTU3NnpNMCA0NDh2NTc2aDEwMjR2LTU3NmgtMTAyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicG9Ob2RlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDUyLAorCQkJCSJpZCI6IDE3MiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTMzLAorCQkJCSJuYW1lIjogInBvTm9kZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEzOAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjcyIDB2MjAwaDQ4MHYtMjAwaC00ODB6TTk4IDExMmMtNTQuMTIyIDAtOTggNDMuODc4LTk4IDk4djM1OGMwIDU0LjEyMiA0My44NzggOTggOTggOThoODI4YzU0LjEyMiAwIDk4LTQzLjg3OCA5OC05OHYtMzU4YzAtNTQuMTIyLTQzLjg3OC05OC05OC05OGgtMTEwdjE2OGgtNjA4di0xNjhoLTExMHpNMjg0IDcyNHYzMDBoNDg0di0zMDBoLTQ4NHpNMzMwIDc4NmgzNjR2NTJoLTM2NHYtNTJ6TTMzMiA4OTRoMjY0djUwaC0yNjR2LTUweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJwcmludCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ1MywKKwkJCQkiaWQiOiAxNzEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTkzNCwKKwkJCQkibmFtZSI6ICJwcmludCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDEzOQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTg2Ljg2OSAwdjEwMjRoNjQwdi0xMDI0aC02NDB6TTMwNC44NjkgMTM0LjAwM2g0MDR2MTMzLjk5N2gtNDA0di0xMzMuOTk3ek0zMDQuODY5IDUwMi4wMDNoMTg2djY0aC0xODZ2LTY0ek0zMDQuODY5IDczMmgxODZ2NjRoLTE4NnYtNjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInByb2R1Y3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NTQsCisJCQkJImlkIjogMTcwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MzUsCisJCQkJIm5hbWUiOiAicHJvZHVjdCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE0MAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTg0LjMyIDIyOS4wNTZsNDY5LjEyIDQ2OS4xMi0zMjUuODI0IDMyNS44MjRoNjk2LjM4NHYtNjk2LjM4NGwtMzI1LjMxMiAzMjUuMzEyLTQ2OS4xMi00NjkuMTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInJiQXJyb3ciCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NTUsCisJCQkJImlkIjogMTY5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MzYsCisJCQkJIm5hbWUiOiAicmJBcnJvdyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE0MQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTY5LjI1IDMyMHY0NTZoMjAzLjkyNXYyNDhoNTAwLjA3NXYtNDU2aC0yMDMuOTI1di0yNDh6TTIzOS43NTIgNTAwaDM2Mi4zNXY2OGgtMjI4LjkyOHYxMTBoLTEzMy40MjJ6TTQ0My42NzcgNzQ2aDM2MC43MXYxNzhoLTM2MC43MXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicmVkdWN0aW9uIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDU2LAorCQkJCSJpZCI6IDE2OCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTM3LAorCQkJCSJuYW1lIjogInJlZHVjdGlvbiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE0MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTYgMGMtMzEuMTE5IDAtNTYgMjQuODgxLTU2IDU2djYxOGMwIDMxLjExOSAyNC44ODEgNTYgNTYgNTYgMCAwIDIyNi43OCA0LjUxNiAyNjAuNjQ4IDB2LTE3NmMwLTM0LjE4MyAyNy44MTctNjIgNjItNjJoODcuMzUybC0zNi05MmgtMTY0bC0zNCA5NGgtODhsMTYwLTQxOGg4OGwxNjYgNDE2aDUyLjg5OWMzNC4xODMgMCA2MiAyNy44MTcgNjIgNjJ2NzJoNTcuMTAxdi01NzBjMC0zMS4xMTktMjQuODgxLTU2LTU2LTU2ek0zNDggMTcybC01NiAxNTZoMTEyek00MTQgNTU2djMyMi45OWg0MTJ2MTQzLjM0M2wyMDItMjA5LjM0My0yMDItMjI0Ljg0N3YxNDQuODQ3aC0yNjZ2LTE3Ni45OXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkicmVuYW1lIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDU3LAorCQkJCSJpZCI6IDE2NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTM4LAorCQkJCSJuYW1lIjogInJlbmFtZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE0MworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCAwbDQ4NiAxMDI0IDk2LTM5NiA0NDItMTQyLTEwMjQtNDg2ek0xNTYgMTY4bDY2NiAzMDQtMzA4IDgyLTYwIDIzNC0yOTgtNjIweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJzZWxlY3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NTgsCisJCQkJImlkIjogMTY2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5MzksCisJCQkJIm5hbWUiOiAic2VsZWN0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTQ0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk02OCAwYy0zOC4xNDUgMC02OCAzMS4wNjktNjggNzB2NTJjMCAzOC45MzEgMjkuODU1IDcwIDY4IDcwaDg4OGMzOC4xNDUgMCA2OC0zMS4wNjkgNjgtNzB2LTUyYzAtMzguOTMxLTI5Ljg1NS03MC02OC03MGgtODg4ek02OCAyNjhjLTM4LjE0NSAwLTY4IDI5Ljg1NS02OCA2OHY2MjBjMCAzOC4xNDUgMjkuODU1IDY4IDY4IDY4aDg4OGMzOC4xNDUgMCA2OC0yOS44NTUgNjgtNjh2LTYyMGMwLTM4LjE0NS0yOS44NTUtNjgtNjgtNjhoLTg4OHpNODEwIDM4OGwxMjQgMTAtNDYwIDUyOC0zMjAtMjY0IDE0NC0xMjQgMTU0IDIyMiAzNTgtMzcyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJzZWxlY3RBbGwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NTksCisJCQkJImlkIjogMTY1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NDAsCisJCQkJIm5hbWUiOiAic2VsZWN0QWxsIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTQ1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zNTQgMmwtMzUyIDI2NCAzNTIgMjY2di0xNDBoNDM0djI3OGgtMjM0di02NGgtMjA0djIwNGgyMDR2LTc2aDEwNHYxODhoLTQ1NHYtOThoLTIwNHYyMDRoMjA0di00Mmg1MTh2LTI1MmgxMzB2LTM0MmgxNzJ2LTI1MmgtNjcwdi0xMzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInNlbGVjdExlZnQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NjAsCisJCQkJImlkIjogMTY0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NDEsCisJCQkJIm5hbWUiOiAic2VsZWN0TGVmdCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE0NgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjcwIDJsMzUyIDI2NC0zNTIgMjY2di0xNDBoLTQzNHYyNzhoMjM0di02NGgyMDR2MjA0aC0yMDR2LTc2aC0xMDR2MTg4aDQ1NHYtOThoMjA0djIwNGgtMjA0di00MmgtNTE4di0yNTJoLTEzMHYtMzQyaC0xNzJ2LTI1Mmg2NzB2LTEzOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkic2VsZWN0UmlnaHQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NjEsCisJCQkJImlkIjogMTYzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NDIsCisJCQkJIm5hbWUiOiAic2VsZWN0UmlnaHQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNDcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTAgMHYzNTZoNDg2bC0zNTIgMzQ4aDIzNHYyNTBoLTM2OHY3MGgxMDI0di03MGgtMzY4di0yNTBoMjM0bC0zNzQtMzQ4aDUwOHYtMzU2aC0xMDI0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJzaG93IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDYyLAorCQkJCSJpZCI6IDE2MiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTQzLAorCQkJCSJuYW1lIjogInNob3ciCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNDgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxMiAyMzcuNjgybC01MTIgNzg2LjMxOGgxMDI0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJzaHJpbmsiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NjMsCisJCQkJImlkIjogMTYxLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NDQsCisJCQkJIm5hbWUiOiAic2hyaW5rIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTQ5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTQgMGMtODUuMzUyIDAtMTU0IDY4LjY0OC0xNTQgMTU0djcxNmMwIDg1LjM1MiA2OC42NDggMTU0IDE1NCAxNTRoNzE2Yzg1LjM1MiAwIDE1NC02OC42NDggMTU0LTE1NHYtNzE2YzAtODUuMzUyLTY4LjY0OC0xNTQtMTU0LTE1NGgtNzE2ek0xOTAgMTI4aDY0NGMzNC4xODMgMCA2MiAyNy44MTcgNjIgNjJ2NjQ0YzAgMzQuMTgzLTI3LjgxNyA2Mi02MiA2MmgtNjQ0Yy0zNC4xODMgMC02Mi0yNy44MTctNjItNjJ2LTY0NGMwLTM0LjE4MyAyNy44MTctNjIgNjItNjJ6TTI3MiAyMDJ2NjIwbDUxOC0zMTAtNTE4LTMxMHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkic3RhcnQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NjQsCisJCQkJImlkIjogMTYwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NDUsCisJCQkJIm5hbWUiOiAic3RhcnQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNTAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE1NCAwYy04NS4zNTIgMC0xNTQgNjguNjQ4LTE1NCAxNTR2NzE2YzAgODUuMzUyIDY4LjY0OCAxNTQgMTU0IDE1NGg3MTZjODUuMzUyIDAgMTU0LTY4LjY0OCAxNTQtMTU0di03MTZjMC04NS4zNTItNjguNjQ4LTE1NC0xNTQtMTU0aC03MTZ6TTE5MCAxMjhoNjQ0YzM0LjE4MyAwIDYyIDI3LjgxNyA2MiA2MnY2NDRjMCAzNC4xODMtMjcuODE3IDYyLTYyIDYyaC02NDRjLTM0LjE4MyAwLTYyLTI3LjgxNy02Mi02MnYtNjQ0YzAtMzQuMTgzIDI3LjgxNy02MiA2Mi02MnpNMjk2IDI5NnY0MzJoNDMydi00MzJoLTQzMnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkic3RvcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ2NSwKKwkJCQkiaWQiOiAxNTksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk0NiwKKwkJCQkibmFtZSI6ICJzdG9wIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTUxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgMTAyNGwtNTEyLTc4Ni4zMThoMTAyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkic3RyZXRjaCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ2NiwKKwkJCQkiaWQiOiAxNTgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk0NywKKwkJCQkibmFtZSI6ICJzdHJldGNoIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTUyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xOTQgMGMtMTA3LjA2OCAwLTE5NCA4Mi40MTItMTk0IDE4NHY2NTZjMCAxMDEuNTg4IDg2LjkzMiAxODQgMTk0IDE4NGg2MzZjMTA3LjA2OCAwIDE5NC04Mi40MTIgMTk0LTE4NHYtNjU2YzAtMTAxLjU4OC04Ni45MzItMTg0LTE5NC0xODRoLTYzNnpNMjU2IDE2NmwyNTQgMjU0IDI1NC0yNTQgOTIgOTAtMjU2IDI1NCAyNTggMjU4LTkwIDkwLTI1OC0yNTgtMjU4IDI1OC05MC05MCAyNTgtMjU4LTI1NC0yNTQgOTAtOTB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInN0cmlrZU91dCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ2NywKKwkJCQkiaWQiOiAxNTcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk0OCwKKwkJCQkibmFtZSI6ICJzdHJpa2VPdXQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNTMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQ5NC41OTEgMC4yNWMtMTA0LjUxNCAzLjI2NC0yMDguNzYyIDQwLjM2NS0yOTYuNTYgMTA4LjQxIDU0Ljk2MyAxNC40MzIgMTA0Ljg0NiA0NS43MjIgMTQyLjAxNSA5MS43MzEgMjYuMTgzIDMyLjQxNiA0My4yOTMgNjkuNDM0IDUyLjIxMSAxMDguNDEgNy40NzEtNC40MTYgMTUuMTgyLTYuOTMxIDIyLjk3My0xMC40MTkgOTIuMjI4LTQxLjMzMSAyMDIuOTAzLTIxLjQwMiAyNzMuNTg3IDU4LjM3NCAyLjMgMi42MjQgNC4wOTkgNS42OTYgNi4yNjYgOC4zMzkgMzguNTM5LTEwLjUyOCA3NS4xMzQtMjguNTg5IDEwNi41MTEtNTYuMjk0IDQ0LjYwMi0zOS4zNzkgNzIuMDE1LTkwLjM1NSA4My41MzgtMTQ1LjkzOS0xMDQuNjg0LTExMC44NDItMjQ4LjA2Ny0xNjcuMDg1LTM5MC41NC0xNjIuNjExek0xMjkuMTEyIDE3MS4yYy0xNTQuNjU2IDE3My4yOTktMTcxLjc0IDQzMC41MTUtNDMuODU3IDYyMy4zNjYgMTQuOTM0LTQyLjUzNCAzNy45Mi04MS41MjMgNzMuMDk2LTExMi41NzYgNDAuODIxLTM2LjA2NCA5MC4yNjEtNTUuNTMzIDE0Mi4wMTUtNjIuNTQ3LTM5LjI1MS03OC41NDctMzIuODUxLTE3NC40MzggMTguNzk2LTI0Ni4wMTAtOC41MjctNDAuOTc5LTI0Ljg1NS04MC44MTMtNTIuMjExLTExNC42NjktMzUuOTQyLTQ0LjQ5OS04NC44NTMtNzMuMDE4LTEzNy44MzgtODcuNTY1ek05NDUuNjk2IDI0Mi4wODZjLTEyLjcxNCA1Mi4xOTItMzkuMzMzIDEwMC40MS04MS40NSAxMzcuNi0zNy4wMTIgMzIuNjc4LTgxLjM1NCA1MS43ODktMTI3LjM5NiA2MC40NjEgMjYuMDE1IDc5LjAyNyA2LjczNiAxNjcuNDE4LTUyLjIxMSAyMzEuNDExIDE5LjQyOCAzMS43NSA0NC41MjkgNTkuNjc0IDc3LjI3MyA4MS4zMTIgNTMuNTY5IDM1LjQwNSAxMTUuOTQ1IDQ4LjAzMiAxNzcuNTE4IDQxLjY5NiAxMDkuNzI4LTE2NS4zNTcgMTEzLjU4My0zODIuMDYxIDYuMjY2LTU1Mi40OHpNMzU2Ljc1MyA2OTAuMzNjLTQ5LjU5OSA3LjI5LTk2LjIxNiAyNy42MzUtMTM1Ljc0OSA2Mi41NDEtMzcuMDM3IDMyLjY5OC02MC45NTYgNzMuNzQ3LTc1LjE4NCAxMTguODM1IDE4OS43NTEgMTkzLjM3NiA1MDAuNDQ3IDIwNC4zMzMgNzA1Ljg5NyAyMi45MzggNy4yLTYuMzM2IDE0LjEyOC0xMi4xMDkgMjAuODg1LTE4Ljc3MS01Ni43MTEgMy4xMzYtMTEzLjUyNi0xMS4xNDktMTYyLjg5OS00My43NzYtNDEuNDQ1LTI3LjM5OC03MS43MTUtNjUuNjQ1LTkxLjg5Mi0xMDguNDEtODQuODY2IDQyLjcyLTE4OC4xMTQgMzAuMDk5LTI2MS4wNTYtMzMuMzU3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJTeW5jaHJvbm91cyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ2OCwKKwkJCQkiaWQiOiAxNTYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk0OSwKKwkJCQkibmFtZSI6ICJTeW5jaHJvbm91cyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE1NAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTE3LjMxMiA1MS42NDhjLTI2MS41MDQgMC00NzQuMjQgMjEyLjczNi00NzQuMjQgNDc0LjI0czIxMi43MzYgNDc0LjI0IDQ3NC4yNCA0NzQuMjRjMjYxLjQ0IDAgNDc0LjE3Ni0yMTIuNzM2IDQ3NC4xNzYtNDc0LjI0cy0yMTIuNzM2LTQ3NC4yNC00NzQuMTc2LTQ3NC4yNHpNNTE3LjMxMiA5MzYuMTI4Yy0yMjYuMjQgMC00MTAuMjQtMTg0LjA2NC00MTAuMjQtNDEwLjI0IDAtMjI2LjI0IDE4NC00MTAuMjQgNDEwLjI0LTQxMC4yNCAyMjYuMTc2IDAgNDEwLjE3NiAxODQgNDEwLjE3NiA0MTAuMjQgMCAyMjYuMTc2LTE4NCA0MTAuMjQtNDEwLjE3NiA0MTAuMjR6IiwKKwkJCQkJIk00OTguNjI0IDE5Ni4yODhsLTQ1LjMxMiA0NS4yNDggMjQ1LjYzMiAyNDUuNjMyaC00NDUuMTg0djY0aDQ1Ny41MzZsLTI0NC4xNiAyNDQuMjI0IDQ1LjI0OCA0NS4yNDggMzE1LjI2NC0zMTUuMzI4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ0b1JpZ2h0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDY5LAorCQkJCSJpZCI6IDE1NSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTUwLAorCQkJCSJuYW1lIjogInRvUmlnaHQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNTUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE3MiAwYy05NS40OCAwLTE3MiA3Ni41Mi0xNzIgMTcydjY4MGMwIDk1LjQ4IDc2LjUyIDE3MiAxNzIgMTcyaDY4MGM5NS40OCAwIDE3Mi03Ni41MiAxNzItMTcydi02ODBjMC05NS40OC03Ni41Mi0xNzItMTcyLTE3MmgtNjgwek0yNDQgMTc4aDQzMmwxMDQgMTMydjUzNmgtNTM2di02Njh6TTMyNiAzMDZ2NzhoMjAwdi03OGgtMjAwek0zMjggNDc4djc2aDM3NHYtNzZoLTM3NHpNMzIwIDY0OHY3OGgzODR2LTc4aC0zODR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInRyZWVmaWxlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDcwLAorCQkJCSJpZCI6IDE1NCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTUxLAorCQkJCSJuYW1lIjogInRyZWVmaWxlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTU2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNzIgMGMtOTUuNDggMC0xNzIgNzYuNTItMTcyIDE3MnY2ODBjMCA5NS40OCA3Ni41MiAxNzIgMTcyIDE3Mmg2ODBjOTUuNDggMCAxNzItNzYuNTIgMTcyLTE3MnYtNjgwYzAtOTUuNDgtNzYuNTItMTcyLTE3Mi0xNzJ6TTIzOC43MTIgMjQxLjcyOWgyMDYuOTQ5YzI3Ljg0OCAwIDUwLjc4NyAyMS44OTcgNTAgNDh2MTQ0aDMxNmMyOC43NTEgMCA1MiAyMy4yNDkgNTIgNTJ2MjY2LjIzN2MwIDI4Ljc1MS0yMy4yNDkgNTItNTIgNTJoLTU2OC45NDljLTI4Ljc1MSAwLTUxLjA5OC0yMy4yNjMtNTItNTJ2LTQ2Mi4yMzdjMC0yNi4xMTUgMjAuMTUyLTQ4IDQ4LTQ4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ0cmVlRm9sZGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDcxLAorCQkJCSJpZCI6IDE1MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5OTUyLAorCQkJCSJuYW1lIjogInRyZWVGb2xkZXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNTcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxMCA4Yy0yMDIuNzE3IDAtMzY2LjYyNiAxNTIuMjY2LTM3MCAzNDItMC4wMTIgMC42NTkgMC4wMDggMS4zNCAwIDJ2NjZjLTQ4LjM2NCA3LjYxOS04NiA0Ny40NDMtODYgOTh2NDA2YzAgNTYuMTkgNDUuODEgMTAyIDEwMiAxMDJoNzEwYzU2LjE5IDAgMTAyLTQ1LjgxIDEwMi0xMDJ2LTQwNmMwLTU2LjE5LTQ1LjgxLTEwMC0xMDItMTAwaC02MzR2LTY2YzMuNzIyLTEyOS43NDYgMTI2LjM0Ni0yMzQgMjc4LTIzNCAxMjUuMjM2IDAgMjMwLjk2MSA3MS4zMzIgMjY2LjQwMyAxNjkuMTg0IDkuNzg4IDkuOTY1IDE4Ljg4IDE5LjkxNiAzMC44OTQgMjIuODI5IDEyLjcxNiAzLjA4NCA0MS44OTUgNC4xNiA1My41NTgtNi4xNDUgNy42NjMtNi43NyAxMy40NzYtMTUuNzEgMTEuNjI4LTIyLjQ4MS0zNy4yMDYtMTU1LjY3Ny0xODUuNTIzLTI3MS4zODctMzYyLjQ4Mi0yNzEuMzg3ek01MTAgNTg2YzM3Ljg0MiAwIDY4IDMwLjE1OCA2OCA2OCAwIDIwLjkyNC05LjIxNiA0MS40MzItMjQgNTR2MTcwaC05MHYtMTcwYy0xNC43ODQtMTIuNTY4LTI0LTMzLjA3Ni0yNC01NCAwLTM3Ljg0MiAzMi4xNTgtNjggNzAtNjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInVubG9jayIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ3MiwKKwkJCQkiaWQiOiAxNTIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk1MywKKwkJCQkibmFtZSI6ICJ1bmxvY2siCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNTgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQzMC4wNTEgMS44MzdjLTExMy43NDggMC0yMDQgOTIuMjUtMjA0IDIwNi4wMDMgMCAxMTMuNzQ3IDkwLjI1MiAyMDUuOTk3IDIwNCAyMDUuOTk3czIwNi05Mi4yNSAyMDYtMjA1Ljk5N2MwLTExMy43NTQtOTIuMjUyLTIwNi4wMDMtMjA2LTIwNi4wMDN6TTI2MC4wNTEgNDIzLjg0Yy0yOTMuNDUxIDE2NC43MS0yNTYuOTIxIDQ0Ny43NjMtMjYwIDQzNy45OTdoMzc4YzI0LjYzMS00Mi42NjIgNjIuNjI5LTg2LjQzMiAxMjYtMTIxLjk5N2wxMi0zOC4wMDN2LTEuOTg0Yy0wLjYwMi0wLjcwNC0xLjQxMS0xLjI4LTItMS45ODQtMTYuOTA5LTIwLjkyOC0yOC42MjktNTEuODE0LTMwLTk3Ljk5NyAwLTYyLjMzNiA0Mi41MzktMTE1LjIxOSAxMDAtMTMwLjAwM2w0LTEuOTg0di0xLjk4NGwxNC00MS45OTdjLTM3LjAxMiA0Ny4xMDQtMTAwLjkwNyA4MC0xNzIgODBzLTEzMi45ODgtMzIuODk2LTE3MC04MHpNNjg4LjA1MSA0NjcuODRjLTczLjY5MiAwLTEzNCA1OC4zMDQtMTM0IDEzMiAwIDczLjY5IDYwLjMwOCAxMzMuOTk3IDEzNCAxMzMuOTk3czEzMi02MC4zMDcgMTMyLTEzMy45OTdjMC03My42OTYtNTguMzA4LTEzMi0xMzItMTMyek01NzYuMDUxIDczOS44NGMtMTkwLjExMiAxMDYuNzA3LTE2Ni4wMDUgMjkwLjMyMy0xNjggMjg0aDU1OGMtMS45OTQgNi4zMzYgMjIuMTEyLTE3Ny4yOTMtMTY4LTI4NC0yMy45NzggMzAuNTE1LTYzLjk0MyA1Mi0xMTAgNTJzLTg4LjAyMi0yMS40ODUtMTEyLTUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ1c2VyQ29tcGFyZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ3MywKKwkJCQkiaWQiOiAxNTEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk1NCwKKwkJCQkibmFtZSI6ICJ1c2VyQ29tcGFyZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE1OQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTEzNS4yNTYgMC0yNDMuOTI3IDEwOC44ODMtMjQzLjkyNyAyNDQuNDAzIDAgMTM1LjUyNiAxMDguNjcxIDI0Ni40MTMgMjQzLjkyNyAyNDYuNDEzczI0My45MjctMTEwLjg4NiAyNDMuOTI3LTI0Ni40MTNjMC0xMzUuNTItMTA4LjY3MS0yNDQuNDAzLTI0My45MjctMjQ0LjQwM3pNMzA4LjA2MSA1MDIuODQyYy0zNDguOTM4IDE5Ni4yMzctMzA0LjI0NyA1MzIuNDkzLTMwNy45MDcgNTIwLjg2NGgxMDIzLjY5MmMtMy42NiAxMS42MjkgNDEuMDMwLTMyNC42MjctMzA3LjkwNy01MjAuODY0LTQ0LjAxMSA1Ni4xMTUtMTE5LjQwMyA5NC4xNS0yMDMuOTM5IDk0LjE1LTUwLjM0MSAwLTk2Ljc5OS0xNS4zMDItMTM1Ljk1OS0zOC4wNjEgMTAwLjI3NSA3Ny4xNzEgMjEyLjM1OSAxMTAuNDk2IDMzMS45IDExOC4xOTVsMy45OTktMTUyLjI1NiAyMzUuOTI5IDIwOC4zNDYtMjEzLjkzNiAyNDIuNDA2LTExLjk5Ni0xMzguMjM0Yy0xNjYuNjcxLTUwLjIwMi00MDAuOTQ1LTE0OC40OC00MTMuODc2LTMzNC41NDd6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInVzZXJEaXNwYXRjaCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ3NCwKKwkJCQkiaWQiOiAxNTAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk1NSwKKwkJCQkibmFtZSI6ICJ1c2VyRGlzcGF0Y2giCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNjAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEzMCAwYy03MS44NzcgMC0xMzAgNTguMTIzLTEzMCAxMzB2NzY0YzAgNzEuODc3IDU4LjEyMyAxMzAgMTMwIDEzMGg3NjRjNzEuODc3IDAgMTMwLTU4LjEyMyAxMzAtMTMwdi01MDZsLTM4OC0zODhoLTUwNnpNNzcyIDBsMjUyIDI1MnYtMTIyYzAtNzEuODc3LTU4LjEyMy0xMzAtMTMwLTEzMGgtMTIyek01NiAzNTJoNzZsNjQgMTAyIDYyLTEwMmg3NmwtMTAwIDE1NiAxMTAgMTY0aC03OGwtNzItMTEwLTcwIDExMGgtNzhsMTEwLTE2OC0xMDAtMTUyek0zNzYgMzUyaDk4bDU4IDIxOCA1OC0yMThoOTZ2MzIwaC02MHYtMjUybC02NCAyNTJoLTYybC02NC0yNTJ2MjUyaC02MHYtMzIwek03NTIgMzU0aDY2djI2NGgxNjB2NTRoLTIyNnYtMzE4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ4bWwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NzUsCisJCQkJImlkIjogMTQ5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NTYsCisJCQkJIm5hbWUiOiAieG1sIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTYxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0wIDB2MTcybDE3Mi0xNzJoLTE3MnpNODUyIDBsMTcyIDE3MnYtMTcyaC0xNzJ6TTEyOCAxMjh2NzY4aDc2OHYtNzY4aC03Njh6TTIzNCAyNTRoNTU2djI3MmwtNDItNTYtNzIgODYtNjYtMTk0LTExNCAyMzAtMTA0LTEyMi0xNTggMTYydi0zNzh6TTAgODUydjE3MmgxNzJsLTE3Mi0xNzJ6TTEwMjQgODUybC0xNzIgMTcyaDE3MnYtMTcyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJ6b29tT3ZlclZpZXciCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NzYsCisJCQkJImlkIjogMTQ4LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk5NTcsCisJCQkJIm5hbWUiOiAiem9vbU92ZXJWaWV3IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTYyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zODggMGwxMTQgMTI4IDExNC0xMjhoLTIyOHpNNTAyIDEyOGgtMzc0djc2OGg3Njh2LTc2OGgtMzk0ek04OTYgNDcwbDEyOCAxMTR2LTIyOGwtMTI4IDExNHpNNTEyIDg5NmwtMTE0IDEyOGgyMjZsLTExMi0xMjh6TTEyOCA0NzJsLTEyOC0xMTJ2MjI2bDEyOC0xMTR6TTIzNCAyNTRoNTU2djI3MmwtNDItNTYtNzIgODYtNjYtMTk0LTExNCAyMzAtMTA0LTEyMi0xNTggMTYydi0zNzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJInpvb21SZXNldCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ3NywKKwkJCQkiaWQiOiAxNDcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTk1OCwKKwkJCQkibmFtZSI6ICJ6b29tUmVzZXQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNjMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQ4Ni4wODAgNzUyLjY0di00MTIuMzUyaC00OC42NHYxNjkuMzQ0aC0xOTEuMTY4di0xNjkuMzQ0aC00OC42NHY0MTIuMzUyaDQ4LjY0di0xOTQuMzY4aDE5MS4xNjh2MTk0LjM2OHoiLAorCQkJCQkiTTgyOC4wMzIgNTc3LjUzNmMtMTAuMjQtMTcuMDI0LTI2LjA0OC0zMC45NzYtNDcuNDI0LTQyLjA0OC0xNC43Mi03LjQ4OC00MS44NTYtMTYuMjU2LTgxLjQwOC0yNi4zMDQtMzkuNDg4LTkuOTg0LTY0LTE5Ljg0LTczLjM0NC0yOS4zNzYtOS41MzYtOS41MzYtMTQuMjcyLTIxLjc2LTE0LjI3Mi0zNi41NDQgMC0xNy4wODggNi42NTYtMzEuNjE2IDIwLjE2LTQzLjc3NiAxMy40NC0xMi4wMzIgMzQuODgtMTguMTEyIDY0LjMyLTE4LjExMiAyOC4yODggMCA0OS42IDYuNjU2IDY0LjEyOCAxOS45NjggMTQuNDY0IDEzLjMxMiAyMi45MTIgMzMuMDI0IDI1LjQwOCA1OS4wNzJsNDYuNjU2LTMuOTY4Yy0wLjg5Ni0yNC4xOTItNi44NDgtNDUuODI0LTE4LjA0OC02NC45NnMtMjcuMjY0LTMzLjYtNDguMDY0LTQzLjQ1NmMtMjAuOC05Ljg1Ni00NC44NjQtMTQuNzg0LTcyLjEyOC0xNC43ODQtMjQuNzY4IDAtNDcuMjMyIDQuNjcyLTY3LjUyIDE0LjA4MC0yMC4wOTYgOS40MDgtMzUuNTIgMjMuMTY4LTQ2LjA4MCA0MS4yMTZzLTE1LjgwOCAzNy41NjgtMTUuODA4IDU4LjM2OGMwIDE4Ljk0NCA0LjI4OCAzNi4wMzIgMTIuOTI4IDUxLjMyOHMyMS42OTYgMjguMDMyIDM5LjIzMiAzOC40YzEzLjU2OCA4LjA2NCAzNy4xODQgMTYuNjQgNzAuOTc2IDI1LjcyOCAzMy43MjggOS4wODggNTUuNjE2IDE1LjgwOCA2NS40MDggMjAuMDk2IDE1LjQyNCA2LjU5MiAyNi40MzIgMTQuNjU2IDMzLjE1MiAyNC4zMiA2LjY1NiA5LjYgMTAuMDQ4IDIwLjkyOCAxMC4wNDggMzMuODU2IDAgMTIuNzM2LTMuNTIgMjQuNTEyLTEwLjQzMiAzNS4zMjgtNi45MTIgMTAuNzUyLTE3LjQ3MiAxOS4yNjQtMzEuNjggMjUuNDA4LTE0LjI3MiA2LjIwOC0zMC42NTYgOS4zNDQtNDkuMjE2IDkuMzQ0LTIwLjkyOCAwLTM5Ljc0NC00LjA5Ni01Ni40NDgtMTIuMjI0LTE2Ljc2OC04LjE5Mi0yOS4wNTYtMTguODgtMzYuOTkyLTMyLjA2NC03LjgwOC0xMy4yNDgtMTIuOTI4LTMwLjE0NC0xNS4xMDQtNTAuODE2bC00NS45NTIgNC40OGMwLjcwNCAyNy42NDggNy40MjQgNTIuMjg4IDIwLjE2IDc0LjExMiAxMi44IDIxLjg4OCAzMC40NjQgMzguMjcyIDUyLjkyOCA0OS4xNTIgMjIuNTI4IDEwLjgxNiA1MC4zNjggMTYuMjU2IDgzLjcxMiAxNi4yNTYgMjYuMjQgMCA0OS44NTYtNS4zNzYgNzAuODQ4LTE2LjEyOCAyMC45OTItMTAuODE2IDM3LjA1Ni0yNS44NTYgNDguMzItNDUuMzEyIDExLjItMTkuMzkyIDE2Ljc2OC00MC4wNjQgMTYuNzY4LTYyLjAxNiAwLjA2NC0yMi4wODAtNC45OTItNDEuNjY0LTE1LjIzMi01OC42MjR6IiwKKwkJCQkJIk00ODggODI4LjczNmgzNTJ2NDkuMjhoLTM1MnYtNDkuMjh6IiwKKwkJCQkJIk0wIDBoMjQxLjk4NHYxNzZoLTI0MS45ODR2LTE3NnoiLAorCQkJCQkiTTMwLjAxNiA3MDIuMDE2djE3NmgzNTMuOTg0di00OS4yOGgtMjY4LjE2di0xMjYuNzJ6IiwKKwkJCQkJIk0wIDQ2Mi4wMTZoMTE1Ljg0djE3Ny45ODRoLTExNS44NHYtMTc3Ljk4NHoiLAorCQkJCQkiTTM4NCAyMzJoLTM1My45ODR2MTc2aDg1LjgyNHYtMTI5LjE1MmgyNjguMTZ6IiwKKwkJCQkJIk00ODggMjMyaDM1MnY0Ni44NDhoLTM1MnYtNDYuODQ4eiIsCisJCQkJCSJNMzQ1Ljk4NCAwaDM1MnYxNzZoLTM1MnYtMTc2eiIsCisJCQkJCSJNOTQyLjAxNiAyMzJoODEuOTg0djE3NmgtODEuOTg0di0xNzZ6IiwKKwkJCQkJIk04MDAgMGgyMjR2MTc2aC0yMjR2LTE3NnoiLAorCQkJCQkiTTkwOC4xNiA0NjIuMDE2aDExNS44NHYxNzcuOTg0aC0xMTUuODR2LTE3Ny45ODR6IiwKKwkJCQkJIk05NDIuMDE2IDcwMi4wMTZoODEuOTg0djE3NmgtODEuOTg0di0xNzZ6IiwKKwkJCQkJIk0zNDUuOTg0IDkzNC4wMTZoMzUydjg5Ljk4NGgtMzUydi04OS45ODR6IiwKKwkJCQkJIk04MDAgOTM0LjAxNmgyMjR2ODkuOTg0aC0yMjR2LTg5Ljk4NHoiLAorCQkJCQkiTTAgOTM0LjAxNmgyNDEuOTg0djg5Ljk4NGgtMjQxLjk4NHYtODkuOTg0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1maXJld2FsbC1oaWxsc3RvbmUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0NzgsCisJCQkJImlkIjogMTQ2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NDgsCisJCQkJIm5hbWUiOiAiaXQtZmlyZXdhbGwtaGlsbHN0b25lIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTY0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04OTcuNzkyIDk2Ljc2OGMwIDU0LjIyMS00My45NTUgOTguMTc2LTk4LjE3NiA5OC4xNzZzLTk4LjE3Ni00My45NTUtOTguMTc2LTk4LjE3NmMwLTU0LjIyMSA0My45NTUtOTguMTc2IDk4LjE3Ni05OC4xNzZzOTguMTc2IDQzLjk1NSA5OC4xNzYgOTguMTc2eiIsCisJCQkJCSJNMTk2LjQxNiA1MTEuMzZjMCA1NC4yNTYtNDMuOTg0IDk4LjI0LTk4LjI0IDk4LjI0cy05OC4yNC00My45ODQtOTguMjQtOTguMjRjMC01NC4yNTYgNDMuOTg0LTk4LjI0IDk4LjI0LTk4LjI0czk4LjI0IDQzLjk4NCA5OC4yNCA5OC4yNHoiLAorCQkJCQkiTTg5OS40NTYgOTI1Ljg4OGMwIDU0LjE4Ni00My45MjYgOTguMTEyLTk4LjExMiA5OC4xMTJzLTk4LjExMi00My45MjYtOTguMTEyLTk4LjExMmMwLTU0LjE4NiA0My45MjYtOTguMTEyIDk4LjExMi05OC4xMTJzOTguMTEyIDQzLjkyNiA5OC4xMTIgOTguMTEyeiIsCisJCQkJCSJNNTY0LjczNiAyNzIuMTI4YzExNy4zMTIgMCAyMTMuNjk2IDg1Ljg4OCAyMzIgMTk4LjA4MGgxOTMuMjhjLTguNTEyLTk3LjYtNTEuMjY0LTE4NS4yMTYtMTE1LjkwNC0yNTEuNTItMjIuNzIgMTQuNDY0LTQ5LjYgMjMuMTY4LTc4Ljc4NCAyMy4xNjgtNzkuNDI0IDAtMTQzLjYxNi02Mi45MTItMTQ2Ljk0NC0xNDEuNjk2LTIyLjI3Mi0zLjcxMi00NS4xMi01Ljk1Mi02OC42MDgtNS45NTItNjYuNjg4IDAtMTI5LjQ3MiAxNi4xMjgtMTg1LjI4IDQ0LjM1Mmw4OC4xOTIgMTQ5LjA1NmMyNS42NjQtOS42IDUyLjk5Mi0xNS40ODggODIuMDQ4LTE1LjQ4OHoiLAorCQkJCQkiTTMyOC45NiA1MDguMDMyYzAtNzEuNzQ0IDMyLjY0LTEzNS4xNjggODMuMTM2LTE3OC40OTZsLTg2LjkxMi0xNDYuNjg4Yy02NS43MjggNTEuNzc2LTExNC43NTIgMTIzLjMyOC0xMzkuMzkyIDIwNS40NCAzNy43NiAyNi43NTIgNjIuNjU2IDcwLjY1NiA2Mi42NTYgMTIwLjM4NCAwIDQ5LjI4LTI0LjM4NCA5Mi41NDQtNjEuMzc2IDExOS40MjQgMjUuODU2IDgyLjk0NCA3Ni43MzYgMTU0Ljk0NCAxNDQuNTEyIDIwNi4yMDhsODcuNDI0LTE0Mi40NjRjLTU0LjU5Mi00My4wNzItOTAuMDQ4LTEwOS4xMi05MC4wNDgtMTgzLjgwOHoiLAorCQkJCQkiTTU2NC44IDc0My43NDRjLTI1Ljc5MiAwLTUwLjE3Ni01LjA1Ni03My40MDgtMTIuNjcybC04OS43MjggMTQ2LjQzMmM1My45NTIgMjUuODU2IDExNC4yNCA0MC44OTYgMTc4LjE3NiA0MC44OTYgMjYuMDQ4IDAgNTEuNjQ4LTIuNTYgNzYuNDgtNy4xNjggMC4wNjQtNzQuNjI0IDYwLjQ4LTEzNC45MTIgMTM1LjEwNC0xMzQuOTEyIDI4LjIyNCAwIDU0LjUyOCA5LjAyNCA3Ni4zNTIgMjMuOTM2IDY1Ljk4NC02NC44MzIgMTEwLjUyOC0xNTEuMDQwIDEyMS4yOC0yNDcuNjhoLTE5My4wMjRjLTIwLjczNiAxMDguNjcyLTExNi4xNiAxOTEuMTY4LTIzMS4yMzIgMTkxLjE2OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2VydmVyLXVidW50dSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ3OSwKKwkJCQkiaWQiOiAxNDUsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY0OSwKKwkJCQkibmFtZSI6ICJpdC1zZXJ2ZXItdWJ1bnR1IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTY1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yNzUuMDA4IDEyLjAzMmgtMjc1LjAwOHY3NC42MjRoMTAwLjIyNGwtMC4wNjQgMzY5LjcyOGg3NC42MjRsMC4wNjQtMzY5LjcyOGgxMDAuMTZ6IiwKKwkJCQkJIk01NzYuNzA0IDE1OC4yNzJsLTAuNjQtNDIuMzY4YzAgMC02NS40MDgtOC4xOTItMTAzLjQ4OCA3MC43ODQtMS4xNTIgMi4zNjgtMS43OTIgNC4xNi0yLjgxNiA2LjUyOHYtNjMuODA4aC0xNDQuMjU2djQzLjU4NGg2OS42MzJ2MjgzLjM5Mmg3NC42MjR2LTIxMi45OTJjNi4xNDQtMTkuNzc2IDE5LjA3Mi00My4wNzIgNDYuNC01Ni43MDQgNTQuNC0yNy4yNjQgNjAuNTQ0LTI4LjQxNiA2MC41NDQtMjguNDE2eiIsCisJCQkJCSJNOTUxLjkzNiA0MTkuOTY4Yy01Ljc2LTAuNTEyLTEwLjE3Ni0xLjIxNi0xNC4zMzYtMi4xMTJ2LTI4NC4xNmgtNTIuMTZ2MjQzLjQ1NmMtMjguMjg4IDMwLjQ2NC02MC43MzYgNDUuMDU2LTg3Ljc0NCA0NS4wNTYtMzcuODg4IDAtNzAuMzM2LTE4Ljk0NC03MC4zMzYtOTEuODR2LTk1LjU1MmMwLTMwLjAxNiAwLjA2NC01MC42ODggMC4zODQtNjYuMTc2aDEuMDI0di0yMS4xODRjMC4yNTYtMi40OTYgMC4zODQtNS4zMTIgMC43MDQtNy4zNi0wLjE5MiAwLTAuNTEyIDAuMDY0LTAuNzA0IDAuMTI4di02LjUyOGgtOTYuMzJ2MzQuOTQ0aDQ0LjA5NmMxMC44OCA0LjI4OCAxOC4zMDQgMTIuMzUyIDE4LjMwNCA0OC43MDR2MTM0Ljg0OGMwIDgwLjg5NiA0MC42NCAxMDMuNDg4IDgxLjIxNiAxMDMuNDg4IDE3LjUzNiAwIDMxLjgwOC0zLjY0OCA1MS4zOTItMTYgMjMuNjE2LTEzLjA1NiA0MC40NDgtMjguOTkyIDU3Ljk4NC00Mi44MTZ2NTkuNDU2aDMuNDU2bDAuMTkyIDAuMTI4YzAuMTI4LTAuMDY0IDAuMjU2LTAuMTI4IDAuNDQ4LTAuMTI4aDkyLjI4OHYtMzUuMDA4aC0xMS41ODRsLTE4LjMwNC0xLjM0NHoiLAorCQkJCQkiTTM0OS4xODQgNzEyLjEyOGMtMjIuOTc2IDAtNDQuOTI4IDQuOTI4LTY1Ljg1NiAxNC42NTYtMjAuOTI4IDkuNzkyLTM4LjcyIDI0LjgzMi01My4xODQgNDUuMDU2IDAuNDQ4LTQ0LjkyOCA2LjE0NC03OS41NTIgMTcuMDI0LTEwMy44NzIgMTAuODgtMjQuMTkyIDI1Ljg1Ni00Mi43NTIgNDQuOC01NS4zNiAxNC41MjgtOS43OTIgMzEuMjk2LTE0LjY1NiA1MC40OTYtMTQuNjU2IDIzLjg3MiAwIDQzLjk2OCA3LjgwOCA2MC4xNiAyMy41NTIgOS43OTIgOS43OTIgMTcuMzQ0IDI1LjQ3MiAyMi43MiA0Ny4xNjhsNTkuODQtNC4yODhjLTQuODY0LTM0Ljk0NC0xOS42NDgtNjIuNC00NC4yODgtODIuMTEyLTI0LjU3Ni0xOS44NC01Ni4xOTItMjkuODI0LTk0LjcyLTI5LjgyNC01MS43MTIgMC05Mi44IDE3LjI4LTEyMy4zOTIgNTEuNTItMzQuOTQ0IDM5LjQyNC01Mi40OCAxMDIuNTkyLTUyLjQ4IDE4OS4zNzYgMCA3Ny41NjggMTUuODcyIDEzMy4zMTIgNDcuNDI0IDE2Ny4wNDAgMzEuNjggMzMuNzI4IDcyLjU3NiA1MC43NTIgMTIyLjY4OCA1MC43NTIgMjkuMzc2IDAgNTUuNjgtNi40NjQgNzguOTEyLTE5LjI2NCAyMy4xNjgtMTIuOTI4IDQxLjM0NC0zMS40ODggNTQuNjU2LTU1LjY4czE5LjkwNC01MC40MzIgMTkuOTA0LTc4LjU5MmMwLTQyLjg4LTE0LjA4MC03Ny44ODgtNDIuMzA0LTEwNC45Ni0yOC4xNi0yNi45NDQtNjIuMjcyLTQwLjUxMi0xMDIuNC00MC41MTJ6TTQwNC45OTIgOTM3LjUzNmMtMTguMzA0IDE4LjgxNi00MC4xMjggMjguMTYtNjUuNTM2IDI4LjE2LTE3LjQwOCAwLTMzLjk4NC00LjQ4LTQ5Ljc5Mi0xMy42MzItMTUuODcyLTkuMDg4LTI4LjE2LTIyLjQtMzYuOTkyLTM5LjY4LTguODMyLTE3LjM0NC0xMy4xODQtMzUuNTg0LTEzLjE4NC01NC41MjggMC0yOC45OTIgOS40NzItNTIuNDE2IDI4LjQxNi03MC4zMzYgMTguODgtMTcuODU2IDQxLjk4NC0yNi43NTIgNjkuMTg0LTI2Ljc1MiAyNy4zOTIgMCA1MC4xMTIgOC44OTYgNjguMTYgMjYuNzUyczI3LjA3MiA0Mi4zMDQgMjcuMDcyIDczLjQwOGMwLjA2NCAzMi4zODQtOS4wODggNTcuNzkyLTI3LjMyOCA3Ni42MDh6IiwKKwkJCQkJIk04MDYuNzIgNTU0LjMwNGgtNDguOTZsLTIyMy43NDQgMjkxLjEzNnY1MC40MzJoMjEyLjY3MnYxMDcuNTg0aDYwLjAzMnYtMTA3LjU4NGg2Ni4yNHYtNTAuNDMyaC02Ni4yNHYtMjkxLjEzNnpNNzQ2LjY4OCA4NDUuNDRoLTE1My40NzJsMTUzLjQ3Mi0yMDIuNTZ2MjAyLjU2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2VydmVyLXRydTY0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTEsCisJCQkJCQkxLAorCQkJCQkJMSwKKwkJCQkJCTEsCisJCQkJCQkxCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0ODAsCisJCQkJImlkIjogMTQ0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NTAsCisJCQkJIm5hbWUiOiAiaXQtc2VydmVyLXRydTY0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTY2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00ODAuMzg0IDY1NC43ODRsLTkzLjA1NiAxNjUuMjQ4aDkzLjA1NnoiLAorCQkJCQkiTTAgOTQ3LjU4NGw3MC44NDgtMjI3LjU4NGgyNi40OTZsNzYuMDMyIDIyOS4wNTZoLTI3Ljk2OGwtMjEuNjMyLTY5LjM3NmgtNzcuNzZsLTIwLjQxNiA2OS4zNzZoLTI1LjZ2NzQuOTQ0aDEwMjR2LTQ3My45ODRoLTEwMjR2Mzk3LjU2OHpNODM2LjE2IDY2My42OGM3LjIzMi0yNi40MzIgMTcuOTg0LTQ2Ljc4NCAzMi4yNTYtNjEuMTJzMzIuMjU2LTIxLjUwNCA1My44ODgtMjEuNTA0YzE1LjkzNiAwIDI5Ljk1MiAzLjk2OCA0MS45MiAxMS45MDQgMTIuMDMyIDcuOTM2IDIyLjAxNiAxOS4zMjggMjkuODI0IDM0LjI0IDcuODcyIDE0LjkxMiAxNC4wMTYgMzMuMDg4IDE4LjQ5NiA1NC41MjggNC40MTYgMjEuNDQgNi42NTYgNTAuMzA0IDYuNjU2IDg2LjY1NiAwIDQzLjAwOC0zLjY0OCA3Ny42OTYtMTAuNzUyIDEwNC4xMjgtNy4xNjggMjYuNDMyLTE3Ljg1NiA0Ni43ODQtMzIuMTkyIDYxLjI0OC0xNC4yNzIgMTQuNDY0LTMyLjI1NiAyMS42MzItNTQuMDE2IDIxLjYzMi0yOC42NzIgMC01MS4yLTEyLjY3Mi02Ny41ODQtMzguMDE2LTE5LjU4NC0zMC41MjgtMjkuMzc2LTgwLjE5Mi0yOS4zNzYtMTQ4Ljk5MiAwLjA2NC00My4zOTIgMy43MTItNzguMjcyIDEwLjg4LTEwNC43MDR6TTYwNS4xODQgNjYzLjY4YzcuMjMyLTI2LjQzMiAxNy45ODQtNDYuNzg0IDMyLjI1Ni02MS4xMnMzMi4yNTYtMjEuNTA0IDUzLjg4OC0yMS41MDRjMTUuOTM2IDAgMjkuOTUyIDMuOTY4IDQxLjkyIDExLjkwNCAxMi4wMzIgNy45MzYgMjIuMDE2IDE5LjMyOCAyOS44MjQgMzQuMjQgNy44NzIgMTQuOTEyIDE0LjAxNiAzMy4wODggMTguNDk2IDU0LjUyOCA0LjQxNiAyMS40NCA2LjY1NiA1MC4zMDQgNi42NTYgODYuNjU2IDAgNDMuMDA4LTMuNjQ4IDc3LjY5Ni0xMC43NTIgMTA0LjEyOC03LjE2OCAyNi40MzItMTcuODU2IDQ2Ljc4NC0zMi4xOTIgNjEuMjQ4LTE0LjI3MiAxNC40NjQtMzIuMjU2IDIxLjYzMi01NC4wMTYgMjEuNjMyLTI4LjY3MiAwLTUxLjItMTIuNjcyLTY3LjU4NC0zOC4wMTYtMTkuNTg0LTMwLjUyOC0yOS4zNzYtODAuMTkyLTI5LjM3Ni0xNDguOTkyIDAuMDY0LTQzLjM5MiAzLjcxMi03OC4yNzIgMTAuODgtMTA0LjcwNHpNMzUxLjQyNCA4MjAuMDMybDEzNS42OC0yMzcuNTA0aDI5LjgyNHYyMzcuNTA0aDQwLjEyOHY0MS4yOGgtNDAuMTI4djg3Ljc0NGgtMzYuNDh2LTg3Ljc0NGgtMTI5LjAyNHYtNDEuMjh6TTMwMy44NzIgODY4LjAzMmMtMy4zOTItNS4zNzYtOC45Ni05Ljg1Ni0xNi43NjgtMTMuNTY4LTQuOTkyLTIuMzY4LTE2LTYuMDgwLTMzLjA4OC0xMS4xMzZzLTI5LjA1Ni05Ljc5Mi0zNS45MDQtMTQuMzM2Yy04Ljg5Ni01Ljc2LTE1LjQ4OC0xMi44LTE5Ljg0LTIxLjMxMnMtNi41MjgtMTcuOTg0LTYuNTI4LTI4LjQ4YzAtMTEuNjQ4IDIuNjg4LTIyLjQgOC0zMi40NDhzMTMuMTItMTcuNjY0IDIzLjI5Ni0yMi45MTJjMTAuMjQtNS4xODQgMjEuNTY4LTcuNzQ0IDM0LjExMi03Ljc0NCAxMy43NiAwIDI1LjkyIDIuNjg4IDM2LjQxNiA4LjE5MiAxMC41NiA1LjQ0IDE4LjYyNCAxMy41MDQgMjQuMjU2IDI0LjEyOHM4LjcwNCAyMi42NTYgOS4xNTIgMzYuMDMybC0yMy42MTYgMi4yNGMtMS4yOC0xNC41MjgtNS41MDQtMjUuNDA4LTEyLjg2NC0zMi44OTYtNy4yOTYtNy4zNi0xOC4xMTItMTEuMDcyLTMyLjM4NC0xMS4wNzItMTQuODQ4IDAtMjUuNzI4IDMuMzkyLTMyLjUxMiAxMC4wNDgtNi43ODQgNi43Mi0xMC4xNzYgMTQuNzg0LTEwLjE3NiAyNC4zMiAwIDguMjU2IDIuNDMyIDE0Ljk3NiA3LjIzMiAyMC4yODggNC43MzYgNS4zMTIgMTcuMDg4IDEwLjc1MiAzNy4wNTYgMTYuMzIgMjAuMDMyIDUuNTY4IDMzLjY2NCAxMC40MzIgNDEuMTUyIDE0LjY1NiAxMC44MTYgNi4xNDQgMTguODE2IDEzLjk1MiAyNCAyMy4zNnM3Ljc0NCAyMC4yMjQgNy43NDQgMzIuNTc2YzAgMTIuMTYtMi44MTYgMjMuNjgtOC40NDggMzQuNDMyLTUuNjk2IDEwLjgxNi0xMy44MjQgMTkuMi0yNC4zODQgMjUuMjE2LTEwLjYyNCA2LjAxNi0yMi41OTIgOS4wMjQtMzUuODQgOS4wMjQtMTYuODMyIDAtMzAuOTEyLTMuMDcyLTQyLjMwNC05LjE1Mi0xMS4zMjgtNi4wMTYtMjAuMjg4LTE1LjEwNC0yNi42ODgtMjcuMjY0LTYuNDY0LTEyLjA5Ni05Ljg1Ni0yNS44NTYtMTAuMjQtNDEuMTUybDIzLjE2OC0yLjQ5NmMxLjA4OCAxMS40NTYgMy42NDggMjAuOCA3LjY4IDI4LjE2IDQuMDMyIDcuMjk2IDEwLjI0IDEzLjI0OCAxOC42ODggMTcuNzkyIDguNDQ4IDQuNDggMTcuOTIgNi43MiAyOC41NDQgNi43MiA5LjM0NCAwIDE3LjY2NC0xLjY2NCAyNC44MzItNS4xMnMxMi41NDQtOC4xMjggMTYuMDY0LTE0LjE0NGMzLjUyLTYuMDE2IDUuMjQ4LTEyLjU0NCA1LjI0OC0xOS42NDgtMC02Ljk3Ni0xLjcyOC0xMy4yNDgtNS4wNTYtMTguNjI0eiIsCisJCQkJCSJNOTIyLjMwNCA5MTguMzM2YzE2Ljc2OCAwIDMwLjc4NC05Ljk4NCA0Mi4yNC0zMC4wMTZzMTcuMTUyLTYwLjAzMiAxNy4xNTItMTIwYzAtNjAuMjg4LTUuNjk2LTEwMC40MTYtMTcuMTUyLTEyMC4yNTZzLTI1LjYtMjkuNzYtNDIuNjg4LTI5Ljc2Yy0xNi43NjggMC0zMC4xNDQgOC43NjgtNDAuMTI4IDI2LjI0LTEyLjU0NCAyMi4zMzYtMTguODggNjMuNTUyLTE4Ljg4IDEyMy43NzZzNS42OTYgMTAwLjE2IDE3LjE1MiAxMjAuMTI4IDI1LjQ3MiAyOS44ODggNDIuMzA0IDI5Ljg4OHoiLAorCQkJCQkiTTgzLjU4NCA3NDQuMDY0Yy0yLjM2OCAxNC42NTYtNS42OTYgMjkuMjQ4LTEwLjA0OCA0My43NzZsLTIwLjQxNiA2Ny4yaDYyLjk3NmwtMTkuMzkyLTYzLjQyNGMtNS44ODgtMTkuMzI4LTEwLjI0LTM1LjItMTMuMTItNDcuNTUyeiIsCisJCQkJCSJNNjkxLjMyOCA5MTguMzM2YzE2Ljc2OCAwIDMwLjc4NC05Ljk4NCA0Mi4yNC0zMC4wMTZzMTcuMTUyLTYwLjAzMiAxNy4xNTItMTIwYzAtNjAuMjg4LTUuNjk2LTEwMC40MTYtMTcuMTUyLTEyMC4yNTZzLTI1LjYtMjkuNzYtNDIuNjg4LTI5Ljc2Yy0xNi43NjggMC0zMC4xNDQgOC43NjgtNDAuMTI4IDI2LjI0LTEyLjU0NCAyMi4zMzYtMTguODggNjMuNTUyLTE4Ljg4IDEyMy43NzZzNS42OTYgMTAwLjE2IDE3LjE1MiAxMjAuMTI4IDI1LjQ3MiAyOS44ODggNDIuMzA0IDI5Ljg4OHoiLAorCQkJCQkiTTAgMHY1MTAuMDE2aDEwMjR2LTUxMC4wMTZoLTEwMjR6TTEwNi44OCA0NTguODE2aC01My44MjR2LTQwNi45MTJoNTMuODI0djQwNi45MTJ6TTQ5NC43ODQgMzkzLjk4NGMtOC4wNjQgMTYuMzg0LTE3Ljk4NCAyOC45OTItMjkuODI0IDM3Ljg4OHMtMjYuNjg4IDE1LjYxNi00NC42MDggMjAuMTZjLTE3Ljc5MiA0LjU0NC0zOS42OCA2Ljc4NC02NS42IDYuNzg0aC0xNTUuMnYtNDA2LjkxMmgxNTIuNzA0YzMxLjEwNCAwIDU2IDQuMDk2IDc0LjgxNiAxMi4zNTIgMTguNzUyIDguMjU2IDMzLjQ3MiAyMC45MjggNDQuMDk2IDM4LjAxNiAxMC42MjQgMTcuMTUyIDE2IDM1LjAwOCAxNiA1My42OTYgMCAxNy40MDgtNC43MzYgMzMuNzkyLTE0LjE0NCA0OS4xNTJzLTIzLjY4IDI3Ljc3Ni00Mi43NTIgMzcuMjQ4YzI0LjU3NiA3LjIzMiA0My41MiAxOS41MiA1Ni43NjggMzYuOTI4czE5Ljg0IDM3Ljk1MiAxOS44NCA2MS42MzJjLTAuMDY0IDE5LjAwOC00LjAzMiAzNi42NzItMTIuMDk2IDUzLjA1NnpNOTY3LjYxNiA0NTguODE2aC01MS45MDR2LTM0MC42MDhsLTExOC4yNzIgMzQwLjYwOGgtNDguNTc2bC0xMTcuNjMyLTM0Ni40MzJ2MzQ2LjQzMmgtNTEuOTA0di00MDYuOTEyaDgxLjA4OGw5Ni4zMiAyODguMTI4YzguODk2IDI2LjgxNiAxNS4zNiA0Ni45MTIgMTkuNDU2IDYwLjIyNCA0LjYwOC0xNC43ODQgMTEuODQtMzYuNTQ0IDIxLjYzMi02NS4yOGw5Ny40MDgtMjgzLjEzNmg3Mi40NDh2NDA2Ljk3NnoiLAorCQkJCQkiTTQwNy4wNDAgMjc3LjY5NmMtMTMuNzYtNC41NDQtMzMuNi02Ljc4NC01OS41Mi02Ljc4NGgtOTQuMDgwdjEzOS45MDRoMTAxLjMxMmMxNy4zNDQgMCAyOS41NjgtMC42NCAzNi42MDgtMS45MiAxMi40MTYtMi4yNCAyMi43ODQtNS44ODggMzEuMTA0LTExLjA3MnMxNS4xNjgtMTIuNzM2IDIwLjU0NC0yMi42NTZjNS4zNzYtOS45MiA4LjA2NC0yMS4zMTIgOC4wNjQtMzQuMzA0IDAtMTUuMTY4LTMuOTA0LTI4LjM1Mi0xMS42NDgtMzkuNTUyLTcuODA4LTExLjItMTguNTYtMTkuMDcyLTMyLjM4NC0yMy42MTZ6IiwKKwkJCQkJIk0zOTIuNzY4IDIxOC4xNzZjMTMuNjk2LTQuMDMyIDI0LTEwLjgxNiAzMC45MTItMjAuMjg4czEwLjQzMi0yMS4zMTIgMTAuNDMyLTM1LjUyYzAtMTMuNTA0LTMuMjY0LTI1LjM0NC05LjcyOC0zNS42NDhzLTE1LjY4LTE3LjM0NC0yNy43MTItMjEuMTItMzIuNjQtNS42OTYtNjEuOTUyLTUuNjk2aC04MS4yOHYxMjIuOTQ0aDg4YzIzLjg3MiAwIDQwLjk2LTEuNTM2IDUxLjMyOC00LjY3MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNldmVyLWFzNDAwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTEsCisJCQkJCQkxLAorCQkJCQkJMSwKKwkJCQkJCTEsCisJCQkJCQkxLAorCQkJCQkJMSwKKwkJCQkJCTEsCisJCQkJCQkxCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTQsIDEzNSwgMTgzKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk0LCAxMzUsIDE4MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NCwgMTM1LCAxODMpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0ODEsCisJCQkJImlkIjogMTQzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NTEsCisJCQkJIm5hbWUiOiAiaXQtc2V2ZXItYXM0MDAiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNjcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTI4NC4wMzIgNDA4Ljc2OGg0NTQuODQ4djQ1LjQ0aC00NTQuODQ4di00NS40NHoiLAorCQkJCQkiTTI4NC4wMzIgNTczLjI0OGg0NTQuODQ4djQ1LjUwNGgtNDU0Ljg0OHYtNDUuNTA0eiIsCisJCQkJCSJNMjg0LjAzMiAyMjMuMjk2aDE0My40ODh2NDUuNTA0aC0xNDMuNDg4di00NS41MDR6IiwKKwkJCQkJIk0yODQuMDMyIDczNy42NjRoNDU0Ljg0OHY0NS41MDRoLTQ1NC44NDh2LTQ1LjUwNHoiLAorCQkJCQkiTTEwMjEuNjMyIDEwNC43MDRjLTEwLjg4LTU5LjY0OC02Mi44NDgtMTA0LjcwNC0xMjUuNjMyLTEwNC43MDRoLTc2OGMtNzAuODQ4IDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OC4wNjRjMCA1NS44MDggMzUuNzEyIDEwMi41OTIgODUuMzEyIDEyMC4xOTJ2My45MDRoMTIuNzM2YzkuNjY0IDIuMzA0IDE5LjU4NCAzLjg0IDI5Ljk1MiAzLjg0aDc2OGM3MC43ODQgMCAxMjgtNTcuMDg4IDEyOC0xMjcuOTM2di03OTEuMzZoLTIuMzY4ek04MzMuMzQ0IDk1Mi44OTZoLTY3MS44MDh2LTg4MS43OTJoNjcxLjg3MnY4ODEuNzkyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk4LCAxNDEsIDE5NCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTgsIDE0MSwgMTk0KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk4LCAxNDEsIDE5NCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItZmlsZXNlcnZlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQkzLAorCQkJCQkJMywKKwkJCQkJCTMsCisJCQkJCQkzLAorCQkJCQkJMworCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTgsIDE0MSwgMTk0KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk4LCAxNDEsIDE5NCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTgsIDE0MSwgMTk0KSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDgyLAorCQkJCSJpZCI6IDE0MiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjUyLAorCQkJCSJuYW1lIjogIml0LW90aGVyLWZpbGVzZXJ2ZXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNjgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg2Ny43NzYgMzUxLjQ4OGMtNy4xMDQtMS45Mi0yMC4zNTItMi44MTYtMzkuNjE2LTIuODE2aC04MS45ODR2MTE0LjYyNGg4Mi44OGMyNy40NTYgMCA0Ni45MTItNS4xMiA1OC40MzItMTUuMjk2czE3LjM0NC0yNC41NzYgMTcuMzQ0LTQzLjA3MmMwLTEzLjM3Ni0zLjQ1Ni0yNC44OTYtMTAuMTc2LTM0LjQzMi02LjkxMi05LjYtMTUuODcyLTE1LjkzNi0yNi44OC0xOS4wMDh6IiwKKwkJCQkJIk04OTYgMGgtNzY4Yy03MC43ODQgMC0xMjggNTcuMTUyLTEyOCAxMjh2NzY4LjA2NGMwIDcwLjc4NCA1Ny4yMTYgMTI3LjkzNiAxMjggMTI3LjkzNmg3NjhjNzAuODQ4IDAgMTI4LTU3LjE1MiAxMjgtMTI3LjkzNnYtNzY4LjA2NGMwLTcwLjg0OC01Ny4xNTItMTI4LTEyOC0xMjh6TTMzMi4yMjQgNTg5LjE4NGMtOS43OTIgMTUuMDQwLTIzLjgwOCAyNi44MTYtNDIuMTEyIDM1LjJzLTM4LjkxMiAxMi42MDgtNjEuODI0IDEyLjYwOGMtMjkuMDU2IDAtNTMuMzEyLTQuMjI0LTcyLjk2LTEyLjczNi0xOS41ODQtOC40NDgtMzUuMDA4LTIxLjEyLTQ2LjA4MC0zOC4xNDQtMTEuMi0xNy4wMjQtMTcuMDI0LTM2LjIyNC0xNy42LTU3LjZsNDAtMy41MmMxLjkyIDE2IDYuMzM2IDI5LjE4NCAxMy4yNDggMzkuNDI0IDYuOTEyIDEwLjMwNCAxNy42NjQgMTguNjI0IDMyLjI1NiAyNC45NiAxNC41OTIgNi40IDMwLjk3NiA5LjQ3MiA0OS4yMTYgOS40NzIgMTYuMTkyIDAgMzAuNDY0LTIuMzY4IDQyLjg4LTcuMTY4czIxLjYzMi0xMS40NTYgMjcuNzEyLTE5Ljg0YzYuMDE2LTguMzg0IDkuMDg4LTE3LjQ3MiA5LjA4OC0yNy40NTYgMC0xMC4wNDgtMi44OC0xOC44OC04Ljc2OC0yNi4zNjhzLTE1LjU1Mi0xMy43Ni0yOC45MjgtMTguODhjLTguNTc2LTMuMzI4LTI3LjY0OC04LjUxMi01Ny4wODgtMTUuNjE2LTI5LjUwNC03LjEwNC01MC4xMTItMTMuNzYtNjEuOTUyLTIwLjAzMi0xNS4yOTYtOC0yNi42ODgtMTcuOTg0LTM0LjI0LTI5Ljg4OC03LjQ4OC0xMS44NC0xMS4yLTI1LjE1Mi0xMS4yLTM5Ljg3MiAwLTE2LjE5MiA0LjYwOC0zMS4yOTYgMTMuNzYtNDUuMzc2IDkuMjE2LTE0LjA4MCAyMi41OTItMjQuNzY4IDQwLjI1Ni0zMnMzNy4yNDgtMTAuOTQ0IDU4LjgxNi0xMC45NDRjMjMuODA4IDAgNDQuNzM2IDMuODQgNjIuODQ4IDExLjQ1NiAxOC4xNzYgNy42OCAzMi4xMjggMTguOTQ0IDQxLjkyIDMzLjc5MnMxNS4wNDAgMzEuNzQ0IDE1Ljc0NCA1MC41NmwtNDAuNjQgMy4wMDhjLTIuMTc2LTIwLjI4OC05LjYtMzUuNTg0LTIyLjIwOC00NS45NTItMTIuNjA4LTEwLjMwNC0zMS4yMzItMTUuNTUyLTU1Ljg3Mi0xNS41NTItMjUuNjY0IDAtNDQuMzUyIDQuNjcyLTU2LjEyOCAxNC4xNDQtMTEuNzEyIDkuNDA4LTE3LjYgMjAuNzM2LTE3LjYgMzMuOTg0IDAgMTEuNTIgNC4xNiAyMC45OTIgMTIuNDggMjguNDE2IDguMTI4IDcuNDI0IDI5LjUwNCAxNS4wNDAgNjQgMjIuODQ4czU4LjExMiAxNC41OTIgNzAuOTc2IDIwLjQxNmMxOC42ODggOC41NzYgMzIuNDQ4IDE5LjUyIDQxLjM0NCAzMi43MDRzMTMuMzEyIDI4LjU0NCAxMy4zMTIgNDUuNjk2YzAgMTcuMDg4LTQuODY0IDMzLjE1Mi0xNC42NTYgNDguMjU2ek02MjEuNDQgNjMxLjQ4OGwtMzcuNDQtOTcuMDg4aC0xMzQuMDgwbC0zNS4yIDk3LjE1MmgtNDUuMTJsMTIzLjItMzIwLjc2OGg0NS42OTZsMTMxLjI2NCAzMjAuNzA0aC00OC4zMnpNOTIyLjQzMiA0NzIuODMyYy0xNy4zNDQgMTguODgtNDguNzA0IDI4LjI4OC05NC4wODAgMjguMjg4aC04Mi4yNHYxMzAuMzY4aC00Mi40MzJ2LTMyMC43MDRoMTIwLjk2YzIxLjMxMiAwIDM3LjU2OCAxLjAyNCA0OC44MzIgMy4wNzIgMTUuNzQ0IDIuNjI0IDI4LjkyOCA3LjYxNiAzOS41NTIgMTQuOTc2IDEwLjY4OCA3LjM2IDE5LjI2NCAxNy42NjQgMjUuNzI4IDMwLjkxMnM5LjcyOCAyNy44NCA5LjcyOCA0My43NzZjMCAyNy4zMjgtOC42NCA1MC4zNjgtMjYuMDQ4IDY5LjMxMnoiLAorCQkJCQkiTTUxNC42ODggMzQ0LjUxMmMtNC4wOTYgMjAuNTQ0LTkuODU2IDQwLjk2LTE3LjI4IDYxLjI0OGwtMzUuMiA5NC4wODBoMTA4LjY3MmwtMzMuNDcyLTg4LjgzMmMtMTAuMjQtMjcuMDA4LTE3Ljc5Mi00OS4xNTItMjIuNzItNjYuNDk2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXNhcGNjbXMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogWworCQkJCQkJNSwKKwkJCQkJCTUsCisJCQkJCQk1CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDgzLAorCQkJCSJpZCI6IDE0MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjUzLAorCQkJCSJuYW1lIjogIml0LW90aGVyLXNhcGNjbXMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNjkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg5NiAwaC03NjhjLTcwLjg0OCAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjguMDY0YzAgNzAuNzg0IDU3LjE1MiAxMjcuOTM2IDEyOCAxMjcuOTM2aDc2OGM3MC44NDggMCAxMjgtNTcuMTUyIDEyOC0xMjcuOTM2di03NjguMDY0YzAtNzAuOTEyLTU3LjE1Mi0xMjgtMTI4LTEyOHpNMzk0LjY4OCA3ODQuNjR2MTMuODg4aC0yMjQuODMydi0xMy44ODhjNjkuMzEyLTEzLjg4OCA4Mi4yNC0yMi43MiAxMTguODQ4LTExMS44NzJsMjE0Ljk3Ni01MDQuMzg0IDExLjkwNC00LjkyOCA2Ni4zNjggMTgzLjI5NmM0NS41NjggMTIzLjkwNCA5MC4yNCAyNDcuNjggMTI3LjkzNiAzNDIuODQ4IDI0LjY0IDYwLjYwOCAzNC43NTIgNzguNTI4IDc2LjggODkuMDg4djE5Ljg0aC0xOTYuNzM2di0xMy44ODhjNTYuNDQ4LTcuODcyIDc3LjMxMi0xMy44ODggNzcuMzEyLTM3LjYzMiAwLTI1LjcyOC0yOS43Ni0xMDIuOTc2LTY2LjQ5Ni0xOTQuMTEyaC0yMjguOGMtOS45MiAxOC43NTItNTkuNDU2IDE1Mi41MTItNTkuNDU2IDE4My4xNjggMCAzMy42NjQgMjYuNjg4IDM5LjY4IDgyLjE3NiA0OC41NzZ6IiwKKwkJCQkJIk00OTUuODA4IDI1NS42MTZoLTEuOTJjLTM5LjY4IDg4LjEyOC03OC4zMzYgMTgyLjI3Mi0xMTAuMDE2IDI2NS40NzJoMjA4bC05Ni4wNjQtMjY1LjQ3MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItYWN0aXZlZGlyZWN0b3J5IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTUsCisJCQkJCQk1CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ4NCwKKwkJCQkiaWQiOiAxNDAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY1NCwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1hY3RpdmVkaXJlY3RvcnkiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNzAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg5NiAxMDI0YzcwLjc4NCAwIDEyOC01Ny4xNTIgMTI4LTEyOHYtMjUyLjAzMmwtMzc5Ljk2OCAzODAuMDMyaDI1MS45Njh6IiwKKwkJCQkJIk04OTYgMGgtNzY4Yy03MC44NDggMC0xMjggNTcuMTUyLTEyOCAxMjh2NzY4YzAgNzAuODQ4IDU3LjE1MiAxMjggMTI4IDEyOGg0MTguMDQ4bDQ3Ny45NTItNDgwdi00MTZjMC03MC44NDgtNTcuMjE2LTEyOC0xMjgtMTI4ek00MDEuMTUyIDQ4NC41NDRjLTEyLjQxNiAxOS45MDQtMzAuMjcyIDM1LjMyOC01My41NjggNDYuNHMtNDkuNTM2IDE2LjU3Ni03OC42NTYgMTYuNTc2Yy0zNi45MjggMC02Ny45MDQtNS41NjgtOTIuODY0LTE2LjcwNHMtNDQuNTQ0LTI3Ljk2OC01OC43NTItNTAuMzA0Yy0xNC4yMDgtMjIuNC0yMS42OTYtNDcuNzQ0LTIyLjQtNzUuOTY4bDUwLjk0NC00LjYwOGMyLjQzMiAyMS4xMiA4IDM4LjQ2NCAxNi44MzIgNTIuMDMyIDguODMyIDEzLjUwNCAyMi41MjggMjQuNTEyIDQxLjA4OCAzMi44MzIgMTguNTYgOC4zODQgMzkuNDI0IDEyLjU0NCA2Mi42NTYgMTIuNTQ0IDIwLjYwOCAwIDM4Ljc4NC0zLjIgNTQuNTkyLTkuNTM2IDE1Ljc0NC02LjMzNiAyNy41Mi0xNS4wNDAgMzUuMi0yNi4xMTIgNy42OC0xMS4wMDggMTEuNTItMjMuMTA0IDExLjUyLTM2LjE2IDAtMTMuMzEyLTMuNzEyLTI0LjgzMi0xMS4xMzYtMzQuNzUyLTcuNDI0LTkuODU2LTE5LjcxMi0xOC4xNzYtMzYuNzM2LTI0Ljk2LTEwLjk0NC00LjQxNi0zNS4yLTExLjI2NC03Mi42NC0yMC42MDgtMzcuNTA0LTkuMjE2LTYzLjc0NC0xOC4wNDgtNzguNzg0LTI2LjMwNC0xOS41Mi0xMC41Ni0zNC4wNDgtMjMuNjgtNDMuNTg0LTM5LjI5NnMtMTQuMzM2LTMzLjIxNi0xNC4zMzYtNTIuNjcyYzAtMjEuMzEyIDUuODI0LTQxLjI4IDE3LjUzNi01OS44NHMyOC43MzYtMzIuNjQgNTEuMi00Mi4yNGMyMi40NjQtOS42IDQ3LjQyNC0xNC40IDc0Ljg4LTE0LjQgMzAuMjcyIDAgNTYuOTYgNS4wNTYgODAuMDY0IDE1LjEwNCAyMy4xMDQgMTAuMTEyIDQwLjg5NiAyNC45NiA1My4zMTIgNDQuNTQ0czE5LjEzNiA0MS45MiAyMC4wMzIgNjYuNjg4bC01MS43NzYgNC4wMzJjLTIuNzUyLTI2Ljc1Mi0xMi4xNi00Ni45MTItMjguMjI0LTYwLjU0NHMtMzkuODA4LTIwLjQ4LTcxLjEwNC0yMC40OGMtMzIuNzA0IDAtNTYuNDQ4IDYuMjA4LTcxLjQyNCAxOC42MjQtMTQuOTc2IDEyLjM1Mi0yMi40NjQgMjcuMzI4LTIyLjQ2NCA0NC44IDAgMTUuMTY4IDUuMzEyIDI3LjcxMiAxNS44NzIgMzcuNDQgMTAuNDMyIDkuNzkyIDM3LjUwNCAxOS44NCA4MS40MDggMzAuMTQ0czczLjk4NCAxOS4yNjQgOTAuMzY4IDI2Ljk0NGMyMy43NDQgMTEuMzI4IDQxLjI4IDI1LjY2NCA1Mi42MDggNDMuMDcyIDExLjMyOCAxNy40NzIgMTcuMDI0IDM3LjUwNCAxNy4wMjQgNjAuMTYgMCAyMi40NjQtNi4yNzIgNDMuNjQ4LTE4LjY4OCA2My41NTJ6TTUzNy41MzYgNTQwLjI4OGgtNTAuMDQ4di0zMDYuMTEyaDUwLjExMnYzMDYuMTEyek01MzcuNTM2IDE3Ny40MDhoLTUwLjA0OHYtNTkuNzEyaDUwLjExMnY1OS43MTJ6TTY2Mi44NDggNTQwLjI4OGgtNTAuMTEydi00MjIuNTkyaDUwLjExMnY0MjIuNTkyek04MTEuOTA0IDU0MC4yODhoLTU3LjE1MnYtNTkuMDcyaDU3LjE1MnY1OS4wNzJ6TTk3MC4yNCA1NDAuMjg4aC01Ny4xNTJ2LTU5LjA3Mmg1Ny4xNTJ2NTkuMDcyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk4LCAxNDEsIDE5NCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLXNsaXZlcnN0cmVhbSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQkzLAorCQkJCQkJMworCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTgsIDE0MSwgMTk0KSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDg1LAorCQkJCSJpZCI6IDEzOSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjU1LAorCQkJCSJuYW1lIjogIml0LWFwcC1zbGl2ZXJzdHJlYW0iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNzEKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg5NiAxMDI0YzcwLjc4NCAwIDEyOC01Ny4xNTIgMTI4LTEyOHYtMjUyLjAzMmwtMzc5Ljk2OCAzODAuMDMyaDI1MS45Njh6IiwKKwkJCQkJIk0yODEuMzQ0IDE1OS40ODhjLTYuMDE2IDMxLjI5Ni0xNC40NjQgNjIuMzM2LTI1LjQwOCA5My4xODRsLTUxLjc3NiAxNDMuMTA0aDE1OS43NDRsLTQ5LjE1Mi0xMzUuMTA0Yy0xNC45NzYtNDEuMDI0LTI2LjE3Ni03NC43NTItMzMuNDA4LTEwMS4xODR6IiwKKwkJCQkJIk04OTYgMGgtNzY4Yy03MC44NDggMC0xMjggNTcuMTUyLTEyOCAxMjh2NzY4YzAgNzAuODQ4IDU3LjE1MiAxMjggMTI4IDEyOGg0MTguMDQ4bDQ3Ny45NTItNDgwdi00MTZjMC03MC44NDgtNTcuMjE2LTEyOC0xMjgtMTI4ek00MzguMTQ0IDU5Ni4wMzJsLTU0Ljk3Ni0xNDcuNzEyaC0xOTYuOTkybC01MS43MTIgMTQ3LjcxMmgtNjYuMjRsMTgwLjkyOC00ODcuODA4aDY3LjEzNmwxOTIuODMyIDQ4Ny44MDhoLTcwLjk3NnpNODkxLjMyOCA1MzEuNzEyYy0xNC40IDIyLjkxMi0zNS4wMDggNDAuODMyLTYxLjg4OCA1My41NjhzLTU3LjIxNiAxOS4xMzYtOTAuODE2IDE5LjEzNmMtNDIuNjI0IDAtNzguNC02LjQ2NC0xMDcuMi0xOS4zMjhzLTUxLjM5Mi0zMi4xOTItNjcuNzc2LTU4LjA0OC0yNS4wMjQtNTUuMTA0LTI1Ljg1Ni04Ny42OGw1OC44MTYtNS4zMTJjMi43NTIgMjQuMzg0IDkuMjggNDQuNDE2IDE5LjQ1NiA2MC4wMzIgMTAuMTEyIDE1LjY4IDI1LjkyIDI4LjI4OCA0Ny4zNiAzNy45NTJzNDUuNTA0IDE0LjQ2NCA3Mi4zMiAxNC40NjRjMjMuNzQ0IDAgNDQuNzM2LTMuNjQ4IDYyLjk3Ni0xMC45NDQgMTguMTc2LTcuMjk2IDMxLjc0NC0xNy4zNDQgNDAuNjQtMzAuMTQ0IDguODk2LTEyLjczNiAxMy4zNzYtMjYuNjg4IDEzLjM3Ni00MS43MjggMC0xNS4yOTYtNC4yODgtMjguNjcyLTEyLjg2NC00MC4wNjRzLTIyLjY1Ni0yMC45OTItNDIuNDMyLTI4LjhjLTEyLjYwOC01LjEyLTQwLjU3Ni0xMy4wNTYtODMuOTA0LTIzLjgwOC00My4yLTEwLjgxNi03My41MzYtMjAuOTI4LTkwLjg4LTMwLjUyOC0yMi41MjgtMTIuMTYtMzkuMjk2LTI3LjI2NC01MC4zMDQtNDUuMzc2LTExLjA3Mi0xOC4wNDgtMTYuNTc2LTM4LjMzNi0xNi41NzYtNjAuNzM2IDAtMjQuNjQgNi43ODQtNDcuNjggMjAuMjI0LTY5LjA1NiAxMy41MDQtMjEuMzc2IDMzLjI4LTM3LjYzMiA1OS4yLTQ4Ljc2OCAyNS44NTYtMTEuMDcyIDU0LjY1Ni0xNi42NCA4Ni40NjQtMTYuNjQgMzQuODggMCA2NS42NjQgNS44MjQgOTIuMzUyIDE3LjQ3MnM0Ny4xNjggMjguOCA2MS41NjggNTEuMzkyYzE0LjMzNiAyMi42NTYgMjIuMDgwIDQ4LjI1NiAyMy4xMDQgNzYuODY0bC01OS43NzYgNC42NzJjLTMuMjY0LTMwLjg0OC0xNC4xNDQtNTQuMTQ0LTMyLjY0LTY5Ljg4OC0xOC41Ni0xNS43NDQtNDUuOTUyLTIzLjYxNi04Mi4xMTItMjMuNjE2LTM3Ljc2IDAtNjUuMjE2IDcuMTY4LTgyLjQzMiAyMS40NC0xNy4yOCAxNC4yNzItMjUuODU2IDMxLjU1Mi0yNS44NTYgNTEuNzEyIDAgMTcuNTM2IDYuMTQ0IDMyIDE4LjMwNCA0My4yNjQgMTIuMDMyIDExLjMyOCA0My4zMjggMjIuOTEyIDk0LjAxNiAzNC43NTIgNTAuNjg4IDExLjkwNCA4NS40NCAyMi4yNzIgMTA0LjMyIDMxLjEwNCAyNy4zOTIgMTMuMTIgNDcuNjE2IDI5LjYzMiA2MC42NzIgNDkuNzI4IDEzLjEyIDIwLjAzMiAxOS42NDggNDMuMiAxOS42NDggNjkuMzc2IDAgMjYuMDQ4LTcuMjMyIDUwLjU2LTIxLjUwNCA3My41MzZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTgsIDE0MSwgMTk0KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk4LCAxNDEsIDE5NCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLW9yYWNsZWFzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTMsCisJCQkJCQkzLAorCQkJCQkJMworCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5OCwgMTQxLCAxOTQpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTgsIDE0MSwgMTk0KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk4LCAxNDEsIDE5NCkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ4NiwKKwkJCQkiaWQiOiAxMzgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY1NiwKKwkJCQkibmFtZSI6ICJpdC1hcHAtb3JhY2xlYXMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNzIKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTc2MCAyNTMuMzEyYzU2Ljg5NiA2MS40NCA4OS45ODQgNjcuMDcyIDg5Ljk4NCA2Ny4wNzJzMTUzLjk4NC0yMDguNzA0IDE1My45ODQtMjE5LjkwNC0zLjg0LTQ0LjczNi0xMi44LTU1Ljg3MmMtOS4yOC0xMS4yNjQtMTYuNTc2LTE2LjgzMi00OS42LTE4LjY4OHMtMjM0Ljg4IDEwNi4xNzYtMjM0Ljg4IDEwNi4xNzYtMy44NCA1OS42NDggNTMuMzEyIDEyMS4yMTZ6IiwKKwkJCQkJIk04NDIuMjQgMzg2Ljk0NGMwIDAtNDYuNjU2LTcuODcyLTEyNi43ODQtOTQuNjU2LTgwLjMyLTg2Ljc4NC03NS4yLTE3MC45NDQtNzUuMi0xNzAuOTQ0czQwLjgzMi0yMS44ODggOTQuMDgwLTQ4Ljc2OGMtNzAuNC0zOC40NjQtMTQ5LjYzMi02Mi4zMzYtMjM1LjA3Mi02Mi4zMzYtODQuODY0IDAtMTY0LjggMjEuNjMyLTIzNC44MTYgNTkuNjQ4LTM2LjgtMTYuOTYtMTMzLjA1Ni02MC45OTItMTQ3LjU4NC02Ni40OTYtMTcuOTg0LTYuOTEyLTY5LjYzMi00LjYwOC04Ny42OCAyMC40OC0xNy45ODQgMjUuMDg4LTQuNDggODQuNDgtNC40OCA4NC40OGw4MC40NDggOTguMzY4Yy02NS42NjQgODUuODI0LTEwNS4xNTIgMTkzLjM0NC0xMDUuMTUyIDMxMC40IDAgMjgwLjEyOCAyMjMuNDg4IDUwNi44OCA0OTkuMjY0IDUwNi44OHM0OTkuMjY0LTIyNi43NTIgNDk5LjI2NC01MDYuODhjMC05MS43NzYtMjUuNzkyLTE3Ni41NzYtNjcuODQtMjUwLjk0NC00Ni43MiA2NC4zMi04OC40NDggMTIwLjc2OC04OC40NDggMTIwLjc2OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5MywgMTM0LCAxODMpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTMsIDEzNCwgMTgzKSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1mcmVlQlNEIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTIsCisJCQkJCQkyCisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDkzLCAxMzQsIDE4MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5MywgMTM0LCAxODMpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0ODcsCisJCQkJImlkIjogMTM3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NTcsCisJCQkJIm5hbWUiOiAiaXQtc2VydmVyLWZyZWVCU0QiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNzMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg5NiAxMDI0YzcwLjg0OCAwIDEyOC01Ny4xNTIgMTI4LTEyOHYtMjUyLjAzMmwtMzc5Ljk2OCAzODAuMDMyaDI1MS45Njh6IiwKKwkJCQkJIk0zMzEuNTIgNDI2LjI0YzEwLjM2OCAwIDE5LjAwOC00Ljk5MiAyNi4wNDgtMTQuOTc2czEwLjU2LTMwLjAxNiAxMC41Ni02MC4wMzJjMC0zMC4xNDQtMy41Mi01MC4yNC0xMC41Ni02MC4wOTZzLTE1LjgwOC0xNC45MTItMjYuMzA0LTE0LjkxMmMtMTAuMzY4IDAtMTguNjI0IDQuMzUyLTI0Ljc2OCAxMy4xMi03Ljc0NCAxMS4yLTExLjY0OCAzMS44MDgtMTEuNjQ4IDYxLjg4OHMzLjUyIDUwLjExMiAxMC41NiA2MC4wMzIgMTUuNzQ0IDE0Ljk3NiAyNi4xMTIgMTQuOTc2eiIsCisJCQkJCSJNNTI2LjIwOCAxNTIuMTkyYy0xOC4xMTIgMC0zMi41MTIgNy42OC00My4zMjggMjIuOTc2LTEzLjU2OCAxOS41Mi0yMC4yODggNTUuNjE2LTIwLjI4OCAxMDguMjg4czYuMTQ0IDg3LjY4IDE4LjQ5NiAxMDUuMDg4YzEyLjI4OCAxNy40NzIgMjcuNDU2IDI2LjE3NiA0NS41NjggMjYuMTc2czMzLjI4LTguNzY4IDQ1LjU2OC0yNi4yNGMxMi40MTYtMTcuNTM2IDE4LjQ5Ni01Mi40OCAxOC40OTYtMTA1LjAyNCAwLTUyLjgtNi4xNDQtODcuODcyLTE4LjQ5Ni0xMDUuMjE2LTEyLjI4OC0xNy4zNDQtMjcuNTg0LTI2LjA0OC00Ni4wMTYtMjYuMDQ4eiIsCisJCQkJCSJNODk2IDBoLTc2OGMtNzAuODQ4IDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjg0OCA1Ny4xNTIgMTI4IDEyOCAxMjhoNDE3Ljk4NGw0NzguMDE2LTQ4MHYtNDE2YzAtNzAuOTEyLTU3LjE1Mi0xMjgtMTI4LTEyOHpNMjc4LjQ2NCAyOTguOTQ0YzQuNDgtMTMuMjQ4IDExLjA3Mi0yMy40MjQgMTkuOTA0LTMwLjU5MnMxOS44NC0xMC43NTIgMzMuMjE2LTEwLjc1MmM5Ljg1NiAwIDE4LjQ5NiAxLjk4NCAyNS44NTYgNS45NTJzMTMuNTA0IDkuNjY0IDE4LjM2OCAxNy4xNTIgOC42NCAxNi41MTIgMTEuMzkyIDI3LjI2NCA0LjA5NiAyNS4xNTIgNC4wOTYgNDMuMzI4YzAgMjEuNTA0LTIuMjQgMzguODQ4LTYuNjU2IDUyLjAzMnMtMTEuMDcyIDIzLjM2LTE5Ljg0IDMwLjU5Mi0xOS45MDQgMTAuODE2LTMzLjI4IDEwLjgxNmMtMTcuNjY0IDAtMzEuNTUyLTYuMzM2LTQxLjYtMTkuMDA4LTEyLjE2LTE1LjIzMi0xOC4xNzYtNDAuMDY0LTE4LjE3Ni03NC40OTYgMC0yMS42MzIgMi4yNC0zOS4xMDQgNi43Mi01Mi4yODh6TTEyNi41MjggNDQxLjZjLTAuMTkyLTUuMzc2IDAuNzA0LTEwLjYyNCAyLjYyNC0xNS42MTYgMy4wNzItOC4yNTYgOC0xNi4zODQgMTQuNzg0LTI0LjM4NHMxNi41NzYtMTcuMjggMjkuNDQtMjcuNzc2YzE5LjkwNC0xNi4zMiAzMy4zNDQtMjkuMjQ4IDQwLjM4NC0zOC43ODRzMTAuNDk2LTE4LjU2IDEwLjQ5Ni0yNy4wNzJjMC04Ljg5Ni0zLjItMTYuNDQ4LTkuNTM2LTIyLjU5MnMtMTQuNjU2LTkuMjE2LTI0Ljk2LTkuMjE2Yy0xMC44MTYgMC0xOS41MiAzLjI2NC0yNS45ODQgOS43MjhzLTkuNzkyIDE1LjYxNi05LjkyIDI3LjEzNmwtMjMuMTA0LTIuMzY4YzEuNi0xNy4yOCA3LjU1Mi0zMC40IDE3Ljg1Ni0zOS40MjRzMjQuMTkyLTEzLjU2OCA0MS42LTEzLjU2OGMxNy42IDAgMzEuNDg4IDQuODY0IDQxLjcyOCAxNC42NTZzMTUuMzYgMjEuODI0IDE1LjM2IDM2LjIyNGMwIDcuMzYtMS40NzIgMTQuNTI4LTQuNDggMjEuNjMycy03LjkzNiAxNC40NjQtMTQuODQ4IDIyLjMzNi0xOC41NiAxOC41Ni0zNC42ODggMzIuMjU2Yy0xMy41MDQgMTEuMzI4LTIyLjE0NCAxOS4wMDgtMjUuOTg0IDIzLjA0MHMtNi45NzYgOC4wNjQtOS40NzIgMTIuMTZoODkuODU2djIxLjYzMmgtMTIxLjE1MnpNNDc3LjY5NiA5MjguNjRoLTI1OS41MnYtMzQ3Ljg0aDI1MS40NTZ2NDEuMDg4aC0yMDUuNDR2MTA2LjQ5NmgxOTIuMzg0djQwLjgzMmgtMTkyLjM4NHYxMTguNGgyMTMuNTA0djQxLjAyNHpNNjE5LjY0OCAzNzQuNTkyYy03Ljc0NCAyMy4xMDQtMTkuMzI4IDQwLjk2LTM0LjY4OCA1My41NjhzLTM0LjgxNiAxOC44OC01OC4zMDQgMTguODhjLTMwLjkxMiAwLTU1LjE2OC0xMS4wNzItNzIuODMyLTMzLjI4LTIxLjE4NC0yNi42MjQtMzEuNzQ0LTcwLjA4MC0zMS43NDQtMTMwLjMwNCAwLTM3Ljg4OCAzLjkwNC02OC40MTYgMTEuNzEyLTkxLjUyczE5LjM5Mi00MC45NiAzNC43NTItNTMuNTA0YzE1LjQyNC0xMi41NDQgMzQuNzUyLTE4LjgxNiA1OC4xMTItMTguODE2IDE3LjIxNiAwIDMyLjMyIDMuNDU2IDQ1LjMxMiAxMC4zNjggMTIuOTkyIDYuOTc2IDIzLjY4IDE2Ljk2IDMyLjA2NCAzMC4wMTYgOC41MTIgMTMuMDU2IDE1LjE2OCAyOC45MjggMTkuOTY4IDQ3LjY4IDQuOCAxOC42ODggNy4xNjggNDQuMDMyIDcuMTY4IDc1Ljc3NiAwIDM3LjYzMi0zLjc3NiA2OC4wMzItMTEuNTIgOTEuMTM2ek04ODEuNDcyIDE1NS43MTJjLTIwLjQxNiAyMS42OTYtNDAuNjQgNTAuNjI0LTYwLjY3MiA4Ni42NTZzLTM1LjU4NCA3My4wODgtNDYuNTI4IDExMS4xMDRjLTcuODcyIDI2LjgxNi0xMi44NjQgNTYuMTkyLTE1LjEwNCA4OC4xMjhoLTQwLjQ0OGMwLjQ0OC0yNS4yMTYgNS4zNzYtNTUuNzQ0IDE0Ljg0OC05MS40NTZzMjMuMDQwLTcwLjIwOCA0MC44MzItMTAzLjM2YzE3LjY2NC0zMy4xNTIgMzYuNTQ0LTYxLjEyIDU2LjUxMi04My45MDRoLTE1Ni45OTJ2LTM3Ljc2aDIwNy41NTJ2MzAuNTkyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLWV4Y2hhbmdlMjAwNyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk3LAorCQkJCQkJNywKKwkJCQkJCTcsCisJCQkJCQk3CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0ODgsCisJCQkJImlkIjogMTM2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NTgsCisJCQkJIm5hbWUiOiAiaXQtYXBwLWV4Y2hhbmdlMjAwNyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE3NAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODk2IDEwMjRjNzAuODQ4IDAgMTI4LTU3LjE1MiAxMjgtMTI4di0yNTIuMDMybC0zNzkuOTY4IDM4MC4wMzJoMjUxLjk2OHoiLAorCQkJCQkiTTMzMS41MiA0MjYuMjRjMTAuMzY4IDAgMTkuMDA4LTQuOTkyIDI2LjA0OC0xNC45NzZzMTAuNTYtMzAuMDE2IDEwLjU2LTYwLjAzMmMwLTMwLjE0NC0zLjUyLTUwLjI0LTEwLjU2LTYwLjA5NnMtMTUuODA4LTE0LjkxMi0yNi4zMDQtMTQuOTEyYy0xMC4zNjggMC0xOC42MjQgNC4zNTItMjQuNzY4IDEzLjEyLTcuNzQ0IDExLjItMTEuNjQ4IDMxLjgwOC0xMS42NDggNjEuODg4czMuNTIgNTAuMTEyIDEwLjU2IDYwLjAzMiAxNS43NDQgMTQuOTc2IDI2LjExMiAxNC45NzZ6IiwKKwkJCQkJIk01MjYuMjA4IDE1Mi4xOTJjLTE4LjExMiAwLTMyLjUxMiA3LjY4LTQzLjMyOCAyMi45NzYtMTMuNTY4IDE5LjUyLTIwLjI4OCA1NS42MTYtMjAuMjg4IDEwOC4yODhzNi4xNDQgODcuNjggMTguNDk2IDEwNS4wODhjMTIuMjg4IDE3LjQ3MiAyNy40NTYgMjYuMTc2IDQ1LjU2OCAyNi4xNzZzMzMuMjgtOC43NjggNDUuNTY4LTI2LjI0YzEyLjQxNi0xNy41MzYgMTguNDk2LTUyLjQ4IDE4LjQ5Ni0xMDUuMDI0IDAtNTIuOC02LjE0NC04Ny44NzItMTguNDk2LTEwNS4yMTYtMTIuMjg4LTE3LjM0NC0yNy41ODQtMjYuMDQ4LTQ2LjAxNi0yNi4wNDh6IiwKKwkJCQkJIk04OTYgMGgtNzY4Yy03MC44NDggMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuODQ4IDU3LjE1MiAxMjggMTI4IDEyOGg0MTcuOTg0bDQ3OC4wMTYtNDgwdi00MTZjMC03MC45MTItNTcuMTUyLTEyOC0xMjgtMTI4ek0yNzguNDY0IDI5OC45NDRjNC40OC0xMy4yNDggMTEuMDcyLTIzLjQyNCAxOS45MDQtMzAuNTkyczE5Ljg0LTEwLjc1MiAzMy4yMTYtMTAuNzUyYzkuODU2IDAgMTguNDk2IDEuOTg0IDI1Ljg1NiA1Ljk1MnMxMy41MDQgOS42NjQgMTguMzY4IDE3LjE1MiA4LjY0IDE2LjUxMiAxMS4zOTIgMjcuMjY0IDQuMDk2IDI1LjE1MiA0LjA5NiA0My4zMjhjMCAyMS41MDQtMi4yNCAzOC44NDgtNi42NTYgNTIuMDMycy0xMS4wNzIgMjMuMzYtMTkuODQgMzAuNTkyLTE5LjkwNCAxMC44MTYtMzMuMjggMTAuODE2Yy0xNy42NjQgMC0zMS41NTItNi4zMzYtNDEuNi0xOS4wMDgtMTIuMTYtMTUuMjMyLTE4LjE3Ni00MC4wNjQtMTguMTc2LTc0LjQ5NiAwLTIxLjYzMiAyLjI0LTM5LjEwNCA2LjcyLTUyLjI4OHpNMTI2LjUyOCA0NDEuNmMtMC4xOTItNS4zNzYgMC43MDQtMTAuNjI0IDIuNjI0LTE1LjYxNiAzLjA3Mi04LjI1NiA4LTE2LjM4NCAxNC43ODQtMjQuMzg0czE2LjU3Ni0xNy4yOCAyOS40NC0yNy43NzZjMTkuOTA0LTE2LjMyIDMzLjM0NC0yOS4yNDggNDAuMzg0LTM4Ljc4NHMxMC40OTYtMTguNTYgMTAuNDk2LTI3LjA3MmMwLTguODk2LTMuMi0xNi40NDgtOS41MzYtMjIuNTkycy0xNC42NTYtOS4yMTYtMjQuOTYtOS4yMTZjLTEwLjgxNiAwLTE5LjUyIDMuMjY0LTI1Ljk4NCA5LjcyOHMtOS43OTIgMTUuNjE2LTkuOTIgMjcuMTM2bC0yMy4xMDQtMi4zNjhjMS42LTE3LjI4IDcuNTUyLTMwLjQgMTcuODU2LTM5LjQyNHMyNC4xOTItMTMuNTY4IDQxLjYtMTMuNTY4YzE3LjYgMCAzMS40ODggNC44NjQgNDEuNzI4IDE0LjY1NnMxNS4zNiAyMS44MjQgMTUuMzYgMzYuMjI0YzAgNy4zNi0xLjQ3MiAxNC41MjgtNC40OCAyMS42MzJzLTcuOTM2IDE0LjQ2NC0xNC44NDggMjIuMzM2LTE4LjU2IDE4LjU2LTM0LjY4OCAzMi4yNTZjLTEzLjUwNCAxMS4zMjgtMjIuMTQ0IDE5LjAwOC0yNS45ODQgMjMuMDQwcy02Ljk3NiA4LjA2NC05LjQ3MiAxMi4xNmg4OS44NTZ2MjEuNjMyaC0xMjEuMTUyek00NzcuNjk2IDkyOC42NGgtMjU5LjUydi0zNDcuODRoMjUxLjQ1NnY0MS4wODhoLTIwNS40NHYxMDYuNDk2aDE5Mi4zODR2NDAuODMyaC0xOTIuMzg0djExOC40aDIxMy41MDR2NDEuMDI0ek02MTkuNjQ4IDM3NC41OTJjLTcuNzQ0IDIzLjEwNC0xOS4zMjggNDAuOTYtMzQuNjg4IDUzLjU2OHMtMzQuODE2IDE4Ljg4LTU4LjMwNCAxOC44OGMtMzAuOTEyIDAtNTUuMTY4LTExLjA3Mi03Mi44MzItMzMuMjgtMjEuMTg0LTI2LjYyNC0zMS43NDQtNzAuMDgwLTMxLjc0NC0xMzAuMzA0IDAtMzcuODg4IDMuOTA0LTY4LjQxNiAxMS43MTItOTEuNTJzMTkuMzkyLTQwLjk2IDM0Ljc1Mi01My41MDRjMTUuNDI0LTEyLjU0NCAzNC43NTItMTguODE2IDU4LjExMi0xOC44MTYgMTcuMjE2IDAgMzIuMzIgMy40NTYgNDUuMzEyIDEwLjM2OCAxMi45OTIgNi45NzYgMjMuNjggMTYuOTYgMzIuMDY0IDMwLjAxNiA4LjUxMiAxMy4wNTYgMTUuMTY4IDI4LjkyOCAxOS45NjggNDcuNjggNC44IDE4LjY4OCA3LjE2OCA0NC4wMzIgNy4xNjggNzUuNzc2IDAgMzcuNjMyLTMuNzc2IDY4LjAzMi0xMS41MiA5MS4xMzZ6TTg1MC44OCA0MTguMTEyYy0yMC40MTYgMTkuNDU2LTQ2LjI3MiAyOS4xODQtNzcuNDQgMjkuMTg0LTI4LjA5NiAwLTUxLjUyLTguMzg0LTcwLjE0NC0yNS4xNTItMTguNTYtMTYuNzY4LTI5LjE4NC0zOC41MjgtMzEuODA4LTY1LjIxNmwzOS4zNi01LjI0OGM0LjQ4IDIyLjMzNiAxMi4xNiAzOC40IDIzLjA0MCA0OC4xOTIgMTAuODggOS44NTYgMjQuMTI4IDE0Ljc4NCAzOS43NDQgMTQuNzg0IDE4LjQ5NiAwIDM0LjExMi02LjQgNDYuODQ4LTE5LjI2NHMxOS4yLTI4LjY3MiAxOS4yLTQ3LjYxNmMwLTE4LjExMi01Ljg4OC0zMy4wMjQtMTcuNjY0LTQ0LjczNi0xMS44NC0xMS43MTItMjYuODE2LTE3LjYtNDUuMDU2LTE3LjYtNy40MjQgMC0xNi43MDQgMS40NzItMjcuNzc2IDQuMzUybDQuMzUyLTM0LjU2YzIuNjI0IDAuMjU2IDQuNjcyIDAuNDQ4IDYuMzM2IDAuNDQ4IDE2Ljc2OCAwIDMxLjg3Mi00LjM1MiA0NS4zMTItMTMuMTIgMTMuMzc2LTguNzY4IDIwLjA5Ni0yMi4yNzIgMjAuMDk2LTQwLjQ0OCAwLTE0LjQ2NC00LjkyOC0yNi40MzItMTQuNjU2LTM1LjkwNHMtMjIuNC0xNC4yMDgtMzcuODI0LTE0LjIwOGMtMTUuMzYgMC0yOC4wOTYgNC44LTM4LjMzNiAxNC40NjRzLTE2Ljc2OCAyNC4wNjQtMTkuNzEyIDQzLjMyOGwtMzkuMzYtNi45NzZjNC44LTI2LjQzMiAxNS43NDQtNDYuODQ4IDMyLjgzMi02MS4zNzZzMzguMzM2LTIxLjc2IDYzLjY4LTIxLjc2YzE3LjQ3MiAwIDMzLjUzNiAzLjc3NiA0OC4zMiAxMS4yNjQgMTQuNzIgNy41NTIgMjUuOTg0IDE3Ljc5MiAzMy43OTIgMzAuNzJzMTEuNzEyIDI2Ljc1MiAxMS43MTIgNDEuMzQ0YzAgMTMuODI0LTMuNzEyIDI2LjQ5Ni0xMS4yIDM3LjgyNC03LjM2IDExLjM5Mi0xOC40MzIgMjAuNDE2LTMzLjAyNCAyNy4xMzYgMTguOTQ0IDQuMzUyIDMzLjY2NCAxMy40NCA0NC4xNiAyNy4yNjQgMTAuNDk2IDEzLjc2IDE1Ljc0NCAzMC45NzYgMTUuNzQ0IDUxLjcxMiAwLjA2NCAyNy45NjgtMTAuMTEyIDUxLjcxMi0zMC41MjggNzEuMTY4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLWV4Y2hhbmdlMjAwMyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk3LAorCQkJCQkJNywKKwkJCQkJCTcsCisJCQkJCQk3CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0ODksCisJCQkJImlkIjogMTM1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NTksCisJCQkJIm5hbWUiOiAiaXQtYXBwLWV4Y2hhbmdlMjAwMyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE3NQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODk2IDEwMjRjNzAuODQ4IDAgMTI4LTU3LjE1MiAxMjgtMTI4di0yNTIuMDMybC0zNzkuOTY4IDM4MC4wMzJoMjUxLjk2OHoiLAorCQkJCQkiTTg5NiAwaC03NjhjLTcwLjg0OCAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC44NDggNTcuMTUyIDEyOCAxMjggMTI4aDQxNy45ODRsNDc4LjAxNi00ODB2LTQxNmMwLTcwLjkxMi01Ny4xNTItMTI4LTEyOC0xMjh6TTg3NC4wNDggMzg5LjUwNGMtMjEuMzEyIDI4LjM1Mi0xMDYuNDMyIDExOC43ODQtMTI0LjA5NiAxMjAuNTc2LTE3LjcyOCAxLjcyOC05Ny41MzYgMy41Mi0xNDAuMDMyIDUuMzEyLTQyLjYyNCAxLjc5Mi05Mi4yODgtMS43OTItOTIuMjg4LTEuNzkycy01My4xODQtMTQuMTQ0LTg4LjcwNC05MC40MzJjLTE3Ljk4NC0zOC42NTYtMzEuOTM2LTEwNC41NzYtMzcuMjQ4LTExMy40NzItNS4zMTItOC44MzItNS4zMTItOC44MzItNS4zMTItOC44MzJzLTQyLjU2IDI2LjU2LTYwLjI4OCA1MS4zOTItNDIuMDQ4IDEwMy41NTItNTYuNzY4IDEyMi4zNjhjLTE0Ljg0OCAxOS4wNzItMzguOTc2IDM4Ljk3Ni03Mi43MDQgNDYuMDgwcy0xMjUuOTUyLTEuNzI4LTEyNS45NTItMS43MjggMTIuNDE2LTQ2LjE0NCA2Ny4zOTItMTI5LjQ3MmM1NC45NzYtODMuMzkyIDEzNi41NzYtMTQ4LjggMTc5LjEzNi0xNDguOTkyIDM5LjYxNi0wLjE5MiA3NS43NzYtMC43NjggMTM4LjM2OCAwIDYyLjE0NCAwLjc2OCAxMjQuMTYgMTQuMjA4IDE0MS44ODggNTEuNDU2IDE3LjY2NCAzNy4yNDggNjAuMjI0IDE3Ny4zNDQgNjAuMjI0IDE3Ny4zNDRzMzUuNDU2LTEwOS45NTIgNTYuODMyLTE0OC45OTJjMjEuMjQ4LTM4Ljk3NiA0NC4yODgtNjcuMzkyIDgxLjQ3Mi03OC4wMTYgMzcuMzEyLTEwLjYyNCAxMzMuMTItMTAuNjI0IDEzMy4xMi0xMC42MjRsNDcuODcyIDcuMTA0YzAtMC4wNjQtODEuNjY0IDEyMi4zMDQtMTAyLjkxMiAxNTAuNzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC1kb3RuZXQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogWworCQkJCQkJNywKKwkJCQkJCTcKKwkJCQkJXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDkwLAorCQkJCSJpZCI6IDEzNCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjYwLAorCQkJCSJuYW1lIjogIml0LWFwcC1kb3RuZXQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNzYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTgyMC4zNyA2NzcuMzAzYy0xMy42MDUgMC0yNC43OTUgNS4xOTMtMzMuNjQ2IDE1LjcyNi04Ljg1IDEwLjQ1OS0xMy4zMTIgMjYuMzMxLTEzLjMxMiA0Ny43NjIgMCAyMS42NSA0LjM4OSAzNy43NDIgMTMuMTY2IDQ4LjEyOHMxOS44MjIgMTUuNTc5IDMzLjEzNCAxNS41NzljMTMuNDU4IDAgMjQuNTAzLTUuMTIgMzMuMDYxLTE1LjM2IDguNjMxLTEwLjMxMyAxMy4wMTktMjYuNjk3IDEzLjAxOS00OS4yOTggMC0yMS4wNjUtNC4zODktMzYuNzkxLTEzLjA5My00Ny4xNzctOC43MDQtMTAuMjQtMTkuNDU2LTE1LjM2LTMyLjMyOS0xNS4zNnoiLAorCQkJCQkiTTg4OC4wMjcgMGgtNzUyLjA1NWMtNzUuNTU3IDAtMTM1Ljk3MyA2MC40MTYtMTM1Ljk3MyAxMzUuOTczdjc1MS45ODJjMCA3NS43MDMgNjAuNDE2IDEzNi4wNDYgMTM1Ljk3MyAxMzYuMDQ2aDc1MS45ODJjNzUuNzAzIDAgMTM2LjA0Ni02MC4zNDMgMTM2LjA0Ni0xMzUuOTczdi03NTIuMDU1YzAtNzUuNTU3LTYwLjM0My0xMzUuOTczLTEzNS45NzMtMTM1Ljk3M3pNMTA3LjUyIDE0MS4zODVoMTAzLjg2M3YyNTMuMjk0aDE2Mi4wODV2ODIuNzI1aC0yNjUuOTQ3di0zMzYuMDE4ek0zNTAuNTc0IDgzMS42MzRjLTI0Ljg2OSAyMy45MTgtNTkuMTczIDM1Ljg0LTEwMy4wNTggMzUuODQtMzkuMTMxIDAtNzAuNzI5LTkuOTQ3LTk0Ljg2Ni0yOS43NjktMjkuNjk2LTI0LjU3Ni00NC40NzEtNTYuODMyLTQ0LjQ3MS05Ni42OTUgMC0zNy4xNTcgMTIuNTA3LTY3LjczIDM3LjU5NS05MS43OTRzNTguOTUzLTM2LjEzMyAxMDEuNTIyLTM2LjEzM2M0OC43ODYgMCA4NS41NzcgMTQuMTE3IDExMC41MTkgNDIuNDIzIDE5Ljk2OCAyMi44MjEgMzAuMDYyIDUwLjc2MSAzMC4wNjIgODQuMTE0IDAgMzcuNDQ5LTEyLjQzNCA2OC4wOTYtMzcuMzAzIDkyLjAxNHpNNTczLjIyMSA4NjEuOTg5aC04Mi43OThsLTEwMS4yMy0yNDMuNDE5aDk3LjA2MWw0Ny4yNSAxNTQuMjU4IDQ5LjAwNi0xNTQuMjU4aDk0LjEzNWwtMTAzLjQyNCAyNDMuNDE5ek02MjguNTE3IDQ2Ni45NDRjLTE5Ljg5NSAxMC42MDYtNDguMzQ3IDE1Ljk0NS04NS41MDQgMTUuOTQ1LTMyLjE4MyAwLTU3LjU2My00LjUzNS03Ni4wNjktMTMuNjc4LTE4LjUwNS04Ljk5Ny0zMy43OTItMjMuNDc5LTQ2LjAwNy00My4zMDEtMTIuMTQyLTE5Ljc0OS0xOC4yMTMtNDMuMDA4LTE4LjIxMy02OS43NzggMC0zOC4xMDcgMTIuMjE1LTY4LjgyNyAzNi41NzEtOTIuMzc5IDI0LjQzLTIzLjU1MiA1OC4wNzUtMzUuMjU1IDEwMS4wMTAtMzUuMjU1IDM0Ljg4OSAwIDYyLjM5MSA1LjI2NiA4Mi41MDUgMTUuNzk5IDIwLjE4NyAxMC41MzMgMzUuNTQ3IDI1LjgxOSA0Ni4wODAgNDUuNzg3IDEwLjYwNiAyMC4wNDEgMTUuODcyIDQ2LjA4MCAxNS44NzIgNzguMTl2MTAuNTMzaC0xODcuMDk5YzEuNjgyIDE0Ljk5NCA1LjcwNSAyNi4xODUgMTIuMTQyIDMzLjQ5OSA4Ljk5NyAxMC41MzMgMjAuNzczIDE1Ljc5OSAzNS4yNTUgMTUuNzk5IDkuMjE2IDAgMTcuOTItMi4yNjcgMjYuMTEyLTYuODc1IDUuMDQ3LTIuOTI2IDEwLjUzMy04LjA0NiAxNi4zMTEtMTUuMzZsOTEuOTQxIDguNDg1Yy0xNC4wNDMgMjQuNTAzLTMxLjAxMyA0MS45ODQtNTAuOTA3IDUyLjU5ek05MjIuMjU4IDgzMS42MzRjLTI0Ljg2OSAyMy45MTgtNTkuMjQ2IDM1Ljg0LTEwMy4wNTggMzUuODQtMzkuMDU4IDAtNzAuNzI5LTkuOTQ3LTk0Ljg2Ni0yOS43NjktMjkuNjIzLTI0LjU3Ni00NC40NzEtNTYuODMyLTQ0LjQ3MS05Ni42OTUgMC0zNy4xNTcgMTIuNTgxLTY3LjczIDM3LjY2OS05MS43OTQgMjUuMDE1LTI0LjA2NCA1OC44OC0zNi4xMzMgMTAxLjUyMi0zNi4xMzMgNDguNzg2IDAgODUuNTc3IDE0LjExNyAxMTAuNTE5IDQyLjQyMyAxOS45NjggMjIuODIxIDI5Ljk4OSA1MC43NjEgMjkuOTg5IDg0LjExNC0wLjA3MyAzNy40NDktMTIuNTA3IDY4LjA5Ni0zNy4zMDMgOTIuMDE0ek05ODQuOTQyIDQ3Ny40MDNoLTkzLjY5NnYtMTMzLjg1MWMwLTE1LjI4Ny0yLjg1My0yNi4xMTItOC40ODUtMzIuNDAyLTUuNjMyLTYuMzYzLTEzLjYwNS05LjUwOS0yMy44NDUtOS41MDktMTEuMjY0IDAtMjAuNDA3IDQuMzE1LTI3LjUwMiAxMi44NzMtNy4wMjIgOC41NTgtMTAuNTMzIDIzLjkxOC0xMC41MzMgNDYuMDgwdjExNi44ODJoLTkzLjMzdi0yNDMuNDkzaDg2Ljg5NHYzOS42NDNjMTMuMDE5LTE2LjE2NSAyNi4xMTItMjcuNzIxIDM5LjQyNC0zNC43NDNzMjkuNDc3LTEwLjQ1OSA0OC41NjctMTAuNDU5YzI1Ljg5MyAwIDQ2LjA4MCA3LjY4IDYwLjYzNSAyMy4wNDBzMjEuODcgMzkuMDU4IDIxLjg3IDcxLjE2OHYxNTQuNzd6IiwKKwkJCQkJIk01NzUuMTk1IDI5NS40MjRjLTcuODI2LTcuNzUzLTE4LjIxMy0xMS43MDMtMzEuMDEzLTExLjcwMy0xNC44NDggMC0yNi42OTcgNS44NTEtMzUuNTQ3IDE3LjYyNy01LjYzMiA3LjMxNC05LjIxNiAxOC4yODYtMTAuNzUyIDMyLjc2OGg5MS45NDFjLTEuOTAyLTE3Ljk5My02LjY1Ni0zMC45MzktMTQuNjI5LTM4LjY5M3oiLAorCQkJCQkiTTI0OC42ODYgNjc3LjMwM2MtMTMuNjA1IDAtMjQuODY5IDUuMTkzLTMzLjcxOSAxNS43MjYtOC44NSAxMC40NTktMTMuMzEyIDI2LjMzMS0xMy4zMTIgNDcuNzYyIDAgMjEuNjUgNC4zODkgMzcuNzQyIDEzLjE2NiA0OC4xMjhzMTkuODIyIDE1LjU3OSAzMy4xMzQgMTUuNTc5YzEzLjQ1OCAwIDI0LjQzLTUuMTIgMzMuMTM0LTE1LjM2IDguNjMxLTEwLjMxMyAxMi45NDYtMjYuNjk3IDEyLjk0Ni00OS4yOTggMC0yMS4wNjUtNC4zODktMzYuNzkxLTEzLjA5My00Ny4xNzctOC42MzEtMTAuMjQtMTkuMzgzLTE1LjM2LTMyLjI1Ni0xNS4zNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWxlbm92byIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk1LAorCQkJCQkJNSwKKwkJCQkJCTUsCisJCQkJCQk1CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0OTEsCisJCQkJImlkIjogMTMzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NjEsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItbGVub3ZvIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTc3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zNjEuNTM2IDc0OS4xMmwtMTA3LjAwOCAyNzQuODhoNTguODhsMjIuNjU2LTYyLjQ2NGgxMDkuODg4bDI0IDYyLjQ2NGg2MC4zNTJsLTExMC4wODAtMjc0Ljg4aC01OC42ODh6TTM1My4xNTIgOTE1LjI2NGwzNy4xMi0xMDIuMDE2IDM3Ljg4OCAxMDIuMDE2aC03NS4wMDh6IiwKKwkJCQkJIk02MTYuNzY4IDc1MS4zNmgtNTUuNDg4djI3Mi42NGgxOTMuNDcydi00Ni4zMzZoLTEzNy45ODR6IiwKKwkJCQkJIk05NTcuNjMyIDkwMS4xODRjMCAyMS43Ni0wLjgzMiAzNy4zMTItMi40MzIgNDYuNjU2cy02LjQ2NCAxNy4zNDQtMTQuNDY0IDIzLjY4Yy04IDYuNTI4LTE5LjkwNCA5LjY2NC0zNS42NDggOS42NjQtMTUuNDg4IDAtMjcuNzc2LTMuMzkyLTM2LjYwOC0xMC4xNzYtOS4wMjQtNi43ODQtMTQuNjU2LTE1Ljg3Mi0xNy4wMjQtMjcuMTM2LTEuMzQ0LTYuOTc2LTIuMDQ4LTIyLjMzNi0yLjA0OC00NS45NTJ2LTE0OC44NjRoLTU1LjQ4OHYxNDYuNjI0YzAgMzAuNzIgMS43OTIgNTQuMDE2IDUuNDQgNjkuNzYgMi40OTYgMTAuNjI0IDcuNjggMjAuOCAxNS41NTIgMzAuNDY0IDcuODcyIDkuNzI4IDE4LjU2IDE3LjYgMzIuMTkyIDIzLjYxNiAxMy41MDQgNi4wODAgMzMuNDA4IDkuMTUyIDU5LjcxMiA5LjE1MiAyMS43NiAwIDM5LjM2LTIuODE2IDUyLjg2NC04LjM4NCAxMy41MDQtNS41MDQgMjQuMzItMTIuOTkyIDMyLjMyLTIyLjQgOC4xMjgtOS4zNDQgMTMuNjMyLTIwLjg2NCAxNi42NC0zNC40OTZzNC40OC0zNi45MjggNC40OC02OS45NTJ2LTE0NC4zODRoLTU1LjQ4OHYxNTIuMTI4eiIsCisJCQkJCSJNMTAwNi4wMTYgNjQzLjM5MmMxMS4zMjgtNDIuMzA0IDE3Ljk4NC04Ni41OTIgMTcuOTg0LTEzMi40MTYgMC0yODIuNjg4LTIzMC4zMzYtNTEwLjk3Ni01MTMuMDI0LTUxMC45NzZzLTUxMC45NzYgMjI4LjI4OC01MTAuOTc2IDUxMC45NzZjMCAxODEuNTA0IDk0LjQgMzQwLjk5MiAyMzYuNTQ0IDQzMi4yNTZ2LTE3MS45MDRjMC03MC42NTYgNTcuMzQ0LTEyOCAxMjgtMTI4aDEwOC4yMjR2LTE5LjcxMmMwLTE5Ljk2OC04LjM4NC03MC44NDgtNDIuMjQtODAuNDQ4aDY2LjM2OGMzNi40MTYgMCA0NC4yMjQgNjMuNjggNDQuMjI0IDg0LjQ4djE1LjY4aDQ2NC44OTZ6TTg1OS4wMDggNDQ0LjYwOHYtODguNTEybDEyMi43NTIgMTIyLjY4OC0xMjIuNzUyIDEyMi42ODh2LTg4LjQ0OGgtMTY0LjkyOGMtMTkuOTY4IDAtNzAuOTEyIDEwLjQzMi04MC40NDggNDQuMjI0di02Ni4zNjhjMC0zNi40MTYgNjEuNjMyLTQ2LjI3MiA4Mi40OTYtNDYuMjcyaDE2Mi44OHpNNDA4LjM4NCA0NjguNzM2YzAgMzYuNDE2LTYxLjYzMiA0NC4yMjQtODIuNDk2IDQ0LjIyNGgtMTYyLjk0NHY4OC41MTJsLTEyMi42ODgtMTIyLjY4OCAxMjIuNjg4LTEyMi42ODh2ODguNTEyaDE2Ni45NzZjMTkuOTY4IDAgNjguOTI4LTguMzg0IDc4LjQ2NC00Mi4yNHY2Ni4zNjh6TTQ5Ni44OTYgNDc4Ljc4NGgtNjYuMzY4YzMzLjg1Ni05LjUzNiA0Mi4yNC02MC41NDQgNDIuMjQtODAuNDQ4di0xNjQuOTkyaC04OC41MTJsMTIyLjY4OC0xMjIuNjg4IDEyMi42ODggMTIyLjY4OGgtODguNDQ4djE2Mi45NDRjMCAyMC44NjQtNy44NzIgODIuNDk2LTQ0LjI4OCA4Mi40OTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXJvdXRlci1hbHU3NzUwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDkyLAorCQkJCSJpZCI6IDEzMiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjYyLAorCQkJCSJuYW1lIjogIml0LXJvdXRlci1hbHU3NzUwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTc4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01NTguNjU2IDQwMy41ODRjLTEwLjYyNC00LjA5Ni0yNy43NzYtNi4xNDQtNTEuMzI4LTYuMTQ0aC02My4wNDB2MjI5LjEyaDY0YzE5Ljc3NiAwIDM1LjI2NC0xLjc5MiA0Ni41OTItNS41MDQgMTEuMjY0LTMuNzEyIDIwLjE2LTguODk2IDI2Ljg4LTE1LjU1MiA5LjM0NC05LjQwOCAxNi43NjgtMjIuMDgwIDIyLjAxNi0zNy45NTIgNS4xODQtMTUuODcyIDcuODA4LTM1LjEzNiA3LjgwOC01Ny44NTYgMC0zMS4zNi01LjA1Ni01NS40MjQtMTUuNDI0LTcyLjMyLTEwLjMwNC0xNi43NjgtMjIuNzg0LTI4LjAzMi0zNy41MDQtMzMuNzkyeiIsCisJCQkJCSJNODg4IDBoLTc1MmMtNzUuNjQ4IDAtMTM2IDYwLjM1Mi0xMzYgMTM2djc1MmMwIDc1LjY0OCA2MC4zNTIgMTM2IDEzNiAxMzZoNzUyYzc1LjY0OCAwIDEzNi02MC4zNTIgMTM2LTEzNnYtNzUyYzAtNzUuNjQ4LTYwLjM1Mi0xMzYtMTM2LTEzNnpNMzM3Ljk4NCA2NjEuOTUyaC00MC43NjhsLTE1Ny41MDQtMjM1LjY0OHYyMzUuNjQ4aC0zOC4wMTZ2LTI5OS45MDRoNDAuNzA0bDE1Ny41MDQgMjM1LjUydi0yMzUuNTJoMzguMDgwdjI5OS45MDR6TTY0NC41NDQgNTcwLjg4Yy01LjMxMiAxNy42NjQtMTIuMDk2IDMyLjE5Mi0yMC40MTYgNDMuNzEyLTguMzg0IDExLjU4NC0xNy40MDggMjAuNjA4LTI3LjM5MiAyNy4yNjQtOS44NTYgNi42NTYtMjEuNzYgMTEuNjQ4LTM1Ljc3NiAxNC45NzYtMTMuOTUyIDMuNDU2LTMwLjAxNiA1LjEyLTQ4LjA2NCA1LjEyaC0xMDguMjg4di0yOTkuOTA0aDEwMy4zNmMyMy4yMzIgMCA0MS4wODggMS40NzIgNTMuMzEyIDQuMzUyIDE3LjIxNiAzLjkwNCAzMS44NzIgMTEuMDcyIDQ0LjAzMiAyMS40NCAxNS43NDQgMTMuMzc2IDI3LjY0OCAzMC40NjQgMzUuNDU2IDUxLjIgNy44MDggMjAuODY0IDExLjc3NiA0NC42MDggMTEuNzc2IDcxLjM2LTAuMDY0IDIyLjc4NC0yLjY4OCA0Mi45NDQtOCA2MC40OHpNOTE4LjY1NiA2MjIuNGMtOS4yMTYgMTQuMTQ0LTIyLjI3MiAyNS4wODgtMzkuMzYgMzIuOTYtMTcuMjE2IDcuODA4LTM2LjQxNiAxMS43NzYtNTcuNzkyIDExLjc3Ni0yNy4yIDAtNDkuOTItNC4wMzItNjguMTYtMTEuOTA0LTE4LjM2OC03LjkzNi0zMi43NjgtMTkuNzc2LTQzLjItMzUuNzEyLTEwLjQzMi0xNS44NzItMTUuODcyLTMzLjg1Ni0xNi40NDgtNTMuODg4bDM3LjQ0LTMuMjY0YzEuNzI4IDE0Ljk3NiA1LjgyNCAyNy4yNjQgMTIuMzUyIDM2Ljg2NCA2LjQ2NCA5LjYgMTYuNDQ4IDE3LjM0NCAzMC4yMDggMjMuMjk2IDEzLjU2OCA1Ljk1MiAyOC44NjQgOC44OTYgNDYuMDE2IDguODk2IDE1LjA0MCAwIDI4LjQxNi0yLjE3NiA0MC4wNjQtNi42NTYgMTEuNTg0LTQuNDggMjAuMTYtMTAuNjg4IDI1Ljc5Mi0xOC40OTYgNS43Ni03Ljg3MiA4LjU3Ni0xNi40NDggOC41NzYtMjUuNjY0IDAtOS40MDgtMi42ODgtMTcuNjY0LTguMTkyLTI0LjY0LTUuNDQtNi45NzYtMTQuNDY0LTEyLjkyOC0yNy4wMDgtMTcuNzI4LTguMDY0LTMuMDcyLTI1Ljg1Ni04LjA2NC01My4zNzYtMTQuNjU2LTI3LjY0OC02LjU5Mi00Ni44NDgtMTIuODY0LTU3Ljg1Ni0xOC42ODgtMTQuNC03LjQ4OC0yNS4wMjQtMTYuNzY4LTMyLTI3LjkwNC03LjEwNC0xMS4wNzItMTAuNTYtMjMuNTUyLTEwLjU2LTM3LjMxMiAwLTE1LjEwNCA0LjI4OC0yOS4zMTIgMTIuOTI4LTQyLjQ5NiA4LjUxMi0xMy4xODQgMjEuMDU2LTIzLjE2OCAzNy42MzItMzAuMDE2IDE2LjQ0OC02Ljc4NCAzNC44MTYtMTAuMjQgNTQuOTc2LTEwLjI0IDIyLjIwOCAwIDQxLjc5MiAzLjUyIDU4LjgxNiAxMC42ODggMTYuOTYgNy4xMDQgMzAuMDE2IDE3LjY2NCAzOS4xNjggMzEuNjE2IDkuMDg4IDEzLjg4OCAxNC4wMTYgMjkuNjk2IDE0LjcyIDQ3LjIzMmwtMzguMTQ0IDIuODhjLTEuOTg0LTE4Ljk0NC05LjAyNC0zMy4yOC0yMC43MzYtNDIuOTQ0LTExLjg0LTkuNjY0LTI5LjI0OC0xNC41OTItNTIuMjI0LTE0LjU5Mi0yNCAwLTQxLjUzNiA0LjQxNi01Mi40MTYgMTMuMTg0LTExLjAwOCA4LjgzMi0xNi40NDggMTkuMzkyLTE2LjQ0OCAzMS44MDggMCAxMC43NTIgMy44NCAxOS42NDggMTEuNjQ4IDI2LjYyNCA3LjYxNiA2Ljk3NiAyNy41MiAxNC4wODAgNTkuODQgMjEuMzc2IDMyLjI1NiA3LjI5NiA1NC40IDEzLjYzMiA2Ni4zNjggMTkuMTM2IDE3LjQwOCA4LjA2NCAzMC4yNzIgMTguMzY4IDM4LjU5MiAzMC43MiA4LjM4NCAxMi4zNTIgMTIuNTQ0IDI2LjU2IDEyLjU0NCA0Mi42MjQgMCAxNi00LjY3MiAzMC45NzYtMTMuNzYgNDUuMTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLW5kcyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ5MywKKwkJCQkiaWQiOiAxMzEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY2MywKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1uZHMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxNzkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTc2Ni40IDQxOS4xMzZjLTkuNzI4IDQ4LjUxMi0xOS41MiA5Ny4wODgtMjkuMjQ4IDE0NS42NjRoODAuMjU2YzIzLjQ4OC0xMi40OCAzMC42NTYtMTQuMzM2IDQzLjkwNC0zOC40IDcuMjMyLTIwLjQxNiAxNC41MjgtNDAuODMyIDIxLjc2LTYxLjI0OC0yMy41NTItNDMuNDU2LTQ4LjEyOC00OS44NTYtMTE2LjY3Mi00Ni4wMTZ6IiwKKwkJCQkJIk0yMTEuOTY4IDQxOS4xMzZjLTkuNzI4IDQ4LjU3Ni0xOS41MiA5Ny4wODgtMjkuMjQ4IDE0NS42NjQgMzEuNjE2LTIuNjI0IDYzLjIzMi01LjE4NCA5NC44NDgtNy43NDQgMjQuOTYtMTIuMjg4IDI0LjQ0OC0xMi40MTYgMzYuNTQ0LTM4LjMzNiAxNC4xNDQtMjcuMzI4IDEzLjM3Ni01MS41MiA3LjI5Ni04NC4yODgtMzYuNDgtNS4wNTYtNzIuOTYtMTAuMTc2LTEwOS40NC0xNS4yOTZ6IiwKKwkJCQkJIk04ODggMGgtNzUyYy03NS41ODQgMC0xMzYgNjAuNDE2LTEzNiAxMzZ2NzUyYzAgNzUuNjQ4IDYwLjQxNiAxMzYgMTM2IDEzNmg3NTJjNzUuNjQ4IDAgMTM2LTYwLjM1MiAxMzYtMTM2di03NTJjMC03NS41ODQtNjAuMzUyLTEzNi0xMzYtMTM2ek0xNzUuNDg4IDYxOC40MzJjLTUwLjI0IDMzLjA4OCAyNC4xOTIgODIuODgtODAuMjU2IDg0LjE2di0yMi44NDhjMTkuNDU2LTEwMi4xNDQgMzguOTEyLTIwNC40MTYgNTguMzY4LTMwNi41NiAxMTMuNDcyLTQuNTQ0IDE4OC4yODgtMy4xMzYgMjQwLjcwNCA1My42OTYgNy4yMzIgMjU1LjIzMi0xMTQuMzA0IDEyMi44MTYtMjE4LjgxNiAxOTEuNTUyek01NjIuMDQ4IDYxOC4zNjh2LTIyLjk3NmM5Ljc5Mi01MS4wNzIgMTkuNTItMTAyLjE0NCAyOS4xODQtMTUzLjI4LTcuMjk2LTcuNjgtMTQuNTkyLTE1LjI5Ni0yMS44ODgtMjIuOTc2aC04MC4yNTZjLTEyLjE2IDY2LjQzMi0yNC4zMiAxMzIuODY0LTM2LjQ4IDE5OS4yMzJoLTY1LjZjMjEuODg4LTExMi4zODQgNDMuNzc2LTIyNC43NjggNjUuNjY0LTMzNy4wODhoNTguMzY4Yy0yLjQzMiAzMC41OTItNC44IDYxLjI0OC03LjI5NiA5MS45MDQgNzEuNjgtMy4wNzIgMTE0LjYyNCA0LjIyNCAxNTMuMjggMzAuNjU2aC0wLjEyOHY3LjY4Yy05LjYgNjguOTI4LTE5LjQ1NiAxMzcuOTItMjkuMTIgMjA2Ljg0OGgtNjUuNzI4ek03MjIuNTYgNjI2LjE3NmMtMi4zNjggMjUuNDA4LTQuOCA1MS4wNzItNy4xNjggNzYuNDE2aC02NS42YzE5LjQ1Ni0xMDkuNzYgMzguNzg0LTIxOS41ODQgNTguMjQtMzI5LjQwOCA4OS43OTItMy4wNzIgMTc0LjAxNi0xLjYgMjI2LjI0IDMwLjY1NiA1My42MzIgMTg0Ljg5Ni03Mi40NDggMTg2LjU2LTIxMS43MTIgMjIyLjMzNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItcGhwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDk0LAorCQkJCSJpZCI6IDEzMCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjY0LAorCQkJCSJuYW1lIjogIml0LW90aGVyLXBocCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE4MAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODk2IDEwMjRjNzAuODQ4IDAgMTI4LTU3LjE1MiAxMjgtMTI4di0yNTIuMDMybC0zNzkuOTY4IDM4MC4wMzJoMjUxLjk2OHoiLAorCQkJCQkiTTg5NiAwaC03NjhjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC44NDggNTcuMDg4IDEyOCAxMjggMTI4aDQxNy45ODRsNDc4LjAxNi00ODB2LTQxNmMwLTcwLjkxMi01Ny4xNTItMTI4LTEyOC0xMjh6TTgzMS45MzYgMjYyLjMzNmMtMC44MzIgMC44MzItMS43OTIgMS4zNDQtMi42MjQgMi4xNzZoLTEwLjk0NGM0LjQ4LTAuNzY4IDkuMTUyLTEuNDcyIDEzLjU2OC0yLjE3NnpNNTMuODI0IDM1MS45MzZjMTIwLjk2LTIxMy43NiA0MjguMzUyLTEyMC4zODQgNTQ2LjExMi0yNTYuNzA0aDEwLjg4YzE0LjUyOCAyMC4wMzIgMjkuMTg0IDQwIDQzLjcxMiA2MC4wMzItMjEuODg4LTEwLjU2LTI0LjEyOC0yMS4xODQtMzguMjA4LTM4LjIwOC0yMy42OCAxOC4yNC00Ny4yOTYgMzYuNDE2LTcwLjk3NiA1NC41OTIgMS44NTYgMy42NDggMy42NDggNy4yOTYgNS4zNzYgMTAuOTQ0IDE4LjMwNCA1LjQ0IDM2LjQ4IDEwLjk0NCA1NC43MiAxNi4zODQtMTgyLjIwOC0xNy4wMjQtMzM3LjIxNiAwLjc2OC00NDcuODcyIDgxLjkyLTM4LjI3MiAyOC4wMzItNTYuNjQgNzIuNzA0LTk4LjMwNCA5OC4zMDRoLTUuNDR2LTI3LjI2NHpNMjM5LjQ4OCAzNjIuODhjLTUuNDQgMS43OTItMTAuOTQ0IDMuNjQ4LTE2LjM4NCA1LjQ0LTI1LjA4OC04LjA2NC0xOS4yNjQtMTAuMjQtMzIuNzY4LTI3LjMyOCA3LjI5Ni0xMi44IDE0LjU5Mi0yNS40NzIgMjEuODg4LTM4LjI3MmgzMi43MDR2MTEuMDA4YzguNTEyIDIwLjM1MiAyLjU2IDMzLjQwOC01LjQ0IDQ5LjE1MnpNMjg4LjcwNCA1MTAuMjcyaC0xMC45NDRjLTc1LjcxMiA0MC44MzItMjI5LjA1Ni01MC40MzItMjQ1Ljc2LTEwOS4xODQgMTEwLjUyOCA5LjkyIDExOS42OCAxMTkuMzYgMjU2LjcwNCAxMDMuNjh2NS41MDR6TTI5NC4xNDQgNDY2LjU2Yy0zMS4yMzIgMTYuNzY4LTYxLjA1NiAyOS4zMTItOTIuOCA1LjQ0IDU0LjE0NCAwLjk2IDY3Ljk2OC0xMS45NjggOTIuOC0zOC4yMDgtMS44NTYtMTAuOTQ0LTMuNjQ4LTIxLjgyNC01LjQ0LTMyLjcwNGwxNi4zODQgMTYuMzJjLTMuNjQ4IDE2LjM4NC03LjI5NiAzMi43NjgtMTAuOTQ0IDQ5LjE1MnpNMzEwLjUyOCAyNDIuNjg4aC0xMC45NDRjNC4xNi0wLjMyIDguMzItMC41NzYgMTIuNDE2LTAuODMyLTAuNDQ4IDAuMzItMS4wMjQgMC41MTItMS40NzIgMC44MzJ6TTQxNC4yNzIgMjA0LjQxNmMxMjAuMjU2LTIuMTc2IDE5Ni41NDQgMjQuMDY0IDI4My45NjggNDMuNzEydjUuNDRjLTUxLjAwOC05LjA4OC0xMDIuMDE2LTE4LjE3Ni0xNTIuODk2LTI3LjI2NC03Ny43NiA1LjE4NC0xNTUuNTg0IDEwLjM2OC0yMzMuMzQ0IDE1LjQ4OCAyOC40OC0yMC40MTYgNjYuMzY4LTIxLjEyIDEwMi4yNzItMzcuMzc2ek02MTAuODggMzc5LjJ2LTgxLjkyYzE5LjI2NCAzMS42OCAyMC41NDQgNDcuMTY4IDAgODEuOTJ6TTU1Ni4yMjQgMzkwLjE0NHYtOTguMzA0YzIzLjE2OCAzNy43NiAyNS45MiA1NS45MzYgMCA5OC4zMDR6TTM5Ny44ODggNDMzLjc5MmgtNS40NGMtMS44NTYtNTYuNDQ4LTMuNjQ4LTExMi44MzItNS41MDQtMTY5LjI4IDM2LjggNjEuMDU2IDE4LjI0IDkwLjI0IDEwLjk0NCAxNjkuMjh6TTQ0Ny4wNDAgNDAxLjA4OGMtMS43OTItNDMuNzEyLTMuNjQ4LTg3LjQyNC01LjQ0LTEzMS4wNzIgMjAuNjcyIDM2LjY3MiAyNS4yMTYgODkuMjggNS40NCAxMzEuMDcyek01MDEuNjMyIDQwMS4wMjR2LTExNC42ODhjMjIuMjA4IDQxLjkyIDE0LjQgNjAuOTI4IDUuMzc2IDExNC42ODhoLTUuMzc2ek02MjcuMzkyIDU1OS40MjRjLTMxLjg3Mi0xMS40NTYtODIuODE2LTIwLjIyNC0xMjAuMzItMzIuNzY4IDMuNjQ4LTUuNDQgNy4zNi0xMC44OCAxMC45NDQtMTYuNDQ4aDUuNTA0YzUzLjEyIDEuMDI0IDcwLjcyIDE5LjIgMTA5LjI0OCAzMi44MzIgMy42NDgtMTYuMzg0IDcuMjk2LTMyLjgzMiAxMC44OC00OS4xNTIgNS41MDQgMjEuMjQ4IDAuMTI4IDUwLjI0LTE2LjI1NiA2NS41MzZ6TTY2NS40NzIgMzY4LjI1NmgtNS41MDR2LTcwLjk3NmMxMy41MDQgMTkuOTY4IDEwLjE3NiA0My41MiA1LjUwNCA3MC45NzZ6TTcyMC4xMjggMzQwLjk5MmMtMTIuNzM2LTMuNjQ4LTI1LjQ3Mi03LjI5Ni0zOC4yNzItMTAuOTQ0bDM4LjI3MiA1LjQ0djUuNTA0ek04MTguMzY4IDM5NS41ODRjMTQuNC0zMS41NTIgMTAuMTEyLTYwLjIyNC01LjQ0LTg3LjQyNCAxNC41OTIgMTAuOTQ0IDI5LjEyIDIxLjg4OCA0My44NCAzMi43NjgtOS45MiAyNy4zMjgtMTIuODY0IDQyLjExMi0zOC40IDU0LjY1NnpNOTQ0IDUzNy41MzZjLTcuMjMyLTUuNDQtMTQuNjU2LTEwLjk0NC0yMS44MjQtMTYuMzg0LTEwLjk0NC0yMS44MjQtMjEuOTUyLTQzLjcxMi0zMi44MzItNjUuNTM2IDE0LjU5MiAxNi4zODQgMjkuMTIgMzIuNzY4IDQzLjcxMiA0OS4xNTItMS4wODgtOTUuMjMyLTI4LjczNi0xNjUuNDQtNS40NC0yNTEuMi0xLjc5Mi0xLjc5Mi0zLjY0OC0zLjU4NC01LjQ0LTUuNDQtMzAuMjA4IDQuNzM2LTYwLjE2IDkuNTM2LTkwLjI0IDE0LjI3MiAyNi42MjQtMjUuOTg0IDYwLjE2LTMzLjQwOCA5NS42OC01Mi40OGgxNi4zODR2MzI3LjYxNnoiLAorCQkJCQkiTTIxMi4yMjQgMzEzLjY2NGMtMy42NDggNy4yMzItNy4yMzIgMTQuNTI4LTEwLjg4IDIxLjgyNCAxMC44OCA1LjUwNCAyMS43NiAxMC45NDQgMzIuNzA0IDE2LjQ0OC00LjU0NC0yNi42ODgtNi4wMTYtMjUuMTUyLTIxLjgyNC0zOC4yNzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC1nbGFzc2Zpc2giCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0OTUsCisJCQkJImlkIjogMTI5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NjUsCisJCQkJIm5hbWUiOiAiaXQtYXBwLWdsYXNzZmlzaCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE4MQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNzA4LjU0NCA0NzYuMDk2aDYyLjU5MnY2NC4wNjRoLTYyLjU5MnYtNjQuMDY0eiIsCisJCQkJCSJNODg4IDBoLTc1MmMtNzUuNjQ4IDAtMTM2IDYwLjM1Mi0xMzYgMTM1LjkzNnY3NTIuMDY0YzAgNzUuNjQ4IDYwLjM1MiAxMzYgMTM2IDEzNmg3NTJjNzUuNjQ4IDAgMTM2LTYwLjM1MiAxMzYtMTM2di03NTIuMDY0YzAtNzUuNTg0LTYwLjM1Mi0xMzUuOTM2LTEzNi0xMzUuOTM2ek0yMzEuOTM2IDM0OS4yNDhoLTUyLjk5MnYzMTUuNDU2aC0zMC40di0zMTUuNDU2aC01My4zNzZ2LTI2Ljk0NGgxMzYuNzA0djI2Ljk0NHpNMzgzLjA0MCA1NTMuMTUybC05Ljc5MiAxMC4zMDRoLTgwLjk2djc2Ljk5Mmg2Mi41OTJ2LTM5LjA0MGgyOC4yMjR2MzguNTI4YzAgMTYuNTEyLTguMTI4IDI0Ljc2OC0yNC41MTIgMjQuNzY4aC03MC4wMTZjLTE2LjMyIDAtMjQuNTEyLTguMjU2LTI0LjUxMi0yNC43Njh2LTE2My4zOTJjMC0xNi41MTIgOC4xMjgtMjQuNzY4IDI0LjUxMi0yNC43NjhoNzAuMDE2YzE2LjMyIDAgMjQuNTEyIDguMjU2IDI0LjUxMiAyNC43Njh2NzYuNjA4ek00NjEuNTY4IDY2NC43MDRoLTI4LjYwOHYtMzQyLjRoMjguNjcydjM0Mi40ek02MzMuMzQ0IDY2NC43MDRoLTI5LjEydi0xODYuODE2bC02NC4xMjggMS43Mjh2MTg1LjA4OGgtMjkuMDU2di0yMTIuODY0aDI5LjEydjUuOTUyYzExLjMyOC0xLjQ3MiAyMi43ODQtMy4wNzIgMzQuMzY4LTQuNjA4IDEzLjk1Mi0xLjcyOCAyNS40NzItMi42MjQgMzQuNDk2LTIuNjI0IDE2LjI1NiAwIDI0LjM4NCA3LjkzNiAyNC4zODQgMjMuODA4djE5MC4zMzZ6TTc5OS4zNiA1NTMuMTUybC05Ljg1NiAxMC4zMDRoLTgwLjk2djc2Ljk5Mmg2Mi41OTJ2LTM5LjA0MGgyOC4yMjR2MzguNTI4YzAgMTYuNTEyLTguMTkyIDI0Ljc2OC0yNC41MTIgMjQuNzY4aC03MC4wMTZjLTE2LjM4NCAwLTI0LjUxMi04LjI1Ni0yNC41MTItMjQuNzY4di0xNjMuMzkyYzAtMTYuNTEyIDguMTI4LTI0Ljc2OCAyNC41MTItMjQuNzY4aDcwLjAxNmMxNi4zMiAwIDI0LjUxMiA4LjI1NiAyNC41MTIgMjQuNzY4djc2LjYwOHpNOTI0LjAzMiA0NzcuNDRoLTM3LjEydjE2MS42aDM3LjEydjI1LjZoLTQxLjM0NGMtMTYuMzIgMC0yNC41MTItOC4yNTYtMjQuNTEyLTI0Ljc2OHYtMTYyLjQzMmgtMjUuNTM2di0yNS42aDI1LjUzNnYtNjYuMzA0aDI4LjY3MnY2Ni4zMDRoMzcuMTJ2MjUuNnoiLAorCQkJCQkiTTI5Mi4yODggNDc2LjA5Nmg2Mi41OTJ2NjQuMDY0aC02Mi41OTJ2LTY0LjA2NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItdGVsbmV0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNDk2LAorCQkJCSJpZCI6IDEyOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjY2LAorCQkJCSJuYW1lIjogIml0LW90aGVyLXRlbG5ldCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE4MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjY0LjU3NiAzNDIuODQ4aC01NS4yOTZ2Mzc4LjExMmg1My4wNTZjMTUuNDg4IDAgMjguMDMyLTQuNDE2IDM3LjY5Ni0xMy4zMTIgOS42LTguOTYgMTQuNDY0LTIxLjA1NiAxNC40NjQtMzYuNTQ0di0yNzguOTEyYzAtMTQuNjU2LTQuNjA4LTI2LjU2LTEzLjg4OC0zNS43MTItOS4zNDQtOS4wMjQtMjEuMzEyLTEzLjYzMi0zNi4wMzItMTMuNjMyeiIsCisJCQkJCSJNODg4IDBoLTc1MmMtNzUuNjQ4IDAtMTM2IDYwLjM1Mi0xMzYgMTM2djc1MmMwIDc1LjY0OCA2MC4zNTIgMTM2IDEzNiAxMzZoNzUyYzc1LjY0OCAwIDEzNi02MC4zNTIgMTM2LTEzNnYtNzUyYzAtNzUuNjQ4LTYwLjM1Mi0xMzYtMTM2LTEzNnpNMzU0LjMwNCA2NzUuMTM2YzAgMjMuNjgtNy44MDggNDMuMTM2LTIzLjM2IDU4LjMwNHMtMzUuMiAyMi43ODQtNTguODggMjIuNzg0aC0xMDIuNjU2di00NDguNjRoMTAyLjU5MmMyMy45MzYgMCA0My41ODQgNy42MTYgNTkuMDcyIDIyLjc4NHMyMy4yMzIgMzQuNjI0IDIzLjIzMiA1OC4zMDR2Mjg2LjQ2NHpNNjA5LjIxNiA3NTYuMjI0aC0yNy41ODRsLTExOS44MDgtMzI5LjkydjMyOS45MmgtMzcuNTY4di00NDguNjRoMjkuODI0bDExNy41MDQgMzI0LjIyNHYtMzI0LjE2aDM3LjU2OHY0NDguNTc2ek04NTUuNjggNDQzLjg0aC0zOS44NzJ2LTEwMC45OTJoLTk2Ljg5NnY5NC42NTZsMTI0LjQxNiAxNDkuNjMyYzguMTkyIDkuOTIgMTIuMjg4IDIxLjEyIDEyLjI4OCAzMy41MzZ2MTAzLjc0NGMwIDkuMzQ0LTIuOTQ0IDE3LjAyNC04Ljc2OCAyMi45MTJzLTEzLjQ0IDguODk2LTIyLjc4NCA4Ljg5NmgtMTEyLjk2Yy05LjM0NCAwLTE3LjAyNC0yLjk0NC0yMy4wNDAtOC44OTZzLTkuMDI0LTEzLjU2OC05LjAyNC0yMi45MTJ2LTExMy43OTJoMzkuODA4djExMC40aDk2Ljg5NnYtMTA2Ljk0NGwtMTIzLjg0LTE0OS42MzJjLTguNTc2LTEwLjMwNC0xMi44NjQtMjEuNjk2LTEyLjg2NC0zNC4xMTJ2LTkwLjg4YzAtOS4zNDQgMy4wMDgtMTcuMDI0IDkuMDI0LTIyLjg0OCA2LjA4MC01Ljk1MiAxMy43Ni04Ljk2IDIzLjA0MC04Ljk2aDExMi45NmM5LjM0NCAwIDE3LjAyNCAzLjAwOCAyMi43ODQgOC45NiA1LjgyNCA1Ljg4OCA4Ljc2OCAxMy41NjggOC43NjggMjIuODQ4djEwNC4zODR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWRucyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ5NywKKwkJCQkiaWQiOiAxMjcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY2NywKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1kbnMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxODMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg4OCAwaC03NTJjLTc1LjY0OCAwLTEzNiA2MC4zNTItMTM2IDEzNnY3NTJjMCA3NS42NDggNjAuMzUyIDEzNiAxMzYgMTM2aDc1MmM3NS42NDggMCAxMzYtNjAuMzUyIDEzNi0xMzZ2LTc1MmMwLTc1LjY0OC02MC4zNTItMTM2LTEzNi0xMzZ6TTM3OS4zMjggNzI0LjQxNmMwIDkuMzQ0LTMuMDA4IDE3LjAyNC05LjAyNCAyMi45MTItNi4wMTYgNS45NTItMTMuNjk2IDguODk2LTIzLjEwNCA4Ljg5NmgtMTIyLjA0OGMtOS4zNDQgMC0xNy4wMjQtMi45NDQtMjIuOTEyLTguODk2LTUuOTUyLTUuOTUyLTguODk2LTEzLjU2OC04Ljg5Ni0yMi45MTJ2LTQxNi43NjhoMzkuODcydjQxMy4zNzZoMTA2LjM2OHYtNDEzLjM3NmgzOS44NzJ2NDE2Ljc2OHpNNjAwIDc1Ni4yMjRsLTgzLjM5Mi0yNDAuMTkyIDUuNDQtOC4wNjRoNzEuMDQwdi0xNjUuMTJoLTEwMi4yNzJ2NDEzLjM3NmgtMzkuODA4di00NDguNjRoMTUwLjIwOGM5LjM0NCAwIDE3LjAyNCAzLjAwOCAyMi45MTIgOC45NiA1Ljk1MiA1Ljg4OCA4Ljg5NiAxMy41NjggOC44OTYgMjIuODQ4djE3MC4zMDRjMCAyMS41NjgtMTQuNTI4IDMyLjM4NC00My41ODQgMzIuMzg0LTIuODggMC03LjA0MC0wLjEyOC0xMi42MDgtMC40NDgtNS41NjgtMC4xOTItOS42LTAuMzg0LTEyLjA5Ni0wLjM4NCAyNS44NTYgNzEuNDg4IDUxLjU4NCAxNDMuMTA0IDc3LjE4NCAyMTQuOTc2aC00MS45MnpNODQ0Ljg2NCA3NTYuMjI0aC0xNDMuMjk2di00NDguNjRoMzkuODA4djQxMy4zNzZoMTAzLjQ4OHYzNS4yNjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXVybCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDQ5OCwKKwkJCQkiaWQiOiAxMjYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY2OCwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci11cmwiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxODQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQuMDMyIDQ4OGMwLTcuMjMyLTIuODE2LTMwLjQtNC4wMzItNDMuOTY4djEyOS45ODRjMS44NTYgMjAuODY0IDQuMDMyIDQ0LjIyNCA0LjAzMiA1NC4wMTYgMCAxNy40NzIgNS4yNDggMzMuNzI4IDE0LjAxNiA0OS45ODRoMjM3Ljk1MmMtMTUwLjI3Mi0zOC43Mi0yNTEuOTY4LTEwOC42NzItMjUxLjk2OC0xOTAuMDE2eiIsCisJCQkJCSJNMCA2NzguMDE2aDEuOTg0Yy0wLjg5Ni05LjQ3Mi0xLjI4LTE3Ljk4NC0xLjk4NC0yNS45ODR2MjUuOTg0eiIsCisJCQkJCSJNNTEzLjk4NCA0NDQuMDMyYzI4Mi43NTIgMCA1MTItOTkuMzI4IDUxMi0yMjIuMDE2IDAtMS4zNDQgMC4xMjgtMi42MjQgMC00LjAzMiAwLTAuNzA0IDAtMS4zNDQgMC0xLjk4NC03LjQ4OC0xMTkuODA4LTIzMy45ODQtMjE2LTUxMi0yMTYtMjgyLjc1MiAwLTUxMiA5OS4zMjgtNTEyIDIyMi4wMTZzMjI5LjI0OCAyMjIuMDE2IDUxMiAyMjIuMDE2eiIsCisJCQkJCSJNNTE2LjAzMiA0OTQuMDE2Yy0yODIuNzUyIDAtNTEyLTk5LjMyOC01MTItMjIyLjAxNiAwLTcuMjMyLTIuNzUyLTMwLjQtNC4wMzItNDQuMDMydjEzNy45ODRjMS44NTYgMjAuODY0IDQuMDMyIDQ0LjI4OCA0LjAzMiA1NC4wODAgMCAxMjIuNjg4IDIyOS4yNDggMjIyLjAxNiA1MTIgMjIyLjAxNnM1MTItOTkuMzI4IDUxMi0yMjIuMDE2di0xNDguMDMyYy0wIDEyMi42ODgtMjI5LjMxMiAyMjIuMDE2LTUxMiAyMjIuMDE2eiIsCisJCQkJCSJNNzc2IDY3OC4wMTZoMjM4LjAxNmM4Ljc2OC0xNi4yNTYgMTQuMDE2LTMyLjUxMiAxNC4wMTYtNDkuOTg0di0xNDAuMDMyYzAgODEuMzQ0LTEwMS43NiAxNTEuMjk2LTI1Mi4wMzIgMTkwLjAxNnoiLAorCQkJCQkiTTE0MC43MzYgOTMyLjA5NmMtNS4wNTYgMTkuOTY4LTguNzY4IDM1LjA3Mi0xMS4xMzYgNDUuMzEyLTIuMDQ4LTkuMjgtNS4zNzYtMjMuMTY4LTkuOTg0LTQxLjc5MmwtNDkuNDcyLTIwMC4xMjhoLTQxLjZ2MjgyLjYyNGgyNi42ODh2LTI0MC42NGw2MC40OCAyNDAuNjRoMjQuOTZsNjAuNzM2LTIzNi41NDR2MjM2LjU0NGgyNi42ODh2LTI4Mi42MjRoLTM3LjM3NmwtNDkuOTg0IDE5Ni42MDh6IiwKKwkJCQkJIk0zNjkuNzkyIDgxOC41NmMtOC45NiAxOC41Ni0xNi41NzYgMzUuMi0yMi44NDggNDkuOTItNi41OTItMTUuOTM2LTEzLjYzMi0zMS44NzItMjEuMjQ4LTQ3LjgwOGwtNDEuMjE2LTg1LjE4NGgtMzMuNmw4MC41MTIgMTYyLjg4djExOS43NDRoMjcuNjQ4di0xMTkuNzQ0bDgzLjM5Mi0xNjIuODhoLTMyLjEyOGwtNDAuNTEyIDgzLjA3MnoiLAorCQkJCQkiTTU5Mi43MDQgODQ0LjAzMmMtOS40NzItNi43ODQtMjQuMTI4LTEzLjYzMi00My45MDQtMjAuMDMycy0zMS40ODgtMTIuMDk2LTM2LjYwOC0xNy45ODRjLTQuMDMyLTQuNjA4LTUuODI0LTkuNDcyLTUuODI0LTE2IDAtNy4xMDQgMS41MzYtMTMuNzYgNS44MjQtMTcuOTg0IDYuNjU2LTYuNjU2IDE2LTkuOTg0IDI3Ljg0LTkuOTg0IDExLjM5MiAwIDE5LjA3MiAzLjc3NiAyNC44OTYgOS45ODQgNS42MzIgNi4yMDggOS45MiAxNS44NzIgMTEuNzEyIDMwLjAxNmw0MC45Ni0yLjA0OGMtMC43MDQtMjUuMjgtNy44MDgtNDQuODY0LTIwLjQ4LTYwLjAzMi0xMi44LTE1LjEwNC0zMS44NzItMjQtNTcuMDg4LTI0LTE1LjQ4OCAwLTI4LjYwOCAzLjY0OC0zOS41NTIgOS45ODQtMTAuOTQ0IDYuNC0xOS4wNzIgMTUuODA4LTI0Ljg5NiAyOC4wMzItNS44MjQgMTIuMTYtOC43NjggMjUuOTg0LTguNzY4IDQwIDAgMjEuNzYgNi42NTYgMzguODQ4IDE5LjAwOCA1NC4wMTYgOC43NjggMTAuNzUyIDIzLjYxNiAyMC42MDggNDUuMzc2IDI4LjAzMiAxNi45NiA1Ljc2IDI3LjQ1NiA5LjcyOCAzMi4xOTIgMTIuMDMyIDYuOTEyIDMuMzkyIDExLjg0IDcuNDg4IDE0LjY1NiAxMi4wMzIgMi43NTIgNC41NDQgNC40MTYgOS40NzIgNC40MTYgMTYgMCAxMC4xMTItMy43MTIgMjAuNDE2LTEwLjI0IDI4LjAzMi02LjY1NiA3LjU1Mi0xNi4xOTIgOS45ODQtMjkuMzEyIDkuOTg0LTEyLjM1MiAwLTIyLjA4MC0zLjUyLTI5LjMxMi0xMi4wMzItNy4yOTYtOC41MTItMTIuMjI0LTIxLjg4OC0xNC42NTYtNDBsLTM5LjQyNCA1Ljk1MmMyLjY4OCAzMC43MiAxMS4yNjQgNTMuOTUyIDI0Ljg5NiA3MC4wMTZzMzMuMTUyIDI0IDU4LjU2IDI0YzE3LjQ3MiAwIDMyLjEyOC0zLjMyOCA0My45MDQtOS45ODQgMTEuNzEyLTYuNjU2IDE5Ljk2OC0xOC4yNCAyNi4zMDQtMzIgNi40NjQtMTMuNzYgMTAuMjQtMjguMjI0IDEwLjI0LTQ0LjAzMiAwLTE3LjM0NC0zLjQ1Ni0zMi4xOTItOC43NjgtNDQuMDMyLTUuMzc2LTExLjg0LTEyLjU0NC0yMS4xODQtMjEuOTUyLTI3Ljk2OHoiLAorCQkJCQkiTTkxNy42MzIgNzI0LjAzMmgtNDEuMDI0djI3MmgxNDIuMDE2di00Ni4wMTZoLTEwMC45OTJ6IiwKKwkJCQkJIk04MzcuMTIgOTIxLjk4NGM0Ljg2NC0xNy45ODQgNy4yOTYtMzguMjcyIDcuMjk2LTYyLjAxNiAwLTQ0Ljg2NC04Ljg5Ni04MS4wODgtMjYuMzA0LTEwNS45ODQtMTcuNDcyLTI0Ljk2LTQwLjQ0OC0zOC4wMTYtNzAuMjcyLTM4LjAxNi0zMC4xNDQgMC01NC4yMDggMTMuMDU2LTcxLjc0NCAzOC4wMTZzLTI2LjMwNCA2MS4xMi0yNi4zMDQgMTA1Ljk4NGMwIDQ0Ljk5MiA4Ljc2OCA3OS4xMDQgMjYuMzA0IDEwNCAxNy40NzIgMjQuODk2IDQwLjgzMiAzOC4wMTYgNzEuNzQ0IDM4LjAxNiAxNiAwIDMwLjcyLTQuMDk2IDQzLjkwNC0xMi4wMzIgMTYuNzY4IDE1LjM2IDI2LjU2IDIzLjEwNCAyNy44NCAyNCA1Ljg4OCA0LjM1MiAxMS40NTYgNy40ODggMTcuNTM2IDkuOTg0bDE0LjY1Ni00MGMtMTEuNzEyLTUuNzYtMjIuMjA4LTEyLjIyNC0zMi4xOTItMjIuMDE2IDguMDY0LTEyLjggMTMuODg4LTI2LjE3NiAxNy41MzYtMzkuOTM2ek03OTkuMDQwIDkwMC4wMzJjLTIuNjI0IDExLjkwNC02LjUyOCAyMS42MzItMTEuNzEyIDMwLjAxNi0xMi4xNi0xMi40OC0yNi4xNzYtMjEuNzYtMzkuNDg4LTI4LjAzMmwtMTAuMjQgMzJjOC41MTIgNC4wOTYgMTYuNjQgMTAuNjI0IDI0Ljg5NiAxNy45ODQtNS4yNDggMi42MjQtMTAuMjQgNC4wMzItMTYuMTI4IDQuMDMyLTE1LjY4IDAtMjkuMjQ4LTguMDY0LTM5LjQ4OC0yNC0xMC4zMDQtMTUuOTM2LTE2LjEyOC0zOS44NzItMTYuMTI4LTcyIDAtMzEuNjE2IDUuODI0LTU2LjI1NiAxNi4xMjgtNzIgMTAuMjQtMTUuNzQ0IDIyLjkxMi0yNCAzOS40ODgtMjRzMzAuNzIgOC4zMiA0MS4wMjQgMjQgMTQuNjU2IDQwLjI1NiAxNC42NTYgNzJjLTAuMDY0IDE1LjM2LTAuNDQ4IDI4LjA5Ni0zLjAwOCA0MHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGF0YWJhc2UtbXlzcWwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA0OTksCisJCQkJImlkIjogMTI1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NjksCisJCQkJIm5hbWUiOiAiaXQtZGF0YWJhc2UtbXlzcWwiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxODUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE1NC4yNCAyOTguNzUyaDk4LjA0OHYxOTkuODA4aC05OC4wNDh2LTE5OS44MDh6IiwKKwkJCQkJIk04ODggMGgtNzUyYy03NS42NDggMC0xMzYgNjAuNDE2LTEzNiAxMzZ2NzUyYzAgNzUuNjQ4IDYwLjM1MiAxMzYgMTM2IDEzNmg3NTJjNzUuNjQ4IDAgMTM2LTYwLjM1MiAxMzYtMTM2di03NTJjMC03NS41ODQtNjAuMzUyLTEzNi0xMzYtMTM2ek0yOTIuMDk2IDUwMi4wMTZjMCA5LjM0NC0zLjAwOCAxNy4wODgtOS4wMjQgMjMuMDQwLTYuMDE2IDYuMDgwLTEzLjY5NiA5LjA4OC0yMy4wNDAgOS4wODhoLTEwNS43OTJ2MTc3Ljk4NGgtMzkuODA4di00NDguNjRoMTQ1LjZjOS4zNDQgMCAxNy4wODggMy4wMDggMjMuMTA0IDguOTYgNi4wMTYgNS44ODggOS4wMjQgMTMuNTY4IDkuMDI0IDIyLjg0OHYyMDYuNzJ6TTM5Ny4zMTIgNzEyLjEyOGgtMzkuODcydi00NDguNjRoMzkuODcydjQ0OC42NHpNNjU3LjA4OCA3MTIuMTI4aC0yNy41ODRsLTExOS44MDgtMzI5LjkydjMyOS45MmgtMzcuNTY4di00NDguNjRoMjkuODI0bDExNy41NjggMzI0LjI4OHYtMzI0LjI4OGgzNy41Njh2NDQ4LjY0ek05MTAuMTQ0IDM5OS42OGgtNDAuMTI4di0xMDAuOTI4aC0xMDEuNDR2Mzc4LjExMmgxMDEuNDR2LTE1NS4wNzJoLTQ3Ljg3MnYtMzQuNDMyaDg4djE5Mi45NmMwIDkuMzQ0LTIuOTQ0IDE3LjAyNC04Ljg5NiAyMi45MTJzLTEzLjU2OCA4Ljg5Ni0yMi45MTIgOC44OTZoLTExNy44MjRjLTkuMzQ0IDAtMTcuMDI0LTIuOTQ0LTIyLjkxMi04Ljg5NnMtOC44OTYtMTMuNTY4LTguODk2LTIyLjkxMnYtMzg1LjAyNGMwLTkuMzQ0IDMuMDA4LTE3LjAyNCA4Ljg5Ni0yMi44NDggNS45NTItNS45NTIgMTMuNjMyLTguOTYgMjIuOTEyLTguOTZoMTE3LjgyNGM5LjM0NCAwIDE3LjAyNCAzLjAwOCAyMi45MTIgOC45NiA1Ljk1MiA1Ljg4OCA4Ljg5NiAxMy41NjggOC44OTYgMjIuODQ4djEwNC4zODR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXBpbmciCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MDAsCisJCQkJImlkIjogMTI0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NzAsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItcGluZyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE4NgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODg4IDBoLTc1MmMtNzUuNTg0IDAtMTM2IDYwLjM1Mi0xMzYgMTM2djc1MmMwIDc1LjY0OCA2MC40MTYgMTM2IDEzNiAxMzZoNzUyYzc1LjY0OCAwIDEzNi02MC4zNTIgMTM2LTEzNnYtNzUyYzAtNzUuNjQ4LTYwLjM1Mi0xMzYtMTM2LTEzNnpNMzUyIDI2OS4xMmgtMTE5LjE2OHYxOTMuOTJoMTA5LjY5NnY0MC44MzJoLTEwOS42OTZ2MjM2LjAzMmgtNDUuMzc2di01MTAuOTc2aDE2NC41NDR2NDAuMTkyek01OTAuNjU2IDI2OS4xMmgtNzguOTc2djQ3MC43ODRoLTQ1LjM3NnYtNDcwLjc4NGgtNzkuNjh2LTQwLjE5MmgyMDQuMDk2djQwLjE5MnpNODQ2LjQgNTAwLjYwOGMwIDEwLjYyNC0zLjQ1NiAxOS4zOTItMTAuMzA0IDI2LjI0cy0xNS42MTYgMTAuMzA0LTI2LjMwNCAxMC4zMDRoLTEyMC40NDh2MjAyLjc1MmgtNDUuNDR2LTUxMC45NzZoMTY1Ljg4OGMxMC42ODggMCAxOS40NTYgMy4zOTIgMjYuMzA0IDEwLjExMnMxMC4zMDQgMTUuNDg4IDEwLjMwNCAyNi4xMTJ2MjM1LjQ1NnoiLAorCQkJCQkiTTY4OS4zNDQgMjY5LjEyaDExMS42MTZ2MjI3LjU4NGgtMTExLjYxNnYtMjI3LjU4NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItZnRwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTAxLAorCQkJCSJpZCI6IDEyMywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjcxLAorCQkJCSJuYW1lIjogIml0LW90aGVyLWZ0cCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE4NworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODg4IDBoLTc1MmMtNzUuNTg0IDAtMTM2IDYwLjQxNi0xMzYgMTM2djc1MmMwIDc1LjY0OCA2MC40MTYgMTM2IDEzNiAxMzZoNzUyYzc1LjY0OCAwIDEzNi02MC4zNTIgMTM2LTEzNnYtNzUyYzAtNzUuNTg0LTYwLjM1Mi0xMzYtMTM2LTEzNnpNMjQzLjQ1NiA2OTUuMDQwbC03OS43NDQtMjI5LjYzMiA1LjI0OC03LjY4aDY3Ljk2OHYtMTU3Ljc2aC05Ny44NTZ2Mzk1LjEzNmgtMzguMDgwdi00MjguOGgxNDMuNjE2YzguOTYgMCAxNi4yNTYgMi44MTYgMjEuODg4IDguNDQ4IDUuNjMyIDUuNjk2IDguNTEyIDEyLjk5MiA4LjUxMiAyMS45NTJ2MTYyLjc1MmMwIDIwLjY3Mi0xMy44ODggMzAuOTc2LTQxLjY2NCAzMC45NzYtMi43NTIgMC02LjcyLTAuMTI4LTEyLjAzMi0wLjM4NHMtOS4xNTItMC4zODQtMTEuNTItMC4zODRjMjQuNjQgNjguMjg4IDQ5LjIxNiAxMzYuODMyIDczLjcyOCAyMDUuNTA0aC00MC4wNjR6TTQ4MS4yOCA2OTUuMDQwaC0xNDAuODY0di00MjguOGgxMzkuMnYzMy42NjRoLTEwMS4xMnYxNjBoOTIuMDMydjM0LjI0aC05MS45Njh2MTY3LjE2OGgxMDIuNzJ2MzMuNzI4ek03MDcuOTA0IDM5Ni40MTZoLTM4LjA4MHYtOTYuNDQ4aC05Mi42MDh2OTAuNDMybDExOC45MTIgMTQzLjA0MGM3LjgwOCA5LjQ3MiAxMS43NzYgMjAuMTYgMTEuNzc2IDMydjk5LjJjMCA5LjAyNC0yLjc1MiAxNi4zMi04LjMyIDIxLjk1Mi01LjYzMiA1LjY5Ni0xMi44NjQgOC41MTItMjEuODI0IDguNTEyaC0xMDcuOTY4Yy04Ljk2IDAtMTYuMzItMi44MTYtMjIuMDgwLTguNTEyLTUuNzYtNS42MzItOC42NC0xMi45MjgtOC42NC0yMS45NTJ2LTEwOC43MzZoMzguMDgwdjEwNS40NzJoOTIuNjA4di0xMDIuMjcybC0xMTguNC0xNDIuOTc2Yy04LjE5Mi05Ljg1Ni0xMi4zNTItMjAuNzM2LTEyLjM1Mi0zMi42NHYtODYuODQ4YzAtOC45NiAyLjg4LTE2LjI1NiA4LjY0LTIxLjk1MiA1LjgyNC01LjYzMiAxMy4yNDgtOC40NDggMjIuMTQ0LTguNDQ4aDEwNy45NjhjOC45NiAwIDE2LjE5MiAyLjgxNiAyMS44MjQgOC40NDggNS41NjggNS42OTYgOC4zMiAxMi45OTIgOC4zMiAyMS45NTJ2OTkuNzc2ek05MjMuMDA4IDI5OS45NjhoLTY2LjMwNHYzOTUuMTM2aC0zOC4wODB2LTM5NS4xMzZoLTY2Ljg4di0zMy43MjhoMTcxLjI2NHYzMy43Mjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXJlc3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MDIsCisJCQkJImlkIjogMTIyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NzIsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItcmVzdCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE4OAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTk0Ljc1MiA1NjYuMDE2aDc1LjM5MmwtMzcuNTY4LTIzMi4zODR6IiwKKwkJCQkJIk0zNDMuNDg4IDI5OS45NjhoMTA0Ljk2djM2MS40MDhoLTEwNC45NnYtMzYxLjQwOHoiLAorCQkJCQkiTTgxNy40NzIgMjk5Ljk2OGg5My43NnYxOTAuOTc2aC05My43NnYtMTkwLjk3NnoiLAorCQkJCQkiTTg4OCAwaC03NTJjLTc1LjU4NCAwLTEzNiA2MC40MTYtMTM2IDEzNnY3NTJjMCA3NS42NDggNjAuNDE2IDEzNiAxMzYgMTM2aDc1MmM3NS42NDggMCAxMzYtNjAuMzUyIDEzNi0xMzZ2LTc1MmMwLTc1LjU4NC02MC4zNTItMTM2LTEzNi0xMzZ6TTIzOC4wMTYgMzk2LjQxNmgtMzguMDgwdi05Ni40NDhoLTkyLjY3MnY5MC40MzJsMTE4LjkxMiAxNDMuMDQwYzcuODcyIDkuNDcyIDExLjc3NiAyMC4xNiAxMS43NzYgMzJ2OTkuMmMwIDkuMDI0LTIuNzUyIDE2LjMyLTguMzg0IDIxLjk1Mi01LjU2OCA1LjY5Ni0xMi44IDguNTEyLTIxLjc2IDguNTEyaC0xMDcuOTA0Yy04Ljk2IDAtMTYuMjU2LTIuODE2LTIyLjAxNi04LjUxMi01Ljc2LTUuNjMyLTguNjQtMTIuOTI4LTguNjQtMjEuOTUydi0xMDguNzM2aDM4LjA4MHYxMDUuNDcyaDkyLjYwOHYtMTAyLjI3MmwtMTE4LjQtMTQyLjk3NmMtOC4xOTItOS44NTYtMTIuMzUyLTIwLjczNi0xMi4zNTItMzIuNjR2LTg2Ljg0OGMwLTguOTYgMi44OC0xNi4yNTYgOC42NC0yMS45NTIgNS43Ni01LjYzMiAxMy4xMi04LjQ0OCAyMi4wODAtOC40NDhoMTA3Ljk2OGM4Ljk2IDAgMTYuMTkyIDIuODE2IDIxLjc2IDguNDQ4IDUuNTY4IDUuNjk2IDguMzg0IDEyLjk5MiA4LjM4NCAyMS45NTJ2OTkuNzc2ek00ODYuNTI4IDY2NC42NGMwIDkuMDI0LTIuODggMTYuMzItOC42NCAyMS45NTItNS43NiA1LjY5Ni0xMy4xMiA4LjUxMi0yMi4wODAgOC41MTJoLTEyMGMtOC45NiAwLTE2LjI1Ni0yLjgxNi0yMS44ODgtOC41MTItNS42MzItNS42MzItOC41MTItMTIuOTI4LTguNTEyLTIxLjk1MnYtMzY4YzAtOC45NiAyLjgxNi0xNi4yNTYgOC41MTItMjEuOTUyIDUuNjMyLTUuNjMyIDEyLjkyOC04LjQ0OCAyMS44ODgtOC40NDhoMTIwYzguOTYgMCAxNi4zMiAyLjgxNiAyMi4wODAgOC40NDggNS43NiA1LjY5NiA4LjY0IDEyLjk5MiA4LjY0IDIxLjk1MnYzNjh6TTY5MC4xMTIgNjk1LjA0MGwtMTUuMDQwLTk1LjM2aC04NS4yNDhsLTE1LjEwNCA5NS4zNmgtMzYuNjcydi0xLjE1Mmw3Ni40OC00MjguOGgzNy41NjhsNzUuOTA0IDQyOS45NTJoLTM3Ljg4OHpNOTQ5LjMxMiA0OTQuMjA4YzAgOC45Ni0yLjg4IDE2LjMyLTguNjQgMjIuMDgwcy0xMy4xMiA4LjY0LTIyLjA4MCA4LjY0aC0xMDEuMTJ2MTcwLjE3NmgtMzguMDgwdi00MjguOGgxMzkuMmM4Ljk2IDAgMTYuMzIgMi44MTYgMjIuMDgwIDguNDQ4IDUuNzYgNS42OTYgOC42NCAxMi45OTIgOC42NCAyMS45NTJ2MTk3LjUwNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItc29hcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUwMywKKwkJCQkiaWQiOiAxMjEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY3MywKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1zb2FwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTg5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk03NjYuMzM2IDU2My41ODRjLTYuOTEyLTYxLjk1MiAyOS4xMi0xMjguODMyIDk0LjE0NC0yMDkuOTItMjMuMTY4LTE1LjQyNC0zNy40NC0zNi4wOTYtNzguNTkyLTQ2LjkxMi0xNzAuNDk2LTIxLjYzMi0yNTAuMTc2IDIzLjc0NC0yNTAuMTc2IDIzLjc0NHMtMTEyLjE5Mi00OS43OTItMTkxLjY4LTQyLjYyNGMtMTMwLjQzMiAxMS42NDgtMTc2LjQ0OCAxMzQuNzItMTc5LjcxMiAyMDEuMTUyLTIuMzY4IDQ3LjkzNi02LjUyOCAxMTYuNTQ0IDEuNDA4IDE2OCAyOS44ODggMTkyLjgzMiAxMzAuNjg4IDI2OS45NTIgMjEzLjYzMiAyOTcuNTM2IDY0Ljc2OCAyMS41NjggODguMjU2LTMwLjc4NCAxMzUuNzQ0LTMwLjc4NCAxNS4yMzIgMCA2My44NzItMS43MjggNzMuODU2IDMuNzEyIDE0Ni4xNzYgNzkuNjggMjM4LjY1NiA3LjA0MCAzMDMuMDQwLTE5My4wMjQtNDUuMDU2LTE2LjcwNC0xMTEuMzYtOTAuMjQtMTIxLjY2NC0xNzAuODh6IiwKKwkJCQkJIk02OTYuNzY4IDY0Yy02MC44IDAtMTcwLjg4IDEwMi44NDgtMTYyLjE3NiAxODguMjg4IDAuNDQ4IDQuMDk2IDExLjk2OCA4LjA2NCAxNiA3LjIzMiA1Ni40NDgtMTEuNjQ4IDEyMS41MzYtNzAuOTEyIDE0MS44ODgtMTI3LjQyNCA1Ljk1Mi0xNi43NjggMjIuMTQ0LTY4LjA5NiA0LjI4OC02OC4wOTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1tYWNvcyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUwNCwKKwkJCQkiaWQiOiAxMjAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY3NCwKKwkJCQkibmFtZSI6ICJpdC1zZXJ2ZXItbWFjb3MiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxOTAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTYxOS45MDQgNDUyLjhjOS45ODQtNy41NTIgMTYuODk2LTE4LjI0IDIwLjU0NC0zMS45MzZsLTIzLjQ4OC0yLjg4Yy0zLjQ1NiA5LjYtOC4xMjggMTYuNTc2LTE0LjAxNiAyMC45MjhzLTEyLjk5MiA2LjU5Mi0yMS4zNzYgNi41OTJjLTExLjIgMC0yMC40OC0zLjkwNC0yOC4wMzItMTEuNzc2LTcuNDg4LTcuODA4LTExLjY0OC0xOS4wNzItMTIuNDgtMzMuNzkyaDEwMC4wMzJjMC4wNjQtMi42ODggMC4xMjgtNC42NzIgMC4xMjgtNi4wMTYgMC0yMi4xNDQtNS42OTYtMzkuMjk2LTE3LjA4OC01MS41Mi0xMS4zOTItMTIuMTYtMjUuOTg0LTE4LjMwNC00My45NjgtMTguMzA0LTE4LjQ5NiAwLTMzLjUzNiA2LjI3Mi00NS4xODQgMTguNjg4LTExLjU4NCAxMi40MTYtMTcuNDA4IDI5Ljg4OC0xNy40MDggNTIuNDggMCAyMS44MjQgNS43NiAzOC43MiAxNy4yOCA1MC44MTZzMjcuMDcyIDE4LjExMiA0Ni42NTYgMTguMTEyYzE1LjU1Mi0wIDI4LjI4OC0zLjc3NiAzOC40LTExLjM5MnpNNTU0LjExMiAzNTMuMjE2YzcuMTY4LTYuOTc2IDE1Ljg3Mi0xMC40OTYgMjYuMzA0LTEwLjQ5NiAxMS41ODQgMCAyMC45MjggNC4zNTIgMjguMTYgMTMuMTIgNC42NzIgNS42MzIgNy41NTIgMTQuMTQ0IDguNTc2IDI1LjQwOGgtNzQuODhjMC43NjgtMTEuNzEyIDQuNzM2LTIxLjA1NiAxMS44NC0yOC4wMzJ6IiwKKwkJCQkJIk01MTMuNDcyIDY3My45MmMtNy40MjQtMy4zMjgtMjEuMDU2LTcuMjMyLTQwLjk2LTExLjc3NnMtMzIuMTkyLTguOTYtMzYuOTI4LTEzLjI0OGMtNC44NjQtNC4yMjQtNy4yMzItOS43MjgtNy4yMzItMTYuMzIgMC03LjY4IDMuMzkyLTE0LjIwOCAxMC4xNzYtMTkuNjQ4czE3LjUzNi04LjE5MiAzMi4zODQtOC4xOTJjMTQuMjA4IDAgMjQuOTYgMy4wMDggMzIuMjU2IDkuMDI0IDcuMjk2IDUuOTUyIDExLjU4NCAxNC43ODQgMTIuOCAyNi40OTZsMjMuNDg4LTEuNzI4Yy0wLjQ0OC0xMC44OC0zLjQ1Ni0yMC41NDQtOS4wODgtMjkuMTg0LTUuNjMyLTguNTc2LTEzLjY5Ni0xNS4xMDQtMjQuMTkyLTE5LjUyLTEwLjQzMi00LjQ4LTIyLjUyOC02LjY1Ni0zNi4yODgtNi42NTYtMTIuNDggMC0yMy44MDggMi4xMTItMzMuOTg0IDYuMzM2cy0xNy45MiAxMC4zNjgtMjMuMjMyIDE4LjQ5NmMtNS4yNDggOC4xMjgtNy45MzYgMTYuODk2LTcuOTM2IDI2LjE3NiAwIDguNTEyIDIuMTc2IDE2LjE5MiA2LjUyOCAyMy4wNDBzMTAuOTQ0IDEyLjU0NCAxOS43NzYgMTcuMjhjNi44NDggMy41ODQgMTguNzUyIDcuNDI0IDM1Ljc3NiAxMS41MnMyNy45NjggNy4xMDQgMzIuOTYgOS4wODhjNy43NDQgMi45NDQgMTMuMzEyIDYuNTkyIDE2LjcwNCAxMC45NDQgMy4zMjggNC4yODggNS4wNTYgOS4zNDQgNS4wNTYgMTUuMTY4IDAgNS43Ni0xLjcyOCAxMS4wMDgtNS4yNDggMTUuODcyLTMuNDU2IDQuOC04LjgzMiA4LjY0LTE2IDExLjM5Mi03LjE2OCAyLjgxNi0xNS40MjQgNC4xNi0yNC43MDQgNC4xNi0xMC41NiAwLTIwLjAzMi0xLjc5Mi0yOC40MTYtNS41MDQtOC4zODQtMy42NDgtMTQuNjU2LTguNDQ4LTE4LjYyNC0xNC40LTQuMDMyLTUuOTUyLTYuNTkyLTEzLjU2OC03LjY4LTIyLjc4NGwtMjMuMTA0IDIuMDQ4YzAuMzIgMTIuMjg4IDMuNzEyIDIzLjQyNCAxMC4xNzYgMzMuMjhzMTUuMjk2IDE3LjE1MiAyNi42MjQgMjIuMDE2YzExLjMyOCA0Ljg2NCAyNS4zNDQgNy4zNiA0Mi4xMTIgNy4zNiAxMy4yNDggMCAyNS4wODgtMi40MzIgMzUuNjQ4LTcuMjk2IDEwLjU2LTQuOCAxOC42ODgtMTEuNjQ4IDI0LjMyLTIwLjI4OHM4LjUxMi0xNy45ODQgOC41MTItMjcuODRjMC05LjkyLTIuNjI0LTE4Ljc1Mi03Ljc0NC0yNi4zNjgtNS4yNDgtNy42MTYtMTMuMTg0LTEzLjk1Mi0yMy45MzYtMTguOTQ0eiIsCisJCQkJCSJNNDA0LjAzMiA0NDcuMjk2YzMuOTA0IDQuODY0IDguODMyIDguODk2IDE0Ljc4NCAxMi4wOTYgNi4wMTYgMy4yIDEyLjggNC44IDIwLjQxNiA0LjggMTAuMzY4IDAgMjAuMjI0LTIuOTQ0IDI5LjU2OC04Ljc2OCA5LjQwOC01LjgyNCAxNi41NzYtMTQuMjcyIDIxLjQ0LTI1LjI4IDUuMDU2LTEwLjk0NCA3LjQ4OC0yMy4zNiA3LjQ4OC0zNy4wNTYgMC0xMi44LTIuMjQtMjQuNTc2LTYuNzItMzUuMjY0LTQuNDE2LTEwLjc1Mi0xMS4wMDgtMTkuMDcyLTE5Ljc3Ni0yNC45NnMtMTguODgtOC44MzItMzAuMzM2LTguODMyYy04Ljc2OCAwLTE2LjE5MiAxLjcyOC0yMi4zMzYgNS4xMnMtMTEuNjQ4IDguNTEyLTE2LjUxMiAxNS4zNnYtMTcuNDcyaC0yMC43MzZ2MTg1LjQ3MmgyMi43MnYtNjUuMjE2ek00MTMuMTIgMzU1LjM5MmM3LjQyNC05LjAyNCAxNi0xMy41NjggMjUuNjY0LTEzLjU2OCA5LjcyOCAwIDE4LjE3NiA0LjIyNCAyNS4yMTYgMTIuNzM2czEwLjU2IDIxLjMxMiAxMC41NiAzOC40YzAgMTcuOTItMy41ODQgMzEuMTY4LTEwLjc1MiAzOS43NDQtNy4yMzIgOC41MTItMTUuODcyIDEyLjgtMjUuOTg0IDEyLjgtOS45MiAwLTE4LjM2OC00LjA5Ni0yNS4zNDQtMTIuMzUyLTcuMTA0LTguMjU2LTEwLjU2LTIxLjA1Ni0xMC41Ni0zOC4yNzJzMy43MTItMzAuNCAxMS4yLTM5LjQ4OHoiLAorCQkJCQkiTTMzNy40MDggNjcyLjk2YzguNzA0LTQuMjI0IDE1LjE2OC05LjkyIDE5LjQ1Ni0xNi44OTZzNi40NjQtMTQuNDY0IDYuNDY0LTIyLjRjMC04LjUxMi0yLjQzMi0xNi42NC03LjI5Ni0yNC40NDgtNC44LTcuNzQ0LTExLjUyLTEzLjUwNC0yMC4wMzItMTcuMjhzLTE5LjkwNC01LjYzMi0zNC4wNDgtNS42MzJoLTY5LjQ0djE4NS4xNTJoNzAuNTkyYzExLjc3NiAwIDIxLjY5Ni0xLjAyNCAyOS44MjQtMy4wNzJzMTQuODQ4LTUuMTIgMjAuMjg4LTkuMjE2YzUuMzc2LTQuMDMyIDkuOTItOS43OTIgMTMuNTY4LTE3LjI4czUuNTA0LTE1LjQ4OCA1LjUwNC0yNC4xOTJjMC0xMC43NTItMy4wMDgtMjAuMDMyLTkuMDI0LTI4LjAzMi02LjAxNi03Ljg3Mi0xNC41OTItMTMuNDQtMjUuODU2LTE2LjcwNHpNMjU3LjAyNCA2MDguMTkyaDM2Ljk5MmMxMy4zMTIgMCAyMi42NTYgMC44OTYgMjguMTYgMi41NiA1LjUwNCAxLjcyOCA5LjY2NCA0LjkyOCAxMi42MDggOS42IDIuOTQ0IDQuNzM2IDQuNDE2IDEwLjExMiA0LjQxNiAxNi4yNTYgMCA2LjQ2NC0xLjUzNiAxMS44NC00LjczNiAxNi4xMjhzLTcuODcyIDcuMzYtMTQuMDgwIDkuMjhjLTQuNzM2IDEuMzQ0LTEyLjQ4IDIuMTEyLTIzLjM2IDIuMTEyaC00MHYtNTUuOTM2ek0zNDMuMjMyIDczMy4zNzZjLTIuNDMyIDQuNDgtNS41MDQgNy45MzYtOS4zNDQgMTAuMzA0LTMuNzc2IDIuMzA0LTguNTEyIDQuMDMyLTE0LjE0NCA0Ljk5Mi0zLjIgMC42NC04Ljc2OCAwLjk2LTE2LjY0IDAuOTZoLTQ2LjA4MHYtNjMuNjhoNDIuNzUyYzExLjg0IDAgMjAuOCAxLjA4OCAyNy4wNzIgMy4xMzZzMTEuMiA1LjYzMiAxNC43MiAxMC43NTJjMy41MiA1LjA1NiA1LjMxMiAxMS4wNzIgNS4zMTIgMTcuOTIgMC4wNjQgNS45NTItMS4yMTYgMTEuMTM2LTMuNjQ4IDE1LjYxNnoiLAorCQkJCQkiTTMwOS4xMiA0NTIuODY0YzEzLjg4OC03LjYxNiAyNC41NzYtMTguODE2IDMyLjE5Mi0zMy42IDcuNTUyLTE0Ljg0OCAxMS4zMjgtMzEuNjE2IDExLjMyOC01MC4zNjggMC0xOC41Ni0zLjU4NC0zNS4wNzItMTAuNzUyLTQ5LjY2NC03LjE2OC0xNC42NTYtMTcuNjY0LTI1Ljk4NC0zMS4zNi0zNC4xNzZzLTI5LjE4NC0xMi4yODgtNDYuMjcyLTEyLjI4OGMtMjYuMTEyIDAtNDcuMzYgOC43MDQtNjMuODcyIDI2LjA0OHMtMjQuNzA0IDQxLjQ3Mi0yNC43MDQgNzIuMTkyYzAgMTYuMjU2IDMuNTIgMzEuNjggMTAuNjI0IDQ2LjIwOCA3LjEwNCAxNC41OTIgMTcuNDcyIDI2LjA0OCAzMS4xNjggMzQuNDk2czI5LjMxMiAxMi42MDggNDYuNzIgMTIuNjA4YzE2LjA2NCAwIDMxLjA0MC0zLjg0IDQ0LjkyOC0xMS40NTZ6TTIxOC44OCA0MjQuMDY0Yy0xMS45NjgtMTIuOC0xNy45ODQtMzAuNC0xNy45ODQtNTIuNjcyIDAtMjcuODQgNi4yNzItNDcuNzQ0IDE4Ljc1Mi01OS42NDhzMjcuMzkyLTE3Ljg1NiA0NC43MzYtMTcuODU2YzEyLjIyNCAwIDIzLjIzMiAzLjA3MiAzMy4wMjQgOS4yOHMxNy4yOCAxNC44NDggMjIuMzM2IDI2LjExMiA3LjYxNiAyNC4zODQgNy42MTYgMzkuNDg4YzAgMjMuODA4LTUuOTUyIDQyLjE3Ni0xNy44NTYgNTUuMTY4cy0yNy4wMDggMTkuMzkyLTQ1LjUwNCAxOS4zOTJjLTE4LjA0OCAwLTMzLjA4OC02LjQtNDUuMTItMTkuMjY0eiIsCisJCQkJCSJNNzAyLjQgNjAyLjI0Yy03LjQ4OC02LjQtMTYuNTc2LTEwLjgxNi0yNy4yLTEzLjI0OC03LjU1Mi0xLjcyOC0xOC41Ni0yLjY4OC0zMi45Ni0yLjY4OGgtNjMuNzQ0djE4NS4xNTJoNjYuODE2YzExLjIgMCAyMS4wNTYtMS4wODggMjkuNjk2LTMuMiA4LjY0LTIuMDQ4IDE2LTUuMTg0IDIyLjE0NC05LjI4IDYuMDgwLTQuMDMyIDExLjcxMi05LjY2NCAxNi44OTYtMTYuODMyIDUuMTItNy4wNDAgOS4zNDQtMTYuMDY0IDEyLjYwOC0yNi45NDRzNC44NjQtMjMuMjk2IDQuODY0LTM3LjM3NmMwLTE2LjUxMi0yLjM2OC0zMS4xNjgtNy4yMzItNDQuMDMyLTQuODY0LTEyLjczNi0xMi4xNi0yMy4yOTYtMjEuODg4LTMxLjU1MnpNNzAxLjQ0IDcxMy4yMTZjLTMuMjY0IDkuNzkyLTcuODA4IDE3LjYtMTMuNjMyIDIzLjM2LTQuMDk2IDQuMDk2LTkuNiA3LjM2LTE2LjU3NiA5LjZzLTE2LjU3NiAzLjQ1Ni0yOC43MzYgMy40NTZoLTM5LjQ4OHYtMTQxLjQ0aDM4Ljg0OGMxNC41OTIgMCAyNS4xNTIgMS4yOCAzMS42OCAzLjg0IDkuMTUyIDMuNTIgMTYuODMyIDEwLjQ5NiAyMy4xNjggMjAuODY0czkuNDcyIDI1LjI4IDkuNDcyIDQ0LjYwOGMwLjA2NCAxNC4wMTYtMS41MzYgMjUuODU2LTQuNzM2IDM1LjcxMnoiLAorCQkJCQkiTTAgMHYxMDI0aDEwMjR2LTUzMy4xMmMtODUuODg4IDE0LjY1Ni0xNDQuMTkyIDEyMi4zNjgtMTI3LjkzNiAyMTAuODE2LTU1Ljg3Mi0xMi40OC02NS44NTYtNTIuNjA4LTk0LjAxNi01OS4xMzYgNS43NiAyMi42NTYgMTEuMzkyIDQ1LjEyIDE3LjIxNiA2Ny42NDgtMzQuMTEyLTMuMjY0LTI3LjAwOC05LjE1Mi01MS4yIDguNTEyIDExLjM5MiAyNS4yOCAyMi42NTYgNTAuNDk2IDMzLjk4NCA3NS43NzYtMi44MTYgMC01LjYzMiAwLTguNTEyIDAtMjMuODA4LTIyLjAxNi0yOS4wNTYtMzEuNDg4LTY4LjA5Ni00Mi4xMTItMi44MTYgNS42MzItNS44MjQgMTEuMTM2LTguNjQgMTYuODk2IDUuODI0IDE3LjAyNCAxMS40NTYgMzMuNzI4IDE3LjIxNiA1MC43NTItMzcuMTItMjUuMTUyLTI3LjUyLTMxLjc0NC02OC40MTYtMTcuMDI0LTIuODE2IDIyLjUyOC01LjY5NiA0NC45OTItOC41MTIgNjcuNjQ4LTIxLjE4NC0yNC4xMjgtMTQuNDY0LTI5LjI0OC01MS4yLTQyLjM2OC0yLjgxNiAxNy4wMjQtNS43NiAzMy44NTYtOC41MTIgNTAuNjI0LTguNTc2LTExLjI2NC0xNy4xNTItMjIuNTI4LTI1LjUzNi0zMy42LTguNTc2IDUuNzYtMTcuMTUyIDExLjEzNi0yNS42IDE2Ljg5Ni0yLjg4IDIyLjQtNS42OTYgNDQuOTkyLTguNjQgNjcuNTItMTEuMzkyLTIyLjUyOC0yMi43Mi00NS4xMi0zMy45ODQtNjcuNTItNS42OTYgMi43NTItMTEuNTIgNS41MDQtMTcuMTUyIDguNTEyLTguNTc2IDMyLjY0LTMuMzI4IDI1LjI4LTI1LjYgNDIuMTEyLTIuODgtMTQuMTQ0LTUuNjk2LTI4LjIyNC04LjU3Ni00Mi4xMTItNS42MzIgMi42MjQtMTEuMzI4IDUuNTA0LTE3LjAyNCA4LjI1Ni0xMC44OCAzNy41MDQtMTYuOTYgNDMuMjY0LTM0LjExMiA1MC43NTItNS43Ni0xOS44NC0xMS40NTYtMzkuNjE2LTE3LjE1Mi01OS4wNzItMTcuNiAxNy4xNTItMTkuMjY0IDI4LjM1Mi00Mi42MjQgNDIuMTEyIDAtMTcuMDI0IDAtMzMuODU2IDAtNTAuNjI0LTIyLjcyIDE0LjAxNi00NS41NjggMjguMDMyLTY4LjI4OCA0Mi4yNCA2LjQtNDYuODQ4IDExLjk2OC01Ni42NC0xNy4wODgtODQuMzUyLTE3LjA4OCAxMS4xMzYtMzQuMTEyIDIyLjUyOC01MS4yNjQgMzMuNiA1LjgyNC0yMi41MjggMTEuNDU2LTQ0Ljg2NCAxNy4xNTItNjcuMzkyLTI1LjUzNiA1LjYzMi01MS4yIDExLjI2NC03Ni44IDE2Ljc2OCAxMS4zOTItMTYuNzY4IDIyLjcyLTMzLjcyOCAzNC4xNzYtNTAuNjI0LTE4LjQ5Ni0yMy4zNi0xNi4yNTYtMTguNzUyLTM0LjE3Ni00Mi4xMTItMTEuMzkyIDUuNjMyLTIyLjY1NiAxMS4yNjQtMzQuMTEyIDE2Ljg5NiAyMy40MjQtNDguNjQgMTAuODE2LTM4LjQtMjUuNTM2LTg0LjQ4LTQwLjcwNCAxMi41NDQtNjEuNTA0IDguODMyLTg1LjQ0LTE2LjgzMiA4Mi40MzItNjkuMTg0IDk3LjkyLTE4NCAxNTMuNi0yNjEuNTA0LTguNTEyLTExLjI2NC0xNy4wMjQtMjIuNDY0LTI1LjYtMzMuNjY0IDExLjM5MiAwIDIyLjcyIDAgMzQuMTEyIDAtMTQuMTQ0LTI1LjQwOC0yOC40MTYtNTAuNjg4LTQyLjYyNC03Ni4wMzIgMjguNDE2IDguNDQ4IDU2Ljk2IDE3LjAyNCA4NS4yNDggMjUuNDA4LTExLjk2OC0yOC4wOTYgMjAuMzUyLTI5LjUwNCAxNy4xNTItNzUuOTY4IDE0LjIwOCA1LjU2OCAyOC40MTYgMTEuMiA0Mi42ODggMTYuODMyLTUuNjk2LTI1LjM0NC0xMS4zOTItNTAuNjI0LTE3LjA4OC03NS44NCAzMC41OTIgMTkuNzc2IDI4LjkyOCAzNi4zNTIgNjguMjI0IDUwLjQ5NiAwLTExLjIgMC0yMi40NjQgMC0zMy42NjQgMTEuMzkyIDguMzg0IDIyLjg0OCAxNi43NjggMzQuMTc2IDI1LjIxNiAxLjcyOC0zNi4zNTIgMi4yNC00MC42NCAxNy4xNTItNTkuMDA4IDUuNTY4IDE0LjE0NCAxMS4yNjQgMjguMTYgMTYuOTYgNDIuMTc2IDI1LjI4LTM0LjA0OCAxOS45MDQgMC41MTIgMzQuMTc2LTI1LjIxNiA1LjY5Ni0xNi45NiAxMS4zOTItMzMuNzkyIDE3LjA4OC01MC42ODggMTEuMzkyIDIyLjQ2NCAyMi42NTYgNDUuMDU2IDM0LjExMiA2Ny40NTYgNS43Ni0xMS4yIDExLjM5Mi0yMi41OTIgMTcuMDg4LTMzLjc5MiAwIDE0LjE0NCAwIDI4LjIyNCAwIDQyLjE3NiA1LjYzMi0yLjc1MiAxMS40NTYtNS42MzIgMTcuMTUyLTguMzg0IDguNTEyLTMyLjc2OCAzLjI2NC0yNS4zNDQgMjUuNi00Mi4xNzYgMCAxNi44MzIgMCAzMy43OTIgMCA1MC42MjQgMjMuOTM2LTE0Ljg0OCAxNC40NjQtMTIuMzUyIDM0LjA0OC0xNi44MzIgMCA4LjM4NCAwIDE2LjgzMiAwIDI1LjI4IDIyLjY1Ni0yMi40IDQ1LjUwNC00NS4wNTYgNjguMjI0LTY3LjQ1Ni01LjU2OCAzMC45NzYtMTEuMzI4IDYxLjgyNC0xNy4wMjQgOTIuOCA4LjUxMi01Ljc2IDE3LjA4OC0xMS4zOTIgMjUuNi0xNy4wMjQgMTQuMDgwLTMwLjQgMi4zMDQtMTkuNzc2IDMzLjk4NC0zMy42NjQtNS42MzIgMjUuMjgtMTEuMzI4IDUwLjY4OC0xNy4wMjQgNzUuOTY4IDExLjM5Mi04LjQ0OCAyMi43Mi0xNi44OTYgMzQuMjQtMjUuMjgtMi44OCAxNC4wMTYtNS44MjQgMjguMDMyLTguNzA0IDQyLjExMiAyMi44NDgtMTEuMiA0NS42MzItMjIuNDY0IDY4LjI4OC0zMy42NjQtMTEuMzkyIDIyLjQ2NC0yMi42NTYgNDQuOTI4LTM0LjExMiA2Ny41MiAyLjgxNiAyLjgxNiA1LjgyNCA1LjU2OCA4LjY0IDguMzg0IDI1LjQ3Mi0xMS4yIDUxLjEzNi0yMi42NTYgNzYuNjA4LTMzLjc5MiAwIDIuODE2IDAgNS42MzIgMCA4LjQ0OC0yOS4zNzYgNDMuNzEyLTMzLjI4IDM5LjgwOC0xNi45NiA3Ni4wMzIgMjIuNjU2LTguNDQ4IDQ1LjUwNC0xNy4wMjQgNjguMjg4LTI1LjM0NCAwIDIuNzUyIDAgNS42MzIgMCA4LjMyLTE3LjE1MiAxNC4yMDgtMzQuMTc2IDI4LjE2LTUxLjM5MiA0Mi4yNCAyNi4zNjggMzIuMjU2IDEyLjczNi0wLjU3NiA4LjU3NiA1MC42MjQgMjAuMDMyLTIuNzUyIDQwLTUuNjMyIDU5LjkwNC04LjM4NC0xNy4wODggMTkuNjQ4LTM0LjE3NiAzOS4yOTYtNTEuMjY0IDU5LjA3MiAxNC4yNzItMi44MTYgMjguNjA4LTUuNTY4IDQyLjc1Mi04LjQ0OC0xMS42NDggMTYtMjEuNDQgMTkuOTY4LTM0LjE3NiAzMy43MjggNS42OTYgOC4zMiAxMS4zOTIgMTYuODMyIDE3LjAyNCAyNS4yMTYgNDUuNTY4LTI2LjY4OCA1OC42ODgtNTEuOTA0IDEyOC01OC45NDQgMTcuMjE2IDExLjIgMzQuMTc2IDIyLjUyOCA1MS4yIDMzLjcyOHYtNDkwLjk0NGgtMTAyMy45MzZ6IiwKKwkJCQkJIk03NjkuNiAzMzkuODRjLTMuMzkyLTQuNzM2LTguNTEyLTguNTEyLTE1LjIzMi0xMS4zOTJzLTE0LjIwOC00LjM1Mi0yMi4yNzItNC4zNTJjLTE4LjYyNCAwLTMyLjg5NiA3LjM2LTQyLjY4OCAyMi4wODB2LTE5LjEzNmgtMjAuNDh2MTM0LjA4MGgyMi43MnYtNzMuMTUyYzAtMTcuMjE2IDMuNTItMjguODY0IDEwLjU2LTM1LjAwOCA2Ljk3Ni02LjE0NCAxNS4zNi05LjIxNiAyNS4wODgtOS4yMTYgNi4wODAgMCAxMS4zMjggMS4zNDQgMTUuODA4IDQuMDk2IDQuNDggMi42ODggNy42OCA2LjQgOS40MDggMTAuOTQ0IDEuNzI4IDQuNjA4IDIuNjI0IDExLjUyIDIuNjI0IDIwLjh2ODEuNTM2aDIyLjcydi04Mi40MzJjMC0xMC41Ni0wLjQ0OC0xNy45Mi0xLjI4LTIyLjA4MC0xLjI4LTYuNDY0LTMuNjQ4LTEyLjA5Ni02Ljk3Ni0xNi43Njh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1vcGVuYnNkIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTA1LAorCQkJCSJpZCI6IDExOSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Njc1LAorCQkJCSJuYW1lIjogIml0LXNlcnZlci1vcGVuYnNkIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTkxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk03OTcuOTUyIDI5OS4wNzJjNS44MjQgNS44MjQgMTEuNjQ4IDExLjU4NCAxNy40MDggMTcuNDA4LTEyLjAzMi0xNi42NC0wLjg5Ni01LjEyLTE3LjQwOC0xNy40MDh6TTAgMHYxMDI0aDEwMjR2LTEwMjRoLTEwMjR6TTIxNC42NTYgMjczLjAyNGgxNy4zNDR2OC43MDRjLTUuNzYgNS44MjQtMTEuNTg0IDExLjU4NC0xNy4zNDQgMTcuNDA4aC04Ljc2OGMyLjg4LTguNzY4IDUuODI0LTE3LjQ3MiA4Ljc2OC0yNi4xMTJ6TTE5Ny4xODQgMzM0LjAxNmMyLjg4IDguNjQgNS44MjQgMTcuMzQ0IDguNzA0IDI2LjA0OGgtOC43MDR2LTI2LjA0OHpNNTcxLjY0OCA2NDcuMzZjLTQ1Ljg4OC0xNi44OTYtODEuMjE2LTI5LjU2OC0xMDQuNTc2LTY5LjYzMiAxMS41ODQgNS43NiAyMy4yMzIgMTEuNjQ4IDM0LjgxNiAxNy4zNDQtMTEuNTg0LTExLjU4NC0yMy4yMzItMjMuMTA0LTM0LjgxNi0zNC43NTItMTEuNjQ4IDEyLjQxNi0xMC44MTYgMTUuMjk2LTI2LjExMiAyNi4xMTItMi44OC0xNC40NjQtNS44MjQtMjguOTI4LTguNzA0LTQzLjQ1NiAxMS42NDgtMy4zOTIgMTEuOTY4LTEwNC41NzYgMjYuMTEyLTE2NS41MDQgNDIuNjg4LTMyLjc2OCA1NC43Mi01Ni42NCAxMzAuNjg4LTYwLjk5MiAyNy45MDQgMTQuMjA4IDM2LjQxNiAxNi4wNjQgNTIuMTYgNDMuNTg0LTc3Ljg4OC0zMC43ODQtMTE0Ljc1MiAzLjMyOC0xNjUuMzc2IDQzLjUyLTQuNDE2IDQ0LjIyNC05LjQwOCA2OC42MDggOC42NCAxMDQuNDQ4IDE2LjcwNCA0My4zMjggMzUuNTIgNjEuMTg0IDc4LjQgNzguNCA3NS43NzYgMjEuNTY4IDEyNi45MTItMjAuMDk2IDE3NC4yMDgtNTIuMjg4IDgwLjU3Ni0zNjEuMjgtMzAwLjg2NC00NzYuNjcyLTQ1Mi44LTIwOC45Ni0xMzAuNjg4IDIzMC4zMzYgNzUuNDU2IDUyNy4yOTYgMjUyLjQ4IDU3NC43MnY4LjcwNGgtNTIuMjg4Yy0zOTguNC0xNTQuNTYtMzYxLjAyNC01OTguNzg0LTM0LjgxNi04MDEuMDg4IDQ5NC45MTItMjIuMDgwIDQ4Ny4wNDAgNTEyLjc2OCAxMjEuOTg0IDUzOS44NHpNNjE1LjEwNCA1MzQuMTQ0djguODMyaC04LjcwNGMtOC43MDQtMi45NDQtMTcuNDA4LTUuODg4LTI2LjE3Ni04LjgzMnYtMTcuMzQ0YzExLjY0OCA1Ljc2IDIzLjIzMiAxMS41MiAzNC44OCAxNy4zNDR6TTY2Ny4yNjQgNDQ3LjE2OHYtMjYuMTc2YzE3LjkyIDE1Ljc0NCA2LjI3MiAwLjEyOCAxNy40NzIgMjYuMTc2aC0xNy40NzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1kZWJpYW4iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MDYsCisJCQkJImlkIjogMTE4LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NzYsCisJCQkJIm5hbWUiOiAiaXQtc2VydmVyLWRlYmlhbiIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE5MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODk2IDEwMjRjNzAuODQ4IDAgMTI4LTU3LjE1MiAxMjgtMTI4di0yNTIuMDMybC0zNzkuOTY4IDM4MC4wMzJoMjUxLjk2OHoiLAorCQkJCQkiTTg5NiAwaC03NjhjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC44NDggNTcuMDg4IDEyOCAxMjggMTI4aDQxNy45ODRsNDc4LjAxNi00ODB2LTQxNmMwLTcwLjkxMi01Ny4xNTItMTI4LTEyOC0xMjh6TTM0MC4wMzIgNTcwLjYyNGMwIDIuMzA0LTEuNzI4IDMuNTItNS4yNDggMy41Mi02Ljk3NiAwLTMwLjI3Mi0xLjcyOC04MC44OTYtMS43MjgtNTUuMjk2IDAtODAuMzIgMS43MjgtODYuNzIgMS43MjgtMi44OCAwLTQuNjcyLTEuMjE2LTQuNjcyLTMuNTJ2LTE1LjY4YzAtMi4zNjggMS43MjgtMy41MiA0LjY3Mi0zLjUyaDMyLjU3NmMxMS42NDggMCAyMy44NzItMS43MjggMjYuMTc2LTE2Ljg5NiAxLjE1Mi04LjcwNCAyLjg4LTEzNC40NjQgMi44OC0xNjUuMjQ4di00MC43NjhjMC0xMy45NTItMS43MjgtMTE4LjcyLTIuMzA0LTEyNy40ODgtMS4xNTItMTMuOTUyLTYuOTc2LTE5Ljc3Ni0yOS4xMi0xOS43NzZoLTMzLjcyOGMtMi44OCAwLTQuNjA4LTEuMTUyLTQuNjA4LTMuNTJ2LTE1LjY4YzAtMi4zMDQgMS43MjgtMy40NTYgNC4wMzItMy40NTYgNi45NzYgMCAzNi42NzIgMS43MjggOTAuNzUyIDEuNzI4IDUxLjg0IDAgNzAuNDY0LTEuNzI4IDc4LjU5Mi0xLjcyOCAyLjg4IDAgNC4wMzIgMS43MjggNC4wMzIgNC4wMzJ2MTQuNTkyYzAgMi44OC0xLjcyOCA0LjAzMi00LjY3MiA0LjAzMmgtMjcuMjY0Yy0xMS42NDggMC0yMC4zNTIgNC42NzItMjAuMzUyIDE2LjMyIDAgNS44MjQtMS43MjggMTM0LjQ2NC0xLjcyOCAxNDEuMzc2djQ0Ljg2NGMwIDUuODI0IDEuNzI4IDE0MC4yMjQgMS43MjggMTQ2LjY4OCAwIDE4LjA0OCA4LjcwNCAyMC45OTIgMjcuMzI4IDIwLjk5MmgyMy44NzJjMi44OCAwIDQuNjcyIDEuMTUyIDQuNjcyIDQuMDMydjE1LjEwNHpNNTYxLjcyOCA1NzAuNjI0YzAgMi4zMDQtMS43MjggMy41Mi01LjI0OCAzLjUyLTYuOTc2IDAtMzAuMjcyLTEuNzI4LTgwLjg5Ni0xLjcyOC01NS4yOTYgMC04MC4zMiAxLjcyOC04Ni43MiAxLjcyOC0yLjg4IDAtNC42NzItMS4yMTYtNC42NzItMy41MnYtMTUuNjhjMC0yLjM2OCAxLjcyOC0zLjUyIDQuNjcyLTMuNTJoMzIuNTc2YzExLjY0OCAwIDIzLjg3Mi0xLjcyOCAyNi4xNzYtMTYuODk2IDEuMjE2LTguNzA0IDIuOTQ0LTEzNC40NjQgMi45NDQtMTY1LjI0OHYtNDAuNzY4YzAtMTMuOTUyLTEuNzI4LTExOC43Mi0yLjMwNC0xMjcuNDg4LTEuMTUyLTEzLjk1Mi02Ljk3Ni0xOS43NzYtMjkuMTItMTkuNzc2aC0zMy43OTJjLTIuODggMC00LjYwOC0xLjE1Mi00LjYwOC0zLjUydi0xNS42OGMwLTIuMzA0IDEuNzI4LTMuNDU2IDQuMDMyLTMuNDU2IDYuOTc2IDAgMzYuNjcyIDEuNzI4IDkwLjc1MiAxLjcyOCA1MS44NCAwIDcwLjQtMS43MjggNzguNTkyLTEuNzI4IDIuODggMCA0LjAzMiAxLjcyOCA0LjAzMiA0LjAzMnYxNC41OTJjMCAyLjg4LTEuNzI4IDQuMDMyLTQuNjA4IDQuMDMyaC0yNy4yNjRjLTExLjY0OCAwLTIwLjM1MiA0LjY3Mi0yMC4zNTIgMTYuMzIgMCA1LjgyNC0xLjcyOCAxMzQuNDY0LTEuNzI4IDE0MS4zNzZ2NDQuODY0YzAgNS44MjQgMS43MjggMTQwLjIyNCAxLjcyOCAxNDYuNjg4IDAgMTguMDQ4IDguNzA0IDIwLjk5MiAyNy4zMjggMjAuOTkyaDIzLjg3MmMyLjk0NCAwIDQuNjcyIDEuMTUyIDQuNjcyIDQuMDMydjE1LjEwNHpNNzU1LjAwOCA1ODEuMTJjLTQwLjc2OCAwLTY5LjI0OC0xMi4yMjQtOTIuNDgtMzAuMzM2LTYuOTc2LTUuMTg0LTEwLjQ5Ni02Ljk3Ni0xMy40NC02Ljk3Ni0zLjQ1NiAwLTUuODI0IDQuMDk2LTkuMzQ0IDkuOTItMy41MiA2LjQtNi40IDYuOTc2LTEwLjQzMiA2Ljk3Ni0zLjUyIDAtNi40NjQtMi45NDQtNS4yNDgtOS4zNDQgMi4zMDQtMTQuNDY0IDguMTI4LTg4LjQ0OCA5Ljg1Ni0xMDUuMjggMC42NC0zLjQ1NiAxLjcyOC0zLjQ1NiA0LjAzMi0zLjQ1Nmw4Ljc2OCAwLjU3NmMyLjMwNCAwIDMuNTIgMS4xNTIgMy41MiA0LjY3MiAwLjU3NiAxOC42MjQgMS43MjggMzcuODI0IDIwLjkyOCA2Ny41MiAxNy40NzIgMjcuMzI4IDQ5LjQ3MiA0My4wMDggODEuNDcyIDQzLjAwOCAzNC45NDQgMCA3OS4xNjgtMjEuNTA0IDc5LjE2OC03My44NTYgMC01OS45NjgtNDMuMTM2LTgyLjA0OC04OS42NjQtOTguMzY4LTE3Ljk4NC02LjQtNTkuOTY4LTIwLjkyOC04NC45MjgtNDcuMTY4LTE5LjI2NC0xOS4yLTI5LjEyLTQ2LjU5Mi0yOS4xMi04NC45OTIgMC0yOS4xMiAxOC4wNDgtNTcuNiAzNi4wOTYtNzQuNDk2IDIwLjkyOC0xOS43NzYgNDkuOTg0LTI3Ljk2OCA4MS40MDgtMjcuOTY4IDMzLjIxNiAwIDU4LjgxNiA5LjkyIDY4LjY3MiAxNC41OTIgNS4yNDggMi44OCA4LjEyOCAyLjMwNCAxMS4wNzItMC41NzZsNy41NTItNi45NzZjMi45NDQtMi4zNjggNC42NzItMy41MiA3LjU1Mi0zLjUyIDIuOTQ0IDAgNC42NzIgNC42NzIgNC42NzIgOS44NTYgMCAyMC4zNTIgNy41NTIgNzkuNzQ0IDguMTI4IDkyLjU0NCAwIDIuODgtMC41NzYgNC4wMzItMi44OCA0LjY3MmwtNi44NDggMS43OTJjLTEuNzI4IDAuNTc2LTIuOTQ0IDAtMy41Mi0xLjcyOC00LjY3Mi0xNi44OTYtMTIuMjI0LTM5LjYxNi0zNi4wOTYtNjQuNTc2LTE1LjY4LTE2Ljg5Ni0zNi4wMzItMjUuMDI0LTYzLjQyNC0yNS4wMjQtNTEuNzc2IDAtNzAuNCAzOC40LTcwLjQgNjguMDk2IDAgMTYuMjU2IDMuNDU2IDM1LjUyIDE3Ljk4NCA1MC42MjQgMTYuODk2IDE2Ljg5NiA0OS40NzIgMjkuNjk2IDY2LjM2OCAzNC45NDQgNDAuMTkyIDEyLjggNzIuNzY4IDIyLjY1NiA5My42OTYgNDguMzIgMTUuMTA0IDE4LjA0OCAyNS42IDQwLjcwNCAyNS42IDc5LjEwNC0wIDY4LjYwOC00MS44NTYgMTI3LjQyNC0xMTguNzIgMTI3LjQyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLWlpcyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUwNywKKwkJCQkiaWQiOiAxMTcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY3NywKKwkJCQkibmFtZSI6ICJpdC1hcHAtaWlzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTkzCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04OTYgMTAyNGM3MC44NDggMCAxMjgtNTcuMTUyIDEyOC0xMjh2LTI1Mi4wMzJsLTM3OS45NjggMzgwLjAzMmgyNTEuOTY4eiIsCisJCQkJCSJNNzI4LjgzMiAxOTUuMDA4aC00MTguNjI0bDIwMS43OTIgMTQwLjk5MnoiLAorCQkJCQkiTTgzMiAxNzAuNjg4bC0zMTUuOTY4IDIyMS4zMTItMzE2LjAzMi0yMjAuNDE2djM0OC40MTZoNjMyeiIsCisJCQkJCSJNODk2IDBoLTc2OGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjg0OCA1Ny4wODggMTI4IDEyOCAxMjhoNDE3Ljk4NGw0NzguMDE2LTQ4MHYtNDE2YzAtNzAuOTEyLTU3LjE1Mi0xMjgtMTI4LTEyOHpNODk2IDU4NGgtNzYwdi00ODBoNzYwdjQ4MHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLW1haWxzZXJ2ZXIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MDgsCisJCQkJImlkIjogMTE2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2NzgsCisJCQkJIm5hbWUiOiAiaXQtYXBwLW1haWxzZXJ2ZXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxOTQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg5NiAxMDI0YzcwLjg0OCAwIDEyOC01Ny4xNTIgMTI4LTEyOHYtMjUyLjAzMmwtMzc5Ljk2OCAzODAuMDMyaDI1MS45Njh6IiwKKwkJCQkJIk01OTkuNzQ0IDI4MC42NGMtOS42NjQgMC0xNy42NjQgNC4zNTItMjQuMDY0IDEzLjE4NC02LjQ2NCA4Ljc2OC05LjYgMjIuMDE2LTkuNiAzOS44NzIgMCAxOC40MzIgMi40OTYgMzIgNy40MjQgNDAuODMyIDYuOTc2IDEyLjQxNiAxNi4yNTYgMTguNjg4IDI3Ljg0IDE4LjY4OCA4Ljg5NiAwIDE2LjQ0OC00LjQxNiAyMi42NTYtMTMuMzEyIDYuMjcyLTguODk2IDkuMzQ0LTIyLjg0OCA5LjM0NC00MS45MiAwLTIwLjI4OC0zLjEzNi0zNC45NDQtOS40MDgtNDMuOTA0cy0xNC40LTEzLjQ0LTI0LjE5Mi0xMy40NHoiLAorCQkJCQkiTTQyNS4wODggMjgwLjY0Yy04LjgzMiAwLTE2LjA2NCAzLjc3Ni0yMS43NiAxMS4yLTUuNzYgNy40ODgtOC41NzYgMTcuNi04LjQ0OCAzMC40NjRoNjAuMTZjLTAuMzItMTMuNjMyLTMuMzI4LTIzLjkzNi05LjAyNC0zMS4wNDAtNS43Ni03LjEwNC0xMi43MzYtMTAuNjI0LTIwLjkyOC0xMC42MjR6IiwKKwkJCQkJIk04OTYgMGgtNzY4Yy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuODQ4IDU3LjA4OCAxMjggMTI4IDEyOGg0MTcuOTg0bDQ3OC4wMTYtNDgwdi00MTZjMC03MC45MTItNTcuMTUyLTEyOC0xMjgtMTI4ek0yOTcuNTM2IDQyNi4zMDRoLTQ0LjkyOGwtNDEuODU2LTE4My4yOTYtNDEuNjY0IDE4My4yOTZoLTQ2LjAxNmwtNTAuMTEyLTI0NS4xODRoNDMuMzkybDMxLjY4IDE2OC4zODQgMzguNC0xNjguMzg0aDUwLjQzMmwzNi44IDE3MS4yNjQgMzIuMTkyLTE3MS4yNjRoNDIuNjg4bC01MS4wMDggMjQ1LjE4NHpNNDAzLjkwNCAzODMuNjE2YzYuMjA4IDcuNzQ0IDEzLjk1MiAxMS42NDggMjMuMjMyIDExLjY0OCA2LjI3MiAwIDExLjU4NC0yLjA0OCAxNS45MzYtNi4wMTYgNC4yMjQtNC4wOTYgNy40ODgtMTAuNTYgOS42NjQtMTkuNDU2bDQwLjEyOCA3Ljg3MmMtNS4xODQgMTcuMTUyLTEzLjMxMiAzMC4yMDgtMjQuNDQ4IDM5LjIzMi0xMS4xMzYgOC45Ni0yNS4wMjQgMTMuNDQtNDEuNzI4IDEzLjQ0LTI2LjQ5NiAwLTQ2LjAxNi0xMC4wNDgtNTguNzUyLTMwLjI3Mi0xMC4wNDgtMTYuMTkyLTE1LjA0MC0zNi42MDgtMTUuMDQwLTYxLjI0OCAwLTI5LjQ0IDYuNTkyLTUyLjQ4IDE5Ljc3Ni02OS4xODRzMjkuODI0LTI1LjAyNCA0OS45ODQtMjUuMDI0YzIyLjY1NiAwIDQwLjQ0OCA4LjcwNCA1My41NjggMjYuMTc2czE5LjMyOCA0NC4xNiAxOC43NTIgODAuMTkyaC0xMDAuODY0YzAuMzIgMTQuMDE2IDMuNTIgMjQuODk2IDkuNzkyIDMyLjY0ek02NTYuMTI4IDQwNS43NmMtMTIuMzUyIDE2LjM4NC0yNy40NTYgMjQuNTc2LTQ1LjA1NiAyNC41NzYtOC43MDQgMC0xNy4yOC0yLjU2LTI1LjcyOC03LjYxNnMtMTUuODA4LTEyLjU0NC0yMS44MjQtMjIuNTI4djI2LjExMmgtMzcuNDR2LTI0NS4xODRoNDAuMzJ2ODguMzJjMTIuMzUyLTE2LjUxMiAyNy4xMzYtMjQuNzY4IDQ0LjA5Ni0yNC43NjggMTguNDk2IDAgMzMuNzkyIDcuODA4IDQ1Ljk1MiAyMy40ODggMTIuMDk2IDE1LjY4IDE4LjE3NiAzOC4xNDQgMTguMTc2IDY3LjQ1NiAwIDMwLjQtNi4yMDggNTMuNzYtMTguNDk2IDcwLjE0NHpNODU2LjcwNCAzOTMuOTJjLTYuNCAxMS41ODQtMTUuNTUyIDIwLjU0NC0yNy41ODQgMjYuOTQ0cy0yNS40NzIgOS42LTQwLjQ0OCA5LjZjLTE5LjA3MiAwLTM0Ljk0NC0zLjI2NC00Ny44MDgtOS43MjgtMTIuOC02LjQ2NC0yMi45MTItMTYuMTkyLTMwLjI3Mi0yOS4xODQtNy4yMzItMTIuOTkyLTExLjEzNi0yNy42NDgtMTEuNTItNDQuMDMybDI2LjE3Ni0yLjY4OGMxLjI4IDEyLjIyNCA0LjA5NiAyMi4zMzYgOC43MDQgMzAuMjA4IDQuNTQ0IDcuODcyIDExLjU4NCAxNC4yMDggMjEuMTIgMTkuMDcyczIwLjI4OCA3LjI5NiAzMi4yNTYgNy4yOTZjMTAuNTYgMCAxOS45NjgtMS44NTYgMjguMDMyLTUuNTA0czE0LjIwOC04LjcwNCAxOC4xMTItMTUuMTA0YzQuMDMyLTYuNDY0IDUuOTUyLTEzLjM3NiA1Ljk1Mi0yMC45OTIgMC03LjY4LTEuODU2LTE0LjQtNS42OTYtMjAuMTYtMy45MDQtNS43Ni0xMC4xMTItMTAuNTYtMTguOTQ0LTE0LjQ2NC01LjYzMi0yLjU2LTE4LjExMi02LjU5Mi0zNy4zNzYtMTEuOTY4LTE5LjMyOC01LjM3Ni0zMi44MzItMTAuNDk2LTQwLjU3Ni0xNS4yOTYtOS45ODQtNi4xNDQtMTcuNDcyLTEzLjc2LTIyLjQ2NC0yMi44NDgtNC44NjQtOS4wODgtNy4zNi0xOS4yNjQtNy4zNi0zMC41MjggMC0xMi4zNTIgMy4wMDgtMjMuOTM2IDkuMDg4LTM0LjY4OCA2LjAxNi0xMC43NTIgMTQuNzg0LTE4Ljk0NCAyNi4zMDQtMjQuNTEyIDExLjU4NC01LjU2OCAyNC40NDgtOC4zODQgMzguNTkyLTguMzg0IDE1LjU1MiAwIDI5LjMxMiAyLjk0NCA0MS4yMTYgOC43NjhzMjEuMDU2IDE0LjQ2NCAyNy40NTYgMjUuODU2IDkuNzkyIDI0LjI1NiAxMC4zMDQgMzguNjU2bC0yNi42MjQgMi4zNjhjLTEuNDA4LTE1LjQ4OC02LjMzNi0yNy4yLTE0LjU5Mi0zNS4xMzZzLTIwLjQxNi0xMS45MDQtMzYuNjA4LTExLjkwNGMtMTYuODMyIDAtMjkuMDU2IDMuNTg0LTM2LjczNiAxMC44MTYtNy42OCA3LjE2OC0xMS41MiAxNS44NzItMTEuNTIgMjUuOTg0IDAgOC44MzIgMi42ODggMTYuMDY0IDguMTkyIDIxLjc2IDUuMzEyIDUuNjk2IDE5LjMyOCAxMS41MiA0MS44NTYgMTcuNDcyczM4LjA4MCAxMS4yIDQ2LjUyOCAxNS42MTZjMTIuMTYgNi41OTIgMjEuMjQ4IDE0LjkxMiAyNy4wNzIgMjUuMDI0czguNzY4IDIxLjY5NiA4Ljc2OCAzNC44OGMwIDEyLjk5Mi0zLjIgMjUuMjgtOS42IDM2Ljh6TTkzNy42IDQyNi4zMDRoLTI5LjM3NnYtMzQuMzA0aDI5LjM3NnYzNC4zMDR6TTEwMTkuMiA0MjYuMzA0aC0yOS4zNzZ2LTM0LjMwNGgyOS4zNzZ2MzQuMzA0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1hcHAtd2Vic3BoZXJlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTA5LAorCQkJCSJpZCI6IDExNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Njc5LAorCQkJCSJuYW1lIjogIml0LWFwcC13ZWJzcGhlcmUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAxOTUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg5NiAxMDI0YzcwLjg0OCAwIDEyOC01Ny4xNTIgMTI4LTEyOHYtMjUyLjAzMmwtMzc5Ljk2OCAzODAuMDMyaDI1MS45Njh6IiwKKwkJCQkJIk00NTAuNjg4IDI1NS42MTZjLTE0LjY1NiAwLTI3LjY0OCA2Ljg0OC0zOC44NDggMjAuNTQ0cy0xNi44OTYgMzMuNTM2LTE2Ljg5NiA1OS42NDhjMCAyNi4xMTIgNS4zMTIgNDUuMzc2IDE1Ljg3MiA1Ny44NTZzMjMuMzYgMTguNjg4IDM4LjQgMTguNjg4YzE1LjI5NiAwIDI4LjM1Mi02LjQ2NCAzOS4yMzItMTkuMzkyIDEwLjk0NC0xMi45MjggMTYuMzg0LTMyLjk2IDE2LjM4NC02MC4wMzIgMC0yNS44NTYtNS4zMTItNDUuMTg0LTE2LTU4LjA0OHMtMjMuMzYtMTkuMjY0LTM4LjE0NC0xOS4yNjR6IiwKKwkJCQkJIk0yMDMuMiAxODUuNDcyYy0zLjU4NCAxNy45Mi04LjU3NiAzNS43NzYtMTUuMDQwIDUzLjQ0bC0zMC43MiA4Mi4xMTJoOTQuOTEybC0yOS4zMTItNzcuNDRjLTguODk2LTIzLjU1Mi0xNS40ODgtNDIuOTQ0LTE5Ljg0LTU4LjExMnoiLAorCQkJCQkiTTYyNC42NCAzNTQuMTEyYy01Ljg4OCAyLjU2LTEwLjM2OCA2LjI3Mi0xMy41NjggMTEuMnMtNC43MzYgMTAuMzY4LTQuNzM2IDE2LjMyYzAgOS4yMTYgMy40NTYgMTYuODMyIDEwLjM2OCAyMi45MTJzMTcuMTUyIDkuMTUyIDMwLjUyOCA5LjE1MmMxMy4yNDggMCAyNS4wMjQtMi44OCAzNS4zMjgtOC43MDRzMTcuODU2LTEzLjY5NiAyMi43Mi0yMy44MDhjMy43MTItNy43NDQgNS41MDQtMTkuMiA1LjUwNC0zNC4zNjh2LTEyLjU0NGMtMTIuNDE2IDUuMTItMzEuMTY4IDkuNDA4LTU2LjEyOCAxMi45OTItMTQuMTQ0IDIuMDQ4LTI0LjEyOCA0LjM1Mi0zMC4wMTYgNi44NDh6IiwKKwkJCQkJIk04OTYgMGgtNzY4Yy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuODQ4IDU3LjA4OCAxMjggMTI4IDEyOGg0MTcuOTg0bDQ3OC4wMTYtNDgwdi00MTZjMC03MC45MTItNTcuMTUyLTEyOC0xMjgtMTI4ek0yOTYuMzg0IDQzNi4wMzJsLTMyLjY0LTg0LjhoLTExNy4wNTZsLTMwLjcyIDg0LjhoLTM5LjM2bDEwNy41Mi0yODBoMzkuODcybDExNC41NiAyODBoLTQyLjE3NnpNNTI4LjcwNCAzODkuMTg0Yy03LjQyNCAxNi41NzYtMTguMjQgMjkuMzc2LTMyLjQ0OCAzOC4yMDgtMTQuMjcyIDguODMyLTI5LjEyIDEzLjMxMi00NC44IDEzLjMxMi0xMS40NTYgMC0yMS43Ni0yLjQzMi0zMC43ODQtNy4yOTYtOS4xNTItNC44NjQtMTYuNjQtMTAuOTQ0LTIyLjQ2NC0xOC4zNjh2OTguNjg4aC0zNC4zNjh2LTI4MC40NDhoMzEuMjk2djI2LjM2OGM3LjQyNC0xMC4zNjggMTUuNjgtMTguMTEyIDI1LjAyNC0yMy4yMzJzMjAuNTQ0LTcuNzQ0IDMzLjc5Mi03Ljc0NGMxNy4zNDQgMCAzMi41NzYgNC40OCA0NS44MjQgMTMuMzc2czIzLjIzMiAyMS40NCAzMC4wMTYgMzcuNjk2YzYuNzIgMTYuMTkyIDEwLjExMiAzNC4wNDggMTAuMTEyIDUzLjM3NiAwIDIwLjczNi0zLjc3NiAzOS40MjQtMTEuMiA1Ni4wNjR6TTcyMC41MTIgNDM2LjAzMmMtMy41ODQtNy4xMDQtNS44ODgtMTUuNDg4LTYuODQ4LTI1LjAyNC0xMi43MzYgMTAuODE2LTI1LjAyNCAxOC40OTYtMzYuNzM2IDIyLjkxMi0xMS44NCA0LjQxNi0yNC40NDggNi42NTYtMzcuOTUyIDYuNjU2LTIyLjI3MiAwLTM5LjM2LTUuNDQtNTEuMzkyLTE2LjMyLTExLjk2OC0xMC44MTYtMTcuOTg0LTI0LjcwNC0xNy45ODQtNDEuNjY0IDAtOS45MiAyLjI0LTE5LjAwOCA2Ljc4NC0yNy4yIDQuNDgtOC4xOTIgMTAuNDMyLTE0Ljc4NCAxNy43MjgtMTkuNzc2IDcuMzYtNC45MjggMTUuNjE2LTguNzY4IDI0Ljc2OC0xMS4yNjQgNi43Mi0xLjc5MiAxNi45Ni0zLjUyIDMwLjU5Mi01LjE4NCAyNy43NzYtMy4zMjggNDguMTkyLTcuMjMyIDYxLjMxMi0xMS44NCAwLjEyOC00LjczNiAwLjE5Mi03LjY4IDAuMTkyLTguOTYgMC0xNC4wMTYtMy4yNjQtMjMuODcyLTkuNzI4LTI5LjYzMi04Ljc2OC03Ljc0NC0yMS44MjQtMTEuNjQ4LTM5LjEwNC0xMS42NDgtMTYuMTkyIDAtMjguMDk2IDIuODE2LTM1Ljg0IDguNTEyLTcuNjggNS42MzItMTMuMzc2IDE1LjY4LTE3LjA4OCAzMC4wODBsLTMzLjY2NC00LjU0NGMzLjA3Mi0xNC40IDguMDY0LTI2LjA0OCAxNS4wNDAtMzQuODhzMTcuMTUyLTE1LjY4IDMwLjQtMjAuNDE2YzEzLjI0OC00LjczNiAyOC41NDQtNy4xNjggNDYuMDgwLTcuMTY4IDE3LjM0NCAwIDMxLjM2IDIuMDQ4IDQyLjE3NiA2LjE0NCAxMC44MTYgNC4wMzIgMTguNzUyIDkuMjE2IDIzLjg3MiAxNS4zNiA1LjA1NiA2LjE0NCA4LjY0IDEzLjk1MiAxMC42ODggMjMuMzYgMS4xNTIgNS44ODggMS42NjQgMTYuNDQ4IDEuNjY0IDMxLjc0NHY0NS44MjRjMCAzMiAwLjc2OCA1Mi4xNiAyLjI0IDYwLjY3MiAxLjQwOCA4LjQ0OCA0LjI4OCAxNi41NzYgOC43MDQgMjQuMzJoLTM1LjkwNHpNODQ3Ljc0NCA0MzYuMDMyaC0zOS4xNjh2LTM5LjEwNGgzOS4xNjh2MzkuMTA0ek05NTYuMzUyIDQzNi4wMzJoLTM5LjE2OHYtMzkuMTA0aDM5LjE2OHYzOS4xMDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC1hcGFjaGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MTAsCisJCQkJImlkIjogMTE0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2ODAsCisJCQkJIm5hbWUiOiAiaXQtYXBwLWFwYWNoZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDE5NgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTAwLjAzMi0zLjk2OGgtNzY4Yy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuODQ4IDU3LjA4OCAxMjggMTI4IDEyOGg0MTcuOTg0bDQ3OC4wMTYtNDgwdi00MTZjLTAtNzAuOTEyLTU3LjE1Mi0xMjgtMTI4LTEyOHpNMzYxLjE1MiA0MDMuMTM2YzAgNDAuMjU2LTQuODY0IDcxLjQyNC0xNC41OTIgOTMuNTA0cy0yNS4xNTIgMzguOTc2LTQ2LjI3MiA1MC41NmMtMjEuMTIgMTEuNTItNDUuODg4IDE3LjM0NC03NC4zMDQgMTcuMzQ0LTQyLjI0IDAtNzQuNTYtMTIuMDk2LTk2Ljk2LTM2LjM1Mi0yMi40NjQtMjQuMzItMzMuMjE2LTYwLjQxNi0zMi4zMi0xMDguMjg4bDU3LjQwOC03Ljg3MmMxLjUzNiAzNi43MzYgOC40NDggNjEuODg4IDIwLjY3MiA3NS40NTZzMjkuMjQ4IDIwLjM1MiA1MC44OCAyMC4zNTJjMTYgMCAyOS43Ni0zLjcxMiA0MS4zNDQtMTEuMDA4czE5LjU4NC0xNy4yOCAyMy45MzYtMjkuODI0YzQuMzUyLTEyLjYwOCA2LjUyOC0zMi43MDQgNi41MjgtNjAuMjg4di0zMzEuMzI4aDYzLjY4djMyNy43NDR6TTgxMS41MiA0NzkuNzQ0Yy05LjQ3MiAxOS4zOTItMjEuMjQ4IDM0LjMwNC0zNS4yNjQgNDQuOHMtMzEuNTUyIDE4LjQzMi01Mi42NzIgMjMuNzQ0Yy0yMS4xMiA1LjM3Ni00Ni45MTIgOC4wNjQtNzcuNTY4IDguMDY0aC0xODMuNDI0di00ODAuOTZoMTgwLjQxNmMzNi43MzYgMCA2Ni4yNCA0Ljg2NCA4OC40NDggMTQuNTkyczM5LjYxNiAyNC43MDQgNTIuMTYgNDQuOTI4YzEyLjU0NCAyMC4yMjQgMTguODggNDEuNDA4IDE4Ljg4IDYzLjQ4OCAwIDIwLjU0NC01LjU2OCAzOS45MzYtMTYuNzY4IDU4LjA0OC0xMS4xMzYgMTguMTc2LTI4LjAzMiAzMi44MzItNTAuNDk2IDQzLjk2OCAyOS4wNTYgOC41MTIgNTEuNDU2IDIzLjEwNCA2Ny4wNzIgNDMuNjQ4czIzLjQyNCA0NC44NjQgMjMuNDI0IDcyLjgzMmMwIDIyLjU5Mi00LjczNiA0My41Mi0xNC4yMDggNjIuODQ4eiIsCisJCQkJCSJNNzA3Ljg0IDM0Mi4yNzJjLTE2LjMyLTUuMzEyLTM5Ljc0NC04LTcwLjQtOGgtMTExLjIzMnYxNjUuMzc2aDExOS44MDhjMjAuNTQ0IDAgMzUuMDA4LTAuNzY4IDQzLjMyOC0yLjMwNCAxNC42NTYtMi42MjQgMjYuODgtNi45NzYgMzYuNzM2LTEzLjEyIDkuNzkyLTYuMTQ0IDE3Ljg1Ni0xNS4wNDAgMjQuMjU2LTI2Ljc1MnM5LjQ3Mi0yNS4yMTYgOS40NzItNDAuNTEyYzAtMTcuOTItNC41NDQtMzMuNTM2LTEzLjc2LTQ2Ljc4NC05LjE1Mi0xMy4yNDgtMjEuOTUyLTIyLjUyOC0zOC4yMDgtMjcuOTA0eiIsCisJCQkJCSJNNjkwLjk0NCAyNzEuOTM2YzE2LjE5Mi00LjggMjguMzUyLTEyLjggMzYuNTQ0LTI0czEyLjI4OC0yNS4xNTIgMTIuMjg4LTQxLjk4NGMwLTE1LjkzNi0zLjg0LTMwLjAxNi0xMS41Mi00Mi4xNzYtNy42MTYtMTIuMDk2LTE4LjU2LTIwLjQxNi0zMi44MzItMjQuOTYtMTQuMjA4LTQuNDgtMzguNTkyLTYuNzItNzMuMTUyLTYuNzJoLTk2LjA2NHYxNDUuMzQ0aDEwNGMyOC4yMjQgMCA0OC40NDgtMS43OTIgNjAuNzM2LTUuNTA0eiIsCisJCQkJCSJNOTAwLjAzMiAxMDIwLjAzMmM3MC44NDggMCAxMjgtNTcuMTUyIDEyOC0xMjh2LTI1Mi4wMzJsLTM3OS45NjggMzgwLjAzMmgyNTEuOTY4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1hcHAtamJvc3MiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MTEsCisJCQkJImlkIjogMTEzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2ODEsCisJCQkJIm5hbWUiOiAiaXQtYXBwLWpib3NzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTk3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0zOTkuOTY1IDM0MC43MTNoLTE3Mi4xMjVsLTIyNy44NCAzODcuMzk4IDg4LjM0MyAyLjU2IDUxLjI5My0xMDAuMTE5aDIyMy4xMzlsNDEuMDUzIDk5Ljk4aDE4Mi4xMzJsLTE4NS45OTYtMzg5LjgxOHpNMTczLjAwOSA1NjEuMzg1bDgyLjA2MC0xMzguNjEyIDczLjEyMyAxMzguNTE5LTE1NS4xODMgMC4wOTN6IiwKKwkJCQkJIk01OTAuOTg4IDQyNi42MzZsMTAwLjExOS00NC44N2gyOS41MXYzNDMuNjkyaC04NS44NzZ2LTI0My42NjVoLTQyLjM1NnoiLAorCQkJCQkiTTk3MC43OTkgMzgxLjc2NmgtMTUwLjM4OGMtMjguMjA3IDAtNTEuMTUzIDIyLjg1NC01MS4xNTMgNTEuMTA3djI0MS40NzhjMCAyOC4yNTMgMjIuOSA1MS4xNTMgNTEuMTUzIDUxLjE1M2gxNTAuMzg4YzI4LjIwNyAwIDUxLjE1My0yMi44NTQgNTEuMTUzLTUxLjE1M3YtMjQxLjUyNGMwLTI4LjIwNy0yMi44NTQtNTEuMDYwLTUxLjE1My01MS4wNjB6TTk0MS4xOTYgNjM1LjcxOGMwIDI0LjcxNi0yMC4xNTQgNDQuODctNDQuODcgNDQuODctMjQuNzYyIDAtNDQuOTE2LTIwLjE1NC00NC45MTYtNDQuODd2LTE2MS42NTJjMC0yNC44MDkgMjAuMTU0LTQ0Ljg3IDQ0LjkxNi00NC44NyAyNC43MTYgMCA0NC44NyAyMC4wNjEgNDQuODcgNDQuODd2MTYxLjY1MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigyNCwgNDksIDEwOSkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigyNCwgNDksIDEwOSkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigyNCwgNDksIDEwOSkiCisJCQkJCX0KKwkJCQldLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1hMTBiYWxhIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTAsCisJCQkJCQkwLAorCQkJCQkJMAorCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigyNCwgNDksIDEwOSkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigyNCwgNDksIDEwOSkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigyNCwgNDksIDEwOSkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUxMiwKKwkJCQkiaWQiOiAxMTIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY4MiwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1hMTBiYWxhIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTk4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04NiAwdjgwaDI2OHYzMjRoMTQwdjkyaC0yMDh2LTM0NmgtMjg2djg3NGgyODZ2LTM4OGgyMDh2MzRoMjg2di01MjBoLTI4NnYxNzJoLTgwdi0zMjJ6TTU4MCAwdjgwaDI2NHY1OTBoNjB2LTY3MHpNNjkwIDczOC41NzhjLTM0Ljg2MSAwLjAwMS02Mi42MDggMTIuNjg4LTg0IDM4cy0zMiA2MC4yNS0zMiAxMDZjLTAgNDMuMjUgMTAuNzIxIDc3LjA2MSAzMiAxMDJzNDguOTUgMzggODIgMzhjMjYuNzExIDAgNDguNjI2LTcuNDM5IDY2LTIyczI4LjUzLTM2IDM2LTY2bC00OC0xOGMtNC4xODggMjAuMTI1LTEyLjM3OSAzNC42MjQtMjIgNDQtOS42MjEgOS4zNTYtMjAuNjQ0IDE0LTM0IDE0LTE4LjExIDAtMzIuNjgyLTcuMjUtNDQtMjJzLTE2LTM5LjI1LTE2LTc0Yy0wLTMyLjc1IDQuNTEyLTU1LjM3NSAxNi03MHMyNy41NTEtMjEuOTk5IDQ2LTIyYzEzLjM1NiAwLjAwMSAyNC42NjIgMy43NSAzNCAxMnMxNS4wNTcgMTkuNzUgMTggMzRsNTAtMTRjLTUuNjYtMjEuOTk5LTE0LjY4Mi0zOC4yNDktMjYtNTAtMTkuMDE1LTE5Ljg3NS00My41NTMtMjkuOTk5LTc0LTMwek05MjAgNzM4LjU3OGMtMTkuMTI4IDAuMDAxLTM0LjQ3NCAzLjYyNC00OCAxMHMtMjQuODEzIDE1LjgxMi0zMiAyOGMtNy4xODcgMTIuMTg4LTEwIDI0LTEwIDM4IDAgMjEuNzUgNi43MiA0MC44NzUgMjIgNTYgMTAuODY2IDEwLjc1IDMxLjA2MiAyMC42MjUgNTggMjggMjAuOTM5IDUuNzUxIDM0LjExNCA5Ljc0NyA0MCAxMiA4LjYwMiAzLjM3NSAxNC41NDggNy40NCAxOCAxMiAzLjQ1MiA0LjU2MyA2IDkuNTAzIDYgMTYtMCAxMC4xMjUtNS43OTUgMTguNDM0LTE0IDI2LTguMjA2IDcuNTczLTE5LjgxNSAxMi0zNiAxMi0xNS4yOCAwLTI3LjAwMi01LjQ5OS0zNi0xNC04Ljk5OC04LjQ5Ny0xNS4wNTctMjEuODc1LTE4LTQwbC01MCA2YzMuMjgzIDMwLjc1IDE1LjEzNSA1My45MzkgMzIgNzAgMTYuODY1IDE2LjA2OCA0MC41MzUgMjQgNzIgMjQgMjEuNjE4IDAgMzkuNTEyLTMuMzQxIDU0LTEwIDE0LjQ4Ny02LjY4NSAyNi4wNzctMTYuMjUzIDM0LTMwczEyLTI4LjI1IDEyLTQ0Yy0wLTE3LjM3NS0zLjM3OS0zMi4xODgtMTAtNDRzLTE2LjI4Ni0yMS4xODctMjgtMjhjLTExLjcxNS02LjgxMy0yOS41NTItMTMuNjI0LTU0LTIwLTI0LjQ0OC02LjM3NC0zOS42NjItMTIuMTIyLTQ2LTE4LTQuOTgtNC42MjUtOC0xMS40OTYtOC0xOC0wLTcuMTI1IDIuNjgtMTEuNzQ5IDgtMTYgOC4yNjItNi42MjIgMTkuMzk5LTEwIDM0LTEwIDE0LjE0OCAwIDI0LjkyNiAzLjgxMiAzMiAxMHMxMS44NSAxNS44NzUgMTQgMzBsNTAtMmMtMC43OTItMjUuMjUtOC4yMTEtNDYuODc0LTI0LTYyLTE1Ljc4OS0xNS4xMjQtNDAuNzYxLTIxLjk5OS03Mi0yMnpNMzI0IDc0Mi41NzhsOTAgMjc2aDU0bDg4LTI3NmgtNTJsLTYyIDIwNC02Mi0yMDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWNsdXN0ZXItdmNzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTEzLAorCQkJCSJpZCI6IDExMSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjgzLAorCQkJCSJuYW1lIjogIml0LWNsdXN0ZXItdmNzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMTk5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk05NiAwYy01My40MTEgMC05NiA0Ni44NDEtOTYgMTA2djM1NGMwIDU5LjE1OSA0Mi41ODkgMTA4IDk2IDEwOGg4MzJjNTMuNDExIDAgOTYtNDguODQxIDk2LTEwOHYtMzU0YzAtNTkuMTU5LTQyLjU4OS0xMDYtOTYtMTA2aC04MzJ6TTc2IDc0aDg3MnY0MjBoLTg3MnYtNDIwek0xMjggMTQ4djEzMmgzMzh2LTEzMmgtMzM4ek01NDYgMTQ4djEzMmgzMzh2LTEzMmgtMzM4ek0xMjYgMzI2djEzMGgzMzh2LTEzMGgtMzM4ek01NDYgMzI2djEzMGgzMzh2LTEzMGgtMzM4ek02OCA2MTZ2MzIyaDI0NHYtNTRoLTE4MHYtODhoMTYydi01NGgtMTYydi03MmgxNzR2LTU0aC0yMzh6TTMzNCA2MTZsMTE2IDMyMmg2OGwxMTYtMzIyaC03MGwtNzggMjM4LTgyLTIzOGgtNzB6TTc1OCA2MTZsLTEyNCAzMjJoNjhsMjgtNzRoMTI4bDI4IDc0aDcwbC0xMjgtMzIyaC03MHpNNzkyIDY5Mmw0NCAxMThoLTg2bDQyLTExOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGlza3JhaWQtaHBldmEiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MTQsCisJCQkJImlkIjogMTEwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2ODQsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtaHBldmEiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMDAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk2IDBjLTUzLjQxMSAwLTk2IDQ2Ljg0MS05NiAxMDZ2MzU0YzAgNTkuMTU5IDQyLjU4OSAxMDggOTYgMTA4aDgzMmM1My40MTEgMCA5Ni00OC44NDEgOTYtMTA4di0zNTRjMC01OS4xNTktNDIuNTg5LTEwNi05Ni0xMDZ6TTc2IDc0aDg3MnY0MjBoLTg3MnpNMTI4IDE0OHYxMzJoMzM4di0xMzJ6TTU0NiAxNDh2MTMyaDMzOHYtMTMyek0xMjYgMzI2djEzMGgzMzh2LTEzMHpNNTQ2IDMyNnYxMzBoMzM4di0xMzB6TTE0MiA2MjUuMjU0djU2aDE0MmwtMTYwIDIyMHY2MmgyNDZ2LTU4aC0xNzJsMTY2LTIyOHYtNTJ6TTM4OCA2MjUuMjU0djU2aDkwdjI4Mmg2MnYtMjgyaDkwdi01NnpNNjcwIDYyNS4yNTR2MzM4aDIzMHYtNThoLTE3MHYtOTJoMTUydi01NmgtMTUydi03NmgxNjR2LTU2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1kaXNrcmFpZC16dGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MTUsCisJCQkJImlkIjogMTA5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2ODUsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtenRlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjAxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk02OCAwYy0zNy43MjggMC02OCAzMC4yNzItNjggNjh2ODg4YzAgMzcuNzI4IDMwLjI3MiA2OCA2OCA2OGg4ODhjMzcuNzI4IDAgNjgtMzAuMjcyIDY4LTY4di04ODhjMC0zNy43MjgtMzAuMjcyLTY4LTY4LTY4aC04ODh6TTI0MiA2NGgxMDR2MTEyaDM1MnYtMTEyaDEwMnYxMTJoMTYwdjU2aC0xOHYxNzZoMTh2NDkwaC0xNjB2NjJoLTEwMnYtNjJoLTM1MnY2MmgtMTA0di02MmgtMTc4di00OTBoMzIwdi0xNzZoLTMyMHYtNTZoMTc4di0xMTJ6TTQ4OCAyMzJ2MTc2aDM1MnYtMTc2aC0zNTJ6TTc2OCA0ODBjLTM5LjU4NiAwLTcxLjcwOSAxNi40NjktOTYgNDZzLTM2IDcwLjYyNS0zNiAxMjRjLTAgNTAuNDU4IDExLjgzNyA4OC45MDYgMzYgMTE4czU2LjQ3IDQ0IDk0IDQ0YzMwLjMzMiAwIDU0LjI3MS03LjAxMCA3NC0yNHMzMy41MTctNDMgNDItNzhsLTU0LTIwYy00Ljc1NiAyMy40NzktMTMuMDc2IDM5LjA2My0yNCA1MHMtMjQuODM0IDE4LTQwIDE4Yy0yMC41NjQgMC0zNy4xNDgtOC43OTItNTAtMjZzLTE4LTQ3LjQ1OC0xOC04OGMtMC0zOC4yMDggNC45NTUtNjQuOTM3IDE4LTgyczMxLjA1MC0yNiA1Mi0yNmMxNS4xNjYgMCAyNy4zOTYgNC4zNzUgMzggMTRzMTguNjU4IDIzLjM3NSAyMiA0MGw1Ni0xNmMtNi40MjctMjUuNjY2LTE3LjE0OC00NC4yOTEtMzAtNTgtMjEuNTkzLTIzLjE4Ny00OS40MjctMzYtODQtMzZ6TTE0MiA0ODZ2MzIyaDU2di0xNDJoMTEydjE0Mmg1OHYtMzIyaC01OHYxMjZoLTExMnYtMTI2aC01NnpNNTA0IDQ4NmMtMTUuNTUyIDAtMjkuNDY5IDMuMzY1LTQyIDEwcy0yMi45OTUgMTQuNDA3LTMwIDI2Yy03LjAwNSAxMS41OTQtMTIuNTMgMjYuNjA0LTE2IDQ2bDUwIDEwYzEuNDE0LTE0IDUuNDQ1LTI0LjcwOCAxMi0zMnMxNC43NDYtMTAgMjQtMTBjOS4zODIgMCAxNi4zNDUgMy41ODQgMjIgMTBzMTAgMTUuMjA5IDEwIDI2Yy0wIDEyLjY4OC00LjI4OSAyMi4zNDQtMTIgMzBzLTE5LjM0OCAxMC40MzgtMzQgMTBsLTYgNTBjOS42MzktMy4wNjIgMTkuMDYwLTQgMjYtNCAxMC41MzkgMCAxOC42NzQgNC45NTkgMjYgMTRzMTAgMjAuNTQyIDEwIDM2Yy0wIDE2LjMzMy0yLjM1MyAzMC4zNzUtMTAgNDBzLTE2LjgxOCAxNC0yOCAxNGMtMTAuNDExIDAtMjAuNjc0LTMuOTc5LTI4LTEycy0xMC4zMjktMjAuODMzLTEyLTM2bC01NCA4YzIuNjk5IDI2Ljk3OSAxMy4xNjMgNDkuMzAyIDMwIDY2czM4LjQyMyAyNCA2NCAyNGMyNi45OSAwIDQ5Ljg3OC0xMC4xNjcgNjgtMzBzMjYtNDMuODU0IDI2LTcyYy0wLTE5LjM5Ni00LjI5Ny0zNC4yOTItMTQtNDhzLTIxLjgwNi0yNC4wNjItMzgtMjhjMjcuMTE5LTE2Ljc3MSA0MC0zNy44NTQgNDAtNjYtMC0xOS44MzMtNi43NjItMzguMjUtMjAtNTQtMTYuMDY2LTE5LjI1LTM3LjM5NS0yOC02NC0yOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZmlyZXdhbGwtaDNjIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTE2LAorCQkJCSJpZCI6IDEwOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Njg2LAorCQkJCSJuYW1lIjogIml0LWZpcmV3YWxsLWgzYyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwMgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NDEwaDEwMjR2LTQxMGMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTkyIDg4aDcydjQwOGgtNzJ2LTQwOHpNMjMyIDg4aDE0MmMyOC4yNDcgMC4wMDEgNTAuMTIgMS4zMTIgNjQgNHMyNy4wNDIgNy40NjkgMzggMTZjMTAuOTU4IDguNTMyIDE4LjY5NCAxOS44MTIgMjYgMzQgNy4zMDUgMTQuMTg5IDEyIDMwLjM4MSAxMiA0OC0wIDE5LjEwMy00Ljk5IDM2LjA1MC0xNCA1MnMtMjAuNTc4IDI4LjAyNS0zNiAzNmMyMS43NTMgNy4yMzMgMzguMzExIDIwLjU2NiA1MCAzOHMxNiAzNi40NDUgMTYgNjBjLTAgMTguNTQ3LTIuNDUxIDM2LjQ3My0xMCA1NHMtMTguOTMyIDMxLjUyMS0zMiA0MmMtMTMuMDY5IDEwLjQ3OS0yOC44NDQgMTcuNTg5LTQ4IDIwLTEyLjAxMyAxLjQ4NC00MC4wNTggMy42MjQtODYgNGgtMTIydi00MDh6TTU5MiA4OGgxMDhsNjQgMjc4IDY0LTI3OGgxMDh2NDA4aC02OHYtMzIybC03MCAzMjJoLTcwbC03MC0zMjJ2MzIyaC02NnYtNDA4ek0zMDQgMTU2djk0aDQ4YzI4LjA4NSAwLjAwMSA0NS4xODEtMS4wOTAgNTItMiAxMi4zMzgtMS42NjkgMjAuOTM4LTUuOTM0IDI4LTE0IDcuMDYyLTguMDY4IDEyLTE4LjgzMiAxMi0zMi0wLTEyLjYxMi0zLjkxMi0yNC4xMTctMTAtMzJzLTEzLjk4Ny0xMi4zMzEtMjYtMTRjLTcuMTQzLTAuOTMtMjguMDcxIDAtNjIgMGgtNDJ6TTMwNCAzMTh2MTA4aDY2YzI1Ljk3NCAwIDQzLjAxOS0wLjMzMSA1MC0yIDEwLjcxNC0yLjIyMyAxOS4yNjMtNy4zNzUgMjYtMTZzMTAtMjEuNTM0IDEwLTM2Yy0wLTEyLjI0MS0yLjgwNS0yMS40NjgtOC0zMHMtMTIuMTc5LTE0LjEwNS0yMi0xOGMtOS44MjItMy44OTItMzEuMjA3LTYtNjQtNmgtNTh6TTM5NiA1OTR2Mjc0aDk0YzM1LjM3NS0wLjI1NiA1Ni43NS0wLjk3NiA2Ni0yIDE0Ljc1LTEuNjI2IDI3LjkzNy00Ljk0MSAzOC0xMiAxMC4wNjItNy4wNjYgMTguMTg3LTE2LjE4NiAyNC0yOHM4LTI1LjUwMSA4LTM4Yy0wLTE1Ljg3OC0zLTI4LjI1LTEyLTQwcy0yMy4yNS0yMS4xMzYtNDAtMjZjMTEuODc1LTUuMzcgMjEuMDYyLTEzLjI0OCAyOC0yNCA2LjkzNy0xMC43NDYgMTItMjMuMTIzIDEyLTM2LTAtMTEuODcyLTQuMzc1LTIyLjQzOC0xMC0zMnMtMTEuNTYzLTE2LjI0LTIwLTIyYy04LjQzOC01Ljc3OS0xOS4zMTMtMTAuMjA4LTMwLTEycy0yNi4yNS0yLTQ4LTJoLTExMHpNNDUyIDY0MGgzMmMyNi4xMjUgMCA0Mi41LTAuNjQgNDggMCA5LjI1IDEuMTI2IDE1LjMxMiA0LjY4OCAyMCAxMHM4IDExLjQ5NCA4IDIwYy0wIDguODctMi41NjMgMTYuNTYtOCAyMi01LjQzOCA1LjQyNy0xNC41IDguODQ4LTI0IDEwLTUuMjUgMC45Ni0xOC4zNzUgMC00MCAwaC0zNnYtNjJ6TTQ1MiA3NDhoNDRjMjUuMjUgMCA0Mi40MzcgMS4zNzYgNTAgNHMxNCA4LjI0IDE4IDE0YzQgNS43NTQgNiAxMS43NSA2IDIwLTAgOS43NTQtMi44MTMgMTguMTc2LTggMjQtNS4xODggNS43ODYtMTEuNzUgOC40NjQtMjAgMTAtNS4zNzUgMS4wMjQtMTggMi0zOCAyaC01MnYtNzR6TTAgODg2djJjMCA3NS41NSA2MC40NSAxMzYgMTM2IDEzNmg3NTJjNzUuNTUgMCAxMzYtNjAuNDUgMTM2LTEzNnYtMmgtMTAyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItaWJtLWJsYWRlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTE3LAorCQkJCSJpZCI6IDEwNywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Njg3LAorCQkJCSJuYW1lIjogIml0LW90aGVyLWlibS1ibGFkZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODg3Ljk5NCAwaC03NTEuOTg4Yy03NS41OSAwLTEzNi4wMDYgNjAuNDE2LTEzNi4wMDYgMTM2LjAwNnY3NTEuOTg4YzAgNzUuNTQzIDYwLjQxNiAxMzYuMDA2IDEzNi4wMDYgMTM2LjAwNmg3NTEuOTg4Yzc1LjU0MyAwIDEzNi4wMDYtNjAuNDYzIDEzNi4wMDYtMTM2LjAwNnYtNzUxLjk4OGMwLTc1LjU5LTYwLjQ2My0xMzYuMDA2LTEzNi4wMDYtMTM2LjAwNnpNNDA1LjkyMyA2ODguNDU0Yy0xMi41NjcgMTkuMzYzLTMwLjYyNyAzNC40OS01NC4xNzkgNDUuMjQyLTIzLjUwNSAxMC43OTktNDkuOTkgMTYuMTk4LTc5LjQ1MyAxNi4xOTgtMzcuMzI5IDAtNjguNjA4LTUuMzk5LTkzLjgzNi0xNi4zMzctMjUuMjI4LTEwLjg0NS00NS4wMDktMjcuMTgzLTU5LjI5OS00OS4wNTktMTQuMzgzLTIxLjg3Ni0yMS45MjMtNDYuNTQ1LTIyLjY2OC03NC4xNDdsNTEuNDMzLTQuNTE1YzIuNDY3IDIwLjYyIDguMDk5IDM3LjYwOSAxNi45ODkgNTAuNzgxIDguODkgMTMuMjE5IDIyLjc2MSAyMy45MjQgNDEuNTE5IDMyLjAyMyAxOC43NTggOC4xOTIgMzkuODQzIDEyLjI4OCA2My4zMDIgMTIuMjg4IDIwLjgwNiAwIDM5LjE5MS0zLjA3MiA1NS4xMS05LjMwOSAxNS45MTktNi4xNDQgMjcuNzg4LTE0LjYxNSAzNS42MDctMjUuNDYgNy43NzMtMTAuNzA1IDExLjYzNi0yMi41MjggMTEuNjM2LTM1LjMyOCAwLTEyLjg0Ny0zLjc3LTI0LjIwNC0xMS4yNjQtMzMuODg1LTcuNDk0LTkuNjM1LTE5Ljg3NS0xNy43MzQtMzcuMDk3LTI0LjI5Ny0xMS4wNzgtNC4zMjktMzUuNTYxLTEwLjk4NS03My40MDItMjAuMTU0LTM3Ljg4OC05LjAzMC02NC40MTktMTcuNjg3LTc5LjU5My0yNS42OTMtMTkuNjg5LTEwLjM4LTM0LjM5Ny0yMy4xMzMtNDQuMDMyLTM4LjQ0Ny05LjYzNS0xNS4yNjctMTQuNDc2LTMyLjM0OS0xNC40NzYtNTEuMjkzIDAtMjAuODA2IDUuOTExLTQwLjI2MiAxNy42ODctNTguMzY4IDExLjgyMy0xOC4wNjAgMjkuMDkxLTMxLjgzNyA1MS43NTktNDEuMTkzIDIyLjgwNy05LjMwOSA0OC4wMzUtMTQuMDEwIDc1Ljc3Ni0xNC4wMTAgMzAuNTggMCA1Ny41MyA0LjkzNCA4MC44NDkgMTQuNzU1IDIzLjM2NiA5Ljg2OCA0MS4yODYgMjQuMzQzIDUzLjg1MyA0My40NzNzMTkuMzE2IDQwLjc3NCAyMC4yNDcgNjQuOTc3bC01Mi4zMTcgMy45NTZjLTIuODM5LTI2LjA2NS0xMi4zMzUtNDUuNzU0LTI4LjU3OS01OS4wNjYtMTYuMTk4LTEzLjM1OS00MC4xMjItMjAuMDE1LTcxLjgyLTIwLjAxNS0zMy4wMDEgMC01Ny4wNjUgNi4wNTEtNzIuMTQ1IDE4LjE1M3MtMjIuNjIxIDI2LjY3MS0yMi42MjEgNDMuNzUzYzAgMTQuODAxIDUuMzUzIDI2Ljk5NiAxNi4wMTIgMzYuNTM4IDEwLjUxOSA5LjU4OCAzNy44ODggMTkuNDA5IDgyLjI5MiAyOS40MTcgNDQuMzExIDEwLjA1NCA3NC43NTIgMTguODUxIDkxLjIyOSAyNi4yOTggMjQuMDE3IDEwLjk4NSA0MS43MDUgMjUuMDg4IDUzLjE1NSA0MS45ODQgMTEuNDUgMTYuOTg5IDE3LjEyOSAzNi41MzggMTcuMTI5IDU4LjY0NyAwLjA0NyAyMi4wMTYtNi4yMzcgNDIuNjM2LTE4LjgwNCA2Mi4wOTJ6TTg1Mi4yOTQgMzc5LjE1OWgtMjIzLjY1MXYxMjcuNjc0aDE5My40ODl2NDguNjRoLTE5My40ODl2MTg3LjM0NWgtNTQuNTA1di00MTIuM2gyNzguMTU2djQ4LjY0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk2LCAxNDAsIDE5MykiCisJCQkJCX0KKwkJCQldLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1zZWNmb3giCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogWworCQkJCQkJNAorCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NiwgMTQwLCAxOTMpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MTgsCisJCQkJImlkIjogMTA2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2ODgsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItc2VjZm94IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjA0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMzYgMGMtNzUuNTUgMC0xMzYgNjAuNDUtMTM2IDEzNnY3NTJjMCA3NS41NSA2MC40NSAxMzYgMTM2IDEzNmg3NTJjNzUuNTUgMCAxMzYtNjAuNDUgMTM2LTEzNnYtNzUyYzAtNzUuNTUtNjAuNDUtMTM2LTEzNi0xMzZoLTc1MnpNMzIyIDI3NGM1MC40MjYgMCA4OC41MTMgMTIuNzQ0IDExNCAzOCAyNS40ODcgMjUuMjU3IDM4LjcyMSA1OS44MzcgNDAgMTAybC04MCA0Yy0zLjQ3Mi0yMy41ODYtMTAuNTgxLTQxLjY2Ny0yMi01Mi0xMS40MTktMTAuMzMyLTI5LjE2Mi0xMy45OTktNTItMTQtMjMuNTY5IDAuMDAxLTQyLjY2MyA0Ljk0LTU2IDE2LTguNTg3IDcuMDk3LTEyIDE2LjEwMy0xMiAyOC0wIDEwLjg1NCAzLjk2MSAyMC4yNzcgMTIgMjggMTAuMjMxIDkuODExIDM0LjUzNiAxOS4zNTUgNzQgMzAgMzkuNDY0IDEwLjY0NiA2OS4wOTAgMjIuNjI0IDg4IDM0czMzLjMxMiAyNi4yNzUgNDQgNDZjMTAuNjg4IDE5LjcyNSAxNiA0NC45ODYgMTYgNzQtMCAyNi4zLTcuMjExIDUxLjAzOS0yMCA3NHMtMzAuNjE0IDM4LjgzMy01NCA1MGMtMjMuMzg2IDExLjE2Ny01MS4xMDQgMTgtODYgMTgtNTAuNzkyIDAtOTAuNzc3LTEzLjE3OC0xMTgtNDBzLTQyLjcwMi02Ni42NTItNDgtMTE4bDc4LThjNC43NSAzMC4yNjYgMTUuNDc1IDUxLjgwNiAzMCA2NnMzMy4zMzUgMjIuMDAxIDU4IDIyYzI2LjEyNiAwLjAwMSA0Ni43NTQtNy4zNzIgNjAtMjBzMjAtMjcuMDkyIDIwLTQ0Yy0wLTEwLjg1My00LjQyOC0yMC4zODItMTAtMjhzLTE0LjExNS0xNC4zNjQtMjgtMjBjLTkuNTAxLTMuNzU2LTMyLjItMTAuMzk4LTY2LTIwLTQzLjQ4NC0xMi4zMTUtNzIuNDYxLTI4LjA0OS05MC00Ni0yNC42NjUtMjUuMjU3LTM4LTU1LjY4MS0zOC05Mi0wLTIzLjM3OCA2LjM5OC00NS42NDggMTgtNjZzMjguMTY3LTM1LjM1NCA1MC00NmMyMS44MzMtMTAuNjQ1IDQ3LjEyMy0xNiA3OC0xNnpNNTU2IDI4MmgyOTh2NzhoLTIxNnYxMDJoMjAydjc4aC0yMDJ2MTI0aDIyNHY3OGgtMzA2di00NjB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXNlZ3ciCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MTksCisJCQkJImlkIjogMTA1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2ODksCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItc2VndyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwNQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NDEwaDEwMjR2LTQxMGMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTEyMiAxNDZoMjM0djUwbC0xNzYgMjE4aDE4MnY1NGgtMjYwdi02MGwxNjgtMjA4aC0xNDh2LTU0ek0zODAgMTQ2aDI1NnY1NGgtOTZ2MjY4aC02NHYtMjY4aC05NnYtNTR6TTY3OCAxNDZoMjM4djU0aC0xNzR2NzJoMTYydjU0aC0xNjJ2ODhoMTgwdjU0aC0yNDR2LTMyMnpNNDk2IDU3NmMtMzguNSAwLTcwLjM3NSAxMi42ODgtOTQgMzhzLTM2IDYwLjI1LTM2IDEwNmMtMCA0My4yNSAxMi41IDc3LjA2MyAzNiAxMDJzNTMuNSAzOCA5MCAzOGMyOS41LTAgNTQuODEyLTcuNDM4IDc0LTIyczMxLjc1LTM4IDQwLTY4bC01NC0xNmMtNC42MjUgMjAuMTI1LTExLjM3NSAzNC42MjUtMjIgNDRzLTIzLjI1IDE0LTM4IDE0Yy0yMCAwLTM3LjUtNy4yNS01MC0yMnMtMTgtMzkuMjUtMTgtNzRjLTAtMzIuNzUgNy4zMTItNTcuMzc1IDIwLTcyczI3LjYyNS0yMiA0OC0yMmMxNC43NSAwIDI3LjY4NyA1Ljc1IDM4IDE0czE2Ljc1IDE3Ljc1IDIwIDMybDU2LTEyYy02LjI1LTIyLTE1LjUtMzguMjUtMjgtNTAtMjEtMTkuODc1LTQ4LjM3NS0zMC04Mi0zMHpNMTIyIDU4MHY0Nmg4MnYyMjhoNTZ2LTIyOGg4MHYtNDZoLTIxOHpNNzM0IDU4MGwtMTA4IDI3NGg1OGwyNC02MmgxMTBsMjQgNjJoNjBsLTExMC0yNzRoLTU4ek03NjIgNjQ0bDM4IDEwMmgtNzZsMzgtMTAyek0wIDg4NnYyYzAgNzUuNTUgNjAuNDUgMTM2IDEzNiAxMzZoNzUyYzc1LjU1IDAgMTM2LTYwLjQ1IDEzNi0xMzZ2LTJoLTEwMjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXp0ZWF0Y2EiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MjAsCisJCQkJImlkIjogMTA0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2OTAsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItenRlYXRjYSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwNgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTc2IDBjLTk3LjExNSAwLTE3NiA3OC44ODYtMTc2IDE3NnY2NzJjMCA5Ny4xMTQgNzguODg1IDE3NiAxNzYgMTc2aDY3MmM5Ny4xMTUgMCAxNzYtNzguODg2IDE3Ni0xNzZ2LTY3MmMwLTk3LjExNC03OC44ODUtMTc2LTE3Ni0xNzZoLTY3MnpNMTQyIDQwYzQ2Ljk2NyAwIDg0IDM4LjM1NSA4NCA4Ni4wMDMgMCAyMC4wNTgtNi42ODEgMzcuMzQ0LTE4IDUybDEwNCAyMDRjMi45MDIgMCA1LjAxOS0xLjk4NCA4LTEuOTg0IDE1Ljk4NyAwIDMxLjIyNSA0LjIyNCA0NCAxMmwxMzQtMTI4Yy0zLjMwMS05LjIwMy00LTE5LjY0Mi00LTI5Ljk5NyAwLTQ3LjY0OCAzNy4wMzMtODYuMDAzIDg0LTg2LjAwM3M4NiAzOC4zNTUgODYgODYuMDAzYzAgMC42NCAwLjAxNCAxLjM0NCAwIDEuOTg0bDE2NCA3NmMxNC45MzgtMTMuMTk3IDM0LjYzNC0yMS45OTcgNTYtMjEuOTk3IDQ2Ljk2NyAwIDg2IDQwLjM1MiA4NiA4OCAwIDQ3LjY0Mi0zOS4wMzMgODUuOTk3LTg2IDg1Ljk5N3MtODQtMzguMzU1LTg0LTg1Ljk5N2MwLTIuNjI0LTAuMjI0LTUuNDQgMC04bC0xNjAtNzYuMDA2Yy0xNS41MTQgMTYuNzYyLTM3LjU0MiAyNS45OTctNjIgMjUuOTk3LTE0LjA5MCAwLTI2LjI5OS0zLjg0LTM4LTkuOTk3bC0xMzggMTMyYzIuMDg2IDcuNDc1IDQgMTUuODQgNCAyNCAwIDQ3LjY0Mi0zOS4wMzMgODUuOTk3LTg2IDg1Ljk5N3MtODQtMzguMzU1LTg0LTg1Ljk5N2MwLTIwLjY0IDguMDgyLTM5LjE1NSAyMC01NC4wMDNsLTEwMi0yMDEuOTk3Yy0zLjc5NiAwLjY0LTguMDYyIDEuOTg0LTEyIDEuOTg0LTQ2Ljk2NyAwLTg2LTM4LjM1NS04Ni04NS45OTcgMC00Ny42NDggMzkuMDMzLTg2LjAwMyA4Ni04Ni4wMDN6TTE0MCA2MzZoMjM0djUwLjAwM2wtMTc2IDIxNmgxODJ2NTMuOTk3aC0yNjB2LTU3Ljk5N2wxNjgtMjA4aC0xNDh2LTU0LjAwM3pNMzk4IDYzNmgyNTZ2NTQuMDAzaC05NnYyNjUuOTk3aC02NHYtMjY1Ljk5N2gtOTZ2LTU0LjAwM3pNNjk2IDYzNmgyMzh2NTQuMDAzaC0xNzR2NzJoMTYydjUzLjk5N2gtMTYydjg2LjAwM2gxODB2NTMuOTk3aC0yNDR2LTMyMHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItenRlaXBzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTIxLAorCQkJCSJpZCI6IDEwMywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjkxLAorCQkJCSJuYW1lIjogIml0LW90aGVyLXp0ZWlwcyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwNworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTA4IDBjLTgyLjU1OCAwLjY3Mi0xNjYuNjk3IDIxLjE4OC0yNDQgNjQtMjQ3LjM2NSAxMzcuMDA1LTMzNi45OTcgNDQ4LjY0LTIwMCA2OTYgMTEyLjU3MiAyMDMuMjU3IDM0Mi4yODYgMjk4LjIzMyA1NTggMjUwbDg0LTE0NiAyOS4yODMtNDkuNjgzLTQ3LjI4My05Mi4zMTcgNTItMjhjLTI3LjM0Mi0yMy40NDUtNDcuNTIxLTUzLjU2LTYwLTg4bC00NCAyNC01NC05OCA5Mi01MGMyNC42ODctODcuMzEgMTA0LjkyNy0xNTIgMjAwLTE1MiA1MC42NjMgMCA5NS44NyAxOS43NTMgMTMyIDUwLTEwLjU5Ni0zOS40ODUtMjUuMy03OC42MjQtNDYtMTE2LTk0LjE4OS0xNzAuMDY0LTI3MC4zNzItMjY1LjQ3OS00NTItMjY0ek01MzAgOThjNDUuNDA3IDEuOTg0IDkxLjc5MiA5LjY5OSAxMzQgMjZsLTY2IDM2Yy0yMi40MTgtMjIuNTM0LTQ0LjMzLTQzLjI3NC02OC02MnpNNDAwIDExMmMzOS4xMzEgMjYuMzQ5IDc3Ljg2IDU3LjYyOSAxMTQgOTRsLTg2IDQ4LTcwLTEyNmMtMC4zMzktMC42NCAwLjM2Mi0xLjQyNCAwLTIgMTMuODUtNS41MDQgMjcuODc3LTEwLjAzOCA0Mi0xNHpNMjY2IDE3NmMwLjMyIDAuNjQgMS43MTEgMS40ODggMiAybDcwIDEyNi05NCA1MmMtMTEuODI4LTQ5LjUzNi0xNi4wODYtOTkuMTMzLTE4LTE0NiAxMi42MTItMTEuOTQyIDI1LjY3NC0yMy41NjggNDAtMzR6TTc2NiAxODJjMzAuNzU2IDIzLjU3MSA1OC4yOTEgNTEuNTY1IDgyIDg0bC0xMTggNjZjLTE5LjgyNi0zMy4xMTQtNDEuMzkyLTY0Ljk2My02NC05NGw5MC00OGMzLjIyOS0xLjc5MiA3LjUyNi01LjUxNyAxMC04ek01ODQgMjg2YzIyLjQzNiAyOC44NzcgNDIuMjY4IDU5LjA0NiA2MiA5MmwtMTE0IDY0LTU0LTk4ek0xNDYgMzE4YzMuNTAxIDI3Ljk3NCA3LjE0NSA1NS4yMzggMTQgODRsLTU2IDMyYzcuODUtNDAuNjU5IDIyLjUxOS03OS4zMDIgNDItMTE2ek0zODggMzk0bDU0IDk4LTEyMiA2NmMtMTcuNTk3LTM0LjEwNi0zMS4yNzktNjcuNzU0LTQ0LTEwMnpNMTkyIDUwMmMxMi43ODggMzQuNTQ3IDI2LjI4OCA2OS42NyA0NCAxMDRsLTExMCA2MGMtMTQuNTctMzYuNDQyLTI2LjE2OC03NC4zMTctMzAtMTEyek00OTIgNTgybDU0IDk4LTEwNiA1OGMtMjQuMTU0LTI4LjE3My00Ni41MTQtNTcuNDY5LTY4LTkwek0yODggNjk2YzIxLjU3IDMyLjUyNSA0NS42NzUgNTkuODI3IDcwIDg4bC0xMDIgNThjLTI5LjkwOC0yMy4yMzItNTYuODQtNTIuMzE0LTgwLTg0ek01OTYgNzcybDcwIDEyNmMtNy4zNDQgMi45NDQtMTQuNTUxIDcuNTA0LTIyIDEwLTQzLjg1Ni0yNC4zMTQtODYuNzktNTQuODU0LTEyOC05MnpNNDMyIDg2MmMyOC4zOTEgMjUuNDcyIDU4LjIyMiA0Ni40MzUgODggNjYtNTMuMzMxIDEuMDI0LTEwNi41Mi05LjI3NC0xNTYtMjh6IiwKKwkJCQkJIk04NzMuMTQ1IDM5MS44NTNjLTgzLjgyOCAwLTE1MC45NDkgNjcuMzIyLTE1MC45NDkgMTQ4Ljc5NCAwIDU3LjcwOSAzNC40MTkgMTA1LjcwMiA4NC4xIDEyOS45Mzl2Mjk5LjY5OWMwIDIxLjA3NSAxNy4xMjMgMzcuNzIyIDM4LjgxNSAzNy43MjJoNTYuMDY3YzIxLjY5MiAwIDM4LjgxNS0xNi42NDYgMzguODE1LTM3LjcyMnYtMjk5LjY5OWM0OS42ODItMjQuMjM3IDg0LjEtNzIuMjMgODQuMS0xMjkuOTM5IDAtODEuNDcyLTY3LjEyMS0xNDguNzk0LTE1MC45NDktMTQ4Ljc5NHoiLAorCQkJCQkiTTc0NS42NzEgOTAyLjU5MmgyNDcuNjYzbDM2LjQyMSAxMTguOTc2aC0zMTMuMjIxeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1zZG4tY29udHJvbGxlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUyMiwKKwkJCQkiaWQiOiAxMDIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY5MiwKKwkJCQkibmFtZSI6ICJpdC1zZG4tY29udHJvbGxlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIwOAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCA0djQyNGg3NnYtMTg2aDE0OHYxODZoNzR2LTQyNGgtNzR2MTY2aC0xNDh2LTE2NmgtNzZ6TTM3NiA0djQyNGg3NnYtMTYwaDUwYzM0LjEzNSAwIDU5Ljk5OC0xLjk0NSA3OC02IDEzLjI0Ni0zLjI4MiAyNS4xNzgtOS44NjMgMzgtMjBzMjMuNjc4LTI0LjIzNyAzMi00MmM4LjMyMS0xNy43NjMgMTItMzkuOTM1IDEyLTY2LTAtMzMuNzg4LTUuNTY1LTYwLjY2NS0yMC04MnMtMzIuNjAyLTM1LjYyOC01NC00MmMtMTMuOTI2LTQuMjQ3LTQ0LjE0OC02LTkwLTZoLTEyMnpNNDUyIDc2aDM2YzI3LjE3MiAwIDQ0Ljk5OSAwLjA3MCA1NCAyIDEyLjIyNyAyLjUxIDI0LjAxOCA3Ljk2IDMyIDE4czEyIDI0LjU1NCAxMiA0MGMtMCAxMi41NS00LjMxMSAyMi41NC0xMCAzMnMtMTEuOTgxIDE3LjU2LTIyIDIyYy0xMC4wMjAgNC40NDEtMzAuMjgxIDYtNjAgNmgtNDJ2LTEyMHpNOTg2IDQwNmwtMjggMTAtMjM0IDE5MC01MC04NC0yMi0xNC0yNi0yLTQyIDMwLTE3NiAxNjgtMzYgMTQtMjItNCA2LTI2IDg4LTEyMCAyOC00Ni02LTM0LTIyLTYtMzYgMzItMTcwIDE4NC00NCAyNC0xMi04IDItMjggNzItOTggMzQtNjQtOC0zNi0xNC0xMC0zMCAxNi0xMDIgMTUwLTM2IDY0LTYgNzQgMjAgMzIgMzYgOCAzOC0xNCA3OC02NiAxNCA1NCAzMCAxNiA1MCAyIDQ0LTI2IDk2LTgwIDEyNC0xMzIgMTItMiA0MiA2MCA0IDIyLTI3NiAzMTZjMCAwLTguOTkzIDE4LjUwMyAyIDM2czggMTYgOCAxNmw0OC02IDIzOC0yOTQgMTAtMiAxOCA2IDcwIDEyNCAzMCA2IDE0LTIwLTQtMzQtNzgtMTIyIDIyNi0xOTggMzAtMzAtMTQtMzItMTgtMTZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1ocHV4IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTIzLAorCQkJCSJpZCI6IDEwMSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NjkzLAorCQkJCSJuYW1lIjogIml0LXNlcnZlci1ocHV4IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjA5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTQgMGMtODUuMDQwIDAtMTU0IDY4Ljk2LTE1NCAxNTR2NzE2YzAgODUuMDQwIDY4Ljk2IDE1NCAxNTQgMTU0aDcxNmM4NS4wNDAgMCAxNTQtNjguOTYgMTU0LTE1NHYtNzE2YzAtODUuMDQwLTY4Ljk2LTE1NC0xNTQtMTU0aC03MTZ6TTE3OCAxMjJoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTE3NiAzNDRoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTIxNCA1NzhjNDcuMjUgMCA4NS42MzUgMTQuNjg4IDExNCA0NHM0MiA2OS43OTIgNDIgMTIyYy0wIDUxLjc3MS0xMy44NTQgOTIuNzYtNDIgMTIycy02NC44OTYgNDQtMTEyIDQ0Yy00Ny42ODggMC04NS44NTQtMTQuOTA2LTExNC00NHMtNDItNjguOTU4LTQyLTEyMGMtMC0zMi42NjYgNC4yMjktNTkuODMzIDE0LTgyIDcuMjkyLTE2LjMzMyAxNy4zODUtMzEuMDIxIDMwLTQ0czI2Ljk3OS0yMS43MjkgNDItMjhjMTkuOTc5LTguNDU4IDQxLjg5Ni0xNCA2OC0xNHpNODMyIDU3OGM0MC4yNSAwIDcxLjY1NiA4LjM1NCA5MiAyNnMzMC45NzkgNDIuNTQyIDMyIDcybC02NiAyYy0yLjc3MS0xNi40NzktOC44ODYtMjguNzgxLTE4LTM2cy0yMS43NzEtMTAtNDAtMTBjLTE4LjgxMyAwLTMzLjM1NCA0LjI3MS00NCAxMi02Ljg1NCA0Ljk1OS0xMCAxMS42ODgtMTAgMjAtMCA3LjU4NCAxLjU4MyAxMi42MDQgOCAxOCA4LjE2NyA2Ljg1NCAyOC41IDE0LjU2MyA2MCAyMnM1NC45MDYgMTYuMDUyIDcwIDI0YzE1LjA5NCA3Ljk0OCAyNy40NjggMTguMjE5IDM2IDMyczEyIDMxLjcyOSAxMiA1MmMtMCAxOC4zNzUtMy43OTIgMzMuOTU4LTE0IDUwcy0yNS4zMzQgMjguMTk4LTQ0IDM2Yy0xOC42NjcgNy44MDItNDIuMTQ2IDEyLTcwIDEyLTQwLjU0MiAwLTcyLjI3MS05LjI2LTk0LTI4cy0zMy43NzEtNDYuMTI1LTM4LTgybDYyLTZjMy43OTEgMjEuMTQ2IDEyLjQwNiAzNi4wODMgMjQgNDZzMjYuMzEyIDE2IDQ2IDE2YzIwLjg1NCAwIDM3LjQyNy01LjE3NyA0OC0xNHMxNi0xOC4xODcgMTYtMzBjLTAtNy41ODMtMS41NTItMTQuNjc3LTYtMjBzLTEyLjkxNy0xMC4wNjItMjQtMTRjLTcuNTgzLTIuNjI1LTI1LjAyMS03LjI5Mi01Mi0xNC0zNC43MDgtOC42MDQtNjAtMTkuNDU4LTc0LTMyLTE5LjY4OC0xNy42NDYtMjgtMzguNjI1LTI4LTY0IDAtMTYuMzMzIDQuNzQtMzEuNzgxIDE0LTQ2czIyLjU3My0yNC41NjIgNDAtMzJjMTcuNDI3LTcuNDM3IDM3LjM1NC0xMiA2Mi0xMnpNNDIwIDU4NGgxMDRjMzkuMzc1IDAgNjYuMDQxIDAuNzkyIDc4IDQgMTguMzc1IDQuODEzIDMzLjYwNCAxNS44ODYgNDYgMzJzMTggMzYuNDc5IDE4IDYyYy0wIDE5LjY4OC0yLjg1NCAzNi41ODMtMTAgNTBzLTE2Ljk5IDI0LjM0NC0yOCAzMmMtMTEuMDExIDcuNjU2LTIwLjYyNSAxMS41MjEtMzIgMTQtMTUuNDU5IDMuMDYyLTM4LjY4OCA2LTY4IDZoLTQydjEyMGgtNjZ2LTMyMHpNMjE2IDYzNGMtMjYuNjg4IDAtNDkuNjY3IDkuNjk4LTY2IDI4cy0yNCA0NS4xMDQtMjQgODJjLTAgMzYuMzEzIDkuMjI5IDYzLjI2MSAyNiA4MnMzOC4xODcgMjggNjQgMjhjMjUuODEyIDAgNDUuNDQ4LTkuNDA2IDYyLTI4czI2LTQ0LjgxMiAyNi04MmMtMC0zNi43NS03Ljg4Ni02NS45MTYtMjQtODRzLTM3LjMxMy0yNi02NC0yNnpNNDg2IDYzOHY5MmgzNmMyNS41MjEgMCA0MS4zOTYtMi42NDYgNTAtNnMxNS4xMTQtOC44NTQgMjAtMTZjNC44ODUtNy4xNDYgOC0xNC41MjEgOC0yNC0wLTExLjY2Ny0zLjE0Ni0yMi40MTYtMTAtMzBzLTE1LjUtMTIuMTA0LTI2LTE0Yy03LjcyOS0xLjQ1OC0yNC42NjctMi00OC0yaC0zMHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc3RvcmFnZS1vcHMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MjQsCisJCQkJImlkIjogMTAwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2OTQsCisJCQkJIm5hbWUiOiAiaXQtc3RvcmFnZS1vcHMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMTAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE1NCAwYy04NS4wNDAgMC0xNTQgNjguOTYtMTU0IDE1NHY3MTZjMCA4NS4wNDAgNjguOTYgMTU0IDE1NCAxNTRoNzE2Yzg1LjA0MCAwIDE1NC02OC45NiAxNTQtMTU0di03MTZjMC04NS4wNDAtNjguOTYtMTU0LTE1NC0xNTRoLTcxNnpNMTc4IDEyMmg2NzJjMjYuNzQ3IDAgNDggMjguNTQ0IDQ4IDY0cy0yMS4yNTMgNjQtNDggNjRoLTY3MmMtMjYuNzQ3IDAtNDgtMjguNTQ0LTQ4LTY0czIxLjI1My02NCA0OC02NHpNMTc2IDM0NGg2NzJjMjYuNzQ3IDAgNDggMjguNTQ0IDQ4IDY0cy0yMS4yNTMgNjQtNDggNjRoLTY3MmMtMjYuNzQ3IDAtNDgtMjguNTQ0LTQ4LTY0czIxLjI1My02NCA0OC02NHpNNzI0IDU4NGMzOS4yMjkgMCA3MS41IDEwLjgxMyA5NiAzNCAxNC41ODMgMTMuNzA5IDI0LjcwOCAzNC4zMzQgMzIgNjBsLTY0IDE2Yy0zLjc5Mi0xNi42MjUtMTEuOTY5LTMwLjM3NS0yNC00MHMtMjQuNzkyLTE0LTQyLTE0Yy0yMy43NzEgMC00My4xOTggOC45MzgtNTggMjZzLTI0IDQzLjc5Mi0yNCA4MmMtMCA0MC41NDIgNy40MTcgNjguNzkyIDIyIDg2czM0LjY2NiAyNiA1OCAyNmMxNy4yMDggMCAzMS42MDQtNS4wNjIgNDQtMTZzMjAuNjA0LTI4LjUyMSAyNi01Mmw2NCAyMGMtOS42MjUgMzUtMjUuNjE1IDYxLjAxMC00OCA3OHMtNTEuNTgzIDI2LTg2IDI2Yy00Mi41ODMgMC03Ni41ODMtMTQuOTA2LTEwNC00NHMtNDItNjkuNTQyLTQyLTEyMGMtMC01My4zNzUgMTQuNDM3LTk0LjQ2OCA0Mi0xMjRzNjMuMDgzLTQ0IDEwOC00NHpNMTY0IDU5MGgxMjhjMjUuMzc1IDAgNDMuNTMxLTAuMTE1IDU2IDJzMjQuMTU2IDcuMjkyIDM0IDE0YzkuODQzIDYuNzA5IDE3LjQzNyAxNC44NDQgMjQgMjZzMTAgMjQuMTQ2IDEwIDM4Yy0wIDE1LjAyMS0zLjkwNyAyOS40NTktMTIgNDJzLTE4LjE0NiAyMS43MjktMzIgMjhjMTkuNTQxIDUuNjg4IDMzLjUgMTYuMjkyIDQ0IDMwczE2IDI5LjQ3OSAxNiA0OGMtMCAxNC41ODMtMy4yMTkgMjguMjE5LTEwIDQycy0xNi4yNjEgMjMuNzYtMjggMzJjLTExLjc0IDguMjQtMjQuNzkyIDE0LjEwNC00MiAxNi0xMC43OTIgMS4xNjctMzguNzI5IDEuNzA4LTgwIDJoLTEwOHYtMzIwek0yMjggNjQ0djc0aDQ0YzI1LjIyOSAwIDM5Ljg3NS0xLjI3MSA0Ni0yIDExLjA4My0xLjMxMiAxOS42NTYtNS42NTYgMjYtMTJzMTAtMTMuNjQ2IDEwLTI0Yy0wLTkuOTE2LTIuNTMxLTE3LjgwMi04LTI0cy0xMy4yMDktMTAuNjg3LTI0LTEyYy02LjQxNy0wLjcyOS0yNS41MjEgMC01NiAwaC0zOHpNMjI4IDc3MHY4Nmg2MGMyMy4zMzMgMCAzNy43MjktMC42ODcgNDQtMiA5LjYyNS0xLjc1IDE3Ljk0OC01LjIxOSAyNC0xMnMxMC0xNi42MjUgMTAtMjhjLTAtOS42MjUtMy4zMzQtMTcuMjkyLTgtMjRzLTExLjE3Ny0xMC45MzctMjAtMTRjLTguODIzLTMuMDYyLTI4LjU0Mi02LTU4LTZoLTUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1zdG9yYWdlLXNhbnN3aXRjaC1icm9jYWRlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTI1LAorCQkJCSJpZCI6IDk5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2OTUsCisJCQkJIm5hbWUiOiAiaXQtc3RvcmFnZS1zYW5zd2l0Y2gtYnJvY2FkZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIxMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjU2IDEwMHY4MzRoLTI1NnY5MGgxMDM0di05MGgtMjU2di0yNTJoLTQwMHYtOTZoNDAwdi0xMDhoLTQwMHYtOTZoNDAwdi0yODJoLTUyMnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MjYsCisJCQkJImlkIjogOTgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY5NiwKKwkJCQkibmFtZSI6ICJpdCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIxMgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTMyLTRjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC45MTIgNTcuMDg4IDEyOCAxMjggMTI4aDQxOGw0NzgtNDgwdi00MTZjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTUxNiA3NmMyMDMuNzkyIDAgMzcwIDE2Ni4yMDggMzcwIDM3MHMtMTY2LjIwOCAzNzItMzcwIDM3MmMtMjAzLjc5MiAwLTM3MC0xNjguMjA4LTM3MC0zNzJzMTY2LjIwOC0zNzAgMzcwLTM3MHpNNTE2IDE4MmMtMTQ3LjI3MSAwLTI2NiAxMTYuNzI5LTI2NiAyNjRzMTE4LjcyOSAyNjYgMjY2IDI2NmMxNDcuMjcxIDAgMjY2LTExOC43MjkgMjY2LTI2NnMtMTE4LjcyOS0yNjQtMjY2LTI2NHpNNDgwIDI4Nmg2OGwxMjggMzIyaC03MGwtMjgtNzRoLTEyOGwtMjYgNzRoLTY4bDEyNC0zMjJ6TTUxNCAzNjJsLTQ0IDExOGg4OGwtNDQtMTE4ek0xMDI4IDY0MGwtMzgwIDM4MGgyNTJjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di0yNTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUyNywKKwkJCQkiaWQiOiA5NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Njk3LAorCQkJCSJuYW1lIjogIml0LWFwcCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIxMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTMyLTRjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC45MTIgNTcuMDg4IDEyOCAxMjggMTI4aDQxOGw0NzgtNDgwdi00MTZjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTExNCA4NmgyMjZjNDQuNzM4IDAgNzguMDE2IDIuMjQ5IDEwMCA2czQwLjY0NCAxMC4xNzQgNTggMjJjMTcuMzU1IDExLjgzNyAzMi40MjkgMjguMzI4IDQ0IDQ4IDExLjU3IDE5LjY2MiAxNy45OTkgNDEuNTY2IDE4IDY2LTAuMDAxIDI2LjQ3Ni03LjczIDQ5Ljg4OS0yMiA3MnMtMzMuNTc0IDM4Ljk0NS01OCA1MGMzNC40NTMgMTAuMDAzIDYxLjQ4NyAyNy44MjYgODAgNTIgMTguNTEyIDI0LjE3NCAyNy45OTkgNTMuMzQ1IDI4IDg2LTAuMDAxIDI1LjcxNi02LjA0NSA0OS43MDEtMTggNzQtMTEuOTU2IDI0LjI5OS0yOS4zMDIgNDMuNDc1LTUwIDU4LTIwLjY5OCAxNC41MzUtNDUuNjYxIDI0LjY1NS03NiAyOC0xOS4wMjcgMi4wODQtNjUuMjM2IDEuNDc5LTEzOCAyaC0xOTJ2LTU2NHpNMjI4IDE4MHYxMzBoNzRjNDQuNDgxIDAgNzMuMjAxLTEuMDYyIDg0LTIgMTkuNTQxLTIuMjkyIDM0LjgxNS04LjgwOSA0Ni0yMCAxMS4xODQtMTEuMTggMTYtMjUuNzQ1IDE2LTQ0LTAtMTcuNDg0LTQuMzU4LTMxLjA3MC0xNC00MnMtMjQuOTc0LTE3LjY4Ny00NC0yMGMtMTEuMzE0LTEuMjUtNDIuMjYzLTItOTYtMmgtNjZ6TTIyOCA0MDR2MTUyaDEwNmM0MS4xMzkgMCA2Ni45NDQtMS43MDggNzgtNCAxNi45NjktMy4xMjYgMzEuMzI5LTEwLjAzOCA0Mi0yMiAxMC42Ny0xMS45NTEgMTYtMjcuOTQyIDE2LTQ4LTAtMTYuOTc0LTUuNzczLTMyLjE3NC0xNC00NC04LjIyOC0xMS44MjYtMTguNDQ1LTIwLjU5Mi0zNC0yNi0xNS41NTYtNS40MTgtNTAuMDYyLTgtMTAyLThoLTkyek0xMDI4IDY0MGwtMzgwIDM4MGgyNTJjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di0yNTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC1iaW5kIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTI4LAorCQkJCSJpZCI6IDk2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk2OTgsCisJCQkJIm5hbWUiOiAiaXQtYXBwLWJpbmQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMTQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEzMi00Yy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuOTEyIDU3LjA4OCAxMjggMTI4IDEyOGg0MThsNDc4LTQ4MHYtNDE2YzAtNzAuOTEyLTU3LjA4OC0xMjgtMTI4LTEyOGgtNzY4ek04MzYgMTQwYzQxLjE1NiAwIDczLjE5OCAxMS41ODcgOTQgMzRzMzAuOTU2IDUwLjU4NCAzMiA4OGwtNjYgNGMtMi44MzMtMjAuOTMxLTguNjgtMzQuODMxLTE4LTQ0cy0yMy4zNjEtMTMuOTk5LTQyLTE0Yy0xOS4yMzYgMC4wMDEtMzMuMTE1IDQuMTgxLTQ0IDE0LTcuMDA5IDYuMjk4LTEyIDE1LjQ0Mi0xMiAyNi0wIDkuNjMyIDMuNDM5IDE3LjE0NyAxMCAyNCA4LjM1IDguNzA2IDI5Ljc5MSAxOC41NTMgNjIgMjhzNTQuNTY2IDE3LjkwNSA3MCAyOGMxNS40MzMgMTAuMDk1IDI3LjI3NiAyNC40OTYgMzYgNDJzMTQgNDAuMjUzIDE0IDY2Yy0wIDIzLjMzOS01LjU2MiA0My42MjUtMTYgNjRzLTI0LjkxMyAzNi4wOTAtNDQgNDZjLTE5LjA4NyA5LjkxLTQzLjUxOSAxNi03MiAxNi00MS40NTUgMC03MS43ODItMTIuMTk4LTk0LTM2cy0zNS42NzYtNTguNDMzLTQwLTEwNGw2NC04YzMuODc3IDI2Ljg1OCAxMi4xNDUgNDUuNDA0IDI0IDU4czI3Ljg2OSAyMCA0OCAyMGMyMS4zMjQgMCAzNy4xODktNi43OSA0OC0xOCAxMC44MTEtMTEuMjA3IDE2LTIyLjk5NiAxNi0zOC0wLTkuNjMyLTMuNDUyLTE5LjIzOS04LTI2cy0xMC42NjctMTAuOTk4LTIyLTE2Yy03Ljc1NC0zLjMzMS0yNi40MTQtOS40NzktNTQtMTgtMzUuNDktMTAuOTI4LTU5LjY4NS0yNC4wNzEtNzQtNDAtMjAuMTMxLTIyLjQxMy0zMC00OS43NjktMzAtODIgMC0yMC43NDYgNC41MzEtMzkuOTQgMTQtNThzMjIuMTgtMzIuNTUzIDQwLTQyYzE3LjgxOS05LjQ0NiAzOC43OTktMTQgNjQtMTR6TTYwIDE0NmgxMjBjMjcuMjg4IDAgNDkuNjg1IDIuODE3IDY0IDggMTkuMjM2IDcuMDQwIDM0LjI4MSAyMC4wMzMgNDggMzhzMjQuODQyIDM5Ljk3NSAzMiA2NmM3LjE1NyAyNi4wMjUgMTAgNTcuODQzIDEwIDk2LTAgMzMuNTI3LTMuMjkgNjEuNzM1LTEwIDg2LTguMjAyIDI5LjYzNy0xOC43OSA1My42NjItMzQgNzItMTEuNDgyIDEzLjg5Mi0yNi40NjYgMjYuMjItNDYgMzQtMTQuNjE0IDUuNzQyLTM1LjU0NSA4LTYwIDhoLTEyNHYtNDA4ek0zOTIgMTQ2aDY0bDEzNCAyNzJ2LTI3Mmg2MnY0MDhoLTY2bC0xMzItMjY2djI2NmgtNjJ2LTQwOHpNMTI2IDIxNnYyNzBoNTBjMTguNDkgMCAzMS43OTgtMS40MTEgNDAtNCAxMC43MzYtMy4zMzEgMTguOTE3LTEwLjAzNSAyNi0xOHMxMy41MjYtMTkuNzU1IDE4LTM4YzQuNDczLTE4LjI0NiA2LTQ0LjUxMSA2LTc2cy0xLjUyNy01NS4xNDQtNi03MmMtNC40NzQtMTYuODU1LTExLjk0OC0zMC41NTMtMjAtNDBzLTE3LjYyMy0xNC42NjUtMzAtMThjLTkuMjQ1LTIuNTk2LTI3LjAxMC00LTU0LTRoLTMwek0xMDI4IDY0MGwtMzgwIDM4MGgyNTJjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di0yNTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC1kbnMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MjksCisJCQkJImlkIjogOTUsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTY5OSwKKwkJCQkibmFtZSI6ICJpdC1hcHAtZG5zIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjE1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMjggMGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjkxMiA1Ny4wODggMTI4IDEyOCAxMjhoNDE4bDQ3OC00ODB2LTQxNmMwLTcwLjkxMi01Ny4wODgtMTI4LTEyOC0xMjhoLTc2OHpNODE2IDE3MmMzNy4zNzUgMCA2NS4xMDkgNy42MTUgODQgMjRzMjkuMDUyIDM4LjY0NiAzMCA2NmwtNjAgNGMtMi41NzMtMTUuMzAyLTkuNTM3LTI3LjI5Ny0xOC0zNHMtMjEuMDczLTEwLTM4LTEwYy0xNy40NjkgMC0zMC4xMTUgMi44MjMtNDAgMTAtNi4zNjUgNC42MDQtMTAgMTIuMjgxLTEwIDIwLTAgNy4wNDIgMi4wNDIgMTIuOTkgOCAxOCA3LjU4MyA2LjM2NSAyNi43NSAxMy4wOTQgNTYgMjBzNTEuOTg0IDEyLjYyIDY2IDIwYzE0LjAxNSA3LjM4IDI0LjA3OCAxNy4yMDMgMzIgMzBzMTIgMjkuMTc3IDEyIDQ4Yy0wIDE3LjA2My00LjUyMSAzMy4xMDQtMTQgNDhzLTIyLjY2NyAyNi43NTUtNDAgMzRjLTE3LjMzNCA3LjI0NS00MC4xMzYgMTAtNjYgMTAtMzcuNjQ2LTAtNjUuODIzLTguNTk5LTg2LTI2cy0zMi4wNzMtNDIuNjg3LTM2LTc2bDU4LTZjMy41MjEgMTkuNjM2IDExLjIzNCAzNC43OTIgMjIgNDRzMjUuNzE5IDE0IDQ0IDE0YzE5LjM2NCAwIDM0LjE4Mi0zLjgwNyA0NC0xMnMxNC0xOS4wMzEgMTQtMzBjLTAtNy4wNDItMS44Ny0xMy4wNTctNi0xOHMtMTEuNzA4LTguMzQ0LTIyLTEyYy03LjA0Mi0yLjQzNy0yMi45NDgtNy43NzEtNDgtMTQtMzIuMjI5LTcuOTg5LTU1LTE2LjM1NC02OC0yOC0xOC4yODEtMTYuMzg1LTI4LTM2LjQzNy0yOC02MCAwLTE1LjE2NiA1LjQwMS0zMC43OTcgMTQtNDRzMTkuODE4LTIzLjA5MyAzNi0zMGMxNi4xODItNi45MDYgMzcuMTE0LTEwIDYwLTEwek04NiAxNzhoMjIwdjUwaC0xNjB2NjZoMTUwdjUwaC0xNTB2ODBoMTY2djUyaC0yMjZ2LTI5OHpNMzY0IDE3OGg5MGw1NCAyMDIgNTItMjAyaDkwdjI5OGgtNTZ2LTIzNmwtNTggMjM2aC01OGwtNTgtMjM2djIzNmgtNTZ2LTI5OHpNMTAyNCA2NDRsLTM4MCAzODBoMjUyYzcwLjkxMiAwIDEyOC01Ny4wODggMTI4LTEyOHYtMjUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1hcHAtZW1zIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTMwLAorCQkJCSJpZCI6IDk0LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MDAsCisJCQkJIm5hbWUiOiAiaXQtYXBwLWVtcyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIxNgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTI4IDBjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC45MTIgNTcuMDg4IDEyOCAxMjggMTI4aDQxOGw0NzgtNDgwdi00MTZjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTE1OCAxNDhoMTEybDY2IDI1MCA2Ni0yNTBoMTEwdjM2NmgtNjh2LTI4OGwtNzIgMjg4aC03MmwtNzItMjg4djI4OGgtNzB2LTM2NnpNNTg2IDE0OGgyNzJ2NjJoLTE5OHY4MGgxODR2NjJoLTE4NHYxMDBoMjA2djYyaC0yODB2LTM2NnpNMTAyNCA2NDRsLTM4MCAzODBoMjUyYzcwLjkxMiAwIDEyOC01Ny4wODggMTI4LTEyOHYtMjUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1hcHAtbWVkaWF0b3IiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MzEsCisJCQkJImlkIjogOTMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcwMSwKKwkJCQkibmFtZSI6ICJpdC1hcHAtbWVkaWF0b3IiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMTcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEyOCAwYy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuOTEyIDU3LjA4OCAxMjggMTI4IDEyOGg0MThsNDc4LTQ4MHYtNDE2YzAtNzAuOTEyLTU3LjA4OC0xMjgtMTI4LTEyOGgtNzY4ek01OCAxNTBoNjhsMTQyIDI3MnYtMjcyaDY0djQwOGgtNzBsLTE0MC0yNjZ2MjY2aC02NHYtNDA4ek0zODIgMTUwaDI3NHY3MGgtMTAydjMzOGgtNzB2LTMzOGgtMTAydi03MHpNNzAyIDE1MGgxMTJjNDIuNDM2IDAuMDAxIDY5LjExMiAxLjkyMiA4MiA2IDE5LjgwMyA2LjExNCAzNi42NCAxOS41MzIgNTAgNDBzMjAgNDcuNTg1IDIwIDgwYy0wIDI1LjAwNy00LjI5OSA0NC45NTktMTIgNjJzLTE2LjEzNCAzMi4yNzUtMjggNDJjLTExLjg2NyA5LjcyNC0yNS43NDEgMTQuODUxLTM4IDE4LTE2LjY2IDMuODkxLTQwLjQwOSA2LTcyIDZoLTQ0djE1NGgtNzB2LTQwOHpNNzcyIDIyMHYxMTZoMzhjMjcuNTA1IDAgNDQuNzI3LTMuNzM0IDU0LTggOS4yNzMtNC4yNTkgMTYuNzM1LTEwLjkyMyAyMi0yMHM4LTE5Ljk2IDgtMzJjLTAtMTQuODE4LTQuNjEzLTI2LjM2OC0xMi0zNnMtMTYuNjg0LTE1LjU5Mi0yOC0xOGMtOC4zMy0xLjg0OC0yNC44NTMtMi01MC0yaC0zMnpNMTAyNCA2NDRsLTM4MCAzODBoMjUyYzcwLjkxMiAwIDEyOC01Ny4wODggMTI4LTEyOHYtMjUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1hcHAtbnRwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTMyLAorCQkJCSJpZCI6IDkyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MDIsCisJCQkJIm5hbWUiOiAiaXQtYXBwLW50cCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIxOAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTI4IDBjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC45MTIgNTcuMDg4IDEyOCAxMjggMTI4aDQxOGw0NzgtNDgwdi00MTZjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTIwMiAxNDRjNDguMzE0IDAgODYuOTk2IDE4Ljc2OSAxMTYgNTYgMjkuMDAzIDM3LjIzMiA0MiA4Ny42ODcgNDIgMTU0LTAgNjUuNzU3LTEzLjIyMSAxMTguODYxLTQyIDE1NnMtNjcuODM1IDU0LTExNiA1NGMtNDguNzYxIDAtODcuMjIxLTE3LjA0Ni0xMTYtNTRzLTQ0LTg5LjE2OS00NC0xNTRjLTAtNDEuNDkxIDYuMDA5LTc1Ljg0NSAxNi0xMDQgNy40NTYtMjAuNzQ1IDE3LjEwMS0zOS41MTQgMzAtNTZzMjYuNjQxLTI4LjAzNSA0Mi0zNmMyMC40MjktMTAuNzQzIDQ1LjMwOC0xNiA3Mi0xNnpNMzg4IDE1MGgyNjJ2NzBoLTk4djMzOGgtNjZ2LTMzOGgtOTh2LTcwek03ODYgMTUwaDcwbDEzMiA0MDhoLTcybC0yOC05MmgtMTMybC0yNiA5MmgtNzJsMTI4LTQwOHpNMjAyIDIxNGMtMjcuMjg5IDAuMDAxLTQ5LjI5OSAxMC43NTQtNjYgMzQtMTYuNzAxIDIzLjI0Ny0yNiA1OS4xMzctMjYgMTA2LTAgNDYuMTIzIDguODUxIDgwLjE5OSAyNiAxMDQgMTcuMTQ4IDIzLjgwMyAzOS42MDYgMzYgNjYgMzZzNDcuMDc1LTEwLjM4MyA2NC0zNGMxNi45MjQtMjMuNjE3IDI2LTYwLjc2NiAyNi0xMDgtMC00Ni42NzgtNy41MjMtODEuMDMxLTI0LTEwNHMtMzguNzEyLTMzLjk5OS02Ni0zNHpNODIwIDI0NmwtNDQgMTUwaDkwbC00Ni0xNTB6TTEwMjQgNjQ0bC0zODAgMzgwaDI1MmM3MC45MTIgMCAxMjgtNTcuMDg4IDEyOC0xMjh2LTI1MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLW90YSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUzMywKKwkJCQkiaWQiOiA5MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzAzLAorCQkJCSJuYW1lIjogIml0LWFwcC1vdGEiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMTkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEyOCAwYy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuOTEyIDU3LjA4OCAxMjggMTI4IDEyOGg0MThsNDc4LTQ4MHYtNDE2YzAtNzAuOTEyLTU3LjA4OC0xMjgtMTI4LTEyOGgtNzY4ek01OTYgMTQ0YzUwLjgwNSAwLjAwMSA5Mi4yNyAxNi4wMjggMTI0IDUwIDE4Ljg4NiAyMC4wODUgMzIuNTU2IDUwLjM5NiA0MiA4OGwtODIgMjJjLTQuOTExLTI0LjM1OC0xNC40MTktNDMuODk3LTMwLTU4LTE1LjU4Mi0xNC4xMDEtMzUuNzE0LTIxLjk5OS01OC0yMi0zMC43ODUgMC4wMDEtNTQuODMgMTMuMDAyLTc0IDM4cy0zMCA2Ni4wMjAtMzAgMTIyYy0wIDU5LjM5OSAxMS4xMTMgMTAwLjc4NyAzMCAxMjZzNDEuNzgxIDM4IDcyIDM4YzIyLjI4NiAwIDQxLjk0Ni03Ljk3NSA1OC0yNHMyNy4wMTItNDEuNiAzNC03Nmw4MiAzMGMtMTIuNDY1IDUxLjI3OS0zMy4wMTAgODkuMTA4LTYyIDExNHMtNjUuNDI4IDM4LTExMCAzOGMtNTUuMTQ5IDAtMTAwLjQ5My0yMS4zNzQtMTM2LTY0cy01NC0xMDIuMDcyLTU0LTE3NmMtMC03OC4yMDEgMTguMzA0LTEzOC43MzMgNTQtMTgyczgxLjgyOS02My45OTkgMTQwLTY0ek0zMiAxNTJoMzMwdjgwaC0xMjJ2MzkwaC04NHYtMzkwaC0xMjR2LTgwek0xMDI0IDY0NGwtMzgwIDM4MGgyNTJjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di0yNTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC10b21jYXQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MzQsCisJCQkJImlkIjogOTAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcwNCwKKwkJCQkibmFtZSI6ICJpdC1hcHAtdG9tY2F0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjIwCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMjggMGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjkxMiA1Ny4wODggMTI4IDEyOCAxMjhoNDE4bDQ3OC00ODB2LTQxNmMwLTcwLjkxMi01Ny4wODgtMTI4LTEyOC0xMjhoLTc2OHpNMzIgMTUyaDMzMHY4MGgtMTIydjM5MGgtODR2LTM5MGgtMTI0di04MHpNNDE2IDE1MmgxMjZsNzQgMzIwIDc2LTMyMGgxMjZ2NDcwaC03OHYtMzcwbC04NCAzNzBoLTgwbC04Mi0zNzB2MzcwaC03OHYtNDcwek0xMDI0IDY0NGwtMzgwIDM4MGgyNTJjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di0yNTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC10cmVuZCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUzNSwKKwkJCQkiaWQiOiA4OSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzA1LAorCQkJCSJuYW1lIjogIml0LWFwcC10cmVuZCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIyMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTI4IDBjLTcwLjkxMiAwLTEyOCA1Ny4wODgtMTI4IDEyOHY3NjhjMCA3MC45MTIgNTcuMDg4IDEyOCAxMjggMTI4aDQxOGw0NzgtNDgwdi00MTZjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTQ1MCAxNDRjNDEuMTU2IDAgNzMuMTk4IDExLjU4NyA5NCAzNHMzMC45NTYgNTAuNTg0IDMyIDg4bC02NiA0Yy0yLjgzMy0yMC45MzEtOC42OC0zNC44MzEtMTgtNDRzLTIzLjM2MS0xMy45OTktNDItMTRjLTE5LjIzNiAwLjAwMS0zNS4xMTUgNC4xODEtNDYgMTQtNy4wMDkgNi4yOTgtMTAgMTUuNDQyLTEwIDI2LTAgOS42MzIgMy40MzkgMTcuMTQ3IDEwIDI0IDguMzUgOC43MDYgMjkuNzkxIDE4LjU1MyA2MiAyOHM1NC41NjYgMTcuOTA1IDcwIDI4YzE1LjQzMyAxMC4wOTUgMjcuMjc2IDI0LjQ5NiAzNiA0MnMxNCA0MC4yNTMgMTQgNjZjLTAgMjMuMzM5LTUuNTYyIDQzLjYyNS0xNiA2NHMtMjQuOTEzIDM2LjA5MC00NCA0NmMtMTkuMDg3IDkuOTEtNDMuNTE5IDE2LTcyIDE2LTQxLjQ1NSAwLTcxLjc4Mi0xMi4xOTgtOTQtMzZzLTM1LjY3Ni01OC40MzMtNDAtMTA0bDY0LThjMy44NzcgMjYuODU4IDEyLjE0NSA0NS40MDQgMjQgNThzMjcuODY5IDIwIDQ4IDIwYzIxLjMyNCAwIDM3LjE4OS02Ljc5IDQ4LTE4IDEwLjgxMS0xMS4yMDcgMTYtMjIuOTk2IDE2LTM4LTAtOS42MzItMy40NTItMTkuMjM5LTgtMjZzLTEwLjY2Ny0xMC45OTgtMjItMTZjLTcuNzU0LTMuMzMxLTI2LjQxNC05LjQ3OS01NC0xOC0zNS40OS0xMC45MjgtNTkuNjg1LTI0LjA3MS03NC00MC0yMC4xMzEtMjIuNDEzLTMwLTQ5Ljc2OS0zMC04Mi0wLTIwLjc0NiA0LjUzMS0zOS45NCAxNC01OHMyMi4xOC0zMi41NTMgNDAtNDJjMTcuODE5LTkuNDQ2IDM4Ljc5OS0xNCA2NC0xNHpNMzIgMTUwaDI2MnY3MGgtOTh2MzM4aC02NnYtMzM4aC05OHYtNzB6TTY0MiAxNTBoOThsNjAgMjc4IDU4LTI3OGgxMDB2NDA4aC02MnYtMzIwbC02NCAzMjBoLTY0bC02Ni0zMjB2MzIwaC02MHYtNDA4ek0xMDI0IDY0NGwtMzgwIDM4MGgyNTJjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di0yNTJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWFwcC10c20iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MzYsCisJCQkJImlkIjogODgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcwNiwKKwkJCQkibmFtZSI6ICJpdC1hcHAtdHNtIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjIyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMjggMGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjkxMiA1Ny4wODggMTI4IDEyOCAxMjhoNDE4bDQ3OC00ODB2LTQxNmMwLTcwLjkxMi01Ny4wODgtMTI4LTEyOC0xMjhoLTc2OHpNMjQgMTUwaDY4bDUwIDI4MCA2MC0yODBoNzhsNTggMjg2IDUwLTI4Nmg2NmwtNzggNDA4aC03MmwtNjQtMzA0LTY2IDMwNGgtNzJsLTc4LTQwOHpNNDkwIDE1NGg2NnYzMzZoMTY0djY4aC0yMzB2LTQwNHpNMTAyNCA2NDRsLTM4MCAzODBoMjUyYzcwLjkxMiAwIDEyOC01Ny4wODggMTI4LTEyOHYtMjUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1hcHAtd2VibG9naWMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1MzcsCisJCQkJImlkIjogODcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcwNywKKwkJCQkibmFtZSI6ICJpdC1hcHAtd2VibG9naWMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMjMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE4MCAydjE2OGgxNTZ2Mjc4aDE3MnY5OGgtMjM2di0zMDhoLTI3MnY3ODZoMjcydi0zNDBoMjM2djMzOGgyNzR2LTc4NGgtMjc0djcyaC00MHYtMzA4aC0yODh6TTc0MCAydjE2OGgxNTZ2ODUyaDEzMnYtMTAyMGgtMjg4ek0zMzYgNzQ4djI3OGgxMzJ2LTI3OGgtMTMyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1jbHVzdGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTM4LAorCQkJCSJpZCI6IDg2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MDgsCisJCQkJIm5hbWUiOiAiaXQtY2x1c3RlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIyNAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNODYgMy45MjN2ODAuNjg1aDI2OC41OTJ2MzIyLjczOWgxNDAuMzk1djkzLjEwMWgtMjA4Ljk4N3YtMzQ1LjQ5OGgtMjg2djg3My4wNTBoMjg2di0zODguOTQxaDIwOC45ODd2MzUuMTY4aDI4NnYtNTE5LjI3N2gtMjg2djE3MS43MTJoLTgwLjM5NXYtMzIyLjczOXpNNTgwLjk4NyAzLjkyM3Y4MC42ODVoMjYyLjkxM3Y1ODkuNjE5aDYwdi02NzAuMzA0ek00MjYgNzE0LjAyMmwtMTIyIDI5MS4yMTloNjhsMjQtNzAuMzQyaDEyNGwyOCA3MC4zNDJoNjhsLTEyNC0yOTEuMjE5ek02NDYgNzE0LjAyMnYyOTEuMjE5aDY0di0yOTEuMjE5ek03NDYgNzE0LjAyMmw5NiAxMjkuODUtMTA0IDE2MS4zN2g3NGw2OC0xMDcuNTc4IDcwIDEwNy41NzhoNzRsLTEwNi0xNTkuMjk2IDk4LTEzMS45MjNoLTc0bC02MCA4Mi4yNjYtNjItODIuMjY2ek00NTggNzY5LjM5NWw0MiAxMTMuNzg2aC04NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtY2x1c3Rlci1oYWNtcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDUzOSwKKwkJCQkiaWQiOiA4NSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzA5LAorCQkJCSJuYW1lIjogIml0LWNsdXN0ZXItaGFjbXAiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMjUKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg2IDR2ODBoMjY4djMyNGgxNDB2OTJoLTIwOHYtMzQ2aC0yODZ2ODc0aDI4NnYtMzg4aDIwOHYzNGgyODZ2LTUyMGgtMjg2djE3MmgtODB2LTMyMmgtMzI4ek01ODAgNHY4MGgyNjR2NTkwaDYwdi02NzBoLTMyNHpNOTI0IDcwNGMtMzQuNTEzIDAtNjAuODIyIDE0Ljk5Mi04MiA0Mi0yMS4xNzggMjcuMDE0LTMyIDYzLjE4MS0zMiAxMTItMCA0Ni4xNTcgMTAuOTM0IDgzLjM4OSAzMiAxMTBzNDcuMjggNDAgODAgNDBjMjYuNDQ1IDAgNDguOC04LjQ1NCA2Ni0yNCAxNy4yLTE1LjUzOSAyOC42MDQtMzcuOTg3IDM2LTcwbC00OC0yMGMtNC4xNDYgMjEuNDc4LTEwLjQ3NiAzNy45OTctMjAgNDgtOS41MjUgMTAuMDE2LTIwLjc3OCAxNi0zNCAxNi0xNy45MjkgMC0zMi43OTUtOC4yNjItNDQtMjRzLTE4LTQyLjkxOC0xOC04MGMtMC0zNC45NSA2LjYyNi02MC4zOTcgMTgtNzYgMTEuMzczLTE1LjYxIDI1LjczNS0yMiA0NC0yMiAxMy4yMjIgMCAyNC43NTUgMy4yIDM0IDEyIDkuMjQ0IDguODA2IDE1LjA4NyAyMC43OTQgMTggMzZsNTAtMTRjLTUuNjAzLTIzLjQ3NS0xNC43OTUtNDEuNDYyLTI2LTU0LTE4LjgyNS0yMS4yMS00My44NTgtMzItNzQtMzJ6TTM0MCA3MTB2MjkyaDQ2di0xOTBsMTAwIDE5MGg1MHYtMjkyaC00NnYxOTZsLTEwMi0xOTZoLTQ4ek01ODggNzEwdjI5MmgxODh2LTQ4aC0xMzh2LTgwaDEyNHYtNTBoLTEyNHYtNjRoMTM0di01MGgtMTg0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1jbHVzdGVyLW5lYyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU0MCwKKwkJCQkiaWQiOiA4NCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzEwLAorCQkJCSJuYW1lIjogIml0LWNsdXN0ZXItbmVjIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjI2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04NiA0djgwaDI2OHYzMjRoMTQwdjkyaC0yMDh2LTM0NmgtMjg2djg3NGgyODZ2LTM4OGgyMDh2MzRoMjg2di01MjBoLTI4NnYxNzJoLTgwdi0zMjJ6TTU4MCA0djgwaDI2NHY1OTBoNjB2LTY3MHpNODU2LjQxIDcyMy4yNDFjLTIxLjEyNSAwLTM5LjA2MyAzLjYtNTQgMTAtMTQuOTM4IDYuMzc0LTI2LjA2MyAxNS44MTQtMzQgMjhzLTEyIDI0LjAwMy0xMiAzOGMwIDIxLjc1NCA5LjEyNSA0MC44NzcgMjYgNTYgMTIgMTAuNzUyIDMyLjI1IDIwLjYyNyA2MiAyOCAyMy4xMjUgNS43MjggMzkuNSA5Ljc2IDQ2IDEyIDkuNSAzLjM3MyAxNi4xODggNy40NTYgMjAgMTIgMy44MTIgNC41NjMgNCA5LjUwNCA0IDE2LTAgMTAuMTI1LTIuOTM4IDE4LjQzNS0xMiAyNnMtMjQuMTI1IDEyLTQyIDEyYy0xNi44NzUgMC0zMC4wNjMtNS41MDEtNDAtMTRzLTE2Ljc1LTIxLjg3NS0yMC00MGwtNTQgNmMzLjYyNSAzMC43NTIgMTUuMzc1IDUzLjkzNiAzNCA3MHM0NS4yNSAyNCA4MCAyNGMyMy44NzUgMCA0NC0zLjMxMiA2MC0xMHMyOS4yNS0xNi4yNTMgMzgtMzBjOC43NS0xMy43NDcgMTItMjguMjUgMTItNDQtMC0xNy4zNzYtMi42ODgtMzIuMTg2LTEwLTQ0cy0xOS4wNjMtMjEuMTktMzItMjhjLTEyLjkzOC02LjgxNi0zMy0xMy42LTYwLTIwLTI3LTYuMzc0LTQzLTEyLjExMi01MC0xOC01LjUtNC42MjctOC0xMS41MDQtOC0xOC0wLTcuMTMgMi4xMjUtMTEuNzc2IDgtMTYgOS4xMjUtNi42MTEgMjEuODc1LTEwIDM4LTEwIDE1LjYyNSAwIDI4LjE4NyAzLjc5MiAzNiAxMCA3LjgxMiA2LjE4OSAxMS42MjUgMTUuODc1IDE0IDMwbDU2LTJjLTAuODc1LTI1LjI0OC0xMC41NjMtNDYuODc3LTI4LTYycy00My41LTIyLTc4LTIyek00MjMuNzgzIDcxNy41MTh2Mjc2aDUwdi0xODBsMTEyIDE4MGg1NnYtMjc2aC01MnYxODRsLTExMi0xODR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWNsdXN0ZXItbnMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NDEsCisJCQkJImlkIjogODMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcxMSwKKwkJCQkibmFtZSI6ICJpdC1jbHVzdGVyLW5zIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjI3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04NiAwdjgwaDI2OHYzMjRoMTQwdjkyaC0yMDh2LTM0NS45OTdoLTI4NnY4NzMuOTk3aDI4NnYtMzg4aDIwOHYzNC4wMDNoMjg2di01MjBoLTI4NnYxNzJoLTgwdi0zMjIuMDAzek01ODAgMHY4MGgyNjR2NTkwLjAwM2g2MHYtNjcwLjAwM3pNNDgzLjU4NiA3MzQuMjR2Mjc2aDU2di0xMjBoMTA4djEyMGg1NnYtMjc2aC01NnYxMDhoLTEwOHYtMTA4ek04MDYuOTU5IDczNC4yNHYyNzZoNTZ2LTEwNGgzNmMyNS4xMjUgMCA0NC43NS0xLjQwOCA1OC0zLjk2OCA5Ljc1LTIuMTEyIDE4LjU2Mi03LjQzNyAyOC0xMy45OTcgOS40MzctNi41NjYgMTcuODc1LTE0LjUwMiAyNC0yNi4wMDMgNi4xMjUtMTEuNDk0IDgtMjUuMTIgOC00MS45OTctMC0yMS44NzUtNS4zNzUtNDAuMTkyLTE2LTU0LjAwM3MtMjIuMjUtMjMuOTA0LTM4LTI4Yy0xMC4yNS0yLjY4OC0zMi4yNS0zLjk2OC02Ni0zLjk2OHpNODYyLjk1OSA3ODIuMjRoMjZjMjAgMCAzMy4zNzUgMC43MDQgNDAgMS45ODQgOSAxLjYgMTYuMTI1IDUuNTA0IDIyIDEyIDUuODc1IDYuNTAyIDEwIDE0LjAwMyAxMCAyNCAwIDguMTI4LTEuODEyIDE1Ljg1My02IDIxLjk5N3MtMTAuNjI1IDkuMTItMTggMTJjLTcuMzc1IDIuODgtMjIuMTI1IDYuMDE2LTQ0IDYuMDE2aC0zMHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtY2x1c3Rlci1zZyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU0MiwKKwkJCQkiaWQiOiA4MiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzEyLAorCQkJCSJuYW1lIjogIml0LWNsdXN0ZXItc2ciCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMjgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxNCAwYy0yODIuNzcgMC01MTIgOTkuMzMxLTUxMiAyMjJzMjI5LjIzIDIyMiA1MTIgMjIyYzI4Mi43NyAwIDUxMi05OS4zMzEgNTEyLTIyMiAwLTEuMzgzIDAuMDU4LTIuNjIzIDAtNC0wLjAyOS0wLjY4OCAwLjA0My0xLjMxMyAwLTItNy41Ny0xMTkuODAyLTIzNC4wMTEtMjE2LTUxMi0yMTZ6TTAgMjI4djEzOGMxLjg1NCAyMC44MjkgNCA0NC4yNTMgNCA1NCAwIDEyMi42NjkgMjI5LjIzIDIyMiA1MTIgMjIyczUxMi05OS4zMzEgNTEyLTIyMnYtMTQ4YzAgMTIyLjY2OS0yMjkuMjMgMjIyLTUxMiAyMjJzLTUxMi05OS4zMzEtNTEyLTIyMmMwLTcuMjI3LTIuNzk1LTMwLjQwNy00LTQ0ek0wIDQ0NHYxMzBjMS44NTQgMjAuODI5IDQgNDQuMjUzIDQgNTQgMCAxMjIuNjY5IDIyOS4yMyAyMjIgNTEyIDIyMnM1MTItOTkuMzMxIDUxMi0yMjJ2LTE0MGMwIDEyMi42NjktMjI5LjIzIDIyMi01MTIgMjIycy01MTItOTkuMzMxLTUxMi0yMjJjMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMCA2NTJ2MTM4YzAuNDM5IDMuNTIgMiA5LjUxIDIgMTIgMCAxMjIuNjY5IDIyOS4yMyAyMjIgNTEyIDIyMnM1MTItOTkuMzMxIDUxMi0yMjJjMC0yLjI0IDEuNDgzLTguNDk5IDItMTJ2LTk0YzAgMTIyLjY2OS0yMjkuMjMgMjIyLTUxMiAyMjJzLTUxMi05OS4zMzEtNTEyLTIyMmMwLTcuMjI3LTIuNzk1LTMwLjQwNy00LTQ0eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1kYXRhYmFzZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU0MywKKwkJCQkiaWQiOiA4MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzEzLAorCQkJCSJuYW1lIjogIml0LWRhdGFiYXNlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjI5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTQgMGMtMjgyLjc3IDAtNTEyIDk5LjMzMS01MTIgMjIyczIyOS4yMyAyMjIgNTEyIDIyMmMyODIuNzcgMCA1MTItOTkuMzMxIDUxMi0yMjIgMC0xLjM4MyAwLjA1OC0yLjYyMyAwLTQtMC4wMjktMC42ODggMC4wNDMtMS4zMTMgMC0yLTcuNTctMTE5LjgwMi0yMzQuMDExLTIxNi01MTItMjE2ek0wIDIyOHYxMzhjMS44NTQgMjAuODI5IDQgNDQuMjUzIDQgNTQgMCAxMjIuNjY5IDIyOS4yMyAyMjIgNTEyIDIyMnM1MTItOTkuMzMxIDUxMi0yMjJ2LTE0OGMwIDEyMi42NjktMjI5LjIzIDIyMi01MTIgMjIycy01MTItOTkuMzMxLTUxMi0yMjJjMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMCA0NDR2MTMwYzEuODU0IDIwLjgyOSA0IDQ0LjI1MyA0IDU0IDAgMTcuNDUzIDUuMjI1IDMzLjcxMSAxNCA1MGgyMzhjLTE1MC4yMzgtMzguNjc0LTI1Mi0xMDguNjk4LTI1Mi0xOTAgMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMTAyOCA0ODhjMCA4MS4zMDItMTAxLjc2MiAxNTEuMzI2LTI1MiAxOTBoMjM4YzguNzc1LTE2LjI4OSAxNC0zMi41NDcgMTQtNTB2LTE0MHpNMCA2NTJ2MjZoMmMtMC45MTctOS40NS0xLjI4OS0xNy45NzgtMi0yNnpNMTE0IDcxNmMtMjEuMTI1IDAtMzkuMDYzIDMuNi01NCAxMC0xNC45MzggNi4zNzQtMjYuMDYzIDE1LjgxNC0zNCAyOC03LjkzOCAxMi4xOTItMTIgMjYuMDAzLTEyIDQwLTAgMjEuNzQ3IDkuMTI1IDM4Ljg3IDI2IDU0IDEyIDEwLjc0NiAzMi4yNSAyMC42MjEgNjIgMjggMjMuMTI1IDUuNzI4IDM3LjUgOS43NiA0NCAxMiA5LjUgMy4zNzMgMTYuMTg3IDcuNDU2IDIwIDEyIDMuODEyIDQuNTYzIDYgOS40OTggNiAxNi0wIDEwLjEyNS00LjkzOCAyMC40NDItMTQgMjgtOS4wNjMgNy41NzEtMjIuMTI1IDEwLTQwIDEwLTE2Ljg3NSAwLTMwLjA2My0zLjQ5NC00MC0xMi05LjkzOC04LjQ5OS0xNi43NS0yMS44NzUtMjAtNDBsLTU0IDZjMy42MjUgMzAuNzQ2IDE1LjM3NSA1My45MzYgMzQgNzBzNDUuMjUgMjQgODAgMjRjMjMuODc1IDAgNDQtMy4zMTggNjAtMTAgMTYtNi42ODggMjcuMjUtMTguMjQ2IDM2LTMyIDguNzUtMTMuNzQ3IDE0LTI4LjI1IDE0LTQ0LTAtMTcuMzctNC42ODgtMzIuMTkyLTEyLTQ0LTcuMzEzLTExLjgxNC0xNy4wNjMtMjEuMTg0LTMwLTI4LTEyLjkzOC02LjgxLTMzLTEzLjYtNjAtMjAtMjctNi4zODEtNDMtMTIuMTEyLTUwLTE4LTUuNS00LjYyMS04LTkuNDk4LTgtMTYtMC03LjEyMyAyLjEyNS0xMy43NzYgOC0xOCA5LjEyNS02LjYxMSAyMS44NzUtMTAgMzgtMTAgMTUuNjI1IDAgMjYuMTg3IDMuNzkyIDM0IDEwIDcuODEyIDYuMTg5IDEzLjYyNSAxNS44NzUgMTYgMzBsNTYtMmMtMC44NzUtMjUuMjQ4LTEwLjU2My00NC44Ny0yOC02MC0xNy40MzgtMTUuMTIzLTQzLjUtMjQtNzgtMjR6TTM5OCA3MTZjLTQxLjEyNSAwLTc0IDEzLjA2Ni05OCAzOC0yNCAyNC45NDEtMzYgNjEuMTIzLTM2IDEwNi0wIDQ0Ljk5OCAxMi4wNjIgNzkuMTIzIDM2IDEwNCAyMy45MzcgMjQuODcgNTUuNzUgMzggOTggMzggMjEuODc1IDAgNDItNC4xMjggNjAtMTIgMjIuODc1IDE1LjM3MyAzNi4yNSAyMy4xMDQgMzggMjQgOCA0LjM2NSAxNS42MjUgNy41MDQgMjQgMTBsMjAtNDBjLTE2LTUuNzU0LTMwLjM3NS0xMi4yNTMtNDQtMjIgMTEtMTIuODc3IDE5LTI2LjI1MyAyNC00MCA2LjYyNS0xOC4wMDMgMTAtMzguMjUgMTAtNjItMC00NC44NzctMTIuMTI1LTgxLjA1OS0zNi0xMDYtMjMuODc1LTI0LjkzNC01NS4yNS0zOC05Ni0zOHpNOTA0IDcxNmMtMjEuMTI1IDAtMzkuMDYzIDMuNi01NCAxMC0xNC45MzggNi4zNzQtMjYuMDYzIDE1LjgxNC0zNCAyOC03LjkzOCAxMi4xOTItMTIgMjYuMDAzLTEyIDQwIDAgMjEuNzQ3IDkuMTI1IDM4Ljg3IDI2IDU0IDEyIDEwLjc0NiAzMi4yNSAyMC42MjEgNjIgMjggMjMuMTI1IDUuNzI4IDM3LjUgOS43NiA0NCAxMiA5LjUgMy4zNzMgMTYuMTg4IDcuNDU2IDIwIDEyIDMuODEyIDQuNTYzIDYgOS40OTggNiAxNi0wIDEwLjEyNS00LjkzOCAyMC40NDItMTQgMjgtOS4wNjMgNy41NzEtMjIuMTI1IDEwLTQwIDEwLTE2Ljg3NSAwLTMwLjA2My0zLjQ5NC00MC0xMi05LjkzOC04LjQ5OS0xNi43NS0yMS44NzUtMjAtNDBsLTU0IDZjMy42MjUgMzAuNzQ2IDE1LjM3NSA1My45MzYgMzQgNzBzNDUuMjUgMjQgODAgMjRjMjMuODc1IDAgNDQtMy4zMTggNjAtMTAgMTYtNi42ODggMjcuMjUtMTguMjQ2IDM2LTMyIDguNzUtMTMuNzQ3IDE0LTI4LjI1IDE0LTQ0LTAtMTcuMzctNC42ODgtMzIuMTkyLTEyLTQ0LTcuMzEzLTExLjgxNC0xNy4wNjMtMjEuMTg0LTMwLTI4LTEyLjkzOC02LjgxLTMzLTEzLjYtNjAtMjAtMjctNi4zODEtNDMtMTIuMTEyLTUwLTE4LTUuNS00LjYyMS0xMC05LjQ5OC0xMC0xNi0wLTcuMTIzIDQuMTI1LTEzLjc3NiAxMC0xOCA5LjEyNS02LjYxMSAyMS44NzUtMTAgMzgtMTAgMTUuNjI1IDAgMjYuMTg3IDMuNzkyIDM0IDEwIDcuODEyIDYuMTg5IDEzLjYyNSAxNS44NzUgMTYgMzBsNTYtMmMtMC44NzUtMjUuMjQ4LTEwLjU2My00NC44Ny0yOC02MC0xNy40MzgtMTUuMTIzLTQzLjUtMjQtNzgtMjR6TTU3NCA3MjR2MjcyaDE5NHYtNDZoLTEzOHYtMjI2aC01NnpNMzk2IDc2NGMyMi42MjUgMCA0MiA4LjMxNCA1NiAyNCAxNCAxNS42OTMgMjAgNDAuMjUgMjAgNzItMCAxNS4zNzMtMC40MzggMjguMTI4LTQgNDAtMy41NjMgMTEuODc4LTguODc1IDIxLjYyOS0xNiAzMC0xNi42MjUtMTIuNDk5LTM1Ljc1LTIxLjcyOC01NC0yOGwtMTQgMzJjMTEuNjI1IDQuMTI4IDIyLjc1IDEwLjYyNyAzNCAxOC03LjEyNSAyLjYyNC0xNCA0LTIyIDQtMjEuNSAwLTM5LjkzOC04LjA2NC01NC0yNHMtMjItMzkuODc4LTIyLTcyYy0wLTMxLjYyOSA3LjkzNy01Ni4yNSAyMi03MnMzMS4zNzUtMjQgNTQtMjR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRhdGFiYXNlLW1zc3FsIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTQ0LAorCQkJCSJpZCI6IDgwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MTQsCisJCQkJIm5hbWUiOiAiaXQtZGF0YWJhc2UtbXNzcWwiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMzAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxNCAwYy0yODIuNzcgMC01MTIgOTkuMzMxLTUxMiAyMjJzMjI5LjIzIDIyMiA1MTIgMjIyYzI4Mi43NyAwIDUxMi05OS4zMzEgNTEyLTIyMiAwLTEuMzgzIDAuMDU4LTIuNjIzIDAtNC0wLjAyOS0wLjY4OCAwLjA0My0xLjMxMyAwLTItNy41Ny0xMTkuODAyLTIzNC4wMTEtMjE2LTUxMi0yMTZ6TTAgMjI4djEzOGMxLjg1NCAyMC44MjkgNCA0NC4yNTMgNCA1NCAwIDEyMi42NjkgMjI5LjIzIDIyMiA1MTIgMjIyczUxMi05OS4zMzEgNTEyLTIyMnYtMTQ4YzAgMTIyLjY2OS0yMjkuMjMgMjIyLTUxMiAyMjJzLTUxMi05OS4zMzEtNTEyLTIyMmMwLTcuMjI3LTIuNzk1LTMwLjQwNy00LTQ0ek0wIDQ0NHYxMzBjMS44NTQgMjAuODI5IDQgNDQuMjUzIDQgNTQgMCAxNy40NTMgNS4yMjUgMzMuNzExIDE0IDUwaDIzOGMtMTUwLjIzOC0zOC42NzQtMjUyLTEwOC42OTgtMjUyLTE5MCAwLTcuMjI3LTIuNzk1LTMwLjQwNy00LTQ0ek0xMDI4IDQ4OGMwIDgxLjMwMi0xMDEuNzYyIDE1MS4zMjYtMjUyIDE5MGgyMzhjOC43NzUtMTYuMjg5IDE0LTMyLjU0NyAxNC01MHpNMCA2NTJ2MjZoMmMtMC45MTctOS40NS0xLjI4OS0xNy45NzgtMi0yNnpNMTQwIDcxNmMtMjIuMzc1IDAtNDIuODc1IDQuNzQ5LTYwIDEyLTEyLjg3NSA1LjM3Ni0yMy4xODggMTIuODc3LTM0IDI0cy0xOS43NSAyMy45OTctMjYgMzhjLTguMzc1IDE4Ljk5NS0xNCA0Mi0xNCA3MC0wIDQzLjc1IDEzLjg3NSA3OS4wNTkgMzggMTA0IDI0LjEyNSAyNC45MzQgNTUuMTI1IDM4IDk2IDM4IDQwLjM3NSAwIDczLjg3NS0xMi45MzggOTgtMzhzMzYtNTkuNjIyIDM2LTEwNGMtMC00NC43NDktMTEuNjg4LTgwLjg3NC0zNi0xMDZzLTU3LjUtMzgtOTgtMzh6TTcxNCA3MTZjLTM4LjUgMC03MC4zNzUgMTIuNjg4LTk0IDM4cy0zNiA2Mi4yNTMtMzYgMTA4Yy0wIDQzLjI1MSAxMi41IDc3LjA1OSAzNiAxMDIgMjMuNSAyNC45MzQgNTMuNSAzOCA5MCAzOCAyOS41IDAgNTIuODEyLTcuNDQgNzItMjIgMTkuMTg3LTE0LjU2NiAzMy43NS0zNy45OTcgNDItNjhsLTU0LTE2Yy00LjYyNSAyMC4xMjgtMTEuMzc1IDM0LjYyNC0yMiA0NC0xMC42MjUgOS4zODktMjMuMjUgMTQuMDA2LTM4IDE0LTIwIDAuMDA2LTM3LjUtNy4yNDgtNTAtMjItMTIuNS0xNC43NDYtMTgtMzkuMjQ4LTE4LTc0LTAtMzIuNzQ5IDUuMzEzLTU3LjM3IDE4LTcyIDEyLjY4Ny0xNC42MjQgMjkuNjI1LTIyIDUwLTIyIDE0Ljc1IDAgMjcuNjg3IDMuNzUgMzggMTJzMTYuNzUgMTkuNzQ3IDIwIDM0bDU2LTEyYy02LjI1LTIyLjAwMy0xNy41LTQwLjI1LTMwLTUyLTIxLTE5Ljg3OC00Ni4zNzUtMzAtODAtMzB6TTMxNiA3MjJ2Mjc0aDU2di0xMTRoMTJjMTIuNzUgMCAyMi4xMjUtMC4wNDggMjggMiA1Ljg3NSAyLjA2MSAxMC43NSA2LjQzMiAxNiAxMiA1LjI1IDUuNTYyIDE1Ljc1IDE4LjYzIDMwIDQwbDQwIDYwaDY2bC0zNC01NGMtMTMuMjUtMjEuMzc2LTI0LjE4OC0zNS42MjktMzItNDQtNy44MTMtOC4zNzgtMTYtMTQuOTk4LTI4LTIyIDI0LjEyNS0zLjUwMSA0MS44NzUtMTIuNTYgNTQtMjYgMTIuMTI1LTEzLjQzNCAxOC0zMS4zNzMgMTgtNTItMC0xNi4yNS00LTI5LjM3My0xMi00Mi04LTEyLjYyMS0xOC42ODgtMjMuMDcyLTMyLTI4LTEzLjMxMy00LjkwOS0zNC42MjUtNi02NC02ek04NzQgNzI0djI3MmgxNDYuNjUydi00NmgtOTIuNjUydi0yMjZ6TTE0MCA3NjRjMjIuODc1IDAgNDIuMTg3IDguNTA2IDU2IDI0IDEzLjgxMiAxNS41MDEgMjAgMzguNDk5IDIwIDcwLTAgMzEuODc4LTcuODEzIDU2LjA2NC0yMiA3MnMtMzEuODc1IDI0LjAwNi01NCAyNGMtMjIuMTI1IDAuMDA2LTM5LjYyNS03LjkzNi01NC0yNHMtMjItNDAuODctMjItNzJjLTAtMzEuNjIyIDgtNTQuMzA3IDIyLTcwIDE0LTE1LjY4NiAzMS4xMjUtMjQgNTQtMjR6TTM3MiA3NjhoNDRjMjIuNSAwIDM1LjUtMC42NCA0MCAwIDkgMS40OTggMTcuMDYyIDYuMzA0IDIyIDEyIDQuOTM3IDUuNjgzIDYgMTIuNzQ2IDYgMjItMCA4LjI1LTIuMjUgMTQuNDk2LTYgMjAtMy43NSA1LjQ4NS03LjM3NSA5Ljc2LTE0IDEycy0yMy4zNzUgNC01MCA0aC00MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGF0YWJhc2Utb3JhY2xlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTQ1LAorCQkJCSJpZCI6IDc5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MTUsCisJCQkJIm5hbWUiOiAiaXQtZGF0YWJhc2Utb3JhY2xlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjMxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTQgMGMtMjgyLjc3IDAtNTEyIDk5LjMzMS01MTIgMjIyczIyOS4yMyAyMjIgNTEyIDIyMmMyODIuNzcgMCA1MTItOTkuMzMxIDUxMi0yMjIgMC0xLjM4MyAwLjA1OC0yLjYyMyAwLTQtMC4wMjktMC42ODggMC4wNDMtMS4zMTMgMC0yLTcuNTctMTE5LjgwMi0yMzQuMDExLTIxNi01MTItMjE2ek0wIDIyOHYxMzhjMS44NTQgMjAuODI5IDQgNDQuMjUzIDQgNTQgMCAxMjIuNjY5IDIyOS4yMyAyMjIgNTEyIDIyMnM1MTItOTkuMzMxIDUxMi0yMjJ2LTE0OGMwIDEyMi42NjktMjI5LjIzIDIyMi01MTIgMjIycy01MTItOTkuMzMxLTUxMi0yMjJjMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMCA0NDR2MTMwYzEuODU0IDIwLjgyOSA0IDQ0LjI1MyA0IDU0IDAgMTcuNDUzIDUuMjI1IDMzLjcxMSAxNCA1MGgyMzhjLTE1MC4yMzgtMzguNjc0LTI1Mi0xMDguNjk4LTI1Mi0xOTAgMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMTAyOCA0ODhjMCA4MS4zMDItMTAxLjc2MiAxNTEuMzI2LTI1MiAxOTBoMjM4YzguNzc1LTE2LjI4OSAxNC0zMi41NDcgMTQtNTB2LTE0MHpNMCA2NTJ2MjZoMmMtMC45MTctOS40NS0xLjI4OS0xNy45NzgtMi0yNnpNMTE0IDcxNmMtMjEuMTI1IDAtMzkuMDYzIDMuNi01NCAxMC0xNC45MzggNi4zNzQtMjYuMDYzIDE1LjgxNC0zNCAyOC03LjkzOCAxMi4xOTItMTIgMjYuMDAzLTEyIDQwLTAgMjEuNzQ3IDkuMTI1IDM4Ljg3IDI2IDU0IDEyIDEwLjc0NiAzMi4yNSAyMC42MjEgNjIgMjggMjMuMTI1IDUuNzI4IDM3LjUgOS43NiA0NCAxMiA5LjUgMy4zNzMgMTYuMTg3IDcuNDU2IDIwIDEyIDMuODEyIDQuNTYzIDYgOS40OTggNiAxNi0wIDEwLjEyNS00LjkzOCAyMC40NDItMTQgMjgtOS4wNjMgNy41NzEtMjIuMTI1IDEwLTQwIDEwLTE2Ljg3NSAwLTMwLjA2My0zLjQ5NC00MC0xMi05LjkzOC04LjQ5OS0xNi43NS0yMS44NzUtMjAtNDBsLTU0IDZjMy42MjUgMzAuNzQ2IDE1LjM3NSA1My45MzYgMzQgNzBzNDUuMjUgMjQgODAgMjRjMjMuODc1IDAgNDQtMy4zMTggNjAtMTAgMTYtNi42ODggMjcuMjUtMTguMjQ2IDM2LTMyIDguNzUtMTMuNzQ3IDE0LTI4LjI1IDE0LTQ0LTAtMTcuMzctNC42ODgtMzIuMTkyLTEyLTQ0LTcuMzEzLTExLjgxNC0xNy4wNjMtMjEuMTg0LTMwLTI4LTEyLjkzOC02LjgxLTMzLTEzLjYtNjAtMjAtMjctNi4zODEtNDMtMTIuMTEyLTUwLTE4LTUuNS00LjYyMS04LTkuNDk4LTgtMTYtMC03LjEyMyAyLjEyNS0xMy43NzYgOC0xOCA5LjEyNS02LjYxMSAyMS44NzUtMTAgMzgtMTAgMTUuNjI1IDAgMjYuMTg3IDMuNzkyIDM0IDEwIDcuODEyIDYuMTg5IDEzLjYyNSAxNS44NzUgMTYgMzBsNTYtMmMtMC44NzUtMjUuMjQ4LTEwLjU2My00NC44Ny0yOC02MC0xNy40MzgtMTUuMTIzLTQzLjUtMjQtNzgtMjR6TTkwNCA3MTZjLTIxLjEyNSAwLTM5LjA2MyAzLjYtNTQgMTAtMTQuOTM4IDYuMzc0LTI2LjA2MyAxNS44MTQtMzQgMjgtNy45MzggMTIuMTkyLTEyIDI2LjAwMy0xMiA0MC0wIDIxLjc0NyA5LjEyNSAzOC44NyAyNiA1NCAxMiAxMC43NDYgMzIuMjUgMjAuNjIxIDYyIDI4IDIzLjEyNSA1LjcyOCAzNy41IDkuNzYgNDQgMTIgOS41IDMuMzczIDE2LjE4OCA3LjQ1NiAyMCAxMiAzLjgxMiA0LjU2MyA2IDkuNDk4IDYgMTYtMCAxMC4xMjUtMi45MzggMjAuNDQyLTEyIDI4LTkuMDYzIDcuNTcxLTI0LjEyNSAxMC00MiAxMC0xNi44NzUgMC0zMC4wNjMtMy40OTQtNDAtMTItOS45MzgtOC40OTktMTYuNzUtMjEuODc1LTIwLTQwbC01NCA2YzMuNjI1IDMwLjc0NiAxNS4zNzUgNTMuOTM2IDM0IDcwczQ1LjI1IDI0IDgwIDI0YzIzLjg3NSAwIDQ0LTMuMzE4IDYwLTEwIDE2LTYuNjg4IDI3LjI1LTE4LjI0NiAzNi0zMiA4Ljc1LTEzLjc0NyAxNC0yOC4yNSAxNC00NC0wLTE3LjM3LTIuNjg4LTMyLjE5Mi0xMC00NC03LjMxMy0xMS44MTQtMTkuMDYzLTIxLjE4NC0zMi0yOC0xMi45MzgtNi44MS0zMy0xMy42LTYwLTIwLTI3LTYuMzgxLTQzLTEyLjExMi01MC0xOC01LjUtNC42MjEtOC05LjQ5OC04LTE2LTAtNy4xMjMgMi4xMjUtMTMuNzc2IDgtMTggOS4xMjUtNi42MTEgMjEuODc1LTEwIDM4LTEwIDE1LjYyNSAwIDI4LjE4NyAzLjc5MiAzNiAxMCA3LjgxMiA2LjE4OSAxMS42MjUgMTUuODc1IDE0IDMwbDU2LTJjLTAuODc2LTI1LjI0OC0xMC41NjMtNDQuODctMjgtNjAtMTcuNDM4LTE1LjEyMy00My41LTI0LTc4LTI0ek0yNDYgNzIybDEwMCAxNTh2MTE2aDU2di0xMTRsMTAyLTE2MGgtNjRsLTY0IDEwOC02NC0xMDhoLTY2ek01MzIgNzIydjI3NGg5MmMzNS4zNzUtMC4yNTYgNTguNzUtMC45NzYgNjgtMiAxNC43NS0xLjYyNiAyNy45MzctNC45MzQgMzgtMTIgMTAuMDYyLTcuMDU5IDE2LjE4OC0xNi4xODYgMjItMjggNS44MTItMTEuODA4IDEwLTI1LjUwMSAxMC0zOC0wLTE1Ljg3Mi01LTI4LjI1LTE0LTQwcy0yMS4yNS0yMS4xMzYtMzgtMjZjMTEuODc1LTUuMzc2IDIxLjA2Mi0xMy4yNTQgMjgtMjQgNi45MzctMTAuNzUyIDEwLTIzLjEzIDEwLTM2LTAtMTEuODc4LTIuMzc1LTIyLjQzOC04LTMycy0xMy41NjMtMTYuMjQtMjItMjJjLTguNDM4LTUuNzczLTE3LjMxMy0xMC4yMDgtMjgtMTItMTAuNjg4LTEuODU2LTI2LjI1LTItNDgtMmgtMTEwek01ODYgNzY4aDMyYzI2LjEyNSAwIDQyLjUtMC42NCA0OCAwIDkuMjUgMS4xMjYgMTcuMzEyIDQuNjg4IDIyIDEwczYgMTEuNTAxIDYgMjBjLTAgOC44NzctMi41NjMgMTYuNTYtOCAyMi01LjQzNyA1LjQzNC0xMi41IDguODQ4LTIyIDEwLTUuMjUgMC45Ni0xOC4zNzUgMC00MCAwaC0zOHYtNjJ6TTU4NiA4NzZoNDZjMjUuMjUgMCA0MC40MzcgMS4zNzYgNDggNHMxNCA4LjI0IDE4IDE0YzQgNS43NDcgNiAxMS43NSA2IDIwLTAgOS43NDctMi44MTMgMTguMTc2LTggMjQtNS4xODggNS44NS0xMS43NSA4LjUyOC0yMCAxMC01LjM3NSAxLjAyNC0xOCAyLTM4IDJoLTUydi03NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGF0YWJhc2Utc3liYXNlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTQ2LAorCQkJCSJpZCI6IDc4LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MTYsCisJCQkJIm5hbWUiOiAiaXQtZGF0YWJhc2Utc3liYXNlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjMyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTQgMGMtMjgyLjc3IDAtNTEyIDk5LjMzMS01MTIgMjIyczIyOS4yMyAyMjIgNTEyIDIyMmMyODIuNzcgMCA1MTItOTkuMzMxIDUxMi0yMjIgMC0xLjM4MyAwLjA1OC0yLjYyMyAwLTQtMC4wMjktMC42ODggMC4wNDMtMS4zMTMgMC0yLTcuNTctMTE5LjgwMi0yMzQuMDExLTIxNi01MTItMjE2ek01NzYgNzJjNDAuNzUgMCA3NC4xMjUgMTMuMDU5IDk4IDM4IDIzLjg3NSAyNC45MzQgMzYgNTkuMTMgMzYgMTA0LTAgMjMuNzUtMy4zNzUgNDQuMDAzLTEwIDYyLTUgMTMuNzU0LTEzIDI3LjEyMy0yNCA0MCAxMy42MjUgOS43NDcgMjggMTguMjUzIDQ0IDI0bC0yMCA0MGMtOC4zNzUtMi40OTYtMTgtNy42NDItMjYtMTItMS43NS0wLjg5Ni0xMy4xMjUtOC42MjctMzYtMjQtMTggNy44NzItMzguMTI1IDEyLTYwIDEyLTQyLjI1IDAtNzYuMDYzLTEzLjEyMy0xMDAtMzhzLTM2LTU5LjAwMi0zNi0xMDRjLTAtNDQuODcgMTItNzkuMDY2IDM2LTEwNCAyNC0yNC45NDEgNTYuODc1LTM4IDk4LTM4ek0zNDYgNzZoNTZ2Mjc2aC01NnYtMjc2ek01NjAgMTIwYy0xNS4zNjMgMi45NTQtMjcuNDUzIDEyLjE4Ny0zOCAyNC0xNC4wNjMgMTUuNzUtMjIgMzguMzc4LTIyIDcwLTAgMzIuMTI4IDcuOTM3IDU2LjA2NCAyMiA3MnMzMC41IDI0IDUyIDI0YzggMCAxNi44NzUtMS4zNzYgMjQtNC0xMS4yNS03LjM3My0yNC4zNzUtMTMuODc4LTM2LTE4bDE2LTMwYzE4LjI1IDYuMjcyIDM1LjM3NSAxNS41MDEgNTIgMjggNy4xMjUtOC4zNzggMTIuNDM3LTIwLjEyOCAxNi0zMiAzLjU2Mi0xMS44NzggNS45OTktMjQuNjIxIDYtNDAtMC0zMS43NS02LTU2LjMxNC0yMC03MnMtMzMuMzc1LTIyLTU2LTIyYy01LjY1NiAwLTEwLjg3OS0wLjk4NS0xNiAwek0wIDIyOHYxMzhjMS44NTQgMjAuODI5IDQgNDQuMjUzIDQgNTQgMCAxMjIuNjY5IDIyOS4yMyAyMjIgNTEyIDIyMnM1MTItOTkuMzMxIDUxMi0yMjJ2LTE0OGMwIDEyMi42NjktMjI5LjIzIDIyMi01MTIgMjIycy01MTItOTkuMzMxLTUxMi0yMjJjMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMCA0NDR2MTMwYzEuODU0IDIwLjgyOSA0IDQ0LjI1MyA0IDU0IDAgMTcuNDUzIDUuMjI1IDMzLjcxMSAxNCA1MGgyMzhjLTE1MC4yMzgtMzguNjc0LTI1Mi0xMDguNjk4LTI1Mi0xOTAgMC03LjIyNy0yLjc5NS0zMC40MDctNC00NHpNMTAyOCA0ODhjMCA4MS4zMDItMTAxLjc2MiAxNTEuMzI2LTI1MiAxOTBoMjM4YzguNzc1LTE2LjI4OSAxNC0zMi41NDcgMTQtNTB2LTE0MHpNMCA2NTJ2MjZoMmMtMC45MTctOS40NS0xLjI4OS0xNy45NzgtMi0yNnpNMTE0IDcxNmMtMjEuMTI1IDAtMzkuMDYzIDMuNi01NCAxMC0xNC45MzggNi4zNzQtMjYuMDYzIDE1LjgxNC0zNCAyOC03LjkzOCAxMi4xOTItMTIgMjYuMDAzLTEyIDQwLTAgMjEuNzQ3IDkuMTI1IDM4Ljg3IDI2IDU0IDEyIDEwLjc0NiAzMi4yNSAyMC42MjEgNjIgMjggMjMuMTI1IDUuNzI4IDM3LjUgOS43NiA0NCAxMiA5LjUgMy4zNzMgMTYuMTg3IDcuNDU2IDIwIDEyIDMuODEyIDQuNTYzIDYgOS40OTggNiAxNi0wIDEwLjEyNS00LjkzOCAyMC40NDItMTQgMjgtOS4wNjMgNy41NzEtMjIuMTI1IDEwLTQwIDEwLTE2Ljg3NSAwLTMwLjA2My0zLjQ5NC00MC0xMi05LjkzOC04LjQ5OS0xNi43NS0yMS44NzUtMjAtNDBsLTU0IDZjMy42MjUgMzAuNzQ2IDE1LjM3NSA1My45MzYgMzQgNzBzNDUuMjUgMjQgODAgMjRjMjMuODc1IDAgNDQtMy4zMTggNjAtMTAgMTYtNi42ODggMjcuMjUtMTguMjQ2IDM2LTMyIDguNzUtMTMuNzQ3IDE0LTI4LjI1IDE0LTQ0LTAtMTcuMzctNC42ODgtMzIuMTkyLTEyLTQ0LTcuMzEzLTExLjgxNC0xNy4wNjMtMjEuMTg0LTMwLTI4LTEyLjkzOC02LjgxLTMzLTEzLjYtNjAtMjAtMjctNi4zODEtNDMtMTIuMTEyLTUwLTE4LTUuNS00LjYyMS04LTkuNDk4LTgtMTYtMC03LjEyMyAyLjEyNS0xMy43NzYgOC0xOCA5LjEyNS02LjYxMSAyMS44NzUtMTAgMzgtMTAgMTUuNjI1IDAgMjYuMTg3IDMuNzkyIDM0IDEwIDcuODEyIDYuMTg5IDEzLjYyNSAxNS44NzUgMTYgMzBsNTYtMmMtMC44NzUtMjUuMjQ4LTEwLjU2My00NC44Ny0yOC02MC0xNy40MzgtMTUuMTIzLTQzLjUtMjQtNzgtMjR6TTkwNCA3MTZjLTIxLjEyNSAwLTM5LjA2MyAzLjYtNTQgMTAtMTQuOTM4IDYuMzc0LTI2LjA2MyAxNS44MTQtMzQgMjgtNy45MzggMTIuMTkyLTEyIDI2LjAwMy0xMiA0MC0wIDIxLjc0NyA5LjEyNSAzOC44NyAyNiA1NCAxMiAxMC43NDYgMzIuMjUgMjAuNjIxIDYyIDI4IDIzLjEyNSA1LjcyOCAzNy41IDkuNzYgNDQgMTIgOS41IDMuMzczIDE2LjE4OCA3LjQ1NiAyMCAxMiAzLjgxMiA0LjU2MyA2IDkuNDk4IDYgMTYtMCAxMC4xMjUtMi45MzggMjAuNDQyLTEyIDI4LTkuMDYzIDcuNTcxLTI0LjEyNSAxMC00MiAxMC0xNi44NzUgMC0zMC4wNjMtMy40OTQtNDAtMTItOS45MzgtOC40OTktMTYuNzUtMjEuODc1LTIwLTQwbC01NCA2YzMuNjI1IDMwLjc0NiAxNS4zNzUgNTMuOTM2IDM0IDcwczQ1LjI1IDI0IDgwIDI0YzIzLjg3NSAwIDQ0LTMuMzE4IDYwLTEwIDE2LTYuNjg4IDI3LjI1LTE4LjI0NiAzNi0zMiA4Ljc1LTEzLjc0NyAxNC0yOC4yNSAxNC00NC0wLTE3LjM3LTIuNjg4LTMyLjE5Mi0xMC00NC03LjMxMy0xMS44MTQtMTkuMDYzLTIxLjE4NC0zMi0yOC0xMi45MzgtNi44MS0zMy0xMy42LTYwLTIwLTI3LTYuMzgxLTQzLTEyLjExMi01MC0xOC01LjUtNC42MjEtOC05LjQ5OC04LTE2LTAtNy4xMjMgMi4xMjUtMTMuNzc2IDgtMTggOS4xMjUtNi42MTEgMjEuODc1LTEwIDM4LTEwIDE1LjYyNSAwIDI4LjE4NyAzLjc5MiAzNiAxMCA3LjgxMiA2LjE4OSAxMS42MjUgMTUuODc1IDE0IDMwbDU2LTJjLTAuODc2LTI1LjI0OC0xMC41NjMtNDQuODctMjgtNjAtMTcuNDM4LTE1LjEyMy00My41LTI0LTc4LTI0ek0yNDYgNzIybDEwMCAxNTh2MTE2aDU2di0xMTRsMTAyLTE2MGgtNjRsLTY0IDEwOC02NC0xMDhoLTY2ek01MzIgNzIydjI3NGg5MmMzNS4zNzUtMC4yNTYgNTguNzUtMC45NzYgNjgtMiAxNC43NS0xLjYyNiAyNy45MzctNC45MzQgMzgtMTIgMTAuMDYyLTcuMDU5IDE2LjE4OC0xNi4xODYgMjItMjggNS44MTItMTEuODA4IDEwLTI1LjUwMSAxMC0zOC0wLTE1Ljg3Mi01LTI4LjI1LTE0LTQwcy0yMS4yNS0yMS4xMzYtMzgtMjZjMTEuODc1LTUuMzc2IDIxLjA2Mi0xMy4yNTQgMjgtMjQgNi45MzctMTAuNzUyIDEwLTIzLjEzIDEwLTM2LTAtMTEuODc4LTIuMzc1LTIyLjQzOC04LTMycy0xMy41NjMtMTYuMjQtMjItMjJjLTguNDM4LTUuNzczLTE3LjMxMy0xMC4yMDgtMjgtMTItMTAuNjg4LTEuODU2LTI2LjI1LTItNDgtMmgtMTEwek01ODYgNzY4aDMyYzI2LjEyNSAwIDQyLjUtMC42NCA0OCAwIDkuMjUgMS4xMjYgMTcuMzEyIDQuNjg4IDIyIDEwczYgMTEuNTAxIDYgMjBjLTAgOC44NzctMi41NjMgMTYuNTYtOCAyMi01LjQzNyA1LjQzNC0xMi41IDguODQ4LTIyIDEwLTUuMjUgMC45Ni0xOC4zNzUgMC00MCAwaC0zOHYtNjJ6TTU4NiA4NzZoNDZjMjUuMjUgMCA0MC40MzcgMS4zNzYgNDggNHMxNCA4LjI0IDE4IDE0YzQgNS43NDcgNiAxMS43NSA2IDIwLTAgOS43NDctMi44MTMgMTguMTc2LTggMjQtNS4xODggNS44NS0xMS43NSA4LjUyOC0yMCAxMC01LjM3NSAxLjAyNC0xOCAyLTM4IDJoLTUydi03NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGF0YWJhc2Utc3liYXNlaXEiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NDcsCisJCQkJImlkIjogNzcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcxNywKKwkJCQkibmFtZSI6ICJpdC1kYXRhYmFzZS1zeWJhc2VpcSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIzMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTYgMGMtNTMuNDExIDAtOTYgNDYuODQxLTk2IDEwNnYzNTRjMCA1OS4xNTkgNDIuNTg5IDEwOCA5NiAxMDhoODMyYzUzLjQxMSAwIDk2LTQ4Ljg0MSA5Ni0xMDh2LTM1NGMwLTU5LjE1OS00Mi41ODktMTA2LTk2LTEwNnpNNzYgNzRoODcydjQyMGgtODcyek0xMjggMTQ4djEzMmgzMzh2LTEzMnpNNTQ2IDE0OHYxMzJoMzM4di0xMzJ6TTEyNiAzMjZ2MTMwaDMzOHYtMTMwek01NDYgMzI2djEzMGgzMzh2LTEzMHpNMCA2MDUuNzcydjMyMGgxMTBjMjEuNzc3IDAgNDAuOTg3LTEuNDggNTQtNiAxNy4zOTUtNi4xMjUgMjkuNzc1LTE1LjA2MyA0MC0yNiAxMy41NDQtMTQuNDM4IDI0LjY5Ni0zNC42NjcgMzItNTggNS45NzUtMTkuMTA0IDgtNDEuNjA0IDgtNjgtMC0zMC4wNDEtMS42MjYtNTUuNTEtOC03NnMtMTUuNzg0LTM3Ljg1NC0yOC01MmMtMTIuMjE3LTE0LjE0Ni0yNi44Ny0yMi40NTgtNDQtMjgtMTIuNzQ4LTQuMDgzLTMxLjctNi01Ni02ek0yOTQgNjA1Ljc3MnYzMjBoMjI0di01NGgtMTY0di04OGgxNDZ2LTU0aC0xNDZ2LTcwaDE1OHYtNTR6TTU3MCA2MDcuNzcydjMxOGgyMDR2LTU0aC0xNDZ2LTI2NHpNODE4IDYwNy43NzJ2MzE4aDIwNnYtNTRoLTE0NnYtMjY0ek01OCA2NTkuNzcyaDI4YzI0LjAzNSAwIDM5Ljc2Ny0wLjA0MSA0OCAyIDExLjAyMSAyLjYyNSAyMC44MjkgOC41NjMgMjggMTZzMTIuMDE2IDE2LjcyOSAxNiAzMGMzLjk4MyAxMy4yNzEgNiAzMy4yMDkgNiA1OHMtMi4wMTcgNDMuNjM2LTYgNThjLTMuOTg0IDE0LjM2NS05LjY5MyAyNS43MjktMTYgMzJzLTE0LjQzOSA5LjM3NS0yNCAxMmMtNy4zMDQgMi4wNDItMTkuNTM0IDQtMzYgNGgtNDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLWRlbGxtZCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU0OCwKKwkJCQkiaWQiOiA3NiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzE4LAorCQkJCSJuYW1lIjogIml0LWRpc2tyYWlkLWRlbGxtZCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIzNAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTYgMGMtNTMuNDExIDAtOTYgNDYuODQxLTk2IDEwNnYzNTRjMCA1OS4xNTkgNDIuNTg5IDEwOCA5NiAxMDhoODMyYzUzLjQxMSAwIDk2LTQ4Ljg0MSA5Ni0xMDh2LTM1NGMwLTU5LjE1OS00Mi41ODktMTA2LTk2LTEwNnpNNzYgNzRoODcydjQyMGgtODcyek0xMjggMTQ4djEzMmgzMzh2LTEzMnpNNTQ2IDE0OHYxMzJoMzM4di0xMzJ6TTEyNiAzMjZ2MTMwaDMzOHYtMTMwek01NDYgMzI2djEzMGgzMzh2LTEzMHpNODU0IDYxMy44OThjLTQ0LjkxNyAwLTgyLjQzOCAxNC40NjktMTEwIDQ0cy00MCA3Mi42MjUtNDAgMTI2Yy0wIDUwLjQ1OCAxMi41ODMgODguOTA2IDQwIDExOHM2My40MTcgNDQgMTA2IDQ0YzM0LjQxNiAwIDYxLjYxNC05LjAxMCA4NC0yNnMzOC4zNzUtNDMgNDgtNzhsLTYyLTIwYy01LjM5NiAyMy40NzktMTUuNjA0IDQxLjA2My0yOCA1MnMtMjYuNzkyIDE2LTQ0IDE2Yy0yMy4zMzQgMC00MS40MTctOC43OTItNTYtMjZzLTIyLTQ1LjQ1OC0yMi04NmMtMC0zOC4yMDggNy4xOTgtNjQuOTM3IDIyLTgyczM0LjIyOS0yNiA1OC0yNmMxNy4yMDggMCAzMS45NjkgNC4zNzUgNDQgMTRzMjAuMjA4IDIzLjM3NSAyNCA0MGw2NC0xNmMtNy4yOTItMjUuNjY2LTE5LjQxNy00NC4yOTEtMzQtNTgtMjQuNS0yMy4xODctNTQuNzcxLTM2LTk0LTM2ek00MiA2MTkuODk4djMyMGgyNDR2LTU0aC0xODB2LTg2aDE2MnYtNTRoLTE2MnYtNzJoMTc0di01NHpNMzQwIDYxOS44OTh2MzIwaDYwdi0yNTJsNjQgMjUyaDYybDY0LTI1MnYyNTJoNjB2LTMyMGgtOThsLTU2IDIxOC02MC0yMTh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLWVtYyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU0OSwKKwkJCQkiaWQiOiA3NSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzE5LAorCQkJCSJuYW1lIjogIml0LWRpc2tyYWlkLWVtYyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIzNQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTYgMGMtNTMuNDExIDAtOTYgNDYuODQxLTk2IDEwNnYzNTRjMCA1OS4xNTkgNDIuNTg5IDEwOCA5NiAxMDhoODMyYzUzLjQxMSAwIDk2LTQ4Ljg0MSA5Ni0xMDh2LTM1NGMwLTU5LjE1OS00Mi41ODktMTA2LTk2LTEwNnpNNzYgNzRoODcydjQyMGgtODcyek0xMjggMTQ4djEzMmgzMzh2LTEzMnpNNTQ2IDE0OHYxMzJoMzM4di0xMzJ6TTEyNiAzMjZ2MTMwaDMzOHYtMTMwek01NDYgMzI2djEzMGgzMzh2LTEzMHpNOTA2IDYyMi41NzZjLTIyLjExNSAwLTQyLjM2MyA0LjU2My01OCAxMnMtMjcuNjkxIDE3Ljc4MS0zNiAzMmMtOC4zMDkgMTQuMjE5LTEyIDI5LjY2Ny0xMiA0NiAwIDI1LjM3NSA4LjMzNSA0Ni4zNTQgMjYgNjQgMTIuNTYyIDEyLjU0MiAzNC44NTcgMjMuMzk2IDY2IDMyIDI0LjIwOCA2LjcwOCA0MS4xOTUgMTEuMzc1IDQ4IDE0IDkuOTQ1IDMuOTM3IDE2LjAwOSA4LjY3NyAyMCAxNHM2IDEyLjQxNyA2IDIwYy0wIDExLjgxMy00LjUxMyAyMS4xNzctMTQgMzBzLTIzLjI4OCAxNC00MiAxNGMtMTcuNjY1IDAtMzEuNTk3LTYuMDgzLTQyLTE2cy0xOC41OTgtMjQuODU0LTIyLTQ2bC01NiA2YzMuNzk1IDM1Ljg3NSAxNC41MDMgNjMuMjYgMzQgODJzNDcuNjIyIDI4IDg0IDI4YzI0Ljk5MyAwIDQ3LjI1LTQuMTk4IDY0LTEyczI4Ljg0LTE5Ljk1OCAzOC0zNmM5LjE1OS0xNi4wNDIgMTQtMzMuNjI1IDE0LTUyLTAtMjAuMjcxLTQuMzQ2LTM2LjIxOS0xMi01MHMtMTguNDU3LTI0LjA1Mi0zMi0zMmMtMTMuNTQ0LTcuOTQ4LTMzLjczNi0xNi41NjItNjItMjRzLTQ2LjY3Mi0xNS4xNDYtNTQtMjJjLTUuNzU4LTUuMzk2LTgtMTAuNDE2LTgtMTgtMC04LjMxMiAzLjg1LTE1LjA0MSAxMC0yMCA5LjU1Mi03LjcyOSAyMS4xMi0xMiAzOC0xMiAxNi4zNTcgMCAyOS44MjEgMi43ODEgMzggMTBzMTMuNTE0IDE5LjUyMSAxNiAzNmw1OC0yYy0wLjkxNi0yOS40NTgtOS43NDYtNTQuMzU0LTI4LTcycy00NS44ODQtMjYtODItMjZ6TTAgNjI4LjU3NnYzMjBoMjE4di01NGgtMTYwdi04OGgxNDR2LTU0aC0xNDR2LTcwaDE1NnYtNTR6TTI0OCA2MjguNTc2djU0aDg2djI2Nmg1OHYtMjY2aDg0di01NHpNNTE0IDYyOC41NzZ2MzIwaDU0di0yMDhsMTE2IDIwOGg2MHYtMzIwaC01NHYyMTRsLTExOC0yMTR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLWV0ZXJudXMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NTAsCisJCQkJImlkIjogNzQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcyMCwKKwkJCQkibmFtZSI6ICJpdC1kaXNrcmFpZC1ldGVybnVzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjM2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk05NiAwYy01My40MTEgMC05NiA0Ni44NDEtOTYgMTA2djM1NGMwIDU5LjE1OSA0Mi41ODkgMTA4IDk2IDEwOGg4MzJjNTMuNDExIDAgOTYtNDguODQxIDk2LTEwOHYtMzU0YzAtNTkuMTU5LTQyLjU4OS0xMDYtOTYtMTA2aC04MzJ6TTc2IDc0aDg3MnY0MjBoLTg3MnYtNDIwek0xMjggMTQ4djEzMmgzMzh2LTEzMmgtMzM4ek01NDYgMTQ4djEzMmgzMzh2LTEzMmgtMzM4ek0xMjYgMzI2djEzMGgzMzh2LTEzMGgtMzM4ek01NDYgMzI2djEzMGgzMzh2LTEzMGgtMzM4ek0yMTYgNjIwdjMyMmg3MnYtMTM2aDEzNHYtNTRoLTEzNHYtNzZoMTU0di01NmgtMjI2ek03MjggNjIwdjIwOGMtMCAyNS45NTgtMi4wMjEgNDMuNzYxLTggNTItNS42NjMgNy44MDQtMTQuNzUxIDExLjU4Ny0yOCAxMi0xMi4wOTktMS4yMTItMjEuNzQxLTcuNjk5LTI4LTE4LTQuNjY3LTcuNTgzLTcuMjcxLTE5LjYyNS04LTM4aC02bC02MiA2YzAuMTQ2IDM0LjI3MSA4LjkzNyA2MC4yODEgMjYgNzggMTQuMzM1IDE0Ljg4NyAzMy4zNzEgMjMuNjIxIDU4IDI2IDYuOSAxLjI0MSAxNC4wODkgMiAyMiAyIDI2Ljk3OSAwIDQ5LjUyMS02LjY5OCA2Ni0xOHMyNy43MjktMjUuMzMzIDM0LTQ0YzQuNjY3LTE0LjI5MiA2LTM1LjQ1OCA2LTYydi0yMDRoLTcyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1kaXNrcmFpZC1mdWppdHN1IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTUxLAorCQkJCSJpZCI6IDczLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MjEsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtZnVqaXRzdSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDIzNworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTYgMGMtNTMuNDExIDAtOTYgNDYuODQxLTk2IDEwNnYzNTRjMCA1OS4xNTkgNDIuNTg5IDEwOCA5NiAxMDhoODMyYzUzLjQxMSAwIDk2LTQ4Ljg0MSA5Ni0xMDh2LTM1NGMwLTU5LjE1OS00Mi41ODktMTA2LTk2LTEwNnpNNzYgNzRoODcydjQyMGgtODcyek0xMjggMTQ4djEzMmgzMzh2LTEzMnpNNTQ2IDE0OHYxMzJoMzM4di0xMzJ6TTEyNiAzMjZ2MTMwaDMzOHYtMTMwek01NDYgMzI2djEzMGgzMzh2LTEzMHpNODI2IDYxOC4yMzdjLTI0LjY0NiAwLTQ2LjU3MyA0LjU2My02NCAxMnMtMzAuNzQgMTcuNzgyLTQwIDMyYy05LjI2IDE0LjIxOS0xNCAyOS42NjctMTQgNDYtMCAyNS4zNzUgMTAuMzEyIDQ2LjM1NCAzMCA2NCAxNCAxMi41NDIgMzkuMjkyIDIzLjM5NiA3NCAzMiAyNi45NzkgNi43MDggNDQuNDE3IDExLjM3NSA1MiAxNCAxMS4wODMgMy45MzcgMTcuNTUyIDguNjc3IDIyIDE0czggMTIuNDE3IDggMjBjLTAgMTEuODEzLTUuNDI3IDIxLjE3Ny0xNiAzMHMtMjcuMTQ2IDE0LTQ4IDE0Yy0xOS42ODggMC0zNC40MDYtNi4wODMtNDYtMTZzLTIwLjIwOS0yNC44NTQtMjQtNDZsLTYyIDZjNC4yMjkgMzUuODc1IDE2LjI3MSA2My4yNiAzOCA4MnM1My40NTggMjggOTQgMjhjMjcuODU0IDAgNTEuMzMzLTQuMTk4IDcwLTEyczMxLjc5MS0xOS45NTggNDItMzZjMTAuMjA4LTE2LjA0MiAxNi0zMy42MjUgMTYtNTItMC0yMC4yNzEtMy40NjktMzYuMjE5LTEyLTUwcy0yMC45MDYtMjQuMDUyLTM2LTMyYy0xNS4wOTQtNy45NDgtMzguNS0xNi41NjItNzAtMjRzLTUxLjgzMy0xNS4xNDYtNjAtMjJjLTYuNDE3LTUuMzk2LTEwLTEwLjQxNi0xMC0xOC0wLTguMzEyIDMuMTQ2LTE1LjA0MSAxMC0yMCAxMC42NDYtNy43MjkgMjcuMTg3LTEyIDQ2LTEyIDE4LjIyOSAwIDMwLjg4NSAyLjc4MSA0MCAxMHMxNS4yMjkgMTkuNTIxIDE4IDM2bDY0LTJjLTEuMDIxLTI5LjQ1OC0xMS42NTctNTQuMzU0LTMyLTcycy00OS43NS0yNi05MC0yNnpNNjYgNjI0LjIzN3YzMjBoNjR2LTE0MGgxMjh2MTQwaDY0di0zMjBoLTY0djEyNmgtMTI4di0xMjZ6TTM5MCA2MjQuMjM3djMyMGgxMjJjMjMuOTE2IDAgNDEuNzA4LTEuNDc5IDU2LTYgMTkuMTA0LTYuMTI1IDM0Ljc3MS0xNS4wNjIgNDYtMjYgMTQuODc1LTE0LjQzNyAyNS45NzktMzIuNjY3IDM0LTU2IDYuNTYyLTE5LjEwNCAxMC00MS42MDQgMTAtNjgtMC0zMC4wNDEtMy01NS41MS0xMC03NnMtMTYuNTg0LTM3Ljg1NC0zMC01MmMtMTMuNDE3LTE0LjE0Ni0zMS4xODgtMjQuNDU4LTUwLTMwLTE0LTQuMDgzLTMzLjMxMy02LTYwLTZ6TTQ1NCA2NzguMjM3aDMwYzI2LjM5NiAwIDQyLjk1OC0wLjA0MiA1MiAyIDEyLjEwNCAyLjYyNSAyMi4xMjUgOC41NjMgMzAgMTZzMTMuNjI1IDE4LjcyOSAxOCAzMmM0LjM3NSAxMy4yNzEgOCAzMS4yMDkgOCA1NnMtMy42MjUgNDMuNjM2LTggNThjLTQuMzc1IDE0LjM2NS05LjA3MyAyNS43MjktMTYgMzJzLTE1LjUgMTEuMzc1LTI2IDE0Yy04LjAyMSAyLjA0Mi0yMS45OSAwLjM3MS00MCAyaC00OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGlza3JhaWQtaGRzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTUyLAorCQkJCSJpZCI6IDcyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MjIsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtaGRzIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjM4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk05NiAwYy01My40MTEgMC05NiA0Ni44NDEtOTYgMTA2djM1NGMwIDU5LjE1OSA0Mi41ODkgMTA4IDk2IDEwOGg4MzJjNTMuNDExIDAgOTYtNDguODQxIDk2LTEwOHYtMzU0YzAtNTkuMTU5LTQyLjU4OS0xMDYtOTYtMTA2ek03NiA3NGg4NzJ2NDIwaC04NzJ6TTEyOCAxNDh2MTMyaDMzOHYtMTMyek01NDYgMTQ4djEzMmgzMzh2LTEzMnpNMTI2IDMyNnYxMzBoMzM4di0xMzB6TTU0NiAzMjZ2MTMwaDMzOHYtMTMwek03MzIgNjE3LjU5M2MtMjQuNzI3IDAtNDUuMDc1IDUuMDcxLTY0IDE0LTE0LjIyOSA2LjYyLTI4LjA1MSAxNi4yOTgtNDAgMzBzLTIxLjA5MyAyOC43NTctMjggNDZjLTkuMjU1IDIzLjQwMS0xNCA1MS41MTQtMTQgODYtMCA1My44ODQgMTMuMzM5IDk3LjI4NiA0MCAxMjhzNjIuODI4IDQ2IDEwOCA0NmM0NC42MTkgMCA3OS4zMzktMTUuMTMyIDEwNi00NnM0MC03My4zNDYgNDAtMTI4Yy0wLTU1LjExNS0xMy4xMzItOTkuMDU1LTQwLTEzMHMtNjMuMjQzLTQ2LTEwOC00NnpNMjYyIDYyMy41OTNsLTExOCAzMzhoNjRsMjYtNzZoMTIwbDI4IDc2aDY2bC0xMjItMzM4ek00ODAgNjIzLjU5M3Y2MGg1OHYtNjB6TTczNCA2NzUuNTkzYzI1LjI4IDAgNDQuNzM1IDguOTEgNjAgMjhzMjQgNDkuMjA0IDI0IDg4Yy0wIDM5LjI1OC04LjMyMSA2OC4zNzEtMjQgODhzLTM1LjU0OSAzMC02MCAzMGMtMjQuNDUxIDAtNDQuMTE0LTEwLjIxNy02MC0zMHMtMjQtNDkuNjY1LTI0LTg4Yy0wLTM4Ljk1IDYuNTI4LTY2LjY3OCAyMi04NnMzNi43Mi0zMCA2Mi0zMHpNMjk0IDcwMS41OTNsNDIgMTI2aC04NHpNNDgwIDcxNS41OTN2MjQ2aDU4di0yNDZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLWhwYWlvIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTUzLAorCQkJCSJpZCI6IDcxLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MjMsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtaHBhaW8iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyMzkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk2IDBjLTUzLjQxMSAwLTk2IDQ2Ljg0MS05NiAxMDZ2MzU0YzAgNTkuMTU5IDQyLjU4OSAxMDggOTYgMTA4aDgzMmM1My40MTEgMCA5Ni00OC44NDEgOTYtMTA4di0zNTRjMC01OS4xNTktNDIuNTg5LTEwNi05Ni0xMDZ6TTc2IDc0aDg3MnY0MjBoLTg3MnpNMTI4IDE0OHYxMzJoMzM4di0xMzJ6TTU0NiAxNDh2MTMyaDMzOHYtMTMyek0xMjYgMzI2djEzMGgzMzh2LTEzMHpNNTQ2IDMyNnYxMzBoMzM4di0xMzB6TTUxNiA2MTcuNTkzYy0yMy4zNDYgMC00MS40OTIgNC4xNDgtNTggMTJzLTI5LjIyOCAxOC45OS0zOCAzNGMtOC43NzIgMTUuMDExLTE0IDMwLjc1Ny0xNCA0OC0wIDI2Ljc4OCA5LjM1MSA0OS4zNzIgMjggNjggMTMuMjYxIDEzLjI0IDM3LjEyMiAyNC45MTcgNzAgMzQgMjUuNTU2IDcuMDgyIDQwLjgxNyAxMS4yMjkgNDggMTQgMTAuNDk5IDQuMTU3IDE3Ljc4NyAxMC4zODEgMjIgMTZzNiAxMS45OTQgNiAyMGMtMCAxMi40Ny0zLjk4NSAyMi42ODYtMTQgMzJzLTI0LjI0NiAxNC00NCAxNGMtMTguNjQ5IDAtMzUuMDE4LTUuNTMxLTQ2LTE2cy0xOC40MDgtMjUuNjc3LTIyLTQ4bC01OCA2YzQuMDA2IDM3Ljg3MyAxNS40MTcgNjYuMjE3IDM2IDg2czQ5LjU5NyAzMCA4OCAzMGMyNi4zODUgMCA0OC4zMTgtMy43NjMgNjYtMTJzMzIuMzMtMjEuMDY1IDQyLTM4YzkuNjY5LTE2LjkzNSAxNC0zNC42MDIgMTQtNTQtMC0yMS4zOTktMy45MTktMzkuNDUxLTEyLTU0cy0xOS43MDMtMjUuNjA5LTM0LTM0Yy0xNC4yOTgtOC4zOS0zNi4xNjItMTguMTQ4LTY2LTI2cy00OC4yNjQtMTQuNzY0LTU2LTIyYy02LjA3OC01LjY5Ni0xMC0xMS45OTQtMTAtMjAtMC04Ljc3NSAzLjUwNy0xNi43NjUgMTAtMjIgMTAuMDg0LTguMTU5IDI0LjE4LTEyIDQyLTEyIDE3LjI2NyAwIDMxLjM2NiA0LjM4IDQwIDEyczEzLjM3NSAyMC42MDQgMTYgMzhsNjItNGMtMC45NjctMzEuMDk4LTEwLjczLTU1LjM3MS0zMC03NHMtNDkuODczLTI4LTg4LTI4ek01NiA2MjMuNTkzdjMzOGg1NnYtMjY2bDYyIDI2Nmg1OGw2MC0yNjZ2MjY2aDU4di0zMzhoLTkybC01NiAyMzAtNTQtMjMwek03ODIgNjIzLjU5M2wtMTE4IDMzOGg2NGwyNi03NmgxMjBsMjggNzZoNjZsLTEyMi0zMzh6TTgxNCA3MDEuNTkzbDQyIDEyNmgtODR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLWhwbXNhIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTU0LAorCQkJCSJpZCI6IDcwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MjQsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtaHBtc2EiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNDAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk2IDBjLTUzLjQxMSAwLTk2IDQ2Ljg0MS05NiAxMDZ2MzU0YzAgNTkuMTU5IDQyLjU4OSAxMDggOTYgMTA4aDgzMmM1My40MTEgMCA5Ni00OC44NDEgOTYtMTA4di0zNTRjMC01OS4xNTktNDIuNTg5LTEwNi05Ni0xMDZ6TTc2IDc0aDg3MnY0MjBoLTg3MnpNMTI4IDE0OHYxMzJoMzM4di0xMzJ6TTU0NiAxNDh2MTMyaDMzOHYtMTMyek0xMjYgMzI2djEzMGgzMzh2LTEzMHpNNTQ2IDMyNnYxMzBoMzM4di0xMzB6TTE1MiA2MjUuMjU0djMzOGg2MnYtMzM4ek0yNzIgNjI1LjI1NHYzMzhoMTA0YzM5LjA5NC0wLjMwNyA2My43NzctMC43NjkgNzQtMiAxNi4zLTIuMDAxIDI4Ljg3OS03LjMwMiA0MC0xNnMyMS41NzYtMjEuNDUxIDI4LTM2YzYuNDIzLTE0LjU0OSA4LTI4LjYwNCA4LTQ0LTAtMTkuNTUyLTQuMDU0LTM3LjUyOC0xNC01MnMtMjMuNDg5LTIzLjk5Ni00Mi0zMGMxMy4xMjMtNi42MiAyMi4zMzMtMTYuNzYgMzAtMzBzMTItMjguMTQyIDEyLTQ0Yy0wLTE0LjYyNS0zLjc4NC0yNi4yMjItMTAtMzhzLTEyLjY3Ni0yMi45MTgtMjItMzBjLTkuMzI1LTcuMDgyLTIwLjE4OS0xMS43NjgtMzItMTRzLTI5Ljk2NC0yLTU0LTJ6TTU3OCA2MjUuMjU0djMzOGg1NnYtMjY2bDYyIDI2Nmg1OGw2MC0yNjZ2MjY2aDU4di0zMzhoLTkybC01NiAyMzAtNTQtMjMwek0zMzQgNjgxLjI1NGgzNGMyOC44NzEgMCA0Ny45MjItMC43NjkgNTQgMCAxMC4yMjIgMS4zODYgMTYuODIgNS40NTcgMjIgMTJzOCAxNS41MzEgOCAyNmMtMCAxMC45MzEtMS45OTEgMTkuMzAzLTggMjZzLTE1LjUwMSAxMC42MTUtMjYgMTJjLTUuODAyIDAuNzY5LTIwLjEwMiAyLTQ0IDJoLTQwek0zMzQgODE1LjI1NGg1MGMyNy45MDQgMCA0NS42NDIgMi43NjcgNTQgNnMxMy41NzkgNi45MTggMTggMTRjNC40MiA3LjA4MiA4IDE1LjgzOSA4IDI2LTAgMTIuMDA5LTQuMjY3IDIyLjg0MS0xMCAzMHMtMTIuODgzIDEwLjE1My0yMiAxMmMtNS45NCAxLjM4Ni0xOS44OTggMi00MiAyaC01NnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGlza3JhaWQtaWJtIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTU1LAorCQkJCSJpZCI6IDY5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MjUsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtaWJtIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjQxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk05NiAwYy01My40MTEgMC05NiA0Ni44NDEtOTYgMTA2djM1NGMwIDU5LjE1OSA0Mi41ODkgMTA4IDk2IDEwOGg4MzJjNTMuNDExIDAgOTYtNDguODQxIDk2LTEwOHYtMzU0YzAtNTkuMTU5LTQyLjU4OS0xMDYtOTYtMTA2ek03NiA3NGg4NzJ2NDIwaC04NzJ6TTEyOCAxNDh2MTMyaDMzOHYtMTMyek01NDYgMTQ4djEzMmgzMzh2LTEzMnpNMTI2IDMyNnYxMzBoMzM4di0xMzB6TTU0NiAzMjZ2MTMwaDMzOHYtMTMwek0zMzggNjEwLjU3NmMtMjMuMzQ2IDAtNDMuNDkyIDQuMTQ4LTYwIDEycy0yOS4yMjggMTguOTktMzggMzRjLTguNzcyIDE1LjAxMS0xMiAzMC43NTctMTIgNDgtMCAyNi43ODggOS4zNTEgNDkuMzcyIDI4IDY4IDEzLjI2MSAxMy4yNCAzNS4xMjIgMjQuOTE3IDY4IDM0IDI1LjU1NiA3LjA4MiA0Mi44MTcgMTEuMjI5IDUwIDE0IDEwLjQ5OSA0LjE1NyAxNy43ODcgMTAuMzggMjIgMTZzNiAxMS45OTQgNiAyMGMtMCAxMi40Ny01Ljk4NSAyMi42ODYtMTYgMzJzLTI0LjI0NiAxNC00NCAxNGMtMTguNjQ5IDAtMzMuMDE4LTUuNTMxLTQ0LTE2cy0xOC40MDgtMjUuNjc3LTIyLTQ4bC02MCA2YzQuMDA2IDM3Ljg3MyAxNy40MTcgNjYuMjE3IDM4IDg2czQ5LjU5NyAzMCA4OCAzMGMyNi4zODUgMCA0OC4zMTgtMy43NjMgNjYtMTJzMzAuMzMtMjEuMDY1IDQwLTM4YzkuNjctMTYuOTM1IDE2LTM0LjYwMiAxNi01NC0wLTIxLjM5OS0zLjkxOS0zOS40NTEtMTItNTRzLTE5LjcwMy0yNS42MDktMzQtMzRjLTE0LjI5OC04LjM5LTM2LjE2Mi0xOC4xNDgtNjYtMjZzLTUwLjI2NC0xNC43NjQtNTgtMjJjLTYuMDc4LTUuNjk2LTgtMTEuOTk0LTgtMjAtMC04Ljc3NSAzLjUwNy0xNi43NjUgMTAtMjIgMTAuMDg0LTguMTU5IDI0LjE4LTEyIDQyLTEyIDE3LjI2NyAwIDI5LjM2NiA0LjM4IDM4IDEyczE1LjM3NSAyMC42MDQgMTggMzhsNjAtNGMtMC45NjctMzEuMDk4LTEwLjczLTU1LjM3MS0zMC03NHMtNDcuODczLTI4LTg2LTI4ek01MTQgNjE2LjU3NnYzMzhoNTh2LTI2Nmw2MCAyNjZoNThsNjAtMjY2djI2Nmg1OHYtMzM4aC05MmwtNTQgMjMwLTU2LTIzMHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGlza3JhaWQtaWJtc20iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NTYsCisJCQkJImlkIjogNjgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTcyNiwKKwkJCQkibmFtZSI6ICJpdC1kaXNrcmFpZC1pYm1zbSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI0MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTQ1Ljk3OCAzMjUuMDczaDMzOC4wNjB2MTI5LjYyOWgtMzM4LjA2MHYtMTI5LjYyOXoiLAorCQkJCQkiTTU0NS45NzggMTQ3LjU5NmgzMzguMDYwdjEzMS42MzFoLTMzOC4wNjB2LTEzMS42MzF6IiwKKwkJCQkJIk0xMjYuMDQ1IDMyNS4wNzNoMzM3Ljk2N3YxMjkuNjI5aC0zMzcuOTY3di0xMjkuNjI5eiIsCisJCQkJCSJNMTI4LjA0NyAxNDcuNTk2aDMzNy45Njd2MTMxLjYzMWgtMzM3Ljk2N3YtMTMxLjYzMXoiLAorCQkJCQkiTTkyOC4wMjMgMGgtODMyYy01My40MzQgMC05Ni4wMjMgNDYuNzMyLTk2LjAyMyAxMDUuNzA1djM1My4wMDFjMCA1OC45NzMgNDIuNTg5IDEwNy43MDYgOTYuMDIzIDEwNy43MDZoODMyLjA0N2M1My4zNDEgMCA5NS45NzctNDguNzMzIDk1Ljk3Ny0xMDcuNzA2di0zNTMuMDAxYy0wLjA0Ny01OC45NzMtNDIuNjM2LTEwNS43MDUtOTYuMDIzLTEwNS43MDV6TTk0OC4wMzggNDkyLjYzN2gtODcyLjAyOXYtNDE4Ljg2M2g4NzIuMDI5djQxOC44NjN6IiwKKwkJCQkJIk0zMjYuMDUxIDg0NC4xMDJjLTcuNjggMjIuNDgxLTEzLjQwNSAzOS42NTctMTcuMDM2IDUxLjI5My0zLjIxMi0xMC41MTktOC4zMzItMjYuMjk4LTE1LjI2Ny00Ny4zODNsLTc1LjkxNi0yMjYuNDQ0aC02My45MDd2MzE5LjgxNGg0MC45MTN2LTI3Mi4yNDRsOTIuNzE5IDI3Mi4yNDRoMzguMzUzbDkzLjA5MS0yNjcuNjM2djI2Ny42MzZoNDAuOTZ2LTMxOS44MTRoLTU3LjA2NWwtNzYuODQ3IDIyMi41MzR6IiwKKwkJCQkJIk04MzguOTgyIDc3Mi45MzRjLTEyLjc1My01LjgxOC0zNi4zOTktMTIuNjE0LTcwLjg4OS0yMC4zODctMzQuNDQ0LTcuODItNTUuODA4LTE1LjQwNy02My45NTMtMjIuODA3LTguMzc4LTcuNDAxLTEyLjUyMS0xNi44NDktMTIuNTIxLTI4LjM0NiAwLTEzLjIxOSA1LjgxOC0yNC41MjkgMTcuNTk0LTMzLjkzMiAxMS43MjktOS40MDIgMzAuMzk0LTE0LjEwMyA1Ni4wODctMTQuMTAzIDI0LjYyMyAwIDQzLjI0MSA1LjE2NyA1NS44NTUgMTUuNDUzIDEyLjY2IDEwLjM4IDIwLjA2MSAyNS42IDIyLjIwMiA0NS44OTRsNDAuNzc0LTMuMTE5Yy0wLjc5MS0xOC42NjUtNS45NTgtMzUuNTYxLTE1LjczMi01MC4zNjItOS44MjEtMTQuODAxLTIzLjc4NS0yNi4wNjUtNDEuOTM3LTMzLjc0NS0xOC4xNTMtNy41ODctMzkuMDk4LTExLjQwNC02Mi44ODMtMTEuNDA0LTIxLjU5NyAwLTQxLjIzOSAzLjYzMS01OC44MzMgMTAuODQ1LTE3LjY0MSA3LjI2MS0zMS4xMzkgMTcuOTItNDAuMjYyIDMxLjk3Ny05LjIxNiAxNC4wMTAtMTMuNzc3IDI5LjA5MS0xMy43NzcgNDUuMzM1IDAgMTQuNjE1IDMuNzcgMjcuOTI3IDExLjIxNyAzOS43NSA3LjQ5NCAxMS44MjMgMTguOTQ0IDIxLjc4MyAzNC4yMTEgMjkuNzg5IDExLjgyMyA2LjIzNyAzMi4zOTYgMTIuODkzIDYxLjk1MiAxOS45NjggMjkuNDYzIDcuMDI4IDQ4LjQ1NCAxMi4yODggNTcuMTExIDE1LjU5MyAxMy40MDUgNS4xMiAyMy4wNDAgMTEuNDA0IDI4Ljg1OCAxOC44NTEgNS44MTggNy40OTQgOC43NTEgMTYuMjkxIDguNzUxIDI2LjI5OCAwIDkuOTE0LTIuOTc5IDE4Ljk5MS05LjAzMCAyNy4zNjktNi4wOTcgOC4zMzItMTUuMzEzIDE0Ljk0MS0yNy42OTUgMTkuNzM1LTEyLjQyOCA0Ljg0MS0yNi43MTcgNy4xNjgtNDIuOTE1IDcuMTY4LTE4LjI0NiAwLTM0LjU4My0zLjExOS00OS4xOTktOS40NDktMTQuNjE1LTYuMjg0LTI1LjQxNC0xNC41NjktMzIuMjU2LTI0Ljg1NS02LjkzNS0xMC4yNC0xMS4zMTEtMjMuMzY2LTEzLjIxOS0zOS4zMzFsLTM5Ljk4MyAzLjQ5MWMwLjU1OSAyMS4zMTggNi4zNzcgNDAuNDk1IDE3LjU5NCA1Ny40MzcgMTEuMTI0IDE2Ljk0MyAyNi40MzggMjkuNjAzIDQ2LjEyNyAzNy45ODEgMTkuNTk2IDguNDcxIDQzLjg5MiAxMi42NiA3Mi44OSAxMi42NiAyMi45OTMgMCA0My41NjctNC4yMzYgNjEuODEyLTEyLjYxNCAxOC4zMzktOC4zNzggMzIuMzQ5LTIwLjA2MSA0Mi4xMjQtMzUuMDk1czE0LjY2Mi0zMS4wNDYgMTQuNjYyLTQ4LjAzNWMwLTE3LjE3NS00LjUxNS0zMi4zOTYtMTMuMzU5LTQ1LjUyMS04Ljg0NC0xMy4wMzMtMjIuNjY4LTIzLjgzMS00MS4zNzktMzIuNDg5eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFsKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZGlza3JhaWQtbWFjcm9zYW4iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogWworCQkJCQkJNSwKKwkJCQkJCTUsCisJCQkJCQk1LAorCQkJCQkJNSwKKwkJCQkJCTUsCisJCQkJCQk1LAorCQkJCQkJNQorCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTU3LAorCQkJCSJpZCI6IDY3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MjcsCisJCQkJIm5hbWUiOiAiaXQtZGlza3JhaWQtbWFjcm9zYW4iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNDMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTk2IDBjLTUzLjQxMSAwLTk2IDQ2Ljg0MS05NiAxMDZ2MzU0YzAgNTkuMTU5IDQyLjU4OSAxMDggOTYgMTA4aDgzMmM1My40MTEgMCA5Ni00OC44NDEgOTYtMTA4di0zNTRjMC01OS4xNTktNDIuNTg5LTEwNi05Ni0xMDZ6TTc2IDc0aDg3MnY0MjBoLTg3MnpNMTI4IDE0OHYxMzJoMzM4di0xMzJ6TTU0NiAxNDh2MTMyaDMzOHYtMTMyek0xMjYgMzI2djEzMGgzMzh2LTEzMHpNNTQ2IDMyNnYxMzBoMzM4di0xMzB6TTIyMiA2MTYuNTc2djMzOGg1NnYtMjIwbDEyNCAyMjBoNjB2LTMzOGgtNTZ2MjI2bC0xMjQtMjI2ek02MTYgNjE2LjU3NmwtMTE4IDMzOGg2NGwyNi03NmgxMjBsMjggNzZoNjZsLTEyMi0zMzh6TTY0OCA2OTQuNTc2bDQyIDEyNmgtODR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLW5ldGFwcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU1OCwKKwkJCQkiaWQiOiA2NiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzI4LAorCQkJCSJuYW1lIjogIml0LWRpc2tyYWlkLW5ldGFwcCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI0NAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNOTYgMGMtNTMuNDExIDAtOTYgNDYuODQxLTk2IDEwNnYzNTRjMCA1OS4xNTkgNDIuNTg5IDEwOCA5NiAxMDhoODMyYzUzLjQxMSAwIDk2LTQ4Ljg0MSA5Ni0xMDh2LTM1NGMwLTU5LjE1OS00Mi41ODktMTA2LTk2LTEwNnpNNzYgNzRoODcydjQyMGgtODcyek0xMjggMTQ4djEzMmgzMzh2LTEzMnpNNTQ2IDE0OHYxMzJoMzM4di0xMzJ6TTEyNiAzMjZ2MTMwaDMzOHYtMTMwek01NDYgMzI2djEzMGgzMzh2LTEzMHpNMjEwIDYxNC45MTVjLTIzLjM0NiAwLTQzLjQ5MiA0LjE0OC02MCAxMnMtMjkuMjI4IDE4Ljk5LTM4IDM0Yy04Ljc3MiAxNS4wMTEtMTIgMzAuNzU3LTEyIDQ4LTAgMjYuNzg4IDkuMzUxIDQ5LjM3MiAyOCA2OCAxMy4yNjEgMTMuMjQgMzUuMTIyIDI0LjkxNyA2OCAzNCAyNS41NTYgNy4wODIgNDIuODE3IDExLjIyOSA1MCAxNCAxMC40OTkgNC4xNTcgMTcuNzg3IDEwLjM4IDIyIDE2czYgMTEuOTk0IDYgMjBjLTAgMTIuNDctNS45ODUgMjIuNjg2LTE2IDMycy0yNC4yNDYgMTQtNDQgMTRjLTE4LjY0OSAwLTMzLjAxOC01LjUzMS00NC0xNnMtMTguNDA4LTI1LjY3Ny0yMi00OGwtNjAgNmM0LjAwNiAzNy44NzMgMTcuNDE3IDY2LjIxNyAzOCA4NnM0OS41OTcgMzAgODggMzBjMjYuMzg1IDAgNDguMzE4LTMuNzYzIDY2LTEyczMwLjMzLTIxLjA2NSA0MC0zOGM5LjY3LTE2LjkzNSAxNi0zNC42MDIgMTYtNTQtMC0yMS4zOTktMy45MTktMzkuNDUxLTEyLTU0cy0xOS43MDMtMjUuNjA5LTM0LTM0Yy0xNC4yOTgtOC4zOS0zNi4xNjItMTguMTQ4LTY2LTI2cy00OC4yNjQtMTQuNzY0LTU2LTIyYy02LjA3OC01LjY5Ni0xMC0xMS45OTQtMTAtMjAtMC04Ljc3NSAzLjUwNy0xNi43NjUgMTAtMjIgMTAuMDg0LTguMTU5IDI0LjE4LTEyIDQyLTEyIDE3LjI2NyAwIDI5LjM2NiA0LjM4IDM4IDEyczE1LjM3NSAyMC42MDQgMTggMzhsNjAtNGMtMC45NjctMzEuMDk4LTEwLjczLTU1LjM3MS0zMC03NHMtNDcuODczLTI4LTg2LTI4ek0zODYgNjIwLjkxNXYxODBjMCAzNy44NzMgMS45OTQgNjYuNjAyIDYgODYgMi43NjMgMTMuMDg2IDkuMjk3IDI2LjA2OSAxOCAzOHMyMS4wMTIgMjAuNTMzIDM2IDI4YzE0Ljk4OCA3LjQ2NyAzNi45OSAxMiA2NiAxMiAyNC4wMzYgMCA0My4wODEtMy4xNDkgNTgtMTBzMjcuMDkwLTE2LjQ1MyAzNi0yOGM4LjkxLTExLjU0NyAxNC42ODQtMjUuMjE5IDE4LTQyczYtNDUuMzU2IDYtODZ2LTE3OGgtNjJ2MTg2YzAgMjYuNzg4LTAuMjA0IDQ2LjQ1NC0yIDU4cy03LjE1OSAyMi4wNzEtMTYgMzBjLTguODQxIDcuOTI4LTIyLjU5NCAxMi00MCAxMi0xNy4xMyAwLTMwLjEyMy01LjYxLTQwLTE0cy0xNy4zNzUtMTguMTQ0LTIwLTMyYy0xLjUyLTguNjIxLTItMjguOTAzLTItNTh2LTE4MnpNNjk0IDYyMC45MTV2MzM4aDU4di0yMjBsMTIyIDIyMGg2MnYtMzM4aC01OHYyMjZsLTEyNC0yMjZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWRpc2tyYWlkLXN1biIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU1OSwKKwkJCQkiaWQiOiA2NSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzI5LAorCQkJCSJuYW1lIjogIml0LWRpc2tyYWlkLXN1biIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI0NQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMCAwdjE3NmgyNDJ2LTE3NmgtMjQyek0zNDYgMHYxNzZoMzUydi0xNzZoLTM1MnpNODAwIDB2MTc2aDIyNHYtMTc2aC0yMjR6TTMwIDIzMnYxNzZoMzU0di0xNzZoLTM1NHpNNDg4IDIzMnYxNzZoMzUydi0xNzZoLTM1MnpNOTQyIDIzMnYxNzZoODJ2LTE3NmgtODJ6TTAgNDYydjE3OGgyNTZ2LTE3OGgtMjU2ek0zNjYgNDYydjE3OGgzNTJ2LTE3OGgtMzUyek04MjIgNDYydjE3OGgyMDJ2LTE3OGgtMjAyek0zMCA3MDJ2MTc2aDM1NHYtMTc2aC0zNTR6TTQ4OCA3MDJ2MTc2aDM1MnYtMTc2aC0zNTJ6TTk0MiA3MDJ2MTc2aDgydi0xNzZoLTgyek0wIDkzNHY5MGgyNDJ2LTkwaC0yNDJ6TTM0NiA5MzR2OTBoMzUydi05MGgtMzUyek04MDAgOTM0djkwaDIyNHYtOTBoLTIyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZmlyZXdhbGwiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NjAsCisJCQkJImlkIjogNjQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTczMCwKKwkJCQkibmFtZSI6ICJpdC1maXJld2FsbCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI0NgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjggMGMtMzcuNzI4IDAtNjggMzAuMjcyLTY4IDY4djg4OGMwIDM3LjcyOCAzMC4yNzIgNjggNjggNjhoODg4YzM3LjcyOCAwIDY4LTMwLjI3MiA2OC02OHYtODg4YzAtMzcuNzI4LTMwLjI3Mi02OC02OC02OGgtODg4ek0yNDIgNjRoMTA0djExMmgzNTJ2LTExMmgxMDJ2MTEyaDE2MHY1NmgtMTh2MTc2aDE4djQ5MGgtMTYwdjYyaC0xMDJ2LTYyaC0zNTJ2NjJoLTEwNHYtNjJoLTE3OHYtNDkwaDMyMHYtMTc2aC0zMjB2LTU2aDE3OHYtMTEyek00ODggMjMydjE3NmgzNTJ2LTE3NmgtMzUyek0zODAgNDc4Yy00NC45MTcgMC04Mi40MzggMTQuNDctMTEwIDQ0cy00MCA3Mi42MjQtNDAgMTI2YzAgNTAuNDU4IDEyLjU4MyA4OC45MDYgNDAgMTE4czYzLjQxNyA0NCAxMDYgNDRjMzQuNDE3IDAgNjEuNjE0LTkuMDA4IDg0LTI2czM4LjM3NS00Mi45OTggNDgtNzhsLTYyLTIwYy01LjM5NiAyMy40ODItMTMuNjA0IDQxLjA2Mi0yNiA1Mi0xMi4zOTYgMTAuOTYzLTI2Ljc5MiAxNi00NCAxNi0yMy4zMzMgMC00My40MTctOC43OS01OC0yNnMtMjItNDUuNDU2LTIyLTg2Yy0wLTM4LjIwOCA3LjE5OC02NC45MzggMjItODJzMzQuMjI5LTI2IDU4LTI2YzE3LjIwOCAwIDMxLjk2OSA0LjM3NCA0NCAxNHMyMC4yMDggMjMuMzczIDI0IDQwbDY0LTE2Yy03LjI5Mi0yNS42Ny0xNy40MTctNDQuMjkxLTMyLTU4LTI0LjUtMjMuMTg3LTU2Ljc3MS0zNi05Ni0zNnpNNTY0IDQ4NHYzMjBoNjZ2LTEyMGg0MmMyOS4zMTIgMCA1MC41NDEtMi45MjggNjYtNiAxMS4zNzUtMi40NzcgMjIuOTg5LTYuMzQ2IDM0LTE0IDExLjAxMC03LjY2MSAyMC44NTQtMTguNTg2IDI4LTMyIDcuMTQ2LTEzLjQyMSAxMC0zMC4zMTQgMTAtNTAtMC0yNS41MjMtNS42MDQtNDUuODg1LTE4LTYycy0yNy42MjUtMjcuMi00Ni0zMmMtMTEuOTU5LTMuMi0zOC42MjUtNC03OC00aC0xMDR6TTYzMCA1MzhoMzBjMjMuMzMzIDAgNDAuMjcxIDAuNTMxIDQ4IDIgMTAuNSAxLjkwMSAxOS4xNDYgNi40MTYgMjYgMTRzMTAgMTguMzMzIDEwIDMwYy0wIDkuNDc4LTMuMTE1IDE2Ljg1OC04IDI0LTQuODg2IDcuMTQ5LTExLjM5NiAxMi42NzItMjAgMTYtOC42MDQgMy4zOTItMjYuNDc5IDYtNTIgNmgtMzR2LTkyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1maXJld2FsbC1jaGVja3BvaW50IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTYxLAorCQkJCSJpZCI6IDYzLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MzEsCisJCQkJIm5hbWUiOiAiaXQtZmlyZXdhbGwtY2hlY2twb2ludCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI0NworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjggMGMtMzcuOTY0IDAtNjggMzAuMjcyLTY4IDY4djg4OGMwIDM3LjcyOCAzMC4wMzYgNjggNjggNjhoODk0YzM3Ljk2NCAwIDY4LTMwLjI3MiA2OC02OHYtODg4YzAtMzcuNzI4LTMwLjAzNi02OC02OC02OGgtODk0ek0yNDQgNjRoMTA0djExMmgzNTR2LTExMmgxMDJ2MTEyaDE2MnY1NmgtMTh2MTc2aDE4djQ5MGgtMTYydjYyaC0xMDJ2LTYyaC0zNTR2NjJoLTEwNHYtNjJoLTE4MHYtNDkwaDMyMnYtMTc2aC0zMjJ2LTU2aDE4MHYtMTEyek00OTIgMjMydjE3NmgzNTR2LTE3NmgtMzU0ek0zNDAgNDkyYy00NC45MTcgMC04Mi40MzggMTQuNDctMTEwIDQ0cy00MCA3Mi42MjQtNDAgMTI2YzAgNTAuNDU4IDEyLjU4MyA4OC45MDYgNDAgMTE4czYzLjQxNyA0NCAxMDYgNDRjMzQuNDE2IDAgNjEuNjE0LTkuMDA4IDg0LTI2czM4LjM3NS00Mi45OTggNDgtNzhsLTYyLTIwYy01LjM5NiAyMy40ODItMTMuNjA0IDQxLjA2Mi0yNiA1Mi0xMi4zOTYgMTAuOTYzLTI2Ljc5MiAxNi00NCAxNi0yMy4zMzQgMC00My40MTctOC43OS01OC0yNnMtMjItNDUuNDU2LTIyLTg2Yy0wLTM4LjIwOCA3LjE5OC02NC45MzggMjItODJzMzQuMjI5LTI2IDU4LTI2YzE3LjIwOCAwIDMxLjk2OSA0LjM1NSA0NCAxNCAxMi4wMzEgOS42MjYgMjAuMjA4IDIzLjM3MyAyNCA0MGw2NC0xNmMtNy4yOTItMjUuNjctMTcuNDE3LTQ0LjI5MS0zMi01OC0yNC41LTIzLjE4Ny01Ni43NzEtMzYtOTYtMzZ6TTcxNCA0OTJjLTQ0LjkxNyAwLTgyLjQzOCAxNC40Ny0xMTAgNDRzLTQwIDcyLjYyNC00MCAxMjZjMCA1MC40NTggMTIuNTgzIDg4LjkwNiA0MCAxMThzNjMuNDE3IDQ0IDEwNiA0NGMzNC40MTcgMCA2MS42MTQtOS4wMDggODQtMjZzMzguMzc1LTQyLjk5OCA0OC03OGwtNjItMjBjLTUuMzk2IDIzLjQ4Mi0xNS42MDQgNDEuMDYyLTI4IDUyLTEyLjM5NiAxMC45NjMtMjYuNzkyIDE2LTQ0IDE2LTIzLjMzMyAwLTQxLjQxNy04Ljc5LTU2LTI2cy0yMi00NS40NTYtMjItODZjLTAtMzguMjA4IDcuMTk4LTY0LjkzOCAyMi04MnMzNC4yMjktMjYgNTgtMjZjMTcuMjA4IDAgMzEuOTY5IDQuMzU1IDQ0IDE0IDEyLjAzMSA5LjYyNiAyMC4yMDggMjMuMzczIDI0IDQwbDY0LTE2Yy03LjI5Mi0yNS42Ny0xOS40MTctNDQuMjkxLTM0LTU4LTI0LjUtMjMuMTg3LTU0Ljc3MS0zNi05NC0zNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZmlyZXdhbGwtY2lzY28iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NjIsCisJCQkJImlkIjogNjIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTczMiwKKwkJCQkibmFtZSI6ICJpdC1maXJld2FsbC1jaXNjbyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI0OAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjggMGMtMzcuNzI4IDAtNjggMzAuMjcyLTY4IDY4djg4OGMwIDM3LjcyOCAzMC4yNzIgNjggNjggNjhoODg4YzM3LjcyOCAwIDY4LTMwLjI3MiA2OC02OHYtODg4YzAtMzcuNzI4LTMwLjI3Mi02OC02OC02OGgtODg4ek0yNDIgNjRoMTA0djExMmgzNTJ2LTExMmgxMDJ2MTEyaDE2MHY1NmgtMTh2MTc2aDE4djQ5MGgtMTYwdjYyaC0xMDJ2LTYyaC0zNTJ2NjJoLTEwNHYtNjJoLTE3OHYtNDkwaDMyMHYtMTc2aC0zMjB2LTU2aDE3OHYtMTEyek00ODggMjMydjE3NmgzNTJ2LTE3NmgtMzUyek0yNjYgNDc4Yy00NC45MTcgMC04Mi40MzggMTQuNDctMTEwIDQ0cy00MCA3Mi42MjQtNDAgMTI2YzAgNTAuNDU4IDEyLjU4MyA4OC45MDYgNDAgMTE4czYzLjQxNyA0NCAxMDYgNDRjMzQuNDE3IDAgNjEuNjE0LTkuMDA4IDg0LTI2czM4LjM3NS00Mi45OTggNDgtNzhsLTYyLTIwYy01LjM5NiAyMy40ODItMTMuNjA0IDQxLjA2Mi0yNiA1Mi0xMi4zOTYgMTAuOTYzLTI2Ljc5MiAxNi00NCAxNi0yMy4zMzMgMC00My40MTctOC43OS01OC0yNnMtMjItNDUuNDU2LTIyLTg2Yy0wLTM4LjIwOCA3LjE5OC02NC45MzggMjItODJzMzQuMjI5LTI2IDU4LTI2YzE3LjIwOCAwIDMxLjk2OSA0LjM3NCA0NCAxNHMyMC4yMDggMjMuMzczIDI0IDQwbDY0LTE2Yy03LjI5Mi0yNS42Ny0xNy40MTctNDQuMjkxLTMyLTU4LTI0LjUtMjMuMTg3LTU2Ljc3MS0zNi05Ni0zNnpNNzY4IDQ3OGMtNDQuOTE3IDAtODIuNDM4IDE0LjQ3LTExMCA0NHMtNDAgNzIuNjI0LTQwIDEyNmMwIDUwLjQ1OCAxMi41ODMgODguOTA2IDQwIDExOHM2My40MTcgNDQgMTA2IDQ0YzM0LjQxNyAwIDYxLjYxNC05LjAwOCA4NC0yNnMzOC4zNzUtNDIuOTk4IDQ4LTc4bC02Mi0yMGMtNS4zOTYgMjMuNDgyLTEzLjYwNCA0MS4wNjItMjYgNTItMTIuMzk2IDEwLjk2My0yNi43OTIgMTYtNDQgMTYtMjMuMzMzIDAtNDMuNDE3LTguNzktNTgtMjZzLTIyLTQ1LjQ1Ni0yMi04NmMtMC0zOC4yMDggNy4xOTgtNjQuOTM4IDIyLTgyczM0LjIyOS0yNiA1OC0yNmMxNy4yMDggMCAzMS45NjkgNC4zNzQgNDQgMTRzMjAuMjA4IDIzLjM3MyAyNCA0MGw2NC0xNmMtNy4yOTItMjUuNjctMTcuNDE3LTQ0LjI5MS0zMi01OC0yNC41LTIzLjE4Ny01Ni43NzEtMzYtOTYtMzZ6TTQyMCA1OTR2OTZoMTUwdi05NmgtMTUweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1maXJld2FsbC1jaXNjbzIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NjMsCisJCQkJImlkIjogNjEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTczMywKKwkJCQkibmFtZSI6ICJpdC1maXJld2FsbC1jaXNjbzIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNDkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTY4IDBjLTM3Ljk2NCAwLTY4IDMwLjI3Mi02OCA2OHY4ODhjMCAzNy43MjggMzAuMDM2IDY4IDY4IDY4aDg5NGMzNy45NjQgMCA2OC0zMC4yNzIgNjgtNjh2LTg4OGMwLTM3LjcyOC0zMC4wMzYtNjgtNjgtNjhoLTg5NHpNMjQ0IDY0aDEwNHYxMTJoMzU0di0xMTJoMTAydjExMmgxNjJ2NTZoLTE4djE3NmgxOHY0OTBoLTE2MnY2MmgtMTAydi02MmgtMzU0djYyaC0xMDR2LTYyaC0xODB2LTQ5MGgzMjJ2LTE3NmgtMzIydi01NmgxODB2LTExMnpNNDkyIDIzMnYxNzZoMzU0di0xNzZoLTM1NHpNMzk2IDQ5NnYyMDZjLTAgMjUuOTU4LTQuMDIxIDQzLjc2LTEwIDUycy0xNS41NjMgMTItMzAgMTJjLTE0LjI5MiAwLTI1LTYuNDc5LTMyLTE4LTQuNjY3LTcuNTgzLTcuMjcxLTE5LjYyNS04LTM4bC02MCA2YzAuMTQ2IDM0LjI3MSA4LjkzNyA2MC4yODEgMjYgNzhzNDAuMzU0IDI4IDcyIDI4YzI2Ljk3OSAwIDQ5LjUyMS02LjY5OCA2Ni0xOHMyNy43MjktMjUuMzMzIDM0LTQ0YzQuNjY2LTE0LjI5MiA2LTM1LjQ1OCA2LTYydi0yMDJoLTY0ek01MzAgNDk2djMyMGg2NHYtMTIyaDQyYzI5LjMxMiAwIDUyLjU0Mi0wLjkzOCA2OC00IDExLjM3NS0yLjQ3OSAyMi45ODktOC4zNDQgMzQtMTZzMTguODU0LTE2LjU4MyAyNi0zMGM3LjE0Ni0xMy40MTYgMTItMzAuMzEyIDEyLTUwLTAtMjUuNTIxLTcuNjA0LTQ1Ljg4NS0yMC02MnMtMjcuNjI1LTI3LjE4Ny00Ni0zMmMtMTEuOTU5LTMuMjA4LTM2LjYyNS00LTc2LTRoLTEwNHpNNTk0IDU1MGgzMmMyMy4zMzMgMCAzOC4yNzEgMC41NDIgNDYgMiAxMC41IDEuODk2IDE5LjE0NiA2LjQxNyAyNiAxNHMxMCAxNi4zMzQgMTAgMjhjLTAgOS40NzktMS4xMTUgMTguODU0LTYgMjZzLTEzLjM5NiAxMi42NDYtMjIgMTZjLTguNjA0IDMuMzU0LTI0LjQ3OSA0LTUwIDRoLTM2di05MHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZmlyZXdhbGwtanVuaXBlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU2NCwKKwkJCQkiaWQiOiA2MCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzM0LAorCQkJCSJuYW1lIjogIml0LWZpcmV3YWxsLWp1bmlwZXIiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNTAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTY4IDBjLTM3LjcyOCAwLTY4IDMwLjI3Mi02OCA2OHY4ODhjMCAzNy43MjggMzAuMjcyIDY4IDY4IDY4aDg4OGMzNy43MjggMCA2OC0zMC4yNzIgNjgtNjh2LTg4OGMwLTM3LjcyOC0zMC4yNzItNjgtNjgtNjhoLTg4OHpNMjQyIDY0aDEwNHYxMTJoMzUydi0xMTJoMTAydjExMmgxNjB2NTZoLTE4djE3NmgxOHY4MmgtMTU0djMyMmgxNTR2ODZoLTE2MHY2MmgtMTAydi02MmgtMzUydjYyaC0xMDR2LTYyaC0xNzh2LTg2aDI0di0yMTBsMTAwIDIxMGg1MHYtMzIyaC00NnYyMTRsLTEwMi0yMTRoLTI2di04MmgzMjB2LTE3NmgtMzIwdi01NmgxNzh2LTExMnpNNDg4IDIzMnYxNzZoMzUydi0xNzZoLTM1MnpNMzA2IDQ5MHYzMjJoMTY4di01NGgtMTAydi04OGg4NHYtNTRoLTg0di03Mmg5NnYtNTRoLTE2MnpNNTAwIDQ5MGw5MiAxODZ2MTM2aDUwdi0xMzZsOTAtMTg2aC01OGwtNTYgMTI4LTU4LTEyOGgtNjB6TTg3MCA1NDRoOTB2NzJoLTkwdi03MnpNODcwIDY3MGg5MHY4OGgtOTB2LTg4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1maXJld2FsbC1uZXRleWUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NjUsCisJCQkJImlkIjogNTksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTczNSwKKwkJCQkibmFtZSI6ICJpdC1maXJld2FsbC1uZXRleWUiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNTEKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTY4IDBjLTM3LjcyOCAwLTY4IDMwLjI3Mi02OCA2OHY4ODhjMCAzNy43MjggMzAuMjcyIDY4IDY4IDY4aDg4OGMzNy43MjggMCA2OC0zMC4yNzIgNjgtNjh2LTg4OGMwLTM3LjcyOC0zMC4yNzItNjgtNjgtNjhoLTg4OHpNMjQyIDY0aDEwNHYxMTJoMzUydi0xMTJoMTAydjExMmgxNjB2NTZoLTE4djE3NmgxOHY0OTBoLTE2MHY2MmgtMTAydi02MmgtMzUydjYyaC0xMDR2LTYyaC0xNzh2LTQ5MGgzMjB2LTE3NmgtMzIwdi01NmgxNzh2LTExMnpNNDg4IDIzMnYxNzZoMzUydi0xNzZoLTM1MnpNMTIyIDQ5OHY1NGgxNDhsLTE2OCAyMDh2NThoMjYwdi01NGgtMTgybDE3Ni0yMTZ2LTUwaC0yMzR6TTM4MCA0OTh2NTRoOTZ2MjY2aDY0di0yNjZoOTZ2LTU0aC0yNTZ6TTY3OCA0OTh2MzIwaDI0NHYtNTRoLTE4MHYtODhoMTYydi01NGgtMTYydi03MGgxNzR2LTU0aC0yMzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWZpcmV3YWxsLXp0ZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU2NiwKKwkJCQkiaWQiOiA1OCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzM2LAorCQkJCSJuYW1lIjogIml0LWZpcmV3YWxsLXp0ZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI1MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjggMGMtMzcuNzI4IDAtNjggMzAuMjcyLTY4IDY4djg4OGMwIDM3LjcyOCAzMC4yNzIgNjggNjggNjhoODg4YzM3LjcyOCAwIDY4LTMwLjI3MiA2OC02OHYtODg4YzAtMzcuNzI4LTMwLjI3Mi02OC02OC02OGgtODg4ek0yNDIgNjRoMTA0djEyYy0zNi43MzEgNDAuMTYxLTYwIDkzLjI4Ni02MCAxNTIgMCAxLjMzMy0wLjAyMyAyLjY3MyAwIDRoLTIyMnYtNTZoMTc4di0xMTJ6TTY5OCA2NGgxMDJ2MTEyaDE2MHY1NmgtMTh2MTc2aDE4djQ5MGgtMTYwdjYyaC0xMDJ2LTYyaC0zNTJ2NjJoLTEwNHYtNjJoLTE3OHYtNDkwaDMxMmMzNy45MTUgMjguODE5IDg0LjcwMSA0NiAxMzYgNDZzOTguMDg1LTE3LjE4MSAxMzYtNDZoMTkydi0xNzZoLTEwMmMwLjAyMy0xLjM0IDAtMi42NTUgMC00IDAtNDcuNzYzLTE0LjY5NC05MS41MTctNDAtMTI4di0zNnpNNDE4IDk4aDE4OHY0OGgtMTMydjY0aDExNHY0NmgtMTE0djExOGgtNTZ2LTI3NnpNMTIyIDQ5OHY1NGgxNDhsLTE0NiAxODAtMjIgMjh2NThoMjYwdi01NGgtMTgybDE3Ni0yMTZ2LTUwaC0yMzR6TTM4MCA0OTh2NTRoOTZ2MjY2aDY0di0yNjZoOTZ2LTU0aC0yNTZ6TTY3OCA0OTh2MzIwaDI0NHYtNTRoLTE4MHYtODhoMTYydi01NGgtMTYydi03MGgxNzR2LTU0aC0yMzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LWZpcmV3YWxsLXp0ZW1mIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTY3LAorCQkJCSJpZCI6IDU3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MzcsCisJCQkJIm5hbWUiOiAiaXQtZmlyZXdhbGwtenRlbWYiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNTMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTY4IDBjLTM3LjcyOCAwLTY4IDMwLjI3Mi02OCA2OHY4ODhjMCAzNy43MjggMzAuMjcyIDY4IDY4IDY4aDg4OGMzNy43MjggMCA2OC0zMC4yNzIgNjgtNjh2LTg4OGMwLTM3LjcyOC0zMC4yNzItNjgtNjgtNjhoLTg4OHpNMjQyIDY0aDEwNHYxMmMtMzYuNzMxIDQwLjE2MS02MCA5My4yODYtNjAgMTUyIDAgMS4zMzMtMC4wMjMgMi42NzMgMCA0aC0yMjJ2LTU2aDE3OHYtMTEyek02OTggNjRoMTAydjExMmgxNjB2NTZoLTE4djE3NmgxOHY0OTBoLTE2MHY2MmgtMTAydi02MmgtMzUydjYyaC0xMDR2LTYyaC0xNzh2LTQ5MGgzMTJjMzcuOTE1IDI4LjgxOSA4NC43MDEgNDYgMTM2IDQ2czk4LjA4NS0xNy4xODEgMTM2LTQ2aDE5MnYtMTc2aC0xMDJjMC4wMjMtMS4zNCAwLTIuNjU1IDAtNCAwLTQ3Ljc2My0xNC42OTQtOTEuNTE3LTQwLTEyOHYtMzZ6TTQxMCA5OGg1NnYxNDhjLTAgMjMuNjI1IDAuNjI1IDM5IDIgNDYgMi4zNzUgMTEuMjUgNy4wNjIgMjEuMTg4IDE2IDI4czIwLjUgMTAgMzYgMTBjMTUuNzUgMCAyOC0zLjU2MiAzNi0xMHMxMi4zNzUtMTQuNjI1IDE0LTI0YzEuNjI1LTkuMzc1IDQtMjQuMjUgNC00NnYtMTUyaDU0djE0NGMtMCAzMy0xIDU2LjM3NS00IDcwcy03LjkzOCAyNC42MjUtMTYgMzRjLTguMDYzIDkuMzc1LTE4LjUgMTYuNDM4LTMyIDIycy0zMi4yNSA4LTU0IDhjLTI2LjI1LTAtNDYuNDM4LTEuOTM3LTYwLThzLTI0LjEyNS0xNC4zMTItMzItMjRjLTcuODc1LTkuNjg3LTExLjUtMTkuMzc1LTE0LTMwLTMuNjI1LTE1Ljc1LTYtMzkuMjUtNi03MHYtMTQ2ek0xMjIgNDk4djU0aDE0OGwtMTQ2IDE4MC0yMiAyOHY1OGgyNjB2LTU0aC0xODJsMTc2LTIxNnYtNTBoLTIzNHpNMzgwIDQ5OHY1NGg5NnYyNjZoNjR2LTI2Nmg5NnYtNTRoLTI1NnpNNjc4IDQ5OHYzMjBoMjQ0di01NGgtMTgwdi04OGgxNjJ2LTU0aC0xNjJ2LTcwaDE3NHYtNTRoLTIzOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZmlyZXdhbGwtenRldXRtIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTY4LAorCQkJCSJpZCI6IDU2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MzgsCisJCQkJIm5hbWUiOiAiaXQtZmlyZXdhbGwtenRldXRtIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjU0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yNjAgMmMtNjUuNjk2IDcuMTQ3LTEzNC4xNDkgNTAuMTEzLTE4NiAxMjItOTQuODE0IDEzMS40NS05OC45NjYgMzE0LjI0LTEwIDQxMCAzNy45MDIgNDAuNzk3IDg3LjMgNTguNjIzIDEzOCA1NnY0MDJjNDIuNjY3IDQ3LjMzMiA4NS4zMzMgNDAuMDU3IDEyOCAwdi00NTZjMjMuMjQ5LTE4LjIwMSA0Ni4zMzktMzguNzQyIDY2LTY2IDk0LjgxNC0xMzEuNDUgMTAwLjk2Ni0zMTYuMjQgMTItNDEyLTMzLjM2Mi0zNS45MS03NS43OC01My45OS0xMjAtNTYtOS4yMTMtMC40MTktMTguNjE1LTEuMDIxLTI4IDB6TTQ4NCA0NmM1NC4xMDMgMTI4LjU2MiA2Ny42NSAyODEuMjYxLTI4IDQxOC0zNC45ODIgNTAuMDA5LTY2LjY3NiA5NC40NDQtMTA0IDEzMGwxMDIgMTJjNjIwLjEwNi0zMC43NzIgNzg0LjI5OC01NTEuMDgyIDI0Mi01MTQtNjguODcgNC43MDktMTcwLjM3OS0xMi4wMzgtMjEyLTQ2ek0yNzAgMTA2YzI4LjU2IDEuMjk4IDU0LjQ1MyAxMi44MDcgNzYgMzYgNTcuNDU5IDYxLjg0NyA1NS4yMzYgMTgxLjEwMi02IDI2NnMtMTU4LjU0MSAxMDMuODQ3LTIxNiA0MmMtNTcuNDU5LTYxLjg0Ny01My4yMzYtMTgxLjEwMiA4LTI2NiAzOC4yNzItNTMuMDYxIDkwLjQtODAuMTYzIDEzOC03OHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtZ2F0aGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTY5LAorCQkJCSJpZCI6IDU1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3MzksCisJCQkJIm5hbWUiOiAiaXQtZ2F0aGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjU1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMjggMGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjkxMiA1Ny4wODggMTI4IDEyOCAxMjhoNzY4YzcwLjkxMiAwIDEyOC01Ny4wODggMTI4LTEyOHYtNzY4YzAtNzAuOTEyLTU3LjA4OC0xMjgtMTI4LTEyOGgtNzY4ek0xNjQgMzUyaDY0djMyMGgtNjR2LTMyMHpNMjkwIDM1MmgxMjhjMjUuMzc1IDAgNDUuNTMxLTAuMTE1IDU4IDJzMjQuMTU2IDcuMjkyIDM0IDE0YzkuODQzIDYuNzA5IDE3LjQzNyAxNC44NDQgMjQgMjZzMTAgMjQuMTQ2IDEwIDM4Yy0wIDE1LjAyMS0zLjkwNyAyOS40NTktMTIgNDJzLTIwLjE0NiAyMS43MjktMzQgMjhjMTkuNTQxIDUuNjg4IDM1LjUgMTYuMjkyIDQ2IDMwczE2IDI5LjQ3OSAxNiA0OGMtMCAxNC41ODMtMy4yMTkgMjguMjE5LTEwIDQycy0xNi4yNjEgMjMuNzYtMjggMzJjLTExLjc0IDguMjQtMjYuNzkyIDE0LjEwNC00NCAxNi0xMC43OTIgMS4xNjctMzYuNzI5IDEuNzA4LTc4IDJoLTExMHYtMzIwek02MTQgMzUyaDEwNGMzOS4zNzUgMCA2Ni4wNDEgMC43OTIgNzggNCAxOC4zNzUgNC44MTMgMzMuNjA0IDE1Ljg4NiA0NiAzMnMxOCAzNi40NzkgMTggNjJjLTAgMTkuNjg4LTIuODU0IDM2LjU4NC0xMCA1MHMtMTYuOTkgMjQuMzQ0LTI4IDMyYy0xMS4wMTEgNy42NTYtMjIuNjI1IDExLjUyMS0zNCAxNC0xNS40NTkgMy4wNjMtMzYuNjg4IDYtNjYgNmgtNDR2MTIwaC02NHYtMzIwek0zNTYgNDA2djc0aDQyYzI1LjIyOSAwIDM5Ljg3NS0xLjI3IDQ2LTIgMTEuMDgzLTEuMzEyIDE5LjY1Ni01LjY1NiAyNi0xMnMxMC0xMy42NDYgMTAtMjRjLTAtOS45MTYtMi41MzEtMTcuODAyLTgtMjRzLTEzLjIwOS0xMC42ODctMjQtMTJjLTYuNDE3LTAuNzI5LTI1LjUyMSAwLTU2IDBoLTM2ek02NzggNDA2djkwaDM2YzI1LjUyMSAwIDQzLjM5Ni0wLjY0NiA1Mi00czE1LjExNC04Ljg1NCAyMC0xNmM0Ljg4NS03LjE0NiA4LTE0LjUyMSA4LTI0LTAtMTEuNjY2LTUuMTQ2LTIyLjQxNi0xMi0zMHMtMTUuNS0xMi4xMDQtMjYtMTRjLTcuNzI5LTEuNDU4LTIyLjY2Ny0yLTQ2LTJoLTMyek0zNTYgNTMydjg2aDYwYzIzLjMzMyAwIDM3LjcyOS0wLjY4NyA0NC0yIDkuNjI1LTEuNzUgMTcuOTQ4LTUuMjE5IDI0LTEyczgtMTYuNjI1IDgtMjhjLTAtOS42MjUtMS4zMzQtMTcuMjkyLTYtMjRzLTExLjE3Ny0xMC45MzctMjAtMTRjLTguODIzLTMuMDYyLTI4LjU0Mi02LTU4LTZoLTUyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1pYnAiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NzAsCisJCQkJImlkIjogNTQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc0MCwKKwkJCQkibmFtZSI6ICJpdC1pYnAiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNTYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEyOCAwYy03MC45MTIgMC0xMjggNTcuMDg4LTEyOCAxMjh2NzY4YzAgNzAuOTEyIDU3LjA4OCAxMjggMTI4IDEyOGg3NjhjNzAuOTEyIDAgMTI4LTU3LjA4OCAxMjgtMTI4di03NjhjMC03MC45MTItNTcuMDg4LTEyOC0xMjgtMTI4aC03Njh6TTE2NCAxNzBoNjR2MzIyaC02NHYtMzIyek0yOTAgMTcwaDEyOGMyNS4zNzUgMCA0NS41MzEgMS44ODYgNTggNHMyNC4xNTYgNy4yOTIgMzQgMTRjOS44NDMgNi43MDkgMTcuNDM3IDE0Ljg0NCAyNCAyNnMxMCAyNC4xNDYgMTAgMzhjLTAgMTUuMDIxLTMuOTA3IDI3LjQ1OS0xMiA0MHMtMjAuMTQ2IDIxLjcyOS0zNCAyOGMxOS41NDEgNS42ODggMzUuNSAxNi4yOTIgNDYgMzBzMTYgMjkuNDc5IDE2IDQ4Yy0wIDE0LjU4My0zLjIxOSAyOC4yMTktMTAgNDJzLTE2LjI2MSAyNS43Ni0yOCAzNGMtMTEuNzQgOC4yNC0yNi43OTIgMTQuMTA0LTQ0IDE2LTEwLjc5MiAxLjE2Ny0zNi43MjkgMS43MDgtNzggMmgtMTEwdi0zMjJ6TTYxNCAxNzBoMTA0YzM5LjM3NSAwIDY2LjA0MSAyLjc5MiA3OCA2IDE4LjM3NSA0LjgxMyAzMy42MDQgMTMuODg2IDQ2IDMwczE4IDM4LjQ3OSAxOCA2NGMtMCAxOS42ODgtMi44NTQgMzQuNTg0LTEwIDQ4cy0xNi45OSAyNC4zNDQtMjggMzJjLTExLjAxMSA3LjY1Ni0yMi42MjUgMTMuNTIxLTM0IDE2LTE1LjQ1OSAzLjA2My0zNi42ODggNC02NiA0aC00NHYxMjJoLTY0di0zMjJ6TTM1NiAyMjR2NzRoNDJjMjUuMjI5IDAgMzkuODc1IDAuNzMgNDYgMCAxMS4wODMtMS4zMTIgMTkuNjU2LTUuNjU2IDI2LTEyczEwLTE1LjY0NiAxMC0yNmMtMC05LjkxNi0yLjUzMS0xNy44MDItOC0yNHMtMTMuMjA5LTguNjg3LTI0LTEwYy02LjQxNy0wLjcyOS0yNS41MjEtMi01Ni0yaC0zNnpNNjc4IDIyNHY5MmgzNmMyNS41MjEgMCA0My4zOTYtMi42NDYgNTItNnMxNS4xMTQtNi44NTQgMjAtMTRjNC44ODUtNy4xNDYgOC0xNi41MjEgOC0yNi0wLTExLjY2Ni01LjE0Ni0yMC40MTYtMTItMjhzLTE1LjUtMTIuMTA0LTI2LTE0Yy03LjcyOS0xLjQ1OC0yMi42NjctNC00Ni00aC0zMnpNMzU2IDM1MnY4Nmg2MGMyMy4zMzMgMCAzNy43MjktMC42ODcgNDQtMiA5LjYyNS0xLjc1IDE3Ljk0OC03LjIxOSAyNC0xNHM4LTE0LjYyNSA4LTI2Yy0wLTkuNjI1LTEuMzM0LTE5LjI5Mi02LTI2cy0xMS4xNzctMTAuOTM3LTIwLTE0Yy04LjgyMy0zLjA2Mi0yOC41NDItNC01OC00aC01MnpNMTk2IDU5OGMyNy4xMjUgMCA0OC41IDcuMzc1IDY0IDIyczI0IDM0LjI1IDI0IDU2Yy0wIDEyLjM3NS0zLjU2MyAyMi44MTMtOCAzNHMtMTAuMzc1IDIzLjc1LTIwIDM2Yy02LjM3NSA4LjEyNS0xNy4zNzUgMTguNzUtMzQgMzRzLTI3LjU2MyAyNS0zMiAzMGMtNC40MzggNS05LjI1IDExLjI1LTEyIDE2aDEwNnY0OGgtMTg2YzItMTguNSA4LTM1LjQzOCAxOC01MnMzMC41LTM4LjYyNSA2MC02NmMyMy43NS0yMi4xMjUgMzguNjI1LTM2LjEyNSA0NC00NCA3LjI1LTEwLjg3NSAxMC0yMy4zNzUgMTAtMzQtMC0xMS43NS0xLjY4OC0xOS42ODctOC0yNnMtMTQuODc1LTEwLTI2LTEwYy0xMSAwLTIxLjUgMy4zNzUtMjggMTBzLTkgMTguNjI1LTEwIDM0bC01Mi02YzMuMTI1LTI5IDExLjUtNDkuMzc1IDI4LTYyczM3LjI1LTIwIDYyLTIwek00MDggNTk4YzI2LjYyNSAwIDQ3IDExIDYyIDMwIDE3Ljg3NSAyMi41IDI4IDU3Ljg3NSAyOCAxMTAtMCA1Mi0xMCA5MS4yNS0yOCAxMTQtMTQuODc1IDE4Ljc1LTM1LjM3NSAyOC02MiAyOC0yNi43NSAwLTQ3LjYyNS0xMS40MzctNjQtMzJzLTI0LTU3LjI1LTI0LTExMGMtMC01MS43NSA4LTg5LjI1IDI2LTExMiAxNC44NzUtMTguNzUgMzUuMzc1LTI4IDYyLTI4ek02MjIgNTk4YzI2LjYyNSAwIDQ3IDExIDYyIDMwIDE3Ljg3NSAyMi41IDI4IDU3Ljg3NSAyOCAxMTAtMCA1Mi0xMCA5MS4yNS0yOCAxMTQtMTQuODc1IDE4Ljc1LTM1LjM3NSAyOC02MiAyOC0yNi43NSAwLTQ3LjYyNS0xMS40MzctNjQtMzJzLTI2LTU3LjI1LTI2LTExMGMtMC01MS43NSAxMC04OS4yNSAyOC0xMTIgMTQuODc1LTE4Ljc1IDM1LjM3NS0yOCA2Mi0yOHpNODM2IDU5OGMyNi42MjUgMCA0NyAxMSA2MiAzMCAxNy44NzUgMjIuNSAyOCA1Ny44NzUgMjggMTEwLTAgNTItMTAgOTEuMjUtMjggMTE0LTE0Ljg3NSAxOC43NS0zNS4zNzUgMjgtNjIgMjgtMjYuNzUgMC00Ny42MjUtMTEuNDM3LTY0LTMycy0yNi01Ny4yNS0yNi0xMTBjMC01MS43NSAxMC04OS4yNSAyOC0xMTIgMTQuODc1LTE4Ljc1IDM1LjM3NS0yOCA2Mi0yOHpNNDA4IDY0MmMtNi4zNzUgMC0xMSAxLjkzNy0xNiA2cy05LjI1IDExLjUtMTIgMjJjLTMuNjI1IDEzLjYyNS02IDM1Ljc1LTYgNjhzMi43NSA1NS45MzggNiA2OGMzLjI1IDEyLjA2MyA3LjA2MiAyMCAxMiAyNHM5LjYyNSA2IDE2IDZjNi4zNzUgMCAxMy0xLjkzNyAxOC02czkuMjUtMTEuNSAxMi0yMmMzLjYyNS0xMy41IDQtMzcuNzUgNC03MHMtMC43NS01My45MzctNC02NmMtMy4yNS0xMi4wNjItNy4wNjMtMTkuOTM3LTEyLTI0cy0xMS42MjUtNS45OTktMTgtNnpNNjIyIDY0MmMtNi4zNzUgMC0xMSAxLjkzNy0xNiA2cy05LjI1IDExLjUtMTIgMjJjLTMuNjI1IDEzLjYyNS02IDM1Ljc1LTYgNjhzMC43NSA1NS45MzggNCA2OGMzLjI1IDEyLjA2MyA5LjA2MiAyMCAxNCAyNHM5LjYyNSA2IDE2IDZjNi4zNzUgMCAxMy0xLjkzNyAxOC02czcuMjUtMTEuNSAxMC0yMmMzLjYyNS0xMy41IDYtMzcuNzUgNi03MHMtMC43NS01My45MzctNC02NmMtMy4yNS0xMi4wNjItNy4wNjMtMTkuOTM3LTEyLTI0cy0xMS42MjUtNS45OTktMTgtNnpNODM2IDY0MmMtNi4zNzUgMC0xMyAxLjkzNy0xOCA2cy03LjI1IDExLjUtMTAgMjJjLTMuNjI1IDEzLjYyNS02IDM1Ljc1LTYgNjhzMC43NSA1NS45MzggNCA2OGMzLjI1IDEyLjA2MyA3LjA2MiAyMCAxMiAyNHMxMS42MjUgNiAxOCA2YzYuMzc1IDAgMTEtMS45MzcgMTYtNnM5LjI1LTExLjUgMTItMjJjMy42MjUtMTMuNSA2LTM3Ljc1IDYtNzBzLTAuNzUtNTMuOTM3LTQtNjZjLTMuMjUtMTIuMDYyLTkuMDYzLTE5LjkzNy0xNC0yNHMtOS42MjUtNS45OTktMTYtNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtaWJwLWlicDIwMDAiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NzEsCisJCQkJImlkIjogNTMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc0MSwKKwkJCQkibmFtZSI6ICJpdC1pYnAtaWJwMjAwMCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI1NworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEyIDBjLTI4Mi43NyAwLTUxMiAyMjkuMjI5LTUxMiA1MTJzMjI5LjIzIDUxMiA1MTIgNTEyYzI4Mi43NyAwIDUxMi0yMjkuMjI5IDUxMi01MTJzLTIyOS4yMy01MTItNTEyLTUxMnpNNDYwIDEwMGMtMC4wMzUgMC42NCAwIDEuMzQ0IDAgMS45ODR2MTQ0aC0xMDZjMTMuNjUzLTQ5LjA2OSAzMi45NjgtOTQuMDgwIDU0LTEzNiAxNi44MjItNC4zNTIgMzQuNDI0LTcuNzg5IDUyLTEwLjAwM3pNNTY0IDEwMGMxNC43OTkgMS44NTYgMjkuNzI3IDQuNjA4IDQ0IDggMjEuNDY0IDQyLjAxMCA0MC4wMDcgODguNjcyIDU0IDEzOC4wMDNoLTk4di0xNDRjMC0wLjY0IDAuMDM1LTEuMzQ0IDAtMS45ODR6TTcyOCAxNTguMDAzYzM4Ljc2NCAyMy43MjUgNzQuOTc1IDUzLjI5MyAxMDQgODhoLTc0Yy04LjY5Mi0zMC41NzMtMTguMzY3LTYwLjE1NC0zMC04OHpNMjg2IDE2NC4wMTljLTEwLjQ5MyAyNi4xNjMtMjAuMDYzIDUzLjUyMy0yOCA4Mi4wMDNoLTY2YzI2LjU2Ni0zMS43NjMgNTkuMTc5LTU5LjMzNCA5NC04Mi4wMDN6TTg5NCAzNDYuMDIyYzE1LjQ4NCAzNS41MiAyNC45NzQgNzQuMTMxIDMwIDExMy45OTdoLTEzNGMtMS4zLTM4LjU3OS00LjI5MS03NS42NDgtMTAtMTEyaDEwMmMzLjY5OSAwIDguNjQzLTAuOTYgMTItMS45ODR6TTEyOCAzNDguMDA2aDExMGMtNS41NTUgMzYuNDE2LTEwLjg2NCA3My4zODktMTIgMTEyaC0xMjZjNC45MS0zOC45MzggMTMuMDk1LTc3LjE4NCAyOC0xMTJ6TTMzMiAzNDguMDA2aDEyOHYxMTJoLTEzOGMxLjEyOS0zOC4zNjIgNC41MzYtNzUuODcyIDEwLTExMnpNNTY0IDM0OC4wMDZoMTIwYzUuNjM3IDM2LjEyMiA4LjcwNiA3My42MDYgMTAgMTEyaC0xMzB2LTExMnpNMTAwIDU2NC4wMDZoMTI4YzMuMTE1IDM4LjkwNiAxMC4zNzEgNzUuNTcxIDE4IDExMmgtMTE4Yy0xNC45MDUtMzQuODE2LTIzLjA5MC03My4wNjItMjgtMTEyek0zMjQgNTY0LjAwNmgxMzZ2MTEyaC0xMjBjLTcuNDgxLTM2LjM0Ni0xMi45NjYtNzMuMTI2LTE2LTExMnpNNTY0IDU2NC4wMDZoMTMwYy0yLjg5NyAzOC4zMDQtOC43ODMgNzYuMTI4LTE2IDExMmgtMTE0di0xMTJ6TTc4OCA1NjQuMDA2aDEzNmMtNC45MSAzOC45MzgtMTMuMDk1IDc3LjE4NC0yOCAxMTJoLTEyNGM3LjMyNC0zNS44MTQgMTMuMDI4LTczLjgyNCAxNi0xMTJ6TTE5NCA3ODAuMDA2aDc4YzEyLjQ5NSAzNi4wMzggMjkuNDI5IDY4LjQ2MSA0NiAxMDAtNDcuMTQzLTI0Ljk1NC04OS43ODgtNTkuNjQyLTEyNC0xMDB6TTM2OCA3ODAuMDA2aDkydjE0NGMtNy44NjgtMC45Ni0xNi4yNzUtMC42NC0yNC0xLjk4NC0yNi41ODctNDIuNTIyLTQ5Ljk0Ny04OS41NDItNjgtMTQyLjAwM3pNNTY0IDc4MC4wMDZoODZjLTE3LjU5NyA1MS42MjItNDAuMTM4IDk5LjkxLTY2IDE0Mi4wMDMtNi40NzMgMS4xNTItMTMuNDI4IDEuMTUyLTIwIDEuOTg0di0xNDR6TTc0NiA3ODAuMDA2aDg0Yy0zNS4xNjkgNDEuNDkxLTc5LjIzMSA3Ni44NTEtMTI4IDEwMi4wMDMgMTYuNjEtMzEuOTIzIDMxLjU1LTY1LjUzNiA0NC0xMDIuMDAzeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1uZXQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NzIsCisJCQkJImlkIjogNTIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc0MiwKKwkJCQkibmFtZSI6ICJpdC1uZXQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNTgKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEzNiAwYy03NS41NSAwLTEzNiA2MC40NS0xMzYgMTM2djc1MmMwIDc1LjU1IDYwLjQ1IDEzNiAxMzYgMTM2aDc1MmM3NS41NSAwIDEzNi02MC40NSAxMzYtMTM2di03NTJjMC03NS41NS02MC40NS0xMzYtMTM2LTEzNmgtNzUyek0yNDggMjMwbDEyNCAzMi0xNDIgNTI4LTEyMi0zMiAxNDAtNTI4ek00NDggMjMyaDEyOHY1NDZoLTEyOHYtNTQ2ek03NzQgMjM0bDE0MiA1MjgtMTI0IDMyLTE0Mi01MjggMTI0LTMyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU3MywKKwkJCQkiaWQiOiA1MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzQzLAorCQkJCSJuYW1lIjogIml0LW90aGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjU5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk04MzIgMGgtNjQwYy0xMDUuOTg0IDAtMTkyIDg1Ljk2OS0xOTIgMTkydjY0MGMwIDEwNi4wMzEgODYuMDE2IDE5MiAxOTIgMTkyaDY0MGMxMDYuMDMxIDAgMTkyLTg1Ljk2OSAxOTItMTkydi02NDBjMC0xMDYuMDMxLTg1Ljk2OS0xOTItMTkyLTE5MnpNNjA3LjY5NyA4NC45OTJjNDQuMTcyIDAgODAuMDEyIDM1Ljg0IDgwLjAxMiA4MC4wMTJzLTM1Ljg0IDgwLjAxMi04MC4wMTIgODAuMDEyYy00NC4yMTggMC04MC4wMTItMzUuODQtODAuMDEyLTgwLjAxMnMzNS43NDctODAuMDEyIDgwLjAxMi04MC4wMTJ6TTM5Mi4zMzIgODQuOTkyYzQ0LjE3MiAwIDgwLjAxMiAzNS44NCA4MC4wMTIgODAuMDEycy0zNS44NCA4MC4wMTItODAuMDEyIDgwLjAxMi04MC4wMTItMzUuODQtODAuMDEyLTgwLjAxMiAzNS44NC04MC4wMTIgODAuMDEyLTgwLjAxMnpNMTc3LjAxMiAyNDUuMDE1Yy00NC4xNzIgMC04MC4wMTItMzUuODQtODAuMDEyLTgwLjAxMnMzNS44NC04MC4wMTIgODAuMDEyLTgwLjAxMiA4MC4wMTIgMzUuODQgODAuMDEyIDgwLjAxMi0zNS44NCA4MC4wMTItODAuMDEyIDgwLjAxMnpNNTc0LjY1IDk0NS45OWwtNDUuMzgyLTExNy45OTNoLTE2Mi44NjNsLTQyLjc3NSAxMTcuOTkzaC01NC42OTFsMTQ5LjU1MS0zODkuNDQ2aDU1LjUyOWwxNTkuMzcyIDM4OS40NDZoLTU4Ljc0ek02MDcuNjk3IDUxMS4wMjNjLTQ0LjIxOCAwLTgwLjAxMi0zNS44NC04MC4wMTItODAuMDEyczM1Ljc5My04MC4wMTIgODAuMDEyLTgwLjAxMmM0NC4xNzIgMCA4MC4wMTIgMzUuODQgODAuMDEyIDgwLjAxMnMtMzUuODQgODAuMDEyLTgwLjAxMiA4MC4wMTJ6TTcxNS4xNzEgOTQ1Ljk5aC00Ny44MDJ2LTM4OS40NDZoNDcuODAydjM4OS40NDZ6TTgyMy4wMTcgNTExLjAyM2MtNDQuMTcyIDAtODAuMDEyLTM1Ljg0LTgwLjAxMi04MC4wMTJzMzUuODQtODAuMDEyIDgwLjAxMi04MC4wMTIgNzkuOTY1IDM1Ljg0IDc5Ljk2NSA4MC4wMTItMzUuNzkzIDgwLjAxMi03OS45NjUgODAuMDEyek04MjMuMDE3IDI0NS4wMTVjLTQ0LjE3MiAwLTgwLjAxMi0zNS44NC04MC4wMTItODAuMDEyczM1Ljg0LTgwLjAxMiA4MC4wMTItODAuMDEyIDc5Ljk2NSAzNS44NCA3OS45NjUgODAuMDEyLTM1Ljc5MyA4MC4wMTItNzkuOTY1IDgwLjAxMnoiLAorCQkJCQkiTTQ0NS4wMjEgNTk3LjUwNGMtNC45MzQgMjQuOTQ4LTExLjk2MiA0OS43NTctMjAuOTQ1IDc0LjM4bC00Mi43NzUgMTE0LjE3NmgxMzIuMDQ5bC00MC42ODEtMTA3Ljc1M2MtMTIuNDI4LTMyLjgxNS0yMS41OTctNTkuODExLTI3LjY0OC04MC44MDN6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWFsdGVvbiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk1LAorCQkJCQkJNQorCQkJCQldCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFsKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NzQsCisJCQkJImlkIjogNTAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc0NCwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1hbHRlb24iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNjAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTgxNi4wMzUgNjIyLjg3MWMtOC42MTEtMi4yODEtMjQuNDM2LTMuMzk4LTQ3LjU2OS0zLjM5OGgtOTguNDl2MTM3LjY4MWg5OS41NjFjMzIuOTU0IDAgNTYuMzItNi4xNDQgNzAuMTkxLTE4LjQzMiAxMy44MjQtMTIuMjQxIDIwLjcxMy0yOS41MSAyMC43MTMtNTEuNzEyIDAtMTYuMTUxLTQuMDQ5LTI5LjkyOS0xMi4xOTUtNDEuNDI1LTguMTkyLTExLjQ1LTE4Ljk0NC0xOS4wMzctMzIuMjA5LTIyLjcxNHoiLAorCQkJCQkiTTgzMiAwaC02NDBjLTEwNS45ODQgMC0xOTIgODUuOTY5LTE5MiAxOTJ2NjQwYzAgMTA1Ljk4NCA4Ni4wMTYgMTkyIDE5MiAxOTJoNjQwLjA0N2MxMDUuOTM3IDAgMTkxLjk1My04Ni4wMTYgMTkxLjk1My0xOTJ2LTY0MGMwLTEwNi4wMzEtODYuMDE2LTE5Mi0xOTItMTkyek04MjMuMDE3IDg0Ljk5MmM0NC4xNzIgMCA4MC4wMTIgMzUuODQgODAuMDEyIDgwLjAxMnMtMzUuODQgODAuMDEyLTgwLjAxMiA4MC4wMTItODAuMDEyLTM1Ljg0LTgwLjAxMi04MC4wMTJjMC00NC4xNzIgMzUuNzkzLTgwLjAxMiA4MC4wMTItODAuMDEyek04MjMuMDE3IDM1MC45OTljNDQuMTcyIDAgODAuMDEyIDM1Ljg0IDgwLjAxMiA4MC4wMTJzLTM1Ljg0IDgwLjAxMi04MC4wMTIgODAuMDEyLTgwLjAxMi0zNS44NC04MC4wMTItODAuMDEyYzAtNDQuMTcyIDM1Ljc5My04MC4wMTIgODAuMDEyLTgwLjAxMnpNNjA3Ljc0NCA4NC45OTJjNDQuMTI1IDAgODAuMDEyIDM1Ljg0IDgwLjAxMiA4MC4wMTJzLTM1Ljg4NyA4MC4wMTItODAuMDEyIDgwLjAxMmMtNDQuMjY1IDAtODAuMDU4LTM1Ljg0LTgwLjA1OC04MC4wMTJzMzUuNzQ3LTgwLjAxMiA4MC4wNTgtODAuMDEyek0zOTIuMzMyIDg0Ljk5MmM0NC4xNzIgMCA4MC4wMTIgMzUuODQgODAuMDEyIDgwLjAxMnMtMzUuODQgODAuMDEyLTgwLjAxMiA4MC4wMTJjLTQ0LjE3MiAwLTgwLjAxMi0zNS44NC04MC4wMTItODAuMDEyczM1Ljg0LTgwLjAxMiA4MC4wMTItODAuMDEyek0xNzcuMDEyIDI0NS4wMTVjLTQ0LjE3MiAwLTgwLjAxMi0zNS44NC04MC4wMTItODAuMDEyczM1Ljg0LTgwLjAxMiA4MC4wMTItODAuMDEyYzQ0LjE3MiAwIDgwLjAxMiAzNS44NCA4MC4wMTIgODAuMDEycy0zNS44NCA4MC4wMTItODAuMDEyIDgwLjAxMnpNNTIwLjE5MiA5NTkuMTYybC00NC45MTYtMTE2LjY0M2gtMTYxLjA5NGwtNDIuMzEgMTE2LjY0M2gtNTQuMTMybDE0Ny45MjEtMzg1LjE2NGg1NC45MjRsMTU3LjY0OSAzODUuMTY0aC01OC4wNDJ6TTUyNy42ODYgNDMxLjAxMWMwLTQ0LjE3MiAzNS43OTMtODAuMDEyIDgwLjA1OC04MC4wMTIgNDQuMTI1IDAgODAuMDEyIDM1Ljg0IDgwLjAxMiA4MC4wMTJzLTM1Ljg4NyA4MC4wMTItODAuMDEyIDgwLjAxMmMtNDQuMzExIDAtODAuMDU4LTM1Ljg0LTgwLjA1OC04MC4wMTJ6TTg4MS43MTEgNzY4LjU1OWMtMjAuODUyIDIyLjY2OC01OC41NTQgMzQuMDI1LTExMy4wMTIgMzQuMDI1aC05OC43Njl2MTU2LjU3OWgtNTEuMDE0di0zODUuMTY0aDE0NS4zMTVjMjUuNTUzIDAgNDUuMTAzIDEuMjEgNTguNjAxIDMuNjc3IDE4Ljg5NyAzLjExOSAzNC43NjkgOS4xMjMgNDcuNTIzIDE4LjAxM3MyMy4wODcgMjEuMjI1IDMwLjg2IDM3LjE5YzcuODIgMTUuOTY1IDExLjY4MyAzMy40NjYgMTEuNjgzIDUyLjU1IDAuMDQ3IDMyLjc2OC0xMC4zMzMgNjAuNDE2LTMxLjE4NSA4My4xM3oiLAorCQkJCQkiTTM5MS45NTkgNjE0LjQ0N2MtNC44ODcgMjQuNzE2LTExLjgyMyA0OS4yNDUtMjAuNzU5IDczLjU4OGwtNDIuMzEgMTEyLjk2NmgxMzAuNjA3bC00MC4yMTUtMTA2LjY4MmMtMTIuMjQxLTMyLjM0OS0yMS4zNjQtNTkuMDIwLTI3LjMyMi03OS44NzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItYXBwZGlyZWN0b3IiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogWworCQkJCQkJNSwKKwkJCQkJCTUsCisJCQkJCQk1CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTQ4LCAyMDYpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNDgsIDIwNikiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE0OCwgMjA2KSIKKwkJCQl9CisJCQldLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTc1LAorCQkJCSJpZCI6IDQ5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NDUsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItYXBwZGlyZWN0b3IiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNjEKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEzNiAwYy03NS41NSAwLTEzNiA2MC40NS0xMzYgMTM2djc1MmMwIDc1LjU1IDYwLjQ1IDEzNiAxMzYgMTM2aDc1MmM3NS41NSAwIDEzNi02MC40NSAxMzYtMTM2di03NTJjMC03NS41NS02MC40NS0xMzYtMTM2LTEzNmgtNzUyek01MTggMjMwaDE4NmMzNi44MzYgMC4wMDEgNjUuODk5IDIuNDkxIDg0IDZzMzMuNzEgMTAuODc1IDQ4IDIyYzE0LjI4OSAxMS4xMjYgMjYuNDczIDI1LjQ5OSAzNiA0NCA5LjUyNiAxOC41MDMgMTQgMzkuMDIzIDE0IDYyLTAgMjQuOTEyLTYuMjUxIDQ3LjItMTggNjhzLTI3Ljg4OSAzNy42LTQ4IDQ4YzI4LjM2NyA5LjQzMyA1MC43NTcgMjUuMjY2IDY2IDQ4czIyIDQ5LjI4NCAyMiA4MGMtMCAyNC4xODYtNC4xNTYgNDcuMTQ1LTE0IDcwcy0yMi45NTkgNDAuMzM1LTQwIDU0Yy0xNy4wNDIgMTMuNjY1LTM5LjAyMCAyMi44NTYtNjQgMjYtMTUuNjY2IDEuOTM2LTUyLjA4OSAzLjUyMS0xMTIgNGgtMTYwdi01MzJ6TTEyNCAyMzRoOTR2NDM4aDIzNHY5MGgtMzI4di01Mjh6TTYxMiAzMTh2MTI0aDYyYzM2LjYyNCAwLjAwMSA1OS4xMDgtMC44MDMgNjgtMiAxNi4wODktMi4xNzUgMjguNzkxLTkuNDc5IDM4LTIwczE0LTI0LjgyOCAxNC00MmMtMC0xNi40NDYtNC4wNjEtMjkuNzItMTItNDAtNy45MzktMTAuMjc4LTE4LjMzNC0xNS44MjMtMzQtMTgtOS4zMTUtMS4yMTEtMzcuNzU1LTItODItMmgtNTR6TTYxMiA1MzB2MTQyaDg4YzMzLjg3MiAwIDU0Ljg5Ny0xLjgyNSA2NC00IDEzLjk3Mi0yLjkgMjUuMjE0LTguNzU0IDM0LTIwczE0LTI3LjEzNSAxNC00NmMtMC0xNS45NjItMy4yMjYtMjguODc0LTEwLTQwLTYuNzc1LTExLjEyNS0xNy4xOTItMTguOTIxLTMwLTI0LTEyLjgwOC01LjA4My00MS4yMzctNy45OTktODQtOGgtNzZ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWF0Y2EtbGIxMCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU3NiwKKwkJCQkiaWQiOiA0OCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzQ2LAorCQkJCSJuYW1lIjogIml0LW90aGVyLWF0Y2EtbGIxMCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI2MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NzUyYzAgNzUuNTUgNjAuNDUgMTM2IDEzNiAxMzZoNzUyYzc1LjU1IDAgMTM2LTYwLjQ1IDEzNi0xMzZ2LTc1MmMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTUyOCAzMzBjMzcuNTQ4IDAuMDAxIDY4LjU1IDEyLjY0NSA5MiAzOCAxMy45NTggMTQuOTkxIDIzLjAyMSAzNy45MzMgMzAgNjZsLTYwIDE2Yy0zLjYyOS0xOC4xNzktMTIuNDg0LTMzLjQ3NS0yNC00NHMtMjUuNTI5LTEzLjk5OS00Mi0xNGMtMjIuNzUyIDAuMDAxLTM5LjgzMiA5LjM0Mi01NCAyOHMtMjIgNDguMjE5LTIyIDkwYy0wIDQ0LjMzMyA4LjA0MSA3NS4xODMgMjIgOTRzMzEuNjY2IDI4IDU0IDI4YzE2LjQ3MSAwIDMwLjEzNS02LjAzOCA0Mi0xOCAxMS44NjQtMTEuOTYgMjAuODM1LTMwLjMyNSAyNi01Nmw2MCAyMmMtOS4yMTMgMzguMjczLTI0LjU3NCA2Ny40MjItNDYgODZzLTQ5LjA1OCAyOC04MiAyOGMtNDAuNzU5IDAtNzMuNzU4LTE2LjE4Ni0xMDAtNDhzLTQwLTc2LjgyMy00MC0xMzJjLTAtNTguMzY2IDEzLjYxOC0xMDMuNzA3IDQwLTEzNnM2MS4wMDgtNDcuOTk5IDEwNC00OHpNODEyIDMzMGMzOC41MjUgMC4wMDEgNjguNTI4IDEwLjcwNCA4OCAzMHMyOS4wMjMgNDMuNzg3IDMwIDc2bC02MiA0Yy0yLjY1My0xOC4wMjAtNy4yNzYtMzAuMTA2LTE2LTM4cy0yMi41NTItMTItNDAtMTJjLTE4LjAwNyAwLTMxLjgxIDMuNTUtNDIgMTItNi41NjEgNS40MjUtMTAgMTIuOTExLTEwIDIyLTAgOC4yOTMgMy44NTkgMTQuMSAxMCAyMCA3LjgxNyA3LjQ5NSAyNS44NSAxNS44NjcgNTYgMjRzNTEuNTUzIDE3LjMwOSA2NiAyNmMxNC40NDcgOC42OTEgMjUuODM0IDIwLjkzIDM0IDM2czE0IDMzLjgzNCAxNCA1NmMtMCAyMC4wOTMtNi4yMyAzOC40NTgtMTYgNTZzLTI0LjEzMyAyOS40NjgtNDIgMzhjLTE3Ljg2NyA4LjUzMi0zOS4zMzkgMTQtNjYgMTQtMzguODA1IDAtNjkuMjAyLTExLjUwOC05MC0zMnMtMzEuOTUyLTQ4Ljc3LTM2LTg4bDYwLThjMy42MjkgMjMuMTI0IDEwLjkwMyA0MS4xNTYgMjIgNTJzMjUuMTU2IDE2IDQ0IDE2YzE5Ljk2IDAgMzUuODgtNC4zNTEgNDYtMTQgMTAuMTItOS42NDcgMTYtMjEuMDgzIDE2LTM0LTAtOC4yOTItMy43NDMtMTYuMTc5LTgtMjJzLTExLjM5Mi0xMS42OTQtMjItMTZjLTcuMjU5LTIuODY2LTI0LjE3Ny02LjY2NC01MC0xNC0zMy4yMjEtOS40MDktNTYuNi0yMi4yODUtNzAtMzYtMTguODQ0LTE5LjI5Ni0yOC00Mi4yNTItMjgtNzAgMC0xNy44NiA1LjEzNi0zNC40NTEgMTQtNTAgOC44NjQtMTUuNTQ4IDIxLjMyLTI3Ljg2NyAzOC0zNnMzNi40MS0xMS45OTkgNjAtMTJ6TTg0IDMzNmg2MnYxOTBjLTAgMzAuMTM5IDIuNDY0IDUxLjA3MCA0IDYwIDIuNjUyIDE0LjM1MiA4LjAyMCAyNS4zMDkgMTggMzRzMjQuNjkxIDEyIDQyIDEyYzE3LjU4NyAwIDI5LjA2Ni0zLjc4NiAzOC0xMiA4LjkzMy04LjIxMyAxNi4xODUtMTguMDQwIDE4LTMwczItMzIuMjUyIDItNjB2LTE5NGg2MnYxODRjLTAgNDIuMS0yLjY1IDcyLjYxOC02IDkwcy04Ljk5NyAzMi4wNDAtMTggNDRjLTkuMDAzIDExLjk2LTIwLjkyNSAyMC45MDQtMzYgMjhzLTMzLjcxMiAxMi01OCAxMmMtMjkuMzEzIDAtNTIuODU1LTQuMjY0LTY4LTEyLTE1LjE0NS03LjczNS0yNy4yMDYtMTcuNjQxLTM2LTMwcy0xMy4yMDgtMjYuNDQ1LTE2LTQwYy00LjA0OC0yMC4wOTMtOC00OC43Ny04LTg4di0xODh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWNpc2NvLXVjcyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU3NywKKwkJCQkiaWQiOiA0NywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzQ3LAorCQkJCSJuYW1lIjogIml0LW90aGVyLWNpc2NvLXVjcyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI2MworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NzUyYzAgNzUuNTUgNjAuNDUgMTM2IDEzNiAxMzZoNzUyYzc1LjU1IDAgMTM2LTYwLjQ1IDEzNi0xMzZ2LTc1MmMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTUyOCAzMzBjMzcuNTQ4IDAuMDAxIDY4LjU1IDEyLjY0NSA5MiAzOCAxMy45NTggMTQuOTkxIDIzLjAyMSAzNy45MzMgMzAgNjZsLTYwIDE2Yy0zLjYyOS0xOC4xNzktMTIuNDg0LTMzLjQ3NS0yNC00NHMtMjUuNTI5LTEzLjk5OS00Mi0xNGMtMjIuNzUyIDAuMDAxLTM5LjgzMiA5LjM0Mi01NCAyOHMtMjIgNDguMjE5LTIyIDkwYy0wIDQ0LjMzMyA4LjA0MSA3NS4xODMgMjIgOTRzMzEuNjY2IDI4IDU0IDI4YzE2LjQ3MSAwIDMwLjEzNS02LjAzOCA0Mi0xOCAxMS44NjQtMTEuOTYgMjAuODM1LTMwLjMyNSAyNi01Nmw2MCAyMmMtOS4yMTMgMzguMjczLTI0LjU3NCA2Ny40MjItNDYgODZzLTQ5LjA1OCAyOC04MiAyOGMtNDAuNzU5IDAtNzMuNzU4LTE2LjE4Ni0xMDAtNDhzLTQwLTc2LjgyMy00MC0xMzJjLTAtNTguMzY2IDEzLjYxOC0xMDMuNzA3IDQwLTEzNnM2MS4wMDgtNDcuOTk5IDEwNC00OHpNODEyIDMzMGMzOC41MjUgMC4wMDEgNjguNTI4IDEwLjcwNCA4OCAzMHMyOS4wMjMgNDMuNzg3IDMwIDc2bC02MiA0Yy0yLjY1My0xOC4wMjAtNy4yNzYtMzAuMTA2LTE2LTM4cy0yMi41NTItMTItNDAtMTJjLTE4LjAwNyAwLTMxLjgxIDMuNTUtNDIgMTItNi41NjEgNS40MjUtMTAgMTIuOTExLTEwIDIyLTAgOC4yOTMgMS44NTkgMTQuMSA4IDIwIDcuODE3IDcuNDk1IDI3Ljg1IDE1Ljg2NyA1OCAyNHM1MS41NTMgMTcuMzA5IDY2IDI2YzE0LjQ0NyA4LjY5MSAyNS44MzQgMjAuOTMgMzQgMzZzMTIgMzMuODM0IDEyIDU2Yy0wIDIwLjA5My00LjIzIDM4LjQ1OC0xNCA1NnMtMjQuMTMzIDI5LjQ2OC00MiAzOGMtMTcuODY3IDguNTMyLTM5LjMzOSAxNC02NiAxNC0zOC44MDUgMC02OS4yMDItMTEuNTA4LTkwLTMycy0zMS45NTItNDguNzctMzYtODhsNjAtOGMzLjYyOSAyMy4xMjQgMTAuOTAzIDQxLjE1NiAyMiA1MnMyNS4xNTYgMTYgNDQgMTZjMTkuOTYgMCAzNS44OC00LjM1MSA0Ni0xNCAxMC4xMi05LjY0NyAxNC0yMS4wODMgMTQtMzQtMC04LjI5Mi0xLjc0My0xNi4xNzktNi0yMnMtMTEuMzkyLTExLjY5NC0yMi0xNmMtNy4yNTktMi44NjYtMjQuMTc3LTYuNjY0LTUwLTE0LTMzLjIyMS05LjQwOS01Ni42LTIyLjI4NS03MC0zNi0xOC44NDQtMTkuMjk2LTI4LTQyLjI1Mi0yOC03MCAwLTE3Ljg2IDUuMTM3LTM0LjQ1MSAxNC01MCA4Ljg2NC0xNS41NDggMjEuMzItMjcuODY3IDM4LTM2czM2LjQxLTExLjk5OSA2MC0xMnpNODYgMzM2aDExMmMyNS41NDQgMC4wMDEgNDQuNiAzLjUzMyA1OCA4IDE4LjAwNiA2LjA2MSAzNS4xNTggMTYuNTMyIDQ4IDMyczIxLjMgMzMuNTk1IDI4IDU2YzYuNyAyMi40MDUgMTAgNTEuMTQ5IDEwIDg0LTAgMjguODY0LTMuNzE5IDUzLjEwOS0xMCA3NC03LjY3NyAyNS41MTUtMTcuNzYzIDQ2LjIxMi0zMiA2Mi0xMC43NDggMTEuOTYtMjUuNzE1IDIxLjMwMi00NCAyOC0xMy42NzkgNC45NDYtMzEuMTA4IDgtNTQgOGgtMTE2di0zNTJ6TTE0OCAzOTZ2MjMyaDQ2YzE3LjMwOCAwIDI4LjMyMy0xLjc3IDM2LTQgMTAuMDUwLTIuODczIDE5LjM3LTcuMTQyIDI2LTE0czExLjgxMi0xOC4yOTIgMTYtMzRjNC4xODctMTUuNzA4IDYtMzYuODkgNi02NHMtMS44MTMtNDcuNDg4LTYtNjJjLTQuMTg4LTE0LjUxMi0xMC40NjMtMjUuODY2LTE4LTM0cy0xNi40MTUtMTMuMTI5LTI4LTE2Yy04LjY1NC0yLjIzLTI2LjczNS00LTUyLTRoLTI2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1kY3MiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1NzgsCisJCQkJImlkIjogNDYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc0OCwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1kY3MiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNjQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEzNiAwYy03NS41NSAwLTEzNiA2MC40NS0xMzYgMTM2djc1MmMwIDc1LjU1IDYwLjQ1IDEzNiAxMzYgMTM2aDc1MmM3NS41NSAwIDEzNi02MC40NSAxMzYtMTM2di03NTJjMC03NS41NS02MC40NS0xMzYtMTM2LTEzNmgtNzUyek04OCAzMzZoMTEyYzI1LjU0NCAwLjAwMSA0Ni42IDMuNTMzIDYwIDggMTguMDA2IDYuMDYxIDMzLjE1OCAxNi41MzIgNDYgMzJzMjEuMyAzMy41OTUgMjggNTZjNi43IDIyLjQwNSAxMCA1MS4xNDkgMTAgODQtMCAyOC44NjQtMS43MTkgNTMuMTA5LTggNzQtNy42NzcgMjUuNTE1LTE5Ljc2MyA0Ni4yMTItMzQgNjItMTAuNzQ4IDExLjk2LTI1LjcxNSAyMS4zMDItNDQgMjgtMTMuNjc5IDQuOTQ2LTMxLjEwOCA4LTU0IDhoLTExNnYtMzUyek03NDggMzM2aDY2bDEyMiAzNTJoLTY2bC0yOC04MGgtMTIybC0yNiA4MGgtNjZsMTIwLTM1MnpNNDAwIDM0MGg2MnYyODhoMTU0djYwaC0yMTZ2LTM0OHpNMTUwIDM5NnYyMzJoNDZjMTcuMzA4IDAgMzAuMzIzLTEuNzcgMzgtNCAxMC4wNTAtMi44NzMgMTcuMzctNy4xNDIgMjQtMTRzMTEuODEyLTE4LjI5MiAxNi0zNGM0LjE4Ny0xNS43MDggNi0zNi44OSA2LTY0cy0xLjgxMy00Ny40ODgtNi02MmMtNC4xODgtMTQuNTEyLTEwLjQ2My0yNS44NjYtMTgtMzRzLTE2LjQxNS0xMy4xMjktMjgtMTZjLTguNjU0LTIuMjMtMjQuNzM1LTQtNTAtNGgtMjh6TTc4MCA0MThsLTQyIDEzMGg4NGwtNDItMTMweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1kZWx0YSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU3OSwKKwkJCQkiaWQiOiA0NSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzQ5LAorCQkJCSJuYW1lIjogIml0LW90aGVyLWRlbHRhIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjY1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk03OTkuNjUxIDM4Mi44MzZjLTkuMTIzLTIuNDItMjYuMTU5LTMuNjc3LTUwLjkyMS0zLjY3N2gtMTA1LjQ3MnYxNDcuMzYzaDEwNi41ODljMzUuMjgxIDAgNjAuMjc2LTYuNTYzIDc1LjEyNC0xOS42ODkgMTQuNzA4LTEzLjEyNiAyMi4yOTUtMzEuNjA0IDIyLjI5NS01NS4zODkgMC0xNy4yNjgtNC40MjItMzIuMDIzLTEzLjEyNi00NC4zMTEtOC43OTctMTIuMjQxLTIwLjI5NC0yMC4zNC0zNC40OS0yNC4yOTd6IiwKKwkJCQkJIk04ODcuOTk0IDBoLTc1MS45ODhjLTc1LjU5IDAtMTM2LjAwNiA2MC40MTYtMTM2LjAwNiAxMzYuMDA2djc1MS45ODhjMCA3NS41NDMgNjAuNDE2IDEzNi4wMDYgMTM2LjAwNiAxMzYuMDA2aDc1MS45ODhjNzUuNTQzIDAgMTM2LjAwNi02MC40NjMgMTM2LjAwNi0xMzYuMDA2di03NTEuOTg4YzAtNzUuNTktNjAuNDYzLTEzNi4wMDYtMTM2LjAwNi0xMzYuMDA2ek00NDUuMDIxIDYxNy43MDVjLTcuMzA4IDI0LjIwNC0xNi42NjMgNDQuMTcyLTI4LjExMyA2MC4wNDQtMTEuNDUgMTUuOTE5LTIzLjk3MSAyOC4zLTM3LjU2MiAzNy40MjNzLTMwLjAyMiAxNi4wMTItNDkuMTk5IDIwLjY2NmMtMTkuMjIzIDQuNjU1LTQxLjI4NiA3LjAyOC02Ni4yMzQgNy4wMjhoLTE0OC43NTl2LTQxMi4zNDZoMTQyLjAxMGMzMi4wNzAgMCA1Ni41MDYgMS45NTUgNzMuNDAyIDUuOTExIDIzLjU5OSA1LjQ0NiA0My43NTMgMTUuMzEzIDYwLjQ2MyAyOS41NTYgMjEuNzM3IDE4LjMzOSAzNy45ODEgNDEuODQ0IDQ4LjgyNiA3MC40MjMgMTAuNzUyIDI4LjU3OSAxNi4xNTEgNjEuMjU0IDE2LjE1MSA5OC4wMjUtMC4wNDcgMzEuMjc5LTMuNjc3IDU5LjA2Ni0xMC45ODUgODMuMjd6TTg2OS45ODEgNTM4LjgxYy0yMi4zNDIgMjQuMjk3LTYyLjY1IDM2LjQ0NS0xMjEuMDE4IDM2LjQ0NWgtMTA1LjcwNXYxNjcuNjFoLTU0LjU1MXYtNDEyLjM0NmgxNTUuNTU1YzI3LjM2OSAwIDQ4LjIyMSAxLjMwMyA2Mi43NDMgMy45NTYgMjAuMjk0IDMuMzUxIDM3LjE0MyA5Ljc3NSA1MC44NzQgMTkuMjcgMTMuNjM4IDkuNDk1IDI0Ljc2MiAyMi43MTQgMzMuMDAxIDM5Ljc1IDguNDI1IDE3LjA4MiAxMi42MTQgMzUuODQgMTIuNjE0IDU2LjIyNyAwIDM1LjE0Mi0xMS4yMTcgNjQuNzkxLTMzLjUxMyA4OS4wODh6IiwKKwkJCQkJIk0zMjYuODg5IDM4Ny42MzFjLTE0LjYxNS01LjYzMi0zOC4xNjctOC40NzEtNzAuNjA5LTguNDcxaC04Ni41NzV2MzE1LjAyMGg4OC4wNjRjMjcuMTgzIDAgNDguNS0yLjU2IDY0LTcuNTQgMTUuNDUzLTUuMTIgMjcuNzg4LTEyLjI4OCAzNi45NTctMjEuMzY0IDEyLjk0LTEyLjk4NiAyMi45OTMtMzAuMzk0IDMwLjIwOC01Mi4yMjQgNy4yMTUtMjEuNzgzIDEwLjg0NS00OC4zMTQgMTAuODQ1LTc5LjQwNyAwLTQzLjE0OC03LjA3NS03Ni4yODgtMjEuMjI1LTk5LjQ2OC0xNC4xOTYtMjMuMTMzLTMxLjQxOC0zOC42NzktNTEuNjY1LTQ2LjU0NXoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5NiwgMTQwLCAxOTMpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTYsIDE0MCwgMTkzKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk2LCAxNDAsIDE5MykiCisJCQkJCX0KKwkJCQldLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1kcCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk0LAorCQkJCQkJNCwKKwkJCQkJCTQKKwkJCQkJXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTYsIDE0MCwgMTkzKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk2LCAxNDAsIDE5MykiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5NiwgMTQwLCAxOTMpIgorCQkJCX0KKwkJCV0sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1ODAsCisJCQkJImlkIjogNDQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc1MCwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1kcCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI2NgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNzQzLjkzNiAwaC00NzEuNDU5Yy0xNTIuNjIzIDAtMjc2LjI5NCAxMjQuOTc1LTI3Ni4yOTQgMjc5LjEzM3Y0NjUuNzM0YzAgMTU0LjE1OSAxMjMuNjcxIDI3OS4xMzMgMjc2LjI5NCAyNzkuMTMzaDQ3MS41MDVjMTUyLjUyOSAwIDI3Ni4yNDctMTI1LjAyMSAyNzYuMjQ3LTI3OS4xMzN2LTQ2NS43MzRjLTAuMDQ3LTE1NC4xNTktMTIzLjcxOC0yNzkuMTMzLTI3Ni4yOTQtMjc5LjEzM3pNMjM0LjE3IDc3Ny4xMjNjLTguNjU3IDI1LjA4OC0yMS41MDQgNDQuMTcyLTM4LjU0IDU3LjI5Ny0xNy4wODIgMTMuMDc5LTM3LjA1MCAxOS42NDItNjAuMDQ0IDE5LjY0Mi0yNC4zNDMgMC00NC4yNjUtNy4xNjgtNTkuNjcxLTIxLjU5Ny0xNS40NTMtMTQuMzgzLTI0LjcxNi0zNC41ODMtMjcuODM0LTYwLjY5NWwzNi43NzEtMy41ODRjMy4xMTkgMTguMzg1IDkuMDMwIDMxLjc0NCAxNy44MjcgMzkuOTgzIDguNzUxIDguMjg1IDIwLjAxNSAxMi40MjggMzMuNzkyIDEyLjQyOCAxMS43MjkgMCAyMi4wNjMtMi44ODYgMzAuOTA2LTguNjExIDguODQ0LTUuNjc5IDE2LjEwNS0xMy4zNTkgMjEuNzgzLTIyLjkgNS42NzktOS41ODggMTAuNDI2LTIyLjQ4MSAxNC4yNDMtMzguNzcyczUuNzI1LTMyLjg2MSA1LjcyNS00OS43MTFjMC0xLjgxNS0wLjA0Ny00LjUxNS0wLjE4Ni04LjE0NS03LjY4IDEyLjk0LTE4LjEwNiAyMy40NTktMzEuMzI1IDMxLjU1OC0xMy4yMTkgOC4wNTItMjcuNTU1IDEyLjEwMi00My4wMDggMTIuMTAyLTI1Ljc4NiAwLTQ3LjU2OS05Ljk2MS02NS40NDMtMjkuODgyLTE3LjgyNy0xOS44NzUtMjYuNzY0LTQ2LjA4MC0yNi43NjQtNzguNjE1IDAtMzMuNjA2IDkuMzA5LTYwLjY0OSAyNy45MjctODEuMTI5czQxLjkzNy0zMC43MiA3MC4wMDQtMzAuNzJjMjAuMjQ3IDAgMzguNzcyIDUuODE4IDU1LjUyOSAxNy40MDggMTYuNzU2IDExLjYzNiAyOS41MSAyOC4xNiAzOC4yMTQgNDkuNjE3IDguNzUxIDIxLjQ1NyAxMy4wNzkgNTIuNTUgMTMuMDc5IDkzLjIzMS0wIDQyLjM1Ni00LjMyOSA3Ni4wMDktMTIuOTg2IDEwMS4wOTd6TTQwMi45OTEgOTIuNDg2aDIxNC4wNjN2NDAuNDAxaC0xNzQuODcxdjEwNC44MmgxNjMuNzQ3djQwLjE2OWgtMTYzLjc0N3YxMTYuNTAzaDE4MS43NnY0MC40MDFoLTIyMC45NTF2LTM0Mi4yOTV6TTQ3Ni4xMTMgNzc5LjE3MWMtNy40OTQgMjMuODc4LTE4LjcxMSA0Mi4zNTYtMzMuNjUyIDU1LjM0My0xNC45NDEgMTMuMDMzLTMzLjgzOSAxOS41NDktNTYuNTk5IDE5LjU0OS0zMC4wMjIgMC01My42Mi0xMS40NS03MC43NDktMzQuMzA0LTIwLjUyNy0yNy42MDEtMzAuODEzLTcyLjUxOC0zMC44MTMtMTM0Ljc0OSAwLTM5LjE5MSAzLjgxNy03MC43MDMgMTEuMzU3LTk0LjU4IDcuNTg3LTIzLjg3OCAxOC44NTEtNDIuMjYzIDMzLjc5Mi01NS4yNDkgMTQuOTQxLTEyLjk0IDMzLjc0NS0xOS40MDkgNTYuNDEzLTE5LjQwOSAxNi43MSAwIDMxLjM3MiAzLjU4NCA0My45ODUgMTAuNzA1IDEyLjYxNCA3LjE2OCAyMi45OTMgMTcuNTAxIDMxLjE4NSAzMC45NTMgOC4yMzkgMTMuNDk4IDE0LjY2MiAyOS45MjkgMTkuMzYzIDQ5LjI5MnM2Ljk4MiA0NS40NzUgNi45ODIgNzguMzM2YzAgMzguODY1LTMuNzcgNzAuMjg0LTExLjI2NCA5NC4xMTV6TTcxOC4wNTcgNzc5LjE3MWMtNy40OTQgMjMuODc4LTE4LjcxMSA0Mi4zNTYtMzMuNjk5IDU1LjM0My0xNC44OTUgMTMuMDMzLTMzLjgzOSAxOS41NDktNTYuNTk5IDE5LjU0OS0zMC4wNjggMC01My41NzQtMTEuNDUtNzAuNzQ5LTM0LjMwNC0yMC41MjctMjcuNjAxLTMwLjgxMy03Mi41MTgtMzAuODEzLTEzNC43NDkgMC0zOS4xOTEgMy44MTctNzAuNzAzIDExLjM1Ny05NC41OCA3LjU4Ny0yMy44NzggMTguODUxLTQyLjI2MyAzMy43OTItNTUuMjQ5IDE0Ljk0MS0xMi45NCAzMy43NDUtMTkuNDA5IDU2LjQxMy0xOS40MDkgMTYuNzEgMCAzMS4zNzIgMy41ODQgNDMuOTM5IDEwLjcwNSAxMi42MTQgNy4xNjggMjMuMDQwIDE3LjUwMSAzMS4yMzIgMzAuOTUzIDguMjM5IDEzLjQ5OCAxNC42NjIgMjkuOTI5IDE5LjMxNiA0OS4yOTIgNC43MDEgMTkuMzYzIDcuMDI4IDQ1LjQ3NSA3LjAyOCA3OC4zMzYgMC4wNDcgMzguODY1LTMuNzI0IDcwLjI4NC0xMS4yMTcgOTQuMTE1ek05NjAgNzc5LjE3MWMtNy40OTQgMjMuODc4LTE4LjcxMSA0Mi4zNTYtMzMuNjk5IDU1LjM0My0xNC44OTUgMTMuMDMzLTMzLjgzOSAxOS41NDktNTYuNTk5IDE5LjU0OS0zMC4wNjggMC01My41NzQtMTEuNDUtNzAuNzQ5LTM0LjMwNC0yMC41MjctMjcuNjAxLTMwLjgxMy03Mi41MTgtMzAuODEzLTEzNC43NDkgMC0zOS4xOTEgMy44MTctNzAuNzAzIDExLjM1Ny05NC41OCA3LjU4Ny0yMy44NzggMTguODUxLTQyLjI2MyAzMy43OTItNTUuMjQ5IDE0Ljk0MS0xMi45NCAzMy43NDUtMTkuNDA5IDU2LjQxMy0xOS40MDkgMTYuNzEgMCAzMS4zNzIgMy41ODQgNDMuOTM5IDEwLjcwNSAxMi42MTQgNy4xNjggMjMuMDQwIDE3LjUwMSAzMS4yMzIgMzAuOTUzIDguMjM5IDEzLjQ5OCAxNC42NjIgMjkuOTI5IDE5LjMxNiA0OS4yOTIgNC43MDEgMTkuMzYzIDcuMDI4IDQ1LjQ3NSA3LjAyOCA3OC4zMzYgMC4wNDcgMzguODY1LTMuNzI0IDcwLjI4NC0xMS4yMTcgOTQuMTE1eiIsCisJCQkJCSJNNjI3LjM4NiA1NDkuNDY5Yy0xNy41OTQgMC0zMS42MDQgNy45MTMtNDIuMDc3IDIzLjczOC0xMy4xMjYgMjAuMjAxLTE5LjczNSA1Ny40MzctMTkuNzM1IDExMS44NDlzNS45NTggOTAuNTc3IDE3Ljk2NyAxMDguNTkxYzExLjk2MiAxOC4wMTMgMjYuNzE3IDI2Ljk5NiA0NC4yNjUgMjYuOTk2czMyLjMwMy04Ljk4MyA0NC4yNjUtMjcuMDg5YzEyLjAwOS0xOC4xMDYgMTcuOTY3LTU0LjI3MiAxNy45NjctMTA4LjQ5NyAwLTU0LjU1MS01Ljk1OC05MC43NjQtMTcuOTY3LTEwOC43My0xMS45NjItMTcuOTItMjYuOTAzLTI2Ljg1Ny00NC42ODQtMjYuODU3eiIsCisJCQkJCSJNMzg1LjM5NiA1NDkuNDY5Yy0xNy41NDggMC0zMS41NTggNy45MTMtNDIuMDMxIDIzLjczOC0xMy4xNzIgMjAuMjAxLTE5Ljc4MiA1Ny40MzctMTkuNzgyIDExMS44NDlzNi4wMDQgOTAuNTc3IDE3Ljk2NyAxMDguNTkxYzExLjk2MiAxOC4wMTMgMjYuNzE3IDI2Ljk5NiA0NC4zMTEgMjYuOTk2IDE3LjU0OCAwIDMyLjMwMy04Ljk4MyA0NC4zMTEtMjcuMDg5IDExLjk2Mi0xOC4xMDYgMTcuOTItNTQuMjcyIDE3LjkyLTEwOC40OTcgMC01NC41NTEtNS45NTgtOTAuNzY0LTE3LjkyLTEwOC43My0xMi4wMDktMTcuOTItMjYuOTAzLTI2Ljg1Ny00NC43NzctMjYuODU3eiIsCisJCQkJCSJNODY5LjMyOSA1NDkuNDY5Yy0xNy41OTQgMC0zMS42MDQgNy45MTMtNDIuMDc3IDIzLjczOC0xMy4xMjYgMjAuMjAxLTE5LjczNSA1Ny40MzctMTkuNzM1IDExMS44NDlzNS45NTggOTAuNTc3IDE3Ljk2NyAxMDguNTkxYzExLjk2MiAxOC4wMTMgMjYuNzE3IDI2Ljk5NiA0NC4yNjUgMjYuOTk2czMyLjMwMy04Ljk4MyA0NC4yNjUtMjcuMDg5YzEyLjAwOS0xOC4xMDYgMTcuOTY3LTU0LjI3MiAxNy45NjctMTA4LjQ5NyAwLTU0LjU1MS01Ljk1OC05MC43NjQtMTcuOTY3LTEwOC43My0xMS45NjItMTcuOTItMjYuODU3LTI2Ljg1Ny00NC42ODQtMjYuODU3eiIsCisJCQkJCSJNMTQ0Ljk4OSA1NDkuNDY5Yy0xNi45ODkgMC0zMS43OTEgNy4zNTQtNDQuNDA0IDIyLjE1Ni0xMi42MTQgMTQuNzU1LTE4Ljg5NyAzMy45MzItMTguODk3IDU3LjM5MSAwIDIxLjA4NSA2LjAwNCAzOC4yMTQgMTcuOTY3IDUxLjM4NnMyNi43MTcgMTkuNzgyIDQ0LjMxMSAxOS43ODJjMTcuNjg3IDAgMzIuMjU2LTYuNjA5IDQzLjY2LTE5Ljc4MnMxNy4wODItMzEuNDY1IDE3LjA4Mi01NC44MzFjMC0yMy4zMTktNS44MTgtNDEuODQ0LTE3LjUwMS01NS41NzUtMTEuNzI5LTEzLjY4NC0yNS44MzMtMjAuNTI3LTQyLjIxNy0yMC41Mjd6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWU5MDAwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFsKKwkJCQkJCTcsCisJCQkJCQk3LAorCQkJCQkJNywKKwkJCQkJCTcsCisJCQkJCQk3CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYigxMDAsIDE1NSwgMjMwKSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDEwMCwgMTU1LCAyMzApIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoMTAwLCAxNTUsIDIzMCkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU4MSwKKwkJCQkiaWQiOiA0MywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzUxLAorCQkJCSJuYW1lIjogIml0LW90aGVyLWU5MDAwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjY3CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMzYgMGMtNzUuNTUgMC0xMzYgNjAuNDUtMTM2IDEzNnY3NTJjMCA3NS41NSA2MC40NSAxMzYgMTM2IDEzNmg3NTJjNzUuNTUgMCAxMzYtNjAuNDUgMTM2LTEzNnYtNzUyYzAtNzUuNTUtNjAuNDUtMTM2LTEzNi0xMzZoLTc1MnpNMjAwIDI2OGgyODh2ODJoLTIwMnYxMTJoMTc0djgyaC0xNzR2MjA0aC04NnYtNDgwek01OTIgMjc0aDIxMnY4NmgtMTUwbC0xNCA4MmMxNy45MjktMTAuMjQxIDM3LjMwOC0xNiA1Ni0xNiAzNS42NjcgMCA2NS4yMDQgMTYuMzY1IDkwIDQ2IDI0Ljc5NSAyOS42MzYgMzggNjYuNzE0IDM4IDExNC0wIDM5LjQ0MS05Ljk3MyA3NS4wNTctMzAgMTA2LTI3LjI3NSA0Mi4yNzQtNjUuNTU0IDY0LTExNCA2NC0zOC43MTkgMC02OS41ODYtMTIuMjQ4LTk0LTM2cy0zOS4yMzItNTUuOTA1LTQ0LTk2bDgwLTEwYzIuMjg5IDIwLjcwMSA4Ljc0NyAzNy45MDYgMjAgNTBzMjMuMzEzIDE4IDM4IDE4YzE2Ljc4NCAwIDMyLjM2NS04LjQyIDQ0LTI0czE2LTM4LjYyMiAxNi03MGMtMC0yOS40MTctNC40NjEtNTEuMjkxLTE2LTY2cy0yNy40OTktMjItNDYtMjJjLTIzLjA3OSAwLTQzLjY5IDEyLjY4NC02MiAzNmwtNjQtMTIgNDAtMjUweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1mNWJpZ2lwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTgyLAorCQkJCSJpZCI6IDQyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NTIsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItZjViaWdpcCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI2OAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTE0IDBjLTYzLjgxMiAwLTExNCA0Ny41NDYtMTE0IDEwOHY2MDJjMCA1My41NzkgNDAuNDU2IDk4LjY2NCA5NCAxMDh2LTU5MGMwLTY0LjA3NyA1My43MTYtMTE0IDEyMC0xMTRoNjUwdi02YzAtNjAuNDU0LTUwLjE4OC0xMDgtMTE0LTEwOHoiLAorCQkJCQkiTTI3My44NjggMjA5LjYzMmMtNjMuODEyIDAtMTE0Ljg2OSA0OC4zNzgtMTE0Ljg2OSAxMDguODMydjYwMS43NzljMCA2MC40NTQgNTEuMDU3IDEwOC44MzIgMTE0Ljg2OSAxMDguODMyaDYzNS4xNmM2My44MTIgMCAxMTQuODY5LTQ4LjM3OCAxMTQuODY5LTEwOC44MzJ2LTYwMS43NzljMC02MC40NTQtNTEuMDU3LTEwOC44MzItMTE0Ljg2OS0xMDguODMyaC02MzUuMTZ6TTMyNy45MjQgNDI0LjA5NmgyNDMuMjUzdjY1LjYxOWgtMTcwLjYxNXY4OS42MjZoMTQ2Ljk2NXY2NS42MTloLTE0Ni45NjV2MTYzLjI1MWgtNzIuNjM4di0zODQuMTE1ek02NTkuMDE4IDQyOC44OTZoMTc5LjA2MXY2OC44MTloLTEyNi42OTRsLTExLjgyNSA2NS42MTljMTUuMTQzLTguMTkyIDMxLjUxMS0xMi44IDQ3LjI5OS0xMi44IDMwLjEyNSAwIDU1LjA3NCAxMy4wOTQgNzYuMDE3IDM2LjgxMyAyMC45NDMgMjMuNzEyIDMyLjA5NiA1My4zODIgMzIuMDk2IDkxLjIyNi0wIDMxLjU1OC04LjQyNCA2MC4wNjQtMjUuMzM5IDg0LjgyNi0yMy4wMzcgMzMuODI0LTU1LjM2OSA1MS4yMTMtOTYuMjg4IDUxLjIxMy0zMi43MDMgMC01OC43NzUtOS43OTgtNzkuMzk1LTI4LjgwNnMtMzMuMTM2LTQ0Ljc0Mi0zNy4xNjQtNzYuODI2bDY3LjU3LThjMS45MzMgMTYuNTYzIDcuMzg4IDMwLjMzIDE2Ljg5MyA0MC4wMTMgOS41MDUgOS42NzcgMTkuNjkxIDE0LjQgMzIuMDk2IDE0LjQgMTQuMTc3IDAgMjcuMzM2LTYuNzM5IDM3LjE2NC0xOS4yMDZzMTMuNTE0LTMwLjkwNiAxMy41MTQtNTYuMDEzYy0wLTIzLjUzOS0zLjc2OC00MS4wNDMtMTMuNTE0LTUyLjgxOS05Ljc0Ny0xMS43Ny0yMy4yMjYtMTcuNi0zOC44NTMtMTcuNi0xOS40OTMgMC0zNi45MDIgMTAuMTUtNTIuMzY3IDI4LjgwNmwtNTQuMDU2LTkuNjA2IDMzLjc4NS0yMDAuMDU4eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1mNWJpZ2lwMiIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU4MywKKwkJCQkiaWQiOiA0MSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzUzLAorCQkJCSJuYW1lIjogIml0LW90aGVyLWY1YmlnaXAyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjY5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMzYgMGMtNzUuNTUgMC0xMzYgNjAuNDUtMTM2IDEzNnY3NTJjMCA3NS41NSA2MC40NSAxMzYgMTM2IDEzNmg3NTJjNzUuNTUgMCAxMzYtNjAuNDUgMTM2LTEzNnYtNzUyYzAtNzUuNTUtNjAuNDUtMTM2LTEzNi0xMzZoLTc1MnpNMjMwIDE1OGMzNi45NjkgMCA2NS4yMTMgNi40OTUgODYgMjJzMzQuMDQxIDM2LjY0NiA0MCA2NGwtNjAgMTJjLTQuMTk4LTE0LjYyNS0xMi40MjItMjUuNTM2LTI0LTM0cy0yNC42NjctMTQtNDItMTRjLTI2LjI3MSAwLTQ4LjQ5NSA5LjM0NC02NCAyNnMtMjIgNDEuMjI5LTIyIDc0Yy0wIDM1LjM0NCA4LjI5MiA2Mi4zMjggMjQgODBzMzQuNTQyIDI2IDYwIDI2YzEyLjU5NCAwIDI1LjMzOC0zLjA1NyAzOC04czI0LjkyNy0xMC45NTggMzQtMTh2LTM4aC03MHYtNTBoMTMwdjExOGMtMTIuNTk0IDEyLjE4OC0zMC4wOTkgMjQuNzI0LTU0IDM0cy00OS40OSAxNC03NCAxNGMtMzEuMTQ2IDAtNTYuODQ0LTYuOTMyLTgwLTIwcy00MC4zNTQtMzEuNjkzLTUyLTU2Yy0xMS42NDYtMjQuMzA3LTE4LTUxLjQyNy0xOC04MC0wLTMxLjAxMCA3LTU3Ljg5NiAyMC04MnMzMC45NDgtNDMuMTM1IDU2LTU2YzE5LjA5NC05Ljg4NSA0My41NjItMTQgNzItMTR6TTQxNiAxNjJoMTE4YzIzLjU2MiAwIDQyLjQyMiAyLjAzNyA1NCA0czIwLjg1OSA1Ljc3MSAzMCAxMmM5LjE0IDYuMjI5IDE3LjkwNiAxMy42NDEgMjQgMjRzOCAyMy4xMzYgOCAzNmMtMCAxMy45NDgtMi40ODUgMjYuMzU0LTEwIDM4cy0xOS4xMzYgMjAuMTc3LTMyIDI2YzE4LjE0NiA1LjI4MSAzMi4yNSAxMy4yNzEgNDIgMjZzMTQgMjguODAyIDE0IDQ2Yy0wIDEzLjU0Mi0xLjcwNCAyNy4yMDMtOCA0MHMtMTUuMDk5IDIyLjM0OS0yNiAzMGMtMTAuOTAxIDcuNjUxLTI0LjAyMSAxMi4yNC00MCAxNC0xMC4wMjEgMS4wODMtMzUuNjc3IDEuNzI5LTc0IDJoLTEwMHYtMjk4ek03MTYgMTYyaDIyMHY1MGgtMTYwdjY2aDE1MHY1MGgtMTUwdjgyaDE2NnY1MGgtMjI2di0yOTh6TTQ3NiAyMTJ2NjhoNDBjMjMuNDI3IDAgMzYuMzEyIDAuNjc3IDQyIDAgMTAuMjkxLTEuMjE5IDE4LjEwOS02LjEwOSAyNC0xMnMxMC0xMi4zODUgMTAtMjJjLTAtOS4yMDgtMi45MjItMTYuMjQ1LTgtMjJzLTExLjk3OS0xMC43ODEtMjItMTJjLTUuOTU5LTAuNjc3LTIzLjY5OCAwLTUyIDBoLTM0ek00NzYgMzMwdjgwaDU2YzIxLjY2NiAwIDM0LjE3Ny0wLjc4MSA0MC0yIDguOTM3LTEuNjI1IDE2LjM4LTUuNzAzIDIyLTEyczgtMTUuNDM3IDgtMjZjLTAtOC45MzctMS42NjctMTUuNzcxLTYtMjJzLTkuODA3LTExLjE1Ni0xOC0xNGMtOC4xOTMtMi44NDQtMjYuNjQ2LTQtNTQtNGgtNDh6TTY1MiA1NzZjMzkuMjI5IDAgNzEuNSAxMi44MTMgOTYgMzYgMTQuNTgzIDEzLjcwOSAyNC43MDggMzIuMzM0IDMyIDU4bC02NCAxNmMtMy43OTItMTYuNjI1LTExLjk2OS0zMC4zNzUtMjQtNDBzLTI2Ljc5Mi0xNC00NC0xNGMtMjMuNzcxIDAtNDMuMTk4IDguOTM4LTU4IDI2cy0yMiA0My43OTItMjIgODJjLTAgNDAuNTQyIDcuNDE3IDY4Ljc5MiAyMiA4NnMzNC42NjcgMjYgNTggMjZjMTcuMjA4IDAgMzEuNjA0LTUuMDYyIDQ0LTE2czIwLjYwNC0yOC41MjEgMjYtNTJsNjQgMjBjLTkuNjI1IDM1LTI1LjYxNSA2MS4wMTAtNDggNzhzLTUxLjU4NCAyNi04NiAyNmMtNDIuNTgzIDAtNzYuNTgzLTE0LjkwNi0xMDQtNDRzLTQyLTY3LjU0Mi00Mi0xMThjLTAtNTMuMzc1IDE0LjQzNy05Ni40NjggNDItMTI2czYzLjA4My00NCAxMDgtNDR6TTM1NiA1ODBjMzEuNjQ2IDAgNTUuOTE2IDguOTM4IDc0IDI2czI4IDM4LjYyNSAyOCA2NGMtMCAxNC40MzgtMi44MjMgMjYuOTQ4LTggNDBzLTEyLjc3MSAyNy43MDgtMjQgNDJjLTcuNDM4IDkuNDc5LTIwLjYwNCAyMi4yMDgtNDAgNDBzLTMyLjgyMyAzMC4xNjctMzggMzZjLTUuMTc3IDUuODM0LTguNzkyIDEyLjQ1OC0xMiAxOGgxMjJ2NTZoLTIxNmMyLjMzMy0yMS41ODMgMTAuMzMzLTQwLjY3NyAyMi02MHMzMy41ODMtNDYuMDYyIDY4LTc4YzI3LjcwOC0yNS44MTIgNDUuNzI5LTQyLjgxMiA1Mi01MiA4LjQ1OC0xMi42ODcgMTItMjUuNjA0IDEyLTM4LTAtMTMuNzA4LTIuNjM2LTI0LjYzNS0xMC0zMnMtMTkuMDIxLTEwLTMyLTEwYy0xMi44MzMgMC0yMi40MTcgNC4yNzEtMzAgMTJzLTEwLjgzMyAyMC4wNjMtMTIgMzhsLTYyLTZjMy42NDYtMzMuODMzIDE0Ljc1LTU5LjI3MSAzNC03NHM0My4xMjUtMjIgNzItMjJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWdiZTJjIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTg0LAorCQkJCSJpZCI6IDQwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NTQsCisJCQkJIm5hbWUiOiAiaXQtb3RoZXItZ2JlMmMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNzAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg4OCAwaC03NTJjLTc1LjU4NCAwLTEzNiA2MC40MTYtMTM2IDEzNnY3NTJjMCA3NS42NDggNjAuNDE2IDEzNiAxMzYgMTM2aDc1MmM3NS42NDggMCAxMzYtNjAuMzUyIDEzNi0xMzZ2LTc1MmMwLTc1LjU4NC02MC4zNTItMTM2LTEzNi0xMzZ6TTM2Ni4xNDQgNjU0LjRoLTQyLjQzMnYtMTUxLjE2OGgtMTY2LjcydjE1MS4xMDRoLTQyLjQzMnYtMzIwLjY0aDQyLjQzMnYxMzEuNzEyaDE2Ni42NTZ2LTEzMS43MTJoNDIuNDMydjMyMC43MDR6TTYwMC40NDggNjMwLjg0OGMtMjAuNDE2IDE5LjUyLTQ2LjI3MiAyOS4yNDgtNzcuNDQgMjkuMjQ4LTI4LjA5NiAwLTUxLjUyLTguMzg0LTcwLjE0NC0yNS4yMTYtMTguNTYtMTYuNzY4LTI5LjE4NC0zOC40NjQtMzEuODA4LTY1LjE1MmwzOS4zNi01LjI0OGM0LjQ4IDIyLjMzNiAxMi4xNiAzOC40IDIzLjA0MCA0OC4yNTYgMTAuODggOS43OTIgMjQuMTI4IDE0LjcyIDM5Ljc0NCAxNC43MiAxOC40OTYgMCAzNC4xMTItNi40IDQ2Ljg0OC0xOS4yNjRzMTkuMTM2LTI4LjczNiAxOS4xMzYtNDcuNjhjMC0xOC4xMTItNS44ODgtMzMuMDI0LTE3LjY2NC00NC43MzZzLTI2Ljc1Mi0xNy41MzYtNDQuOTkyLTE3LjUzNmMtNy40MjQgMC0xNi43MDQgMS40NzItMjcuNzc2IDQuMzUybDQuMzUyLTM0LjU2YzIuNjI0IDAuMjU2IDQuNzM2IDAuNDQ4IDYuMzM2IDAuNDQ4IDE2Ljc2OCAwIDMxLjg3Mi00LjM1MiA0NS4zMTItMTMuMTIgMTMuMzc2LTguNzY4IDIwLjA5Ni0yMi4yNzIgMjAuMDk2LTQwLjQ0OCAwLTE0LjQ2NC00LjkyOC0yNi40MzItMTQuNjU2LTM1LjkwNHMtMjIuNC0xNC4yMDgtMzcuODI0LTE0LjIwOGMtMTUuMzYgMC0yOC4wOTYgNC44LTM4LjMzNiAxNC40NjRzLTE2LjcwNCAyNC0xOS42NDggNDMuMjY0bC0zOS4zNi02Ljk3NmM0LjgtMjYuNDMyIDE1Ljc0NC00Ni44NDggMzIuNzY4LTYxLjM3NiAxNy4wODgtMTQuNTI4IDM4LjMzNi0yMS43NiA2My42OC0yMS43NiAxNy40NzIgMCAzMy41MzYgMy43NzYgNDguMzIgMTEuMjY0IDE0LjcyIDcuNDg4IDI1Ljk4NCAxNy43MjggMzMuNzkyIDMwLjcyczExLjcxMiAyNi43NTIgMTEuNzEyIDQxLjM0NGMwIDEzLjgyNC0zLjcxMiAyNi40OTYtMTEuMiAzNy44MjQtNy4zNiAxMS4zOTItMTguNDMyIDIwLjQxNi0zMi45NiAyNy4xMzYgMTguOTQ0IDQuNDE2IDMzLjY2NCAxMy41MDQgNDQuMTYgMjcuMjY0czE1Ljc0NCAzMC45NzYgMTUuNzQ0IDUxLjcxMmMwIDI4LjAzMi0xMC4xNzYgNTEuNzc2LTMwLjU5MiA3MS4xNjh6TTkwOS4xODQgNjMyLjQ0OGMtMjMuMTA0IDE4LjMwNC01MS4zOTIgMjcuNDU2LTg0LjggMjcuNDU2LTM0LjQ5NiAwLTYyLjY1Ni02Ljk3Ni04NC4yODgtMjEuMTItMjEuNjMyLTE0LjA4MC0zOC4xNDQtMzQuNDMyLTQ5LjQwOC02MS4xMnMtMTYuOTYtNTUuMzYtMTYuOTYtODUuOTUyYzAtMzMuNDA4IDYuNC02Mi41MjggMTkuMTM2LTg3LjQyNCAxMi43MzYtMjQuODMyIDMwLjkxMi00My43NzYgNTQuNTI4LTU2LjY0IDIzLjU1Mi0xMi45MjggNDkuNDA4LTE5LjM5MiA3Ny43Ni0xOS4zOTIgMzIuMDY0IDAgNTkuMDcyIDguMTI4IDgwLjk2IDI0LjUxMnMzNy4xMiAzOS4yOTYgNDUuNzYgNjguOTI4bC00MS43OTIgOS44NTZjLTcuNDI0LTIzLjM2LTE4LjI0LTQwLjMyLTMyLjM4NC01MC45NDRzLTMxLjkzNi0xNi01My4zNzYtMTZjLTI0LjY0IDAtNDUuMjQ4IDUuODg4LTYxLjgyNCAxNy43MjhzLTI4LjE2IDI3LjY0OC0zNC44OCA0Ny42MTZjLTYuNjU2IDE5LjkwNC0xMC4wNDggNDAuMzg0LTEwLjA0OCA2MS41NjggMCAyNy4yNjQgNC4wMzIgNTEuMDcyIDExLjk2OCA3MS40MjQgNy45MzYgMjAuMjg4IDIwLjI4OCAzNS41MiAzNy4wNTYgNDUuNjMyIDE2Ljc2OCA5Ljk4NCAzNC45NDQgMTUuMDQwIDU0LjQ2NCAxNS4wNDAgMjMuODA4IDAgNDMuOTY4LTYuNzg0IDYwLjM1Mi0yMC41NDQgMTYuNTEyLTEzLjc2IDI3LjcxMi0zNC4wNDggMzMuNDcyLTYxLjA1Nmw0Mi40MzIgMTAuNjg4Yy05LjAyNCAzNC44MTYtMjUuMDI0IDYxLjQ0LTQ4LjEyOCA3OS43NDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLWgzYyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU4NSwKKwkJCQkiaWQiOiAzOSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzU1LAorCQkJCSJuYW1lIjogIml0LW90aGVyLWgzYyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI3MQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NDEwaDEwMjR2LTQxMGMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTIyOCAxMzRoNjR2MTI4aDEyOHYtMTI4aDY0djMyMmgtNjR2LTE0MGgtMTI4djE0MGgtNjR2LTMyMnpNNTUwIDEzNGgxMDRjMzkuMzc1IDAgNjYuMDQxIDIuNzkyIDc4IDYgMTguMzc1IDQuODEzIDMzLjYwNCAxNS44ODYgNDYgMzJzMTggMzYuNDc5IDE4IDYyYy0wIDE5LjY4OC0yLjg1NCAzNi41ODQtMTAgNTBzLTE2Ljk5IDIyLjM0NC0yOCAzMGMtMTEuMDExIDcuNjU2LTIwLjYyNSAxMy41MjEtMzIgMTYtMTUuNDU5IDMuMDYzLTM4LjY4OCA0LTY4IDRoLTQydjEyMmgtNjZ2LTMyMnpNNjE2IDE5MHY5MGgzNmMyNS41MjEgMCA0MS4zOTYtMC42NDYgNTAtNHMxNS4xMTQtOC44NTQgMjAtMTZjNC44ODUtNy4xNDYgOC0xNi41MjEgOC0yNi0wLTExLjY2Ni0zLjE0Ni0yMC40MTYtMTAtMjhzLTE1LjUtMTIuMTA0LTI2LTE0Yy03LjcyOS0xLjQ1OC0yNC42NjctMi00OC0yaC0zMHpNNzgyIDU5OGMtMzkuOTYyIDAtNzEuNDc4IDEwLjE5Ny05NiAzMnMtMzggNTIuNTkyLTM4IDkyYzAgMzcuMjU0IDEzLjYwOCA2Ni41MiAzOCA4OHM1NC4xMTQgMzIgOTIgMzJjMzAuNjIgMCA1Ni4wODQtNS40NTYgNzYtMThzMzMuNDM2LTMyLjE1OSA0Mi01OGwtNTQtMTRjLTQuODAxIDE3LjMzNS0xMi45NzIgMjkuOTI1LTI0IDM4cy0yNC42OSAxMi00MCAxMmMtMjAuNzYgMC0zNy4wMjUtNy4yOTUtNTAtMjBzLTIwLTMyLjA2Ny0yMC02MmMtMC0yOC4yMSA2LjgzMS00OS40MDIgMjAtNjJzMzAuODUxLTIwIDUyLTIwYzE1LjMxIDAgMjcuMjk2IDQuODk0IDM4IDEyczE4LjYyNiAxNS43MjYgMjIgMjhsNTYtMTBjLTYuNDg4LTE4Ljk1LTE3LjAyNi0zMy44NzktMzAtNDQtMjEuNzk4LTE3LjEyLTQ5LjA5OC0yNi04NC0yNnpNMTI4IDYwMnYyMzZoOTZjMzYuNzE4LTAuMjE4IDYwLjM5OSAwLjg2MSA3MCAwIDE1LjMxLTEuNCAyNy41NTUtNS45MTcgMzgtMTJzMTcuOTY2LTEzLjgyNSAyNC0yNGM2LjAzMy0xMC4xNzUgMTAtMjEuMjMzIDEwLTMyLTAtMTMuNjc0LTQuNjU4LTI1Ljg3OS0xNC0zNnMtMjIuNjE0LTE1LjgwMS00MC0yMGMxMi4zMjYtNC42MyAyMi43OTktMTIuNzQgMzAtMjJzMTAtMTguOTEgMTAtMzBjLTAtMTAuMjI5LTIuMTYyLTE5Ljc2My04LTI4cy0xMy4yNDItMTUuMDQ3LTIyLTIwYy04Ljc1OC00Ljk1My0xOC45MDctOC40MzktMzAtMTBzLTI3LjQyNC0yLTUwLTJoLTExNHpNNDE2IDYwNHYyMzRoMjAydi00MGgtMTQ0di0xOTRoLTU4ek0xODQgNjQyaDM0YzI3LjExNyAwIDQyLjI5MS0wLjUzOCA0OCAwIDkuNjAxIDAuOTcgMTcuMTM0IDMuNDI0IDIyIDhzOCAxMC42NzkgOCAxOGMtMCA3LjY0NS0yLjM1NiAxMy4zMTctOCAxOHMtMTQuMTM5IDkuMDMxLTI0IDEwYy01LjQ1IDAuNTM4LTE5LjU1NCAwLTQyIDBoLTM4di01NHpNMTg0IDczNmg0OGMyNi4yMDkgMCA0Mi4xNSAxLjczOSA1MCA0czEzLjg0OCA1LjA0NyAxOCAxMGM0LjE1MiA0Ljk1MyA2IDEwLjg5NCA2IDE4LTAgOC4zOTgtMi42MTYgMTQuOTk0LTggMjBzLTExLjQzNyA4LjcwOC0yMCAxMGMtNS41NzkgMC45Ny0xOS4yNDEgMC00MCAwaC01NHYtNjJ6TTAgODg2djJjMCA3NS41NSA2MC40NSAxMzYgMTM2IDEzNmg3NTJjNzUuNTUgMCAxMzYtNjAuNDUgMTM2LTEzNnYtMmgtMTAyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItaHBibGMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1ODYsCisJCQkJImlkIjogMzgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc1NiwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1ocGJsYyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI3MgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NzUyYzAgNzUuNTUgNjAuNDUgMTM2IDEzNiAxMzZoNzUyYzc1LjU1IDAgMTM2LTYwLjQ1IDEzNi0xMzZ2LTc1MmMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTEwOCAzNTJoNjR2MzIwaC02NHYtMzIwek0yMzIgMzUyaDk4bDU4IDIxOCA1OC0yMThoOTZ2MzIwaC02MHYtMjUybC02NCAyNTJoLTYybC02Mi0yNTJ2MjUyaC02MnYtMzIwek02MDYgMzUyaDk4bDU4IDIxOCA1OC0yMThoOTZ2MzIwaC02MHYtMjUybC02NCAyNTJoLTYybC02NC0yNTJ2MjUyaC02MHYtMzIweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci1pbW0iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1ODcsCisJCQkJImlkIjogMzcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc1NywKKwkJCQkibmFtZSI6ICJpdC1vdGhlci1pbW0iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNzMKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg4Ny45OTQgMGgtNzUxLjk4OGMtNzUuNTkgMC0xMzYuMDA2IDYwLjQxNi0xMzYuMDA2IDEzNi4wMDZ2NzUxLjk4OGMwIDc1LjU0MyA2MC40MTYgMTM2LjAwNiAxMzYuMDA2IDEzNi4wMDZoNzUxLjk4OGM3NS41NDMgMCAxMzYuMDA2LTYwLjQ2MyAxMzYuMDA2LTEzNi4wMDZ2LTc1MS45ODhjMC03NS41OS02MC40NjMtMTM2LjAwNi0xMzYuMDA2LTEzNi4wMDZ6TTQwNS45MjMgNjg4LjQ1NGMtMTIuNTY3IDE5LjM2My0zMC42MjcgMzQuNDktNTQuMTc5IDQ1LjI0Mi0yMy41MDUgMTAuNzk5LTQ5Ljk5IDE2LjE5OC03OS40NTMgMTYuMTk4LTM3LjMyOSAwLTY4LjYwOC01LjM5OS05My44MzYtMTYuMzM3LTI1LjIyOC0xMC44NDUtNDUuMDA5LTI3LjE4My01OS4yOTktNDkuMDU5LTE0LjM4My0yMS44NzYtMjEuOTIzLTQ2LjU0NS0yMi42NjgtNzQuMTQ3bDUxLjQzMy00LjUxNWMyLjQ2NyAyMC42MiA4LjA5OSAzNy42MDkgMTYuOTg5IDUwLjc4MSA4Ljg5IDEzLjIxOSAyMi43NjEgMjMuOTI0IDQxLjUxOSAzMi4wMjMgMTguNzU4IDguMTkyIDM5Ljg0MyAxMi4yODggNjMuMzAyIDEyLjI4OCAyMC44MDYgMCAzOS4xOTEtMy4wNzIgNTUuMTEtOS4zMDkgMTUuOTE5LTYuMTQ0IDI3Ljc4OC0xNC42MTUgMzUuNjA3LTI1LjQ2IDcuNzczLTEwLjcwNSAxMS42MzYtMjIuNTI4IDExLjYzNi0zNS4zMjggMC0xMi44NDctMy43Ny0yNC4yMDQtMTEuMjY0LTMzLjg4NS03LjQ5NC05LjYzNS0xOS44NzUtMTcuNzM0LTM3LjA5Ny0yNC4yOTctMTEuMDc4LTQuMzI5LTM1LjU2MS0xMC45ODUtNzMuNDAyLTIwLjE1NC0zNy44ODgtOS4wMzAtNjQuNDE5LTE3LjY4Ny03OS41OTMtMjUuNjkzLTE5LjY4OS0xMC4zOC0zNC4zOTctMjMuMTMzLTQ0LjAzMi0zOC40NDctOS42MzUtMTUuMjY3LTE0LjQ3Ni0zMi4zNDktMTQuNDc2LTUxLjI5MyAwLTIwLjgwNiA1LjkxMS00MC4yNjIgMTcuNjg3LTU4LjM2OCAxMS44MjMtMTguMDYwIDI5LjA5MS0zMS44MzcgNTEuNzU5LTQxLjE5MyAyMi44MDctOS4zMDkgNDguMDM1LTE0LjAxMCA3NS43NzYtMTQuMDEwIDMwLjU4IDAgNTcuNTMgNC45MzQgODAuODQ5IDE0Ljc1NSAyMy4zNjYgOS44NjggNDEuMjg2IDI0LjM0MyA1My44NTMgNDMuNDczczE5LjMxNiA0MC43NzQgMjAuMjQ3IDY0Ljk3N2wtNTIuMzE3IDMuOTU2Yy0yLjgzOS0yNi4wNjUtMTIuMzM1LTQ1Ljc1NC0yOC41NzktNTkuMDY2LTE2LjE5OC0xMy4zNTktNDAuMTIyLTIwLjAxNS03MS44Mi0yMC4wMTUtMzMuMDAxIDAtNTcuMDY1IDYuMDUxLTcyLjE0NSAxOC4xNTNzLTIyLjYyMSAyNi42NzEtMjIuNjIxIDQzLjc1M2MwIDE0LjgwMSA1LjM1MyAyNi45OTYgMTYuMDEyIDM2LjUzOCAxMC41MTkgOS41ODggMzcuODg4IDE5LjQwOSA4Mi4yOTIgMjkuNDE3IDQ0LjMxMSAxMC4wNTQgNzQuNzUyIDE4Ljg1MSA5MS4yMjkgMjYuMjk4IDI0LjAxNyAxMC45ODUgNDEuNzA1IDI1LjA4OCA1My4xNTUgNDEuOTg0IDExLjQ1IDE2Ljk4OSAxNy4xMjkgMzYuNTM4IDE3LjEyOSA1OC42NDcgMC4wNDcgMjIuMDE2LTYuMjM3IDQyLjYzNi0xOC44MDQgNjIuMDkyek04NjIuMTE1IDY4OC40NTRjLTEyLjYxNCAxOS4zNjMtMzAuNjI3IDM0LjQ5LTU0LjEzMiA0NS4yNDItMjMuNjQ1IDEwLjc5OS01MC4xMjkgMTYuMTk4LTc5LjUgMTYuMTk4LTM3LjM3NiAwLTY4LjY1NS01LjM5OS05My43ODktMTYuMzM3LTI1LjIyOC0xMC44NDUtNDUuMDA5LTI3LjE4My01OS4zNDUtNDkuMDU5cy0yMS44NzYtNDYuNTQ1LTIyLjYyMS03NC4xNDdsNTEuNTI2LTQuNTE1YzIuMzc0IDIwLjYyIDguMDA2IDM3LjYwOSAxNi45ODkgNTAuNzgxIDguODQ0IDEzLjIxOSAyMi41NzUgMjMuOTI0IDQxLjQ3MiAzMi4wMjMgMTguNjE4IDguMTkyIDM5Ljc1IDEyLjI4OCA2My4yNTUgMTIuMjg4IDIwLjcxMyAwIDM5LjE0NS0zLjA3MiA1NS4xNTYtOS4zMDkgMTUuODcyLTYuMTQ0IDI3Ljc0MS0xNC42MTUgMzUuNTE0LTI1LjQ2IDcuODY2LTEwLjcwNSAxMS43MjktMjIuNTI4IDExLjcyOS0zNS4zMjggMC0xMi44NDctMy43MjQtMjQuMjA0LTExLjIxNy0zMy44ODUtNy40OTQtOS42MzUtMTkuODc1LTE3LjczNC0zNy4xNDMtMjQuMjk3LTExLjEyNC00LjMyOS0zNS42NTQtMTAuOTg1LTczLjM1Ni0yMC4xNTQtMzcuOTgxLTkuMDMwLTY0LjUxMi0xNy42ODctNzkuNjM5LTI1LjY5My0xOS43MzUtMTAuMzgtMzQuMzUxLTIzLjEzMy00My45ODUtMzguNDQ3LTkuNzI4LTE1LjI2Ny0xNC41MjItMzIuMzQ5LTE0LjUyMi01MS4yOTMgMC0yMC44MDYgNS44NjUtNDAuMjYyIDE3Ljc4LTU4LjM2OCAxMS43MjktMTguMDYwIDI4Ljk5OC0zMS44MzcgNTEuNzEyLTQxLjE5MyAyMi42MjEtOS40MDIgNDcuODQ5LTE0LjA1NyA3NS42MzYtMTQuMDU3IDMwLjQ4NyAwIDU3LjQ4NCA0LjkzNCA4MC44NDkgMTQuNzU1IDIzLjIyNiA5Ljg2OCA0MS4yMzkgMjQuMzQzIDUzLjg1MyA0My40NzMgMTIuNTIxIDE5LjEzIDE5LjI3IDQwLjc3NCAyMC4yOTQgNjQuOTc3bC01Mi4zNjQgMy45NTZjLTIuNzkzLTI2LjA2NS0xMi40MjgtNDUuNzU0LTI4LjUzMi01OS4wNjYtMTYuMjQ0LTEzLjMxMi00MC4yMTUtMTkuOTY4LTcxLjg2Ni0xOS45NjgtMzMuMDAxIDAtNTcuMTU4IDYuMDUxLTcyLjE0NSAxOC4xNTMtMTUuMDgxIDEyLjA1NS0yMi41NzUgMjYuNjcxLTIyLjU3NSA0My43MDYgMCAxNC44MDEgNS4yMTMgMjYuOTk2IDE2LjAxMiAzNi41MzggMTAuNTE5IDkuNTg4IDM3Ljg0MSAxOS40MDkgODIuMjQ2IDI5LjQxNyA0NC4zNTggMTAuMDU0IDc0Ljc1MiAxOC44NTEgOTEuMjc2IDI2LjI5OCAyNC4wMTcgMTAuOTg1IDQxLjcwNSAyNS4wODggNTMuMTA4IDQxLjk4NCAxMS41NDMgMTYuOTg5IDE3LjI2OCAzNi41MzggMTcuMjY4IDU4LjY0Ny0wLjA0NyAyMi4wNjMtNi40MjMgNDIuNjgyLTE4Ljk0NCA2Mi4xMzh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTksIDE0NywgMjA1KSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LW90aGVyLXNlY3NpcyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk2CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk5LCAxNDcsIDIwNSkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU4OCwKKwkJCQkiaWQiOiAzNiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzU4LAorCQkJCSJuYW1lIjogIml0LW90aGVyLXNlY3NpcyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI3NAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMTM2IDBjLTc1LjU1IDAtMTM2IDYwLjQ1LTEzNiAxMzZ2NzUyYzAgNzUuNTUgNjAuNDUgMTM2IDEzNiAxMzZoNzUyYzc1LjU1IDAgMTM2LTYwLjQ1IDEzNi0xMzZ2LTc1MmMwLTc1LjU1LTYwLjQ1LTEzNi0xMzYtMTM2aC03NTJ6TTcxNCAzMTZjNDYuNTc3IDAgODQuOTExIDE0LjYxIDExNCA0MiAxNy4zMTUgMTYuMTk0IDMxLjM0MiAzNy42ODEgNDAgNjhsLTc2IDIwYy00LjUwMi0xOS42MzgtMTUuNzE2LTM2LjYzLTMwLTQ4cy0zMS41NjktMTYtNTItMTZjLTI4LjIyMyAwLTUwLjQyNiA5Ljg0NS02OCAzMHMtMjYgNTIuODY2LTI2IDk4Yy0wIDQ3Ljg5MSA4LjY4NSA4MS42NzIgMjYgMTAyczQwLjI5NiAzMCA2OCAzMGMyMC40MzEgMCAzNy4yODItNS4wODAgNTItMThzMjUuNTkzLTM0LjI2NSAzMi02Mmw3NCAyNGMtMTEuNDI4IDQxLjM0NS0yOS40MjIgNzEuOTMxLTU2IDkycy02MS4xMzcgMzAtMTAyIDMwYy01MC41NiAwLTkxLjQ0OC0xNy42MzItMTI0LTUycy01MC04MC4zOTUtNTAtMTQwYy0wLTYzLjA1MCAxNy4yNzUtMTEzLjExNSA1MC0xNDhzNzQuNjctNTIgMTI4LTUyek0xNTYgMzIyaDg0bDk2IDI4MCA5Mi0yODBoODJsLTEzNiAzODBoLTgybC0xMzYtMzgweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci12YyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU4OSwKKwkJCQkiaWQiOiAzNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzU5LAorCQkJCSJuYW1lIjogIml0LW90aGVyLXZjIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjc1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMzYgMGMtNzUuNTUgMC0xMzYgNjAuNDUtMTM2IDEzNnY0MTBoMTAyNHYtNDEwYzAtNzUuNTUtNjAuNDUtMTM2LTEzNi0xMzZoLTc1MnpNMTIyIDE0NmgyMzR2NTBsLTE3NiAyMThoMTgydjU0aC0yNjB2LTYwbDE2OC0yMDhoLTE0OHYtNTR6TTM4MCAxNDZoMjU2djU0aC05NnYyNjhoLTY0di0yNjhoLTk2di01NHpNNjc4IDE0NmgyMzh2NTRoLTE3NHY3MmgxNjJ2NTRoLTE2MnY4OGgxODB2NTRoLTI0NHYtMzIyek03OCA2MDZ2MjQ0aDU2di05MmgzNmMyNS4xMjUgMCA0NC43NS0xLjY2NSA1OC00IDkuNzUtMS44OSAxOC41NjItNC4xNjIgMjgtMTBzMTcuODc1LTEzLjc3MSAyNC0yNGM2LjEyNS0xMC4yMjkgMTAtMjIuOTkgMTAtMzgtMC0xOS40NTgtNS4zNzUtMzUuNzE0LTE2LTQ4cy0yNC4yNS0yMC4zMzEtNDAtMjRjLTEwLjI1LTIuNDQ2LTMyLjI1LTQtNjYtNGgtOTB6TTMwOCA2MDZsNjYgMjQ0aDYwbDU2LTE4MiA1NCAxODJoNThsNjgtMjQ0aC01NmwtNDIgMTcwLTQ4LTE3MGgtNjZsLTUwIDE2OC00Mi0xNjhoLTU4ek02OTggNjA2djI0NGg1NnYtMTAyaDEwYzEyLjc1IDAgMjIuMTI1IDIuMTY2IDI4IDRzMTIuNzUgNS4wNTIgMTggMTBjNS4yNSA0Ljk0OCAxMy43NSAxNi45ODcgMjggMzZsNDAgNTJoNjhsLTM0LTQ4Yy0xMy4yNS0xOS4wMTMtMjQuMTg4LTMwLjU1LTMyLTM4cy0xOC0xNS43NzMtMzAtMjJjMjQuMTI1LTMuMTEzIDQxLjg3NS0xMC4wNDcgNTQtMjJzMTgtMjcuNjU0IDE4LTQ2Yy0wLTE0LjQ1NC00LTI2Ljc3LTEyLTM4cy0xOC42ODgtMTkuNjA4LTMyLTI0Yy0xMy4zMTMtNC4zOTItMzQuNjI1LTYtNjQtNmgtMTE2ek0xMzQgNjQ4aDI4YzIwIDAgMzMuMzc1LTEuMTEyIDQwIDAgOSAxLjQ0NiAxNi4xMjUgNi4yMTkgMjIgMTJzOCAxMy4xMDUgOCAyMmMtMCA3LjIyNy0xLjgxMyAxMi41NTItNiAxOHMtMTAuNjI1IDkuNDQyLTE4IDEyYy03LjM3NSAyLjU1Ny0yMi4xMjUgNC00NCA0aC0zMHYtNjh6TTc1NCA2NDhoNDJjMjIuNSAwLjAwMSAzNy41LTAuNTU3IDQyIDAgOSAxLjMzNCAxNS4wNjMgNC45NDEgMjAgMTBzOCAxMS43NzIgOCAyMGMwIDcuMzM4LTIuMjUgMTMuMTA4LTYgMThzLTkuMzc1IDcuOTk4LTE2IDEwYy02LjYyNSAyLjAwMS0yMy4zNzUgNC01MCA0aC00MHYtNjJ6TTAgODg2djJjMCA3NS41NSA2MC40NSAxMzYgMTM2IDEzNmg3NTJjNzUuNTUgMCAxMzYtNjAuNDUgMTM2LTEzNnYtMmgtMTAyNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItenRlcG93ZXIiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTAsCisJCQkJImlkIjogMzQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2MCwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci16dGVwb3dlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI3NgorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEwLjAxNiAwbC01MTAuMDE2IDEyOGMzOC42ODIgMzgxLjA0My0zNC44ODMgODMzLjY0MiA1MDIuMDc4IDg5NmgxOS44NDVjNTM2Ljk2LTYyLjM1OCA0NjMuMzk2LTUxNC45NTcgNTAyLjA3OC04OTZsLTUxMi0xMjhoLTEuOTg0ek0xMzAuOTc3IDMzMmgyMzQuMTcxdjUwbC0xNzQuNjM2IDIxOGgxODAuNTg5djU0aC0yNTcuOTg0di02MGwxNjYuNjk4LTIwOGgtMTQ4LjgzN3YtNTR6TTM4OC45NjEgMzMyaDI1NC4wMTZ2NTRoLTk1LjI1NnYyNjhoLTYzLjUwNHYtMjY4aC05NS4yNTZ2LTU0ek02ODQuNjUxIDMzMmgyMzQuMTcxdjU0aC0xNzAuNjY3djcyaDE1OC43NnY1NGgtMTU4Ljc2djg4aDE3Ni42MnY1NGgtMjQwLjEyNHYtMzIyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1vdGhlci16dGVzZ3MiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTEsCisJCQkJImlkIjogMzMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2MSwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci16dGVzZ3MiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyNzcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTEzNiAwYy03NS41NSAwLTEzNiA2MC40NS0xMzYgMTM2djc1MmMwIDc1LjU1IDYwLjQ1IDEzNiAxMzYgMTM2aDc1MmM3NS41NSAwIDEzNi02MC40NSAxMzYtMTM2di03NTJjMC03NS41NS02MC40NS0xMzYtMTM2LTEzNmgtNzUyek05NCAyNjJoOTRsMTk4IDMzNHYtMzM0aDkydjUwMGgtOThsLTE5Ni0zMjZ2MzI2aC05MHYtNTAwek01NDYgMjYyaDM4NHY4NGgtMTQ0djQxNmgtOTZ2LTQxNmgtMTQ0di04NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtb3RoZXItenhzZHItbnQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTIsCisJCQkJImlkIjogMzIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2MiwKKwkJCQkibmFtZSI6ICJpdC1vdGhlci16eHNkci1udCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI3OAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTEwLjk5NCAwYy0yODIuNzAzIDAtNTEwLjk5NCAyMjguMjkxLTUxMC45OTQgNTEwLjk5NHMyMjguMjkxIDUxMy4wMDYgNTEwLjk5NCA1MTMuMDA2YzI4Mi43MDMgMCA1MTMuMDA2LTIzMC4zMDMgNTEzLjAwNi01MTMuMDA2cy0yMzAuMzAzLTUxMC45OTQtNTEzLjAwNi01MTAuOTk0ek01MDYuOTcgMTEwLjY0OGwxMjIuNzE5IDEyMi43MTloLTg4LjUxOXYxNjIuOTU1YzAgMjAuODI2LTcuODEzIDgyLjQ4My00NC4yNTkgODIuNDgzaC02Ni4zODljMzMuODQzLTkuNTQ1IDQyLjI0OC02MC41MTMgNDIuMjQ4LTgwLjQ3MnYtMTY0Ljk2N2gtODguNTE5bDEyMi43MTktMTIyLjcxOXpNMTYyLjk1NSAzNTYuMDg2djg4LjUxOWgxNjYuOTc4YzE5Ljk1OSAwIDY4LjkxNC04LjQwNSA3OC40Ni00Mi4yNDh2NjYuMzg5YzAgMzYuNDQ2LTYxLjY1NyA0NC4yNTktODIuNDgzIDQ0LjI1OWgtMTYyLjk1NXY4OC41MTlsLTEyMi43MTktMTIyLjcxOSAxMjIuNzE5LTEyMi43MTl6TTg1OS4wMzMgMzU2LjA4NmwxMjIuNzE5IDEyMi43MTktMTIyLjcxOSAxMjIuNzE5di04OC41MTloLTE2NC45NjdjLTE5Ljk1OS0wLTcwLjkyNiAxMC40MTYtODAuNDcyIDQ0LjI1OXYtNjYuMzg5YzAtMzYuNDQ2IDYxLjY1Ny00Ni4yNzEgODIuNDgzLTQ2LjI3MWgxNjIuOTU1di04OC41MTl6TTQzMC41MjIgNTQzLjE4M2g2Ni4zODljMzYuNDQ2IDAgNDQuMjU5IDYzLjY2OSA0NC4yNTkgODQuNDk1djE2MC45NDNoODguNTE5bC0xMjIuNzE5IDEyNC43MzEtMTIyLjcxOS0xMjQuNzMxaDg4LjUxOXYtMTY0Ljk2N2MwLTE5Ljk1OS04LjQwNS03MC45MjYtNDIuMjQ4LTgwLjQ3MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtcm91dGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTkzLAorCQkJCSJpZCI6IDMxLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NjMsCisJCQkJIm5hbWUiOiAiaXQtcm91dGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjc5CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTAgMGMtMjgyLjcwMyAwLTUxMCAyMjcuMjk3LTUxMCA1MTBzMjI3LjI5NyA1MTQgNTEwIDUxNGM5LjE3MyAwIDE4Ljk0My0xLjUyMSAyOC0yLTM2LjkxOC0zLjI3LTY2LTMyLjIwNC02Ni03MHYtNzRsLTg4LTkwaDg4di0xNjRjMC0xOS45NTktOC4xNTctNzAuNDU1LTQyLTgwaDY2YzM0LjgwMyAwIDQ1LjI4NyA1Ni42MyA0NiA4MCAwLjY3OC0wLjAxOSAxLjMxNyAwIDIgMGg0MDhjMTkuOTk1IDAgMzguOTUyIDguOTUyIDUyIDIyIDExLjc4Ny00My4wNzIgMjAtODkuMjU5IDIwLTEzNiAwLTI4Mi43MDMtMjMxLjI5Ny01MTAtNTE0LTUxMHpNNTA2IDExMGwxMjQgMTI0aC04OHYxNjJjMCAyMC44MjYtOS41NTQgODItNDYgODJoLTY2YzMzLjg0My05LjU0NSA0Mi02MC4wNDEgNDItODB2LTE2NGgtODhsMTIyLTEyNHpNMTYyIDM1NnY4OGgxNjhjMTkuOTU5IDAgNjguNDU1LTguMTU3IDc4LTQydjY2YzAgMzYuNDQ2LTYxLjE3NCA0Ni04MiA0NmgtMTY0djg4bC0xMjItMTI0IDEyMi0xMjJ6TTg2MCAzNTZsMTIyIDEyMi0xMjIgMTI0di04OGgtMTY2Yy0xOS45NTktMC03MC40NTUgMTAuMTU3LTgwIDQ0di02OGMwLTM2LjQ0NiA2MS4xNzQtNDYgODItNDZoMTY0di04OHpNNjM2IDY4NmMtMzUuNzQ1IDAtNjQuMDY2IDE0LjE2My04NiA0MHMtMzIgNjEuMzAyLTMyIDEwOGMtMCA0NC4xNDYgMTAuMTgyIDc4LjU0NiAzMiAxMDRzNTAuMTEyIDM4IDg0IDM4YzI3LjM4OCAwIDUwLjE4Ni03LjEzNiA2OC0yMnMzMC4zNC0zNy4zNzggMzgtNjhsLTUwLTE4Yy00LjI5NCAyMC41NDItMTIuMTM2IDM2LjQzMS0yMiA0NnMtMjAuMzA2IDE0LTM0IDE0Yy0xOC41NjkgMC0zNC4zOTUtNi45NDQtNDYtMjJzLTE4LTQwLjUzLTE4LTc2Yy0wLTMzLjQyOCA2LjIyLTU3LjA3MiAxOC03MnMyNy4wODMtMjQgNDYtMjRjMTMuNjk0IDAgMjYuNDI1IDUuNTggMzYgMTRzMTQuOTgyIDE5LjQ1NSAxOCAzNGw1MC0xNGMtNS44MDMtMjIuNDU2LTE0LjM5NS00MC4wMDYtMjYtNTItMTkuNDk3LTIwLjI4Ny00NC43ODItMzAtNzYtMzB6TTg5NCA2ODZjLTM1Ljc0NSAwLTY0LjA2NiAxNC4xNjMtODYgNDBzLTM0IDYxLjMwMi0zNCAxMDhjMCA0NC4xNDYgMTIuMTgyIDc4LjU0NiAzNCAxMDRzNTAuMTEyIDM4IDg0IDM4YzI3LjM4OCAwIDUwLjE4Ni03LjEzNiA2OC0yMnMzMC4zNC0zNy4zNzggMzgtNjhsLTUwLTE4Yy00LjI5NCAyMC41NDItMTIuMTM2IDM2LjQzMS0yMiA0NnMtMjIuMzA2IDE0LTM2IDE0Yy0xOC41NjkgMC0zMi4zOTUtNi45NDQtNDQtMjJzLTE4LTQwLjUzLTE4LTc2Yy0wLTMzLjQyOCA2LjIyMS01Ny4wNzIgMTgtNzJzMjcuMDgzLTI0IDQ2LTI0YzEzLjY5NCAwIDI0LjQyNSA1LjU4IDM0IDE0czE2Ljk4MiAxOS40NTUgMjAgMzRsNTAtMTRjLTUuODAzLTIyLjQ1Ni0xNC4zOTUtNDAuMDA2LTI2LTUyLTE5LjQ5Ny0yMC4yODctNDQuNzgyLTMwLTc2LTMweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1yb3V0ZXItY2lzY28iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTQsCisJCQkJImlkIjogMzAsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2NCwKKwkJCQkibmFtZSI6ICJpdC1yb3V0ZXItY2lzY28iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyODAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxMCAwYy0yODIuNzAzIDAtNTEwIDIyNy4yOTctNTEwIDUxMHMyMjcuMjk3IDUxNCA1MTAgNTE0YzkuMTczIDAgMTguOTQzLTEuNTIxIDI4LTItMzYuOTE4LTMuMjctNjYtMzIuMjA0LTY2LTcwdi03NGwtODgtOTBoODh2LTE2NGMwLTE5Ljk1OS04LjE1Ny03MC40NTUtNDItODBoNjZjMzQuODAzIDAgNDUuMjg3IDU2LjYzIDQ2IDgwIDAuNjc4LTAuMDE5IDEuMzE3IDAgMiAwaDQwOGM4MC4yMzkgNDUuMzk4IDY3LjQ1NS01Ny4xOTYgNzItMTE0IDAtMjgyLjcwMy0yMzEuMjk3LTUxMC01MTQtNTEwek01MDYgMTEwbDEyNCAxMjRoLTg4djE2MmMwIDIwLjgyNi05LjU1NCA4Mi00NiA4MmgtNjZjMzMuODQzLTkuNTQ1IDQyLTYwLjA0MSA0Mi04MHYtMTY0aC04OGwxMjItMTI0ek0xNjIgMzU2djg4aDE2OGMxOS45NTkgMCA2OC40NTUtOC4xNTcgNzgtNDJ2NjZjMCAzNi40NDYtNjEuMTc0IDQ2LTgyIDQ2aC0xNjR2ODhsLTEyMi0xMjQgMTIyLTEyMnpNODYwIDM1NmwxMjIgMTIyLTEyMiAxMjR2LTg4aC0xNjZjLTE5Ljk1OS0wLTcwLjQ1NSAxMC4xNTctODAgNDR2LTY4YzAtMzYuNDQ2IDYxLjE3NC00NiA4Mi00NmgxNjR2LTg4ek02NDQgNjY2djIwNmMtMCAyNS45NTgtMi4wMjEgNDMuNzYxLTggNTJzLTE1LjU2MyAxMi0zMCAxMmMtMTQuMjkyIDAtMjUtNC40NzktMzItMTYtNC42NjctNy41ODMtNy4yNzEtMjEuNjI1LTgtNDBsLTYyIDhjMC4xNDYgMzQuMjcxIDguOTM3IDYwLjI4MSAyNiA3OHM0MC4zNTQgMjYgNzIgMjZjMjYuOTc5IDAgNDkuNTIxLTYuNjk4IDY2LTE4czI3LjcyOS0yNS4zMzMgMzQtNDRjNC42NjctMTQuMjkyIDgtMzUuNDU4IDgtNjJ2LTIwMmgtNjZ6TTc3OCA2NjZ2MzIwaDY2di0xMjBoNDJjMjkuMzEyIDAgNTAuNTQyLTIuOTM4IDY2LTYgMTEuMzc1LTIuNDc5IDIyLjk4OS02LjM0NCAzNC0xNHMyMC44NTQtMTguNTgzIDI4LTMyYzcuMTQ2LTEzLjQxNyAxMC0zMC4zMTIgMTAtNTAtMC0yNS41MjEtNS42MDQtNDUuODg1LTE4LTYycy0yNy42MjUtMjcuMTg3LTQ2LTMyYy0xMS45NTktMy4yMDgtMzguNjI1LTQtNzgtNGgtMTA0ek04NDQgNzIwaDMwYzIzLjMzMyAwIDQwLjI3MSAwLjU0NCA0OCAyIDEwLjUgMS44OTYgMTkuMTQ2IDYuNDE3IDI2IDE0czEwIDE4LjMzNCAxMCAzMGMtMCA5LjQ3OS0zLjExNSAxNi44NTQtOCAyNHMtMTEuMzk2IDEyLjY0Ni0yMCAxNmMtOC42MDQgMy4zNTQtMjYuNDc5IDQtNTIgNGgtMzR2LTkweiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1yb3V0ZXItanVuaXBlciIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDU5NSwKKwkJCQkiaWQiOiAyOSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzY1LAorCQkJCSJuYW1lIjogIml0LXJvdXRlci1qdW5pcGVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjgxCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTAgMGMtMjgyLjcwMyAwLTUxMCAyMjcuMjk3LTUxMCA1MTBzMjI3LjI5NyA1MTQgNTEwIDUxNGM5LjE3MyAwIDE4Ljk0My0xLjUyMSAyOC0yLTM2LjkxOC0zLjI3LTY2LTMyLjIwNC02Ni03MHYtNzRsLTg4LTkwaDg4di0xNjRjMC0xOS45NTktOC4xNTctNzAuNDU1LTQyLTgwaDY2YzM0LjgwMyAwIDQ1LjI4NyA1Ni42MyA0NiA4MCAwLjY3OC0wLjAxOSAxLjMxNyAwIDIgMGg0MDhjMTkuOTk1IDAgMzguOTUyIDguOTUyIDUyIDIyIDExLjc4Ny00My4wNzIgMjAtODkuMjU5IDIwLTEzNiAwLTI4Mi43MDMtMjMxLjI5Ny01MTAtNTE0LTUxMHpNNTA2IDExMGwxMjQgMTI0aC04OHYxNjJjMCAyMC44MjYtOS41NTQgODItNDYgODJoLTY2YzMzLjg0My05LjU0NSA0Mi02MC4wNDEgNDItODB2LTE2NGgtODhsMTIyLTEyNHpNMTYyIDM1NnY4OGgxNjhjMTkuOTU5IDAgNjguNDU1LTguMTU3IDc4LTQydjY2YzAgMzYuNDQ2LTYxLjE3NCA0Ni04MiA0NmgtMTY0djg4bC0xMjItMTI0IDEyMi0xMjJ6TTg2MCAzNTZsMTIyIDEyMi0xMjIgMTI0di04OGgtMTY2Yy0xOS45NTktMC03MC40NTUgMTAuMTU3LTgwIDQ0di02OGMwLTM2LjQ0NiA2MS4xNzQtNDYgODItNDZoMTY0di04OHpNNTE4IDY5MnY0Nmg5MGwtMTAwIDE4MnY1MmgxNTZ2LTQ4aC0xMTBsMTA2LTE4OHYtNDRoLTE0MnpNNjc0IDY5MnY0Nmg1OHYyMzRoMzh2LTIzNGg1OHYtNDZoLTE1NHpNODUyIDY5MnYyODBoMTQ2di00OGgtMTA2di03Nmg5NnYtNDhoLTk2di02MmgxMDJ2LTQ2aC0xNDJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXJvdXRlci16dGUiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTYsCisJCQkJImlkIjogMjgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2NiwKKwkJCQkibmFtZSI6ICJpdC1yb3V0ZXItenRlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjgyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00OTggMGMtODIuNTE5IDIuMTQzLTE2NS40ODYgMjMuODI1LTI0MiA2OC0yNDQuODQ1IDE0MS4zNjEtMzI5LjM2MiA0NTUuMTU0LTE4OCA3MDAgMTA2LjczOCAxODQuODc1IDMxMi41NTcgMjc4LjE1OSA1MTIgMjUyLTIzLjA5OC0xNi4zMS0zNi0zNy4yNjUtMzYtNTggMC0yMi44NjIgMTYuMzc2LTQyLjcyMSA0NC02MGgtMzJjLTQxLjkxMiAwLTc2LTM0LjA4OC03Ni03NnYtMTA2bC0zNCAyMGMtMjQuNjQ3LTI3LjczMS00Ny45MzktNTUuODU3LTcwLTg4bDEwNC02MHYtNjRjMC00MS45MTIgMzQuMDg4LTc2IDc2LTc2aDIzNGMtNC41NzctMTAuNjkzLTguOTY2LTIxLjQ2OS0xNC0zMmwxMTgtNjhjMTMuODYgMzIuOTUgMjQuNzExIDY1LjgxNyAzMCAxMDBoNjZjMTAuNDc4IDAgMjAuOTQzIDIuMTgyIDMwIDYtNy4yMzQtNjkuMzE0LTI2LjkwNC0xMzcuNzQ3LTY0LTIwMi05Ny4xODYtMTY4LjMzMi0yNzYuNDU5LTI2MC43MTUtNDU4LTI1NnpNNTIyIDk4YzQ1LjQyNSAxLjE2NCA5MS41MTcgOC40NTggMTM0IDI0bC02NCAzNmMtMjIuODEtMjIuMTI3LTQ2LjAwNy00MS43MDQtNzAtNjB6TTM5NCAxMTRjMzkuNTg3IDI1LjY0NSA3Ny4yMjIgNTYuMjgxIDExNCA5MmwtODQgNTAtNzItMTI2YzEzLjc0Mi01Ljc5MSAyNy45NDYtMTEuODAyIDQyLTE2ek03NjAgMTc4YzMxLjE2NCAyMy4wMTYgNTcuNzE4IDUxLjk5NCA4MiA4NGwtMTE2IDY2Yy0yMC40MTItMzIuNzU1LTQwLjg4My02My4zNzgtNjQtOTJsODgtNTBjMy4yMDMtMS44NDkgNy42MDUtNS40MzUgMTAtOHpNMjYwIDE4MmgybDcyIDEyNi05MiA1MmMtMTIuNzEtNDkuMzEzLTE5LjI1NS05Ny4xODgtMjItMTQ0IDEyLjM5LTEyLjE3OCAyNS44ODgtMjMuMjk2IDQwLTM0ek01NzggMjg0YzIyLjkzOSAyOC40NTkgNDUuNjg2IDU5LjQwMyA2NiA5MmwtMTEyIDY0LTU2LTk2IDEwMi02MHpNMTQyIDMyNGMzLjk5NCAyNy45IDEwLjYzNSA1NS4zNzIgMTggODRsLTU4IDM0YzcuMTI0LTQwLjc4NCAyMS4xODEtODAuOTY0IDQwLTExOHpNMzg0IDM5Nmw1NiA5Ni0xMTggNzBjLTE4LjItMzMuNzgxLTM0LjY3LTY3Ljk4Ni00OC0xMDJsMTEwLTY0ek0xOTIgNTA2YzEzLjM5NiAzNC4zMDkgMjcuNjgyIDY5Ljk5OSA0NiAxMDRsLTEwOCA2MmMtMTUuMjE0LTM2LjE3LTI3LjUwMS03Mi40MDItMzItMTEwbDk0LTU2ek02MTIgNTA2Yy00OS41MTYgMC05MCAzOC40ODQtOTAgODh2MTk0YzAgNDkuNTE2IDQwLjQ4NCA5MCA5MCA5MGgxMDJsLTYgMzRjLTUxLjU4NiA5LjgxMS04OCAzMC41NDktODggNTQgMCAzMi42NDMgNjguODEgNTggMTU0IDU4czE1NC0yNS4zNTcgMTU0LTU4YzAtMjQuMTY5LTM3LjgzOC00Ni41ODUtOTItNTZsLTYtMzJoMTA0YzQ5LjUxNiAwIDkwLTQwLjQ4NCA5MC05MHYtMTk0YzAtNDkuNTE2LTQwLjQ4NC04OC05MC04OGgtMzIyek01ODQgNTc0aDM4MHYyMzZoLTM4MHYtMjM2ek0yOTIgNzAwYzIyLjE0NyAzMi4xMyA0Ny4xODMgNTguMjcxIDcyIDg2bC0xMDIgNjBjLTMwLjMxMS0yMi42OTUtNTYuMjgzLTUyLjczOS04MC04NGwxMTAtNjJ6TTQzOCA4NjRjMjguODM2IDI0Ljk1OCA1OS44ODUgNDQuOTc1IDkwIDY0LTUzLjI5NSAxLjk2Mi0xMDguMjAxLTYuMTU3LTE1OC0yNGw2OC00MHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2RuLWhvc3QiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTcsCisJCQkJImlkIjogMjcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2NywKKwkJCQkibmFtZSI6ICJpdC1zZG4taG9zdCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI4MworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNDk4IDBjLTgyLjUzMiAyLjE0NC0xNjUuNDczIDIzLjgxNy0yNDIgNjgtMjQ0Ljg4NiAxNDEuMzg1LTMyOS4zODYgNDU1LjExMy0xODggNzAwIDU4LjI1NSAxMDAuOTAxIDE0Ni4yMTggMTc0LjI1NyAyNDYgMjE2di0xNjhsLTUyIDMwYy0zMC4zMTYtMjIuNjk5LTU2LjI3OS01Mi43MzQtODAtODRsMTA0LTYwLTE0LTQtMTU2LTggMzAtMjgtMTYgMTBjLTE1LjIxNy0zNi4xNzYtMjcuNS03Mi4zOTYtMzItMTEwbDk0LTU2YzEwLjA0NCAyNS43MjUgMjEuNjE0IDUyLjI0OSAzNCA3OGw3Mi03MmMtOC4zNTctMTcuNDQxLTE3LjA5My0zNC4zNzYtMjQtNTJsMTEyLTY0IDEwIDE4IDkyLTkyIDEwIDEwIDgyLTQ4YzIyLjk0MyAyOC40NjQgNDMuNjgyIDU5LjM5NyA2NCA5MmwtNjYgMzYgNzggNzggNDAtMjQgMTA0LTYwIDk0LTU2YzcuMzY3IDE3LjUxNSAxNC42MTggMzYuMDcyIDIwIDU0aDRsOTItMTRjLTExLjI4NS00NS44MTktMjkuMjIxLTkxLjA4MS01NC0xMzQtOTcuMjAzLTE2OC4zNi0yNzYuNDI5LTI2MC43MTYtNDU4LTI1NnpNNTIyIDk4YzQ1LjQzMyAxLjE2NCA5MS41MSA4LjQ1NSAxMzQgMjRsLTY0IDM2Yy0yMi44MTQtMjIuMTMxLTQ2LjAwMy00MS43MDEtNzAtNjB6TTM5NCAxMTRjMzkuNTkzIDI1LjY0OSA3Ny4yMTYgNTYuMjc1IDExNCA5MmwtODQgNTAtNzItMTI2YzEzLjc0NC01Ljc5MiAyNy45NDQtMTEuODAxIDQyLTE2ek03NjAgMTc4YzMxLjE2OSAyMy4wMTkgNTcuNzE0IDQ5Ljk4OSA4MiA4MmwtMTE2IDY4Yy0yMC40MTYtMzIuNzYtNDAuODc5LTYzLjM3My02NC05Mmw4OC01MmMzLjIwMy0xLjg0OSA3LjYwNS0zLjQzNSAxMC02ek0yNjIgMTgybDcyIDEyNi05MiA1MmMtMTIuNzExLTQ5LjMyMS0xNy4yNTQtOTcuMTgtMjAtMTQ0IDEyLjM5Mi0xMi4xOCAyNS44ODYtMjMuMjk0IDQwLTM0ek0xNDIgMzI0YzMuOTk1IDI3LjkwNCAxMC42MzMgNTUuMzY3IDE4IDg0bC01OCAzNGM3LjEyNS00MC43OTEgMjEuMTc4LTgwLjk1OCA0MC0xMTh6TTQ3NCA0MzZsLTIwOCAyMTBoMTI2djI4Nmw3MiA5Mmg5NHYtMzc4aDEyNmwtMjEwLTIxMHpNODA0IDQzNmwtNzIgOTB2Mjg4aC0xMjZsMjA4IDIxMCAyMTAtMjEwaC0xMjZ2LTM3OGgtOTR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNkbi1zd2l0Y2giCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA1OTgsCisJCQkJImlkIjogMjYsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc2OCwKKwkJCQkibmFtZSI6ICJpdC1zZG4tc3dpdGNoIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjg0CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MiAwYy0yOC4yMTggMC01MiAyNy44NzctNTIgNjJ2OTAwYzAgMzQuMTIzIDIzLjc4MiA2MiA1MiA2Mmg1MjRjMjguMjE4IDAgNTAtMjcuODc3IDUwLTYydi05MDBjMC0zNC4xMjMtMTkuNzgyLTYyLTQ4LTYyaC01MjZ6TTY3NCA2YzE4Ljk5OSAxMC4wNzQgMzIgMzEuNTQgMzIgNTZ2OTAwYzAgMjAuMTMzLTkuODUzIDM2LjY1OS0yNCA0OGwyNjItNzhjNDIuMjM3LTEyLjU3NCA4MC0zMC45NzEgODAtNzB2LTcwNmMwLTM5LjAyOS0zNy43NjYtNTcuNDItODAtNzBsLTI3MC04MHpNMTIwIDE0MGgzODhjMTkuMDA5IDAgMzQgMTkuMDEyIDM0IDQydjIxMGMwIDIyLjk4OC0xNC45OTEgNDAtMzQgNDBoLTM4OGMtMTkuMDA5IDAtMzYtMTcuMDEyLTM2LTQwdi0yMTBjMC0yMi45ODggMTYuOTkxLTQyIDM2LTQyek0xMzYgMjAwYy04LjUxOSAwLTE2IDEyLjc1Ny0xNiAzMHM3LjQ4MSAzMiAxNiAzMmgzNTZjOC41MTkgMCAxNC0xNC43NTcgMTQtMzJzLTUuNDgxLTMwLTE0LTMwaC0zNTZ6TTEzNiAzMTJjLTguNTE5IDAtMTYgMTIuNzU3LTE2IDMwczcuNDgxIDMyIDE2IDMyaDM1NmM4LjUxOSAwIDE0LTE0Ljc1NyAxNC0zMnMtNS40ODEtMzAtMTQtMzBoLTM1NnpNMzE0IDY3MmMzNS4zNDYgMCA2NCAyOC42NTQgNjQgNjRzLTI4LjY1NCA2NC02NCA2NGMtMzUuMzQ2IDAtNjQtMjguNjU0LTY0LTY0czI4LjY1NC02NCA2NC02NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2VydmVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNTk5LAorCQkJCSJpZCI6IDI1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NjksCisJCQkJIm5hbWUiOiAiaXQtc2VydmVyIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjg1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk01MTIgMGMtMjgyLjc3IDAtNTEyIDIyOS4yMy01MTIgNTEyczIyOS4yMyA1MTIgNTEyIDUxMmMyODIuNzcgMCA1MTItMjI5LjIzIDUxMi01MTJzLTIyOS4yMy01MTItNTEyLTUxMnpNNTEyIDY0YzI0Ny40MjQgMCA0NDggMjAwLjU3NiA0NDggNDQ4cy0yMDAuNTc2IDQ0OC00NDggNDQ4Yy0yNDcuNDI0IDAtNDQ4LTIwMC41NzYtNDQ4LTQ0OHMyMDAuNTc2LTQ0OCA0NDgtNDQ4ek01MTIgMTI4Yy0yMTIuMDc3IDAtMzg0IDE3MS45MjMtMzg0IDM4NCAwIDM2LjE1NiA2LjY1OSA3MC44MzEgMTYgMTA0bDExMi0yOTJoNjhsMTMwIDMyMGgtNzJsLTI4LTcyaC0xMjhsLTI2IDcyaC00OGM1My44MzcgMTQ3LjAzNSAxOTQuMzE1IDI1MiAzNjAgMjUyczMwNi4xNjMtMTA0Ljk2NSAzNjAtMjUyaC03MmwtNzItMTEwLTcyIDExMGgtNzZsMTA4LTE2Ni05OC0xNTRoNzZsNjQgMTAyIDYyLTEwMmg1NmMtNjUuNjYxLTExNy41MDctMTkxLjgyOC0xOTYtMzM2LTE5NnpNNDg2IDMyNGg2NHYzMjBoLTY0di0zMjB6TTg1NiAzNDJsLTg4IDEzOCAxMDYgMTU4YzEzLjczMi0zOS41MDYgMjItODEuODE3IDIyLTEyNiAwLTYwLjkwNS0xNC43NjMtMTE4Ljg0LTQwLTE3MHpNMjkwIDM5OGwtNDQgMTIwaDg4bC00NC0xMjB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1haXgiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MDAsCisJCQkJImlkIjogMjQsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc3MCwKKwkJCQkibmFtZSI6ICJpdC1zZXJ2ZXItYWl4IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjg2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk03MDIuMTk2IDBjLTgzLjU1OSAwLTE0OS40MjEgNzUuNTkzLTE0OS40MjEgMTcxLjA1NyAwIDQ1LjI4MSAxNS4xOTQgODYuMzcyIDM5LjY5IDExNy4xNjItOC42ODYgMTIuMjIzLTE3LjMzOCAyNC44NzYtMjUuNjgyIDM3LjQ5Mi0yMy4xOTQgMzUuMDcwLTQzLjYyOSA3Ni45NzYtNjAuNzAyIDg5LjA0My04My41MjMgNTkuMDMzLTEyMS40MDQgMTI5Ljk5Mi0xMjEuNDA0IDI0OC4zODQgMCAxNi42MzEgMi41NTYgMzAuODc0IDQuNjY5IDQ2Ljg2NSAyMy4zMjEtMTEuNDYzIDUyLjg0LTE2LjQwMyA4NC4wNDktMTYuNDAzIDQuMDQzIDAgNy43MTgtMC4yMTcgMTEuNjczIDAtMy42ODUtMTguNDIyLTcuMDA0LTM1LjI1LTcuMDA0LTUzLjg5NSAxLjI1MS0xMjguODMyIDU1LjM4OS0yMDkuNzg2IDExNC40LTI5Mi45MDYgMi42NDgtMy40OTkgNi4yNjktOS4xMDUgOS4zMzktMTQuMDU5IDIuNDUyIDQuMjQxIDYuMjgzIDYuNzkzIDExLjY3MyA5LjM3M2w0OS4wMjkgMjMuNDMyYzIzLjYyOCAxMS4zMDcgNDguMjUgMTAuNDE3IDcyLjM3NiAwbDUzLjY5OC0yMy40MzJjMC44NC0wLjM2MyAxLjU1OCAwLjQxOCAyLjMzNSAwIDQyLjI3MiA5MS40NSA5OS4wODQgMTk0LjI5MyAxMDAuMzkyIDI3OC44NDcgMCAyMy44MDgtMi45NTggNDUuODY2LTcuMDA0IDY3Ljk1NCAxMy4wNTctMi41MjQgMjcuNjg0LTIuMzQzIDQyLjAyNS0yLjM0MyAxOC45IDAgMzcuMTkxIDAuNDA1IDUzLjY5OCA0LjY4NiAwLjgxOC0xMC4wNDQgMi4zMzUtMTcuODQzIDIuMzM1LTI4LjExOSAwLTk5LjgzLTI2LjI4My0xNzUuNjQ0LTg4LjcxOS0yMzYuNjY4LTI1LjU0OS0yNC45NzEtNTYuODM0LTc4LjE2OC05MS4wNTMtMTI2LjUzNSAzMS4zODktMzEuNjM1IDUxLjM2My03Ny4zODggNTEuMzYzLTEyOC44NzkgMC05NS40NjUtNjguMTk2LTE3MS4wNTctMTUxLjc1NS0xNzEuMDU3ek02NDEuNDk0IDE0MC41OTVjMjUuMzExIDAgNDQuMzU5IDIyLjA0MyA0NC4zNTkgNTEuNTUxIDAgNC4wNzItMS42NSA3Ljg5My0yLjMzNSAxMS43MTYtNC42MjggMC42MDctOS4xODYgMi4zOTgtMTQuMDA4IDQuNjg2IDAtMjIuMTg1LTE0LjIxNy0zOS44MzUtMzAuMzUxLTM5LjgzNXMtMjguMDE2IDE3LjY1LTI4LjAxNiAzOS44MzVjMCAxMy40MjIgNC4zMTkgMjcuODU0IDExLjY3MyAzNS4xNDktMTYuNjkyLTguNjMtMjguMDE2LTI5LjQyLTI4LjAxNi01MS41NTEgMC0yOS41MDkgMjEuMzgzLTUxLjU1MSA0Ni42OTQtNTEuNTUxek03NjIuODk4IDE0Mi45MzhjMjUuMzExIDAgNDYuNjk0IDIyLjA0MyA0Ni42OTQgNTEuNTUxIDAgMjIuMTMyLTExLjMyNCA0Mi45MjEtMjguMDE2IDUxLjU1MSA1Ljg4LTcuMzQ4IDcuMDA0LTE4LjY3NyA3LjAwNC0zMC40NjIgMC0yMi4xODUtMTEuODgyLTQyLjE3OC0yOC4wMTYtNDIuMTc4cy0zMC4zNTEgMTkuOTk0LTMwLjM1MSA0Mi4xNzhjMCAyLjQyOC0wLjI5OSA0Ljc5MiAwIDcuMDMwLTMuMDY4LTIuMTc3LTYuMjYzLTUuMjY1LTkuMzM5LTcuMDMwLTIuNTM2LTYuODE2LTQuNjY5LTEzLjM2Ni00LjY2OS0yMS4wODkgMC0yOS41MDkgMjEuMzgzLTUxLjU1MSA0Ni42OTQtNTEuNTUxek02OTkuODYxIDIyNC45NTJjMTIuMy0wIDI1Ljc2NyAzLjgzNyAzNS4wMjAgMTEuNzE2bDQ2LjY5NCA0Mi4xNzhjMTMuMTE4IDExLjE3IDE3LjY3OCAyNi43NjEgMTEuNjczIDM5LjgzNS0xLjkwNyAxLjMxNi0yLjM4OSAzLjcwMi00LjY2OSA0LjY4NmwtNTMuNjk4IDIzLjQzMmMtMjQuMTI2IDEwLjQxNy00OC43NDggMTEuMzA3LTcyLjM3NiAwbC00OS4wMjktMjMuNDMyYy0xLjcyMS0wLjgyNC0zLjMwMi0xLjMzNy00LjY2OS0yLjM0My03LjM3NC0xMy44OTYtMi4yMDYtMzAuMzYgMTEuNjczLTQyLjE3OGw0Ni42OTQtNDIuMTc4YzkuMjUzLTcuODc5IDIwLjM4Ni0xMS43MTYgMzIuNjg2LTExLjcxNnpNNjIwLjQ4MiAyODUuODc2Yy0yLjI4NSAyLjMxOC00LjY2OSA0LjQ4OC00LjY2OSA3LjAzMCAwIDE0LjEyMyAzOS42NTEgMjUuNzc2IDg2LjM4NCAyNS43NzZzODEuNzE0LTExLjY1MyA4MS43MTQtMjUuNzc2YzAtMi41NDItMC4wNDktNC43MTItMi4zMzUtNy4wMzAtOS4zMDggMTEuMDY3LTM5Ljg2MyAxOC43NDYtNzkuMzggMTguNzQ2cy03Mi40MDctNy42NzktODEuNzE0LTE4Ljc0NnpNODc5LjYzMyA3MTAuMDA1Yy02NC41MDQgNy42MzQtODYuMzg0IDQyLjA3Mi04Ni4zODQgMTE0LjgxOSAwIDgzLjE0LTgzLjYyNCAxODkuODAzIDQuNjY5IDE4OS44MDNzMjI0LjEzMS04MC44ODcgMjI0LjEzMS0xNjQuMDI3YzAtODMuMTQtMjMuNzczLTE0MC41OTUtMTEyLjA2Ni0xNDAuNTk1LTExLjAzNyAwLTIxLjEzNi0xLjA5MS0zMC4zNTEgMHpNNDY2LjM5MSA3MTkuMzc4Yy04OC4yOTMgMC0xMTIuMDY2IDU3LjQ1NS0xMTIuMDY2IDE0MC41OTVzMTM1LjgzOSAxNjQuMDI3IDIyNC4xMzEgMTY0LjAyN2M4OC4yOTMgMCA0LjY2OS0xMDQuMzIgNC42NjktMTg3LjQ2cy0yOC40NDItMTE3LjE2Mi0xMTYuNzM1LTExNy4xNjJ6TTYyMC40ODIgODg4LjA5MmwxNC4wMDggNDkuMjA4IDE0LjAwOCA1Ni4yMzhjMTEuNTgzIDEuNTYyIDIzLjA0NSAyLjM0MyAzNS4wMjAgMi4zNDMgMTIuNjc2IDAgMjUuMTM4LTAuNTg1IDM3LjM1NS0yLjM0MyA1LjE4NS0yNS40NiAyMS4wMTItODkuMDQzIDIxLjAxMi04OS4wNDNsNy4wMDQtMTYuNDAzYy0xOS45ODEgOS43OTktNDAuNTM3IDE2LjQwMy02My4wMzcgMTYuNDAzLTIzLjAzMCAwLTQ0Ljk1MS02LjI1OS02NS4zNzItMTYuNDAzeiIsCisJCQkJCSJNNDM0Ljg5IDIuMTA1bC00MTcuMDg4IDQ0MC41ODIgMTkwLjc0MSAzMC4wODktMjA4LjU0NCAzNzEuODA4IDM5OS4yODUtNDI1LjUzNy0xMzkuODc3LTgzLjgxOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2VydmVyLWtsaW51eCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYwMSwKKwkJCQkiaWQiOiAyMywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzcxLAorCQkJCSJuYW1lIjogIml0LXNlcnZlci1rbGludXgiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyODcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTUxMC41OTIgMGMtMjgxLjg1NiAwLTUxMC41OTIgMjMwLjMzNi01MTAuNTkyIDUxMy40NzJzMjI4LjczNiA1MTAuNTI4IDUxMC41OTIgNTEwLjUyOCA1MTMuNDA4LTIyNy41MiA1MTMuNDA4LTUxMC41MjhjMC0yODMuMDcyLTIzMS41NTItNTEzLjQ3Mi01MTMuNDA4LTUxMy40NzJ6TTQ2NC43MDQgODguODk2bDMxLjU1MiA4LjY0IDM3LjMxMiA4LjU3NiAzMS41NTItNS42OTYgMTcuMjgtMi44OCAyMi45MTItNS43NmMwIDAgMjAuOTkyLTQuNTQ0IDMxLjQ4OC0yLjg4IDEwLjMwNCAxLjY2NCAyMS44ODgtMC43NjggMzEuNTUyIDIuODggMTMuMzc2IDUuMDU2IDI1Ljk4NCAxNC4wODAgMzcuMjQ4IDIyLjkxMiAxOS40NTYgMTUuMjk2IDM3LjI0OCA2My4xMDQgMzcuMjQ4IDYzLjEwNGwyMC4wOTYgNTQuNTI4IDIyLjg0OCA2NS45ODQgNS43NiA0OC43NjgtNS43NiA2MC4yMjQgNDMuMTM2LTM3LjMxMmMzMy4zNDQgOC4xMjggNzIuNjQgMjguNzM2IDExMS44MDggNTQuNTI4IDAgMCA3LjE2OCA0NC42NzIgNS43NiA2NS45ODQtMS4yMTYgMTguNDk2LTQuOCAzOC42NTYtMTQuMzM2IDU0LjUyOC0xNi43NjggMjcuNzc2LTQ0LjYwOCA0NS42MzItNzEuNzQ0IDYzLjEwNC0yMS41MDQgMTMuODg4LTQ0LjAzMiAyNS4zNDQtNjguODY0IDMxLjQ4OC0zOC4wMTYgOS4zNDQtNzguNCA2LjQtMTE3LjU2OCA1Ljc2LTM3LjA1Ni0wLjY0LTcyLjU3Ni0xLjYtMTA4Ljk5Mi04LjY0LTQzLjI2NC04LjI1Ni04OC4wNjQtMjAuNzM2LTEyOC45Ni0zNy4yNDgtNDcuMzYtMTkuMTM2LTEzNC43ODQtNzQuNjI0LTEzNC43ODQtNzQuNjI0cy03Ni42NzItNDQuMTYtMTE0Ljc1Mi04MC4zMmMtMTUuMjMyLTE0LjQtNDguODMyLTY1LjkyLTQ4LjgzMi02NS45MnMtOC44OTYtNDguMzIgMi44OC01Ny4zNDRjMCAwIDM4LjA4MC0yOC43MzYgNTQuNTI4LTMxLjU1MiAzOS42MTYtNi43ODQgNzkuMDQwLTguNTEyIDEyMy4zMjgtMTQuMzM2djIuODE2bDIyLjkxMiAyMi45NzYgNjMuMTA0IDQzLjAwOCA5MS43NzYgMzQuNDMyIDQ1Ljk1MiAyMC4wOTZjMCAwIDM0LjgxNiAyLjg4IDQ1LjgyNCAyLjg4IDExLjEzNiAwIDIuODgtMjIuOTEyIDIuODgtMjIuOTEybC0xNy4yMTYtMTcuMjgtNS43Ni0xNC4zMzYtOC41MTItMjIuOTEyLTE0LjMzNi0xNy4yMTYtOTQuNjU2LTMxLjU1Mi03Ny40NC0yOC42NzItNDAuMTkyLTMxLjYxNiA4LjY0LTQwLjEyOCAxNy4yMTYtMzcuMzEyIDE0LjMzNi0yMi45NzYgMjIuOTc2LTE0LjMzNiAzMS41NTItOC42NCAzNy4yNDgtMi44MTZ6TTYxMy44ODggMTE0Ljc1MmwtOC42NCAxNC4zMzYgMjUuNzI4IDguNjQgMjAuMDMyIDUuNjk2LTIwLjAzMiAzMS41NTIgNjAuMjI0LTE0LjMzNiA1LjgyNC0yOC42NzItMzEuNDg4LTExLjQ1Ni01MS42NDgtNS43NnpNNDEwLjE3NiAxNTQuOTQ0bC0xNC4zMzYgNDIuOTQ0IDMxLjU1MiAzMS41NTIgMTcuMjE2LTUuNzYgNDMuMDA4LTguNTc2IDQ4Ljc2OC0xNC4zMzYgNS43Ni0xNy4yMTYtMzcuMzEyLTguNTc2LTU0LjQ2NCA4LjU3Ni00MC4xOTItMjguNjA4ek0yMzguMDgwIDUzMC42ODhoMTcuMjE2bDI1Ljc5MiAxNC4zMzYgMzcuMzEyIDQwLjEyOCA1MS42NDggNS43NiA2NS45ODQgODAuMzg0IDI4Ni44NDggNS43Ni0yMi45NzYgMTA2LjExMi00OC43NjggNjIuOTc2LTI4LjYwOCAyNS44NTYtMi44OC0yLjg4IDIuODggMjIuODQ4IDMxLjQ4OC01Ljc2IDEwOC45OTItODAuMzJ2LTIyLjkxMmgxMTQuNzUybDQ1Ljg4OCAxMS41MmMtOTIuMDMyIDEzMS4xMzYtMjQ0LjQ4IDIxNS4xMDQtNDEzLjA1NiAyMTUuMTA0LTIxNi4xOTIgMC00MDAuMTI4LTEzNS40MjQtNDcwLjQtMzMyLjY3MmwyMC4wOTYtNS44MjQgOC41NzYtMzQuMzY4IDguNTc2LTUuNzYgMTAwLjQxNiA1Ljc2IDY4Ljg2NCA0NS44ODggMjUuNzkyLTUuNjk2LTIuODgtMjguNjcyLTM3LjMxMi0zNC40MzItMTQuMzM2LTIyLjkxMi0yLjg4LTI4LjczNiA4LjY0LTE0LjMzNiAxNC4zMzYtMTcuMTUyek01MjcuODA4IDc0MC4wMzJjLTEwLjY4OCAyLjM2OCAxLjE1MiA5LjM0NC04LjU3NiAxNC40LTE5LjAwOCA5LjY2NCAyMi45MTIgMjguNjcyIDIyLjkxMiAyOC42NzJzMjIuNzIgMTIuMDMyIDM0LjM2OCAxMS40NTZjMTAuNjI0LTAuNTc2IDI4LjczNi0xMS40NTYgMjguNzM2LTExLjQ1NiAxNy43MjgtMTcuMjggOS4wMjQtNDEuMzQ0IDAtMzQuNDk2bC0yMi45NzYgMTQuNDY0aC0yMi45MTJjMC0wLjA2NC0xOS43MTItMjUuNTM2LTMxLjU1Mi0yMy4wNDB6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1yZWRoYXQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MDIsCisJCQkJImlkIjogMjIsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc3MiwKKwkJCQkibmFtZSI6ICJpdC1zZXJ2ZXItcmVkaGF0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjg4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk00NjggMGwtNDggMjY4YzE2LjE3My0zLjI5NyAzMC44NDktNCA0OC00czMzLjgyNyAwLjcwMyA1MCA0bC01MC0yNjh6TTE0MCAxMzRsMTUwIDIwOGMyMi4wNDgtMjMuMjgzIDQ2LjM1OS00Mi42MDUgNzYtNTZsLTIyNi0xNTJ6TTc5OCAxMzRsLTIyNiAxNTJjMjkuNjQxIDEzLjM5NSA1My45NTIgMzIuNzE3IDc2IDU2bDE1MC0yMDh6TTAgMzc0bDIyMiAxMDJjNC4zNC0yOS41NDEgMTQuMTUxLTU4LjgxNiAyOC04NGwtMjUwLTE4ek05MzggMzc0bC0yNTIgMThjMTMuODQ5IDI1LjE4NCAyMy42NiA1NC40NTkgMjggODRsMjI0LTEwMnpNNjUwIDUyNmMtMzU5Ljg5NCAwLTY1MCA1OC44MDktNjUwIDEzMnMyOTAuMTA2IDEzNCA2NTAgMTM0YzU4Ljk4NyAwIDExNy42NTgtMy4wMTIgMTcyLTYtMTAuMjAyIDAuMTA5LTE5LjY3IDAtMzAgMC0zMzAuNjUzIDAtNjAwLTU0LjAzNy02MDAtMTIyczI2OS4zNDctMTI0IDYwMC0xMjRjODIuNjYzIDAgMTYwLjM3MyAzLjc3MyAyMzIgMTAtMTA1LjY4NC0xNS4wMzQtMjM1LjI0LTI0LTM3NC0yNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2VydmVyLXNvbGFyaXMiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MDMsCisJCQkJImlkIjogMjEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc3MywKKwkJCQkibmFtZSI6ICJpdC1zZXJ2ZXItc29sYXJpcyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI4OQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTE2IDU4Yy02NS42NzUgMi4xMTktMTIzLjE2IDQuNTYtMTg0IDM0LTcyLjQyMSAzMi0xNDUuNjUxIDU5LjAwMy0yMDYgMTEybC02OCA4NGMtNjkuNzc3IDExOS41ODktNTQuNDE2IDIzMi45MzQgMTA2IDI5MCA3Ny43NDIgNS41NTIgMjIxLjQ3OC01Ny44ODggMTMwLTIwMi0yOS41MjMtMjguOTYtNTUuMjczLTM3LjM5OC0xMDQtMzAtNDEuNzkgMTEuMjcxLTY4LjA4NiA0Ni4wODQtNTQgMTAyIDE5LjQ5MiAyNy44ODQgMjIuNjg4IDI1LjEwNSA0MiAzMGw0OCA0IDgtMjYtNi0yMC04LTYtMjQgOGMtOC4zMTIgMTUuOTg0LTYwLjcxNC0xNi41OC04LTQyIDkuODE3LTQuNDg5IDM4LjE2MS0xNC4wMzEgNjAgNiAzMS42MjUgMzEuNzE2IDU3Ljc3MyA4NC4yNDEtMjggMTE4LTY3LjAxOSA3LjMxMi0xMDAuMDM2LTcuMTczLTEyOC03NmwtMi00NCA4LTQwYzI1LjYyNC0zMi4wMzAgMzYuODE1LTQ5LjgzIDgwLTU0IDUyLjgzLTIuMDMyIDkwLjE1NC01LjEwNCAxMzYgMjZsMzAgNDAgMjAgNDAgMTQgMzAgMzQgMjIgMzAgMTRjMC00Ny44MzQtMTMuMDY4LTgzLjYyOCAyNi0xMTRsMjgtMTBjMjkuMTc2IDAuNzI5IDUzLjQ5OC05LjA4MiA4MiAxMGwyMCAyMCA0NiA1MiA1MiAyOCA0NCAyNiA4LTYtMjQtMzJjLTkuMzU0LTQyLjU3MS0yNS4xODctNjIuNDM4IDAtMTA2bDI2LThjODAuNjY4IDUuMzY2IDE4NS44MDUgMjAuODk0IDI2MC0zOCA1Ljk5MS0yLjY4MSAxOS44NzUtMjcuMjQ4LTItMzgtMi40NjggNy4yNTEtMi40ODcgMTUuMjY2LTIwIDIyLTQzLjI3NCAxMi43OTgtNjkuODQ4IDIxLjYwMy0xMTgtNC0zMS45NjUtMTEuNzc2LTU3Ljk1OS0xNS44MjUtNzYtNDZsLTYtMTIgMTgtNiA0MCAyNGMyNS4xODcgMTIuMjUzIDQ1Ljc0NCAyOC45NjQgNzYgMzAgMzUuMTktMi42MjkgNjEuMDc0IDIuMzE3IDkyLTIwbDE0LTE2Yy0xMy4wNDAtNDAuNTY5LTE4Ljk5OC04MC45OTYtNTItMTEwLTQyLjEwOC0yMS4wNTQtODIuMTc4LTM4Ljg1OC0xMzAtNDRsLTg2LTEyIDYgMzgtNTAtMjItOTAtMTYtMTEwLTEwek05MTggMTIyYzMzLjM5NSAwIDYwIDI2LjYwNSA2MCA2MHMtMjYuNjA1IDYwLTYwIDYwYy0zMy4zOTUgMC02MC0yNi42MDUtNjAtNjBzMjYuNjA1LTYwIDYwLTYwek05MTggMTQyYy0yMS45NDUgMC00MCAxOC4wNTUtNDAgNDBzMTguMDU1IDQwIDQwIDQwYzIxLjk0NSAwIDQwLTE4LjA1NSA0MC00MHMtMTguMDU1LTQwLTQwLTQwek05MjIgMTU0YzEwLjE2NSAwIDE4IDcuODM1IDE4IDE4cy03LjgzNSAxOC0xOCAxOGMtMTAuMTY1IDAtMTgtNy44MzUtMTgtMThzNy44MzUtMTggMTgtMTh6TTExNiA2NDZjLTIxLjUyNyAwLTQwLjc3OSA0Ljk4OC01NiAxMnMtMjUuOTEyIDE2LjU5NC0zNCAzMGMtOC4wODggMTMuNDA3LTEyIDI4LjYtMTIgNDQtMCAyMy45MjYgOC44MDQgNDMuMzYyIDI2IDYwIDEyLjIyOCAxMS44MjUgMzMuNjg0IDIxLjg4OCA2NCAzMCAyMy41NjUgNi4zMjUgMzcuMzc2IDExLjUyNSA0NCAxNCA5LjY4IDMuNzEzIDE2LjExNSA2Ljk4MSAyMCAxMnM2IDEwLjg1IDYgMThjLTAgMTEuMTM4LTQuNzY1IDIxLjY4MS0xNCAzMHMtMjEuNzg1IDEyLTQwIDEyYy0xNy4xOTYgMC0zMS44NzQtNC42NS00Mi0xNHMtMTYuNjg4LTI0LjA2Mi0yMC00NGwtNTQgNmMzLjY5NCAzMy44MjYgMTUuMDIxIDYwLjMzMSAzNCA3OHM0Ni41ODkgMjYgODIgMjZjMjQuMzI5IDAgNDMuNjk2LTQuNjQ0IDYwLTEyczI5LjA4My0xOC44NzUgMzgtMzRjOC45MTYtMTUuMTI1IDE0LTMwLjY3NSAxNC00OC0wLTE5LjExMy00LjU0OS0zNS4wMDYtMTItNDhzLTE2LjgxNy0yMi41MDYtMzAtMzBjLTEzLjE4NC03LjQ5NC0zNC40ODctMTQuOTg3LTYyLTIycy00NC44NjctMTMuNTM3LTUyLTIwYy01LjYwNS01LjA4Ny04LTEyLjg1LTgtMjAtMC03LjgzNyAyLjAxMy0xMy4zMjUgOC0xOCA5LjI5OC03LjI4NyAyMy41NjgtMTAgNDAtMTAgMTUuOTIyIDAgMjguMDM5IDMuMTk0IDM2IDEwczExLjU4IDE4LjQ2MyAxNCAzNGw1OC00Yy0wLjg5Mi0yNy43NzUtMTAuMjMxLTQ5LjM2Mi0yOC02NnMtNDQuODQ0LTI2LTgwLTI2ek02MTYgNjQ2Yy0yMS41MjcgMC0zOC43NzkgNC45ODgtNTQgMTJzLTI3LjkxMiAxNi41OTQtMzYgMzBjLTguMDg4IDEzLjQwNy0xMiAyOC42LTEyIDQ0LTAgMjMuOTI2IDguODA0IDQzLjM2MiAyNiA2MCAxMi4yMjggMTEuODI1IDMzLjY4NCAyMS44ODggNjQgMzAgMjMuNTY1IDYuMzI1IDM5LjM3NiAxMS41MjUgNDYgMTQgOS42ODEgMy43MTMgMTYuMTE1IDYuOTgxIDIwIDEyczYgMTAuODUgNiAxOGMtMCAxMS4xMzgtNC43NjUgMjEuNjgxLTE0IDMwcy0yMy43ODUgMTItNDIgMTJjLTE3LjE5NiAwLTI5Ljg3NC00LjY1LTQwLTE0cy0xNi42ODktMjQuMDYyLTIwLTQ0bC01NiA2YzMuNjk0IDMzLjgyNiAxNS4wMjEgNjAuMzMxIDM0IDc4czQ2LjU4OSAyNiA4MiAyNmMyNC4zMjkgMCA0My42OTUtNC42NDQgNjAtMTJzMjkuMDgzLTE4Ljg3NSAzOC0zNGM4LjkxNi0xNS4xMjUgMTQtMzAuNjc1IDE0LTQ4LTAtMTkuMTEzLTQuNTQ4LTM1LjAwNi0xMi00OHMtMTYuODE3LTIyLjUwNi0zMC0zMGMtMTMuMTg0LTcuNDk0LTM0LjQ4Ny0xNC45ODctNjItMjJzLTQ0Ljg2Ny0xMy41MzctNTItMjBjLTUuNjA1LTUuMDg3LTgtMTIuODUtOC0yMC0wLTcuODM3IDQuMDEzLTEzLjMyNSAxMC0xOCA5LjI5OC03LjI4NyAyMS41NjgtMTAgMzgtMTAgMTUuOTIyIDAgMjguMDM5IDMuMTk0IDM2IDEwczEzLjU4IDE4LjQ2MiAxNiAzNGw1Ni00Yy0wLjg5Mi0yNy43NzUtMTAuMjMxLTQ5LjM2Mi0yOC02NnMtNDQuODQ0LTI2LTgwLTI2ek04OTYgNjUwYy0zMy45ODkgMC02My43NyAxMy4xMTUtODYgNDBzLTMyIDY0LjUyNC0zMiAxMTJjMCAzOS43NDQgNy4wODYgNzEuOTI0IDI0IDk4IDIzLjQ3MiAyNC44MTQgMzcuNDQ1IDQwLjE5NiA4MCA0OCAxMC4zMDUtMy40NjcgNjkuMjkgMC4yNTYgNzYtNiA5LjcwNC05LjA0OCAxMi41MjUtMzIuNjMxIDItNDQtNi4yNDctNi43NDgtNTYuNTM0LTIuODc5LTcyLTYtMjYuMzg3LTguMjU2LTQxLjAxOC0yOC43NjMtNDAtNzBoMTcwYzAuOTY2LTU4LjA4Ni05LjkzMi0xMDEuODU2LTMyLTEzMHMtNTEuODIzLTQyLTkwLTQyek05MDAgNzA4YzEzLjg1MyAwIDI0LjMzNSA0LjU4IDM0IDE2czE1LjUxOCAyOC4wNjAgMTYgNTBoLTEwMmMtMC4xNi0yMC42ODEgNC4zMzUtMzUuOTUxIDE0LTQ4czIzLjE4LTE4IDM4LTE4ek0yNzggNzM2djEzOGMtMCAyMC42MjUgMS4xNiAzNi4zMTIgNiA0OHMxMy4xNzMgMjEuNTM3IDI0IDI4YzEwLjgyNyA2LjQ2MyAyNC4zNzEgMTAgMzggMTAgMTMuMzc0LTAgMjUuOTYzLTMuMjYyIDM4LTEwczIwLjYxMi0xNi4zMTIgMjgtMjh2MzJoNTB2LTIxOGgtNTR2OTJjLTAgMzEuMzUxLTEuMzI1IDQ5Ljk1Ni00IDU4cy02Ljc0IDE0LjU2OS0xNCAyMGMtNy4yNjEgNS40MzItMTYuODI5IDEwLTI2IDEwLTguMDI1IDAtMTIuNzc4LTEuOTQ0LTE4LTZzLTEwLjAyNi0xMS4wNTYtMTItMThjLTEuOTc0LTYuOTQ0LTItMjUuMTk5LTItNTZ2LTEwMGgtNTR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci1zdXNlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjA0LAorCQkJCSJpZCI6IDIwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NzQsCisJCQkJIm5hbWUiOiAiaXQtc2VydmVyLXN1c2UiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyOTAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTM5OCA0OGMtNDkuNDgtMC4zOTQtMTA1LjA0MCA2Ljc3My0xNjggMjZsLTEwNiAzMzJjMTMwLjMyNy0zMS4xOTYgMjYxLjg0NC00OS44MzEgMzc0IDI4bDEwMC0zMjZjLTUzLjczLTM2LjM2MS0xMTcuNTMzLTU5LjM0My0yMDAtNjB6TTY0NiAxMzZsLTEwMiAzMjZjODUuOTY5IDU4LjE3NyAyMDIuMTA3IDg1LjI3MiAzNzAgMzRsMTA0LTMzMmMtMTMwLjMyNyAzMS4xOTYtMjU5Ljg0NCA0OS44MzEtMzcyLTI4ek0yNzYgNDQ2Yy00OS40OC0wLjM5NC0xMDUuMDQwIDguNzczLTE2OCAyOGwtMTA0IDMzMGMxMzAuMzI3LTMxLjE5NiAyNjEuODQ0LTQ5LjgzMSAzNzQgMjhsMTAwLTMyNGMtNTMuNzMtMzYuMzYxLTExOS41MzMtNjEuMzQzLTIwMi02MnpNNTMyIDUzMmwtMTAwIDMyNGM4NS45NjkgNTguMTc3IDIwMC4xMDcgODcuMjcyIDM2OCAzNmwxMDYtMzMyYy0xMzAuMzI3IDMxLjE5Ni0yNjEuODQ0IDQ5LjgzMS0zNzQtMjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXNlcnZlci13aW5kb3dzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjA1LAorCQkJCSJpZCI6IDE5LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NzUsCisJCQkJIm5hbWUiOiAiaXQtc2VydmVyLXdpbmRvd3MiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyOTEKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE3MiAyYy05NC45MjIgMC0xNzQgNzcuMDc4LTE3NCAxNzJ2Njc4YzAgOTQuOTIyIDc5LjA3OCAxNzQgMTc0IDE3NGg2NzhjOTQuOTIyIDAgMTcyLTc5LjA3OCAxNzItMTc0di02NzhjMC05NC45MjItNzcuMDc4LTE3Mi0xNzItMTcyaC02Nzh6TTE3MiA2Nmg2NzhjNjAuNjU2IDAgMTA4IDQ3LjM0NCAxMDggMTA4djY3OGMwIDYwLjY1Ni00Ny4zNDQgMTEwLTEwOCAxMTBoLTY3OGMtNjAuNjU2IDAtMTEwLTQ5LjM0NC0xMTAtMTEwdi02NzhjMC02MC42NTYgNDkuMzQ0LTEwOCAxMTAtMTA4ek02NDggMTI4Yy02NS43MDIgMC0xMTggNTkuMjUzLTExOCAxMzQgMCAzNS40NTUgMTIuNzM5IDY3Ljg5MiAzMiA5Mi02LjgzIDkuNTcxLTEzLjQ0IDE4LjEyMi0yMCAyOC0xOC4yMzcgMjcuNDU5LTM0LjU3NiA2MC41NTItNDggNzAtNjUuNjczIDQ2LjIyMi05NiAxMDEuMzAxLTk2IDE5NCAwIDEzLjAyMiAyLjMzOCAyNS40NzkgNCAzOCAxOC4zMzctOC45NzUgNDEuNDYtMTQgNjYtMTQgMy4xNzkgMCA0Ljg5LTAuMTczIDggMC0yLjg5OC0xNC40MjQtNC0yNy40MDEtNC00MiAwLjk4NC0xMDAuODc0IDQzLjYtMTYyLjkxOCA5MC0yMjggMi4wODItMi43NCAzLjU4Ni04LjEyMSA2LTEyIDEuOTI4IDMuMzIgNS43NjIgNS45OCAxMCA4bDM4IDE4YzE4LjU3OCA4Ljg1MyAzOS4wMzAgOC4xNTYgNTggMGw0Mi0xOGMwLjY2LTAuMjg0IDEuMzg5IDAuMzI4IDIgMCAzMy4yMzggNzEuNjA0IDc2Ljk3MiAxNTEuNzk1IDc4IDIxOCAwIDE4LjY0MS0yLjgxOSAzNi43MDYtNiA1NCAxMC4yNjctMS45NzYgMjIuNzI0LTIgMzQtMiAxNC44NjEgMCAyOS4wMjAgMC42NDggNDIgNCAwLjY0My03Ljg2NSAyLTE1Ljk1NCAyLTI0IDAtNzguMTY2LTIwLjkwOC0xMzYuMjE5LTcwLTE4NC0yMC4wODktMTkuNTUyLTQ1LjA5NC02Mi4xMjktNzItMTAwIDI0LjY4MS0yNC43NyA0MC01OS42ODQgNDAtMTAwIDAtNzQuNzQ3LTUyLjI5OC0xMzQtMTE4LTEzNHpNNDM4IDEzMGwtMzI4IDM0NCAxNTAgMjQtMTY0IDI5MiAzMTQtMzM0LTExMC02NiAxMzgtMjYwek02MDAgMjM4YzE5LjkwMiAwIDM0IDE2Ljg5NSAzNCA0MCAwIDMuMTg4LTEuNDYxIDcuMDA2LTIgMTAtMy42MzkgMC40NzYtNi4yMDggMi4yMDgtMTAgNCAwLTE3LjM3LTExLjMxNC0zMi0yNC0zMnMtMjIgMTQuNjMtMjIgMzJjMCAxMC41MDkgNC4yMTcgMjAuMjg4IDEwIDI2LTEzLjEyNS02Ljc1Ny0yMi0yMi42NzEtMjItNDAgMC0yMy4xMDUgMTYuMDk4LTQwIDM2LTQwek02OTYgMjQwYzE5LjkwMiAwIDM2IDE2Ljg5NSAzNiA0MCAwIDE3LjMyOS04Ljg3NSAzMy4yNDMtMjIgNDAgNC42MjMtNS43NTMgNi0xNC43NzIgNi0yNCAwLTE3LjM3LTkuMzE0LTMyLTIyLTMycy0yNCAxNC42My0yNCAzMmMwIDEuOTAxLTAuMjM3IDQuMjQ4IDAgNi0yLjQxMy0xLjcwNS01LjU4MS00LjYxOC04LTYtMS45OTQtNS4zMzctNC05Ljk1My00LTE2IDAtMjMuMTA1IDE4LjA5OC00MCAzOC00MHpNNjQ2IDMwNGM5LjY3MS0wIDIwLjcyNCAzLjgzMSAyOCAxMGwzNiAzMmMxMC4zMTUgOC43NDYgMTQuNzIxIDIxLjc2MyAxMCAzMi0xLjQ5OSAxLjAzMS0yLjIwNyAxLjIyOS00IDJsLTQyIDIwYy0xOC45NyA4LjE1Ni0zOS40MjIgOC44NTMtNTggMGwtMzgtMjBjLTEuMzUzLTAuNjQ1LTIuOTI1IDAuNzg4LTQgMC01Ljc5OC0xMC44OC0wLjkxNC0yNC43NDcgMTAtMzRsMzYtMzJjNy4yNzYtNi4xNjkgMTYuMzI5LTEwIDI2LTEwek01ODQgMzUyYy0xLjc5NyAxLjgxNS00IDQuMDEwLTQgNiAwIDExLjA1OCAzMS4yNTUgMjAgNjggMjBzNjQtOC45NDIgNjQtMjBjMC0xLjk5LTAuMjA1LTQuMTg1LTItNi03LjMxOCA4LjY2NS0zMC45MjkgMTQtNjIgMTRzLTU2LjY4Mi01LjMzNS02NC0xNHpNNzg4IDY4NGMtNTAuNzE5IDUuOTc4LTY4IDMzLjA0MC02OCA5MCAwIDY1LjA5OC02Ny40MjQgMTQ4IDIgMTQ4czE3OC02Mi45MDIgMTc4LTEyOGMwLTY1LjA5OC0yMC41NzYtMTEwLTkwLTExMC04LjY3OCAwLTE0Ljc1NC0wLjg1NC0yMiAwek00NjIgNjkyYy02OS40MjQgMC04OCA0NC45MDItODggMTEwczEwNi41NzYgMTI4IDE3NiAxMjhjNjkuNDI0IDAgNC04Mi45MDIgNC0xNDhzLTIyLjU3Ni05MC05Mi05MHpNNTg0IDgyNGwxMCAzOCAxMiA0NGM5LjEwNyAxLjIyMyAxNi41ODQgMiAyNiAyIDkuOTY3IDAgMjAuMzk0LTAuNjIxIDMwLTIgNC4wNzctMTkuOTM1IDE2LTcwIDE2LTcwbDYtMTJjLTE1LjcxMSA3LjY3My0zMi4zMDggMTItNTAgMTItMTguMTA5IDAtMzMuOTQ0LTQuMDU4LTUwLTEyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1zZXJ2ZXItenh2ZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYwNiwKKwkJCQkiaWQiOiAxOCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Nzc2LAorCQkJCSJuYW1lIjogIml0LXNlcnZlci16eHZlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjkyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTQgMGMtODUuMDQwIDAtMTU0IDY4Ljk2LTE1NCAxNTR2NzE2YzAgODUuMDQwIDY4Ljk2IDE1NCAxNTQgMTU0aDcxNmM4NS4wNDAgMCAxNTQtNjguOTYgMTU0LTE1NHYtNzE2YzAtODUuMDQwLTY4Ljk2LTE1NC0xNTQtMTU0aC03MTZ6TTE4NCAyMDhoNjU2YzMwLjk1MyAwIDU2IDI1Ljk3OSA1NiA1OHYxMmMwIDMyLjAyMS0yNS4wNDcgNTgtNTYgNThoLTY1NmMtMzAuOTUzIDAtNTYtMjUuOTc5LTU2LTU4di0xMmMwLTMyLjAyMSAyNS4wNDctNTggNTYtNTh6TTE4NCA0NzZoNjU2YzMwLjk1MyAwIDU2IDI1Ljk3OSA1NiA1OHYxMmMwIDMyLjAyMS0yNS4wNDcgNTgtNTYgNThoLTY1NmMtMzAuOTUzIDAtNTYtMjUuOTc5LTU2LTU4di0xMmMwLTMyLjAyMSAyNS4wNDctNTggNTYtNTh6TTE4NCA3NDRoNjU2YzMwLjk1MyAwIDU2IDI1Ljk3OSA1NiA1OHYxMmMwIDMyLjAyMS0yNS4wNDcgNTgtNTYgNThoLTY1NmMtMzAuOTUzIDAtNTYtMjUuOTc5LTU2LTU4di0xMmMwLTMyLjAyMSAyNS4wNDctNTggNTYtNTh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXN0b3JhZ2UiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MDcsCisJCQkJImlkIjogMTcsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc3NywKKwkJCQkibmFtZSI6ICJpdC1zdG9yYWdlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjkzCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTQgMGMtODUuMDQwIDAtMTU0IDY4Ljk2LTE1NCAxNTR2NzE2YzAgODUuMDQwIDY4Ljk2IDE1NCAxNTQgMTU0aDcxNmM4NS4wNDAgMCAxNTQtNjguOTYgMTU0LTE1NHYtNzE2YzAtODUuMDQwLTY4Ljk2LTE1NC0xNTQtMTU0aC03MTZ6TTE3OCAxMjJoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTE3NiAzNDRoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTMyMCA1ODZjMzkuMjI5IDAgNzEuNSAxMC44MTMgOTYgMzQgMTQuNTgzIDEzLjcwOSAyNC43MDggMzQuMzM0IDMyIDYwbC02NCAxNmMtMy43OTItMTYuNjI1LTExLjk2OS0zMC4zNzUtMjQtNDBzLTI2Ljc5Mi0xNC00NC0xNGMtMjMuNzcxIDAtNDMuMTk4IDguOTM4LTU4IDI2cy0yMiA0My43OTItMjIgODJjLTAgNDAuNTQyIDcuNDE3IDY4Ljc5MiAyMiA4NnMzNC42NjcgMjYgNTggMjZjMTcuMjA4IDAgMzEuNjA0LTUuMDYyIDQ0LTE2czIwLjYwNC0yOC41MjEgMjYtNTJsNjQgMjBjLTkuNjI1IDM1LTI1LjYxNSA2MS4wMTAtNDggNzhzLTUxLjU4NCAyNi04NiAyNmMtNDIuNTgzIDAtNzYuNTgzLTE0LjkwNi0xMDQtNDRzLTQyLTY5LjU0Mi00Mi0xMjBjLTAtNTMuMzc1IDE0LjQzNy05NC40NjggNDItMTI0czYzLjA4My00NCAxMDgtNDR6TTcyNCA1ODZjMzkuMjI5IDAgNzEuNSAxMC44MTMgOTYgMzQgMTQuNTgzIDEzLjcwOSAyNi43MDggMzQuMzM0IDM0IDYwbC02NCAxNmMtMy43OTItMTYuNjI1LTExLjk2OS0zMC4zNzUtMjQtNDBzLTI2Ljc5Mi0xNC00NC0xNGMtMjMuNzcxIDAtNDMuMTk4IDguOTM4LTU4IDI2cy0yMiA0My43OTItMjIgODJjLTAgNDAuNTQyIDcuNDE3IDY4Ljc5MiAyMiA4NnMzMi42NjcgMjYgNTYgMjZjMTcuMjA4IDAgMzEuNjA0LTUuMDYyIDQ0LTE2czIyLjYwNC0yOC41MjEgMjgtNTJsNjIgMjBjLTkuNjI1IDM1LTI1LjYxNSA2MS4wMTAtNDggNzhzLTUxLjU4MyAyNi04NiAyNmMtNDIuNTgzIDAtNzYuNTgzLTE0LjkwNi0xMDQtNDRzLTQyLTY5LjU0Mi00Mi0xMjBjLTAtNTMuMzc1IDE0LjQzNy05NC40NjggNDItMTI0czYzLjA4My00NCAxMDgtNDR6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXN0b3JhZ2UtY2lzY28tbWRzIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjA4LAorCQkJCSJpZCI6IDE2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3NzgsCisJCQkJIm5hbWUiOiAiaXQtc3RvcmFnZS1jaXNjby1tZHMiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyOTQKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTE1NCAwYy04NS4wNDAgMC0xNTQgNjguOTYtMTU0IDE1NHY3MTZjMCA4NS4wNDAgNjguOTYgMTU0IDE1NCAxNTRoNzE2Yzg1LjA0MCAwIDE1NC02OC45NiAxNTQtMTU0di03MTZjMC04NS4wNDAtNjguOTYtMTU0LTE1NC0xNTRoLTcxNnpNMTc4IDEyMmg2NzJjMjYuNzQ3IDAgNDggMjguNTQ0IDQ4IDY0cy0yMS4yNTMgNjQtNDggNjRoLTY3MmMtMjYuNzQ3IDAtNDgtMjguNTQ0LTQ4LTY0czIxLjI1My02NCA0OC02NHpNMTc2IDM0NGg2NzJjMjYuNzQ3IDAgNDggMjguNTQ0IDQ4IDY0cy0yMS4yNTMgNjQtNDggNjRoLTY3MmMtMjYuNzQ3IDAtNDgtMjguNTQ0LTQ4LTY0czIxLjI1My02NCA0OC02NHpNNzYgNTk4aDk0YzIxLjM5MSAwIDM4Ljc3OCAzLjg0NCA1MCA4IDE1LjA3OSA1LjY0MSAyNy4yNDYgMTMuNjAzIDM4IDI4czE4LjM4OSAzMS4xNDYgMjQgNTJjNS42MTEgMjAuODU0IDggNDcuNDI0IDggNzgtMCAyNi44NjUtMC43NCA1MC41NTYtNiA3MC02LjQyOSAyMy43NDgtMTYuMDc3IDQzLjMwNi0yOCA1OC05LjAwMSAxMS4xMzItMjAuNjg3IDE3Ljc2Ni0zNiAyNC0xMS40NTYgNC42MDItMjYuODMgMTAtNDYgMTBoLTk4di0zMjh6TTM1NiA1OThoMTUydjU2aC04OHY3Mmg3NnY1NGgtNzZ2OTBoOTR2NTZoLTE1OHYtMzI4ek01NjggNjAyaDY0djI2OGgxMDB2NTZoLTE2NHYtMzI0ek03ODIgNjA0aDY2djI2OGgxMDB2NTZoLTE2NnYtMzI0ek0xMjggNjU0djIxNmgzOGMxNC40OTUgMCAyNS41NzEtMS45MjIgMzItNCA4LjQxNi0yLjY3MiAxNC40NDctNS42MTcgMjAtMTJzMTAuNDkzLTE3LjM4IDE0LTMyYzMuNTA3LTE0LjYyIDYtMzQuNzY3IDYtNjBzLTIuNDkzLTQ0LjQ5My02LTU4Yy0zLjUwNy0xMy41MDctNy42ODgtMjQuNDMtMTQtMzJzLTE0LjI5OC0xMy4zMjgtMjQtMTZjLTcuMjQ4LTIuMDc3LTIyLjg0Mi0yLTQ0LTJoLTIyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1zdG9yYWdlLW1kMzAwMCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYwOSwKKwkJCQkiaWQiOiAxNSwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Nzc5LAorCQkJCSJuYW1lIjogIml0LXN0b3JhZ2UtbWQzMDAwIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjk1CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTQgMGMtODUuMDQwIDAtMTU0IDY4Ljk2LTE1NCAxNTR2NzE2YzAgODUuMDQwIDY4Ljk2IDE1NCAxNTQgMTU0aDcxNmM4NS4wNDAgMCAxNTQtNjguOTYgMTU0LTE1NHYtNzE2YzAtODUuMDQwLTY4Ljk2LTE1NC0xNTQtMTU0aC03MTZ6TTE3OCAxMjJoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTE3NiAzNDRoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTg0IDU5MGg2NGwxMzIgMjE0di0yMTRoNjB2MzIwaC02NmwtMTI4LTIwOHYyMDhoLTYydi0zMjB6TTM3NiA1OTBoNzBsODAgMjM2IDgwLTIzNmg2OGwtMTE2IDMyMGgtNjhsLTExNC0zMjB6TTY4NCA1OTBoMjU2djU0aC05NnYyNjZoLTY0di0yNjZoLTk2di01NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc3RvcmFnZS1uZXR2YXVsdCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYxMCwKKwkJCQkiaWQiOiAxNCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzgwLAorCQkJCSJuYW1lIjogIml0LXN0b3JhZ2UtbmV0dmF1bHQiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyOTYKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTg2OS45ODEgMGgtNzE1Ljk2MmMtODUuMDM5IDAtMTU0LjAxOSA2OC45OC0xNTQuMDE5IDE1NC4wMTl2NzE2LjAwOWMwIDg0Ljk5MiA2OC45OCAxNTMuOTcyIDE1NC4wMTkgMTUzLjk3Mmg3MTYuMDA5Yzg0Ljk5MiAwIDE1My45NzItNjguOTggMTUzLjk3Mi0xNTQuMDE5di03MTUuOTYyYzAtODUuMDM5LTY4Ljk4LTE1NC4wMTktMTU0LjAxOS0xNTQuMDE5ek0xNzcuOTkgMTIxLjk5Nmg2NzIuMDIzYzI2LjcxNyAwIDQ3Ljk4OCAyOC41MzIgNDcuOTg4IDY0cy0yMS4yNzEgNjQtNDcuOTg4IDY0aC02NzIuMDIzYy0yNi43NjQgMC00Ny45ODgtMjguNTMyLTQ3Ljk4OC02NHMyMS4yNzEtNjQgNDcuOTg4LTY0ek0xNzUuOTg4IDM0NC4wMTdoNjcyLjAyM2MyNi43MTcgMCA0Ny45ODggMjguNTMyIDQ3Ljk4OCA2NHMtMjEuMjcxIDY0LTQ3Ljk4OCA2NGgtNjcyLjAyM2MtMjYuNzY0IDAtNDcuOTg4LTI4LjUzMi00Ny45ODgtNjRzMjEuMjcxLTY0IDQ3Ljk4OC02NHpNMzUxLjQxOCA5MDcuNTQzaC0yNTMuNTMzdi0zOS4zNzdsMTY0LjMwNS0yMDUuNDUyYzExLjYzNi0xNC41NjkgMjIuNzYxLTI3LjIyOSAzMy4yMzMtMzcuOTgxaC0xNzguOTIxdi0zNy44NDFoMjI5LjcwMnYzNy44NDFsLTE4MC4wMzggMjIyLjQ0MS0xOS40NTYgMjIuNTI4aDIwNC43MDd2MzcuODQxek02MjcuMjkzIDYyNC43MzNoLTEwNi4wNzd2MjgyLjgxaC00Mi40OTZ2LTI4Mi44MWgtMTA1LjY1OHYtMzcuODQxaDI1NC4xODV2MzcuODQxek05MTAuOTg4IDkwNy41NDNoLTIzOS4zMzd2LTMyMC42OThoMjMxLjg0M3YzNy44NDFoLTE4OS4zNDd2OTguMjExaDE3Ny4zODV2MzcuNjA5aC0xNzcuMzg1djEwOS4xOTZoMTk2Ljg0MXYzNy44NDF6IgorCQkJCV0sCisJCQkJImF0dHJzIjogWworCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTksIDE0NywgMjA1KSIKKwkJCQkJfQorCQkJCV0sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXN0b3JhZ2Utc2Fuc3dpdGNoLXp0ZSIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk2CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk5LCAxNDcsIDIwNSkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYxMSwKKwkJCQkiaWQiOiAxMywKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzgxLAorCQkJCSJuYW1lIjogIml0LXN0b3JhZ2Utc2Fuc3dpdGNoLXp0ZSIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDI5NworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjM0IDBsLTIzNCAyMjggMTQwIDEzNGM1OS43MDItMzkuMzI0IDEzMS4xNjQtNjIgMjA4LTYyIDQ3LjY5OSAwIDkzLjk2MiA5LjkwMyAxMzYgMjZoMTg2di0xOThoLTQzNnYtMTI4ek03ODggMjQ0djEyOGgtMjIyYzY4LjM0IDQ2LjE2OSAxMTguNDE1IDExNi4wOTkgMTQwIDE5OGg4MnYxMjRsMjM0LTIyNC0yMzQtMjI2ek0zNDYgMzM0Yy0xOTAuNjgyIDAtMzQ2IDE1My4zMTgtMzQ2IDM0NHMxNTUuMzE4IDM0NiAzNDYgMzQ2YzE5MC42ODIgMCAzNDQtMTU1LjMxOCAzNDQtMzQ2cy0xNTMuMzE4LTM0NC0zNDQtMzQ0ek0xODggNTMwaDY0bDExOCAyOThoLTY0bC0yNi02OGgtMTIwbC0yNCA2OGgtNjRsMTE2LTI5OHpNMzgyIDUzMGgyMzZ2NTBoLTg4djI0OGgtNjB2LTI0OGgtODh2LTUwek0yMjAgNjAwbC00MCAxMTBoODBsLTQwLTExMHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc3dpdGNoLWF0IgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjEyLAorCQkJCSJpZCI6IDEyLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3ODIsCisJCQkJIm5hbWUiOiAiaXQtc3dpdGNoLWF0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMjk4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0yMzQgMGwtMjM0IDIyOCAxNDAgMTM0YzU5LjcwMi0zOS4zMjQgMTMxLjE2NC02MiAyMDgtNjIgNDcuNjk5IDAgOTMuOTYyIDkuOTAzIDEzNiAyNmgxODZ2LTE5OGgtNDM2di0xMjh6TTc4OCAyNDR2MTI4aC0yMjJjNjguMzQgNDYuMTY5IDExOC40MTUgMTE2LjA5OSAxNDAgMTk4aDgydjEyNGwyMzQtMjI0LTIzNC0yMjZ6TTM0NiAzMzRjLTE5MC42ODIgMC0zNDYgMTUzLjMxOC0zNDYgMzQ0czE1NS4zMTggMzQ2IDM0NiAzNDZjMTkwLjY4MiAwIDM0NC0xNTUuMzE4IDM0NC0zNDZzLTE1My4zMTgtMzQ0LTM0NC0zNDR6TTIwNCA1MjRjMzYuNDI3IDAgNjcuMjUgMTIuNDY5IDkwIDM0IDEzLjU0MSAxMi43MjkgMjMuMjI5IDMwLjE2NyAzMCA1NGwtNjAgMTRjLTMuNTIxLTE1LjQzNy0xMC44MjgtMjcuMDYyLTIyLTM2cy0yNC4wMjEtMTQtNDAtMTRjLTIyLjA3MyAwLTQwLjI1NSA4LjE1Ni01NCAyNHMtMjAgNDAuNTIxLTIwIDc2Yy0wIDM3LjY0NiA2LjQ1OCA2Ni4wMjEgMjAgODJzMzAuMzMzIDI0IDUyIDI0YzE1Ljk3OSAwIDMwLjQ4OS01Ljg0NCA0Mi0xNnMxOC45ODktMjYuMTk4IDI0LTQ4bDU4IDE4Yy04LjkzOCAzMi41LTIzLjIxNCA1OC4yMjQtNDQgNzRzLTQ4LjA0MiAyMi04MCAyMmMtMzkuNTQyLTAtNzAuNTQyLTEyLjk4NC05Ni00MHMtMzgtNjMuMTQ2LTM4LTExMGMtMC00OS41NjIgMTIuNDA2LTg4LjU3OCAzOC0xMTZzNTguMjkyLTQyIDEwMC00MnpNNTA2IDUyNGMzNi40MjcgMCA2NS4yNSAxMi40NjkgODggMzQgMTMuNTQxIDEyLjcyOSAyMy4yMjkgMzAuMTY3IDMwIDU0bC02MCAxNGMtMy41MjEtMTUuNDM3LTEwLjgyOC0yNy4wNjItMjItMzZzLTI0LjAyMS0xNC00MC0xNGMtMjIuMDczIDAtNDAuMjU1IDguMTU2LTU0IDI0cy0yMCA0MC41MjEtMjAgNzZjLTAgMzcuNjQ2IDYuNDU4IDY2LjAyMSAyMCA4MnMzMC4zMzMgMjQgNTIgMjRjMTUuOTc5IDAgMzAuNDg5LTUuODQ0IDQyLTE2czE4Ljk4OS0yNi4xOTggMjQtNDhsNjAgMThjLTguOTM4IDMyLjUtMjUuMjE0IDU4LjIyNC00NiA3NHMtNDYuMDQyIDIyLTc4IDIyYy0zOS41NDItMC03Mi41NDItMTIuOTg0LTk4LTQwcy0zOC02My4xNDYtMzgtMTEwYy0wLTQ5LjU2MiAxMi40MDYtODguNTc4IDM4LTExNnM2MC4yOTItNDIgMTAyLTQyeiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1zd2l0Y2gtY2lzY28iCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MTMsCisJCQkJImlkIjogMTEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc4MywKKwkJCQkibmFtZSI6ICJpdC1zd2l0Y2gtY2lzY28iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAyOTkKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTY5Ny44MDkgNTQzLjY1MWMzMi4zNDktMjAuNTczIDcwLjU2My0zMi45MDggMTExLjc1Ni0zMi45MDggNDcuNzA5IDAgOTEuMTgzIDE2LjQ3NyAxMjYuMzcxIDQzLjM4bDg4LjA2NC04NC4xMDgtMjM0LjQ0OS0yMjUuOTc4djEyOGgtMjIyLjQ0MWM2MC44MzUgNDAuOTYgMTA1Ljg5MSAxMDEuMzI5IDEzMC43IDE3MS42MTN6IiwKKwkJCQkJIk0zNDguNjcyIDI5OS45ODVjNDcuNzU2IDAgOTQuMTYxIDkuOTE0IDEzNi4yODUgMjYuMDE5aDE4Ni4zNjh2LTE5OC4wMDRoLTQzNi44NzZ2LTEyOGwtMjM0LjQ0OSAyMjcuOTggMTQwLjI4OCAxMzQuMDA0YzU5Ljc2NC0zOS4yODQgMTMxLjM5OC02MS45OTkgMjA4LjM4NC02MS45OTl6IiwKKwkJCQkJIk0zNDYuNjcxIDMzNC4wMTBjLTE5MS4wNjkgMC0zNDYuNjcxIDE1My4zMjEtMzQ2LjY3MSAzNDMuOTcxczE1NS42MDEgMzQ2LjAxOSAzNDYuNjcxIDM0Ni4wMTljMTI4Ljc5MSAwIDI0MC4zMTQtNzAuNzAzIDI5OS41Mi0xNzUuMTUxLTI4LjM0Ni0zNS42MDctNDUuOTQtODAuMTUxLTQ1Ljk0LTEyOS4xMTcgMC02MS45OTkgMjcuNTU1LTExNy4wNjIgNzAuNTE2LTE1NS4zNjktNDcuMDExLTEzNC4wOTctMTczLjE5Ni0yMzAuMzUzLTMyNC4wOTYtMjMwLjM1M3pNMzM0Ljg0OCA4ODAuMDM1aC00Mi41NDN2LTE1MS4wODdoLTE2Ny4wMDV2MTUxLjA4N2gtNDIuNDk2di0zMjAuNjk4aDQyLjU0M3YxMzEuNjc3aDE2Ni45NTl2LTEzMS42NzdoNDIuNTQzdjMyMC42OTh6TTU2OS41MyA4NTYuNTI5Yy0yMC4zODcgMTkuNDU2LTQ2LjI2NiAyOS4xODQtNzcuNTQ1IDI5LjE4NC0yOC4yNTMgMC01MS42NjUtOC4zNzgtNzAuMjg0LTI1LjE4MS0xOC42NjUtMTYuNzEtMjkuMjMxLTM4LjQ5My0zMS44ODQtNjUuMDcxbDM5LjM3Ny01LjI2YzQuNTYxIDIyLjI5NSAxMi4yODggMzguMzUzIDIzLjE4IDQ4LjE3NSAxMC44OTIgOS45MTQgMjQuMTExIDE0LjgwMSAzOS43NSAxNC44MDEgMTguNTI1IDAgMzQuMjU3LTYuNDcgNDcuMDU3LTE5LjIyMyAxMi43NTMtMTIuODkzIDE5LjE3Ny0yOC43NjUgMTkuMTc3LTQ3Ljc1NiAwLTE4LjA2MC01Ljg2NS0zMi45MDgtMTcuNzgtNDQuNjg0LTExLjc3Ni0xMS43NzYtMjYuODU3LTE3LjY0MS00NS4xMDMtMTcuNjQxLTcuNDk0IDAtMTYuNzU2IDEuNDQzLTI3Ljg4MSA0LjQyMmw0LjM3NS0zNC41ODNjMi42NTMgMC4yNzkgNC43NDggMC40NjUgNi4zMyAwLjQ2NSAxNi44NDkgMCAzMS45NzctNC40MjIgNDUuNDI4LTEzLjEyNnMyMC4xNTQtMjIuMjk1IDIwLjE1NC00MC40NDhjMC0xNC41MjItNC44ODctMjYuMzkxLTE0LjcwOC0zNS44ODctOS43NzUtOS40OTUtMjIuNDM1LTE0LjI0My0zNy44ODgtMTQuMjQzLTE1LjM2IDAtMjguMTEzIDQuODQxLTM4LjQgMTQuNDI5LTEwLjE5MyA5LjYzNS0xNi44MDMgMjQuMTExLTE5LjY4OSA0My4zMzRsLTM5LjUxNy02Ljk4MmM0Ljg4Ny0yNi4zNDUgMTUuODI1LTQ2Ljg3MSAzMi44NjEtNjEuMzQ3IDE3LjE3NS0xNC41MjIgMzguNC0yMS43MzcgNjMuODE0LTIxLjczNyAxNy41NDggMCAzMy42OTkgMy43NyA0OC40MDcgMTEuMjY0IDE0Ljc1NSA3LjQ5NCAyNi4wNjUgMTcuNzM0IDMzLjg4NSAzMC43MiA3Ljg2NiAxMi45ODYgMTEuNzI5IDI2Ljc2NCAxMS43MjkgNDEuNDI1IDAgMTMuODI0LTMuNjc3IDI2LjM5MS0xMS4xMjQgMzcuODQxLTcuNDQ3IDExLjM1Ny0xOC40NzkgMjAuMzg3LTMzLjA0NyAyNy4wODkgMTguOTkxIDQuMzc1IDMzLjY5OSAxMy40NTIgNDQuMjE4IDI3LjI3NiAxMC41MTkgMTMuNzMxIDE1Ljc3OSAzMC45OTkgMTUuNzc5IDUxLjY2NSAwLjA0NyAyNy44ODEtMTAuMTQ3IDUxLjU3Mi0zMC42NzMgNzEuMDc1eiIsCisJCQkJCSJNODc5LjI5IDgyOC42NDljLTE2LjQ3NyAxMy42ODQtMzYuNjMxIDIwLjQ4LTYwLjUwOSAyMC40OC0xOS41NDkgMC0zNy43NDgtNC45OC01NC41NTEtMTUuMDgxLTE2Ljc1Ni0xMC4wNTQtMjkuMTg0LTI1LjIyOC0zNy4xNDMtNDUuNTY4cy0xMS45NjItNDQuMTI1LTExLjk2Mi03MS40NDdjMC0yMS4xMzIgMy4zOTgtNDEuNjU4IDEwLjEtNjEuNTMzczE4LjM4NS0zNS43OTMgMzQuOTU2LTQ3LjU2OSAzNy4yODMtMTcuNzM0IDYxLjkwNS0xNy43MzRjMjEuNTA0IDAgMzkuMzc3IDUuMzUzIDUzLjQ4MSAxNi4wMTIgMTQuMTUgMTAuNjEyIDI0Ljk5NSAyNy42MDEgMzIuNDQyIDUxLjAxNGw0MS44NDQtOS44NjhjLTguNjU3LTI5LjY0OS0yMy45MjQtNTIuNTk2LTQ1LjgwMS02OC44ODctMjEuOTIzLTE2LjM4NC00OS4wMTItMjQuNDgzLTgxLjA4Mi0yNC40ODMtMjguMzQ2IDAtNTQuMzE5IDYuNDctNzcuOTE3IDE5LjMxNi0yMy42NDUgMTIuOTQtNDEuODQ0IDMxLjgzNy01NC42NDQgNTYuNjkycy0xOS4xMyA1My45OTMtMTkuMTMgODcuNDEyYzAgMzAuNTggNS42MzIgNTkuMjA2IDE2Ljk0MyA4Ni4wMTYgMTEuMzU3IDI2LjU3NyAyNy44ODEgNDcuMDU3IDQ5LjUyNCA2MS4xMTQgMjEuNzM3IDE0LjEwMyA0OS44OTcgMjEuMTMyIDg0LjQzMyAyMS4xMzIgMzMuNTU5IDAgNjEuODEyLTkuMTY5IDg0Ljk5Mi0yNy41MDhzMzkuMTkxLTQ0Ljg3IDQ4LjA4MS03OS43MzJsLTQyLjQ5Ni0xMC43MDVjLTUuNzcyIDI2LjgxLTE2Ljk0MyA0Ny4xNTEtMzMuNDY2IDYwLjkyOHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5OSwgMTQ3LCAyMDUpIgorCQkJCQl9LAorCQkJCQl7CisJCQkJCQkiZmlsbCI6ICJyZ2IoOTksIDE0NywgMjA1KSIKKwkJCQkJfSwKKwkJCQkJeworCQkJCQkJImZpbGwiOiAicmdiKDk5LCAxNDcsIDIwNSkiCisJCQkJCX0sCisJCQkJCXsKKwkJCQkJCSJmaWxsIjogInJnYig5OSwgMTQ3LCAyMDUpIgorCQkJCQl9CisJCQkJXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc3dpdGNoLWgzYyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbCisJCQkJCQk2LAorCQkJCQkJNiwKKwkJCQkJCTYsCisJCQkJCQk2CisJCQkJCV0KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogWworCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk5LCAxNDcsIDIwNSkiCisJCQkJfSwKKwkJCQl7CisJCQkJCSJmaWxsIjogInJnYig5OSwgMTQ3LCAyMDUpIgorCQkJCX0sCisJCQkJeworCQkJCQkiZmlsbCI6ICJyZ2IoOTksIDE0NywgMjA1KSIKKwkJCQl9LAorCQkJCXsKKwkJCQkJImZpbGwiOiAicmdiKDk5LCAxNDcsIDIwNSkiCisJCQkJfQorCQkJXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYxNCwKKwkJCQkiaWQiOiAxMCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5Nzg0LAorCQkJCSJuYW1lIjogIml0LXN3aXRjaC1oM2MiCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzMDAKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTIzNCAwbC0yMzQgMjI4IDE0MCAxMzRjNTkuNzAyLTM5LjMyNCAxMzEuMTY0LTYyIDIwOC02MiA0Ny42OTkgMCA5My45NjIgOS45MDMgMTM2IDI2aDE4NnYtMTk4aC00MzZ2LTEyOHpNNzg4IDI0NHYxMjhoLTIyMmM2OC4zNCA0Ni4xNjkgMTE4LjQxNSAxMTYuMDk5IDE0MCAxOThoODJ2MTI0bDIzNC0yMjQtMjM0LTIyNnpNMzQ2IDMzNGMtMTkwLjY4MiAwLTM0NiAxNTMuMzE4LTM0NiAzNDRzMTU1LjMxOCAzNDYgMzQ2IDM0NmMxOTAuNjgyIDAgMzQ0LTE1NS4zMTggMzQ0LTM0NnMtMTUzLjMxOC0zNDQtMzQ0LTM0NHpNMjI2IDUxNmg2NHYyMDJjLTAgMjYuNTQyLTEuMzM0IDQ3LjcwOC02IDYyLTYuMjcxIDE4LjY2Ny0xNy41MjEgMzIuNjk4LTM0IDQ0cy0zOS4wMjEgMTgtNjYgMThjLTMxLjY0Ni0wLTU0LjkzOC04LjI4MS03Mi0yNnMtMjUuODU0LTQzLjcyOS0yNi03OGw2MC04YzAuNzI5IDE4LjM3NSAzLjMzMyAzMi40MTcgOCA0MCA3IDExLjUyMSAxNy43MDggMTYgMzIgMTYgMTQuNDM3IDAgMjQuMDIxLTMuNzYgMzAtMTJzMTAtMjYuMDQyIDEwLTUydi0yMDZ6TTM2MCA1MTZoMTA0YzM5LjM3NSAwIDY0LjA0MSAwLjc5MiA3NiA0IDE4LjM3NSA0LjgxMyAzMy42MDQgMTUuODg2IDQ2IDMyczIwIDM2LjQ3OSAyMCA2MmMtMCAxOS42ODgtNC44NTQgMzYuNTgzLTEyIDUwcy0xNC45OSAyNC4zNDQtMjYgMzJjLTExLjAxMSA3LjY1Ni0yMi42MjUgMTEuNTIxLTM0IDE0LTE1LjQ1OSAzLjA2Mi0zOC42ODggNi02OCA2aC00MnYxMjBoLTY0di0zMjB6TTQyNCA1NzB2OTBoMzZjMjUuNTIxIDAgNDEuMzk2LTAuNjQ2IDUwLTRzMTcuMTE0LTguODU0IDIyLTE2YzQuODg1LTcuMTQ2IDYtMTQuNTIxIDYtMjQtMC0xMS42NjYtMy4xNDYtMjIuNDE2LTEwLTMwcy0xNS41LTEyLjEwNC0yNi0xNGMtNy43MjktMS40NTgtMjIuNjY3LTItNDYtMmgtMzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXN3aXRjaC1qdW5pcGVyIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjE1LAorCQkJCSJpZCI6IDksCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc4NSwKKwkJCQkibmFtZSI6ICJpdC1zd2l0Y2gtanVuaXBlciIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDMwMQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNMjM0IDBsLTIzNCAyMjggMTQwIDEzNGM1OS43MDItMzkuMzI0IDEzMS4xNjQtNjIgMjA4LTYyIDQ3LjY5OSAwIDkzLjk2MiA5LjkwMyAxMzYgMjZoMTg2di0xOThoLTQzNnYtMTI4ek03ODggMjQ0djEyOGgtMjIyYzY4LjM0IDQ2LjE2OSAxMTguNDE1IDExNi4wOTkgMTQwIDE5OGg4MnYxMjRsMjM0LTIyNC0yMzQtMjI2ek0zNDYgMzM0Yy0xOTAuNjgyIDAtMzQ2IDE1My4zMTgtMzQ2IDM0NHMxNTUuMzE4IDM0NiAzNDYgMzQ2YzE5MC42ODIgMCAzNDQtMTU1LjMxOCAzNDQtMzQ2cy0xNTMuMzE4LTM0NC0zNDQtMzQ0ek05OCA1MzZoMTQ4djQ0bC0xMTIgMTk0aDExNnY0OGgtMTY0di01MmwxMDYtMTg2aC05NHYtNDh6TTI2MiA1MzZoMTYydjQ4aC02MHYyMzhoLTQydi0yMzhoLTYwdi00OHpNNDUwIDUzNmgxNTJ2NDhoLTExMHY2NGgxMDJ2NDhoLTEwMnY3OGgxMTR2NDhoLTE1NnYtMjg2eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1zd2l0Y2gtenRlIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjE2LAorCQkJCSJpZCI6IDgsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc4NiwKKwkJCQkibmFtZSI6ICJpdC1zd2l0Y2gtenRlIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMzAyCisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk02MCAwYy0zMy40OTUgMC02MCAyNi41MDUtNjAgNjB2NDg0YzAgMzMuNDk1IDI2LjUwNSA2MCA2MCA2MGg5MDRjMzMuNDk1IDAgNjAtMjYuNTA1IDYwLTYwdi00ODRjMC0zMy40OTUtMjYuNTA1LTYwLTYwLTYwek0yMjIgMTcwaDU4MGMzMy40OTUgMCA2MCAyNi41MDUgNjAgNjB2MTE0YzAgMzMuNDk1LTI2LjUwNSA2Mi02MCA2MmgtNTgwYy0zMy40OTUgMC02MC0yOC41MDUtNjAtNjJ2LTExNGMwLTMzLjQ5NSAyNi41MDUtNjAgNjAtNjB6TTc0MCAxODRjLTU0LjUwMyAwLTk4IDQzLjQ5Ny05OCA5OHM0My40OTcgOTggOTggOThjNTQuNTAzIDAgOTgtNDMuNDk3IDk4LTk4cy00My40OTctOTgtOTgtOTh6TTI4NCAxOTRjLTU0LjUwMyAwLTk4IDQzLjQ5Ny05OCA5OHM0My40OTcgMTAwIDk4IDEwMGM1NC41MDMgMCA5OC00NS40OTcgOTgtMTAwcy00My40OTctOTgtOTgtOTh6TTIyOCA2NDAuMDY0djMyMGg2NHYtMTQwaDEyOHYxNDBoNjR2LTMyMGgtNjR2MTI2aC0xMjh2LTEyNnpNNTUwIDY0MC4wNjR2MzIwaDY2di0xMjBoNDJjMjkuMzEyIDAgNTIuNTQxLTIuOTM4IDY4LTYgMTEuMzc1LTIuNDc5IDIwLjk4OS02LjM0NCAzMi0xNHMyMC44NTQtMTguNTgzIDI4LTMyYzcuMTQ2LTEzLjQxNyAxMC0zMC4zMTIgMTAtNTAtMC0yNS41MjEtNS42MDQtNDUuODg1LTE4LTYycy0yNy42MjUtMjcuMTg3LTQ2LTMyYy0xMS45NTktMy4yMDgtMzguNjI1LTQtNzgtNHpNNjE2IDY5NC4wNjRoMzBjMjMuMzMzIDAgNDAuMjcxIDAuNTQ0IDQ4IDIgMTAuNSAxLjg5NiAxOS4xNDYgNi40MTcgMjYgMTRzMTAgMTYuMzM0IDEwIDI4Yy0wIDkuNDc5LTMuMTE1IDE4Ljg1NC04IDI2cy0xMS4zOTYgMTIuNjQ2LTIwIDE2Yy04LjYwNCAzLjM1NC0yNC40NzkgNC01MCA0aC0zNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtdGFwZWxpYi1ocG1zbCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYxNywKKwkJCQkiaWQiOiA3LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3ODcsCisJCQkJIm5hbWUiOiAiaXQtdGFwZWxpYi1ocG1zbCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDMwMworCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjAtMmMtMzMuNDk1IDAtNjAgMjYuNTA1LTYwIDYwdjQ4NGMwIDMzLjQ5NSAyNi41MDUgNjAgNjAgNjBoOTA0YzMzLjQ5NSAwIDYwLTI2LjUwNSA2MC02MHYtNDg0YzAtMzMuNDk1LTI2LjUwNS02MC02MC02MGgtOTA0ek0yMjIgMTY4aDU4MGMzMy40OTUgMCA2MCAyNi41MDUgNjAgNjB2MTE0YzAgMzMuNDk1LTI2LjUwNSA2Mi02MCA2MmgtNTgwYy0zMy40OTUgMC02MC0yOC41MDUtNjAtNjJ2LTExNGMwLTMzLjQ5NSAyNi41MDUtNjAgNjAtNjB6TTc0MCAxODJjLTU0LjUwMyAwLTk4IDQzLjQ5Ny05OCA5OHM0My40OTcgOTggOTggOThjNTQuNTAzIDAgOTgtNDMuNDk3IDk4LTk4cy00My40OTctOTgtOTgtOTh6TTI4NCAxOTJjLTU0LjUwMyAwLTk4IDQzLjQ5Ny05OCA5OHM0My40OTcgMTAwIDk4IDEwMGM1NC41MDMgMCA5OC00NS40OTcgOTgtMTAwcy00My40OTctOTgtOTgtOTh6TTY0MiA2MzBjLTI0LjY0NiAwLTQ2LjU3MyA0LjU2My02NCAxMnMtMzAuNzQgMTcuNzgyLTQwIDMyYy05LjI2IDE0LjIxOS0xNCAyOS42NjctMTQgNDYtMCAyNS4zNzUgMTAuMzEyIDQ2LjM1NCAzMCA2NCAxNCAxMi41NDIgMzcuMjkyIDIzLjM5NiA3MiAzMiAyNi45NzkgNi43MDggNDQuNDE2IDExLjM3NSA1MiAxNCAxMS4wODMgMy45MzggMTkuNTUyIDguNjc3IDI0IDE0czYgMTIuNDE3IDYgMjBjLTAgMTEuODEzLTUuNDI3IDIxLjE3Ny0xNiAzMHMtMjUuMTQ2IDE0LTQ2IDE0Yy0xOS42ODggMC0zNi40MDYtNi4wODMtNDgtMTZzLTE4LjIwOC0yNC44NTQtMjItNDZsLTY0IDZjNC4yMjkgMzUuODc1IDE4LjI3MSA2My4yNiA0MCA4MnM1MS40NTggMjggOTIgMjhjMjcuODU0LTAgNTEuMzMzLTQuMTk4IDcwLTEyczMzLjc5MS0xOS45NTggNDQtMzZjMTAuMjA4LTE2LjA0MiAxNi0zMS42MjUgMTYtNTAtMC0yMC4yNzEtNS40NjktMzguMjE5LTE0LTUycy0xOC45MDYtMjQuMDUyLTM0LTMyYy0xNS4wOTQtNy45NDgtMzguNS0xNi41NjItNzAtMjRzLTUxLjgzMy0xNS4xNDYtNjAtMjJjLTYuNDE3LTUuMzk2LTEwLTEwLjQxNi0xMC0xOC0wLTguMzEyIDMuMTQ2LTE1LjA0MSAxMC0yMCAxMC42NDYtNy43MjkgMjUuMTg3LTEyIDQ0LTEyIDE4LjIyOSAwIDMyLjg4NSAyLjc4MSA0MiAxMHMxNS4yMjkgMTkuNTIxIDE4IDM2bDY0LTJjLTEuMDIxLTI5LjQ1OC0xMS42NTctNTQuMzU0LTMyLTcycy00OS43NS0yNi05MC0yNnpNMjMyIDYzNnY1NGg5NnYyNjZoNjR2LTI2Nmg5NHYtNTRoLTI1NHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtdGFwZWxpYi1pYm10cyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYxOCwKKwkJCQkiaWQiOiA2LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3ODgsCisJCQkJIm5hbWUiOiAiaXQtdGFwZWxpYi1pYm10cyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDMwNAorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNjAgMGMtMzMuNDk1IDAtNjAgMjYuNTA1LTYwIDYwdjQ4NGMwIDMzLjQ5NSAyNi41MDUgNjAgNjAgNjBoOTA0YzMzLjQ5NSAwIDYwLTI2LjUwNSA2MC02MHYtNDg0YzAtMzMuNDk1LTI2LjUwNS02MC02MC02MHpNMjIyIDE3MGg1ODBjMzMuNDk1IDAgNjAgMjYuNTA1IDYwIDYwdjExNGMwIDMzLjQ5NS0yNi41MDUgNjItNjAgNjJoLTU4MGMtMzMuNDk1IDAtNjAtMjguNTA1LTYwLTYydi0xMTRjMC0zMy40OTUgMjYuNTA1LTYwIDYwLTYwek03NDAgMTg0Yy01NC41MDMgMC05OCA0My40OTctOTggOThzNDMuNDk3IDk4IDk4IDk4YzU0LjUwMyAwIDk4LTQzLjQ5NyA5OC05OHMtNDMuNDk3LTk4LTk4LTk4ek0yODQgMTk0Yy01NC41MDMgMC05OCA0My40OTctOTggOThzNDMuNDk3IDEwMCA5OCAxMDBjNTQuNTAzIDAgOTgtNDUuNDk3IDk4LTEwMHMtNDMuNDk3LTk4LTk4LTk4ek0xOTQgNjM4LjcxOGMtMjQuNjQ2IDAtNDYuNTczIDQuNTYzLTY0IDEycy0zMC43NCAxNy43ODItNDAgMzJjLTkuMjYgMTQuMjE5LTE0IDI5LjY2Ny0xNCA0Ni0wIDI1LjM3NSAxMC4zMTIgNDYuMzU0IDMwIDY0IDE0IDEyLjU0MiAzNy4yOTIgMjMuMzk2IDcyIDMyIDI2Ljk3OSA2LjcwOCA0NC40MTYgMTEuMzc1IDUyIDE0IDExLjA4MyAzLjkzNyAxOS41NTIgOC42NzcgMjQgMTRzNiAxMi40MTcgNiAyMGMtMCAxMS44MTMtNS40MjcgMjEuMTc3LTE2IDMwcy0yNS4xNDYgMTQtNDYgMTRjLTE5LjY4OCAwLTM2LjQwNi02LjA4My00OC0xNnMtMTguMjA4LTI0Ljg1NC0yMi00NmwtNjQgNmM0LjIyOSAzNS44NzUgMTguMjcxIDYzLjI2IDQwIDgyczUzLjQ1OCAyOCA5NCAyOGMyNy44NTQgMCA0OS4zMzMtNC4xOTggNjgtMTJzMzMuNzkxLTE5Ljk1OCA0NC0zNmMxMC4yMDgtMTYuMDQyIDE2LTMzLjYyNSAxNi01Mi0wLTIwLjI3MS01LjQ2OS0zNi4yMTktMTQtNTBzLTE4LjkwNi0yNC4wNTItMzQtMzJjLTE1LjA5NC03Ljk0OC0zOC41LTE2LjU2Mi03MC0yNHMtNTEuODMzLTE1LjE0Ni02MC0yMmMtNi40MTctNS4zOTYtMTAtMTAuNDE2LTEwLTE4LTAtOC4zMTIgMy4xNDYtMTUuMDQxIDEwLTIwIDEwLjY0Ni03LjcyOSAyNS4xODctMTIgNDQtMTIgMTguMjI5IDAgMzIuODg1IDIuNzgxIDQyIDEwczE1LjIyOSAxOS41MjEgMTggMzZsNjQtMmMtMS4wMjEtMjkuNDU4LTExLjY1Ny01NC4zNTQtMzItNzJzLTQ5Ljc1LTI2LTkwLTI2ek0zODAgNjQ0LjcxOHYxNzBjMCAzNS44NzUgMS43NzEgNjMuNjI1IDYgODIgMi45MTcgMTIuMzk2IDguODEyIDI0LjY5OCAxOCAzNnMyMi4xNzcgMjAuOTI3IDM4IDI4YzE1LjgyMyA3LjA3MyAzOS4zNzUgMTAgNzAgMTAgMjUuMzc1IDAgNDYuMjUtMy41MSA2Mi0xMHMyOC41OTMtMTUuMDYyIDM4LTI2YzkuNDA2LTEwLjkzNyAxNC41LTI0LjEwNCAxOC00MHM2LTQzLjUgNi04MnYtMTY4aC02NnYxNzhjLTAgMjUuMzc1LTAuMTA0IDQzLjA2My0yIDU0cy02LjY2NyAyMC40OS0xNiAyOGMtOS4zMzQgNy41MTEtMjMuNjI1IDEwLTQyIDEwLTE4LjA4MyAwLTMzLjU3My00LjA1Mi00NC0xMnMtMTUuMjI5LTE4Ljg3NS0xOC0zMmMtMS42MDQtOC4xNjctNC0yNC40MzctNC01MnYtMTc0ek03MDQgNjQ0LjcxOHYzMjBoNjB2LTIwOGwxMzAgMjA4aDY2di0zMjBoLTYwdjIxNGwtMTMyLTIxNHoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtdGFwZWxpYi1zdW50cyIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYxOSwKKwkJCQkiaWQiOiA1LAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3ODksCisJCQkJIm5hbWUiOiAiaXQtdGFwZWxpYi1zdW50cyIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDMwNQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTExLjk3NSAzLjI0NmwyMTEuMTU3IDIxMS4xODctMjExLjIzMiAyMTEuMjAyLTIxMS4xNTctMjExLjE4NyAyMTEuMjMyLTIxMS4yMDJ6IiwKKwkJCQkJIk0tMC4wMjMgNTA3Ljk0NGwyMTEuMjAyLTIxMS4yMDIgMjExLjIwMiAyMTEuMjAyLTIxMS4yMDIgMjExLjIwMi0yMTEuMjAyLTIxMS4yMDJ6IiwKKwkJCQkJIk02MDEuNTE0IDUwNy44MzhsMjExLjIzMi0yMTEuMTcyIDIxMS4yMTggMjExLjI3Ny0yMTEuMjMyIDIxMS4xNzItMjExLjIxOC0yMTEuMjc3eiIsCisJCQkJCSJNNTExLjk1NCAxMDIzLjk5OGwtMjExLjIwMi0yMTEuMjAyIDIxMS4xNTctMjExLjE1NyAyMTEuMjAyIDIxMS4yMDItMjExLjE1NyAyMTEuMTU3eiIKKwkJCQldLAorCQkJCSJhdHRycyI6IFtdLAorCQkJCSJpc011bHRpY29sb3IiOiBmYWxzZSwKKwkJCQkiZ3JpZCI6IDAsCisJCQkJInRhZ3MiOiBbCisJCQkJCSJpdC1WaXJ0dWFsIG5ldHdvcmsiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MjAsCisJCQkJImlkIjogNCwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzkwLAorCQkJCSJuYW1lIjogIml0LVZpcnR1YWxuZXR3b3JrIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMzA2CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xMzItNGMtNzAuOTEyIDAtMTI4IDU3LjA4OC0xMjggMTI4djc2OGMwIDcwLjkxMiA1Ny4wODggMTI4IDEyOCAxMjhoNDE4bDQ3OC00ODB2LTQxNmMwLTcwLjkxMi01Ny4wODgtMTI4LTEyOC0xMjhoLTc2OHpNMTE0IDc4aDExMmwyMzQgMzgwdi0zODBoMTA2djU3MGgtMTE2bC0yMzAtMzcydjM3MmgtMTA2di01NzB6TTEwMjggNjQwbC0zODAgMzgwaDI1MmM3MC45MTIgMCAxMjgtNTcuMDg4IDEyOC0xMjh2LTI1MnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtYXBwLW5ldG51bWVuIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjIxLAorCQkJCSJpZCI6IDMsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc5MSwKKwkJCQkibmFtZSI6ICJpdC1hcHAtbmV0bnVtZW4iCisJCQl9LAorCQkJInNldElkeCI6IDAsCisJCQkic2V0SWQiOiAxLAorCQkJImljb25JZHgiOiAzMDcKKwkJfSwKKwkJeworCQkJImljb24iOiB7CisJCQkJInBhdGhzIjogWworCQkJCQkiTTQ5OCAwYy04Mi41MzIgMi4xNDQtMTY1LjQ3MyAyMy44MTctMjQyIDY4LTI0NC44ODYgMTQxLjM4NS0zMjkuMzg2IDQ1NS4xMTMtMTg4IDcwMCAxMTAuNDU3IDE5MS4zMTggMzI2LjMyOCAyODMuODU4IDUzMiAyNDgtNjcuNDQ3LTE1LjQ3MS0xMjYuMDg4LTQ5LjM5Mi0xNzItOTgtMTkuNjQ4LTQuMDQzLTM5LjMyMi03LjMwOC01OC0xNGwzMi0xOGMtMjAuNzczLTI3Ljk1OS0zOC40MDEtNTguNDM2LTUwLTkybC05MCA1MmMtMzAuMzE2LTIyLjY5OS01Ni4yNzktNTIuNzM0LTgwLTg0bDExMC02NGMxNi4wNDcgMjMuMjggMzQuMjI1IDQzLjU1MyA1MiA2NC02LjMzOS0yNi4xMzktMTItNTEuOTEyLTEyLTgwIDAtNTEuMjYxIDExLjkzMS0xMDAuMjc1IDMyLTE0NGwtNDIgMjRjLTE4LjIwMy0zMy43ODctMzQuNjY4LTY3Ljk4LTQ4LTEwMmwxMTItNjQgMzQgNThjMjMuNDk0LTI2LjYwOSA0OS4zNzktNDkuNjY0IDgwLTY4bC0yNC00MiAxMDQtNjBjMTQuODkxIDE4LjQ3NCAyOC4yODMgMzcuNjY2IDQyIDU4IDE4LjA5Ny0yLjkzNCAzNS4wNzQtNiA1NC02IDYwLjQ4MSAwIDExOC41ODggMTYuNjQxIDE2OCA0NGw1MC0zMGMxMS45MzIgMjguMzY3IDIwLjA4MCA1OC42NjggMjYgODggMC42NzMgMC42NzMgMS4zMzIgMS4zMjIgMiAyIDQ1LjczMSA0Ni40OSA3OC40MjMgMTA1LjY1IDkyIDE3MiAyMy42Ni0xMTcuODA2IDYuODAyLTI0My43Ni01OC0zNTYtOTcuMjAzLTE2OC4zNi0yNzYuNDI5LTI2MC43MTYtNDU4LTI1NnpNNTIyIDk4YzQ1LjQzMyAxLjE2NCA5MS41MSA4LjQ1NSAxMzQgMjRsLTY0IDM2Yy0yMi44MTQtMjIuMTMxLTQ2LjAwMy00MS43MDEtNzAtNjB6TTM5NCAxMTRjMzkuNTkzIDI1LjY0OSA3Ny4yMTYgNTYuMjc1IDExNCA5MmwtODQgNTAtNzItMTI2YzEzLjc0NC01Ljc5MiAyNy45NDQtMTEuODAxIDQyLTE2ek03NjAgMTc4YzMxLjE2OSAyMy4wMTkgNTcuNzE0IDQ5Ljk4OSA4MiA4MmwtMTE2IDY4Yy0yMC40MTYtMzIuNzYtNDAuODc5LTYzLjM3My02NC05Mmw4OC01MmMzLjIwMy0xLjg0OSA3LjYwNS0zLjQzNSAxMC02ek0yNjIgMTgybDcyIDEyNi05MiA1MmMtMTIuNzExLTQ5LjMyMS0xNy4yNTQtOTcuMTgtMjAtMTQ0IDEyLjM5Mi0xMi4xOCAyNS44ODYtMjMuMjk0IDQwLTM0ek0xNDIgMzI0YzMuOTk1IDI3LjkwNCAxMC42MzMgNTUuMzY3IDE4IDg0bC01OCAzNGM3LjEyNS00MC43OTEgMjEuMTc4LTgwLjk1OCA0MC0xMTh6TTY3NCAzOTZjLTE1OC41NzQgMC0yODYgMTI5LjQyNi0yODYgMjg4czEyNy40MjYgMjg2IDI4NiAyODZjMTU4LjU3NCAwIDI4OC0xMjcuNDI2IDI4OC0yODZzLTEyOS40MjYtMjg4LTI4OC0yODh6TTE5MiA1MDZjMTMuMzk4IDM0LjMxNCAyNy42NzkgNjkuOTk0IDQ2IDEwNGwtMTA4IDYyYy0xNS4yMTctMzYuMTc2LTI3LjUtNzIuMzk2LTMyLTExMGw5NC01NnpNNjU0IDUxMmMxOS42MTQgMCAzNiAxNi4zODYgMzYgMzYgMCAxLjAzOSAwLjA4MyAwLjk4OCAwIDJsMTI2IDY2YzguNjYzLTcuMzY2IDE5LjQ0MS0xMiAzMi0xMiAyNy40NiAwIDUwIDIxLjMyNSA1MCA0OHMtMjIuNTQgNDgtNTAgNDhjLTEyLjU1OSAwLTIzLjMzNy00LjMwNS0zMi0xMmwtNzYgNTBjMCAxLjA1MSAwLjE0NyAwLjk4OSAwIDJsOTIgNjJjNC45MDUtMy44ODggOC45OS02IDE2LTYgMTYuNTY4IDAgMzIgMTEuOTA1IDMyIDI4cy0xNS40MzIgMzAtMzIgMzBjLTE2LjU2OCAwLTI4LTEzLjkwNS0yOC0zMGwtOTQtNjZjLTIuOTM4IDEuMTYzLTYuNjY1IDItMTAgMi0xMy4zMzggMC0yNi05LjA0My0yNi0yMnMxMi42NjItMjQgMjYtMjRjNC43OTggMCA4LjE1NiAxLjY5NyAxMiA0bDc2LTQ4Yy0yLjQ3OS01Ljg3NS00LTExLjMzMS00LTE4IDAtNS4wOTUgMC41MTgtMTEuNDE0IDItMTZsLTEyMi02NGMtNi4yNTQgNi4yNTQtMTYuMTkzIDEwLTI2IDEwLTQuMzg1IDAtOC4xNzYtMi42MDEtMTItNGwtOTAgMTE0YzguNjQyIDkuOTI4IDEyIDIzLjcyMyAxMiAzOCAwIDMxLjM4My0yNC42MTcgNTYtNTYgNTZzLTU2LTI0LjYxNy01Ni01NmMwLTMxLjM4MyAyNC42MTctNTYgNTYtNTYgOC41NTMgMCAxNi43NSAyLjY0MSAyNCA2bDk0LTExNmMtMy4xODYtNS4yNzktNi05LjIyMy02LTE2IDAtMTkuNjE0IDE0LjM4Ni0zNiAzNC0zNnoiCisJCQkJXSwKKwkJCQkiYXR0cnMiOiBbXSwKKwkJCQkiaXNNdWx0aWNvbG9yIjogZmFsc2UsCisJCQkJImdyaWQiOiAwLAorCQkJCSJ0YWdzIjogWworCQkJCQkiaXQtc2RuLXZuZXQiCisJCQkJXSwKKwkJCQkiY29sb3JQZXJtdXRhdGlvbnMiOiB7CisJCQkJCSIxMDAxNDgyMDYxMTAwMTU1MjMwMTI0NDkxMDkxOTMxMzQxODMxOTQxMzUxODMxOTYxNDAxOTMxOTgxNDExOTQxOTkxNDcyMDUxIjogW10KKwkJCQl9CisJCQl9LAorCQkJImF0dHJzIjogW10sCisJCQkicHJvcGVydGllcyI6IHsKKwkJCQkib3JkZXIiOiA2MjIsCisJCQkJImlkIjogMiwKKwkJCQkicHJldlNpemUiOiAxNiwKKwkJCQkiY29kZSI6IDU5NzkyLAorCQkJCSJuYW1lIjogIml0LXNkbi12bmV0IgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMzA4CisJCX0sCisJCXsKKwkJCSJpY29uIjogeworCQkJCSJwYXRocyI6IFsKKwkJCQkJIk0xNTQgMGMtODUuMDQwIDAtMTU0IDY4Ljk2LTE1NCAxNTR2NzE2YzAgODUuMDQwIDY4Ljk2IDE1NCAxNTQgMTU0aDcxNmM4NS4wNDAgMCAxNTQtNjguOTYgMTU0LTE1NHYtNzE2YzAtODUuMDQwLTY4Ljk2LTE1NC0xNTQtMTU0aC03MTZ6TTE3OCAxMjJoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTE3NiAzNDRoNjcyYzI2Ljc0NyAwIDQ4IDI4LjU0NCA0OCA2NHMtMjEuMjUzIDY0LTQ4IDY0aC02NzJjLTI2Ljc0NyAwLTQ4LTI4LjU0NC00OC02NHMyMS4yNTMtNjQgNDgtNjR6TTE4MCA1ODhoNjR2MTI2aDEyOHYtMTI2aDY0djMyMGgtNjR2LTE0MGgtMTI4djE0MGgtNjR2LTMyMHpNNTk4IDU4OGgxMDRjMzkuMzc1IDAgNjYuMDQxIDAuNzkyIDc4IDQgMTguMzc1IDQuODEzIDMzLjYwNCAxNS44ODYgNDYgMzJzMTggMzYuNDc5IDE4IDYyYy0wIDE5LjY4OC0yLjg1NCAzNi41ODQtMTAgNTBzLTE2Ljk5IDI0LjM0NC0yOCAzMmMtMTEuMDExIDcuNjU2LTIyLjYyNSAxMS41MjEtMzQgMTQtMTUuNDU4IDMuMDYyLTM2LjY4OCA2LTY2IDZoLTQ0djEyMGgtNjR2LTMyMHpNNjYyIDY0MnY5MGgzNmMyNS41MjEgMCA0My4zOTYtMC42NDYgNTItNHMxNS4xMTQtOC44NTQgMjAtMTZjNC44ODUtNy4xNDYgOC0xNC41MjEgOC0yNC0wLTExLjY2Ni01LjE0Ni0yMi40MTYtMTItMzBzLTE1LjUtMTIuMTA0LTI2LTE0Yy03LjcyOS0xLjQ1OC0yMi42NjctMS45OTktNDYtMmgtMzJ6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXN0b3JhZ2Utc2Fuc3dpdGNoLWhwIgorCQkJCV0sCisJCQkJImNvbG9yUGVybXV0YXRpb25zIjogeworCQkJCQkiMTAwMTQ4MjA2MTEwMDE1NTIzMDEyNDQ5MTA5MTkzMTM0MTgzMTk0MTM1MTgzMTk2MTQwMTkzMTk4MTQxMTk0MTk5MTQ3MjA1MSI6IFtdCisJCQkJfQorCQkJfSwKKwkJCSJhdHRycyI6IFtdLAorCQkJInByb3BlcnRpZXMiOiB7CisJCQkJIm9yZGVyIjogNjIzLAorCQkJCSJpZCI6IDEsCisJCQkJInByZXZTaXplIjogMTYsCisJCQkJImNvZGUiOiA1OTc5MywKKwkJCQkibmFtZSI6ICJpdC1zdG9yYWdlLXNhbnN3aXRjaC1ocCIKKwkJCX0sCisJCQkic2V0SWR4IjogMCwKKwkJCSJzZXRJZCI6IDEsCisJCQkiaWNvbklkeCI6IDMwOQorCQl9LAorCQl7CisJCQkiaWNvbiI6IHsKKwkJCQkicGF0aHMiOiBbCisJCQkJCSJNNTI2IDBjLTQuMTctMC4xMjItOS4wNzctMC4xOTEtMTQtMC4xOTEtMjgyLjc3IDAtNTEyIDIyOS4yMy01MTIgNTEyIDAgMC4wNjcgMCAwLjEzNSAwIDAuMjAyLTAgMjgyLjc1OSAyMjkuMjMgNTExLjk5IDUxMiA1MTEuOTlzNTEyLTIyOS4yMyA1MTItNTEyYzAtMC4wNTcgMC0wLjEyNCAwLTAuMTkxIDAtMjc3Ljg0Ny0yMjEuMzE4LTUwNC4wMDItNDk3LjI4MS01MTEuNzkyek0yOTQgMTEydjc4aDU2MnY5NmgtNTYydjc4bC0xMjYtMTI2IDEyNi0xMjZ6TTcyOCAzODZsMTI4IDEyOC0xMjggMTI2di03OGgtNTYwdi05Nmg1NjB2LTgwek0yOTQgNjU4djgwaDU2MnY5NmgtNTYydjc4bC0xMjYtMTI2IDEyNi0xMjh6IgorCQkJCV0sCisJCQkJImF0dHJzIjogW10sCisJCQkJImlzTXVsdGljb2xvciI6IGZhbHNlLAorCQkJCSJncmlkIjogMCwKKwkJCQkidGFncyI6IFsKKwkJCQkJIml0LXN3aXRjaCIKKwkJCQldLAorCQkJCSJjb2xvclBlcm11dGF0aW9ucyI6IHsKKwkJCQkJIjEwMDE0ODIwNjExMDAxNTUyMzAxMjQ0OTEwOTE5MzEzNDE4MzE5NDEzNTE4MzE5NjE0MDE5MzE5ODE0MTE5NDE5OTE0NzIwNTEiOiBbXQorCQkJCX0KKwkJCX0sCisJCQkiYXR0cnMiOiBbXSwKKwkJCSJwcm9wZXJ0aWVzIjogeworCQkJCSJvcmRlciI6IDYyNCwKKwkJCQkiaWQiOiAwLAorCQkJCSJwcmV2U2l6ZSI6IDE2LAorCQkJCSJjb2RlIjogNTk3OTQsCisJCQkJIm5hbWUiOiAiaXQtc3dpdGNoIgorCQkJfSwKKwkJCSJzZXRJZHgiOiAwLAorCQkJInNldElkIjogMSwKKwkJCSJpY29uSWR4IjogMzEwCisJCX0KKwldLAorCSJoZWlnaHQiOiAxMDI0LAorCSJtZXRhZGF0YSI6IHsKKwkJIm5hbWUiOiAiWnRlSWN0SWNvbnMiCisJfSwKKwkicHJlZmVyZW5jZXMiOiB7CisJCSJzaG93R2x5cGhzIjogdHJ1ZSwKKwkJInNob3dRdWlja1VzZSI6IHRydWUsCisJCSJzaG93UXVpY2tVc2UyIjogdHJ1ZSwKKwkJInNob3dTVkdzIjogdHJ1ZSwKKwkJImZvbnRQcmVmIjogeworCQkJInByZWZpeCI6ICJpY3QtIiwKKwkJCSJtZXRhZGF0YSI6IHsKKwkJCQkiZm9udEZhbWlseSI6ICJadGVJY3RJY29ucyIsCisJCQkJIm1ham9yVmVyc2lvbiI6IDEsCisJCQkJIm1pbm9yVmVyc2lvbiI6IDAKKwkJCX0sCisJCQkibWV0cmljcyI6IHsKKwkJCQkiZW1TaXplIjogMTAyNCwKKwkJCQkiYmFzZWxpbmUiOiA2LjI1LAorCQkJCSJ3aGl0ZXNwYWNlIjogNTAKKwkJCX0sCisJCQkiZW1iZWQiOiBmYWxzZSwKKwkJCSJub2llOCI6IGZhbHNlLAorCQkJImllNyI6IGZhbHNlCisJCX0sCisJCSJpbWFnZVByZWYiOiB7CisJCQkicHJlZml4IjogImljb24tIiwKKwkJCSJwbmciOiB0cnVlLAorCQkJInVzZUNsYXNzU2VsZWN0b3IiOiB0cnVlLAorCQkJImNvbG9yIjogNDQ3MzkyNCwKKwkJCSJiZ0NvbG9yIjogMTY3NzcyMTUsCisJCQkiY2xhc3NTZWxlY3RvciI6ICIuaWNvbiIKKwkJfSwKKwkJImhpc3RvcnlTaXplIjogMTAwLAorCQkic2hvd0NvZGVzIjogdHJ1ZSwKKwkJImdyaWRTaXplIjogMTYsCisJCSJzaG93TGlnYSI6IGZhbHNlCisJfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL3N0eWxlLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL1p0ZUljdEljb25zL3N0eWxlLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjAzZjliCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvc3R5bGUuY3NzCkBAIC0wLDAgKzEsOTYwIEBACitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogJ1p0ZUljdEljb25zJzsKKyAgICBzcmM6ICAgIHVybCgnZm9udHMvWnRlSWN0SWNvbnMuZW90PzV3cHd3NycpOworICAgIHNyYzogICAgdXJsKCdmb250cy9adGVJY3RJY29ucy5lb3Q/NXdwd3c3I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLAorICAgICAgICB1cmwoJ2ZvbnRzL1p0ZUljdEljb25zLnR0Zj81d3B3dzcnKSBmb3JtYXQoJ3RydWV0eXBlJyksCisgICAgICAgIHVybCgnZm9udHMvWnRlSWN0SWNvbnMud29mZj81d3B3dzcnKSBmb3JtYXQoJ3dvZmYnKSwKKyAgICAgICAgdXJsKCdmb250cy9adGVJY3RJY29ucy5zdmc/NXdwd3c3I1p0ZUljdEljb25zJykgZm9ybWF0KCdzdmcnKTsKKyAgICBmb250LXdlaWdodDogbm9ybWFsOworICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKK30KKworW2NsYXNzXj0iaWN0LSJdLCBbY2xhc3MqPSIgaWN0LSJdIHsKKyAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqLworICAgIGZvbnQtZmFtaWx5OiAnWnRlSWN0SWNvbnMnICFpbXBvcnRhbnQ7CisgICAgc3BlYWs6IG5vbmU7CisgICAgZm9udC1zdHlsZTogbm9ybWFsOworICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CisgICAgZm9udC12YXJpYW50OiBub3JtYWw7CisgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CisgICAgbGluZS1oZWlnaHQ6IDE7CisKKyAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi8KKyAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKKyAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOworfQorCisuaWN0LU5GVjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk5MyI7Cit9CisuaWN0LVZORk06YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OTQiOworfQorLmljdC1WTkY6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OTUiOworfQorLmljdC1WTkZDOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTk2IjsKK30KKy5pY3QtVklNOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTk3IjsKK30KKy5pY3QtVkRVOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTk4IjsKK30KKy5pY3QtaG9zdDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk5OSI7Cit9CisuaWN0LU5TOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTlhIjsKK30KKy5pY3QtdWVwLW1vYy11Y2EtcHVibGljOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTliIjsKK30KKy5pY3QtdWVwLXRvcG8tY29tbW9uZ3JvdXAyMHgyMDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk5YyI7Cit9CisuaWN0LXZhcGVsX2NoZ3BpbGU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OWQiOworfQorLmljdC1jYXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OWUiOworfQorLmljdC1jaGdwaWxlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTlmIjsKK30KKy5pY3QtY2hncG9zaXRpb246YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YTAiOworfQorLmljdC1jaGdzdGF0aW9uOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWExIjsKK30KKy5pY3QtY29tbW9uX2RjOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWEyIjsKK30KKy5pY3QtY29tbW9uX25jZDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlhMyI7Cit9CisuaWN0LWNvbW1vbl9uY2RfYnJlYWs6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YTQiOworfQorLmljdC1jb21tb25fc2M6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YTUiOworfQorLmljdC1uZXR3b3JrVHJlZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlhNiI7Cit9CisuaWN0LXJlc291cmNlVHlwZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlhNyI7Cit9CisuaWN0LXRyZWUtaWNvbjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlhOCI7Cit9CisuaWN0LXVlcC10b3BvLWdyb3VwMjB4MjA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YTkiOworfQorLmljdC11ZXAtdG9wby1yb290OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWFhIjsKK30KKy5pY3QtdWVwLXRvcG8tdmlydHVhbDIweDIwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWFiIjsKK30KKy5pY3QtY29tbW9uX25jZF9zdG9wOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWFjIjsKK30KKy5pY3QtdWVwLW1vYy1yb290OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWFkIjsKK30KKy5pY3QtdWVwLXRvcG8tdW5kZWZpbmVkZ3JvdXAyMHgyMDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlhZSI7Cit9CisuaWN0LWFuYWx5c2lzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWFmIjsKK30KKy5pY3QtYmluZGluZ1JlbGF0aW9uc2hpcDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliMCI7Cit9CisuaWN0LWJyb3dzZVBvbGljeTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliMSI7Cit9CisuaWN0LWJ1c2luZXNzTWFuYWdtZW50OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWIyIjsKK30KKy5pY3QtY2FyZERhdGE6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YjMiOworfQorLmljdC1kYWlseU1hbmFnbWVudDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliNCI7Cit9CisuaWN0LWVudGVycHJpc2VDdXN0b21lcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliNSI7Cit9CisuaWN0LWVxdWlwbWVudEJsYWNrbGlzdDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliNiI7Cit9CisuaWN0LWVxdWlwbWVudE1vZGVsOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWI3IjsKK30KKy5pY3QtZXhhbWluZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliOCI7Cit9CisuaWN0LWZhaWx1cmVMaXN0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWI5IjsKK30KKy5pY3QtZmFtaWx5Q3VzdG9tZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YmEiOworfQorLmljdC1maWxlVG9vbDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTliYiI7Cit9CisuaWN0LWdyb3VwTWFuYWdtZW50OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWJjIjsKK30KKy5pY3Qtbm90aWNlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWJkIjsKK30KKy5pY3QtcG9saWN5OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWJlIjsKK30KKy5pY3QtcG9ydGFsOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWJmIjsKK30KKy5pY3QtcmVjb3JkUXVlcnk6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YzAiOworfQorLmljdC1yZXNvdXJjZU1hbmFnbWVudDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTljMSI7Cit9CisuaWN0LXJ1bGVNYW5hZ21lbnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YzIiOworfQorLmljdC1zdWNlc3NSYXRlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWMzIjsKK30KKy5pY3QtdGVybWluYWxNYW5hZ21lbnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YzQiOworfQorLmljdC10b29sczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTljNSI7Cit9CisuaWN0LXRyYWNrOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWM2IjsKK30KKy5pY3QtdXNlck1hbmFnbWVudDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTljNyI7Cit9CisuaWN0LXZlcnNpb25NYW5hZ21lbnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YzgiOworfQorLmljdC13b3JrT3JkZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5YzkiOworfQorLmljdC1zYXZlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWNhIjsKK30KKy5pY3QtTWFnbmlmaWVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWNiIjsKK30KKy5pY3Qtem9vbUluOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWNjIjsKK30KKy5pY3Qtem9vbU91dDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTljZCI7Cit9CisuaWN0LWRlbGV0ZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTljZSI7Cit9CisuaWN0LXJlZnJlc2g6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5Y2YiOworfQorLmljdC1tb2RpZnk6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZDAiOworfQorLmljdC1uZXc6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZDEiOworfQorLmljdC1jcHU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZDIiOworfQorLmljdC1tZW1vcnk6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZDMiOworfQorLmljdC1jdXJyZW50QWxhcm06YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZDQiOworfQorLmljdC1ub3RpY2VBbGFybTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlkNSI7Cit9CisuaWN0LWhpc3RvcnlBbGFybTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlkNiI7Cit9CisuaWN0LWNsb3NlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWQ3IjsKK30KKy5pY3QtdGFibGU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZDgiOworfQorLmljdC1uZXh0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWQ5IjsKK30KKy5pY3QtcHJlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWRhIjsKK30KKy5pY3Qtcm9sZXNldDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlkYiI7Cit9CisuaWN0LXJvbGU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZGMiOworfQorLmljdC11c2VyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWRkIjsKK30KKy5pY3QtZW1wdHk6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZGUiOworfQorLmljdC1ub3RpY2VGaWx0ZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZGYiOworfQorLmljdC1hbGFybVR1cm46YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZTAiOworfQorLmljdC1hZHZpY2U6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZTEiOworfQorLmljdC1jbGVhckFsYXJtOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWUyIjsKK30KKy5pY3QtYWxhcm1Cb3g6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZTMiOworfQorLmljdC1hZnJlc2hEZWY6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZTQiOworfQorLmljdC1hbGFybUZpbHRlcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTllNSI7Cit9CisuaWN0LW1hbkFuYWx5c2lzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWU2IjsKK30KKy5pY3QtZHJpbGw6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZTciOworfQorLmljdC1nZWFyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWU4IjsKK30KKy5pY3QtcHJvY2VzczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTllOSI7Cit9CisuaWN0LXVuYWNrbm93bmxlZGdlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWVhIjsKK30KKy5pY3QtYWNrbm93bmxlZGdlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWViIjsKK30KKy5pY3QtT3BlcmF0aW9uOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWVjIjsKK30KKy5pY3QtY2xvdWQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZWQiOworfQorLmljdC1jb21wdXRlcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTllZSI7Cit9CisuaWN0LWFsYXJtOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWVmIjsKK30KKy5pY3QtaW1wb3J0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWYwIjsKK30KKy5pY3QtZXhwb3J0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWYxIjsKK30KKy5pY3QtQWRtaW46YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZjIiOworfQorLmljdC1hbGxTZWxlY3RlZDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlmMyI7Cit9CisuaWN0LWFuZ2xlUmlnaHQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZjQiOworfQorLmljdC1hcnJvd0xlZnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZjUiOworfQorLmljdC1hcnJvd0xlZnRBbGw6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZjYiOworfQorLmljdC1hcnJvd1JpZ2h0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWY3IjsKK30KKy5pY3QtYXJyb3dSaWdodEFsbDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlmOCI7Cit9CisuaWN0LWF1dG9GaW5kOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWY5IjsKK30KKy5pY3QtYmFjazpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTlmYSI7Cit9CisuaWN0LWJhbGw6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ZmIiOworfQorLmljdC1iZWxsOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWZjIjsKK30KKy5pY3QtYmxhY2tMaXN0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWZkIjsKK30KKy5pY3QtYnJlYWtMaW5rOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWZlIjsKK30KKy5pY3QtY2FuY2xlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOWZmIjsKK30KKy5pY3QtY2lyY2xlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTAwIjsKK30KKy5pY3QtY2xvc2VUcmVlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTAxIjsKK30KKy5pY3QtY29uZmlnbWFwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTAyIjsKK30KKy5pY3QtZGVwYXJ0bWVudDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwMyI7Cit9CisuaWN0LWRldGFpbDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwNCI7Cit9CisuaWN0LWRpc3BsYXlTd2l0Y2g6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMDUiOworfQorLmljdC1maWxlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTA2IjsKK30KKy5pY3QtZmlsdGVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTA3IjsKK30KKy5pY3QtZmluZDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwOCI7Cit9CisuaWN0LWZvbGRlcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwOSI7Cit9CisuaWN0LWZvcmNlT3V0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTBhIjsKK30KKy5pY3QtZnVsbFNjcmVlbjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwYiI7Cit9CisuaWN0LUdyYXBoaWNhbDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwYyI7Cit9CisuaWN0LWhlbHBUaXA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMGQiOworfQorLmljdC1oaWRlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTBlIjsKK30KKy5pY3QtaGlzdG9yeTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEwZiI7Cit9CisuaWN0LWxhdW5jaGluZ1Rvd2VyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTEwIjsKK30KKy5pY3QtbGF5b3V0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTExIjsKK30KKy5pY3QtbGVnZW5kaGlkZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWExMiI7Cit9CisuaWN0LWxlZ2VuZHNob3c6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMTMiOworfQorLmljdC1saW5rOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTE0IjsKK30KKy5pY3QtbG9jazpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWExNSI7Cit9CisuaWN0LWx0QXJyb3c6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMTYiOworfQorLmljdC1NYWludGFpbjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWExNyI7Cit9CisuaWN0LW1heGltaXplOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTE4IjsKK30KKy5pY3QtTW9uaXRvcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWExOSI7Cit9CisuaWN0LW1vdmU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMWEiOworfQorLmljdC1uZXdTaG9ydGN1dDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWExYiI7Cit9CisuaWN0LW9wZW5UcmVlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTFjIjsKK30KKy5pY3QtcG9Ob2RlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTFkIjsKK30KKy5pY3QtcHJpbnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMWUiOworfQorLmljdC1wcm9kdWN0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTFmIjsKK30KKy5pY3QtcmJBcnJvdzpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyMCI7Cit9CisuaWN0LXJlZHVjdGlvbjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyMSI7Cit9CisuaWN0LXJlbmFtZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyMiI7Cit9CisuaWN0LXNlbGVjdDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyMyI7Cit9CisuaWN0LXNlbGVjdEFsbDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyNCI7Cit9CisuaWN0LXNlbGVjdExlZnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMjUiOworfQorLmljdC1zZWxlY3RSaWdodDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyNiI7Cit9CisuaWN0LXNob3c6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMjciOworfQorLmljdC1zaHJpbms6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMjgiOworfQorLmljdC1zdGFydDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZWEyOSI7Cit9CisuaWN0LXN0b3A6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMmEiOworfQorLmljdC1zdHJldGNoOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTJiIjsKK30KKy5pY3Qtc3RyaWtlT3V0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTJjIjsKK30KKy5pY3QtU3luY2hyb25vdXM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMmQiOworfQorLmljdC10b1JpZ2h0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTJlIjsKK30KKy5pY3QtdHJlZWZpbGU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMmYiOworfQorLmljdC10cmVlRm9sZGVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTMwIjsKK30KKy5pY3QtdW5sb2NrOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlYTMxIjsKK30KKy5pY3QtdXNlckNvbXBhcmU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMzIiOworfQorLmljdC11c2VyRGlzcGF0Y2g6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMzMiOworfQorLmljdC14bWw6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMzQiOworfQorLmljdC16b29tT3ZlclZpZXc6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMzUiOworfQorLmljdC16b29tUmVzZXQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGVhMzYiOworfQorLmljdC1pdC1maXJld2FsbC1oaWxsc3RvbmU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MDAiOworfQorLmljdC1pdC1zZXJ2ZXItdWJ1bnR1OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTAxIjsKK30KKy5pY3QtaXQtc2VydmVyLXRydTY0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTAyIjsKK30KKy5pY3QtaXQtc2V2ZXItYXM0MDA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MDMiOworfQorLmljdC1pdC1vdGhlci1maWxlc2VydmVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTA0IjsKK30KKy5pY3QtaXQtb3RoZXItc2FwY2NtczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkwNSI7Cit9CisuaWN0LWl0LW90aGVyLWFjdGl2ZWRpcmVjdG9yeTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkwNiI7Cit9CisuaWN0LWl0LWFwcC1zbGl2ZXJzdHJlYW06YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MDciOworfQorLmljdC1pdC1hcHAtb3JhY2xlYXM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MDgiOworfQorLmljdC1pdC1zZXJ2ZXItZnJlZUJTRDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkwOSI7Cit9CisuaWN0LWl0LWFwcC1leGNoYW5nZTIwMDc6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MGEiOworfQorLmljdC1pdC1hcHAtZXhjaGFuZ2UyMDAzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTBiIjsKK30KKy5pY3QtaXQtYXBwLWRvdG5ldDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkwYyI7Cit9CisuaWN0LWl0LW90aGVyLWxlbm92bzpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkwZCI7Cit9CisuaWN0LWl0LXJvdXRlci1hbHU3NzUwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTBlIjsKK30KKy5pY3QtaXQtb3RoZXItbmRzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTBmIjsKK30KKy5pY3QtaXQtb3RoZXItcGhwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTEwIjsKK30KKy5pY3QtaXQtYXBwLWdsYXNzZmlzaDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxMSI7Cit9CisuaWN0LWl0LW90aGVyLXRlbG5ldDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxMiI7Cit9CisuaWN0LWl0LW90aGVyLWRuczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxMyI7Cit9CisuaWN0LWl0LW90aGVyLXVybDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxNCI7Cit9CisuaWN0LWl0LWRhdGFiYXNlLW15c3FsOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTE1IjsKK30KKy5pY3QtaXQtb3RoZXItcGluZzpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxNiI7Cit9CisuaWN0LWl0LW90aGVyLWZ0cDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxNyI7Cit9CisuaWN0LWl0LW90aGVyLXJlc3Q6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MTgiOworfQorLmljdC1pdC1vdGhlci1zb2FwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTE5IjsKK30KKy5pY3QtaXQtc2VydmVyLW1hY29zOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTFhIjsKK30KKy5pY3QtaXQtc2VydmVyLW9wZW5ic2Q6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MWIiOworfQorLmljdC1pdC1zZXJ2ZXItZGViaWFuOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTFjIjsKK30KKy5pY3QtaXQtYXBwLWlpczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxZCI7Cit9CisuaWN0LWl0LWFwcC1tYWlsc2VydmVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTFlIjsKK30KKy5pY3QtaXQtYXBwLXdlYnNwaGVyZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkxZiI7Cit9CisuaWN0LWl0LWFwcC1hcGFjaGU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MjAiOworfQorLmljdC1pdC1hcHAtamJvc3M6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MjEiOworfQorLmljdC1pdC1vdGhlci1hMTBiYWxhOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTIyIjsKK30KKy5pY3QtaXQtY2x1c3Rlci12Y3M6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MjMiOworfQorLmljdC1pdC1kaXNrcmFpZC1ocGV2YTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyNCI7Cit9CisuaWN0LWl0LWRpc2tyYWlkLXp0ZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyNSI7Cit9CisuaWN0LWl0LWZpcmV3YWxsLWgzYzpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyNiI7Cit9CisuaWN0LWl0LW90aGVyLWlibS1ibGFkZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyNyI7Cit9CisuaWN0LWl0LW90aGVyLXNlY2ZveDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyOCI7Cit9CisuaWN0LWl0LW90aGVyLXNlZ3c6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MjkiOworfQorLmljdC1pdC1vdGhlci16dGVhdGNhOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTJhIjsKK30KKy5pY3QtaXQtb3RoZXItenRlaXBzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTJiIjsKK30KKy5pY3QtaXQtc2RuLWNvbnRyb2xsZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MmMiOworfQorLmljdC1pdC1zZXJ2ZXItaHB1eDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyZCI7Cit9CisuaWN0LWl0LXN0b3JhZ2Utb3BzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTJlIjsKK30KKy5pY3QtaXQtc3RvcmFnZS1zYW5zd2l0Y2gtYnJvY2FkZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkyZiI7Cit9CisuaWN0LWl0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTMwIjsKK30KKy5pY3QtaXQtYXBwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTMxIjsKK30KKy5pY3QtaXQtYXBwLWJpbmQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MzIiOworfQorLmljdC1pdC1hcHAtZG5zOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTMzIjsKK30KKy5pY3QtaXQtYXBwLWVtczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkzNCI7Cit9CisuaWN0LWl0LWFwcC1tZWRpYXRvcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkzNSI7Cit9CisuaWN0LWl0LWFwcC1udHA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5MzYiOworfQorLmljdC1pdC1hcHAtb3RhOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTM3IjsKK30KKy5pY3QtaXQtYXBwLXRvbWNhdDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkzOCI7Cit9CisuaWN0LWl0LWFwcC10cmVuZDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkzOSI7Cit9CisuaWN0LWl0LWFwcC10c206YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5M2EiOworfQorLmljdC1pdC1hcHAtd2VibG9naWM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5M2IiOworfQorLmljdC1pdC1jbHVzdGVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTNjIjsKK30KKy5pY3QtaXQtY2x1c3Rlci1oYWNtcDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkzZCI7Cit9CisuaWN0LWl0LWNsdXN0ZXItbmVjOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTNlIjsKK30KKy5pY3QtaXQtY2x1c3Rlci1uczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTkzZiI7Cit9CisuaWN0LWl0LWNsdXN0ZXItc2c6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NDAiOworfQorLmljdC1pdC1kYXRhYmFzZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk0MSI7Cit9CisuaWN0LWl0LWRhdGFiYXNlLW1zc3FsOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTQyIjsKK30KKy5pY3QtaXQtZGF0YWJhc2Utb3JhY2xlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTQzIjsKK30KKy5pY3QtaXQtZGF0YWJhc2Utc3liYXNlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTQ0IjsKK30KKy5pY3QtaXQtZGF0YWJhc2Utc3liYXNlaXE6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NDUiOworfQorLmljdC1pdC1kaXNrcmFpZC1kZWxsbWQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NDYiOworfQorLmljdC1pdC1kaXNrcmFpZC1lbWM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NDciOworfQorLmljdC1pdC1kaXNrcmFpZC1ldGVybnVzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTQ4IjsKK30KKy5pY3QtaXQtZGlza3JhaWQtZnVqaXRzdTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk0OSI7Cit9CisuaWN0LWl0LWRpc2tyYWlkLWhkczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk0YSI7Cit9CisuaWN0LWl0LWRpc2tyYWlkLWhwYWlvOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTRiIjsKK30KKy5pY3QtaXQtZGlza3JhaWQtaHBtc2E6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NGMiOworfQorLmljdC1pdC1kaXNrcmFpZC1pYm06YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NGQiOworfQorLmljdC1pdC1kaXNrcmFpZC1pYm1zbTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk0ZSI7Cit9CisuaWN0LWl0LWRpc2tyYWlkLW1hY3Jvc2FuOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTRmIjsKK30KKy5pY3QtaXQtZGlza3JhaWQtbmV0YXBwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTUwIjsKK30KKy5pY3QtaXQtZGlza3JhaWQtc3VuOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTUxIjsKK30KKy5pY3QtaXQtZmlyZXdhbGw6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NTIiOworfQorLmljdC1pdC1maXJld2FsbC1jaGVja3BvaW50OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTUzIjsKK30KKy5pY3QtaXQtZmlyZXdhbGwtY2lzY286YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NTQiOworfQorLmljdC1pdC1maXJld2FsbC1jaXNjbzI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NTUiOworfQorLmljdC1pdC1maXJld2FsbC1qdW5pcGVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTU2IjsKK30KKy5pY3QtaXQtZmlyZXdhbGwtbmV0ZXllOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTU3IjsKK30KKy5pY3QtaXQtZmlyZXdhbGwtenRlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTU4IjsKK30KKy5pY3QtaXQtZmlyZXdhbGwtenRlbWY6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NTkiOworfQorLmljdC1pdC1maXJld2FsbC16dGV1dG06YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NWEiOworfQorLmljdC1pdC1nYXRoZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NWIiOworfQorLmljdC1pdC1pYnA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NWMiOworfQorLmljdC1pdC1pYnAtaWJwMjAwMDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk1ZCI7Cit9CisuaWN0LWl0LW5ldDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk1ZSI7Cit9CisuaWN0LWl0LW90aGVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTVmIjsKK30KKy5pY3QtaXQtb3RoZXItYWx0ZW9uOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTYwIjsKK30KKy5pY3QtaXQtb3RoZXItYXBwZGlyZWN0b3I6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NjEiOworfQorLmljdC1pdC1vdGhlci1hdGNhLWxiMTA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NjIiOworfQorLmljdC1pdC1vdGhlci1jaXNjby11Y3M6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NjMiOworfQorLmljdC1pdC1vdGhlci1kY3M6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NjQiOworfQorLmljdC1pdC1vdGhlci1kZWx0YTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk2NSI7Cit9CisuaWN0LWl0LW90aGVyLWRwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTY2IjsKK30KKy5pY3QtaXQtb3RoZXItZTkwMDA6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NjciOworfQorLmljdC1pdC1vdGhlci1mNWJpZ2lwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTY4IjsKK30KKy5pY3QtaXQtb3RoZXItZjViaWdpcDI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NjkiOworfQorLmljdC1pdC1vdGhlci1nYmUyYzpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk2YSI7Cit9CisuaWN0LWl0LW90aGVyLWgzYzpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk2YiI7Cit9CisuaWN0LWl0LW90aGVyLWhwYmxjOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTZjIjsKK30KKy5pY3QtaXQtb3RoZXItaW1tOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTZkIjsKK30KKy5pY3QtaXQtb3RoZXItc2Vjc2lzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTZlIjsKK30KKy5pY3QtaXQtb3RoZXItdmM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NmYiOworfQorLmljdC1pdC1vdGhlci16dGVwb3dlcjpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk3MCI7Cit9CisuaWN0LWl0LW90aGVyLXp0ZXNnczpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk3MSI7Cit9CisuaWN0LWl0LW90aGVyLXp4c2RyLW50OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTcyIjsKK30KKy5pY3QtaXQtcm91dGVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTczIjsKK30KKy5pY3QtaXQtcm91dGVyLWNpc2NvOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTc0IjsKK30KKy5pY3QtaXQtcm91dGVyLWp1bmlwZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NzUiOworfQorLmljdC1pdC1yb3V0ZXItenRlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTc2IjsKK30KKy5pY3QtaXQtc2RuLWhvc3Q6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5NzciOworfQorLmljdC1pdC1zZG4tc3dpdGNoOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTc4IjsKK30KKy5pY3QtaXQtc2VydmVyOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTc5IjsKK30KKy5pY3QtaXQtc2VydmVyLWFpeDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk3YSI7Cit9CisuaWN0LWl0LXNlcnZlci1rbGludXg6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5N2IiOworfQorLmljdC1pdC1zZXJ2ZXItcmVkaGF0OmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTdjIjsKK30KKy5pY3QtaXQtc2VydmVyLXNvbGFyaXM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5N2QiOworfQorLmljdC1pdC1zZXJ2ZXItc3VzZTpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk3ZSI7Cit9CisuaWN0LWl0LXNlcnZlci13aW5kb3dzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTdmIjsKK30KKy5pY3QtaXQtc2VydmVyLXp4dmU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODAiOworfQorLmljdC1pdC1zdG9yYWdlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTgxIjsKK30KKy5pY3QtaXQtc3RvcmFnZS1jaXNjby1tZHM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODIiOworfQorLmljdC1pdC1zdG9yYWdlLW1kMzAwMDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk4MyI7Cit9CisuaWN0LWl0LXN0b3JhZ2UtbmV0dmF1bHQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODQiOworfQorLmljdC1pdC1zdG9yYWdlLXNhbnN3aXRjaC16dGU6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODUiOworfQorLmljdC1pdC1zd2l0Y2gtYXQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODYiOworfQorLmljdC1pdC1zd2l0Y2gtY2lzY286YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODciOworfQorLmljdC1pdC1zd2l0Y2gtaDNjOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTg4IjsKK30KKy5pY3QtaXQtc3dpdGNoLWp1bmlwZXI6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5ODkiOworfQorLmljdC1pdC1zd2l0Y2gtenRlOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOThhIjsKK30KKy5pY3QtaXQtdGFwZWxpYi1ocG1zbDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk4YiI7Cit9CisuaWN0LWl0LXRhcGVsaWItaWJtdHM6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OGMiOworfQorLmljdC1pdC10YXBlbGliLXN1bnRzOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOThkIjsKK30KKy5pY3QtaXQtVmlydHVhbG5ldHdvcms6YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OGUiOworfQorLmljdC1pdC1hcHAtbmV0bnVtZW46YmVmb3JlIHsKKyAgICBjb250ZW50OiAiXGU5OGYiOworfQorLmljdC1pdC1zZG4tdm5ldDpiZWZvcmUgeworICAgIGNvbnRlbnQ6ICJcZTk5MCI7Cit9CisuaWN0LWl0LXN0b3JhZ2Utc2Fuc3dpdGNoLWhwOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTkxIjsKK30KKy5pY3QtaXQtc3dpdGNoOmJlZm9yZSB7CisgICAgY29udGVudDogIlxlOTkyIjsKK30KKwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvbG9naW4tYXBrLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vY3NzL2xvZ2luLWFway5jc3MKaW5kZXggNDE2NDQwNi4uYjczNmI4MCAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9jc3MvbG9naW4tYXBrLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2Nzcy9sb2dpbi1hcGsuY3NzCkBAIC0zMSw3ICszMSw3IEBACiAKIAogLmxvZ2luIC5jb250ZW50IHsKLSAgYmFja2dyb3VuZDogdXJsKC4uLy4uLy4uL2ZyYW1ld29yay9pbWFnZS9iZy13aGl0ZS1sb2NrLnBuZykgcmVwZWF0OworICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vLi4vY29tbW9uL2ltYWdlL2JnLXdoaXRlLWxvY2sucG5nKSByZXBlYXQ7CiAgIHdpZHRoOiAzNjBweDsKICAgbWFyZ2luOiAwIGF1dG87IAogICBtYXJnaW4tYm90dG9tOiAwcHg7CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2RlZmF1bHQuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vZGVmYXVsdC5odG1sCmluZGV4IDRjMzcxOWUuLjQ5Yzg4MTIgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vZGVmYXVsdC5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vZGVmYXVsdC5odG1sCkBAIC00Myw3ICs0Myw3IEBACiAJCTxsaW5rIGhyZWY9Ii4vY3NzL2NoYW5nZXB3ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIJdHlwZT0idGV4dC9jc3MiIC8+CiAJCTxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLi9pbWFnZS9pbnRlZ3JhdGlvbi96dGVfbG9nb18xNi5naWYiCS8+CiAJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4vY3NzL3N0eWxlLmNzcyIvPgotCQk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9jb21wb25lbnQvY3NzL1p0ZUljdEljb25zL3N0eWxlLmNzcyIvPgkJCisJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4vY3NzL1p0ZUljdEljb25zL3N0eWxlLmNzcyIvPgkJCiAJPC9oZWFkPgogCTxib2R5IGNsYXNzPSJwYWdlLWhlYWRlci1maXhlZCBwYWdlLXNpZGViYXItZml4ZWQiID4KIAkgPGRpdiBpZD0icGFnZUxvYWRpbmciIGNsYXNzPSJmYWtlbG9hZGVyIiA+PC9kaXY+CkBAIC00OTAsOCArNDkwLDcgQEAKIAkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi9qcy9NYWluMm1vcmVNZW51LmpzIj4KIAkJPC9zY3JpcHQ+CQogCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL2pzL2NvcmUvcHltLm1pbi5qcyI+PC9zY3JpcHQ+Ci0JCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vanMvY29yZS9adGVGcmFtZVdvcmsubWluLmpzIj48L3NjcmlwdD4KLQkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi9hcHBSZXMvanMvY3VzdG9tLmpzIiA+PC9zY3JpcHQ+CisJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vanMvY29yZS9adGVGcmFtZVdvcmsuanMiPjwvc2NyaXB0PgogCQk8c2NyaXB0PgogCQkJdmFyIHNlbmNlID0gJzAnOwogCQkJdmFyIHBhbmVsID0gJCgnLnp0ZS10aGVtZS1wYW5lbCcpOwpAQCAtNTI0LDcgKzUyMyw3IEBACiAJCTxzY3JpcHQ+CiAJCQlsb2FkaTE4bl9XZWJGcmFtZXdvcmsoKTsgLy8g5Yqg6L295qGG5p626Ieq6Lqr55qE5Zu96ZmF5YyW5YaF5a65CiAJCQlpbmlIb3JNZW51KCk7ICAgICAgICAgICAgCi0gICAgICAgICAgICBpbmlTaWRlYmFyTWVudSgpOworICAgICAgICAgICAgLy9pbmlTaWRlYmFyTWVudSgpOwogCQkJaW5pRk1lbnUoKTsJCQkKIAkJPC9zY3JpcHQ+CiAJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vanMvZm1fbGlnaHQuanMiPgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9jb3JlL2NvbnN0LmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9jb3JlL2NvbnN0LmpzCmluZGV4IDVlZjJkZmUuLmZjMWU2OWIgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vanMvY29yZS9jb25zdC5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2pzL2NvcmUvY29uc3QuanMKQEAgLTE0LDcgKzE0LDcgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiB2YXIgZk1lbnVTaWRlckRpdklkID0gJ3BhZ2UtZi1zaWRlYmFyLW1lbnUnOwotdmFyIElDVEZSQU1FX0NPTlNUX1NQSU5ORVJfR0lGX1BBVEg9Ii4uLy4uL2l1aS9mcmFtZXdvcmsvaW1hZ2UvbG9hZGluZy1zcGlubmVyLWdyZXkuZ2lmIjsKK3ZhciBJQ1RGUkFNRV9DT05TVF9TUElOTkVSX0dJRl9QQVRIPSIuLi8uLi9vcGVub3VpL2NvbW1vbi9pbWFnZS9sb2FkaW5nLXNwaW5uZXItZ3JleS5naWYiOwogdmFyIElDVEZSQU1FX0NPTlNUX0lGUkFNRV9IRUlHSFRfQUpVU1QgPSAxMDsKIHZhciBJQ1RGUkFNRV9DT05TVF9JRlJBTUVfSEVJR0hUX0FKVVNUX0lFID0gNTsKIHZhciBJQ1RGUkFNRV9DT05TVF9USEVNRV9DT0xPUl9DU1NfUFJFRkZJWCA9ICJjc3MvdGhlbWVzLyI7CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2pzL21lbnVzL2xvYWRpMThuLW9wZW5vLW1lbnVzLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9tZW51cy9sb2FkaTE4bi1vcGVuby1tZW51cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDZhYzY5Ci0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9tZW51cy9sb2FkaTE4bi1vcGVuby1tZW51cy5qcwpAQCAtMCwwICsxLDIwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTYgWlRFIENvcnBvcmF0aW9uLgorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitmdW5jdGlvbiBsb2FkT3Blbm9TaWRlTWVudShsYW5nKXsKKyAgICBsb2FkUHJvcGVydGllc1NpZGVNZW51KGxhbmcsICdvcGVuby1tZW51cy1pMThuJywgJy9vcGVub3VpL2NvbW1vbi9qcy9tZW51cy8nKTsKK30KK2xvYWRPcGVub1NpZGVNZW51KGxhbmcpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vanMvbWVudXMvb3Blbm8tbWVudXMtaTE4bi1lbi1VUy5wcm9wZXJ0aWVzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9tZW51cy9vcGVuby1tZW51cy1pMThuLWVuLVVTLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg2OWFkNQotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vanMvbWVudXMvb3Blbm8tbWVudXMtaTE4bi1lbi1VUy5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMzAgQEAKKyMKKyMgQ29weXJpZ2h0IDIwMTYgWlRFIENvcnBvcmF0aW9uLgorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKK29yZ19vcGVub19tZW51X3NlcnZpY2U9U2VydmljZQorb3JnX29wZW5vX21lbnVfcmVzb3VyY2U9UmVzb3VyY2UKK29yZ19vcGVub19tZW51X21vbml0b3I9TW9uaXRvcgorCitvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2Rlc2lnbj1TZXJ2aWNlIERlc2lnbgorb3JnX29wZW5vX21lbnVfc2VydmljZV9kZXNpZ25fbW9kZWxfZGVzaWduPU1vZGVsIERlc2lnbgorCitvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2NhdGFsb2c9U2VydmljZSBDYXRhbG9nCitvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2NhdGFsb2dfcGFja2FnZT1QYWNrYWdlCitvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2NhdGFsb2dfc2VydmljZV90ZW1wbGF0ZT1TZXJ2aWNlIFRlbXBsYXRlCisKK29yZ19vcGVub19tZW51X2V4dGVybmFsX3N5c3RlbV9yZWdpc3Rlcj1FeHRlcm5hbCBTeXN0ZW0gUmVnaXN0ZXIKK29yZ19vcGVub19tZW51X3ZpbV9yZWdpc3Rlcj1WSU0KK29yZ19vcGVub19tZW51X3ZuZm1fcmVnaXN0ZXI9Vk5GTQorb3JnX29wZW5vX21lbnVfc2RuX2NvbnRyb2xsZXJfcmVnaXN0ZXI9U0ROQwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9tZW51cy9vcGVuby1tZW51cy1pMThuLXpoLUNOLnByb3BlcnRpZXMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL2pzL21lbnVzL29wZW5vLW1lbnVzLWkxOG4temgtQ04ucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWI4YmI0Ci0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9qcy9tZW51cy9vcGVuby1tZW51cy1pMThuLXpoLUNOLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxNSBAQAorIworIyBDb3B5cmlnaHQgMjAxNiBaVEUgQ29ycG9yYXRpb24uCisjCisjIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisjIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorIworIyAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorIworIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisjIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisjIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorIwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9tYWluLXBhZ2UuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vbWFpbi1wYWdlLmh0bWwKaW5kZXggZDhkYzJmNy4uZjdhMWMzZiAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9tYWluLXBhZ2UuaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL21haW4tcGFnZS5odG1sCkBAIC0yNyw3ICsyNyw2IEBACiAJCTxsaW5rIGhyZWY9InRoaXJkcGFydHkvYm9vdHN0cmFwL2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CQogCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0aGlyZHBhcnR5L2pxdWVyeS9qcXVlcnktMS4xMC4yLm1pbi5qcyI+PC9zY3JpcHQ+CiAJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vanMvY29yZS9jb25zdC5qcyI+PC9zY3JpcHQ+Ci0JCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vYXBwUmVzL2pzL2N1c3RvbS5qcyIgPjwvc2NyaXB0PgogCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL2pzL2NvcmUvaGsubWluLmpzIj48L3NjcmlwdD4KIAkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idGhpcmRwYXJ0eS9mYWtlTG9hZGVyL2Zha2VMb2FkZXIubWluLmpzIj48L3NjcmlwdD4JCQkKIAkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdG9vbHMuanMiPjwvc2NyaXB0PgpAQCAtMzYsNyArMzUsNyBAQAogCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL2pzL2ludGVybmF0aW9uYWwvbG9hZGkxOG4uanMiPjwvc2NyaXB0PgogCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL2pzL21haW5wYWdlL2ljdC5tYWluLnBhZ2UuanMiPjwvc2NyaXB0PgkJCiAJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vanMvY29yZS9weW0ubWluLmpzIj48L3NjcmlwdD4KLQkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi9qcy9jb3JlL1p0ZUZyYW1lV29yay5taW4uanMiPjwvc2NyaXB0PgkJCQkKKwkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi9qcy9jb3JlL1p0ZUZyYW1lV29yay5qcyI+PC9zY3JpcHQ+CQkJCQogCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogCQkJaHRtbCwgYm9keSB7CiAJCQkJbWFyZ2luOiAwOwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9tYWluX0ZtZWdhYmFyLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL21haW5fRm1lZ2FiYXIuaHRtbAppbmRleCBmOWUwMWI1Li4yYzExZDIyIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL21haW5fRm1lZ2FiYXIuaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL21haW5fRm1lZ2FiYXIuaHRtbApAQCAtMTQsMTAgKzE0LDEwIEBACiAgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAtLT4KIDxsaSBjbGFzcz0ibWVnYS1tZW51LWRyb3Bkb3duIj4KLSAgICA8YSBocmVmPSIvaXVpL3VtY2RyaWxsL21vbml0b3Jucy5odG1sIiBpZD0ib3Blbm8tbnNvYyIgcGFyZW50aWQ9Im9wZW5vLW5zb2MiIGhwYXJlbnRpZD0ib3Blbm8tbnNvYyIKLSAgICBvcmRlcj0iMjAuMCIgY2xhc3M9ImlmcmFtZSIgc2hpZnRqcz0iIiBjYWNoZW51bT0ib3Blbm8tbnNvYyIgYnJlYWRjcnVtZ3JvdXBidXR0b25zcmM9IiIKKyAgICA8YSBocmVmPSIvb3Blbm91aS9jYXRhbG9nL2NzYXJQYWNrYWdlLmh0bWwiIGlkPSJvcGVuby1zZXJ2aWNlIiBwYXJlbnRpZD0ib3Blbm8tc2VydmljZSIgaHBhcmVudGlkPSJvcGVuby1zZXJ2aWNlIgorICAgIG9yZGVyPSIyMC4wIiBjbGFzcz0iaWZyYW1lIiBzaGlmdGpzPSIiIGNhY2hlbnVtPSJvcGVuby1zZXJ2aWNlIiBicmVhZGNydW1ncm91cGJ1dHRvbnNyYz0iIgogICAgIG9wZXJhdGlvbj0iIiBpZnJhbWVhdXRvc2Nyb2xsPSJhdXRvIiBkZWZhdWx0ZGlzcGxheT0iIj4KLSAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfbnNvY19zZXJ2aWNlIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSIKKyAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19tZW51X3NlcnZpY2UiIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgogICAgICAgICBjbGFzcz0idGl0bGUiPgogICAgICAgICA8L3NwYW4+CiAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWxlY3RlZCI+CkBAIC0yNywxMCArMjcsMTAgQEAKICAgICA8L2E+CiA8L2xpPgogPGxpIGNsYXNzPSJtZWdhLW1lbnUtZHJvcGRvd24iPgotICAgIDxhIGhyZWY9Ii9pdWkvcm9jdmltL3ZpbVZpZXcuaHRtbCIgaWQ9Im9wZW5vLXJvYyIgcGFyZW50aWQ9Im9wZW5vLXJvYyIgaHBhcmVudGlkPSJvcGVuby1yb2MiIAotICAgIG9yZGVyPSIzMC4wIiBjbGFzcz0iaWZyYW1lIiBzaGlmdGpzPSIiIGNhY2hlbnVtPSJvcGVuby1yb2MiIGJyZWFkY3J1bWdyb3VwYnV0dG9uc3JjPSIiCisgICAgPGEgaHJlZj0iL29wZW5vdWkvZXh0c3lzL3ZpbS92aW1WaWV3Lmh0bWwiIGlkPSJvcGVuby1yZXNvdXJjZSIgcGFyZW50aWQ9Im9wZW5vLXJlc291cmNlIiBocGFyZW50aWQ9Im9wZW5vLXJlc291cmNlIiAKKyAgICBvcmRlcj0iMzAuMCIgY2xhc3M9ImlmcmFtZSIgc2hpZnRqcz0iIiBjYWNoZW51bT0ib3Blbm8tcmVzb3VyY2UiIGJyZWFkY3J1bWdyb3VwYnV0dG9uc3JjPSIiCiAgICAgb3BlcmF0aW9uPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iIGRlZmF1bHRkaXNwbGF5PSIiPgotICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl9yb2NfcmVzb3VyY2UiIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgorICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX21lbnVfcmVzb3VyY2UiIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgogICAgICAgICBjbGFzcz0idGl0bGUiPgogICAgICAgICA8L3NwYW4+CiAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWxlY3RlZCI+CkBAIC00MCwxMCArNDAsMTAgQEAKICAgICA8L2E+CiA8L2xpPgogPGxpIGNsYXNzPSJtZWdhLW1lbnUtZHJvcGRvd24iPgotICAgIDxhIGhyZWY9Ii9pdWkvdW1jbW9uaXRvci9tb25pdG9yU2V0dGluZ0xpc3QuaHRtbCIgaWQ9Im9wZW5vLXVtYyIgcGFyZW50aWQ9Im9wZW5vLXVtYyIgaHBhcmVudGlkPSJvcGVuby11bWMiCi0gICAgb3JkZXI9IjQwLjAiIGNsYXNzPSJpZnJhbWUiIHNoaWZ0anM9IiIgY2FjaGVudW09Im9wZW5vLXVtYyIgYnJlYWRjcnVtZ3JvdXBidXR0b25zcmM9IiIgCisgICAgPGEgaHJlZj0iL29wZW5vdWkvdW1jbW9uaXRvci9tb25pdG9yU2V0dGluZ0xpc3QuaHRtbCIgaWQ9Im9wZW5vLW1vbml0b3IiIHBhcmVudGlkPSJvcGVuby1tb25pdG9yIiBocGFyZW50aWQ9Im9wZW5vLW1vbml0b3IiCisgICAgb3JkZXI9IjQwLjAiIGNsYXNzPSJpZnJhbWUiIHNoaWZ0anM9IiIgY2FjaGVudW09Im9wZW5vLW1vbml0b3IiIGJyZWFkY3J1bWdyb3VwYnV0dG9uc3JjPSIiIAogICAgIG9wZXJhdGlvbj0iIiBpZnJhbWVhdXRvc2Nyb2xsPSJhdXRvIiBkZWZhdWx0ZGlzcGxheT0iIj4KLSAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfdW1jX21vbml0b3IiIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgorICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX21lbnVfbW9uaXRvciIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiCiAgICAgICAgIGNsYXNzPSJ0aXRsZSI+CiAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgPHNwYW4gY2xhc3M9InNlbGVjdGVkIj4KQEAgLTUyLDkgKzUyLDUgQEAKICAgICAgICAgPC9zcGFuPgogICAgIDwvYT4KIDwvbGk+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvaXVpL2ZyYW1ld29yay9oc2lmL29wZW5vLW5zb2MvaTE4bi9sb2FkaTE4bi1vcGVuby1uc29jLmpzIj4KLTwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2l1aS9mcmFtZXdvcmsvaHNpZi9vcGVuby1yb2MvaTE4bi9sb2FkaTE4bi1vcGVuby1yb2MuanMiPgotPC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvaXVpL2ZyYW1ld29yay9oc2lmL29wZW5vLXVtYy9pMThuL2xvYWRpMThuLW9wZW5vLXVtYy5qcyI+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvb3Blbm91aS9jb21tb24vanMvbWVudXMvbG9hZGkxOG4tb3Blbm8tbWVudXMuanMiPgogPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9tYWluX0ZzaWRlcmJhci5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1jb21tb24vc3JjL21haW4vd2ViYXBwL2NvbW1vbi9tYWluX0ZzaWRlcmJhci5odG1sCmluZGV4IDBlMTc1MzAuLmI3ZGZjYjkgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtY29tbW9uL3NyYy9tYWluL3dlYmFwcC9jb21tb24vbWFpbl9Gc2lkZXJiYXIuaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWNvbW1vbi9zcmMvbWFpbi93ZWJhcHAvY29tbW9uL21haW5fRnNpZGVyYmFyLmh0bWwKQEAgLTE0LDM1ICsxNCwxMCBAQAogICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogLS0+CiA8bGk+Ci0gICAgPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iY29sLW9wZW5vLXVtYy1tb25pdG9yLXNlcnZpY2UiIGhwYXJlbnRpZD0ib3Blbm8tbnNvYyI+Ci0gICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jb21tZW50cyI+Ci0gICAgICAgIDwvaT4KLSAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfdW1jX21vbml0b3Jfc2VydmljZSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiCi0gICAgICAgIGNsYXNzPSJ0aXRsZSI+Ci0gICAgICAgIDwvc3Bhbj4KLSAgICAgICAgPHNwYW4gY2xhc3M9InNlbGVjdGVkIj4KLSAgICAgICAgPC9zcGFuPgotICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPgotICAgICAgICA8L3NwYW4+Ci0gICAgPC9hPgotICAgIDx1bCBjbGFzcz0ic3ViLW1lbnUiPgotICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tdW1jLW1vbml0b3Itc2VydmljZS1vdmVydmlldyIgcGFyZW50aWQ9Im9wZW5vLW5zb2MiIGhwYXJlbnRpZD0iY29sLW9wZW5vLXVtYy1tb25pdG9yLXNlcnZpY2UiCi0gICAgICAgICAgICBvcmRlcj0iMTAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii9pdWkvdW1jZHJpbGwvbW9uaXRvcm5zLmh0bWwiPgotICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jb21tZW50cyI+Ci0gICAgICAgICAgICAgICAgPC9pPgotICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX3VtY19tb25pdG9yX3NlcnZpY2Vfb3ZlcnZpZXciIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51Ij4KLSAgICAgICAgICAgICAgICA8L3NwYW4+Ci0gICAgICAgICAgICA8L2E+Ci0gICAgICAgIDwvbGk+Ci0gICAgPC91bD4KLTwvbGk+Ci08bGk+Ci0gICAgPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iY29sLW9wZW5vLW5zb2Mtb3JjaGVzdHJhdG9yIiBocGFyZW50aWQ9Im9wZW5vLW5zb2MiPgorICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgaWQ9ImNvbC1vcGVuby1zZXJ2aWNlLWRlc2lnbiIgaHBhcmVudGlkPSJvcGVuby1zZXJ2aWNlIj4KICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZvbGRlci1vcGVuLW8iPgogICAgICAgICA8L2k+Ci0gICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX25zb2Nfb3JjaGVzdHJhdG9yIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSIKKyAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19tZW51X3NlcnZpY2VfZGVzaWduIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSIKICAgICAgICAgY2xhc3M9InRpdGxlIj4KICAgICAgICAgPC9zcGFuPgogICAgICAgICA8c3BhbiBjbGFzcz0ic2VsZWN0ZWQiPgpAQCAtNTIsNzIgKzI3LDU3IEBACiAgICAgPC9hPgogICAgIDx1bCBjbGFzcz0ic3ViLW1lbnUiPgogICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tbnNvYy1tb2RlbC1kZXNpZ24iIHBhcmVudGlkPSJvcGVuby1uc29jIiBocGFyZW50aWQ9ImNvbC1vcGVuby1uc29jLW9yY2hlc3RyYXRvciIKKyAgICAgICAgICAgIDxhIGNsYXNzPSJpZnJhbWUiIGlkPSJvcGVuby1zZXJ2aWNlLW1vZGVsLWRlc2lnbiIgaHBhcmVudGlkPSJjb2wtb3Blbm8tc2VydmljZS1kZXNpZ24iCiAgICAgICAgICAgICBvcmRlcj0iMTAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii93aW5lcnkvc2VydmljZXRlbXBsYXRlcyI+CisgICAgICAgICAgICBocmVmPSIvd2luZXJ5L3NlcnZpY2V0ZW1wbGF0ZXMuaHRtbCI+CiAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZvbGRlci1vcGVuLW8iPgogICAgICAgICAgICAgICAgIDwvaT4KLSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl9uc29jX21vZGVsX2Rlc2lnbiIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgotICAgICAgICAgICAgICAgIDwvc3Bhbj4KLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9saT4KLQkJPGxpPgotICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLW5zb2Mtbm9kZS10eXBlIiBwYXJlbnRpZD0ib3Blbm8tbnNvYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tbnNvYy1vcmNoZXN0cmF0b3IiCi0gICAgICAgICAgICBvcmRlcj0iMjAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii93aW5lcnkvbm9kZXR5cGVzIj4KLSAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZm9sZGVyLW9wZW4tbyI+Ci0gICAgICAgICAgICAgICAgPC9pPgotICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX25zb2Nfbm9kZV90eXBlIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSI+Ci0gICAgICAgICAgICAgICAgPC9zcGFuPgotICAgICAgICAgICAgPC9hPgotICAgICAgICA8L2xpPgotICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tbnNvYy12bmZkIiBwYXJlbnRpZD0ib3Blbm8tbnNvYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tbnNvYy1vcmNoZXN0cmF0b3IiCi0gICAgICAgICAgICBvcmRlcj0iMzAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii9pdWkvbnNvYy9jc2FyUGFja2FnZS5odG1sIj4KLSAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZm9sZGVyLW9wZW4tbyI+Ci0gICAgICAgICAgICAgICAgPC9pPgotICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX25zb2NfcGtnIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSI+Ci0gICAgICAgICAgICAgICAgPC9zcGFuPgotICAgICAgICAgICAgPC9hPgotICAgICAgICA8L2xpPgotICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tbnNvYy10ZW1wbGF0ZSIgcGFyZW50aWQ9Im9wZW5vLW5zb2MiIGhwYXJlbnRpZD0iY29sLW9wZW5vLW5zb2Mtb3JjaGVzdHJhdG9yIgotICAgICAgICAgICAgb3JkZXI9IjQwLjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCi0gICAgICAgICAgICBocmVmPSIvaXVpL25zb2MvdGVtcGxhdGUuaHRtbCI+Ci0gICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWxpc3QtYWx0Ij4KLSAgICAgICAgICAgICAgICA8L2k+Ci0gICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfbnNvY190ZW1wbGF0ZSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgotICAgICAgICAgICAgICAgIDwvc3Bhbj4KLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9saT4KLQkJPGxpPgotICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLW5zb2MtaG9zdGltYWdlIiBwYXJlbnRpZD0ib3Blbm8tbnNvYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tbnNvYy1vcmNoZXN0cmF0b3IiCi0gICAgICAgICAgICBvcmRlcj0iNTAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii9pdWkvbnNvYy9ob3N0TWlycm9yLmh0bWwiPgotICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1saXN0LWFsdCI+Ci0gICAgICAgICAgICAgICAgPC9pPgotICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX25zb2NfaG9zdGltYWdlIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSI+Ci0gICAgICAgICAgICAgICAgPC9zcGFuPgotICAgICAgICAgICAgPC9hPgotICAgICAgICA8L2xpPgotICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tbnNvYy12QXBwIiBwYXJlbnRpZD0ib3Blbm8tbnNvYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tbnNvYy1vcmNoZXN0cmF0b3IiCi0gICAgICAgICAgICBvcmRlcj0iNjAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii9pdWkvbnNvYy92aXJ0dWFsQXBwbGljYXRpb24uaHRtbCI+Ci0gICAgICAgICAgICAgICAgPGkgY2xhc3M9ImljdC1WTkYiPgotICAgICAgICAgICAgICAgIDwvaT4KLSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl9uc29jX2xpZmVjeWNsZSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2Rlc2lnbl9tb2RlbF9kZXNpZ24iIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51Ij4KICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICA8L2E+CiAgICAgICAgIDwvbGk+CiAgICAgPC91bD4KIDwvbGk+CiA8bGk+Ci0gICAgPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iY29sLW9wZW5vLXJvYy1tYW5hZ2V2aWV3IiBocGFyZW50aWQ9Im9wZW5vLXJvYyI+CisgICAgPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iY29sLW9wZW5vLXNlcnZpY2UtY2F0YWxvZyIgaHBhcmVudGlkPSJvcGVuby1zZXJ2aWNlIj4KKyAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZvbGRlci1vcGVuLW8iPgorICAgICAgICA8L2k+CisgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2NhdGFsb2ciIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgorICAgICAgICBjbGFzcz0idGl0bGUiPgorICAgICAgICA8L3NwYW4+CisgICAgICAgIDxzcGFuIGNsYXNzPSJzZWxlY3RlZCI+CisgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPHNwYW4gY2xhc3M9ImFycm93Ij4KKyAgICAgICAgPC9zcGFuPgorICAgIDwvYT4KKyAgICA8dWwgY2xhc3M9InN1Yi1tZW51Ij4KKyAgICAgICAgPGxpPgorICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLW5zb2Mtdm5mZCIgaHBhcmVudGlkPSJjb2wtb3Blbm8tc2VydmljZS1jYXRhbG9nIgorICAgICAgICAgICAgb3JkZXI9IjEwLjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCisgICAgICAgICAgICBocmVmPSIvb3Blbm91aS9jYXRhbG9nL2NzYXJQYWNrYWdlLmh0bWwiPgorICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1mb2xkZXItb3Blbi1vIj4KKyAgICAgICAgICAgICAgICA8L2k+CisgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19tZW51X3NlcnZpY2VfY2F0YWxvZ19wYWNrYWdlIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSI+CisgICAgICAgICAgICAgICAgPC9zcGFuPgorICAgICAgICAgICAgPC9hPgorICAgICAgICA8L2xpPgorICAgICAgICA8bGk+CisgICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tbnNvYy10ZW1wbGF0ZSIgaHBhcmVudGlkPSJjb2wtb3Blbm8tc2VydmljZS1jYXRhbG9nIgorICAgICAgICAgICAgb3JkZXI9IjIwLjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCisgICAgICAgICAgICBocmVmPSIvb3Blbm91aS9jYXRhbG9nL3RlbXBsYXRlLmh0bWwiPgorICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1saXN0LWFsdCI+CisgICAgICAgICAgICAgICAgPC9pPgorICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fbWVudV9zZXJ2aWNlX2NhdGFsb2dfc2VydmljZV90ZW1wbGF0ZSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgPC9saT4KKyAgICA8L3VsPgorPC9saT4KKzxsaT4KKyAgICA8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJjb2wtb3Blbm8tZXh0ZXJuYWwtc3lzdGVtLXJlZ2lzdGVyIiBocGFyZW50aWQ9Im9wZW5vLXJlc291cmNlIj4KICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWN1YmUiPgogICAgICAgICA8L2k+Ci0gICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX3JvY19tYW5hZ2VtZW50dmlldyIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiCisgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fbWVudV9leHRlcm5hbF9zeXN0ZW1fcmVnaXN0ZXIiIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgogICAgICAgICBjbGFzcz0idGl0bGUiPgogICAgICAgICA8L3NwYW4+CiAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWxlY3RlZCI+CkBAIC0xMjcsMTU3ICs4NywzMiBAQAogICAgIDwvYT4KICAgICA8dWwgY2xhc3M9InN1Yi1tZW51Ij4KICAgICAgICAgPGxpPgotICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLXJvYy12aW0iIHBhcmVudGlkPSJvcGVuby1yb2MiIGhwYXJlbnRpZD0iY29sLW9wZW5vLXJvYy1tYW5hZ2V2aWV3IgorICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLWVzci12aW0iIGhwYXJlbnRpZD0iY29sLW9wZW5vLXJlc291cmNlLW1hbmFnZXZpZXciCiAgICAgICAgICAgICBvcmRlcj0iMTAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii9pdWkvcm9jdmltL3ZpbVZpZXcuaHRtbCI+CisgICAgICAgICAgICBocmVmPSIvb3Blbm91aS9leHRzeXMvdmltL3ZpbVZpZXcuaHRtbCI+CiAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWN1YmUiPgogICAgICAgICAgICAgICAgIDwvaT4KLSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl9yb2NfdmltIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSI+CisgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19tZW51X3ZpbV9yZWdpc3RlciIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgogICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgIDwvYT4KICAgICAgICAgPC9saT4KICAgICAgICAgPGxpPgotICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLXJvYy12bmZtIiBwYXJlbnRpZD0ib3Blbm8tcm9jIiBocGFyZW50aWQ9ImNvbC1vcGVuby1yb2MtbWFuYWdldmlldyIKKyAgICAgICAgICAgIDxhIGNsYXNzPSJpZnJhbWUiIGlkPSJvcGVuby1lc3Itdm5mbSIgaHBhcmVudGlkPSJjb2wtb3Blbm8tcmVzb3VyY2UtbWFuYWdldmlldyIKICAgICAgICAgICAgIG9yZGVyPSIyMC4wIiBob3Jncm91cD0iMTAuMCIgY2FjaGVudW09IiIgc2hpZnRqcz0iIiBpZnJhbWVhdXRvc2Nyb2xsPSJhdXRvIgotICAgICAgICAgICAgaHJlZj0iL2l1aS9uc29jL3ZuZm1WaWV3Lmh0bWwiPgorICAgICAgICAgICAgaHJlZj0iL29wZW5vdWkvZXh0c3lzL3ZuZm0vdm5mbVZpZXcuaHRtbCI+CiAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImljdC1WTkZNIj4KICAgICAgICAgICAgICAgICA8L2k+Ci0gICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3Jfcm9jX3ZuZm0iIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51Ij4KLSAgICAgICAgICAgICAgICA8L3NwYW4+Ci0gICAgICAgICAgICA8L2E+Ci0gICAgICAgIDwvbGk+Ci0gICAgPC91bD4KLTwvbGk+Ci08bGk+Ci0gICAgPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iY29sLW9wZW5vLXJvYy1yZXNvdXJjZXZpZXciIGhwYXJlbnRpZD0ib3Blbm8tcm9jIj4KLSAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWN1YmVzIj4KLSAgICAgICAgPC9pPgotICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl9yb2NfcmVzb3VyY2V2aWV3IiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSIKLSAgICAgICAgY2xhc3M9InRpdGxlIj4KLSAgICAgICAgPC9zcGFuPgotICAgICAgICA8c3BhbiBjbGFzcz0ic2VsZWN0ZWQiPgotICAgICAgICA8L3NwYW4+Ci0gICAgICAgIDxzcGFuIGNsYXNzPSJhcnJvdyI+Ci0gICAgICAgIDwvc3Bhbj4KLSAgICA8L2E+Ci0gICAgPHVsIGNsYXNzPSJzdWItbWVudSI+Ci0gICAgICAgIDxsaT4KLSAgICAgICAgICAgIDxhIGNsYXNzPSJpZnJhbWUiIGlkPSJvcGVuby1yb2MtcnMtdmlldy1vdmVydmlldyIgcGFyZW50aWQ9Im9wZW5vLXJvYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tcm9jLXJlc291cmNldmlldyIKLSAgICAgICAgICAgIG9yZGVyPSI4LjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCi0gICAgICAgICAgICBocmVmPSIvaXVpL3JvY3Jzdmlldy9yZXNWaWV3Lmh0bWwiPgotICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jdWJlcyI+Ci0gICAgICAgICAgICAgICAgPC9pPgotICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX3JvY19vdmVydmlldyIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgotICAgICAgICAgICAgICAgIDwvc3Bhbj4KLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9saT4KLSAgICA8L3VsPgotPC9saT4KLTxsaT4KLSAgICA8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJjb2wtb3Blbm8tdW1jLXNldHRpbmciIGhwYXJlbnRpZD0ib3Blbm8tdW1jIj4KLSAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXB1enpsZS1waWVjZSI+Ci0gICAgICAgIDwvaT4KLSAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfdW1jX21vbml0b3Jfc2V0dGluZyIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiCi0gICAgICAgIGNsYXNzPSJ0aXRsZSI+Ci0gICAgICAgIDwvc3Bhbj4KLSAgICAgICAgPHNwYW4gY2xhc3M9InNlbGVjdGVkIj4KLSAgICAgICAgPC9zcGFuPgotICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPgotICAgICAgICA8L3NwYW4+Ci0gICAgPC9hPgotICAgIDx1bCBjbGFzcz0ic3ViLW1lbnUiPgotICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tdW1jLW1vbml0b3Itc2V0dGluZyIgcGFyZW50aWQ9Im9wZW5vLXVtYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tdW1jLXNldHRpbmciIAotICAgICAgICAgICAgb3JkZXI9IjEwLjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCi0gICAgICAgICAgICBocmVmPSIvaXVpL3VtY21vbml0b3IvbW9uaXRvclNldHRpbmdMaXN0Lmh0bWwiPgotICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1wdXp6bGUtcGllY2UiPgotICAgICAgICAgICAgICAgIDwvaT4KLSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl91bWNfbW9uaXRvcl9wYXJhX3NldHRpbmciIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51Ij4KLSAgICAgICAgICAgICAgICA8L3NwYW4+Ci0gICAgICAgICAgICA8L2E+Ci0gICAgICAgIDwvbGk+Ci0gICAgPC91bD4KLTwvbGk+Ci08bGk+Ci0gICAgPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iY29sLW9wZW5vLXVtYy10b3BvIiBocGFyZW50aWQ9Im9wZW5vLXVtYyI+Ci0gICAgICAgIDxpIGNsYXNzPSJmYSBmYS1wdXp6bGUtcGllY2UiPgotICAgICAgICA8L2k+Ci0gICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX3VtY190b3BvIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSIKLSAgICAgICAgY2xhc3M9InRpdGxlIj4KLSAgICAgICAgPC9zcGFuPgotICAgICAgICA8c3BhbiBjbGFzcz0ic2VsZWN0ZWQiPgotICAgICAgICA8L3NwYW4+Ci0gICAgICAgIDxzcGFuIGNsYXNzPSJhcnJvdyI+Ci0gICAgICAgIDwvc3Bhbj4KLSAgICA8L2E+Ci0gICAgPHVsIGNsYXNzPSJzdWItbWVudSI+Ci0gICAgICAgIDxsaT4KLSAgICAgICAgICAgIDxhIGNsYXNzPSJpZnJhbWUiIGlkPSJvcGVuby11bWMtcGh5c2ljYWwtdG9wbyIgcGFyZW50aWQ9Im9wZW5vLXVtYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tdW1jLXRvcG8iIAotICAgICAgICAgICAgb3JkZXI9IjEwLjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCi0gICAgICAgICAgICBocmVmPSIvaXVpL3VtY3RvcG8vcGh5c2ljYWxUb3BvbG9neS5odG1sIj4KLSAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtcHV6emxlLXBpZWNlIj4KLSAgICAgICAgICAgICAgICA8L2k+Ci0gICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfdW1jX3BoeXNpY2FsX3RvcG8iIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51Ij4KKyAgICAgICAgICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX21lbnVfdm5mbV9yZWdpc3RlciIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgogICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgIDwvYT4KICAgICAgICAgPC9saT4KICAgICAgICAgPGxpPgotICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLXVtYy1zZXJ2aWNlLXRvcG8iIHBhcmVudGlkPSJvcGVuby11bWMiIGhwYXJlbnRpZD0iY29sLW9wZW5vLXVtYy10b3BvIiAKLSAgICAgICAgICAgIG9yZGVyPSIxMC4wIiBob3Jncm91cD0iMTAuMCIgY2FjaGVudW09IiIgc2hpZnRqcz0iIiBpZnJhbWVhdXRvc2Nyb2xsPSJhdXRvIgotICAgICAgICAgICAgaHJlZj0iL2l1aS91bWN0b3BvL3NlcnZpY2VUb3BvbG9neS5odG1sIj4KLSAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtcHV6emxlLXBpZWNlIj4KKyAgICAgICAgICAgIDxhIGNsYXNzPSJpZnJhbWUiIGlkPSJvcGVuby1lc3Itc2RuYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tcmVzb3VyY2UtbWFuYWdldmlldyIKKyAgICAgICAgICAgIG9yZGVyPSIzMC4wIiBob3Jncm91cD0iMTAuMCIgY2FjaGVudW09IiIgc2hpZnRqcz0iIiBpZnJhbWVhdXRvc2Nyb2xsPSJhdXRvIgorICAgICAgICAgICAgaHJlZj0iL29wZW5vdWkvZXh0c3lzL3NkbmNvbnRyb2xsZXIvY29udHJvbGxlci5odG1sIj4KKyAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWN0LVZORk0iPgogICAgICAgICAgICAgICAgIDwvaT4KLSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl91bWNfc2VydmljZV90b3BvIiBuYW1lX2kxOG49ImNvbV96dGVfdW1zX2ljdF9mcmFtZXdvcmtfdWlfaTE4bl9zaWRlTWVudSI+Ci0gICAgICAgICAgICAgICAgPC9zcGFuPgotICAgICAgICAgICAgPC9hPgotICAgICAgICA8L2xpPgotICAgIDwvdWw+Ci08L2xpPgotPGxpPgotICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgaWQ9ImNvbC1vcGVuby11bWMtZm0iIGhwYXJlbnRpZD0ib3Blbm8tdW1jIj4KLSAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNvbW1lbnRzIj4KLSAgICAgICAgPC9pPgotICAgICAgICA8c3BhbiBpZD0ib3JnX29wZW5vX29yY2hlc3RyYXRvcl91bWNfZm0iIG5hbWVfaTE4bj0iY29tX3p0ZV91bXNfaWN0X2ZyYW1ld29ya191aV9pMThuX3NpZGVNZW51IgotICAgICAgICBjbGFzcz0idGl0bGUiPgotICAgICAgICA8L3NwYW4+Ci0gICAgICAgIDxzcGFuIGNsYXNzPSJzZWxlY3RlZCI+Ci0gICAgICAgIDwvc3Bhbj4KLSAgICAgICAgPHNwYW4gY2xhc3M9ImFycm93Ij4KLSAgICAgICAgPC9zcGFuPgotICAgIDwvYT4KLSAgICA8dWwgY2xhc3M9InN1Yi1tZW51Ij4KLSAgICAgICAgPGxpPgotICAgICAgICAgICAgPGEgY2xhc3M9ImlmcmFtZSIgaWQ9Im9wZW5vLXVtYy1tb25pdG9yLWFsYXJtLWN1cnJlbnRBbGFybSIgcGFyZW50aWQ9Im9wZW5vLXVtYyIgaHBhcmVudGlkPSJjb2wtb3Blbm8tdW1jLWZtIgotICAgICAgICAgICAgb3JkZXI9IjEwLjAiIGhvcmdyb3VwPSIxMC4wIiBjYWNoZW51bT0iIiBzaGlmdGpzPSIiIGlmcmFtZWF1dG9zY3JvbGw9ImF1dG8iCi0gICAgICAgICAgICBocmVmPSIvaXVpL3VtY2ZtL2h0bWwvZm1fY3VycmVudEFsYXJtX3ZpZXcuaHRtbCI+Ci0gICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNvbW1lbnRzIj4KLSAgICAgICAgICAgICAgICA8L2k+Ci0gICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im9yZ19vcGVub19vcmNoZXN0cmF0b3JfdW1jX2ZtX2N1cnJlbnRBbGFybSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgotICAgICAgICAgICAgICAgIDwvc3Bhbj4KLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9saT4KLSAgICA8L3VsPgotPC9saT4KLTxsaT4KLSAgICA8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJjb2wtb3Blbm8tdW1jLXBtIiBocGFyZW50aWQ9Im9wZW5vLXVtYyI+Ci0gICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jb2ZmZWUiPgotICAgICAgICA8L2k+Ci0gICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX3VtY19wbSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiCi0gICAgICAgIGNsYXNzPSJ0aXRsZSI+Ci0gICAgICAgIDwvc3Bhbj4KLSAgICAgICAgPHNwYW4gY2xhc3M9InNlbGVjdGVkIj4KLSAgICAgICAgPC9zcGFuPgotICAgICAgICA8c3BhbiBjbGFzcz0iYXJyb3ciPgotICAgICAgICA8L3NwYW4+Ci0gICAgPC9hPgotICAgIDx1bCBjbGFzcz0ic3ViLW1lbnUiPgotICAgICAgICA8bGk+Ci0gICAgICAgICAgICA8YSBjbGFzcz0iaWZyYW1lIiBpZD0ib3Blbm8tdW1jLW1vbml0b3ItcG0taGlzdG9yeVF1ZXJ5IiBwYXJlbnRpZD0ib3Blbm8tdW1jIiBocGFyZW50aWQ9ImNvbC1vcGVuby11bWMtcG0iCi0gICAgICAgICAgICBvcmRlcj0iMTAuMCIgaG9yZ3JvdXA9IjEwLjAiIGNhY2hlbnVtPSIiIHNoaWZ0anM9IiIgaWZyYW1lYXV0b3Njcm9sbD0iYXV0byIKLSAgICAgICAgICAgIGhyZWY9Ii9pdWkvdW1jcG0vaHRtbC9tZWF0YXNrL21lYXRhc2tRdWVyeVZpZXcuaHRtbCI+Ci0gICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNvZmZlZSI+Ci0gICAgICAgICAgICAgICAgPC9pPgotICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fb3JjaGVzdHJhdG9yX3VtY19wbV9wZXJmb3JtYW5jZV9xdWVyeSIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgorICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvcmdfb3Blbm9fbWVudV9zZG5fY29udHJvbGxlcl9yZWdpc3RlciIgbmFtZV9pMThuPSJjb21fenRlX3Vtc19pY3RfZnJhbWV3b3JrX3VpX2kxOG5fc2lkZU1lbnUiPgogICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgIDwvYT4KICAgICAgICAgPC9saT4KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3BvbS54bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9wb20ueG1sCmluZGV4IDg4MzJlMGQuLjNiNmM1ZTUgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3BvbS54bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvcG9tLnhtbApAQCAtMTYsOCArMTYsOSBAQAogICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiAtLT4KLTxwcm9qZWN0IHhtbG5zPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgotICAgIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4gCis8cHJvamVjdCB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogICAgIDxwYXJlbnQ+CiAgICAgICAgIDxncm91cElkPm9yZy5vcGVuby5nc28uZ3VpPC9ncm91cElkPgogICAgICAgICA8YXJ0aWZhY3RJZD5vcGVuby1wb3J0YWw8L2FydGlmYWN0SWQ+CkBAIC0zNCw3ICszNSw3IEBACiAgICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+CiAgICAgICAgICAgICAgICAgICAgIDxmYWlsT25NaXNzaW5nV2ViWG1sPmZhbHNlPC9mYWlsT25NaXNzaW5nV2ViWG1sPgogICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KLSAgICAgIDwvcGx1Z2luPgotICAgIDwvcGx1Z2lucz4KLSAgPC9idWlsZD4KKyAgICAgICAgICAgIDwvcGx1Z2luPgorICAgICAgICA8L3BsdWdpbnM+CisgICAgPC9idWlsZD4KIDwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9jb250cm9sbGVyLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3NkbmNvbnRyb2xsZXIvY29udHJvbGxlci5odG1sCmluZGV4IDE3NjA2NjYuLjhiZTkzYWQgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9jb250cm9sbGVyLmh0bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy9zZG5jb250cm9sbGVyL2NvbnRyb2xsZXIuaHRtbApAQCAtMTksMzE4ICsxOSwzMTkgQEAKIDwhRE9DVFlQRSBodG1sPg0KIDxodG1sPg0KIDxoZWFkPg0KLTxoZWFkIGxhbmc9ImVuIj4NCi08bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQotPHRpdGxlPjwvdGl0bGU+DQotPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi08bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvY29udHJvbGxlci5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCisgICAgPGhlYWQgbGFuZz0iZW4iPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKyAgICAgICAgPHRpdGxlPjwvdGl0bGU+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2NvbnRyb2xsZXIuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCisgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQogDQotCQl2YXIganNvbmRhdGEgPSBsb2FkQ29udHJvbGxlckRhdGEoKTsNCisgICAgICAgICAgICAgICAgdmFyIGpzb25kYXRhID0gbG9hZENvbnRyb2xsZXJEYXRhKCk7DQogDQotCQkkKCcjY29udHJvbGxlcicpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCQkvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQotCQkJZGF0YSA6IGpzb25kYXRhDQotCQl9KTsNCi0JfSk7DQotCWZ1bmN0aW9uIG9wZXJhdGVGb3JtYXR0ZXIodmFsdWUsIHJvdywgaW5kZXgpIHsNCi0JCXJldHVybiBbICc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicgXQ0KLQkJCQkuam9pbignJyk7DQorICAgICAgICAgICAgICAgICQoJyNjb250cm9sbGVyJykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbmRhdGENCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gWyc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPiddDQorICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpOw0KIA0KLQl9DQotCXdpbmRvdy5vcGVyYXRlRXZlbnRzID0gew0KLQkJJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJyA6IGZ1bmN0aW9uKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQotCQkJLy8gVE8gRE8gYWpleCBjYWxsIGZvciBkZWxldGUNCi0JCQlkZWxldGVMaW5rKHJvdy5pZCk7DQotCQkJY29uc29sZS5sb2codmFsdWUsIHJvdywgaW5kZXgpOw0KLQkJfQ0KLQl9Ow0KLTwvc2NyaXB0Pg0KLTwvaGVhZD4NCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7DQorICAgICAgICAgICAgICAgICdjbGljayAuc2l0ZURlbGV0ZUltZyc6IGZ1bmN0aW9uIChlLCB2YWx1ZSwgcm93LCBpbmRleCkgew0KKyAgICAgICAgICAgICAgICAgICAgLy8gVE8gRE8gYWpleCBjYWxsIGZvciBkZWxldGUNCisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUxpbmsocm93LmlkKTsNCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH07DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KIDxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQotICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4NCis8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+DQogDQotICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPg0KLSAgICAgICAgICAgIDxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX2J1dHRvbkdyb3VwIiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyI+DQotICAgICAgICAgICAgICAgICAgICA8ZGl2DQorICAgIDxkaXYgY2xhc3M9InVwbG9hZEJ0biI+DQorICAgICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX3VzZXJIZWFkZXIiIGNsYXNzPSJ1c2VySGVhZGVyIj4NCisgICAgICAgICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX2J1dHRvbkdyb3VwIiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyI+DQorICAgICAgICAgICAgICAgIDxkaXYNCiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8gb3Blbm8td2lkZ2V0LWJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQgbmctaXNvbGF0ZS1zY29wZSBvcGVub0J1dHRvbl9idXR0b25DbGFzcyBkZWZhdWx0YnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbl9kZWZhdWx0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PSIwIiBpZD0iZmFsc2UiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2NyZWF0ZSIgaWNvbi11cmw9Ii4vaW1hZ2VzL2FkZC5wbmciDQogICAgICAgICAgICAgICAgICAgICAgICAgY2xzPSJkZWZhdWx0YnV0dG9uIiBjbGljaz0iY2xpY2tBZGQiDQogICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctcmlnaHQ6IDBweDsiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbklubmVyQ2xhc3Mgb3Blbm8tY29ybmVyLWFsbCBvcGVub0J1dHRvbl9JbWFnZSIgaWQ9ImZhbHNlX2J1dHRvbiI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwgb3Blbm9CdXR0b25fSW1hZ2UiIGlkPSJmYWxzZV9idXR0b24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25MZWZ0SW1nIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYWRkLnBuZyk7Ij48L3NwYW4+PHNwYW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5DcmVhdGU8L3NwYW4+PHNwYW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYWRkLnBuZyk7Ij48L3NwYW4+PHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgb3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dEZvbnQiPkNyZWF0ZTwvc3Bhbj48c3Bhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25JbWdEZWZhdWx0Ij48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0NCiAgICAgICAgICAgICAgICAgPC9kaXY+DQorDQogICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQogDQotICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+DQotICAgICAgICAgICAgPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPg0KLSAgICAgICAgICAgICAgICA8ZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9ImNvbnRyb2xsZXIiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjEwIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQgaWQ9ImNvbnRyb2xsZXIiIGNsYXNzPSJvcGVuby10YWJsZS10aGVhZCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImFjdGl2ZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJuYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KKyAgICAgICAgPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPg0KKyAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQorICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9ImNvbnRyb2xsZXIiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjEwIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIgZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyINCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQgaWQ9ImNvbnRyb2xsZXIiIGNsYXNzPSJvcGVuby10YWJsZS10aGVhZCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJuYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImN0cmxlcl9uYW1lX3NvcnRpY29uIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwIG9wZW5vVGFibGVfc29ydGFibGUgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5OYW1lDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCBvcGVub1RhYmxlX3NvcnRhYmxlIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TmFtZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0icHJvdG9jb2wiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InByb3RvY29sIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImN0cmxlcl9wcm90b2NvbF9zb3J0aWNvbiINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5Qcm90b2NvbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+UHJvdG9jb2wNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InByb2R1Y3RuYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJwcm9kdWN0bmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJjdHJsZXJfcHJvZHVjdG5hbWVfc29ydGljb24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+UHJvZHVjdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+UHJvZHVjdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWU8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJ0eXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJ0eXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImN0cmxlcl90eXBlX3NvcnRpY29uIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlR5cGUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlR5cGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InZlbmRvciIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idmVuZG9yIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImN0cmxlcl92ZW5kb3Jfc29ydGljb24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VmVuZG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5WZW5kb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idmVyc2lvbiIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InZlcnNpb24iIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0iY3RybGVyX3ZlcnNpb25fc29ydGljb24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VmVyc2lvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VmVyc2lvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0iZGVzY3JpcHRpb24iIGRhdGEtc29ydGFibGU9InRydWUiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9ImRlc2NyaXB0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImN0cmxlcl9kZXNjcmlwdGlvbl9zb3J0aWNvbiINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5EZXNjcmlwdGlvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+RGVzY3JpcHRpb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9ImNyZWF0ZXRpbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9ImNyZWF0ZXRpbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0iY3RybGVyX2NyZWF0ZXRpbWVfc29ydGljb24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+Q3JlYXRlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5DcmVhdGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lIDwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im9wZXJhdGlvbiIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ib3BlcmF0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImN0cmxlcl9vcGVyYXRpb25fc29ydGljb24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+T3BlcmF0aW9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5PcGVyYXRpb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KLSAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+DQorICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgPCEtLSA8ZGl2IGlkPSJ0cExpc3RvcGVub3RhYmxlX3BhZ2luYXRpb25fd3JhcHBlciIgY2xhc3M9Im9wZW5vLXRhYmxlLXBhZ2luYXRpb24td3JhcHBlciIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+PGRpdiBjbGFzcz0icGFnaW5hdGlvbi1jb250YWluZXIgb3Blbm8tcGFnaW5hdGlvbi10aGVtZSBvcGVuby1wYWdpbmF0aW9uIj48ZGl2IGNsYXNzPSJvcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9kaXYiPjxpbnB1dCByZWFkb25seT0idHJ1ZSIgY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IG9wZW5vcGFnaW5hdGlvbnNlbGVjdCIgdmFsdWU9IiIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9pbnB1dCIgYWN0dWFsdmFsPSIyMCIgc3R5bGU9IndpZHRoOiAzMnB4OyI+PHNwYW4gY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0c3BhbiBvcGVub3BhZ2luYXRpb25zZWxlY3RzcGFuIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3RyaWdnZXIiPjwvc3Bhbj48L2Rpdj48bGFiZWwgc3R5bGU9ImRpc3BsYXk6IGJsb2NrO2Zsb2F0OmxlZnQ7Ij5Ub3RhbCByZWNvcmRzOiAyMzwvbGFiZWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IHByZXYgb3Blbm8tZGlzYWJsZWQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcHJldiI+Jm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iYWN0aXZlIj48c3BhbiBjbGFzcz0iY3VycmVudCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMSI+MTwvc3Bhbj48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18yIj4yPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzMiPjM8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayBuZXh0IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX25leHQiPiZuYnNwOzwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+IC0tPg0KKyAgICA8L2Rpdj4NCisgICAgPCEtLSA8ZGl2IGlkPSJ0cExpc3RvcGVub3RhYmxlX3BhZ2luYXRpb25fd3JhcHBlciIgY2xhc3M9Im9wZW5vLXRhYmxlLXBhZ2luYXRpb24td3JhcHBlciIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+PGRpdiBjbGFzcz0icGFnaW5hdGlvbi1jb250YWluZXIgb3Blbm8tcGFnaW5hdGlvbi10aGVtZSBvcGVuby1wYWdpbmF0aW9uIj48ZGl2IGNsYXNzPSJvcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9kaXYiPjxpbnB1dCByZWFkb25seT0idHJ1ZSIgY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IG9wZW5vcGFnaW5hdGlvbnNlbGVjdCIgdmFsdWU9IiIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9pbnB1dCIgYWN0dWFsdmFsPSIyMCIgc3R5bGU9IndpZHRoOiAzMnB4OyI+PHNwYW4gY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0c3BhbiBvcGVub3BhZ2luYXRpb25zZWxlY3RzcGFuIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3RyaWdnZXIiPjwvc3Bhbj48L2Rpdj48bGFiZWwgc3R5bGU9ImRpc3BsYXk6IGJsb2NrO2Zsb2F0OmxlZnQ7Ij5Ub3RhbCByZWNvcmRzOiAyMzwvbGFiZWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IHByZXYgb3Blbm8tZGlzYWJsZWQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcHJldiI+Jm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iYWN0aXZlIj48c3BhbiBjbGFzcz0iY3VycmVudCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMSI+MTwvc3Bhbj48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18yIj4yPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzMiPjM8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayBuZXh0IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX25leHQiPiZuYnNwOzwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+IC0tPg0KIA0KLSAgICAgICAgPGRpdiBpZD0idm1BcHBEaWFsb2ciIGNsYXNzPSJtb2RhbCBmYWRlIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiDQotICAgICAgICAgICAgYXJpYS1oaWRkZW49ImZhbHNlIj4NCi0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCi0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj7DlzwvYnV0dG9uPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNyZWF0ZTwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiByb2xlPSJmb3JtIiBpZD0iY29udHJvbGxlckZvcm0iPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3aXphcmQiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIG5hdi1qdXN0aWZpZWQgdm1hcHAtbWFyZ2luIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgYWN0aXZlIiBpZD0iYmFzaWNUYWIiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+TmFtZTwvc3Bhbj4gPHNwYW4NCisgICAgPGRpdiBpZD0idm1BcHBEaWFsb2ciIGNsYXNzPSJtb2RhbCBmYWRlIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiDQorICAgICAgICAgYXJpYS1oaWRkZW49ImZhbHNlIj4NCisgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQorICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Q3JlYXRlPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIHJvbGU9ImZvcm0iIGlkPSJjb250cm9sbGVyRm9ybSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2l6YXJkIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJiYXNpY1RhYiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+TmFtZTwvc3Bhbj4gPHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibmFtZSIgbmFtZT0ibmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5VUkw8L3NwYW4+IDxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlVSTDwvc3Bhbj4gPHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InVybCIgbmFtZT0idXJsIiBjbGFzcz0iZm9ybS1jb250cm9sIiAvPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InVybCIgbmFtZT0idXJsIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlVzZXIgTmFtZTwvc3Bhbj4gPHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+VXNlciBOYW1lPC9zcGFuPiA8c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idXNlcm5hbWUiIG5hbWU9InVzZXJuYW1lIg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIgLz4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ1c2VybmFtZSIgbmFtZT0idXNlcm5hbWUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+UGFzc3dvcmQ8L3NwYW4+IDxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlBhc3N3b3JkPC9zcGFuPiA8c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9InBhc3N3b3JkIiBuYW1lPSJwYXNzd29yZCINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9InBhc3N3b3JkIiBuYW1lPSJwYXNzd29yZCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5WZXJzaW9uPC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZlcnNpb24iIG5hbWU9InZlcnNpb24iIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlZlcnNpb248L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idmVyc2lvbiIgbmFtZT0idmVyc2lvbiIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5WZW5kb3I8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idmVuZG9yIiBuYW1lPSJ2ZW5kb3IiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlZlbmRvcjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ2ZW5kb3IiIG5hbWU9InZlbmRvciIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5EZXNjcmlwdGlvbjwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJkZXNjcmlwdGlvbiIgbmFtZT0iZGVzY3JpcHRpb24iDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIiAvPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5EZXNjcmlwdGlvbjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJkZXNjcmlwdGlvbiIgbmFtZT0iZGVzY3JpcHRpb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+UHJvdG9jb2w8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+UHJvdG9jb2w8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLXRvcDogMHB4OyBwYWRkaW5nLWJvdHRvbTogMHB4OyIgaWQ9InByb3RvY29sIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0icHJvdG9jb2wiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibmV0Y29uZiI+bmV0Y29uZjwvb3B0aW9uPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic25tcCI+c25tcDwvb3B0aW9uPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibmV0Y29uZiI+bmV0Y29uZjwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJzbm1wIj5zbm1wPC9vcHRpb24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlByb2R1Y3QgTmFtZTwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJwcm9kdWN0bmFtZSIgbmFtZT0icHJvZHVjdG5hbWUiDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIiAvPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5Qcm9kdWN0IE5hbWU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icHJvZHVjdG5hbWUiIG5hbWU9InByb2R1Y3RuYW1lIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPlR5cGU8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+VHlwZTwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctdG9wOiAwcHg7IHBhZGRpbmctYm90dG9tOiAwcHg7IiBpZD0idHlwZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InR5cGUiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ib2RsIj5PREw8L29wdGlvbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im9ub3MiPk9OT1M8L29wdGlvbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im9kbCI+T0RMPC9vcHRpb24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im9ub3MiPk9OT1M8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBTREJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjcmVhdGVMaW5rIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtY2FuY2VsQnRuIj5PSzwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1wcmV2aW91c0J0biI+Q2FuY2VsPC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KLQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCi0gICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gU0RCdG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0iY3JlYXRlTGluayI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtY2FuY2VsQnRuIj5PSzwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnV0dG9uLXByZXZpb3VzIFNEQnRuIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1wcmV2aW91c0J0biI+Q2FuY2VsPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgIDwvZGl2Pg0KICAgICA8L2Rpdj4NCi0gICAgPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiIGNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiDQotICAgICAgICBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij4NCi0gICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8wIj4NCi0gICAgICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzIG9wZW5vLXNlbGVjdC1ibGFuay1pdGVtIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPg0KLSAgICAgICAgPC9kaXY+DQotICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMSI+DQotICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkVUSDwvbGFiZWw+DQotICAgICAgICA8L2Rpdj4NCi0gICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8yIj4NCi0gICAgICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD4NCi0gICAgICAgIDwvZGl2Pg0KLSAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzMiPg0KLSAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+DQotICAgICAgICA8L2Rpdj4NCi0gICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF80Ij4NCi0gICAgICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+TG9vcGJhY2s8L2xhYmVsPg0KLSAgICAgICAgPC9kaXY+DQorPC9kaXY+DQorPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiIGNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiDQorICAgICBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPg0KKyAgICAgICAgPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyBvcGVuby1zZWxlY3QtYmxhbmstaXRlbSINCisgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPg0KICAgICA8L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzEiPg0KKyAgICAgICAgPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkVUSDwvbGFiZWw+DQorICAgIDwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMiI+DQorICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD4NCisgICAgPC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8zIj4NCisgICAgICAgIDxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+DQorICAgIDwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfNCI+DQorICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+TG9vcGJhY2s8L2xhYmVsPg0KKyAgICA8L2Rpdj4NCis8L2Rpdj4NCiANCiANCiA8L2JvZHk+DQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy9zZG5jb250cm9sbGVyL2Nzcy9STWFpbi5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3NkbmNvbnRyb2xsZXIvY3NzL1JNYWluLmNzcwppbmRleCAxYjg0ODhhLi4wYTc0MDMyIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3NkbmNvbnRyb2xsZXIvY3NzL1JNYWluLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3NkbmNvbnRyb2xsZXIvY3NzL1JNYWluLmNzcwpAQCAtMTMsMTk5ICsxMywyMjcgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICAqLw0KIA0KLQ0KICNpZW1wX2xheW91dF9jb250YWluZXIgew0KLSAgcGFkZGluZzogMHB4Ow0KLSAgbWFyZ2luOiAxcHggYXV0bzsNCi0gIHdpZHRoOiAxMDAlOw0KLSAgaGVpZ2h0OiAxMDAlOw0KKyAgICBwYWRkaW5nOiAwcHg7DQorICAgIG1hcmdpbjogMXB4IGF1dG87DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQogfQ0KKw0KICNpZW1wX2xheW91dF9jb250YWluZXIgLnRocmVlLWNvbHMtbGF5b3V0IHsNCi0gIHdpZHRoOiAxMDAlOw0KLSAgaGVpZ2h0OiAxMDAlOw0KLSAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCi0gIG1hcmdpbi1sZWZ0OiAwcHg7DQotICBtYXJnaW4tdG9wOiAwcHg7DQotICBtYXJnaW4tcmlnaHQ6IDBweDsNCi0gIG1hcmdpbi1ib3R0b206IDBweDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIGhlaWdodDogMTAwJTsNCisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCisgICAgbWFyZ2luLWxlZnQ6IDBweDsNCisgICAgbWFyZ2luLXRvcDogMHB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IDBweDsNCisgICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KIH0NCisNCiAjaWVtcF9sYXlvdXRfY29udGFpbmVyIC50aHJlZS1jb2xzLWxheW91dCB7DQotICB3aWR0aDogMTAwJTsNCi0gIGhlaWdodDogMTAwJTsNCi0gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7DQotICBtYXJnaW4tbGVmdDogMHB4Ow0KLSAgbWFyZ2luLXRvcDogMHB4Ow0KLSAgbWFyZ2luLXJpZ2h0OiAwcHg7DQotICBtYXJnaW4tYm90dG9tOiAwcHg7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQorICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7DQorICAgIG1hcmdpbi1sZWZ0OiAwcHg7DQorICAgIG1hcmdpbi10b3A6IDBweDsNCisgICAgbWFyZ2luLXJpZ2h0OiAwcHg7DQorICAgIG1hcmdpbi1ib3R0b206IDBweDsNCiB9DQorDQogI2llbXBfbGF5b3V0X2NvbnRhaW5lciAudGhyZWUtY29scy1jb2x1bW4udGhyZWUtY29scy1sZWZ0IHsNCi0gIHdpZHRoOiAyMTVweDsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQorICAgIHdpZHRoOiAyMTVweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiB9DQorDQogLmFjY29yZGlvbl9wYXJlbnQgew0KLSAgcG9zaXRpb246IHJlbGF0aXZlOw0KLSAgd2lkdGg6IDIyMHB4Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICB3aWR0aDogMjIwcHg7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogfQ0KKw0KIC5vcGVuby1hY2NvcmRpb24tcmVzaXphYmxlLWhhbmRsZSB7DQotICB6LWluZGV4OiAxIWltcG9ydGFudDsNCi0gIGN1cnNvcjogZS1yZXNpemU7DQotICB3aWR0aDogN3B4Ow0KLSAgcmlnaHQ6IC01cHg7DQotICB0b3A6IDA7DQotICBoZWlnaHQ6IDEwMCU7DQotICBwb3NpdGlvbjogYWJzb2x1dGU7DQotICBmb250LXNpemU6IC4xcHg7DQotICBkaXNwbGF5OiBibG9jazsNCisgICAgei1pbmRleDogMSAhaW1wb3J0YW50Ow0KKyAgICBjdXJzb3I6IGUtcmVzaXplOw0KKyAgICB3aWR0aDogN3B4Ow0KKyAgICByaWdodDogLTVweDsNCisgICAgdG9wOiAwOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQorICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgZm9udC1zaXplOiAuMXB4Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCiB9DQorDQogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgew0KLSAgd2lkdGg6IDEwMCU7DQotICBtYXJnaW46IDA7DQotICBwYWRkaW5nOiAwOw0KLSAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KLSAgbGluZS1oZWlnaHQ6IDE3cHg7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBtYXJnaW46IDA7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCisgICAgbGluZS1oZWlnaHQ6IDE3cHg7DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IGxpIHsNCi0gIG1pbi13aWR0aDogNzVweDsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQotICBjb2xvcjogIzAwMDsNCi0gIGNsZWFyOiBib3RoOw0KKyAgICBtaW4td2lkdGg6IDc1cHg7DQorICAgIG1hcmdpbjogMDsNCisgICAgcGFkZGluZzogMDsNCisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KKyAgICBjb2xvcjogIzAwMDsNCisgICAgY2xlYXI6IGJvdGg7DQogfQ0KKw0KIC5vcGVub19hY2NvcmRpb25fdWktaWNvbi1jb2xsYXBzZSwgLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCB7DQotICBkaXNwbGF5OiBibG9jazsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgbWFyZ2luLWJvdHRvbTogLTFweDsNCi0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Ow0KLSAgY3Vyc29yOiBwb2ludGVyOw0KLSAgd2lkdGg6IDEzcHg7DQotICBwYWRkaW5nLXRvcDogMjZweDsNCisgICAgZGlzcGxheTogYmxvY2s7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAtMXB4Ow0KKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KKyAgICB3aWR0aDogMTNweDsNCisgICAgcGFkZGluZy10b3A6IDI2cHg7DQogfQ0KKw0KIC5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jb2xsYXBzZV9hcnJvdy5wbmcpIHJpZ2h0IDIwcHggbm8tcmVwZWF0Ow0KLSAgbWFyZ2luLXRvcDogOHB4Ow0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbGxhcHNlX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7DQorICAgIG1hcmdpbi10b3A6IDhweDsNCiB9DQotLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZC5jdXJyZW50ew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9leHBhbmRfYXJyb3cucG5nKSByaWdodCAyMHB4IG5vLXJlcGVhdDsNCisNCisub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLmN1cnJlbnQgew0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2V4cGFuZF9hcnJvdy5wbmcpIHJpZ2h0IDIwcHggbm8tcmVwZWF0Ow0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlLCAub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19zaG93IHsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLSAgcG9zaXRpb246IGFic29sdXRlOw0KLSAgcmlnaHQ6IDA7DQotICB0b3A6IDRweDsNCi0gIHdpZHRoOiAxOHB4Ow0KLSAgaGVpZ2h0OiA0MXB4Ow0KLSAgY3Vyc29yOiBwb2ludGVyOw0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCisgICAgZGlzcGxheTogYmxvY2s7DQorICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgcmlnaHQ6IDA7DQorICAgIHRvcDogNHB4Ow0KKyAgICB3aWR0aDogMThweDsNCisgICAgaGVpZ2h0OiA0MXB4Ow0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUgew0KLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAwIWltcG9ydGFudDsNCi0gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7DQotICAvKmJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwICNlNWU1ZTU7Ki8NCisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IDAgIWltcG9ydGFudDsNCisgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsNCisgICAgLypib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAjZTVlNWU1OyovDQogfQ0KKw0KIGEuaGVhZGVyLm9wZW5lZCwgYS5oZWFkZXIuY2xvc2VkIHsNCi0gIGZvbnQtc2l6ZTogMTZweDsNCi0gIHBhZGRpbmctdG9wOiAyNHB4Ow0KLSAgcGFkZGluZy1ib3R0b206IDI1cHg7DQotICBjb2xvcjogIzk5OTk5OTsNCisgICAgZm9udC1zaXplOiAxNnB4Ow0KKyAgICBwYWRkaW5nLXRvcDogMjRweDsNCisgICAgcGFkZGluZy1ib3R0b206IDI1cHg7DQorICAgIGNvbG9yOiAjOTk5OTk5Ow0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSAuY2xvc2VkLCAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSAub3BlbmVkIHsNCi0gIHBhZGRpbmctcmlnaHQ6IDEwcHg7DQotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OCUgNTAlOw0KLSAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCisgICAgcGFkZGluZy1yaWdodDogMTBweDsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTglIDUwJTsNCisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkgYSB7DQotICBwYWRkaW5nOiAxMXB4IDEwcHggMTJweDsNCi0gIGNvbG9yOiAjMzMzMzMzOw0KLSAgbWFyZ2luLXJpZ2h0OiAxcHg7DQotICBtYXJnaW4tdG9wOiAtMXB4Ow0KLSAgdGV4dC1hbGlnbjogbGVmdCFpbXBvcnRhbnQ7DQotICBmb250LWZhbWlseTogIk1pY3Jvc29mdCBZYWhlaSIsU2ltU3VuLEFyaWFsLFRhaG9tYTsNCi0gIGZvbnQtc2l6ZTogMTRweDsNCi0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCi0gIG92ZXJmbG93OiBoaWRkZW47DQotICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsNCi0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Ow0KLSAgLypoZWlnaHQ6IDE5cHg7Ki8NCisgICAgcGFkZGluZzogMTFweCAxMHB4IDEycHg7DQorICAgIGNvbG9yOiAjMzMzMzMzOw0KKyAgICBtYXJnaW4tcmlnaHQ6IDFweDsNCisgICAgbWFyZ2luLXRvcDogLTFweDsNCisgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Ow0KKyAgICBmb250LWZhbWlseTogIk1pY3Jvc29mdCBZYWhlaSIsIFNpbVN1biwgQXJpYWwsIFRhaG9tYTsNCisgICAgZm9udC1zaXplOiAxNHB4Ow0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCisgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7DQorICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Ow0KKyAgICAvKmhlaWdodDogMTlweDsqLw0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSB1bCB7DQotICBtYXJnaW46IDA7DQotICBwYWRkaW5nOiAwOw0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSBhIHsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KIH0NCisNCiBhIHsNCi0gIGNvbG9yOiAjNDI4YmNhOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KLSAgYmFja2dyb3VuZDogMCAwOw0KKyAgICBjb2xvcjogIzQyOGJjYTsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KKyAgICBiYWNrZ3JvdW5kOiAwIDA7DQogfQ0KLS5iYXJ7DQorDQorLmJhciB7DQogICAgIGhlaWdodDogODM0cHg7DQogICAgIHdpZHRoOiAxOHB4Ow0KICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4Ow0KICAgICBkaXNwbGF5OiBub25lOw0KIH0NCi0uYmFyIHNwYW57DQorDQorLmJhciBzcGFuIHsNCiAgICAgd2lkdGg6IDEzcHg7DQogICAgIGhlaWdodDogMzRweDsNCiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCFpbXBvcnRhbnQ7DQotICBkaXNwbGF5OiBibG9jazsNCi0gIC8qbWFyZ2luLXRvcDogLTQzMHB4OyovDQorICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOXB4IDAgIWltcG9ydGFudDsNCisgICAgZGlzcGxheTogYmxvY2s7DQorICAgIC8qbWFyZ2luLXRvcDogLTQzMHB4OyovDQogfQ0KLSNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpew0KKw0KKyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpIHsNCiAgICAgY3Vyc29yOiBwb2ludGVyOw0KIH0NCi0jcHVlcl9iYXNlX29wZW5vew0KKw0KKyNwdWVyX2Jhc2Vfb3Blbm8gew0KICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KIH0NCisNCiAub3Blbm9fYWNjb3JkaW9uX3NlbGVjdGVkIHsNCi0gIG1hcmdpbi1sZWZ0OiAwOw0KLSAgbWFyZ2luLXJpZ2h0OiAwOw0KLSAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCi0gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzRhYzlmZiFpbXBvcnRhbnQ7DQotICBib3gtc2hhZG93OiBub25lOw0KLSAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBtYXJnaW4tbGVmdDogMDsNCisgICAgbWFyZ2luLXJpZ2h0OiAwOw0KKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KKyAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM0YWM5ZmYgIWltcG9ydGFudDsNCisgICAgYm94LXNoYWRvdzogbm9uZTsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KIH0NCi1hOmhvdmVyew0KLSAgICBjb2xvcjogIzRhYzlmZiFpbXBvcnRhbnQ7DQorDQorYTpob3ZlciB7DQorICAgIGNvbG9yOiAjNGFjOWZmICFpbXBvcnRhbnQ7DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IGxpLm9wZW5vX2FjY29yZGlvbl9zZWxlY3RlZCBhIHsNCi0gIHBvc2l0aW9uOiByZWxhdGl2ZTsNCi0gIGxlZnQ6IC0zcHg7DQotICBjb2xvcjogIzAwOWFlNzsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBsZWZ0OiAtM3B4Ow0KKyAgICBjb2xvcjogIzAwOWFlNzsNCiB9DQorDQogLm9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIHsNCi0gIHotaW5kZXg6IDEhaW1wb3J0YW50Ow0KLSAgY3Vyc29yOiBlLXJlc2l6ZTsNCi0gIHdpZHRoOiA3cHg7DQotICByaWdodDogLTVweDsNCi0gIHRvcDogMDsNCi0gIGhlaWdodDogMTAwJTsNCi0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCi0gIGZvbnQtc2l6ZTogLjFweDsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KKyAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7DQorICAgIGN1cnNvcjogZS1yZXNpemU7DQorICAgIHdpZHRoOiA3cHg7DQorICAgIHJpZ2h0OiAtNXB4Ow0KKyAgICB0b3A6IDA7DQorICAgIGhlaWdodDogMTAwJTsNCisgICAgcG9zaXRpb246IGFic29sdXRlOw0KKyAgICBmb250LXNpemU6IC4xcHg7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KIH0NCisNCiAjaWZyYW1lQ29udGFpbmVyIGlmcmFtZSB7DQotICB3aWR0aDogMTAwJTsNCi0gIGhlaWdodDogMTAwJTsNCi0gIGJvcmRlcjogMDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIGhlaWdodDogMTAwJTsNCisgICAgYm9yZGVyOiAwOw0KIH0NCisNCiAjYWNjb3JkaW9uQ29udGVudCwgI2lmcmFtZUNvbnRhaW5lciB7DQotICBtYXJnaW46IDA7DQotICBwYWRkaW5nOiAwOw0KLSAgYm9yZGVyOiAwOw0KLSAgd2lkdGg6IDEwMCU7DQotICBoZWlnaHQ6IDEwMCU7DQorICAgIG1hcmdpbjogMDsNCisgICAgcGFkZGluZzogMDsNCisgICAgYm9yZGVyOiAwOw0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgaGVpZ2h0OiAxMDAlOw0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19zaG93IHsNCi0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCi0gIGJhY2tncm91bmQtcG9zaXRpb246IC0zOXB4IDAhaW1wb3J0YW50Ow0KLSAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCAjZTVlNWU1LGluc2V0IC0xcHggMCAwICNlNWU1ZTU7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCAhaW1wb3J0YW50Ow0KKyAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwICNlNWU1ZTUsIGluc2V0IC0xcHggMCAwICNlNWU1ZTU7DQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9jc3MvVk1NYWluLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9jc3MvVk1NYWluLmNzcwppbmRleCBlNjI1ZTkwLi5hMWMwODY2IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3NkbmNvbnRyb2xsZXIvY3NzL1ZNTWFpbi5jc3MKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy9zZG5jb250cm9sbGVyL2Nzcy9WTU1haW4uY3NzCkBAIC0xMyw2MCArMTMsNjggQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICAqLw0KIA0KLQ0KLWJvZHl7DQorYm9keSB7DQogICAgIGZvbnQtZmFtaWx5OiAn5b6u6L2v6ZuF6buRJzsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBjb2xvcjogIzMzMzsNCiAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCiB9DQotYnV0dG9uew0KKw0KK2J1dHRvbiB7DQogICAgIG91dGxpbmU6IG5vbmU7DQogfQ0KLXVsLGxpew0KKw0KK3VsLCBsaSB7DQogICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQotICAgIHBhZGRpbmc6MDsNCi0gICAgbWFyZ2luOjA7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCiB9DQotLnRpdGxlRm9udHsNCisNCisudGl0bGVGb250IHsNCiAgICAgZm9udC1zaXplOiAxNnB4Ow0KIH0NCi0uc2VwYXJhdG9yLWxpbmV7DQorDQorLnNlcGFyYXRvci1saW5lIHsNCiAgICAgaGVpZ2h0OiAxcHg7DQogICAgIHdpZHRoOiAxMDAlOw0KLSAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgIG1hcmdpbjogNnB4IDAgMTVweCAwOw0KIH0NCi0udXBsb2FkQnRuew0KKw0KKy51cGxvYWRCdG4gew0KICAgICBvdmVyZmxvdzogaGlkZGVuOw0KIH0NCisNCiAuY3JlYXQtYnRuIHsNCi0JcGFkZGluZzogMCAxNHB4Ow0KLQloZWlnaHQ6IDI0cHg7DQorICAgIHBhZGRpbmc6IDAgMTRweDsNCisgICAgaGVpZ2h0OiAyNHB4Ow0KICAgICBmbG9hdDogbGVmdDsNCiAgICAgY3Vyc29yOiBwb2ludGVyOw0KICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgIG91dGxpbmU6IDA7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7DQogICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCi0gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTsNCisgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCi0gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNmZmYsI2ZhZmFmYSk7DQotICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjZmZmKSxjb2xvci1zdG9wKDEwMCUsI2ZhZmFmYSkpOw0KLSAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsNCi0gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNmYWZhZmEpKTsNCisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmFmYWZhKTsNCisgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiwgI2ZhZmFmYSk7DQogICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2FkZC5wbmcpIG5vLXJlcGVhdCA1cHggY2VudGVyOw0KICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQogfQ0KKw0KIC5jcmVhdC1idG46aG92ZXIgew0KLQljb2xvcjogIzAwOWFlNzsJDQotCWJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCisgICAgY29sb3I6ICMwMDlhZTc7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCiB9DQorDQogLmNyZWF0LWJ0bjphY3RpdmUgew0KLQljb2xvcjogIzAwMDsJDQotCWJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCisgICAgY29sb3I6ICMwMDA7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCiB9DQorDQogLyouY3JlYXQtYnRuew0KICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZS9hZGQucG5nKSBuby1yZXBlYXQgNXB4IGNlbnRlcjsNCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCkBAIC03NywxMTAgKzg1LDEzMCBAQAogICAgIGNvbG9yOiAjZmZmOw0KICAgICBib3JkZXI6MXB4IHNvbGlkICM0MjhiY2E7DQogfSovDQotLnNlYXJjaHsNCisuc2VhcmNoIHsNCiAgICAgd2lkdGg6IDMxMHB4Ow0KICAgICBoZWlnaHQ6IDMwcHg7DQotICAgIGZsb2F0OnJpZ2h0Ow0KKyAgICBmbG9hdDogcmlnaHQ7DQogfQ0KLS5zZWFyY2gtdGV4dHsNCisNCisuc2VhcmNoLXRleHQgew0KICAgICB3aWR0aDogMjUwcHg7DQogICAgIGZsb2F0OiBsZWZ0Ow0KICAgICBtYXJnaW4tcmlnaHQ6IDZweDsNCiB9DQotLnNlYXJjaC1idG57DQorDQorLnNlYXJjaC1idG4gew0KICAgICBoZWlnaHQ6IDMwcHg7DQogICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgIGZsb2F0OiBsZWZ0Ow0KIH0NCi0jaWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXZ7DQorDQorI2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2IHsNCiAgICAgbWFyZ2luLXRvcDogMTVweDsNCiB9DQotLnRhYmxlPnRoZWFkPnRyLmFjdGl2ZT50aHsNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCFpbXBvcnRhbnQ7DQorDQorLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0aCB7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsNCiAgICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsNCiB9DQorDQogLyoudGFibGUgdGJvZHkgdHI6aG92ZXJ7DQogICAgIGJhY2tncm91bmQ6ICNlNmZiZTAhaW1wb3J0YW50Ow0KIH0qLw0KLS50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkew0KKy50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsNCiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7DQogfQ0KLS50YWJsZS1idG57DQorDQorLnRhYmxlLWJ0biB7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiB9DQotLmRlbGV0ZS1idG57DQorDQorLmRlbGV0ZS1idG4gew0KICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2UvZGVsZXRlLnBuZykgbm8tcmVwZWF0Ow0KICAgICB3aWR0aDogMTZweDsNCiAgICAgaGVpZ2h0OiAxNnB4Ow0KICAgICBib3JkZXI6IG5vbmU7DQogfQ0KLS5kZXRhaWwtYnRuew0KKw0KKy5kZXRhaWwtYnRuIHsNCiAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlL29wZW5vLnBuZykgbm8tcmVwZWF0IC0zNDNweCAtMjgzcHg7DQogICAgIHdpZHRoOiAxNnB4Ow0KICAgICBoZWlnaHQ6IDE2cHg7DQogICAgIGJvcmRlcjogbm9uZTsNCiB9DQotLmRldGFpbC1idG4uY3VycmVudHsNCi0gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAtMzE0cHg7IA0KKw0KKy5kZXRhaWwtYnRuLmN1cnJlbnQgew0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IC0zMTRweDsNCiB9DQotLmRldGFpbHsNCisNCisuZGV0YWlsIHsNCiAgICAgaGVpZ2h0OiAyMDBweDsNCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICAgbWFyZ2luLXRvcDogNjBweDsNCiB9DQogDQotLmRldGFpbC10b3AgdWx7DQorLmRldGFpbC10b3AgdWwgew0KICAgICBoZWlnaHQ6IDUwcHg7DQogICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCiAgICAgcGFkZGluZy1sZWZ0OiAwcHg7DQotICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KIH0NCi0uZGV0YWlsLXRvcCB1bCBsaXsNCi0gICAgZmxvYXQ6bGVmdDsNCisNCisuZGV0YWlsLXRvcCB1bCBsaSB7DQorICAgIGZsb2F0OiBsZWZ0Ow0KICAgICB3aWR0aDogMTIwcHg7DQogICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDsNCiAgICAgY3Vyc29yOiBwb2ludGVyOw0KIH0NCi0uZGV0YWlsLXRvcCB1bCBsaS5jdXJyZW50ew0KKw0KKy5kZXRhaWwtdG9wIHVsIGxpLmN1cnJlbnQgew0KICAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCi0udm1hcHAtbWFyZ2luew0KKw0KKy52bWFwcC1tYXJnaW4gew0KICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KIH0NCi0uY29udHJvbC1sYWJlbCAucmVxdWlyZWR7DQorDQorLmNvbnRyb2wtbGFiZWwgLnJlcXVpcmVkIHsNCiAgICAgY29sb3I6ICNlMDIyMjI7DQogICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICAgcGFkZGluZy1sZWZ0OiAycHg7DQogfQ0KLS5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsew0KKw0KKy5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBmb250LXdlaWdodDogNDAwOw0KIH0NCi1sZWdlbmR7DQorDQorbGVnZW5kIHsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBmb250LXdlaWdodDogYm9sZDsNCiB9DQotLnBhZ2VHcm97DQorDQorLnBhZ2VHcm8gew0KICAgICB3aWR0aDogMjUwcHg7DQogICAgIGZsb2F0OiByaWdodDsNCiB9DQotLnBhZ2VVcCwucGFnZURvd24sLnBhZ2VMaXN0LC5wYWdlTGlzdCBsaXsNCisNCisucGFnZVVwLCAucGFnZURvd24sIC5wYWdlTGlzdCwgLnBhZ2VMaXN0IGxpIHsNCiAgICAgZmxvYXQ6IGxlZnQ7DQogICAgIGN1cnNvcjogcG9pbnRlcjsNCiB9DQotLnBhZ2VVcCwucGFnZURvd257DQorDQorLnBhZ2VVcCwgLnBhZ2VEb3duIHsNCiAgICAgd2lkdGg6IDYwcHg7DQogICAgIGhlaWdodDogMzBweDsNCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICBsaW5lLWhlaWdodDogMzBweDsNCiB9DQotLnBhZ2VMaXN0IGxpew0KKw0KKy5wYWdlTGlzdCBsaSB7DQogICAgIHdpZHRoOiAzMHB4Ow0KICAgICBoZWlnaHQ6IDMwcHg7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQpAQCAtMTg4LDQ2NiArMjE2LDU0MyBAQAogICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICBib3JkZXItbGVmdDogbm9uZTsNCiB9DQotLnBhZ2VMaXN0IGxpLmFjdGl2ZXsNCisNCisucGFnZUxpc3QgbGkuYWN0aXZlIHsNCiAgICAgYmFja2dyb3VuZDogIzQyOGJjYTsNCiAgICAgY29sb3I6ICNmZmY7DQogICAgIGJvcmRlci1jb2xvcjogIzQyOGJjYTsNCiB9DQotLnBhZ2VEb3duew0KKw0KKy5wYWdlRG93biB7DQogICAgIGJvcmRlci1sZWZ0OiBub25lOw0KIH0NCi0uaGVhZGVyTGlua1B7DQorDQorLmhlYWRlckxpbmtQIHsNCiAgICAgcGFkZGluZy10b3A6IDE3cHg7DQogfQ0KLS5oZWFkZXJMaW5rUCBzcGFuew0KKw0KKy5oZWFkZXJMaW5rUCBzcGFuIHsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBjb2xvcjogIzY2NjsNCi0gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7DQorICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsNCiB9DQotbGFiZWx7DQotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50Ow0KKw0KK2xhYmVsIHsNCisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50Ow0KIH0NCisNCiB0YWJsZS51c2VyZm9ybSB0Ym9keSB0ciB0ZCB7DQotICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KLSAgcGFkZGluZy1yaWdodDogMTBweDsNCi0gIHBhZGRpbmctdG9wOiAxMHB4Ow0KLSAgZm9udC1zaXplOiAxMnB4Ow0KLSAgY29sb3I6ICMzMzM7DQorICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQorICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7DQorICAgIHBhZGRpbmctdG9wOiAxMHB4Ow0KKyAgICBmb250LXNpemU6IDEycHg7DQorICAgIGNvbG9yOiAjMzMzOw0KIH0NCi0udGFibGUgdGgsLnRhYmxlIHRkew0KLSAgICBwYWRkaW5nLXRvcDogM3B4IWltcG9ydGFudDsNCi0gICAgcGFkZGluZy1ib3R0b206IDNweCFpbXBvcnRhbnQ7DQorDQorLnRhYmxlIHRoLCAudGFibGUgdGQgew0KKyAgICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7DQorICAgIHBhZGRpbmctYm90dG9tOiAzcHggIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vQnJvd3NlQnV0dG9uX2VsZW1lbnQgew0KLSAgZGlzcGxheTogdGFibGU7DQorICAgIGRpc3BsYXk6IHRhYmxlOw0KIH0NCisNCiAub3Blbm8gew0KLSAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLFNpbVN1bixBcmlhbCxUYWhvbWE7DQotICBmb250LXNpemU6IDEycHg7DQotICBjb2xvcjogIzAwMDsNCisgICAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLCBTaW1TdW4sIEFyaWFsLCBUYWhvbWE7DQorICAgIGZvbnQtc2l6ZTogMTJweDsNCisgICAgY29sb3I6ICMwMDA7DQogfQ0KKw0KIC5vcGVub0Jyb3dzZUJ1dHRvbl9pbnB1dCB7DQotICB3aWR0aDogMTk4cHg7DQotICBwb3NpdGlvbjogcmVsYXRpdmU7DQotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzIWltcG9ydGFudDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7DQotICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsNCi0gIGJvcmRlci1yaWdodDogbm9uZTsNCi0gIHBhZGRpbmc6IDA7DQorICAgIHdpZHRoOiAxOThweDsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzICFpbXBvcnRhbnQ7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7DQorICAgIGJvcmRlci1yaWdodDogbm9uZTsNCisgICAgcGFkZGluZzogMDsNCiB9DQorDQogLmJ1dHRvbkNsYXNzRGVmYXVsdCwgLmJ1dHRvbkNsYXNzRGVmYXVsdDphY3RpdmUgew0KLSAgY3Vyc29yOiBwb2ludGVyOw0KLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IC03cHghaW1wb3J0YW50Ow0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IC03cHggIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vQnJvd3NlQnV0dG9uX2J1dHRvbiB7DQotICB3aWR0aDogMjdweDsNCi0gIGJvcmRlcjogMDsNCi0gIGZsb2F0OiByaWdodDsNCi0gIHBvc2l0aW9uOiByZWxhdGl2ZTsNCi0gIGhlaWdodDogMjZweDsNCi0gIHJpZ2h0OiAwOw0KLSAgdG9wOiAwOw0KLSAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7DQotICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzNjM2MzOw0KLSAgYm9yZGVyLWxlZnQ6IG5vbmU7DQorICAgIHdpZHRoOiAyN3B4Ow0KKyAgICBib3JkZXI6IDA7DQorICAgIGZsb2F0OiByaWdodDsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIHJpZ2h0OiAwOw0KKyAgICB0b3A6IDA7DQorICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOw0KKyAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzNjM2MzOw0KKyAgICBib3JkZXItbGVmdDogbm9uZTsNCiB9DQorDQogLm9wZW5vIC5vcGVuby1pbnB1dCwgLm9wZW5vLm9wZW5vLWlucHV0IHsNCi0gIG91dGxpbmU6IDA7DQotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOw0KLSAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCi0gIGhlaWdodDogMjZweDsNCisgICAgb3V0bGluZTogMDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMzsNCisgICAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KKyAgICBoZWlnaHQ6IDI2cHg7DQogfQ0KKw0KIC5vcGVub0lucHV0X29wZW5vRGVmYXVsdFRleHQgew0KLSAgcGFkZGluZzogMCAwIDAgNnB4Ow0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgY29sb3I6ICMwMDA7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBvdXRsaW5lOiAwOw0KLSAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KLSAgZm9udC1zaXplOiAxMnB4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgcGFkZGluZzogMCAwIDAgNnB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA0cHg7DQorICAgIGNvbG9yOiAjMDAwOw0KKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQorICAgIG91dGxpbmU6IDA7DQorICAgIGJveC1zaGFkb3c6IDFweCAxcHggI2Y2ZjZmNiBpbnNldDsNCisgICAgZm9udC1zaXplOiAxMnB4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCisNCiBkaXYub3Blbm8tc2VsZWN0IHsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQotICBib3JkZXItcmFkaXVzOiA0cHg7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Fycm93LWRvd24tZW5hYmxlLnBuZykgcmlnaHQgbm8tcmVwZWF0ICNmZmY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIHBhZGRpbmctbGVmdDogM3B4Ow0KLSAgZGlzcGxheTogYmxvY2s7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hcnJvdy1kb3duLWVuYWJsZS5wbmcpIHJpZ2h0IG5vLXJlcGVhdCAjZmZmOw0KKyAgICBsaW5lLWhlaWdodDogMjRweDsNCisgICAgcGFkZGluZy1sZWZ0OiAzcHg7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0PmlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7DQotICBib3JkZXI6IG5vbmU7DQotICBvdXRsaW5lOiAwOw0KLSAgbGluZS1oZWlnaHQ6IDIxcHg7DQotICBoZWlnaHQ6IDIxcHg7DQotICBwYWRkaW5nLWxlZnQ6IDNweDsNCi0gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7DQorDQorZGl2Lm9wZW5vLXNlbGVjdCA+IGlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7DQorICAgIGJvcmRlcjogbm9uZTsNCisgICAgb3V0bGluZTogMDsNCisgICAgbGluZS1oZWlnaHQ6IDIxcHg7DQorICAgIGhlaWdodDogMjFweDsNCisgICAgcGFkZGluZy1sZWZ0OiAzcHg7DQorICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7DQogfQ0KKw0KIC5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCi0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiB9DQorDQogYS5vcGVub0J1dHRvbl9idXR0b25DbGFzcywgYS5vcGVub0J1dHRvbl9idXR0b25EaXNhYmxlQ2xhc3MsIGRpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzcywgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkRpc2FibGVDbGFzcyB7DQotICBoZWlnaHQ6IDI2cHg7DQotICBmbG9hdDogbGVmdDsNCi0gIGN1cnNvcjogcG9pbnRlcjsNCi0gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCi0gIG91dGxpbmU6IDA7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOw0KLSAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTsNCi0gIGJhY2tncm91bmQ6ICNmYWZhZmE7DQotICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsNCi0gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjZmZmKSxjb2xvci1zdG9wKDEwMCUsI2ZhZmFmYSkpOw0KLSAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmZmYsI2ZhZmFmYSk7DQotICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmYsI2ZhZmFmYSk7DQotICBib3JkZXItcmFkaXVzOiA2cHg7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KKyAgICBvdXRsaW5lOiAwOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7DQorICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7DQorICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2ZhZmFmYSk7DQorICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2ZhZmFmYSkpOw0KKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmLCAjZmFmYWZhKTsNCisgICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KIH0NCi0ub3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzc3sNCi0gICAgICBwYWRkaW5nOiAwIDE5cHg7DQotICAgICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KKw0KKy5vcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIHsNCisgICAgcGFkZGluZzogMCAxOXB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogfQ0KKw0KIC5vcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IHsNCi0gIGNvbG9yOiAjMDAwOw0KLSAgbGluZS1oZWlnaHQ6IDI0cHg7DQotICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KLSAgd2lkdGg6IGF1dG8haW1wb3J0YW50Ow0KKyAgICBjb2xvcjogIzAwMDsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7DQogfQ0KKw0KIC51c2VySGVhZGVyIHsNCi0gIGNsZWFyOiBsZWZ0Ow0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIG1hcmdpbi1ib3R0b206IDEwcHg7DQotICBwYWRkaW5nOiAxMHB4IDEwcHggMHB4IDBweDsNCisgICAgY2xlYXI6IGxlZnQ7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQorICAgIHBhZGRpbmc6IDEwcHggMTBweCAwcHggMHB4Ow0KIH0NCisNCiAub3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyB7DQotICBkaXNwbGF5OiBpbmxpbmU7DQorICAgIGRpc3BsYXk6IGlubGluZTsNCiB9DQorDQogLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudDpmaXJzdC1jaGlsZCB7DQotICBtYXJnaW4tbGVmdDogMDsNCisgICAgbWFyZ2luLWxlZnQ6IDA7DQogfQ0KKw0KIC5vcGVub0J1dHRvbl9idXR0b25MZWZ0SW1nIHsNCi0gIG1hcmdpbi1yaWdodDogNXB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IDVweDsNCiB9DQorDQogLm9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWcsIC5vcGVub0J1dHRvbl9idXR0b25SaWdodEltZyB7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KLSAgd2lkdGg6IDE2cHg7DQotICBoZWlnaHQ6IDE2cHg7DQotICBtYXJnaW4tdG9wOiA0cHg7DQorICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCisgICAgdmVydGljYWwtYWxpZ246IHRvcDsNCisgICAgd2lkdGg6IDE2cHg7DQorICAgIGhlaWdodDogMTZweDsNCisgICAgbWFyZ2luLXRvcDogNHB4Ow0KIH0NCisNCiAub3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIHsNCi0gIGhlaWdodDogMzdweDsNCisgICAgaGVpZ2h0OiAzN3B4Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbiB7DQotICBkaXNwbGF5OiBibG9jazsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIHBhZGRpbmc6IDVweCAwIDA7DQotICBtYXJnaW4tdG9wOiA4cHg7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgcGFkZGluZzogNXB4IDAgMDsNCisgICAgbWFyZ2luLXRvcDogOHB4Ow0KIH0NCisNCiAub3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnM6bm90KG1zaWU4KSB7DQotICBsaW5lLWhlaWdodDogMjRweDsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogfQ0KKw0KIC5vcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyB7DQotICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KLSAgaGVpZ2h0OiAyNHB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBvdXRsaW5lOiAwOw0KLSAgbGluZS1oZWlnaHQ6IDIwcHg7DQotICBtYXJnaW46IDAgNXB4Ow0KKyAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KKyAgICBoZWlnaHQ6IDI0cHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBvdXRsaW5lOiAwOw0KKyAgICBsaW5lLWhlaWdodDogMjBweDsNCisgICAgbWFyZ2luOiAwIDVweDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IHsNCi0gIGhlaWdodDogMjZweDsNCi0gIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KLSAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgbWFyZ2luLXJpZ2h0OiAtMnB4Ow0KLSAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCi0gIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4Ow0KLSAgcGFkZGluZzogMXB4Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIG1hcmdpbi1yaWdodDogLTJweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCisgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7DQorICAgIHBhZGRpbmc6IDFweDsNCiB9DQorDQogLm9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIHNwYW4gew0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiFpbXBvcnRhbnQ7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3BhbiB7DQotICBmbG9hdDogbGVmdDsNCi0gIGNvbG9yOiAjNjY2Ow0KLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGZvbnQtd2VpZ2h0OiA0MDA7DQotICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCi0gIHBhZGRpbmc6IDAgN3B4Ow0KLSAgYm9yZGVyLXJhZGl1czogM3B4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGNvbG9yOiAjNjY2Ow0KKyAgICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBmb250LXdlaWdodDogNDAwOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBwYWRkaW5nOiAwIDdweDsNCisgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWRlb19kZWZhdWx0X3NlbGVjdC5wbmcpIGxlZnQgbm8tcmVwZWF0IWltcG9ydGFudDsNCi0gIGZsb2F0OiByaWdodCFpbXBvcnRhbnQ7DQotICB3aWR0aDogMjZweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGN1cnNvcjogcG9pbnRlcjsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pZGVvX2RlZmF1bHRfc2VsZWN0LnBuZykgbGVmdCBuby1yZXBlYXQgIWltcG9ydGFudDsNCisgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7DQorICAgIHdpZHRoOiAyNnB4Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgbGFiZWwgew0KLSAgcGFkZGluZy10b3A6IDZweDsNCi0gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQotICBtYXJnaW4tcmlnaHQ6IDIwcHg7DQotICBtYXJnaW4tdG9wOiAtMXB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBoZWlnaHQ6IDIwcHg7DQotICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsNCisgICAgcGFkZGluZy10b3A6IDZweDsNCisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCisgICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KKyAgICBtYXJnaW4tdG9wOiAtMXB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KKyAgICBoZWlnaHQ6IDIwcHg7DQorICAgIGZvbnQ6IDEycHggTHVjaWRhIEdyYW5kZSwgVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24gbGksIC5vcGVuby1wYWdpbmF0aW9uIHVsIHsNCi0gIGxpc3Qtc3R5bGU6IG5vbmU7DQotICBwYWRkaW5nOiAwOw0KLSAgbWFyZ2luOiAwOw0KLSAgZmxvYXQ6IGxlZnQ7DQorICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQogfQ0KKw0KIGRkLCBkbCwgZHQsIGxpIHsNCi0gIGNvbG9yOiAjMDAwOw0KKyAgICBjb2xvcjogIzAwMDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3Bhbi5jdXJyZW50IHsNCi0gIG1hcmdpbjogMCA1cHggMCAwOw0KKyAgICBtYXJnaW46IDAgNXB4IDAgMDsNCiB9DQorDQogLm9wZW5vIC5vcGVuby1kaXNhYmxlZCwgLm9wZW5vLm9wZW5vLWRpc2FibGVkIHsNCi0gIGJvcmRlci1jb2xvcjogI2MzYzNjMyFpbXBvcnRhbnQ7DQotICBjb2xvcjogIzY2NiFpbXBvcnRhbnQ7DQotICBvcGFjaXR5OiAuMzsNCi0gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7DQorICAgIGJvcmRlci1jb2xvcjogI2MzYzNjMyAhaW1wb3J0YW50Ow0KKyAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50Ow0KKyAgICBvcGFjaXR5OiAuMzsNCisgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYgew0KLSAgYmFja2dyb3VuZDogMCAwOw0KLSAgZmxvYXQ6IGxlZnQ7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQogfQ0KKw0KIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5jdXJyZW50IHsNCi0gIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7DQotICBmbG9hdDogbGVmdDsNCi0gIHBhZGRpbmctbGVmdDogNnB4Ow0KLSAgaGVpZ2h0OiAyNHB4Ow0KLSAgY29sb3I6ICNmZmY7DQotICBkaXNwbGF5OiBpbmxpbmU7DQotICBib3JkZXItY29sb3I6ICMwMGFkZjU7DQotICBiYWNrZ3JvdW5kOiAjNGFkMmZmOw0KKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIHBhZGRpbmctbGVmdDogNnB4Ow0KKyAgICBoZWlnaHQ6IDI0cHg7DQorICAgIGNvbG9yOiAjZmZmOw0KKyAgICBkaXNwbGF5OiBpbmxpbmU7DQorICAgIGJvcmRlci1jb2xvcjogIzAwYWRmNTsNCisgICAgYmFja2dyb3VuZDogIzRhZDJmZjsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3BhbiB7DQotICBmbG9hdDogbGVmdDsNCi0gIGNvbG9yOiAjNjY2Ow0KLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGZvbnQtd2VpZ2h0OiA0MDA7DQotICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCi0gIHBhZGRpbmc6IDAgN3B4Ow0KLSAgYm9yZGVyLXJhZGl1czogM3B4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGNvbG9yOiAjNjY2Ow0KKyAgICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBmb250LXdlaWdodDogNDAwOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBwYWRkaW5nOiAwIDdweDsNCisgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldi5vcGVuby1kaXNhYmxlZDpiZWZvcmUgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYub3Blbm8tZGlzYWJsZWQ6YmVmb3JlIHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQogfQ0KKw0KIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAubmV4dDphZnRlciwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXY6YmVmb3JlIHsNCi0gIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCi0gIGNvbnRlbnQ6ICIiOw0KLSAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCi0gIHdpZHRoOiAxMHB4Ow0KLSAgaGVpZ2h0OiAyNHB4Ow0KKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQorICAgIGNvbnRlbnQ6ICIiOw0KKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KKyAgICB3aWR0aDogMTBweDsNCisgICAgaGVpZ2h0OiAyNHB4Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2wucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2wucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLm5leHQ6YWZ0ZXIsIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBjb250ZW50OiAiIjsNCi0gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQotICB3aWR0aDogMTBweDsNCi0gIGhlaWdodDogMjRweDsNCisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KKyAgICBjb250ZW50OiAiIjsNCisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCisgICAgd2lkdGg6IDEwcHg7DQorICAgIGhlaWdodDogMjRweDsNCiB9DQorDQogcGFnaW5hdGlvbiB1bCB7DQotICBsaXN0LXN0eWxlOiBub25lOw0KLSAgcGFkZGluZzogMDsNCi0gIG1hcmdpbjogMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KKyAgICBsaXN0LXN0eWxlOiBub25lOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBtYXJnaW46IDA7DQorICAgIGZsb2F0OiBsZWZ0Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbiBsaSwgLm9wZW5vLXBhZ2luYXRpb24gdWwgew0KLSAgbGlzdC1zdHlsZTogbm9uZTsNCi0gIHBhZGRpbmc6IDA7DQotICBtYXJnaW46IDA7DQotICBmbG9hdDogbGVmdDsNCisgICAgbGlzdC1zdHlsZTogbm9uZTsNCisgICAgcGFkZGluZzogMDsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBmbG9hdDogbGVmdDsNCiB9DQorDQogLm9wZW5vUGFnaW5hdGlvbl9nb3RvdGV4dCB7DQotICBiYWNrZ3JvdW5kOiAjRkZGOw0KLSAgb3V0bGluZTogMDsNCi0gIHdpZHRoOiAyOXB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBoZWlnaHQ6IDI2cHg7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGJvcmRlci1yYWRpdXM6IDRweDsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQotICBwYWRkaW5nOiAwIDAgMCA1cHg7DQotICBtYXJnaW46IDA7DQotICBjb2xvcjogIzY2NjsNCi0gIG1pbi13aWR0aDogNTBweDsNCisgICAgYmFja2dyb3VuZDogI0ZGRjsNCisgICAgb3V0bGluZTogMDsNCisgICAgd2lkdGg6IDI5cHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA0cHg7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQorICAgIHBhZGRpbmc6IDAgMCAwIDVweDsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBjb2xvcjogIzY2NjsNCisgICAgbWluLXdpZHRoOiA1MHB4Ow0KIH0NCisNCiAub3Blbm9QYWdpbmF0aW9uX2dvdG9pbWFnZSB7DQotICB3aWR0aDogMjlweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGxpbmUtaGVpZ2h0OiAyNnB4Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCi0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcG9ydGFsL3RoZW1lcy9kZWZhdWx0L2NvbXBvbmVudHMvb3Blbm8vaW1hZ2VzL29wZW5vLnBuZyk7DQotICBwYWRkaW5nLWxlZnQ6IDIxcHg7DQotICBmbG9hdDogbGVmdDsNCi0gIG1hcmdpbi1sZWZ0OiA1cHg7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCi0gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCi0gIGJhY2tncm91bmQtcG9zaXRpb246IC0xODRweCAtMTgxcHghaW1wb3J0YW50Ow0KKyAgICB3aWR0aDogMjlweDsNCisgICAgaGVpZ2h0OiAyNnB4Ow0KKyAgICBsaW5lLWhlaWdodDogMjZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9wb3J0YWwvdGhlbWVzL2RlZmF1bHQvY29tcG9uZW50cy9vcGVuby9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgcGFkZGluZy1sZWZ0OiAyMXB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgbWFyZ2luLWxlZnQ6IDVweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KKyAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQorICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODRweCAtMTgxcHggIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLmVsbGlwc2Ugew0KLSAgZmxvYXQ6IGxlZnQ7DQotICBtYXJnaW4tbGVmdDogLThweDsNCi0gIG1hcmdpbi1yaWdodDogLTRweDsNCi0gIGJhY2tncm91bmQ6IDAgMDsNCi0gIGJvcmRlcjogbm9uZTsNCi0gIGJvcmRlci1yYWRpdXM6IDA7DQotICBib3gtc2hhZG93OiBub25lOw0KLSAgZm9udC13ZWlnaHQ6IDcwMDsNCi0gIGN1cnNvcjogZGVmYXVsdDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIG1hcmdpbi1sZWZ0OiAtOHB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IC00cHg7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCisgICAgYm9yZGVyOiBub25lOw0KKyAgICBib3JkZXItcmFkaXVzOiAwOw0KKyAgICBib3gtc2hhZG93OiBub25lOw0KKyAgICBmb250LXdlaWdodDogNzAwOw0KKyAgICBjdXJzb3I6IGRlZmF1bHQ7DQogfQ0KKw0KIC5vcGVuby5vcGVuby1kaXNhYmxlZCB7DQotICBib3JkZXItY29sb3I6ICNjM2MzYzMhaW1wb3J0YW50Ow0KLSAgY29sb3I6ICM2NjYhaW1wb3J0YW50Ow0KLSAgb3BhY2l0eTogLjM7DQotICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOw0KKyAgICBib3JkZXItY29sb3I6ICNjM2MzYzMgIWltcG9ydGFudDsNCisgICAgY29sb3I6ICM2NjYgIWltcG9ydGFudDsNCisgICAgb3BhY2l0eTogLjM7DQorICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7DQogfQ0KKw0KIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2IHsNCi0gIGJhY2tncm91bmQ6IDAgMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KKyAgICBiYWNrZ3JvdW5kOiAwIDA7DQorICAgIGZsb2F0OiBsZWZ0Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAuY3VycmVudCB7DQotICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBwYWRkaW5nLWxlZnQ6IDZweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGNvbG9yOiAjZmZmOw0KLSAgZGlzcGxheTogaW5saW5lOw0KLSAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7DQotICBiYWNrZ3JvdW5kOiAjNGFkMmZmOyovDQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgcGFkZGluZy1sZWZ0OiA2cHg7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgY29sb3I6ICNmZmY7DQorICAgIGRpc3BsYXk6IGlubGluZTsNCisgICAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7DQorICAgIGJhY2tncm91bmQ6ICM0YWQyZmY7Ki8NCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLm5leHQ6YWZ0ZXIgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX3IucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX3IucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCwgLm9wZW5vQnV0dG9uX2J1dHRvblJpZ2h0SW1nIHsNCi0gIG1hcmdpbi1sZWZ0OiA1cHg7DQorICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQogfQ0KIA0KIGh0bWwsIGJvZHkgew0KLSAgaGVpZ2h0OiA5OSU7DQotICB3aWR0aDogOTglOw0KKyAgICBoZWlnaHQ6IDk5JTsNCisgICAgd2lkdGg6IDk4JTsNCiB9DQorDQogLmNvdGVudEJvZHkgew0KLSAgcGFkZGluZzogMHB4IDIwcHggMHB4IDIwcHg7DQorICAgIHBhZGRpbmc6IDBweCAyMHB4IDBweCAyMHB4Ow0KIH0NCiANCiBkaXYub3Blbm9CdXR0b25fYnV0dG9uQ2xhc3M6aG92ZXIgew0KLSAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsNCisgICAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsNCiB9DQorDQogZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbl9kZWZhdWx0OmhvdmVyIC5vcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IHsNCi0gIGNvbG9yOiAjMDA5YWU3Ow0KKyAgICBjb2xvcjogIzAwOWFlNzsNCiB9DQorDQogLmhlYWRlcl9saW5laW1nIHsNCi0gIGhlaWdodDogMXB4Ow0KLSAgd2lkdGg6IDEwMCU7DQotICBtYXJnaW4tdG9wOiAxN3B4Ow0KKyAgICBoZWlnaHQ6IDFweDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIG1hcmdpbi10b3A6IDE3cHg7DQogfQ0KKw0KIC5vcGVuby5vcGVuby1oaWRlIHsNCi0gIGRpc3BsYXk6IG5vbmU7DQorICAgIGRpc3BsYXk6IG5vbmU7DQogfQ0KKw0KIGRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIHsNCi0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQotICBib3JkZXItdG9wOiBub25lOw0KLSAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7DQotICBtYXgtaGVpZ2h0OiAyMDJweDsNCi0gIG92ZXJmbG93LXk6IGF1dG87DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KLSAgei1pbmRleDogODgwOw0KKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQorICAgIGJvcmRlci10b3A6IG5vbmU7DQorICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4Ow0KKyAgICBtYXgtaGVpZ2h0OiAyMDJweDsNCisgICAgb3ZlcmZsb3cteTogYXV0bzsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCisgICAgei1pbmRleDogODgwOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0gew0KLSAgZGlzcGxheTogYmxvY2s7DQorDQorZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgPiBkaXYub3Blbm8tc2VsZWN0LWl0ZW0gew0KKyAgICBkaXNwbGF5OiBibG9jazsNCiB9DQorDQogLm9wZW5vIC5vcGVuby1lbGxpcHNpcywgLm9wZW5vLm9wZW5vLWVsbGlwc2lzIHsNCi0gIG92ZXJmbG93OiBoaWRkZW47DQotICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KLSAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0+bGFiZWwgew0KLSAgcGFkZGluZy10b3A6IDNweDsNCi0gIHBhZGRpbmctYm90dG9tOiAzcHg7DQotICBsaW5lLWhlaWdodDogMjBweDsNCisNCitkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbSA+IGxhYmVsIHsNCisgICAgcGFkZGluZy10b3A6IDNweDsNCisgICAgcGFkZGluZy1ib3R0b206IDNweDsNCisgICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogfQ0KKw0KIC5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCi0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiB9DQorDQogLm9wZW5vLXNlbGVjdC1pdGVtIGxhYmVsIHsNCi0gIG1hcmdpbi1sZWZ0OiA0cHg7DQotICBtYXJnaW4tcmlnaHQ6IDRweDsNCi0gIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIG1hcmdpbi1sZWZ0OiA0cHg7DQorICAgIG1hcmdpbi1yaWdodDogNHB4Ow0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0ub3Blbm8taXRlbS1zZWxlY3RlZCwgZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtOmhvdmVyIHsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7DQotICBjb2xvcjogIzAwOGZkNjsNCisNCitkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbS5vcGVuby1pdGVtLXNlbGVjdGVkLCBkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbTpob3ZlciB7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7DQorICAgIGNvbG9yOiAjMDA4ZmQ2Ow0KIH0NCisNCiBkaXYub3Blbm8tc2VsZWN0Lm9wZW5vLWZvY3VzIHsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQotICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KLSAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQotICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNGFjOWZmOw0KKyAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KKyAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCisgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYTpob3ZlciB7DQotICBib3JkZXItY29sb3I6ICM0YWM5ZmY7DQotICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJvcmRlci1jb2xvcjogIzRhYzlmZjsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KIH0NCi0uU0RCdG57DQotICAgICBiYWNrZ3JvdW5kOiAjZmZmOyANCi0gICAgIGNvbG9yOiAjMzMzOyANCi0gICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQorDQorLlNEQnRuIHsNCisgICAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgY29sb3I6ICMzMzM7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogfQ0KLS5TREJ0bjpob3ZlcnsNCi0gICAgY29sb3I6ICMwMDlhZTc7CQ0KLQlib3JkZXI6IDFweCBzb2xpZCAjNEFDOUZGDQorDQorLlNEQnRuOmhvdmVyIHsNCisgICAgY29sb3I6ICMwMDlhZTc7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCiB9DQorDQogdGFibGUgdGJvZHkgdHIuZXZlbjpob3ZlciB0ZCwgdGFibGUgdGJvZHkgdHIub2RkOmhvdmVyIHRkIHsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNlNmZiZTA7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmZiZTA7DQogfQ0KKw0KIHRhYmxlIHRyLm9wZW5vVGFibGVfcm93X3NlbGVjdGVkIHRkIHsNCi0gIGJhY2tncm91bmQ6ICNlOGY4ZmUhaW1wb3J0YW50Ow0KLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTghaW1wb3J0YW50Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZThmOGZlICFpbXBvcnRhbnQ7DQorICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4ICFpbXBvcnRhbnQ7DQogfQ0KLS5tb2RhbC1ib2R5ew0KLSAgICBwYWRkaW5nOiAwIWltcG9ydGFudDsNCisNCisubW9kYWwtYm9keSB7DQorICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiB9DQotLmZvcm0tY29udHJvbHsNCi0gICAgaGVpZ2h0OiAyNnB4IWltcG9ydGFudDsNCisNCisuZm9ybS1jb250cm9sIHsNCisgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7DQogfQ0KKw0KIC5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsNCi0gIG1hcmdpbi1sZWZ0OiAyMHB4Ow0KKyAgICBtYXJnaW4tbGVmdDogMjBweDsNCiB9DQogDQogLmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbCB7DQotICB0ZXh0LWFsaWduOiBsZWZ0Ow0KKyAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3NkbmNvbnRyb2xsZXIvanMvY29udHJvbGxlci5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9qcy9jb250cm9sbGVyLmpzCmluZGV4IDM1ZGE3MjkuLmZhMmY4OGYgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9qcy9jb250cm9sbGVyLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvc2RuY29udHJvbGxlci9qcy9jb250cm9sbGVyLmpzCkBAIC0xNCwxNTggKzE0LDE1OCBAQAogICovDQogDQogJCgnLnNpdGVEZWxldGVJbWcnKS5jbGljaygNCi0JCWZ1bmN0aW9uKCkgew0KLQkJCXZhciBkYXRhID0gJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCd0ZDpsYXN0JykuZmluZCgNCi0JCQkJCSdkaXY6bGFzdCcpLmh0bWwoKTsNCi0JCQlhbGVydChkYXRhKTsNCi0JCQl2YXIganNvbk9iaiA9IEpTT04ucGFyc2UoZGF0YSk7DQotCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBqc29uT2JqLmxlbmd0aDsgaSsrKSB7DQotCQkJCXZhciBvYmogPSBqc29uT2JqW2ldOw0KLQkJCQl2YXIgcm93RGF0YSA9IFsgb2JqLnRwTmFtZSwgb2JqLnBlTmFtZSwgb2JqLnZsYW5JZCwNCi0JCQkJCQlvYmouc2l0ZUNpZHIsIG9iai5pcCBdOw0KLQkJCQkkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLkRhdGFUYWJsZSgpOw0KLQkJCQkkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShyb3dEYXRhKTsNCi0JCQl9DQotCQl9KTsNCisgICAgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIGRhdGEgPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoJ3RkOmxhc3QnKS5maW5kKA0KKyAgICAgICAgICAgICdkaXY6bGFzdCcpLmh0bWwoKTsNCisgICAgICAgIGFsZXJ0KGRhdGEpOw0KKyAgICAgICAgdmFyIGpzb25PYmogPSBKU09OLnBhcnNlKGRhdGEpOw0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBqc29uT2JqLmxlbmd0aDsgaSsrKSB7DQorICAgICAgICAgICAgdmFyIG9iaiA9IGpzb25PYmpbaV07DQorICAgICAgICAgICAgdmFyIHJvd0RhdGEgPSBbb2JqLnRwTmFtZSwgb2JqLnBlTmFtZSwgb2JqLnZsYW5JZCwNCisgICAgICAgICAgICAgICAgb2JqLnNpdGVDaWRyLCBvYmouaXBdOw0KKyAgICAgICAgICAgICQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuRGF0YVRhYmxlKCk7DQorICAgICAgICAgICAgJCgnI3VuZGVybGF5VHBEYXRhVGFibGUnKS5kYXRhVGFibGUoKS5mbkFkZERhdGEocm93RGF0YSk7DQorICAgICAgICB9DQorICAgIH0pOw0KIA0KIGZ1bmN0aW9uIGRlbGV0ZUNvbnRyb2xsZXIob2JqZWN0SWQpIHsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL2V4dHN5cy92MS9zZG5jb250cm9sbGVycy8iICsgb2JqZWN0SWQ7DQotCSQuYWpheCh7DQotCQl0eXBlIDogIkRFTEVURSIsDQotCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCSQoJyNjb250cm9sbGVyJykuYm9vdHN0cmFwVGFibGUoJ3JlbW92ZScsIHsNCi0JCQkJZmllbGQgOiAnaWQnLA0KLQkJCQl2YWx1ZXMgOiBbIG9iamVjdElkIF0NCi0JCQl9KTsNCi0JCQlhbGVydCgiRGVsZXRlIENvbnRyb2xsZXIgc3VjY2Vzc2Z1bGwgISEhIik7DQotCQl9LA0KLQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCWFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBjb250cm9sbGVyIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KLQkJfQ0KLQl9KTsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL2V4dHN5cy92MS9zZG5jb250cm9sbGVycy8iICsgb2JqZWN0SWQ7DQorICAgICQuYWpheCh7DQorICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICQoJyNjb250cm9sbGVyJykuYm9vdHN0cmFwVGFibGUoJ3JlbW92ZScsIHsNCisgICAgICAgICAgICAgICAgZmllbGQ6ICdpZCcsDQorICAgICAgICAgICAgICAgIHZhbHVlczogW29iamVjdElkXQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgIGFsZXJ0KCJEZWxldGUgQ29udHJvbGxlciBzdWNjZXNzZnVsbCAhISEiKTsNCisgICAgICAgIH0sDQorICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIGNvbnRyb2xsZXIgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICB9DQorICAgIH0pOw0KIH0NCiANCiBmdW5jdGlvbiBsb2FkQ29udHJvbGxlckRhdGEoKSB7DQotCXZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9leHRzeXMvdjEvc2RuY29udHJvbGxlcnMiOw0KLQkkLmFqYXgoew0KLQkJdHlwZSA6ICJHRVQiLA0KLQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkkKCcjY29udHJvbGxlcicpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCQkJZGF0YSA6IGpzb25vYmoudG9wb2xvZ2ljYWxDb250cm9sbGVycw0KLQkJCX0pOw0KLQkJfSwNCi0JCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQlhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBjb250cm9sbGVyIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQotCQl9DQotCX0pOw0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvZXh0c3lzL3YxL3NkbmNvbnRyb2xsZXJzIjsNCisgICAgJC5hamF4KHsNCisgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgJCgnI2NvbnRyb2xsZXInKS5ib290c3RyYXBUYWJsZSh7DQorICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmoudG9wb2xvZ2ljYWxDb250cm9sbGVycw0KKyAgICAgICAgICAgIH0pOw0KKyAgICAgICAgfSwNCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBjb250cm9sbGVyIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICB9DQorICAgIH0pOw0KIH0NCiANCi0kKGZ1bmN0aW9uKCkgew0KLQkkKCcuY3JlYXQtYnRuJykuY2xpY2soZnVuY3Rpb24oKSB7DQotCQkkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3Moew0KLQkJCSdkaXNwbGF5JyA6ICdibG9jaycNCi0JCX0pOw0KKyQoZnVuY3Rpb24gKCkgew0KKyAgICAkKCcuY3JlYXQtYnRuJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsNCisgICAgICAgICAgICAnZGlzcGxheSc6ICdibG9jaycNCisgICAgICAgIH0pOw0KIA0KLQl9KTsNCi0JJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbigpIHsNCi0JCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQotCX0pOw0KLQkkKCcuZGV0YWlsLXRvcCB1bCBsaScpLmNsaWNrKGZ1bmN0aW9uKCkgew0KLQkJJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsNCi0JfSk7DQotCSQoJy5wYXJhJykuY2xpY2soZnVuY3Rpb24oKSB7DQotCQlpZiAoJCgnI3NlcnZpY2VUZW1wbGF0ZU5hbWUnKS52YWwoKSA9PSAnJykgew0KLQkJCWFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsNCi0JCQkkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCi0JCX0gZWxzZSB7DQotCQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KLQkJfQ0KLQkJJCgnI2Jhc2ljVGFiJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7DQotCX0pOw0KLQkkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbigpIHsNCi0JCSQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KLQl9KTsNCisgICAgfSk7DQorICAgICQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgfSk7DQorICAgICQoJy5kZXRhaWwtdG9wIHVsIGxpJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsNCisgICAgfSk7DQorICAgICQoJy5wYXJhJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgaWYgKCQoJyNzZXJ2aWNlVGVtcGxhdGVOYW1lJykudmFsKCkgPT0gJycpIHsNCisgICAgICAgICAgICBhbGVydCgnUGxlYXNlIGNob29zZSB0aGUgc2VydmljZSB0ZW1wbGV077yBJyk7DQorICAgICAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsNCisgICAgICAgIH0NCisgICAgICAgICQoJyNiYXNpY1RhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICB9KTsNCisgICAgJCgnLmJhc2ljJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgIH0pOw0KIA0KLQkkKCcudGFibGUgdGJvZHkgdHInKS5jbGljaygNCi0JCQlmdW5jdGlvbigpIHsNCi0JCQkJJCh0aGlzKS5hZGRDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKS5zaWJsaW5ncygpDQotCQkJCQkJLnJlbW92ZUNsYXNzKCdvcGVub1RhYmxlX3Jvd19zZWxlY3RlZCcpOw0KLQkJCX0pOw0KLQkkKCcudGFibGUgdHI6b2RkJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KLQkkKCcjZmFsc2UnKS5jbGljayhmdW5jdGlvbigpIHsNCi0JCSQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7DQotCQkJJ2Rpc3BsYXknIDogJ2Jsb2NrJw0KLQkJfSk7DQotCX0pOw0KLQkkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uKCkgew0KLQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCi0JfSk7DQotCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykuY2xpY2soDQotCQkJZnVuY3Rpb24oKSB7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKA0KLQkJCQkJCSdvcGVuby1oaWRlJyk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykudG9nZ2xlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7DQotCQkJCXZhciBvTGVmdCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLm9mZnNldCgpLmxlZnQ7DQotCQkJCXZhciBvVG9wID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkudG9wOw0KLQkJCQl2YXIgb0hlaWdodCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLmhlaWdodCgpOw0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5jc3Moew0KLQkJCQkJJ2xlZnQnIDogb0xlZnQsDQotCQkJCQkndG9wJyA6IG9Ub3AgKyBvSGVpZ2h0ICsgMTANCi0JCQkJfSk7DQotCQkJfSk7DQotCSQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKA0KLQkJCWZ1bmN0aW9uKCkgew0KLQkJCQl2YXIgTHZhbHVlID0gJCh0aGlzKS5odG1sKCk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9pbnB1dCcpLmF0dHIoJ3ZhbHVlJywgTHZhbHVlKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuYWRkQ2xhc3MoDQotCQkJCQkJJ29wZW5vLWhpZGUnKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5yZW1vdmVDbGFzcygnb3Blbm8tZm9jdXMnKTsNCi0JCQl9KTsNCi0JJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbigpIHsNCi0JCXZhciBvID0ge307DQotCQl2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsNCi0JCSQuZWFjaChhLCBmdW5jdGlvbigpIHsNCi0JCQlpZiAob1t0aGlzLm5hbWVdICE9PSB1bmRlZmluZWQpIHsNCi0JCQkJaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgew0KLQkJCQkJb1t0aGlzLm5hbWVdID0gWyBvW3RoaXMubmFtZV0gXTsNCi0JCQkJfQ0KLQkJCQlvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsNCi0JCQl9IGVsc2Ugew0KLQkJCQlvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KLQkJCX0NCi0JCX0pOw0KLQkJcmV0dXJuIG87DQotCX07DQorICAgICQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKA0KKyAgICAgICAgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKQ0KKyAgICAgICAgICAgICAgICAucmVtb3ZlQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJyk7DQorICAgICAgICB9KTsNCisgICAgJCgnLnRhYmxlIHRyOm9kZCcpLmFkZENsYXNzKCdhY3RpdmUnKTsNCisgICAgJCgnI2ZhbHNlJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsNCisgICAgICAgICAgICAnZGlzcGxheSc6ICdibG9jaycNCisgICAgICAgIH0pOw0KKyAgICB9KTsNCisgICAgJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKyAgICB9KTsNCisgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5jbGljaygNCisgICAgICAgIGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS50b2dnbGVDbGFzcygNCisgICAgICAgICAgICAgICAgJ29wZW5vLWhpZGUnKTsNCisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICAgICAgICAgIHZhciBvTGVmdCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLm9mZnNldCgpLmxlZnQ7DQorICAgICAgICAgICAgdmFyIG9Ub3AgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS50b3A7DQorICAgICAgICAgICAgdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsNCisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5jc3Moew0KKyAgICAgICAgICAgICAgICAnbGVmdCc6IG9MZWZ0LA0KKyAgICAgICAgICAgICAgICAndG9wJzogb1RvcCArIG9IZWlnaHQgKyAxMA0KKyAgICAgICAgICAgIH0pOw0KKyAgICAgICAgfSk7DQorICAgICQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKA0KKyAgICAgICAgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIHZhciBMdmFsdWUgPSAkKHRoaXMpLmh0bWwoKTsNCisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfaW5wdXQnKS5hdHRyKCd2YWx1ZScsIEx2YWx1ZSk7DQorICAgICAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuYWRkQ2xhc3MoDQorICAgICAgICAgICAgICAgICdvcGVuby1oaWRlJyk7DQorICAgICAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5yZW1vdmVDbGFzcygnb3Blbm8tZm9jdXMnKTsNCisgICAgICAgIH0pOw0KKyAgICAkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBvID0ge307DQorICAgICAgICB2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsNCisgICAgICAgICQuZWFjaChhLCBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7DQorICAgICAgICAgICAgICAgIGlmICghb1t0aGlzLm5hbWVdLnB1c2gpIHsNCisgICAgICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXSA9IFtvW3RoaXMubmFtZV1dOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXS5wdXNoKHRoaXMudmFsdWUgfHwgJycpOw0KKyAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXSA9IHRoaXMudmFsdWUgfHwgJyc7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQorICAgICAgICByZXR1cm4gbzsNCisgICAgfTsNCiANCi0JJCgnI2NyZWF0ZUNvbnRyb2xsZXInKS5jbGljayhmdW5jdGlvbigpIHsNCi0JCXZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNjb250cm9sbGVyRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCXZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQotCQl2YXIgbmV3SnNvbiA9IHsNCi0JCQkidG9wb2xvZ2ljYWxDb250cm9sbGVyIiA6IGpzb25vYmoNCi0JCX07DQotCQlmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KLQkJdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL2V4dHN5cy92MS9zZG5jb250cm9sbGVycyI7DQotCQkkLmFqYXgoew0KLQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQlkYXRhIDogZm9ybURhdGEsDQotCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25SZXNwKSB7DQotCQkJCWFsZXJ0KCJDb250cm9sbGVyIHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KLQkJCQlqc29ub2JqWyJpZCJdID0ganNvblJlc3AudG9wb2xvZ2ljYWxDb250cm9sbGVyLmlkOw0KLQkJCQkkKCcjY29udHJvbGxlcicpLmJvb3RzdHJhcFRhYmxlKCJhcHBlbmQiLCBqc29ub2JqKTsNCi0JCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgJCgnI2NyZWF0ZUNvbnRyb2xsZXInKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjY29udHJvbGxlckZvcm0iKS5zZXJpYWxpemVPYmplY3QoKSk7DQorICAgICAgICB2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KKyAgICAgICAgdmFyIG5ld0pzb24gPSB7DQorICAgICAgICAgICAgInRvcG9sb2dpY2FsQ29udHJvbGxlciI6IGpzb25vYmoNCisgICAgICAgIH07DQorICAgICAgICBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KKyAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL2V4dHN5cy92MS9zZG5jb250cm9sbGVycyI7DQorICAgICAgICAkLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiQ29udHJvbGxlciBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAganNvbm9ialsiaWQiXSA9IGpzb25SZXNwLnRvcG9sb2dpY2FsQ29udHJvbGxlci5pZDsNCisgICAgICAgICAgICAgICAgJCgnI2NvbnRyb2xsZXInKS5ib290c3RyYXBUYWJsZSgiYXBwZW5kIiwganNvbm9iaik7DQorICAgICAgICAgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQogDQotCQkJfSwNCi0JCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCWFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KLQkJCX0NCi0JCX0pOw0KLQl9KTsNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQorICAgIH0pOw0KIA0KIH0pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vY3NzL2Jvb3RzdHJhcC5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvYm9vdHN0cmFwLmNzcwppbmRleCA2ZTcwMDU0Li5kYmViZTYyIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvYm9vdHN0cmFwLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvYm9vdHN0cmFwLmNzcwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3Mvc2tpbGwuY3NzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vY3NzL3NraWxsLmNzcwppbmRleCBmMTg4MjY1Li5kMjRhMjY4IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3Mvc2tpbGwuY3NzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2Nzcy9za2lsbC5jc3MKQEAgLTE0LDc2ICsxNCw4NCBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogICovDQogYm9keSB7DQotICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7ICANCi0gIC8qYmFja2dyb3VuZC1jb2xvcjogI2YxZjNmYTsqLw0KLSAgd2lkdGg6ICcxMDAlJzsNCi0gIGhlaWdodDogJzEwMCUnOw0KLSAgbWFyZ2luLXRvcDogMTBweDsNCisgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOw0KKyAgICAvKmJhY2tncm91bmQtY29sb3I6ICNmMWYzZmE7Ki8NCisgICAgd2lkdGg6ICcxMDAlJzsNCisgICAgaGVpZ2h0OiAnMTAwJSc7DQorICAgIG1hcmdpbi10b3A6IDEwcHg7DQogfQ0KLWRpdi5za2lsbHMtc3VuYnVyc3R7DQotCWZvbnQtc2l6ZTogMTJweDsNCi0JZm9udC13ZWlnaHQ6IDQwMDsNCi0JdGV4dC1hbGlnbjpjZW50ZXI7DQorDQorZGl2LnNraWxscy1zdW5idXJzdCB7DQorICAgIGZvbnQtc2l6ZTogMTJweDsNCisgICAgZm9udC13ZWlnaHQ6IDQwMDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KIH0NCiANCiAjc2tpbGxtYXAgLnNraWxscy13cmFwcGVyIHsNCi0gIG1hcmdpbi10b3A6IDEwcHg7DQotICBvdmVyZmxvdzogYXV0bzsNCisgICAgbWFyZ2luLXRvcDogMTBweDsNCisgICAgb3ZlcmZsb3c6IGF1dG87DQogfQ0KKw0KICNza2lsbG1hcCAuc2tpbGxzLXN1bmJ1cnN0IHsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgd2lkdGg6IDUwMHB4Ow0KLSAgbWFyZ2luLWxlZnQ6IC04MHB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgd2lkdGg6IDUwMHB4Ow0KKyAgICBtYXJnaW4tbGVmdDogLTgwcHg7DQogfQ0KKw0KICNza2lsbG1hcCAuc2tpbGxzLXN1bmJ1cnN0IHN2ZyB7DQotICBmb250OiAxMXB4ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOw0KLSAgZm9udC13ZWlnaHQ6IDkwMDsNCi0gIA0KLSAgY3Vyc29yOiBwb2ludGVyOw0KKyAgICBmb250OiAxMXB4ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOw0KKyAgICBmb250LXdlaWdodDogOTAwOw0KKw0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQogfQ0KKw0KICNza2lsbG1hcCAuc2tpbGxzLWNoYXJ0IHsNCi0gIGZsb2F0OiByaWdodDsNCi0gIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjsNCi0gIGZvbnQtc2l6ZTogMTVweDsNCi0gIG1hcmdpbjogODBweCAyMHB4IDAgMDsNCisgICAgZmxvYXQ6IHJpZ2h0Ow0KKyAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7DQorICAgIGZvbnQtc2l6ZTogMTVweDsNCisgICAgbWFyZ2luOiA4MHB4IDIwcHggMCAwOw0KIH0NCisNCiAjc2tpbGxtYXAgLnNraWxscy1jaGFydCAuYnJlYWRjdW1iLXRleHQgew0KLSAgZm9udC1zaXplOiAxM3B4Ow0KLSAgZm9udC13ZWlnaHQ6IDcwMDsNCisgICAgZm9udC1zaXplOiAxM3B4Ow0KKyAgICBmb250LXdlaWdodDogNzAwOw0KIH0NCisNCiAjc2tpbGxtYXAgLnNraWxscy1jaGFydCAjc2tpbGxzLWNoYXJ0LWxpbmUgew0KLSAgZmlsbDogbm9uZTsNCi0gIHN0cm9rZS13aWR0aDogMy41cHg7DQorICAgIGZpbGw6IG5vbmU7DQorICAgIHN0cm9rZS13aWR0aDogMy41cHg7DQogfQ0KKw0KICNza2lsbG1hcCAuc2tpbGxzLWNoYXJ0IC5heGlzIHBhdGgsDQogI3NraWxsbWFwIC5za2lsbHMtY2hhcnQgLmF4aXMgbGluZSB7DQotICBmaWxsOiBub25lOw0KKyAgICBmaWxsOiBub25lOw0KIH0NCisNCiAjc2tpbGxtYXAgLnNraWxscy1jaGFydCAueC1heGlzIHBhdGgsDQogI3NraWxsbWFwIC5za2lsbHMtY2hhcnQgLnktYXhpcyBwYXRoIHsNCi0gIHN0cm9rZTogIzQ0NDsNCi0gIHN0cm9rZS13aWR0aDogMXB4Ow0KLSAgc2hhcGUtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247DQorICAgIHN0cm9rZTogIzQ0NDsNCisgICAgc3Ryb2tlLXdpZHRoOiAxcHg7DQorICAgIHNoYXBlLXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uOw0KIH0NCiANCiAjZXhwbGFuYXRpb24gew0KLSAgcG9zaXRpb246IGFic29sdXRlOw0KLSAgdG9wOiAxNjVweDsNCi0gIGxlZnQ6IDE3MHB4Ow0KLSAgd2lkdGg6IDE0MHB4Ow0KLSAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgY29sb3I6ICM2NjY7DQotICBtYXJnaW4tdG9wOjMwcHg7DQorICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgdG9wOiAxNjVweDsNCisgICAgbGVmdDogMTcwcHg7DQorICAgIHdpZHRoOiAxNDBweDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBjb2xvcjogIzY2NjsNCisgICAgbWFyZ2luLXRvcDogMzBweDsNCiB9DQogDQogI3BlcmNlbnRhZ2Ugew0KLSAgZm9udC1zaXplOiAyZW07DQorICAgIGZvbnQtc2l6ZTogMmVtOw0KIH0NCiANCi0jZW5kbGFiZWx7DQotCWZvbnQtc2l6dGU6MS41ZW07DQorI2VuZGxhYmVsIHsNCisgICAgZm9udC1zaXp0ZTogMS41ZW07DQogfQ0KIA0KLWRpdi5za2lsbHMtc3VuYnVyc3QgdGV4dHsNCi0JIHRleHQtYW5jaG9yOiBtaWRkbGU7DQorZGl2LnNraWxscy1zdW5idXJzdCB0ZXh0IHsNCisgICAgdGV4dC1hbmNob3I6IG1pZGRsZTsNCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vY3NzL3ZpbS5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvdmltLmNzcwppbmRleCBhYjdiODc1Li42ODA5MTliIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvdmltLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvdmltLmNzcwpAQCAtMTQsNDY5ICsxNCw0NjMgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICAqLw0KIGJvZHkgew0KLQlmb250LWZhbWlseTogbWljcm9zb2Z0IHlhaGVpICFpbXBvcnRhbnQ7DQorICAgIGZvbnQtZmFtaWx5OiBtaWNyb3NvZnQgeWFoZWkgIWltcG9ydGFudDsNCiB9DQogDQogLyogYmx1ZSBwaWxsIChpbnNwaXJlZCBieSBpVHVuZXMpDQogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiANCiAuZ3JleSB7DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1Ow0KLSAgY29sb3I6ICMzMzM7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7DQorICAgIGNvbG9yOiAjMzMzOw0KIH0NCiANCiAuYmx1ZSB7DQogDQotCWJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQotCWJvcmRlci1yYWRpdXM6IDIwcHg7DQotCWNvbG9yOiAjZmZmOw0KLQlmb250LXdlaWdodDogYm9sZDsNCi0JcGFkZGluZzogOHB4IDA7DQotCXRleHQtYWxpZ246IGNlbnRlcjsNCi0Jd2lkdGg6IDEwMHB4Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWI5YmQxOw0KKyAgICBib3JkZXItcmFkaXVzOiAyMHB4Ow0KKyAgICBjb2xvcjogI2ZmZjsNCisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQorICAgIHBhZGRpbmc6IDhweCAwOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIHdpZHRoOiAxMDBweDsNCiB9DQogDQogLmJsdWU6aG92ZXIgew0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjZThmM2ZkOw0KLQljb2xvcjogIzViOWJkMTsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjNmZDsNCisgICAgY29sb3I6ICM1YjliZDE7DQogfQ0KIA0KIC5ibHVlLnNlbGVjdGVkIHsNCi0JYm9yZGVyOiAwOw0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjNWI5YmQxOw0KLQljb2xvcjogI2ZmZjsNCisgICAgYm9yZGVyOiAwOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWI5YmQxOw0KKyAgICBjb2xvcjogI2ZmZjsNCiB9DQogDQogLmJsdWUuc2VsZWN0ZWQ6aG92ZXIgew0KLQlib3JkZXI6IDA7DQotCWJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQotCWNvbG9yOiAjZmZmOw0KKyAgICBib3JkZXI6IDA7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQorICAgIGNvbG9yOiAjZmZmOw0KIH0NCiANCiBhIHsNCi0JZm9udC13ZWlnaHQ6IGJvbGQ7DQotCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiB9DQogDQogcCB7DQotCWNvbG9yOiAjNDQ0Ow0KLQlmb250LXNpemU6IDE0cHg7DQotCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQotCWxpbmUtaGVpZ2h0OiAyMXB4Ow0KLQltYXJnaW46IDAgMCAxMnB4IDA7DQorICAgIGNvbG9yOiAjNDQ0Ow0KKyAgICBmb250LXNpemU6IDE0cHg7DQorICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQorICAgIGxpbmUtaGVpZ2h0OiAyMXB4Ow0KKyAgICBtYXJnaW46IDAgMCAxMnB4IDA7DQogfQ0KIA0KIHAuY3JlZGl0IHsNCi0JYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7DQotCWZvbnQtc2l6ZTogMTRweDsNCi0JbGluZS1oZWlnaHQ6IDE0MCU7DQotCW1hcmdpbjogMzZweCAwIDEycHggMDsNCi0JcGFkZGluZzogOHB4IDAgMCAwOw0KLQl0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOw0KKyAgICBmb250LXNpemU6IDE0cHg7DQorICAgIGxpbmUtaGVpZ2h0OiAxNDAlOw0KKyAgICBtYXJnaW46IDM2cHggMCAxMnB4IDA7DQorICAgIHBhZGRpbmc6IDhweCAwIDAgMDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KIH0NCiANCiB1bC5jb2x1bW4gew0KLQlmbG9hdDogbGVmdDsNCi0JbGlzdC1zdHlsZTogbm9uZTsNCi0Jd2lkdGg6IDY3NXB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgbGlzdC1zdHlsZTogbm9uZTsNCisgICAgd2lkdGg6IDY3NXB4Ow0KIH0NCiANCiB1bC5jb2x1bW4gbGkgew0KLQliYWNrZ3JvdW5kOiAjZWVlOw0KLQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsNCi0JYm9yZGVyLXJhZGl1czogNXB4Ow0KLQktd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCAwICNjN2M3Yzc7DQotCWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCAwICNjN2M3Yzc7DQotCWZsb2F0OiBsZWZ0Ow0KLQltYXJnaW46IDEwcHggMCAwIDEwcHg7DQotCWRpc3BsYXk6IGJsb2NrOw0KLQloZWlnaHQ6IDE1MHB4Ow0KLQl0ZXh0LWFsaWduOiBjZW50ZXI7DQotCXdpZHRoOiAyMTVweDsNCisgICAgYmFja2dyb3VuZDogI2VlZTsNCisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7DQorICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCisgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggMCAjYzdjN2M3Ow0KKyAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggMCAjYzdjN2M3Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgbWFyZ2luOiAxMHB4IDAgMCAxMHB4Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgaGVpZ2h0OiAxNTBweDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICB3aWR0aDogMjE1cHg7DQogfQ0KIA0KIC8qIENsZWFyIEZsb2F0ZWQgRWxlbWVudHMNCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS5jb2x1bW46YWZ0ZXIsLmJ1dHRvbi1jb2xsZWN0aW9uOmFmdGVyLC5jbGVhcmZpeDphZnRlcixkaXYucHJvamVjdC1pbmZvOmFmdGVyDQotCXsNCi0JY2xlYXI6IGJvdGg7DQotCWNvbnRlbnQ6ICcgJzsNCi0JZGlzcGxheTogYmxvY2s7DQotCWZvbnQtc2l6ZTogMDsNCi0JbGluZS1oZWlnaHQ6IDA7DQotCXZpc2liaWxpdHk6IGhpZGRlbjsNCi0Jd2lkdGg6IDA7DQotCWhlaWdodDogMDsNCisuY29sdW1uOmFmdGVyLCAuYnV0dG9uLWNvbGxlY3Rpb246YWZ0ZXIsIC5jbGVhcmZpeDphZnRlciwgZGl2LnByb2plY3QtaW5mbzphZnRlciB7DQorICAgIGNsZWFyOiBib3RoOw0KKyAgICBjb250ZW50OiAnICc7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICBmb250LXNpemU6IDA7DQorICAgIGxpbmUtaGVpZ2h0OiAwOw0KKyAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQorICAgIHdpZHRoOiAwOw0KKyAgICBoZWlnaHQ6IDA7DQogfQ0KIA0KIC5jb250YWluZXItZmx1aWQgew0KLQliYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50Ow0KLQltaW4taGVpZ2h0OiA1MDBweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsNCisgICAgbWluLWhlaWdodDogNTAwcHg7DQogfQ0KIA0KIC5uYXYtdGFicyB7DQotCWJvcmRlcjogMDsNCisgICAgYm9yZGVyOiAwOw0KIH0NCiANCi0ubmF2LXRhYnM+bGkuYWN0aXZlPmEsLm5hdi10YWJzPmxpLmFjdGl2ZT5hOmhvdmVyLC5uYXYtdGFicz5saS5hY3RpdmU+YTpmb2N1cw0KLQl7DQotCWJvcmRlcjogMDsNCi0JYm9yZGVyLXRvcDogM3B4IHNvbGlkICNGMzU2NUQ7DQorLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpob3ZlciwgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7DQorICAgIGJvcmRlcjogMDsNCisgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNGMzU2NUQ7DQogfQ0KIA0KLS5uYXYtdGFicz5saT5hIHsNCi0JYm9yZGVyLXJhZGl1czogMDsNCisubmF2LXRhYnMgPiBsaSA+IGEgew0KKyAgICBib3JkZXItcmFkaXVzOiAwOw0KIH0NCiANCi0ubmF2LXRhYnM+bGk+YTpob3ZlciB7DQotCWJhY2tncm91bmQtY29sb3I6ICNmMWYzZmE7DQotCWJvcmRlcjogMVB4IHNvbGlkICNmMWYzZmE7DQorLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyIHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjNmYTsNCisgICAgYm9yZGVyOiAxUHggc29saWQgI2YxZjNmYTsNCiB9DQogDQogLmMzIHsNCi0JbWFyZ2luLXRvcDogMTIwcHg7DQorICAgIG1hcmdpbi10b3A6IDEyMHB4Ow0KIH0NCiANCiAuc2tpbGxzLWNoYXJ0LWJyZWFkY3J1bWIgew0KLQkNCisNCiB9DQogDQogLmJsdWU6c2VsZWN0ZWQgew0KLQlib3JkZXI6IDA7DQotCWJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQorICAgIGJvcmRlcjogMDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogIzViOWJkMTsNCiB9DQogDQogLmJ0biB7DQotCS8qIGJvcmRlci13aWR0aDogMDsgKi8NCi0JLyogcGFkZGluZzogN3B4IDE0cHg7ICovDQotCS8qIGZvbnQtc2l6ZTogMTRweDsgKi8NCi0JLyogb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyAqLw0KLQkvKiBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7ICovDQotCS8qIGZpbHRlcjogbm9uZTsgKi8NCi0JLyogLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOyAqLw0KLQktbW96LWJveC1zaGFkb3c6IG5vbmU7DQotCS8qIGJveC1zaGFkb3c6IG5vbmU7ICovDQotCS8qIHRleHQtc2hhZG93OiBub25lOyAqLw0KKyAgICAvKiBib3JkZXItd2lkdGg6IDA7ICovDQorICAgIC8qIHBhZGRpbmc6IDdweCAxNHB4OyAqLw0KKyAgICAvKiBmb250LXNpemU6IDE0cHg7ICovDQorICAgIC8qIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgKi8NCisgICAgLyogYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyAqLw0KKyAgICAvKiBmaWx0ZXI6IG5vbmU7ICovDQorICAgIC8qIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgKi8NCisgICAgLW1vei1ib3gtc2hhZG93OiBub25lOw0KKyAgICAvKiBib3gtc2hhZG93OiBub25lOyAqLw0KKyAgICAvKiB0ZXh0LXNoYWRvdzogbm9uZTsgKi8NCiB9DQogDQogc2VsZWN0IHsNCi0JYm9yZGVyLXdpZHRoOiAxcHg7DQotCXBhZGRpbmc6IDRweCAxcHg7DQotCWJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQorICAgIHBhZGRpbmc6IDRweCAxcHg7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiB9DQogDQogLmlucHV0LXNtIHsNCi0JcGFkZGluZzogNHB4IDEwcHg7DQorICAgIHBhZGRpbmc6IDRweCAxMHB4Ow0KIH0NCiANCiAuYnRuLWJsb2NrIHsNCi0JZGlzcGxheTogYmxvY2s7DQotCXdpZHRoOiAxMDAlOw0KLQlwYWRkaW5nLWxlZnQ6IDA7DQotCXBhZGRpbmctcmlnaHQ6IDA7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgcGFkZGluZy1sZWZ0OiAwOw0KKyAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KIH0NCiANCiAvKiBCb290c3RyYXAgYnV0dG9ucyAqLw0KIA0KLQ0KLS5idG4tZGVmYXVsdDpob3ZlciwuYnRuLWRlZmF1bHQ6Zm9jdXMsLmJ0bi1kZWZhdWx0OmFjdGl2ZSwuYnRuLWRlZmF1bHQuYWN0aXZlDQotCXsNCi0JY29sb3I6ICMzMzM7DQotCWJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7DQotCWJvcmRlci1jb2xvcjogI2IzYjNiMzsNCisuYnRuLWRlZmF1bHQ6aG92ZXIsIC5idG4tZGVmYXVsdDpmb2N1cywgLmJ0bi1kZWZhdWx0OmFjdGl2ZSwgLmJ0bi1kZWZhdWx0LmFjdGl2ZSB7DQorICAgIGNvbG9yOiAjMzMzOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOw0KKyAgICBib3JkZXItY29sb3I6ICNiM2IzYjM7DQogfQ0KIA0KIC5vcGVuIC5idG4tZGVmYXVsdC5kcm9wZG93bi10b2dnbGUgew0KLQljb2xvcjogIzMzMzsNCi0JYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsNCi0JYm9yZGVyLWNvbG9yOiAjYjNiM2IzOw0KKyAgICBjb2xvcjogIzMzMzsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsNCisgICAgYm9yZGVyLWNvbG9yOiAjYjNiM2IzOw0KIH0NCiANCi0uYnRuLWRlZmF1bHQ6YWN0aXZlLC5idG4tZGVmYXVsdC5hY3RpdmUgew0KLQliYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOw0KLQlmb250LXdlaWdodDogYm9sZDsNCisuYnRuLWRlZmF1bHQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuYWN0aXZlIHsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsNCisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogfQ0KIA0KLS5idG4tZGVmYXVsdDphY3RpdmU6aG92ZXIsLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3ZlciB7DQotCWJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7DQorLmJ0bi1kZWZhdWx0OmFjdGl2ZTpob3ZlciwgLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3ZlciB7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7DQogfQ0KIA0KIC5vcGVuIC5idG4tZGVmYXVsdC5kcm9wZG93bi10b2dnbGUgew0KLQliYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KIH0NCiANCi0uYnRuLWRlZmF1bHQuZGlzYWJsZWQsLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmhvdmVyLC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6YWN0aXZlLC5idG4tZGVmYXVsdC5kaXNhYmxlZC5hY3RpdmUsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXSwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmhvdmVyLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06Zm9jdXMsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTphY3RpdmUsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXS5hY3RpdmUsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdCxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDphY3RpdmUsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5hY3RpdmUNCi0Jew0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KLQlib3JkZXItY29sb3I6ICNjY2M7DQorLmJ0bi1kZWZhdWx0LmRpc2FibGVkLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsIC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywgLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmFjdGl2ZSwgLmJ0bi1kZWZhdWx0LmRpc2FibGVkLmFjdGl2ZSwgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXSwgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTphY3RpdmUsIC5idG4tZGVmYXVsdFtkaXNhYmxlZF0uYWN0aXZlLCBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LCBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmZvY3VzLCBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmFjdGl2ZSwgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5hY3RpdmUgew0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KKyAgICBib3JkZXItY29sb3I6ICNjY2M7DQogfQ0KIA0KIC5idG4tZGVmYXVsdCAuYmFkZ2Ugew0KLQljb2xvcjogI2ZmZjsNCi0JYmFja2dyb3VuZC1jb2xvcjogIzMzMzsNCisgICAgY29sb3I6ICNmZmY7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7DQogfQ0KIA0KLQ0KLS5idG4tZGVmYXVsdD5pW2NsYXNzXj0iaWNvbi0iXSwuYnRuLWRlZmF1bHQ+aVtjbGFzcyo9Imljb24tIl0gew0KLQljb2xvcjogIzhjOGM4YzsNCisuYnRuLWRlZmF1bHQgPiBpW2NsYXNzXj0iaWNvbi0iXSwgLmJ0bi1kZWZhdWx0ID4gaVtjbGFzcyo9Imljb24tIl0gew0KKyAgICBjb2xvcjogIzhjOGM4YzsNCiB9DQogDQogZGl2W2RhdGEtbmFtZT0idGFiX3pvbmUiXSBkaXYgew0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2ZhOw0KLQlwYWRkaW5nOiAwcHg7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYzZmE7DQorICAgIHBhZGRpbmc6IDBweDsNCiB9DQogDQogZGl2W2RhdGEtbmFtZT0iY29uZF96b25lIl0gZGl2IHsNCi0JYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCi0JbWFyZ2luLXRvcDogMTVweDsNCi0JbWFyZ2luLWJvdHRvbTogMTVweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCisgICAgbWFyZ2luLXRvcDogMTVweDsNCisgICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiB9DQogDQotDQotDQotDQotLmlucHV0ew0KLQl3aWR0aDoyNTBweDsNCi0gIGhlaWdodDogMzRweDsNCi0gIHBhZGRpbmc6IDZweCAxMnB4Ow0KLSAgZm9udC1zaXplOiAxNHB4Ow0KLSAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQotICBjb2xvcjogIzU1NTsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQotICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KLSAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCi0gIGJvcmRlci1yYWRpdXM6IDRweDsNCi0gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7DQotICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTsNCi0gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KLSAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KKy5pbnB1dCB7DQorICAgIHdpZHRoOiAyNTBweDsNCisgICAgaGVpZ2h0OiAzNHB4Ow0KKyAgICBwYWRkaW5nOiA2cHggMTJweDsNCisgICAgZm9udC1zaXplOiAxNHB4Ow0KKyAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCisgICAgY29sb3I6ICM1NTU7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCisgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7DQorICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czsNCisgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czsNCiB9DQogDQogZGl2LnNlcGFyYXRvciB7DQotCW1hcmdpbjogMjBweDsNCisgICAgbWFyZ2luOiAyMHB4Ow0KIH0NCiANCiBkaXYuc2VwYXJhdG9yIGRpdiB7DQotCXRleHQtYWxpZ246IGNlbnRlcjsNCi0JbGluZS1oZWlnaHQ6IDA7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgbGluZS1oZWlnaHQ6IDA7DQogfQ0KIA0KIGRpdi5zZXBhcmF0b3ItbGluZSB7DQotCWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7DQotCXdpZHRoOiAxMDAlOw0KLQliYWNrZ3JvdW5kOiAjZGRkOw0KLQlvdmVyZmxvdzogaGlkZGVuOw0KKyAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50Ow0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgYmFja2dyb3VuZDogI2RkZDsNCisgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiB9DQogDQogLmRyb3Bkb3duLXRvZ2dsZSB7DQotCWNvbG9yOiAjNWI5YmQxOw0KKyAgICBjb2xvcjogIzViOWJkMTsNCiB9DQogDQogLmNhbGVuZGFyLWRhdGUgew0KLQljb2xvcjogIzViOWJkMTsNCisgICAgY29sb3I6ICM1YjliZDE7DQogfQ0KIA0KIC5yYW5nZV9pbnB1dHMgew0KLQljb2xvcjogIzViOWJkMTsNCisgICAgY29sb3I6ICM1YjliZDE7DQogfQ0KIA0KLS5idG4uZHJvcGRvd24tdG9nZ2xlLC5idG4tZ3JvdXAgLmJ0bi5kcm9wZG93bi10b2dnbGUsLmJ0bjpob3ZlciwuYnRuOmRpc2FibGVkLC5idG5bZGlzYWJsZWRdLC5idG46Zm9jdXMsLmJ0bjphY3RpdmUsLmJ0bi5hY3RpdmUNCi0Jew0KLQlvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7DQotCWJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsNCi0JZmlsdGVyOiBub25lOw0KLQktd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQotCS1tb3otYm94LXNoYWRvdzogbm9uZTsNCi0JYm94LXNoYWRvdzogbm9uZTsNCi0JdGV4dC1zaGFkb3c6IG5vbmU7DQorLmJ0bi5kcm9wZG93bi10b2dnbGUsIC5idG4tZ3JvdXAgLmJ0bi5kcm9wZG93bi10b2dnbGUsIC5idG46aG92ZXIsIC5idG46ZGlzYWJsZWQsIC5idG5bZGlzYWJsZWRdLCAuYnRuOmZvY3VzLCAuYnRuOmFjdGl2ZSwgLmJ0bi5hY3RpdmUgew0KKyAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsNCisgICAgZmlsdGVyOiBub25lOw0KKyAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQorICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTsNCisgICAgYm94LXNoYWRvdzogbm9uZTsNCisgICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogfQ0KIA0KICNza2lsbHMtY2hhcnQtYnJlYWRjcnVtYiB7DQotCW1hcmdpbi1ib3R0b206IDEwcHgNCisgICAgbWFyZ2luLWJvdHRvbTogMTBweA0KIH0NCiANCiAvKuWinuWKoGRhdGVyYW5nZXBpY2tlcueahGNzcyovDQogaW5wdXRbbmFtZT0iZGF0ZXJhbmdlIl0gew0KLQl3aWR0aDogMjIwcHg7DQotCWxpbmUtaGVpZ2h0OiAwOw0KLQloZWlnaHQ6IDMxcHg7DQotCXZlcnRpY2FsLWFsaWduOiB0b3A7DQotCW1hcmdpbi10b3A6IDJweDsNCisgICAgd2lkdGg6IDIyMHB4Ow0KKyAgICBsaW5lLWhlaWdodDogMDsNCisgICAgaGVpZ2h0OiAzMXB4Ow0KKyAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KKyAgICBtYXJnaW4tdG9wOiAycHg7DQogfQ0KIA0KIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcyB7DQotCXdpZHRoOiAyMDVweDsNCisgICAgd2lkdGg6IDIwNXB4Ow0KIH0NCiANCiAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMgaW5wdXQgew0KLQl3aWR0aDogOTVweCAhaW1wb3J0YW50Ow0KKyAgICB3aWR0aDogOTVweCAhaW1wb3J0YW50Ow0KIH0NCiANCiB0ZC5kZXRhaWxzLWNvbnRyb2wgew0KLQliYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZXRhaWxzX29wZW4ucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7DQotCWN1cnNvcjogcG9pbnRlcjsNCisgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGV0YWlsc19vcGVuLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOw0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQogfQ0KIA0KIHRyLnNob3duIHRkLmRldGFpbHMtY29udHJvbCB7DQotCWJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RldGFpbHNfY2xvc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7DQorICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RldGFpbHNfY2xvc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7DQogfQ0KIA0KIC5kZXRhaWxzIHRhYmxlIHRkIHsNCi0Jd29yZC13cmFwOiBicmVhay13b3JkOw0KLQl3b3JkLWJyZWFrOiBub3JtYWw7DQotCWJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkZGRkOw0KKyAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7DQorICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsNCisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7DQogfQ0KIA0KLS5kZXRhaWxzIHRhYmxlICB0cjpmaXJzdC1jaGlsZCB0ZCB7DQotCWJvcmRlci10b3A6IG5vbmU7DQorLmRldGFpbHMgdGFibGUgdHI6Zmlyc3QtY2hpbGQgdGQgew0KKyAgICBib3JkZXItdG9wOiBub25lOw0KIH0NCiANCiAuZGV0YWlscyB0YWJsZSB7DQotCXRhYmxlLWxheW91dDogZml4ZWQ7DQotCXdpZHRoOiAxMDAlOw0KKyAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOw0KKyAgICB3aWR0aDogMTAwJTsNCiB9DQogDQogdGQudGl0bGUgew0KLQl3aWR0aDogMTAlOw0KKyAgICB3aWR0aDogMTAlOw0KIH0NCiANCi10YWJsZS5kYXRhVGFibGUgdGJvZHkgdGgsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkIHsNCi0JcGFkZGluZzogOHB4IDEwcHg7DQordGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLCB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQgew0KKyAgICBwYWRkaW5nOiA4cHggMTBweDsNCiB9DQogDQotZGl2LmRhdGFUYWJsZXNfbGVuZ3RoLGRpdi5kYXRhVGFibGVzX2luZm8gew0KLQlkaXNwbGF5OiBpbmxpbmU7DQorZGl2LmRhdGFUYWJsZXNfbGVuZ3RoLCBkaXYuZGF0YVRhYmxlc19pbmZvIHsNCisgICAgZGlzcGxheTogaW5saW5lOw0KIH0NCiANCiBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7DQotCWRpc3BsYXk6IGlubGluZTsNCi0JZmxvYXQ6IHJpZ2h0Ow0KKyAgICBkaXNwbGF5OiBpbmxpbmU7DQorICAgIGZsb2F0OiByaWdodDsNCiB9DQogDQogZGl2LnBhZ2luYXRpb24tcGFuZWwgew0KLQltYXJnaW4tcmlnaHQ6IDEwcHg7DQorICAgIG1hcmdpbi1yaWdodDogMTBweDsNCiB9DQogDQogaW5wdXQucGFnaW5hdGlvbi1wYW5lbC1pbnB1dCB7DQotCXdpZHRoOiA1MHB4Ow0KKyAgICB3aWR0aDogNTBweDsNCiB9DQogDQogI2ljdF9yZXNfdGFibGVfZGl2IHsNCi0JbWFyZ2luLXRvcDogMTVweDsNCisgICAgbWFyZ2luLXRvcDogMTVweDsNCiB9DQogDQogI2ljdF9yZXNfdGFibGVfZGl2IGxhYmVsIHsNCi0JZm9udC13ZWlnaHQ6IDEwMDsNCisgICAgZm9udC13ZWlnaHQ6IDEwMDsNCiB9DQogDQotLmRhdGVyYW5nZXBpY2tlciAuZGF0ZXJhbmdlcGlja2VyX3N0YXJ0X2lucHV0IGxhYmVsLC5kYXRlcmFuZ2VwaWNrZXIgLmRhdGVyYW5nZXBpY2tlcl9lbmRfaW5wdXQgbGFiZWwNCi0Jew0KLQljb2xvcjogIzViOWJkMTsNCisuZGF0ZXJhbmdlcGlja2VyIC5kYXRlcmFuZ2VwaWNrZXJfc3RhcnRfaW5wdXQgbGFiZWwsIC5kYXRlcmFuZ2VwaWNrZXIgLmRhdGVyYW5nZXBpY2tlcl9lbmRfaW5wdXQgbGFiZWwgew0KKyAgICBjb2xvcjogIzViOWJkMTsNCiB9DQogDQogLmRhdGVyYW5nZXBpY2tlciAucmFuZ2VzIC5pbnB1dC1taW5pIHsNCi0JY29sb3I6ICM1YjliZDE7DQorICAgIGNvbG9yOiAjNWI5YmQxOw0KIH0NCiANCiAuY2FuY2VsQnRuIHsNCi0JcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7DQorICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4Ow0KIH0NCiANCi0uYnRuOmZvY3VzLC5idG46YWN0aXZlOmZvY3VzLC5idG4uYWN0aXZlOmZvY3VzIHsNCi0Jb3V0bGluZTogMDsNCisuYnRuOmZvY3VzLCAuYnRuOmFjdGl2ZTpmb2N1cywgLmJ0bi5hY3RpdmU6Zm9jdXMgew0KKyAgICBvdXRsaW5lOiAwOw0KIH0NCiANCi0jaWN0X3Jlc190YWJsZV9kaXYgIHRhYmxlIHsNCi0Jd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCisjaWN0X3Jlc190YWJsZV9kaXYgdGFibGUgew0KKyAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KIH0NCiANCiAuY29udHJvbC1sYWJlbCAucmVxdWlyZWQgew0KLSAgY29sb3I6ICNlMDIyMjI7DQotICBmb250LXNpemU6IDEycHg7DQotICBwYWRkaW5nLWxlZnQ6IDJweDsNCisgICAgY29sb3I6ICNlMDIyMjI7DQorICAgIGZvbnQtc2l6ZTogMTJweDsNCisgICAgcGFkZGluZy1sZWZ0OiAycHg7DQogfQ0KIA0KLSNpY3RfdmltX3RhYmxlIHRib2R5IHRyew0KLQljdXJzb3I6cG9pbnRlcjsNCisjaWN0X3ZpbV90YWJsZSB0Ym9keSB0ciB7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCiB9DQogDQotDQogLyrljaHniYfpnaLmnb/moLflvI8qLw0KIC5hbmltYXRlZC1wYW5lbCB7DQotICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjVzOw0KLSAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7DQotICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQotICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOw0KKyAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjVzOw0KKyAgICBhbmltYXRpb24tZHVyYXRpb246IC41czsNCisgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOw0KKyAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOw0KIH0NCiANCiAuaHBhbmVsIHsNCi0gIGJhY2tncm91bmQtY29sb3I6IG5vbmU7DQotICBib3JkZXI6IG5vbmU7DQotICBib3gtc2hhZG93OiBub25lOw0KLSAgbWFyZ2luLWJvdHRvbTogMjVweDsNCi0gICAgDQorICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7DQorICAgIGJvcmRlcjogbm9uZTsNCisgICAgYm94LXNoYWRvdzogbm9uZTsNCisgICAgbWFyZ2luLWJvdHRvbTogMjVweDsNCisNCiB9DQogDQogLmhwYW5lbCAucGFuZWwtYm9keSB7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNWU3Ow0KLSAgYm9yZGVyLXJhZGl1czogMnB4Ow0KLSAgcGFkZGluZzogMjBweDsNCi0gIHBvc2l0aW9uOiByZWxhdGl2ZTsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNzsNCisgICAgYm9yZGVyLXJhZGl1czogMnB4Ow0KKyAgICBwYWRkaW5nOiAyMHB4Ow0KKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogfQ0KKw0KIC5oLTIwMCB7DQotICBtaW4taGVpZ2h0OiAyMjBweDsNCisgICAgbWluLWhlaWdodDogMjIwcHg7DQogfQ0KKw0KIC5tLXQteGwgew0KLSAgbWFyZ2luLXRvcDogNDBweDsNCisgICAgbWFyZ2luLXRvcDogNDBweDsNCiB9DQorDQogLnRleHQtc3VjY2VzcyB7DQotICBjb2xvcjogIzBkNjM4ZjsNCisgICAgY29sb3I6ICMwZDYzOGY7DQogfQ0KKw0KIC5ocGFuZWwgPiAucGFuZWwtZm9vdGVyIHsNCi0gIGNvbG9yOiBpbmhlcml0Ow0KLSAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNzsNCi0gIGJvcmRlci10b3A6IG5vbmU7DQotICBmb250LXNpemU6IDkwJTsNCi0gIGJhY2tncm91bmQ6ICNmN2Y5ZmE7DQotICBoZWlnaHQ6NDBweDsNCi0gIHBhZGRpbmc6IDVweCAxNXB4Ow0KKyAgICBjb2xvcjogaW5oZXJpdDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNzsNCisgICAgYm9yZGVyLXRvcDogbm9uZTsNCisgICAgZm9udC1zaXplOiA5MCU7DQorICAgIGJhY2tncm91bmQ6ICNmN2Y5ZmE7DQorICAgIGhlaWdodDogNDBweDsNCisgICAgcGFkZGluZzogNXB4IDE1cHg7DQogfQ0KLS5jb2xvcl9jbG91ZHsNCi0JY29sb3I6I2NjYzsNCisNCisuY29sb3JfY2xvdWQgew0KKyAgICBjb2xvcjogI2NjYzsNCiB9DQotLnN0YXRzLXRpdGxlew0KKw0KKy5zdGF0cy10aXRsZSB7DQogDQogfQ0KIA0KLWgzew0KLSAgbWFyZ2luLXRvcDogMTBweDsNCi0gIG1hcmdpbi1ib3R0b206IDQwcHg7DQotICBmb250LXdlaWdodDogMjAwOw0KK2gzIHsNCisgICAgbWFyZ2luLXRvcDogMTBweDsNCisgICAgbWFyZ2luLWJvdHRvbTogNDBweDsNCisgICAgZm9udC13ZWlnaHQ6IDIwMDsNCiB9DQogDQotLmJsdWUtZm9udHsNCi0JY29sb3I6IzQyOGJjYTsNCisuYmx1ZS1mb250IHsNCisgICAgY29sb3I6ICM0MjhiY2E7DQogfQ0KIA0KLS5ocGFuZWwgPiAucGFuZWwtZm9vdGVyIC5wdWxsLXJpZ2h0IGF7DQotCW1hcmdpbi1sZWZ0OiA1cHg7DQorLmhwYW5lbCA+IC5wYW5lbC1mb290ZXIgLnB1bGwtcmlnaHQgYSB7DQorICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQogfQ0KIA0KLS5ocGFuZWwgPiAucGFuZWwtZm9vdGVyIC5wdWxsLXJpZ2h0IC5idG57DQorLmhwYW5lbCA+IC5wYW5lbC1mb290ZXIgLnB1bGwtcmlnaHQgLmJ0biB7DQogICAgIG1pbi13aWR0aDogMzBweCAhaW1wb3J0YW50Ow0KIH0NCiANCi0ucmVmcmVzaC1zdGF0dXMtdGV4dHsNCi0JZmxvYXQ6IHJpZ2h0Ow0KKy5yZWZyZXNoLXN0YXR1cy10ZXh0IHsNCisgICAgZmxvYXQ6IHJpZ2h0Ow0KIH0NCiANCiAuZm9udCB7DQotICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KIH0NCiANCi0uaHBhbmVsX3Nob3d7DQotCWN1cnNvcjogcG9pbnRlcjsNCi0JYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjlmYTsNCisuaHBhbmVsX3Nob3cgew0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y5ZmE7DQogfQ0KIA0KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2Nzcy92aW1DaGFydC5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9jc3MvdmltQ2hhcnQuY3NzCmluZGV4IDBhZjY4YzUuLmJiNzlkOGUgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2Nzcy92aW1DaGFydC5jc3MKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vY3NzL3ZpbUNoYXJ0LmNzcwpAQCAtMTQsMzMgKzE0LDMyIEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAgKi8NCiBib2R5IHsNCi0gIGNvbG9yOiAjMzMzOw0KLSAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgeWFoZWkiLCBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7DQotICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDsNCi0gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7DQotICBkaXJlY3Rpb246IGx0cjsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmMWYzZmEgIWltcG9ydGFudDsgDQorICAgIGNvbG9yOiAjMzMzOw0KKyAgICBmb250LWZhbWlseTogIk1pY3Jvc29mdCB5YWhlaSIsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsNCisgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7DQorICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7DQorICAgIGRpcmVjdGlvbjogbHRyOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2ZhICFpbXBvcnRhbnQ7DQogfQ0KIA0KLS5yb3d7DQotICAgICBtYXJnaW4tbGVmdDogMHB4OyANCi0gIG1hcmdpbi1yaWdodDogMHB4OyANCisucm93IHsNCisgICAgbWFyZ2luLWxlZnQ6IDBweDsNCisgICAgbWFyZ2luLXJpZ2h0OiAwcHg7DQogfQ0KIA0KIHNlbGVjdCB7DQotICBib3JkZXItd2lkdGg6IDFweDsNCi0gIHBhZGRpbmc6IDRweCAxcHg7DQotICBib3JkZXItcmFkaXVzOiA0cHg7DQorICAgIGJvcmRlci13aWR0aDogMXB4Ow0KKyAgICBwYWRkaW5nOiA0cHggMXB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogfQ0KIA0KIC5jb250YWluZXItZmx1aWQgew0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiB9DQogDQotDQogLnRpdGxlZm9udCB7DQotICBmb250LXNpemU6IDE2cHg7DQotICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQorICAgIGZvbnQtc2l6ZTogMTZweDsNCisgICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogfQ0KIA0KIC5zZXBhcmF0b3ItbGluZSB7DQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vaTE4bi9sb2FkaTE4bkFwcC5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2kxOG4vbG9hZGkxOG5BcHAuanMKaW5kZXggNTU0OWU1Yi4uZTM3YTA0OCAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vaTE4bi9sb2FkaTE4bkFwcC5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9pMThuL2xvYWRpMThuQXBwLmpzCkBAIC0xMywyNSArMTMsMjUgQEAKICAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAgKi8NCi1mdW5jdGlvbiBsb2FkUHJvcGVydGllc1NpZGVNZW51KGxhbmcsIHByb3BlcnRpZXNGaWxlTmFtZVByZWZpeCwgcHJvcGVydGllc0ZpbGVQYXRoKXsNCitmdW5jdGlvbiBsb2FkUHJvcGVydGllc1NpZGVNZW51KGxhbmcsIHByb3BlcnRpZXNGaWxlTmFtZVByZWZpeCwgcHJvcGVydGllc0ZpbGVQYXRoKSB7DQogICAgIGpRdWVyeS5pMThuLnByb3BlcnRpZXMoew0KLSAgICAgICAgbGFuZ3VhZ2U6bGFuZywNCi0gICAgICAgIG5hbWU6cHJvcGVydGllc0ZpbGVOYW1lUHJlZml4LA0KLSAgICAgICAgcGF0aDpwcm9wZXJ0aWVzRmlsZVBhdGgsIC8vIOi1hOa6kOaWh+S7tui3r+W+hA0KLSAgICAgICAgbW9kZTonbWFwJywgLy8g55SoIE1hcCDnmoTmlrnlvI/kvb/nlKjotYTmupDmlofku7bkuK3nmoTlgLwNCi0gICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigpIHsvLyDliqDovb3miJDlip/lkI7orr7nva7mmL7npLrlhoXlrrkNCisgICAgICAgIGxhbmd1YWdlOiBsYW5nLA0KKyAgICAgICAgbmFtZTogcHJvcGVydGllc0ZpbGVOYW1lUHJlZml4LA0KKyAgICAgICAgcGF0aDogcHJvcGVydGllc0ZpbGVQYXRoLCAvLyDotYTmupDmlofku7bot6/lvoQNCisgICAgICAgIG1vZGU6ICdtYXAnLCAvLyDnlKggTWFwIOeahOaWueW8j+S9v+eUqOi1hOa6kOaWh+S7tuS4reeahOWAvA0KKyAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICgpIHsvLyDliqDovb3miJDlip/lkI7orr7nva7mmL7npLrlhoXlrrkNCiAgICAgICAgICAgICB2YXIgaTE4bkl0ZW1zID0gJCgnW25hbWVfaTE4bj1jb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuXScpOw0KLSAgICAgICAgICAgIGZvcih2YXIgaT0wO2k8aTE4bkl0ZW1zLmxlbmd0aDtpKyspew0KKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaTE4bkl0ZW1zLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgIHZhciAkaXRlbSA9ICQoaTE4bkl0ZW1zLmVxKGkpKTsNCiAgICAgICAgICAgICAgICAgdmFyIGl0ZW1JZCA9ICRpdGVtLmF0dHIoJ2lkX2kxOG4nKTsNCiAgICAgICAgICAgICAgICAgdmFyIGl0ZW1UaXRsZSA9ICRpdGVtLmF0dHIoJ3RpdGxlJyk7DQogICAgICAgICAgICAgICAgIC8qKiBpZOWtmOWcqOaXtuWFg+e0oOWGheWuuemcgOimgeWbvemZheWMlu+8jHRpdGxl5a2Y5Zyo5pe25YWD57SgdGl0bGXpnIDopoHlm73pmYXljJYgKi8NCi0gICAgICAgICAgICAgICAgaWYodHlwZW9mKCRpdGVtLmF0dHIoInRpdGxlIikpID09ICJzdHJpbmciKXsNCisgICAgICAgICAgICAgICAgaWYgKHR5cGVvZigkaXRlbS5hdHRyKCJ0aXRsZSIpKSA9PSAic3RyaW5nIikgew0KICAgICAgICAgICAgICAgICAgICAgJGl0ZW0uYXR0cigidGl0bGUiLCAoJC5pMThuLnByb3AoaXRlbVRpdGxlKSkpOw0KICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgIGlmKHVuZGVmaW5lZCAhPSBpdGVtSWQgJiYgdHlwZW9mKCRpdGVtLmF0dHIoInBsYWNlaG9sZGVyIikpPT0idW5kZWZpbmVkIil7DQorICAgICAgICAgICAgICAgIGlmICh1bmRlZmluZWQgIT0gaXRlbUlkICYmIHR5cGVvZigkaXRlbS5hdHRyKCJwbGFjZWhvbGRlciIpKSA9PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICAgJGl0ZW0udGV4dCgkLmkxOG4ucHJvcChpdGVtSWQpKTsNCi0gICAgICAgICAgICAgICAgfWVsc2UgaWYodW5kZWZpbmVkICE9IGl0ZW1JZCAmJiB0eXBlb2YoJGl0ZW0uYXR0cigicGxhY2Vob2xkZXIiKSkhPSJ1bmRlZmluZWQiKXsNCisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1bmRlZmluZWQgIT0gaXRlbUlkICYmIHR5cGVvZigkaXRlbS5hdHRyKCJwbGFjZWhvbGRlciIpKSAhPSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICAgJGl0ZW0uYXR0cigicGxhY2Vob2xkZXIiLCAkLmkxOG4ucHJvcChpdGVtSWQpKTsNCiAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIH0NCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy9jbGllbnQtY29tZXRkLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvY2xpZW50LWNvbWV0ZC5qcwppbmRleCA1ZjlhNWRjLi5kNzM3MzY2IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy9jbGllbnQtY29tZXRkLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL2NsaWVudC1jb21ldGQuanMKQEAgLTE2LDQ4ICsxNiw0OCBAQAogLyoqDQogICogQ3JlYXRlZCBieSAxMDE4NDMwMyBvbiAxNS0xMS0xNy4NCiAgKi8NCi0gCQ0KLSQoZnVuY3Rpb24oKXsNCi0gICAgdmFyIHJlZ2lzdGVyQ29tZXRkTWVzc2FnZSA9IGZ1bmN0aW9uKHVybCwgY2FsbGJhY2spIHsNCi0gICAgICAgIHZhciBjb21ldGQgPSBuZXcgJC5Db21ldGQoKTsgDQorDQorJChmdW5jdGlvbiAoKSB7DQorICAgIHZhciByZWdpc3RlckNvbWV0ZE1lc3NhZ2UgPSBmdW5jdGlvbiAodXJsLCBjYWxsYmFjaykgew0KKyAgICAgICAgdmFyIGNvbWV0ZCA9IG5ldyAkLkNvbWV0ZCgpOw0KICAgICAgICAgdmFyIGNvbWV0ZFVSTCA9IGxvY2F0aW9uLnByb3RvY29sICsgIi8vIiArIGxvY2F0aW9uLmhvc3QgKyAiL2FwaS9uc29jbm90aWZpY2F0aW9uL3YxIjsNCiAgICAgICAgIGNvbWV0ZC5jb25maWd1cmUoew0KLSAgICAgICAgICAgIHVybCA6IGNvbWV0ZFVSTCwNCi0gICAgICAgICAgICBsb2dMZXZlbCA6ICJkZWJ1ZyINCisgICAgICAgICAgICB1cmw6IGNvbWV0ZFVSTCwNCisgICAgICAgICAgICBsb2dMZXZlbDogImRlYnVnIg0KICAgICAgICAgfSk7DQogDQotICAgICAgICBjb21ldGQuYWRkTGlzdGVuZXIoIi9tZXRhL2hhbmRzaGFrZSIsIGZ1bmN0aW9uKGhhbmRzaGFrZSl7DQotICAgICAgICAgICAgaWYoaGFuZHNoYWtlLnN1Y2Nlc3NmdWwgPT09IHRydWUpIHsNCi0gICAgICAgICAgICAgICAgY29tZXRkLmJhdGNoKGZ1bmN0aW9uKCl7DQotICAgICAgICAgICAgICAgICAgICBjb21ldGQuc3Vic2NyaWJlKHVybCwgZnVuY3Rpb24obWVzc2FnZSl7DQorICAgICAgICBjb21ldGQuYWRkTGlzdGVuZXIoIi9tZXRhL2hhbmRzaGFrZSIsIGZ1bmN0aW9uIChoYW5kc2hha2UpIHsNCisgICAgICAgICAgICBpZiAoaGFuZHNoYWtlLnN1Y2Nlc3NmdWwgPT09IHRydWUpIHsNCisgICAgICAgICAgICAgICAgY29tZXRkLmJhdGNoKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgIGNvbWV0ZC5zdWJzY3JpYmUodXJsLCBmdW5jdGlvbiAobWVzc2FnZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcywgbWVzc2FnZS5kYXRhKTsNCiAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICB9DQogICAgICAgICB9KTsNCiAgICAgICAgIGNvbWV0ZC5oYW5kc2hha2UoKTsNCi19DQotICAgIHJlZ2lzdGVyQ29tZXRkTWVzc2FnZSgiL1ZJTXN0YXR1cyIsIGZ1bmN0aW9uKGRhdGEpew0KLSAgICAgICAgICAgICAgICAgICAgdmFyIGFsYXJtQXJyYXk9IEpTT04ucGFyc2UoZGF0YS5ncmVldGluZyk7DQotICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhLmdyZWV0aW5nKTsNCi0gICAgICAgICAgICAgICAgICAgIGZvcih2YXIgaT0wO2k8YWxhcm1BcnJheS5sZW5ndGg7aSsrKXsNCi0JCQkJCQl2bS52aW1TdGF0dXNUaW1lID0gYWxhcm1BcnJheVtpXS5jaGVja1RpbWU7DQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yKHZhciBuPTA7bjx2bS52aW1JbmZvLmxlbmd0aDtuKyspew0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihhbGFybUFycmF5W2ldLmlkPT12bS52aW1JbmZvW25dLm9pZCAmJiBhbGFybUFycmF5W2ldLmhvc3RTdG9yYWdlSW5mbyA9PSAiIil7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW25dLnN0YXR1cz1hbGFybUFycmF5W2ldLnN0YXR1czsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZpbUluZm9bbl0uZXJyb3JJbmZvPWFsYXJtQXJyYXlbaV0uYWxhcm1Db250ZW50Ow0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gDQotCQkJCQkJCWlmKGFsYXJtQXJyYXlbaV0uaWQ9PXZtLnZpbUluZm9bbl0ub2lkICYmIGFsYXJtQXJyYXlbaV0uaG9zdFN0b3JhZ2VJbmZvLmxlbmd0aCAhPSAiIil7DQotCQkJCQkJCQl2bS52aW1JbmZvW25dLnN0YXR1cz0gImluYWN0aXZlIjsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZpbUluZm9bbl0uZXJyb3JJbmZvID0gYWxhcm1BcnJheVtpXS5ob3N0U3RvcmFnZUluZm87DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCi0JCQkJCQkJfQ0KKyAgICB9DQorICAgIHJlZ2lzdGVyQ29tZXRkTWVzc2FnZSgiL1ZJTXN0YXR1cyIsIGZ1bmN0aW9uIChkYXRhKSB7DQorICAgICAgICB2YXIgYWxhcm1BcnJheSA9IEpTT04ucGFyc2UoZGF0YS5ncmVldGluZyk7DQorICAgICAgICBjb25zb2xlLmxvZyhkYXRhLmdyZWV0aW5nKTsNCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxhcm1BcnJheS5sZW5ndGg7IGkrKykgew0KKyAgICAgICAgICAgIHZtLnZpbVN0YXR1c1RpbWUgPSBhbGFybUFycmF5W2ldLmNoZWNrVGltZTsNCisgICAgICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IHZtLnZpbUluZm8ubGVuZ3RoOyBuKyspIHsNCisgICAgICAgICAgICAgICAgaWYgKGFsYXJtQXJyYXlbaV0uaWQgPT0gdm0udmltSW5mb1tuXS5vaWQgJiYgYWxhcm1BcnJheVtpXS5ob3N0U3RvcmFnZUluZm8gPT0gIiIpIHsNCisgICAgICAgICAgICAgICAgICAgIHZtLnZpbUluZm9bbl0uc3RhdHVzID0gYWxhcm1BcnJheVtpXS5zdGF0dXM7DQorICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW25dLmVycm9ySW5mbyA9IGFsYXJtQXJyYXlbaV0uYWxhcm1Db250ZW50Ow0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgaWYgKGFsYXJtQXJyYXlbaV0uaWQgPT0gdm0udmltSW5mb1tuXS5vaWQgJiYgYWxhcm1BcnJheVtpXS5ob3N0U3RvcmFnZUluZm8ubGVuZ3RoICE9ICIiKSB7DQorICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW25dLnN0YXR1cyA9ICJpbmFjdGl2ZSI7DQorICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW25dLmVycm9ySW5mbyA9IGFsYXJtQXJyYXlbaV0uaG9zdFN0b3JhZ2VJbmZvOw0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgIH0NCiANCi0gICAgICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KIA0KLSAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgncmVzVXRpbC50b29sdGlwVmltU3RhdHVzKCknLDUwMDApOw0KLSAgICAgfSk7DQorICAgICAgICBzZXRUaW1lb3V0KCdyZXNVdGlsLnRvb2x0aXBWaW1TdGF0dXMoKScsIDUwMDApOw0KKyAgICB9KTsNCiB9KTsNCiANCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy9qcUJvb3RzdHJhcFZhbGlkYXRpb24uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy9qcUJvb3RzdHJhcFZhbGlkYXRpb24uanMKaW5kZXggZDU3ZTA3ZC4uN2VmZWJmOCAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvanFCb290c3RyYXBWYWxpZGF0aW9uLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL2pxQm9vdHN0cmFwVmFsaWRhdGlvbi5qcwpAQCAtMjMsOTA1ICsyMyw5MDMgQEAKICAqIGh0dHA6Ly9SZWFjdGl2ZVJhdmVuLmdpdGh1Yi5jb20vanFCb290c3RyYXBWYWxpZGF0aW9uLw0KICAqLw0KIA0KLShmdW5jdGlvbiggJCApew0KKyhmdW5jdGlvbiAoJCkgew0KIA0KLQl2YXIgY3JlYXRlZEVsZW1lbnRzID0gW107DQorICAgIHZhciBjcmVhdGVkRWxlbWVudHMgPSBbXTsNCiANCi0JdmFyIGRlZmF1bHRzID0gew0KLQkJb3B0aW9uczogew0KLQkJCXByZXBlbmRFeGlzdGluZ0hlbHBCbG9jazogZmFsc2UsDQotCQkJc25pZmZIdG1sOiB0cnVlLCAvLyBzbmlmZiBmb3IgJ3JlcXVpcmVkJywgJ21heGxlbmd0aCcsIGV0Yw0KLQkJCXByZXZlbnRTdWJtaXQ6IHRydWUsIC8vIHN0b3AgdGhlIGZvcm0gc3VibWl0IGV2ZW50IGZyb20gZmlyaW5nIGlmIHZhbGlkYXRpb24gZmFpbHMNCi0JCQlzdWJtaXRFcnJvcjogZmFsc2UsIC8vIGZ1bmN0aW9uIGNhbGxlZCBpZiB0aGVyZSBpcyBhbiBlcnJvciB3aGVuIHRyeWluZyB0byBzdWJtaXQNCi0JCQlzdWJtaXRTdWNjZXNzOiBmYWxzZSwgLy8gZnVuY3Rpb24gY2FsbGVkIGp1c3QgYmVmb3JlIGEgc3VjY2Vzc2Z1bCBzdWJtaXQgZXZlbnQgaXMgc2VudCB0byB0aGUgc2VydmVyDQorICAgIHZhciBkZWZhdWx0cyA9IHsNCisgICAgICAgIG9wdGlvbnM6IHsNCisgICAgICAgICAgICBwcmVwZW5kRXhpc3RpbmdIZWxwQmxvY2s6IGZhbHNlLA0KKyAgICAgICAgICAgIHNuaWZmSHRtbDogdHJ1ZSwgLy8gc25pZmYgZm9yICdyZXF1aXJlZCcsICdtYXhsZW5ndGgnLCBldGMNCisgICAgICAgICAgICBwcmV2ZW50U3VibWl0OiB0cnVlLCAvLyBzdG9wIHRoZSBmb3JtIHN1Ym1pdCBldmVudCBmcm9tIGZpcmluZyBpZiB2YWxpZGF0aW9uIGZhaWxzDQorICAgICAgICAgICAgc3VibWl0RXJyb3I6IGZhbHNlLCAvLyBmdW5jdGlvbiBjYWxsZWQgaWYgdGhlcmUgaXMgYW4gZXJyb3Igd2hlbiB0cnlpbmcgdG8gc3VibWl0DQorICAgICAgICAgICAgc3VibWl0U3VjY2VzczogZmFsc2UsIC8vIGZ1bmN0aW9uIGNhbGxlZCBqdXN0IGJlZm9yZSBhIHN1Y2Nlc3NmdWwgc3VibWl0IGV2ZW50IGlzIHNlbnQgdG8gdGhlIHNlcnZlcg0KICAgICAgICAgICAgIHNlbWFudGljYWxseVN0cmljdDogZmFsc2UsIC8vIHNldCB0byB0cnVlIHRvIHRpZHkgdXAgZ2VuZXJhdGVkIEhUTUwgb3V0cHV0DQotCQkJYXV0b0FkZDogew0KLQkJCQloZWxwQmxvY2tzOiB0cnVlDQotCQkJfSwNCisgICAgICAgICAgICBhdXRvQWRkOiB7DQorICAgICAgICAgICAgICAgIGhlbHBCbG9ja3M6IHRydWUNCisgICAgICAgICAgICB9LA0KICAgICAgICAgICAgIGZpbHRlcjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAvLyByZXR1cm4gJCh0aGlzKS5pcygiOnZpc2libGUiKTsgLy8gb25seSB2YWxpZGF0ZSBlbGVtZW50cyB5b3UgY2FuIHNlZQ0KICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gdmFsaWRhdGUgZXZlcnl0aGluZw0KICAgICAgICAgICAgIH0NCi0JCX0sDQotICAgIG1ldGhvZHM6IHsNCi0gICAgICBpbml0IDogZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQorICAgICAgICB9LA0KKyAgICAgICAgbWV0aG9kczogew0KKyAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uIChvcHRpb25zKSB7DQogDQotICAgICAgICB2YXIgc2V0dGluZ3MgPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGVmYXVsdHMpOw0KKyAgICAgICAgICAgICAgICB2YXIgc2V0dGluZ3MgPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGVmYXVsdHMpOw0KIA0KLSAgICAgICAgc2V0dGluZ3Mub3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHNldHRpbmdzLm9wdGlvbnMsIG9wdGlvbnMpOw0KKyAgICAgICAgICAgICAgICBzZXR0aW5ncy5vcHRpb25zID0gJC5leHRlbmQodHJ1ZSwgc2V0dGluZ3Mub3B0aW9ucywgb3B0aW9ucyk7DQogDQotICAgICAgICB2YXIgJHNpYmxpbmdFbGVtZW50cyA9IHRoaXM7DQorICAgICAgICAgICAgICAgIHZhciAkc2libGluZ0VsZW1lbnRzID0gdGhpczsNCiANCi0gICAgICAgIHZhciB1bmlxdWVGb3JtcyA9ICQudW5pcXVlKA0KLSAgICAgICAgICAkc2libGluZ0VsZW1lbnRzLm1hcCggZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgIHJldHVybiAkKHRoaXMpLnBhcmVudHMoImZvcm0iKVswXTsNCi0gICAgICAgICAgfSkudG9BcnJheSgpDQotICAgICAgICApOw0KLQ0KLSAgICAgICAgJCh1bmlxdWVGb3JtcykuYmluZCgic3VibWl0IiwgZnVuY3Rpb24gKGUpIHsNCi0gICAgICAgICAgdmFyICRmb3JtID0gJCh0aGlzKTsNCi0gICAgICAgICAgdmFyIHdhcm5pbmdzRm91bmQgPSAwOw0KLSAgICAgICAgICB2YXIgJGlucHV0cyA9ICRmb3JtLmZpbmQoImlucHV0LHRleHRhcmVhLHNlbGVjdCIpLm5vdCgiW3R5cGU9c3VibWl0XSxbdHlwZT1pbWFnZV0iKS5maWx0ZXIoc2V0dGluZ3Mub3B0aW9ucy5maWx0ZXIpOw0KLSAgICAgICAgICAkaW5wdXRzLnRyaWdnZXIoInN1Ym1pdC52YWxpZGF0aW9uIikudHJpZ2dlcigidmFsaWRhdGlvbkxvc3RGb2N1cy52YWxpZGF0aW9uIik7DQotDQotICAgICAgICAgICRpbnB1dHMuZWFjaChmdW5jdGlvbiAoaSwgZWwpIHsNCi0gICAgICAgICAgICB2YXIgJHRoaXMgPSAkKGVsKSwNCi0gICAgICAgICAgICAgICRjb250cm9sR3JvdXAgPSAkdGhpcy5wYXJlbnRzKCIuY29udHJvbC1ncm91cCIpLmZpcnN0KCk7DQotICAgICAgICAgICAgaWYgKA0KLSAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5oYXNDbGFzcygid2FybmluZyIpDQotICAgICAgICAgICAgKSB7DQotICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLnJlbW92ZUNsYXNzKCJ3YXJuaW5nIikuYWRkQ2xhc3MoImVycm9yIik7DQotICAgICAgICAgICAgICB3YXJuaW5nc0ZvdW5kKys7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICB9KTsNCi0NCi0gICAgICAgICAgJGlucHV0cy50cmlnZ2VyKCJ2YWxpZGF0aW9uTG9zdEZvY3VzLnZhbGlkYXRpb24iKTsNCi0NCi0gICAgICAgICAgaWYgKHdhcm5pbmdzRm91bmQpIHsNCi0gICAgICAgICAgICBpZiAoc2V0dGluZ3Mub3B0aW9ucy5wcmV2ZW50U3VibWl0KSB7DQotICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICRmb3JtLmFkZENsYXNzKCJlcnJvciIpOw0KLSAgICAgICAgICAgIGlmICgkLmlzRnVuY3Rpb24oc2V0dGluZ3Mub3B0aW9ucy5zdWJtaXRFcnJvcikpIHsNCi0gICAgICAgICAgICAgIHNldHRpbmdzLm9wdGlvbnMuc3VibWl0RXJyb3IoJGZvcm0sIGUsICRpbnB1dHMuanFCb290c3RyYXBWYWxpZGF0aW9uKCJjb2xsZWN0RXJyb3JzIiwgdHJ1ZSkpOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAkZm9ybS5yZW1vdmVDbGFzcygiZXJyb3IiKTsNCi0gICAgICAgICAgICBpZiAoJC5pc0Z1bmN0aW9uKHNldHRpbmdzLm9wdGlvbnMuc3VibWl0U3VjY2VzcykpIHsNCi0gICAgICAgICAgICAgIHNldHRpbmdzLm9wdGlvbnMuc3VibWl0U3VjY2VzcygkZm9ybSwgZSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICB9DQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsNCi0NCi0gICAgICAgICAgLy8gR2V0IHJlZmVyZW5jZXMgdG8gZXZlcnl0aGluZyB3ZSdyZSBpbnRlcmVzdGVkIGluDQotICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksDQotICAgICAgICAgICAgJGNvbnRyb2xHcm91cCA9ICR0aGlzLnBhcmVudHMoIi5jb250cm9sLWdyb3VwIikuZmlyc3QoKSwNCi0gICAgICAgICAgICAkaGVscEJsb2NrID0gJGNvbnRyb2xHcm91cC5maW5kKCIuaGVscC1ibG9jayIpLmZpcnN0KCksDQotICAgICAgICAgICAgJGZvcm0gPSAkdGhpcy5wYXJlbnRzKCJmb3JtIikuZmlyc3QoKSwNCi0gICAgICAgICAgICB2YWxpZGF0b3JOYW1lcyA9IFtdOw0KLQ0KLSAgICAgICAgICAvLyBjcmVhdGUgbWVzc2FnZSBjb250YWluZXIgaWYgbm90IGV4aXN0cw0KLSAgICAgICAgICBpZiAoISRoZWxwQmxvY2subGVuZ3RoICYmIHNldHRpbmdzLm9wdGlvbnMuYXV0b0FkZCAmJiBzZXR0aW5ncy5vcHRpb25zLmF1dG9BZGQuaGVscEJsb2Nrcykgew0KLSAgICAgICAgICAgICAgJGhlbHBCbG9jayA9ICQoJzxkaXYgY2xhc3M9ImhlbHAtYmxvY2siIC8+Jyk7DQotICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLmZpbmQoJy5jb250cm9scycpLmFwcGVuZCgkaGVscEJsb2NrKTsNCi0JCQkJCQkJY3JlYXRlZEVsZW1lbnRzLnB1c2goJGhlbHBCbG9ja1swXSk7DQotICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTklGRiBIVE1MIEZPUiBWQUxJREFUT1JTDQotICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0NCi0gICAgICAgICAgLy8gKnNub3J0IHNuaWZmIHNudWZmbGUqDQotDQotICAgICAgICAgIGlmIChzZXR0aW5ncy5vcHRpb25zLnNuaWZmSHRtbCkgew0KLSAgICAgICAgICAgIHZhciBtZXNzYWdlID0gIiI7DQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQVRURVJODQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoInBhdHRlcm4iKSAhPT0gdW5kZWZpbmVkKSB7DQotICAgICAgICAgICAgICBtZXNzYWdlID0gIk5vdCBpbiB0aGUgZXhwZWN0ZWQgZm9ybWF0PCEtLSBkYXRhLXZhbGlkYXRpb24tcGF0dGVybi1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQotICAgICAgICAgICAgICBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvblBhdHRlcm5NZXNzYWdlIikpIHsNCi0gICAgICAgICAgICAgICAgbWVzc2FnZSA9ICR0aGlzLmRhdGEoInZhbGlkYXRpb25QYXR0ZXJuTWVzc2FnZSIpOw0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvblBhdHRlcm5NZXNzYWdlIiwgbWVzc2FnZSk7DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uUGF0dGVyblJlZ2V4IiwgJHRoaXMuYXR0cigicGF0dGVybiIpKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYDQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoIm1heCIpICE9PSB1bmRlZmluZWQgfHwgJHRoaXMuYXR0cigiYXJpYS12YWx1ZW1heCIpICE9PSB1bmRlZmluZWQpIHsNCi0gICAgICAgICAgICAgIHZhciBtYXggPSAoJHRoaXMuYXR0cigibWF4IikgIT09IHVuZGVmaW5lZCA/ICR0aGlzLmF0dHIoIm1heCIpIDogJHRoaXMuYXR0cigiYXJpYS12YWx1ZW1heCIpKTsNCi0gICAgICAgICAgICAgIG1lc3NhZ2UgPSAiVG9vIGhpZ2g6IE1heGltdW0gb2YgJyIgKyBtYXggKyAiJzwhLS0gZGF0YS12YWxpZGF0aW9uLW1heC1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQotICAgICAgICAgICAgICBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heE1lc3NhZ2UiKSkgew0KLSAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heE1lc3NhZ2UiKTsNCi0gICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25NYXhNZXNzYWdlIiwgbWVzc2FnZSk7DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4TWF4IiwgbWF4KTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlODQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoIm1pbiIpICE9PSB1bmRlZmluZWQgfHwgJHRoaXMuYXR0cigiYXJpYS12YWx1ZW1pbiIpICE9PSB1bmRlZmluZWQpIHsNCi0gICAgICAgICAgICAgIHZhciBtaW4gPSAoJHRoaXMuYXR0cigibWluIikgIT09IHVuZGVmaW5lZCA/ICR0aGlzLmF0dHIoIm1pbiIpIDogJHRoaXMuYXR0cigiYXJpYS12YWx1ZW1pbiIpKTsNCi0gICAgICAgICAgICAgIG1lc3NhZ2UgPSAiVG9vIGxvdzogTWluaW11bSBvZiAnIiArIG1pbiArICInPCEtLSBkYXRhLXZhbGlkYXRpb24tbWluLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+IjsNCi0gICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluTWVzc2FnZSIpKSB7DQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluTWVzc2FnZSIpOw0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1pbk1lc3NhZ2UiLCBtZXNzYWdlKTsNCi0gICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25NaW5NaW4iLCBtaW4pOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhMRU5HVEgNCi0gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigibWF4bGVuZ3RoIikgIT09IHVuZGVmaW5lZCkgew0KLSAgICAgICAgICAgICAgbWVzc2FnZSA9ICJUb28gbG9uZzogTWF4aW11bSBvZiAnIiArICR0aGlzLmF0dHIoIm1heGxlbmd0aCIpICsgIicgY2hhcmFjdGVyczwhLS0gZGF0YS12YWxpZGF0aW9uLW1heGxlbmd0aC1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQotICAgICAgICAgICAgICBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heGxlbmd0aE1lc3NhZ2UiKSkgew0KLSAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heGxlbmd0aE1lc3NhZ2UiKTsNCi0gICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25NYXhsZW5ndGhNZXNzYWdlIiwgbWVzc2FnZSk7DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4bGVuZ3RoTWF4bGVuZ3RoIiwgJHRoaXMuYXR0cigibWF4bGVuZ3RoIikpOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSU5MRU5HVEgNCi0gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigibWlubGVuZ3RoIikgIT09IHVuZGVmaW5lZCkgew0KLSAgICAgICAgICAgICAgbWVzc2FnZSA9ICJUb28gc2hvcnQ6IE1pbmltdW0gb2YgJyIgKyAkdGhpcy5hdHRyKCJtaW5sZW5ndGgiKSArICInIGNoYXJhY3RlcnM8IS0tIGRhdGEtdmFsaWRhdGlvbi1taW5sZW5ndGgtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iOw0KLSAgICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb25NaW5sZW5ndGhNZXNzYWdlIikpIHsNCi0gICAgICAgICAgICAgICAgbWVzc2FnZSA9ICR0aGlzLmRhdGEoInZhbGlkYXRpb25NaW5sZW5ndGhNZXNzYWdlIik7DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWlubGVuZ3RoTWVzc2FnZSIsIG1lc3NhZ2UpOw0KLSAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1pbmxlbmd0aE1pbmxlbmd0aCIsICR0aGlzLmF0dHIoIm1pbmxlbmd0aCIpKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUVVJUkVEDQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoInJlcXVpcmVkIikgIT09IHVuZGVmaW5lZCB8fCAkdGhpcy5hdHRyKCJhcmlhLXJlcXVpcmVkIikgIT09IHVuZGVmaW5lZCkgew0KLSAgICAgICAgICAgICAgbWVzc2FnZSA9IHNldHRpbmdzLmJ1aWx0SW5WYWxpZGF0b3JzLnJlcXVpcmVkLm1lc3NhZ2U7DQotICAgICAgICAgICAgICBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvblJlcXVpcmVkTWVzc2FnZSIpKSB7DQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uUmVxdWlyZWRNZXNzYWdlIik7DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uUmVxdWlyZWRNZXNzYWdlIiwgbWVzc2FnZSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTUJFUg0KLSAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSAgICAgICAgICAgIGlmICgkdGhpcy5hdHRyKCJ0eXBlIikgIT09IHVuZGVmaW5lZCAmJiAkdGhpcy5hdHRyKCJ0eXBlIikudG9Mb3dlckNhc2UoKSA9PT0gIm51bWJlciIpIHsNCi0gICAgICAgICAgICAgIG1lc3NhZ2UgPSBzZXR0aW5ncy5idWlsdEluVmFsaWRhdG9ycy5udW1iZXIubWVzc2FnZTsNCi0gICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTnVtYmVyTWVzc2FnZSIpKSB7DQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTnVtYmVyTWVzc2FnZSIpOw0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvbk51bWJlck1lc3NhZ2UiLCBtZXNzYWdlKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNQUlMDQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoInR5cGUiKSAhPT0gdW5kZWZpbmVkICYmICR0aGlzLmF0dHIoInR5cGUiKS50b0xvd2VyQ2FzZSgpID09PSAiZW1haWwiKSB7DQotICAgICAgICAgICAgICBtZXNzYWdlID0gIk5vdCBhIHZhbGlkIGVtYWlsIGFkZHJlc3M8IS0tIGRhdGEtdmFsaWRhdG9yLXZhbGlkZW1haWwtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iOw0KLSAgICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb25WYWxpZGVtYWlsTWVzc2FnZSIpKSB7DQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uVmFsaWRlbWFpbE1lc3NhZ2UiKTsNCi0gICAgICAgICAgICAgIH0gZWxzZSBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvbkVtYWlsTWVzc2FnZSIpKSB7DQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uRW1haWxNZXNzYWdlIik7DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uVmFsaWRlbWFpbE1lc3NhZ2UiLCBtZXNzYWdlKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSU5DSEVDS0VEDQotICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoIm1pbmNoZWNrZWQiKSAhPT0gdW5kZWZpbmVkKSB7DQotICAgICAgICAgICAgICBtZXNzYWdlID0gIk5vdCBlbm91Z2ggb3B0aW9ucyBjaGVja2VkOyBNaW5pbXVtIG9mICciICsgJHRoaXMuYXR0cigibWluY2hlY2tlZCIpICsgIicgcmVxdWlyZWQ8IS0tIGRhdGEtdmFsaWRhdGlvbi1taW5jaGVja2VkLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+IjsNCi0gICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluY2hlY2tlZE1lc3NhZ2UiKSkgew0KLSAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1pbmNoZWNrZWRNZXNzYWdlIik7DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluY2hlY2tlZE1lc3NhZ2UiLCBtZXNzYWdlKTsNCi0gICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25NaW5jaGVja2VkTWluY2hlY2tlZCIsICR0aGlzLmF0dHIoIm1pbmNoZWNrZWQiKSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYQ0hFQ0tFRA0KLSAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSAgICAgICAgICAgIGlmICgkdGhpcy5hdHRyKCJtYXhjaGVja2VkIikgIT09IHVuZGVmaW5lZCkgew0KLSAgICAgICAgICAgICAgbWVzc2FnZSA9ICJUb28gbWFueSBvcHRpb25zIGNoZWNrZWQ7IE1heGltdW0gb2YgJyIgKyAkdGhpcy5hdHRyKCJtYXhjaGVja2VkIikgKyAiJyByZXF1aXJlZDwhLS0gZGF0YS12YWxpZGF0aW9uLW1heGNoZWNrZWQtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iOw0KLSAgICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb25NYXhjaGVja2VkTWVzc2FnZSIpKSB7DQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4Y2hlY2tlZE1lc3NhZ2UiKTsNCi0gICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25NYXhjaGVja2VkTWVzc2FnZSIsIG1lc3NhZ2UpOw0KLSAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heGNoZWNrZWRNYXhjaGVja2VkIiwgJHRoaXMuYXR0cigibWF4Y2hlY2tlZCIpKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTExFQ1QgVkFMSURBVE9SIE5BTUVTDQotICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0NCi0gICAgICAgICAgLy8gR2V0IG5hbWVkIHZhbGlkYXRvcnMNCi0gICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb24iKSAhPT0gdW5kZWZpbmVkKSB7DQotICAgICAgICAgICAgdmFsaWRhdG9yTmFtZXMgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIikuc3BsaXQoIiwiKTsNCi0gICAgICAgICAgfQ0KLQ0KLSAgICAgICAgICAvLyBHZXQgZXh0cmEgb25lcyBkZWZpbmVkIG9uIHRoZSBlbGVtZW50J3MgZGF0YSBhdHRyaWJ1dGVzDQotICAgICAgICAgICQuZWFjaCgkdGhpcy5kYXRhKCksIGZ1bmN0aW9uIChpLCBlbCkgew0KLSAgICAgICAgICAgIHZhciBwYXJ0cyA9IGkucmVwbGFjZSgvKFtBLVpdKS9nLCAiLCQxIikuc3BsaXQoIiwiKTsNCi0gICAgICAgICAgICBpZiAocGFydHNbMF0gPT09ICJ2YWxpZGF0aW9uIiAmJiBwYXJ0c1sxXSkgew0KLSAgICAgICAgICAgICAgdmFsaWRhdG9yTmFtZXMucHVzaChwYXJ0c1sxXSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICB9KTsNCi0NCi0gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1JNQUxJU0UgVkFMSURBVE9SIE5BTUVTDQotICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0NCi0gICAgICAgICAgdmFyIHZhbGlkYXRvck5hbWVzVG9JbnNwZWN0ID0gdmFsaWRhdG9yTmFtZXM7DQotICAgICAgICAgIHZhciBuZXdWYWxpZGF0b3JOYW1lc1RvSW5zcGVjdCA9IFtdOw0KLQ0KLSAgICAgICAgICBkbyAvLyByZXBlYXRlZGx5IGV4cGFuZCAnc2hvcnRjdXQnIHZhbGlkYXRvcnMgaW50byB0aGVpciByZWFsIHZhbGlkYXRvcnMNCi0gICAgICAgICAgew0KLSAgICAgICAgICAgIC8vIFVwcGVyY2FzZSBvbmx5IHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCBuYW1lDQotICAgICAgICAgICAgJC5lYWNoKHZhbGlkYXRvck5hbWVzLCBmdW5jdGlvbiAoaSwgZWwpIHsNCi0gICAgICAgICAgICAgIHZhbGlkYXRvck5hbWVzW2ldID0gZm9ybWF0VmFsaWRhdG9yTmFtZShlbCk7DQotICAgICAgICAgICAgfSk7DQotDQotICAgICAgICAgICAgLy8gUmVtb3ZlIGR1cGxpY2F0ZSB2YWxpZGF0b3IgbmFtZXMNCi0gICAgICAgICAgICB2YWxpZGF0b3JOYW1lcyA9ICQudW5pcXVlKHZhbGlkYXRvck5hbWVzKTsNCi0NCi0gICAgICAgICAgICAvLyBQdWxsIG91dCB0aGUgbmV3IHZhbGlkYXRvciBuYW1lcyBmcm9tIGVhY2ggc2hvcnRjdXQNCi0gICAgICAgICAgICBuZXdWYWxpZGF0b3JOYW1lc1RvSW5zcGVjdCA9IFtdOw0KLSAgICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3JOYW1lc1RvSW5zcGVjdCwgZnVuY3Rpb24oaSwgZWwpIHsNCi0gICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIGVsICsgIlNob3J0Y3V0IikgIT09IHVuZGVmaW5lZCkgew0KLSAgICAgICAgICAgICAgICAvLyBBcmUgdGhlc2UgY3VzdG9tIHZhbGlkYXRvcnM/DQotICAgICAgICAgICAgICAgIC8vIFB1bGwgdGhlbSBvdXQhDQotICAgICAgICAgICAgICAgICQuZWFjaCgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIGVsICsgIlNob3J0Y3V0Iikuc3BsaXQoIiwiKSwgZnVuY3Rpb24oaTIsIGVsMikgew0KLSAgICAgICAgICAgICAgICAgIG5ld1ZhbGlkYXRvck5hbWVzVG9JbnNwZWN0LnB1c2goZWwyKTsNCi0gICAgICAgICAgICAgICAgfSk7DQotICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNldHRpbmdzLmJ1aWx0SW5WYWxpZGF0b3JzW2VsLnRvTG93ZXJDYXNlKCldKSB7DQotICAgICAgICAgICAgICAgIC8vIElzIHRoaXMgYSByZWNvZ25pc2VkIGJ1aWx0LWluPw0KLSAgICAgICAgICAgICAgICAvLyBQdWxsIGl0IG91dCENCi0gICAgICAgICAgICAgICAgdmFyIHZhbGlkYXRvciA9IHNldHRpbmdzLmJ1aWx0SW5WYWxpZGF0b3JzW2VsLnRvTG93ZXJDYXNlKCldOw0KLSAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gInNob3J0Y3V0Iikgew0KLSAgICAgICAgICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3Iuc2hvcnRjdXQuc3BsaXQoIiwiKSwgZnVuY3Rpb24gKGksIGVsKSB7DQotICAgICAgICAgICAgICAgICAgICBlbCA9IGZvcm1hdFZhbGlkYXRvck5hbWUoZWwpOw0KLSAgICAgICAgICAgICAgICAgICAgbmV3VmFsaWRhdG9yTmFtZXNUb0luc3BlY3QucHVzaChlbCk7DQotICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JOYW1lcy5wdXNoKGVsKTsNCi0gICAgICAgICAgICAgICAgICB9KTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0pOw0KLQ0KLSAgICAgICAgICAgIHZhbGlkYXRvck5hbWVzVG9JbnNwZWN0ID0gbmV3VmFsaWRhdG9yTmFtZXNUb0luc3BlY3Q7DQotDQotICAgICAgICAgIH0gd2hpbGUgKHZhbGlkYXRvck5hbWVzVG9JbnNwZWN0Lmxlbmd0aCA+IDApDQotDQotICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0gICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVQgVVAgVkFMSURBVE9SIEFSUkFZUw0KLSAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotDQotICAgICAgICAgIHZhciB2YWxpZGF0b3JzID0ge307DQotDQotICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3JOYW1lcywgZnVuY3Rpb24gKGksIGVsKSB7DQotICAgICAgICAgICAgLy8gU2V0IHVwIHRoZSAnb3ZlcnJpZGUnIG1lc3NhZ2UNCi0gICAgICAgICAgICB2YXIgbWVzc2FnZSA9ICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgZWwgKyAiTWVzc2FnZSIpOw0KLSAgICAgICAgICAgIHZhciBoYXNPdmVycmlkZU1lc3NhZ2UgPSAobWVzc2FnZSAhPT0gdW5kZWZpbmVkKTsNCi0gICAgICAgICAgICB2YXIgZm91bmRWYWxpZGF0b3IgPSBmYWxzZTsNCi0gICAgICAgICAgICBtZXNzYWdlID0NCi0gICAgICAgICAgICAgICgNCi0gICAgICAgICAgICAgICAgbWVzc2FnZQ0KLSAgICAgICAgICAgICAgICAgID8gbWVzc2FnZQ0KLSAgICAgICAgICAgICAgICAgIDogIiciICsgZWwgKyAiJyB2YWxpZGF0aW9uIGZhaWxlZCA8IS0tIEFkZCBhdHRyaWJ1dGUgJ2RhdGEtdmFsaWRhdGlvbi0iICsgZWwudG9Mb3dlckNhc2UoKSArICItbWVzc2FnZScgdG8gaW5wdXQgdG8gY2hhbmdlIHRoaXMgbWVzc2FnZSAtLT4iDQotICAgICAgICAgICAgICApDQotICAgICAgICAgICAgOw0KLQ0KLSAgICAgICAgICAgICQuZWFjaCgNCi0gICAgICAgICAgICAgIHNldHRpbmdzLnZhbGlkYXRvclR5cGVzLA0KLSAgICAgICAgICAgICAgZnVuY3Rpb24gKHZhbGlkYXRvclR5cGUsIHZhbGlkYXRvclRlbXBsYXRlKSB7DQotICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0b3JzW3ZhbGlkYXRvclR5cGVdID09PSB1bmRlZmluZWQpIHsNCi0gICAgICAgICAgICAgICAgICB2YWxpZGF0b3JzW3ZhbGlkYXRvclR5cGVdID0gW107DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgaWYgKCFmb3VuZFZhbGlkYXRvciAmJiAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIGVsICsgZm9ybWF0VmFsaWRhdG9yTmFtZSh2YWxpZGF0b3JUZW1wbGF0ZS5uYW1lKSkgIT09IHVuZGVmaW5lZCkgew0KLSAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnNbdmFsaWRhdG9yVHlwZV0ucHVzaCgNCi0gICAgICAgICAgICAgICAgICAgICQuZXh0ZW5kKA0KLSAgICAgICAgICAgICAgICAgICAgICB0cnVlLA0KLSAgICAgICAgICAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZm9ybWF0VmFsaWRhdG9yTmFtZSh2YWxpZGF0b3JUZW1wbGF0ZS5uYW1lKSwNCi0gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlDQotICAgICAgICAgICAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvclRlbXBsYXRlLmluaXQoJHRoaXMsIGVsKQ0KLSAgICAgICAgICAgICAgICAgICAgKQ0KLSAgICAgICAgICAgICAgICAgICk7DQotICAgICAgICAgICAgICAgICAgZm91bmRWYWxpZGF0b3IgPSB0cnVlOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgKTsNCi0NCi0gICAgICAgICAgICBpZiAoIWZvdW5kVmFsaWRhdG9yICYmIHNldHRpbmdzLmJ1aWx0SW5WYWxpZGF0b3JzW2VsLnRvTG93ZXJDYXNlKCldKSB7DQotDQotICAgICAgICAgICAgICB2YXIgdmFsaWRhdG9yID0gJC5leHRlbmQodHJ1ZSwge30sIHNldHRpbmdzLmJ1aWx0SW5WYWxpZGF0b3JzW2VsLnRvTG93ZXJDYXNlKCldKTsNCi0gICAgICAgICAgICAgIGlmIChoYXNPdmVycmlkZU1lc3NhZ2UpIHsNCi0gICAgICAgICAgICAgICAgdmFsaWRhdG9yLm1lc3NhZ2UgPSBtZXNzYWdlOw0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgdmFyIHZhbGlkYXRvclR5cGUgPSB2YWxpZGF0b3IudHlwZS50b0xvd2VyQ2FzZSgpOw0KLQ0KLSAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvclR5cGUgPT09ICJzaG9ydGN1dCIpIHsNCi0gICAgICAgICAgICAgICAgZm91bmRWYWxpZGF0b3IgPSB0cnVlOw0KLSAgICAgICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAgICAgJC5lYWNoKA0KLSAgICAgICAgICAgICAgICAgIHNldHRpbmdzLnZhbGlkYXRvclR5cGVzLA0KLSAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh2YWxpZGF0b3JUZW1wbGF0ZVR5cGUsIHZhbGlkYXRvclRlbXBsYXRlKSB7DQotICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yc1t2YWxpZGF0b3JUZW1wbGF0ZVR5cGVdID09PSB1bmRlZmluZWQpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yc1t2YWxpZGF0b3JUZW1wbGF0ZVR5cGVdID0gW107DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgICAgICBpZiAoIWZvdW5kVmFsaWRhdG9yICYmIHZhbGlkYXRvclR5cGUgPT09IHZhbGlkYXRvclRlbXBsYXRlVHlwZS50b0xvd2VyQ2FzZSgpKSB7DQotICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgZWwgKyBmb3JtYXRWYWxpZGF0b3JOYW1lKHZhbGlkYXRvclRlbXBsYXRlLm5hbWUpLCB2YWxpZGF0b3JbdmFsaWRhdG9yVGVtcGxhdGUubmFtZS50b0xvd2VyQ2FzZSgpXSk7DQotICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnNbdmFsaWRhdG9yVHlwZV0ucHVzaCgNCi0gICAgICAgICAgICAgICAgICAgICAgICAkLmV4dGVuZCgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvclRlbXBsYXRlLmluaXQoJHRoaXMsIGVsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICkNCi0gICAgICAgICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICAgICAgICAgZm91bmRWYWxpZGF0b3IgPSB0cnVlOw0KLSAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgdmFyIHVuaXF1ZUZvcm1zID0gJC51bmlxdWUoDQorICAgICAgICAgICAgICAgICAgICAkc2libGluZ0VsZW1lbnRzLm1hcChmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQodGhpcykucGFyZW50cygiZm9ybSIpWzBdOw0KKyAgICAgICAgICAgICAgICAgICAgfSkudG9BcnJheSgpDQogICAgICAgICAgICAgICAgICk7DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KIA0KLSAgICAgICAgICAgIGlmICghIGZvdW5kVmFsaWRhdG9yKSB7DQotICAgICAgICAgICAgICAkLmVycm9yKCJDYW5ub3QgZmluZCB2YWxpZGF0aW9uIGluZm8gZm9yICciICsgZWwgKyAiJyIpOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgfSk7DQorICAgICAgICAgICAgICAgICQodW5pcXVlRm9ybXMpLmJpbmQoInN1Ym1pdCIsIGZ1bmN0aW9uIChlKSB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgJGZvcm0gPSAkKHRoaXMpOw0KKyAgICAgICAgICAgICAgICAgICAgdmFyIHdhcm5pbmdzRm91bmQgPSAwOw0KKyAgICAgICAgICAgICAgICAgICAgdmFyICRpbnB1dHMgPSAkZm9ybS5maW5kKCJpbnB1dCx0ZXh0YXJlYSxzZWxlY3QiKS5ub3QoIlt0eXBlPXN1Ym1pdF0sW3R5cGU9aW1hZ2VdIikuZmlsdGVyKHNldHRpbmdzLm9wdGlvbnMuZmlsdGVyKTsNCisgICAgICAgICAgICAgICAgICAgICRpbnB1dHMudHJpZ2dlcigic3VibWl0LnZhbGlkYXRpb24iKS50cmlnZ2VyKCJ2YWxpZGF0aW9uTG9zdEZvY3VzLnZhbGlkYXRpb24iKTsNCiANCi0gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RPUkUgRkFMTEJBQ0sgVkFMVUVTDQotICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgICRpbnB1dHMuZWFjaChmdW5jdGlvbiAoaSwgZWwpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKGVsKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cCA9ICR0aGlzLnBhcmVudHMoIi5jb250cm9sLWdyb3VwIikuZmlyc3QoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb250cm9sR3JvdXAuaGFzQ2xhc3MoIndhcm5pbmciKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLnJlbW92ZUNsYXNzKCJ3YXJuaW5nIikuYWRkQ2xhc3MoImVycm9yIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzRm91bmQrKzsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9KTsNCiANCi0gICAgICAgICAgJGhlbHBCbG9jay5kYXRhKA0KLSAgICAgICAgICAgICJvcmlnaW5hbC1jb250ZW50cyIsDQotICAgICAgICAgICAgKA0KLSAgICAgICAgICAgICAgJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpDQotICAgICAgICAgICAgICAgID8gJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpDQotICAgICAgICAgICAgICAgIDogJGhlbHBCbG9jay5odG1sKCkNCi0gICAgICAgICAgICApDQotICAgICAgICAgICk7DQorICAgICAgICAgICAgICAgICAgICAkaW5wdXRzLnRyaWdnZXIoInZhbGlkYXRpb25Mb3N0Rm9jdXMudmFsaWRhdGlvbiIpOw0KIA0KLSAgICAgICAgICAkaGVscEJsb2NrLmRhdGEoDQotICAgICAgICAgICAgIm9yaWdpbmFsLXJvbGUiLA0KLSAgICAgICAgICAgICgNCi0gICAgICAgICAgICAgICRoZWxwQmxvY2suZGF0YSgib3JpZ2luYWwtcm9sZSIpDQotICAgICAgICAgICAgICAgID8gJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1yb2xlIikNCi0gICAgICAgICAgICAgICAgOiAkaGVscEJsb2NrLmF0dHIoInJvbGUiKQ0KLSAgICAgICAgICAgICkNCi0gICAgICAgICAgKTsNCi0NCi0gICAgICAgICAgJGNvbnRyb2xHcm91cC5kYXRhKA0KLSAgICAgICAgICAgICJvcmlnaW5hbC1jbGFzc2VzIiwNCi0gICAgICAgICAgICAoDQotICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLmRhdGEoIm9yaWdpbmFsLWNsYXNlcyIpDQotICAgICAgICAgICAgICAgID8gJGNvbnRyb2xHcm91cC5kYXRhKCJvcmlnaW5hbC1jbGFzc2VzIikNCi0gICAgICAgICAgICAgICAgOiAkY29udHJvbEdyb3VwLmF0dHIoImNsYXNzIikNCi0gICAgICAgICAgICApDQotICAgICAgICAgICk7DQotDQotICAgICAgICAgICR0aGlzLmRhdGEoDQotICAgICAgICAgICAgIm9yaWdpbmFsLWFyaWEtaW52YWxpZCIsDQotICAgICAgICAgICAgKA0KLSAgICAgICAgICAgICAgJHRoaXMuZGF0YSgib3JpZ2luYWwtYXJpYS1pbnZhbGlkIikNCi0gICAgICAgICAgICAgICAgPyAkdGhpcy5kYXRhKCJvcmlnaW5hbC1hcmlhLWludmFsaWQiKQ0KLSAgICAgICAgICAgICAgICA6ICR0aGlzLmF0dHIoImFyaWEtaW52YWxpZCIpDQotICAgICAgICAgICAgKQ0KLSAgICAgICAgICApOw0KLQ0KLSAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRJT04NCi0gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLQ0KLSAgICAgICAgICAkdGhpcy5iaW5kKA0KLSAgICAgICAgICAgICJ2YWxpZGF0aW9uLnZhbGlkYXRpb24iLA0KLSAgICAgICAgICAgIGZ1bmN0aW9uIChldmVudCwgcGFyYW1zKSB7DQotDQotICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBnZXRWYWx1ZSgkdGhpcyk7DQotDQotICAgICAgICAgICAgICAvLyBHZXQgYSBsaXN0IG9mIHRoZSBlcnJvcnMgdG8gYXBwbHkNCi0gICAgICAgICAgICAgIHZhciBlcnJvcnNGb3VuZCA9IFtdOw0KLQ0KLSAgICAgICAgICAgICAgJC5lYWNoKHZhbGlkYXRvcnMsIGZ1bmN0aW9uICh2YWxpZGF0b3JUeXBlLCB2YWxpZGF0b3JUeXBlQXJyYXkpIHsNCi0gICAgICAgICAgICAgICAgaWYgKHZhbHVlIHx8IHZhbHVlLmxlbmd0aCB8fCAocGFyYW1zICYmIHBhcmFtcy5pbmNsdWRlRW1wdHkpIHx8ICghIXNldHRpbmdzLnZhbGlkYXRvclR5cGVzW3ZhbGlkYXRvclR5cGVdLmJsb2NrU3VibWl0ICYmIHBhcmFtcyAmJiAhIXBhcmFtcy5zdWJtaXR0aW5nKSkgew0KLSAgICAgICAgICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3JUeXBlQXJyYXksIGZ1bmN0aW9uIChpLCB2YWxpZGF0b3IpIHsNCi0gICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy52YWxpZGF0b3JUeXBlc1t2YWxpZGF0b3JUeXBlXS52YWxpZGF0ZSgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgZXJyb3JzRm91bmQucHVzaCh2YWxpZGF0b3IubWVzc2FnZSk7DQorICAgICAgICAgICAgICAgICAgICBpZiAod2FybmluZ3NGb3VuZCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5vcHRpb25zLnByZXZlbnRTdWJtaXQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS5hZGRDbGFzcygiZXJyb3IiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJC5pc0Z1bmN0aW9uKHNldHRpbmdzLm9wdGlvbnMuc3VibWl0RXJyb3IpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLm9wdGlvbnMuc3VibWl0RXJyb3IoJGZvcm0sIGUsICRpbnB1dHMuanFCb290c3RyYXBWYWxpZGF0aW9uKCJjb2xsZWN0RXJyb3JzIiwgdHJ1ZSkpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0ucmVtb3ZlQ2xhc3MoImVycm9yIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQuaXNGdW5jdGlvbihzZXR0aW5ncy5vcHRpb25zLnN1Ym1pdFN1Y2Nlc3MpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLm9wdGlvbnMuc3VibWl0U3VjY2VzcygkZm9ybSwgZSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgIH0pOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICB9KTsNCi0NCi0gICAgICAgICAgICAgIHJldHVybiBlcnJvcnNGb3VuZDsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICk7DQotDQotICAgICAgICAgICR0aGlzLmJpbmQoDQotICAgICAgICAgICAgImdldFZhbGlkYXRvcnMudmFsaWRhdGlvbiIsDQotICAgICAgICAgICAgZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRvcnM7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICApOw0KLQ0KLSAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0FUQ0ggRk9SIENIQU5HRVMNCi0gICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSAgICAgICAgICAkdGhpcy5iaW5kKA0KLSAgICAgICAgICAgICJzdWJtaXQudmFsaWRhdGlvbiIsDQotICAgICAgICAgICAgZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgcmV0dXJuICR0aGlzLnRyaWdnZXJIYW5kbGVyKCJjaGFuZ2UudmFsaWRhdGlvbiIsIHtzdWJtaXR0aW5nOiB0cnVlfSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICApOw0KLSAgICAgICAgICAkdGhpcy5iaW5kKA0KLSAgICAgICAgICAgIFsNCi0gICAgICAgICAgICAgICJrZXl1cCIsDQotICAgICAgICAgICAgICAiZm9jdXMiLA0KLSAgICAgICAgICAgICAgImJsdXIiLA0KLSAgICAgICAgICAgICAgImNsaWNrIiwNCi0gICAgICAgICAgICAgICJrZXlkb3duIiwNCi0gICAgICAgICAgICAgICJrZXlwcmVzcyIsDQotICAgICAgICAgICAgICAiY2hhbmdlIg0KLSAgICAgICAgICAgIF0uam9pbigiLnZhbGlkYXRpb24gIikgKyAiLnZhbGlkYXRpb24iLA0KLSAgICAgICAgICAgIGZ1bmN0aW9uIChlLCBwYXJhbXMpIHsNCi0NCi0gICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGdldFZhbHVlKCR0aGlzKTsNCi0NCi0gICAgICAgICAgICAgIHZhciBlcnJvcnNGb3VuZCA9IFtdOw0KLQ0KLSAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5maW5kKCJpbnB1dCx0ZXh0YXJlYSxzZWxlY3QiKS5lYWNoKGZ1bmN0aW9uIChpLCBlbCkgew0KLSAgICAgICAgICAgICAgICB2YXIgb2xkQ291bnQgPSBlcnJvcnNGb3VuZC5sZW5ndGg7DQotICAgICAgICAgICAgICAgICQuZWFjaCgkKGVsKS50cmlnZ2VySGFuZGxlcigidmFsaWRhdGlvbi52YWxpZGF0aW9uIiwgcGFyYW1zKSwgZnVuY3Rpb24gKGosIG1lc3NhZ2UpIHsNCi0gICAgICAgICAgICAgICAgICBlcnJvcnNGb3VuZC5wdXNoKG1lc3NhZ2UpOw0KICAgICAgICAgICAgICAgICB9KTsNCi0gICAgICAgICAgICAgICAgaWYgKGVycm9yc0ZvdW5kLmxlbmd0aCA+IG9sZENvdW50KSB7DQotICAgICAgICAgICAgICAgICAgJChlbCkuYXR0cigiYXJpYS1pbnZhbGlkIiwgInRydWUiKTsNCi0gICAgICAgICAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICAgICAgICB2YXIgb3JpZ2luYWwgPSAkdGhpcy5kYXRhKCJvcmlnaW5hbC1hcmlhLWludmFsaWQiKTsNCi0gICAgICAgICAgICAgICAgICAkKGVsKS5hdHRyKCJhcmlhLWludmFsaWQiLCAob3JpZ2luYWwgIT09IHVuZGVmaW5lZCA/IG9yaWdpbmFsIDogZmFsc2UpKTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgfSk7DQogDQotICAgICAgICAgICAgICAkZm9ybS5maW5kKCJpbnB1dCxzZWxlY3QsdGV4dGFyZWEiKS5ub3QoJHRoaXMpLm5vdCgiW25hbWU9XCIiICsgJHRoaXMuYXR0cigibmFtZSIpICsgIlwiXSIpLnRyaWdnZXIoInZhbGlkYXRpb25Mb3N0Rm9jdXMudmFsaWRhdGlvbiIpOw0KKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsNCiANCi0gICAgICAgICAgICAgIGVycm9yc0ZvdW5kID0gJC51bmlxdWUoZXJyb3JzRm91bmQuc29ydCgpKTsNCisgICAgICAgICAgICAgICAgICAgIC8vIEdldCByZWZlcmVuY2VzIHRvIGV2ZXJ5dGhpbmcgd2UncmUgaW50ZXJlc3RlZCBpbg0KKyAgICAgICAgICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwID0gJHRoaXMucGFyZW50cygiLmNvbnRyb2wtZ3JvdXAiKS5maXJzdCgpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICRoZWxwQmxvY2sgPSAkY29udHJvbEdyb3VwLmZpbmQoIi5oZWxwLWJsb2NrIikuZmlyc3QoKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybSA9ICR0aGlzLnBhcmVudHMoImZvcm0iKS5maXJzdCgpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvck5hbWVzID0gW107DQogDQotICAgICAgICAgICAgICAvLyBXZXJlIHRoZXJlIGFueSBlcnJvcnM/DQotICAgICAgICAgICAgICBpZiAoZXJyb3JzRm91bmQubGVuZ3RoKSB7DQotICAgICAgICAgICAgICAgIC8vIEJldHRlciBmbGFnIGl0IHVwIGFzIGEgd2FybmluZy4NCi0gICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5yZW1vdmVDbGFzcygic3VjY2VzcyBlcnJvciIpLmFkZENsYXNzKCJ3YXJuaW5nIik7DQorICAgICAgICAgICAgICAgICAgICAvLyBjcmVhdGUgbWVzc2FnZSBjb250YWluZXIgaWYgbm90IGV4aXN0cw0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCEkaGVscEJsb2NrLmxlbmd0aCAmJiBzZXR0aW5ncy5vcHRpb25zLmF1dG9BZGQgJiYgc2V0dGluZ3Mub3B0aW9ucy5hdXRvQWRkLmhlbHBCbG9ja3MpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAkaGVscEJsb2NrID0gJCgnPGRpdiBjbGFzcz0iaGVscC1ibG9jayIgLz4nKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLmZpbmQoJy5jb250cm9scycpLmFwcGVuZCgkaGVscEJsb2NrKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkRWxlbWVudHMucHVzaCgkaGVscEJsb2NrWzBdKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCiANCi0gICAgICAgICAgICAgICAgLy8gSG93IG1hbnkgZXJyb3JzIGRpZCB3ZSBmaW5kPw0KLSAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3Mub3B0aW9ucy5zZW1hbnRpY2FsbHlTdHJpY3QgJiYgZXJyb3JzRm91bmQubGVuZ3RoID09PSAxKSB7DQotICAgICAgICAgICAgICAgICAgLy8gT25seSBvbmU/IEJlaW5nIHN0cmljdD8gSnVzdCBvdXRwdXQgaXQuDQotICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jay5odG1sKGVycm9yc0ZvdW5kWzBdICsgDQotICAgICAgICAgICAgICAgICAgICAoIHNldHRpbmdzLm9wdGlvbnMucHJlcGVuZEV4aXN0aW5nSGVscEJsb2NrID8gJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpIDogIiIgKSk7DQotICAgICAgICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgICAgICAgLy8gTXVsdGlwbGU/IEJlaW5nIHNsb3BweT8gR2x1ZSB0aGVtIHRvZ2V0aGVyIGludG8gYW4gVUwuDQotICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jay5odG1sKCI8dWwgcm9sZT1cImFsZXJ0XCI+PGxpPiIgKyBlcnJvcnNGb3VuZC5qb2luKCI8L2xpPjxsaT4iKSArICI8L2xpPjwvdWw+IiArDQotICAgICAgICAgICAgICAgICAgICAoIHNldHRpbmdzLm9wdGlvbnMucHJlcGVuZEV4aXN0aW5nSGVscEJsb2NrID8gJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpIDogIiIgKSk7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgICAgICRjb250cm9sR3JvdXAucmVtb3ZlQ2xhc3MoIndhcm5pbmcgZXJyb3Igc3VjY2VzcyIpOw0KLSAgICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkgew0KLSAgICAgICAgICAgICAgICAgICRjb250cm9sR3JvdXAuYWRkQ2xhc3MoInN1Y2Nlc3MiKTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAkaGVscEJsb2NrLmh0bWwoJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpKTsNCi0gICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNOSUZGIEhUTUwgRk9SIFZBTElEQVRPUlMNCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiANCi0gICAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICJibHVyIikgew0KLSAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLnJlbW92ZUNsYXNzKCJzdWNjZXNzIik7DQotICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAvLyAqc25vcnQgc25pZmYgc251ZmZsZSoNCisNCisgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5vcHRpb25zLnNuaWZmSHRtbCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gIiI7DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQVRURVJODQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoInBhdHRlcm4iKSAhPT0gdW5kZWZpbmVkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiTm90IGluIHRoZSBleHBlY3RlZCBmb3JtYXQ8IS0tIGRhdGEtdmFsaWRhdGlvbi1wYXR0ZXJuLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+IjsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb25QYXR0ZXJuTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvblBhdHRlcm5NZXNzYWdlIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvblBhdHRlcm5NZXNzYWdlIiwgbWVzc2FnZSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25QYXR0ZXJuUmVnZXgiLCAkdGhpcy5hdHRyKCJwYXR0ZXJuIikpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVgNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigibWF4IikgIT09IHVuZGVmaW5lZCB8fCAkdGhpcy5hdHRyKCJhcmlhLXZhbHVlbWF4IikgIT09IHVuZGVmaW5lZCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gKCR0aGlzLmF0dHIoIm1heCIpICE9PSB1bmRlZmluZWQgPyAkdGhpcy5hdHRyKCJtYXgiKSA6ICR0aGlzLmF0dHIoImFyaWEtdmFsdWVtYXgiKSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiVG9vIGhpZ2g6IE1heGltdW0gb2YgJyIgKyBtYXggKyAiJzwhLS0gZGF0YS12YWxpZGF0aW9uLW1heC1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4TWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heE1lc3NhZ2UiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4TWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4TWF4IiwgbWF4KTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlODQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoIm1pbiIpICE9PSB1bmRlZmluZWQgfHwgJHRoaXMuYXR0cigiYXJpYS12YWx1ZW1pbiIpICE9PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbiA9ICgkdGhpcy5hdHRyKCJtaW4iKSAhPT0gdW5kZWZpbmVkID8gJHRoaXMuYXR0cigibWluIikgOiAkdGhpcy5hdHRyKCJhcmlhLXZhbHVlbWluIikpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlRvbyBsb3c6IE1pbmltdW0gb2YgJyIgKyBtaW4gKyAiJzwhLS0gZGF0YS12YWxpZGF0aW9uLW1pbi1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1pbk1lc3NhZ2UiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluTWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluTWluIiwgbWluKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYTEVOR1RIDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoIm1heGxlbmd0aCIpICE9PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJUb28gbG9uZzogTWF4aW11bSBvZiAnIiArICR0aGlzLmF0dHIoIm1heGxlbmd0aCIpICsgIicgY2hhcmFjdGVyczwhLS0gZGF0YS12YWxpZGF0aW9uLW1heGxlbmd0aC1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4bGVuZ3RoTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heGxlbmd0aE1lc3NhZ2UiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4bGVuZ3RoTWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4bGVuZ3RoTWF4bGVuZ3RoIiwgJHRoaXMuYXR0cigibWF4bGVuZ3RoIikpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSU5MRU5HVEgNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigibWlubGVuZ3RoIikgIT09IHVuZGVmaW5lZCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlRvbyBzaG9ydDogTWluaW11bSBvZiAnIiArICR0aGlzLmF0dHIoIm1pbmxlbmd0aCIpICsgIicgY2hhcmFjdGVyczwhLS0gZGF0YS12YWxpZGF0aW9uLW1pbmxlbmd0aC1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWlubGVuZ3RoTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1pbmxlbmd0aE1lc3NhZ2UiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWlubGVuZ3RoTWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWlubGVuZ3RoTWlubGVuZ3RoIiwgJHRoaXMuYXR0cigibWlubGVuZ3RoIikpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVRVUlSRUQNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigicmVxdWlyZWQiKSAhPT0gdW5kZWZpbmVkIHx8ICR0aGlzLmF0dHIoImFyaWEtcmVxdWlyZWQiKSAhPT0gdW5kZWZpbmVkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBzZXR0aW5ncy5idWlsdEluVmFsaWRhdG9ycy5yZXF1aXJlZC5tZXNzYWdlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvblJlcXVpcmVkTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvblJlcXVpcmVkTWVzc2FnZSIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25SZXF1aXJlZE1lc3NhZ2UiLCBtZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVNQkVSDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmF0dHIoInR5cGUiKSAhPT0gdW5kZWZpbmVkICYmICR0aGlzLmF0dHIoInR5cGUiKS50b0xvd2VyQ2FzZSgpID09PSAibnVtYmVyIikgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gc2V0dGluZ3MuYnVpbHRJblZhbGlkYXRvcnMubnVtYmVyLm1lc3NhZ2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTnVtYmVyTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbk51bWJlck1lc3NhZ2UiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTnVtYmVyTWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU1BSUwNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigidHlwZSIpICE9PSB1bmRlZmluZWQgJiYgJHRoaXMuYXR0cigidHlwZSIpLnRvTG93ZXJDYXNlKCkgPT09ICJlbWFpbCIpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJOb3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzPCEtLSBkYXRhLXZhbGlkYXRvci12YWxpZGVtYWlsLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+IjsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb25WYWxpZGVtYWlsTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvblZhbGlkZW1haWxNZXNzYWdlIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvbkVtYWlsTWVzc2FnZSIpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbkVtYWlsTWVzc2FnZSIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25WYWxpZGVtYWlsTWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1JTkNIRUNLRUQNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigibWluY2hlY2tlZCIpICE9PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJOb3QgZW5vdWdoIG9wdGlvbnMgY2hlY2tlZDsgTWluaW11bSBvZiAnIiArICR0aGlzLmF0dHIoIm1pbmNoZWNrZWQiKSArICInIHJlcXVpcmVkPCEtLSBkYXRhLXZhbGlkYXRpb24tbWluY2hlY2tlZC1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiI7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluY2hlY2tlZE1lc3NhZ2UiKSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICR0aGlzLmRhdGEoInZhbGlkYXRpb25NaW5jaGVja2VkTWVzc2FnZSIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb25NaW5jaGVja2VkTWVzc2FnZSIsIG1lc3NhZ2UpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWluY2hlY2tlZE1pbmNoZWNrZWQiLCAkdGhpcy5hdHRyKCJtaW5jaGVja2VkIikpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWENIRUNLRUQNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuYXR0cigibWF4Y2hlY2tlZCIpICE9PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJUb28gbWFueSBvcHRpb25zIGNoZWNrZWQ7IE1heGltdW0gb2YgJyIgKyAkdGhpcy5hdHRyKCJtYXhjaGVja2VkIikgKyAiJyByZXF1aXJlZDwhLS0gZGF0YS12YWxpZGF0aW9uLW1heGNoZWNrZWQtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heGNoZWNrZWRNZXNzYWdlIikpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4Y2hlY2tlZE1lc3NhZ2UiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uTWF4Y2hlY2tlZE1lc3NhZ2UiLCBtZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvbk1heGNoZWNrZWRNYXhjaGVja2VkIiwgJHRoaXMuYXR0cigibWF4Y2hlY2tlZCIpKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTExFQ1QgVkFMSURBVE9SIE5BTUVTDQorICAgICAgICAgICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorICAgICAgICAgICAgICAgICAgICAvLyBHZXQgbmFtZWQgdmFsaWRhdG9ycw0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoInZhbGlkYXRpb24iKSAhPT0gdW5kZWZpbmVkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yTmFtZXMgPSAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIikuc3BsaXQoIiwiKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgICAgIC8vIEdldCBleHRyYSBvbmVzIGRlZmluZWQgb24gdGhlIGVsZW1lbnQncyBkYXRhIGF0dHJpYnV0ZXMNCisgICAgICAgICAgICAgICAgICAgICQuZWFjaCgkdGhpcy5kYXRhKCksIGZ1bmN0aW9uIChpLCBlbCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0cyA9IGkucmVwbGFjZSgvKFtBLVpdKS9nLCAiLCQxIikuc3BsaXQoIiwiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFydHNbMF0gPT09ICJ2YWxpZGF0aW9uIiAmJiBwYXJ0c1sxXSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JOYW1lcy5wdXNoKHBhcnRzWzFdKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUk1BTElTRSBWQUxJREFUT1IgTkFNRVMNCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAgICAgICAgICAgICAgICAgIHZhciB2YWxpZGF0b3JOYW1lc1RvSW5zcGVjdCA9IHZhbGlkYXRvck5hbWVzOw0KKyAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1ZhbGlkYXRvck5hbWVzVG9JbnNwZWN0ID0gW107DQorDQorICAgICAgICAgICAgICAgICAgICBkbyAvLyByZXBlYXRlZGx5IGV4cGFuZCAnc2hvcnRjdXQnIHZhbGlkYXRvcnMgaW50byB0aGVpciByZWFsIHZhbGlkYXRvcnMNCisgICAgICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBVcHBlcmNhc2Ugb25seSB0aGUgZmlyc3QgbGV0dGVyIG9mIGVhY2ggbmFtZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3JOYW1lcywgZnVuY3Rpb24gKGksIGVsKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvck5hbWVzW2ldID0gZm9ybWF0VmFsaWRhdG9yTmFtZShlbCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGR1cGxpY2F0ZSB2YWxpZGF0b3IgbmFtZXMNCisgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JOYW1lcyA9ICQudW5pcXVlKHZhbGlkYXRvck5hbWVzKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBQdWxsIG91dCB0aGUgbmV3IHZhbGlkYXRvciBuYW1lcyBmcm9tIGVhY2ggc2hvcnRjdXQNCisgICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWxpZGF0b3JOYW1lc1RvSW5zcGVjdCA9IFtdOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3JOYW1lc1RvSW5zcGVjdCwgZnVuY3Rpb24gKGksIGVsKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIGVsICsgIlNob3J0Y3V0IikgIT09IHVuZGVmaW5lZCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXJlIHRoZXNlIGN1c3RvbSB2YWxpZGF0b3JzPw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHVsbCB0aGVtIG91dCENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuZWFjaCgkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIGVsICsgIlNob3J0Y3V0Iikuc3BsaXQoIiwiKSwgZnVuY3Rpb24gKGkyLCBlbDIpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWxpZGF0b3JOYW1lc1RvSW5zcGVjdC5wdXNoKGVsMik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZXR0aW5ncy5idWlsdEluVmFsaWRhdG9yc1tlbC50b0xvd2VyQ2FzZSgpXSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXMgdGhpcyBhIHJlY29nbmlzZWQgYnVpbHQtaW4/DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQdWxsIGl0IG91dCENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWxpZGF0b3IgPSBzZXR0aW5ncy5idWlsdEluVmFsaWRhdG9yc1tlbC50b0xvd2VyQ2FzZSgpXTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0b3IudHlwZS50b0xvd2VyQ2FzZSgpID09PSAic2hvcnRjdXQiKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5lYWNoKHZhbGlkYXRvci5zaG9ydGN1dC5zcGxpdCgiLCIpLCBmdW5jdGlvbiAoaSwgZWwpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwgPSBmb3JtYXRWYWxpZGF0b3JOYW1lKGVsKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmFsaWRhdG9yTmFtZXNUb0luc3BlY3QucHVzaChlbCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvck5hbWVzLnB1c2goZWwpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yTmFtZXNUb0luc3BlY3QgPSBuZXdWYWxpZGF0b3JOYW1lc1RvSW5zcGVjdDsNCisNCisgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHZhbGlkYXRvck5hbWVzVG9JbnNwZWN0Lmxlbmd0aCA+IDApDQorDQorICAgICAgICAgICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBVUCBWQUxJREFUT1IgQVJSQVlTDQorICAgICAgICAgICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorICAgICAgICAgICAgICAgICAgICB2YXIgdmFsaWRhdG9ycyA9IHt9Ow0KKw0KKyAgICAgICAgICAgICAgICAgICAgJC5lYWNoKHZhbGlkYXRvck5hbWVzLCBmdW5jdGlvbiAoaSwgZWwpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgdXAgdGhlICdvdmVycmlkZScgbWVzc2FnZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBlbCArICJNZXNzYWdlIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhhc092ZXJyaWRlTWVzc2FnZSA9IChtZXNzYWdlICE9PSB1bmRlZmluZWQpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmb3VuZFZhbGlkYXRvciA9IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBtZXNzYWdlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiJyIgKyBlbCArICInIHZhbGlkYXRpb24gZmFpbGVkIDwhLS0gQWRkIGF0dHJpYnV0ZSAnZGF0YS12YWxpZGF0aW9uLSIgKyBlbC50b0xvd2VyQ2FzZSgpICsgIi1tZXNzYWdlJyB0byBpbnB1dCB0byBjaGFuZ2UgdGhpcyBtZXNzYWdlIC0tPiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIDsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAkLmVhY2goDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLnZhbGlkYXRvclR5cGVzLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAodmFsaWRhdG9yVHlwZSwgdmFsaWRhdG9yVGVtcGxhdGUpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0b3JzW3ZhbGlkYXRvclR5cGVdID09PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JzW3ZhbGlkYXRvclR5cGVdID0gW107DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZvdW5kVmFsaWRhdG9yICYmICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgZWwgKyBmb3JtYXRWYWxpZGF0b3JOYW1lKHZhbGlkYXRvclRlbXBsYXRlLm5hbWUpKSAhPT0gdW5kZWZpbmVkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yc1t2YWxpZGF0b3JUeXBlXS5wdXNoKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmV4dGVuZCgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZm9ybWF0VmFsaWRhdG9yTmFtZSh2YWxpZGF0b3JUZW1wbGF0ZS5uYW1lKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yVGVtcGxhdGUuaW5pdCgkdGhpcywgZWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kVmFsaWRhdG9yID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3VuZFZhbGlkYXRvciAmJiBzZXR0aW5ncy5idWlsdEluVmFsaWRhdG9yc1tlbC50b0xvd2VyQ2FzZSgpXSkgew0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsaWRhdG9yID0gJC5leHRlbmQodHJ1ZSwge30sIHNldHRpbmdzLmJ1aWx0SW5WYWxpZGF0b3JzW2VsLnRvTG93ZXJDYXNlKCldKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc092ZXJyaWRlTWVzc2FnZSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yLm1lc3NhZ2UgPSBtZXNzYWdlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWxpZGF0b3JUeXBlID0gdmFsaWRhdG9yLnR5cGUudG9Mb3dlckNhc2UoKTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvclR5cGUgPT09ICJzaG9ydGN1dCIpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kVmFsaWRhdG9yID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuZWFjaCgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy52YWxpZGF0b3JUeXBlcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAodmFsaWRhdG9yVGVtcGxhdGVUeXBlLCB2YWxpZGF0b3JUZW1wbGF0ZSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yc1t2YWxpZGF0b3JUZW1wbGF0ZVR5cGVdID09PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnNbdmFsaWRhdG9yVGVtcGxhdGVUeXBlXSA9IFtdOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZm91bmRWYWxpZGF0b3IgJiYgdmFsaWRhdG9yVHlwZSA9PT0gdmFsaWRhdG9yVGVtcGxhdGVUeXBlLnRvTG93ZXJDYXNlKCkpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgZWwgKyBmb3JtYXRWYWxpZGF0b3JOYW1lKHZhbGlkYXRvclRlbXBsYXRlLm5hbWUpLCB2YWxpZGF0b3JbdmFsaWRhdG9yVGVtcGxhdGUubmFtZS50b0xvd2VyQ2FzZSgpXSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JzW3ZhbGlkYXRvclR5cGVdLnB1c2goDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5leHRlbmQoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yVGVtcGxhdGUuaW5pdCgkdGhpcywgZWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kVmFsaWRhdG9yID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmb3VuZFZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmVycm9yKCJDYW5ub3QgZmluZCB2YWxpZGF0aW9uIGluZm8gZm9yICciICsgZWwgKyAiJyIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUT1JFIEZBTExCQUNLIFZBTFVFUw0KKyAgICAgICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKyAgICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jay5kYXRhKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJvcmlnaW5hbC1jb250ZW50cyIsDQorICAgICAgICAgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVscEJsb2NrLmRhdGEoIm9yaWdpbmFsLWNvbnRlbnRzIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRoZWxwQmxvY2suaHRtbCgpDQorICAgICAgICAgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisNCisgICAgICAgICAgICAgICAgICAgICRoZWxwQmxvY2suZGF0YSgNCisgICAgICAgICAgICAgICAgICAgICAgICAib3JpZ2luYWwtcm9sZSIsDQorICAgICAgICAgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVscEJsb2NrLmRhdGEoIm9yaWdpbmFsLXJvbGUiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkaGVscEJsb2NrLmRhdGEoIm9yaWdpbmFsLXJvbGUiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaGVscEJsb2NrLmF0dHIoInJvbGUiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICkNCisgICAgICAgICAgICAgICAgICAgICk7DQorDQorICAgICAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLmRhdGEoDQorICAgICAgICAgICAgICAgICAgICAgICAgIm9yaWdpbmFsLWNsYXNzZXMiLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5kYXRhKCJvcmlnaW5hbC1jbGFzZXMiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAkY29udHJvbEdyb3VwLmRhdGEoIm9yaWdpbmFsLWNsYXNzZXMiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29udHJvbEdyb3VwLmF0dHIoImNsYXNzIikNCisgICAgICAgICAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgICAgICApOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgNCisgICAgICAgICAgICAgICAgICAgICAgICAib3JpZ2luYWwtYXJpYS1pbnZhbGlkIiwNCisgICAgICAgICAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoIm9yaWdpbmFsLWFyaWEtaW52YWxpZCIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICR0aGlzLmRhdGEoIm9yaWdpbmFsLWFyaWEtaW52YWxpZCIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR0aGlzLmF0dHIoImFyaWEtaW52YWxpZCIpDQorICAgICAgICAgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisNCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRJT04NCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAgICAgICAgICAgICAgICAgICR0aGlzLmJpbmQoDQorICAgICAgICAgICAgICAgICAgICAgICAgInZhbGlkYXRpb24udmFsaWRhdGlvbiIsDQorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGV2ZW50LCBwYXJhbXMpIHsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gZ2V0VmFsdWUoJHRoaXMpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHZXQgYSBsaXN0IG9mIHRoZSBlcnJvcnMgdG8gYXBwbHkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVycm9yc0ZvdW5kID0gW107DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuZWFjaCh2YWxpZGF0b3JzLCBmdW5jdGlvbiAodmFsaWRhdG9yVHlwZSwgdmFsaWRhdG9yVHlwZUFycmF5KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgfHwgdmFsdWUubGVuZ3RoIHx8IChwYXJhbXMgJiYgcGFyYW1zLmluY2x1ZGVFbXB0eSkgfHwgKCEhc2V0dGluZ3MudmFsaWRhdG9yVHlwZXNbdmFsaWRhdG9yVHlwZV0uYmxvY2tTdWJtaXQgJiYgcGFyYW1zICYmICEhcGFyYW1zLnN1Ym1pdHRpbmcpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5lYWNoKHZhbGlkYXRvclR5cGVBcnJheSwgZnVuY3Rpb24gKGksIHZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3MudmFsaWRhdG9yVHlwZXNbdmFsaWRhdG9yVHlwZV0udmFsaWRhdGUoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnNGb3VuZC5wdXNoKHZhbGlkYXRvci5tZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yc0ZvdW5kOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICk7DQorDQorICAgICAgICAgICAgICAgICAgICAkdGhpcy5iaW5kKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICJnZXRWYWxpZGF0b3JzLnZhbGlkYXRpb24iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRvcnM7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisNCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0FUQ0ggRk9SIENIQU5HRVMNCisgICAgICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgICR0aGlzLmJpbmQoDQorICAgICAgICAgICAgICAgICAgICAgICAgInN1Ym1pdC52YWxpZGF0aW9uIiwNCisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy50cmlnZ2VySGFuZGxlcigiY2hhbmdlLnZhbGlkYXRpb24iLCB7c3VibWl0dGluZzogdHJ1ZX0pOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICk7DQorICAgICAgICAgICAgICAgICAgICAkdGhpcy5iaW5kKA0KKyAgICAgICAgICAgICAgICAgICAgICAgIFsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImtleXVwIiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvY3VzIiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJsdXIiLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xpY2siLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAia2V5ZG93biIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrZXlwcmVzcyIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFuZ2UiDQorICAgICAgICAgICAgICAgICAgICAgICAgXS5qb2luKCIudmFsaWRhdGlvbiAiKSArICIudmFsaWRhdGlvbiIsDQorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGUsIHBhcmFtcykgew0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBnZXRWYWx1ZSgkdGhpcyk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnJvcnNGb3VuZCA9IFtdOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLmZpbmQoImlucHV0LHRleHRhcmVhLHNlbGVjdCIpLmVhY2goZnVuY3Rpb24gKGksIGVsKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2xkQ291bnQgPSBlcnJvcnNGb3VuZC5sZW5ndGg7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmVhY2goJChlbCkudHJpZ2dlckhhbmRsZXIoInZhbGlkYXRpb24udmFsaWRhdGlvbiIsIHBhcmFtcyksIGZ1bmN0aW9uIChqLCBtZXNzYWdlKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzRm91bmQucHVzaChtZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yc0ZvdW5kLmxlbmd0aCA+IG9sZENvdW50KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChlbCkuYXR0cigiYXJpYS1pbnZhbGlkIiwgInRydWUiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9yaWdpbmFsID0gJHRoaXMuZGF0YSgib3JpZ2luYWwtYXJpYS1pbnZhbGlkIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChlbCkuYXR0cigiYXJpYS1pbnZhbGlkIiwgKG9yaWdpbmFsICE9PSB1bmRlZmluZWQgPyBvcmlnaW5hbCA6IGZhbHNlKSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS5maW5kKCJpbnB1dCxzZWxlY3QsdGV4dGFyZWEiKS5ub3QoJHRoaXMpLm5vdCgiW25hbWU9XCIiICsgJHRoaXMuYXR0cigibmFtZSIpICsgIlwiXSIpLnRyaWdnZXIoInZhbGlkYXRpb25Mb3N0Rm9jdXMudmFsaWRhdGlvbiIpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnNGb3VuZCA9ICQudW5pcXVlKGVycm9yc0ZvdW5kLnNvcnQoKSk7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlcmUgdGhlcmUgYW55IGVycm9ycz8NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yc0ZvdW5kLmxlbmd0aCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmV0dGVyIGZsYWcgaXQgdXAgYXMgYSB3YXJuaW5nLg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5yZW1vdmVDbGFzcygic3VjY2VzcyBlcnJvciIpLmFkZENsYXNzKCJ3YXJuaW5nIik7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3cgbWFueSBlcnJvcnMgZGlkIHdlIGZpbmQ/DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3Mub3B0aW9ucy5zZW1hbnRpY2FsbHlTdHJpY3QgJiYgZXJyb3JzRm91bmQubGVuZ3RoID09PSAxKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT25seSBvbmU/IEJlaW5nIHN0cmljdD8gSnVzdCBvdXRwdXQgaXQuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jay5odG1sKGVycm9yc0ZvdW5kWzBdICsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzZXR0aW5ncy5vcHRpb25zLnByZXBlbmRFeGlzdGluZ0hlbHBCbG9jayA/ICRoZWxwQmxvY2suZGF0YSgib3JpZ2luYWwtY29udGVudHMiKSA6ICIiICkpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNdWx0aXBsZT8gQmVpbmcgc2xvcHB5PyBHbHVlIHRoZW0gdG9nZXRoZXIgaW50byBhbiBVTC4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVscEJsb2NrLmh0bWwoIjx1bCByb2xlPVwiYWxlcnRcIj48bGk+IiArIGVycm9yc0ZvdW5kLmpvaW4oIjwvbGk+PGxpPiIpICsgIjwvbGk+PC91bD4iICsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzZXR0aW5ncy5vcHRpb25zLnByZXBlbmRFeGlzdGluZ0hlbHBCbG9jayA/ICRoZWxwQmxvY2suZGF0YSgib3JpZ2luYWwtY29udGVudHMiKSA6ICIiICkpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5yZW1vdmVDbGFzcygid2FybmluZyBlcnJvciBzdWNjZXNzIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb250cm9sR3JvdXAuYWRkQ2xhc3MoInN1Y2Nlc3MiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZWxwQmxvY2suaHRtbCgkaGVscEJsb2NrLmRhdGEoIm9yaWdpbmFsLWNvbnRlbnRzIikpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICJibHVyIikgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5yZW1vdmVDbGFzcygic3VjY2VzcyIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgICAgICAgICAgICAgICAgICAgICR0aGlzLmJpbmQoInZhbGlkYXRpb25Mb3N0Rm9jdXMudmFsaWRhdGlvbiIsIGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAkY29udHJvbEdyb3VwLnJlbW92ZUNsYXNzKCJzdWNjZXNzIik7DQorICAgICAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBkZXN0cm95OiBmdW5jdGlvbiAoKSB7DQorDQorICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goDQorICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgdmFyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzID0gJCh0aGlzKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRyb2xHcm91cCA9ICR0aGlzLnBhcmVudHMoIi5jb250cm9sLWdyb3VwIikuZmlyc3QoKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jayA9ICRjb250cm9sR3JvdXAuZmluZCgiLmhlbHAtYmxvY2siKS5maXJzdCgpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBvdXIgZXZlbnRzDQorICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMudW5iaW5kKCcudmFsaWRhdGlvbicpOyAvLyBldmVudHMgYXJlIG5hbWVzcGFjZWQuDQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzZXQgaGVscCB0ZXh0DQorICAgICAgICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jay5odG1sKCRoZWxwQmxvY2suZGF0YSgib3JpZ2luYWwtY29udGVudHMiKSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzZXQgY2xhc3Nlcw0KKyAgICAgICAgICAgICAgICAgICAgICAgICRjb250cm9sR3JvdXAuYXR0cigiY2xhc3MiLCAkY29udHJvbEdyb3VwLmRhdGEoIm9yaWdpbmFsLWNsYXNzZXMiKSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzZXQgYXJpYQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmF0dHIoImFyaWEtaW52YWxpZCIsICR0aGlzLmRhdGEoIm9yaWdpbmFsLWFyaWEtaW52YWxpZCIpKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNldCByb2xlDQorICAgICAgICAgICAgICAgICAgICAgICAgJGhlbHBCbG9jay5hdHRyKCJyb2xlIiwgJHRoaXMuZGF0YSgib3JpZ2luYWwtcm9sZSIpKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgYWxsIGVsZW1lbnRzIHdlIGNyZWF0ZWQNCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3JlYXRlZEVsZW1lbnRzLmluZGV4T2YoJGhlbHBCbG9ja1swXSkgPiAtMSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaGVscEJsb2NrLnJlbW92ZSgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgKTsNCisNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGNvbGxlY3RFcnJvcnM6IGZ1bmN0aW9uIChpbmNsdWRlRW1wdHkpIHsNCisNCisgICAgICAgICAgICAgICAgdmFyIGVycm9yTWVzc2FnZXMgPSB7fTsNCisgICAgICAgICAgICAgICAgdGhpcy5lYWNoKGZ1bmN0aW9uIChpLCBlbCkgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyICRlbCA9ICQoZWwpOw0KKyAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSAkZWwuYXR0cigibmFtZSIpOw0KKyAgICAgICAgICAgICAgICAgICAgdmFyIGVycm9ycyA9ICRlbC50cmlnZ2VySGFuZGxlcigidmFsaWRhdGlvbi52YWxpZGF0aW9uIiwge2luY2x1ZGVFbXB0eTogdHJ1ZX0pOw0KKyAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlc1tuYW1lXSA9ICQuZXh0ZW5kKHRydWUsIGVycm9ycywgZXJyb3JNZXNzYWdlc1tuYW1lXSk7DQorICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgICAgICAkLmVhY2goZXJyb3JNZXNzYWdlcywgZnVuY3Rpb24gKGksIGVsKSB7DQorICAgICAgICAgICAgICAgICAgICBpZiAoZWwubGVuZ3RoID09PSAwKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGVycm9yTWVzc2FnZXNbaV07DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlczsNCisNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGhhc0Vycm9yczogZnVuY3Rpb24gKCkgew0KKw0KKyAgICAgICAgICAgICAgICB2YXIgZXJyb3JNZXNzYWdlcyA9IFtdOw0KKw0KKyAgICAgICAgICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24gKGksIGVsKSB7DQorICAgICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcy5jb25jYXQoDQorICAgICAgICAgICAgICAgICAgICAgICAgJChlbCkudHJpZ2dlckhhbmRsZXIoImdldFZhbGlkYXRvcnMudmFsaWRhdGlvbiIpID8gJChlbCkudHJpZ2dlckhhbmRsZXIoInZhbGlkYXRpb24udmFsaWRhdGlvbiIsIHtzdWJtaXR0aW5nOiB0cnVlfSkgOiBbXQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgICAgICAgICAgICAgICAgfSk7DQorDQorICAgICAgICAgICAgICAgIHJldHVybiAoZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwKTsNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIG92ZXJyaWRlOiBmdW5jdGlvbiAobmV3RGVmYXVsdHMpIHsNCisgICAgICAgICAgICAgICAgZGVmYXVsdHMgPSAkLmV4dGVuZCh0cnVlLCBkZWZhdWx0cywgbmV3RGVmYXVsdHMpOw0KICAgICAgICAgICAgIH0NCi0gICAgICAgICAgKTsNCi0gICAgICAgICAgJHRoaXMuYmluZCgidmFsaWRhdGlvbkxvc3RGb2N1cy52YWxpZGF0aW9uIiwgZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICRjb250cm9sR3JvdXAucmVtb3ZlQ2xhc3MoInN1Y2Nlc3MiKTsNCi0gICAgICAgICAgfSk7DQotICAgICAgICB9KTsNCi0gICAgICB9LA0KLSAgICAgIGRlc3Ryb3kgOiBmdW5jdGlvbiggKSB7DQotDQotICAgICAgICByZXR1cm4gdGhpcy5lYWNoKA0KLSAgICAgICAgICBmdW5jdGlvbigpIHsNCi0NCi0gICAgICAgICAgICB2YXINCi0gICAgICAgICAgICAgICR0aGlzID0gJCh0aGlzKSwNCi0gICAgICAgICAgICAgICRjb250cm9sR3JvdXAgPSAkdGhpcy5wYXJlbnRzKCIuY29udHJvbC1ncm91cCIpLmZpcnN0KCksDQotICAgICAgICAgICAgICAkaGVscEJsb2NrID0gJGNvbnRyb2xHcm91cC5maW5kKCIuaGVscC1ibG9jayIpLmZpcnN0KCk7DQotDQotICAgICAgICAgICAgLy8gcmVtb3ZlIG91ciBldmVudHMNCi0gICAgICAgICAgICAkdGhpcy51bmJpbmQoJy52YWxpZGF0aW9uJyk7IC8vIGV2ZW50cyBhcmUgbmFtZXNwYWNlZC4NCi0gICAgICAgICAgICAvLyByZXNldCBoZWxwIHRleHQNCi0gICAgICAgICAgICAkaGVscEJsb2NrLmh0bWwoJGhlbHBCbG9jay5kYXRhKCJvcmlnaW5hbC1jb250ZW50cyIpKTsNCi0gICAgICAgICAgICAvLyByZXNldCBjbGFzc2VzDQotICAgICAgICAgICAgJGNvbnRyb2xHcm91cC5hdHRyKCJjbGFzcyIsICRjb250cm9sR3JvdXAuZGF0YSgib3JpZ2luYWwtY2xhc3NlcyIpKTsNCi0gICAgICAgICAgICAvLyByZXNldCBhcmlhDQotICAgICAgICAgICAgJHRoaXMuYXR0cigiYXJpYS1pbnZhbGlkIiwgJHRoaXMuZGF0YSgib3JpZ2luYWwtYXJpYS1pbnZhbGlkIikpOw0KLSAgICAgICAgICAgIC8vIHJlc2V0IHJvbGUNCi0gICAgICAgICAgICAkaGVscEJsb2NrLmF0dHIoInJvbGUiLCAkdGhpcy5kYXRhKCJvcmlnaW5hbC1yb2xlIikpOw0KLQkJCQkJCS8vIHJlbW92ZSBhbGwgZWxlbWVudHMgd2UgY3JlYXRlZA0KLQkJCQkJCWlmIChjcmVhdGVkRWxlbWVudHMuaW5kZXhPZigkaGVscEJsb2NrWzBdKSA+IC0xKSB7DQotCQkJCQkJCSRoZWxwQmxvY2sucmVtb3ZlKCk7DQotCQkJCQkJfQ0KLQ0KLSAgICAgICAgICB9DQotICAgICAgICApOw0KLQ0KLSAgICAgIH0sDQotICAgICAgY29sbGVjdEVycm9ycyA6IGZ1bmN0aW9uKGluY2x1ZGVFbXB0eSkgew0KLQ0KLSAgICAgICAgdmFyIGVycm9yTWVzc2FnZXMgPSB7fTsNCi0gICAgICAgIHRoaXMuZWFjaChmdW5jdGlvbiAoaSwgZWwpIHsNCi0gICAgICAgICAgdmFyICRlbCA9ICQoZWwpOw0KLSAgICAgICAgICB2YXIgbmFtZSA9ICRlbC5hdHRyKCJuYW1lIik7DQotICAgICAgICAgIHZhciBlcnJvcnMgPSAkZWwudHJpZ2dlckhhbmRsZXIoInZhbGlkYXRpb24udmFsaWRhdGlvbiIsIHtpbmNsdWRlRW1wdHk6IHRydWV9KTsNCi0gICAgICAgICAgZXJyb3JNZXNzYWdlc1tuYW1lXSA9ICQuZXh0ZW5kKHRydWUsIGVycm9ycywgZXJyb3JNZXNzYWdlc1tuYW1lXSk7DQotICAgICAgICB9KTsNCi0NCi0gICAgICAgICQuZWFjaChlcnJvck1lc3NhZ2VzLCBmdW5jdGlvbiAoaSwgZWwpIHsNCi0gICAgICAgICAgaWYgKGVsLmxlbmd0aCA9PT0gMCkgew0KLSAgICAgICAgICAgIGRlbGV0ZSBlcnJvck1lc3NhZ2VzW2ldOw0KLSAgICAgICAgICB9DQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2VzOw0KLQ0KLSAgICAgIH0sDQotICAgICAgaGFzRXJyb3JzOiBmdW5jdGlvbigpIHsNCi0NCi0gICAgICAgIHZhciBlcnJvck1lc3NhZ2VzID0gW107DQotDQotICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24gKGksIGVsKSB7DQotICAgICAgICAgIGVycm9yTWVzc2FnZXMgPSBlcnJvck1lc3NhZ2VzLmNvbmNhdCgNCi0gICAgICAgICAgICAkKGVsKS50cmlnZ2VySGFuZGxlcigiZ2V0VmFsaWRhdG9ycy52YWxpZGF0aW9uIikgPyAkKGVsKS50cmlnZ2VySGFuZGxlcigidmFsaWRhdGlvbi52YWxpZGF0aW9uIiwge3N1Ym1pdHRpbmc6IHRydWV9KSA6IFtdDQotICAgICAgICAgICk7DQotICAgICAgICB9KTsNCi0NCi0gICAgICAgIHJldHVybiAoZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwKTsNCi0gICAgICB9LA0KLSAgICAgIG92ZXJyaWRlIDogZnVuY3Rpb24gKG5ld0RlZmF1bHRzKSB7DQotICAgICAgICBkZWZhdWx0cyA9ICQuZXh0ZW5kKHRydWUsIGRlZmF1bHRzLCBuZXdEZWZhdWx0cyk7DQotICAgICAgfQ0KLSAgICB9LA0KLQkJdmFsaWRhdG9yVHlwZXM6IHsNCi0gICAgICBjYWxsYmFjazogew0KLSAgICAgICAgbmFtZTogImNhbGxiYWNrIiwNCi0gICAgICAgIGluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KLSAgICAgICAgICByZXR1cm4gew0KLSAgICAgICAgICAgIHZhbGlkYXRvck5hbWU6IG5hbWUsDQotICAgICAgICAgICAgY2FsbGJhY2s6ICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJDYWxsYmFjayIpLA0KLSAgICAgICAgICAgIGxhc3RWYWx1ZTogJHRoaXMudmFsKCksDQotICAgICAgICAgICAgbGFzdFZhbGlkOiB0cnVlLA0KLSAgICAgICAgICAgIGxhc3RGaW5pc2hlZDogdHJ1ZQ0KLSAgICAgICAgICB9Ow0KICAgICAgICAgfSwNCi0gICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCi0gICAgICAgICAgaWYgKHZhbGlkYXRvci5sYXN0VmFsdWUgPT09IHZhbHVlICYmIHZhbGlkYXRvci5sYXN0RmluaXNoZWQpIHsNCi0gICAgICAgICAgICByZXR1cm4gIXZhbGlkYXRvci5sYXN0VmFsaWQ7DQotICAgICAgICAgIH0NCisgICAgICAgIHZhbGlkYXRvclR5cGVzOiB7DQorICAgICAgICAgICAgY2FsbGJhY2s6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogImNhbGxiYWNrIiwNCisgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvck5hbWU6IG5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6ICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJDYWxsYmFjayIpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RWYWx1ZTogJHRoaXMudmFsKCksDQorICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFZhbGlkOiB0cnVlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RGaW5pc2hlZDogdHJ1ZQ0KKyAgICAgICAgICAgICAgICAgICAgfTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRvci5sYXN0VmFsdWUgPT09IHZhbHVlICYmIHZhbGlkYXRvci5sYXN0RmluaXNoZWQpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXZhbGlkYXRvci5sYXN0VmFsaWQ7DQorICAgICAgICAgICAgICAgICAgICB9DQogDQotICAgICAgICAgIGlmICh2YWxpZGF0b3IubGFzdEZpbmlzaGVkID09PSB0cnVlKQ0KLSAgICAgICAgICB7DQotICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RWYWx1ZSA9IHZhbHVlOw0KLSAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0VmFsaWQgPSB0cnVlOw0KLSAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0RmluaXNoZWQgPSBmYWxzZTsNCisgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0b3IubGFzdEZpbmlzaGVkID09PSB0cnVlKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RWYWx1ZSA9IHZhbHVlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0VmFsaWQgPSB0cnVlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0RmluaXNoZWQgPSBmYWxzZTsNCiANCi0gICAgICAgICAgICB2YXIgcnJqcWJ2VmFsaWRhdG9yID0gdmFsaWRhdG9yOw0KLSAgICAgICAgICAgIHZhciBycmpxYnZUaGlzID0gJHRoaXM7DQotICAgICAgICAgICAgZXhlY3V0ZUZ1bmN0aW9uQnlOYW1lKA0KLSAgICAgICAgICAgICAgdmFsaWRhdG9yLmNhbGxiYWNrLA0KLSAgICAgICAgICAgICAgd2luZG93LA0KLSAgICAgICAgICAgICAgJHRoaXMsDQotICAgICAgICAgICAgICB2YWx1ZSwNCi0gICAgICAgICAgICAgIGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICAgICAgICAgIGlmIChycmpxYnZWYWxpZGF0b3IubGFzdFZhbHVlID09PSBkYXRhLnZhbHVlKSB7DQotICAgICAgICAgICAgICAgICAgcnJqcWJ2VmFsaWRhdG9yLmxhc3RWYWxpZCA9IGRhdGEudmFsaWQ7DQotICAgICAgICAgICAgICAgICAgaWYgKGRhdGEubWVzc2FnZSkgew0KLSAgICAgICAgICAgICAgICAgICAgcnJqcWJ2VmFsaWRhdG9yLm1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2U7DQotICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgIHJyanFidlZhbGlkYXRvci5sYXN0RmluaXNoZWQgPSB0cnVlOw0KLSAgICAgICAgICAgICAgICAgIHJyanFidlRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBycmpxYnZWYWxpZGF0b3IudmFsaWRhdG9yTmFtZSArICJNZXNzYWdlIiwgcnJqcWJ2VmFsaWRhdG9yLm1lc3NhZ2UpOw0KLSAgICAgICAgICAgICAgICAgIC8vIFRpbWVvdXQgaXMgc2V0IHRvIGF2b2lkIHByb2JsZW1zIHdpdGggdGhlIGV2ZW50cyBiZWluZyBjb25zaWRlcmVkICdhbHJlYWR5IGZpcmVkJw0KLSAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KLSAgICAgICAgICAgICAgICAgICAgcnJqcWJ2VGhpcy50cmlnZ2VyKCJjaGFuZ2UudmFsaWRhdGlvbiIpOw0KLSAgICAgICAgICAgICAgICAgIH0sIDEpOyAvLyBkb2Vzbid0IG5lZWQgYSBsb25nIHRpbWVvdXQsIGp1c3QgbG9uZyBlbm91Z2ggZm9yIHRoZSBldmVudCBidWJibGUgdG8gYnVyc3QNCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcnJqcWJ2VmFsaWRhdG9yID0gdmFsaWRhdG9yOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBycmpxYnZUaGlzID0gJHRoaXM7DQorICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0ZUZ1bmN0aW9uQnlOYW1lKA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3IuY2FsbGJhY2ssDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoZGF0YSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJyanFidlZhbGlkYXRvci5sYXN0VmFsdWUgPT09IGRhdGEudmFsdWUpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycmpxYnZWYWxpZGF0b3IubGFzdFZhbGlkID0gZGF0YS52YWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5tZXNzYWdlKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJyanFidlZhbGlkYXRvci5tZXNzYWdlID0gZGF0YS5tZXNzYWdlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycmpxYnZWYWxpZGF0b3IubGFzdEZpbmlzaGVkID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBycmpxYnZUaGlzLmRhdGEoInZhbGlkYXRpb24iICsgcnJqcWJ2VmFsaWRhdG9yLnZhbGlkYXRvck5hbWUgKyAiTWVzc2FnZSIsIHJyanFidlZhbGlkYXRvci5tZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaW1lb3V0IGlzIHNldCB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIHRoZSBldmVudHMgYmVpbmcgY29uc2lkZXJlZCAnYWxyZWFkeSBmaXJlZCcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnJqcWJ2VGhpcy50cmlnZ2VyKCJjaGFuZ2UudmFsaWRhdGlvbiIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpOyAvLyBkb2Vzbid0IG5lZWQgYSBsb25nIHRpbWVvdXQsIGp1c3QgbG9uZyBlbm91Z2ggZm9yIHRoZSBldmVudCBidWJibGUgdG8gYnVyc3QNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICk7DQorICAgICAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQorDQogICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICApOw0KLSAgICAgICAgICB9DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBhamF4OiB7DQorICAgICAgICAgICAgICAgIG5hbWU6ICJhamF4IiwNCisgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvck5hbWU6IG5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIG5hbWUgKyAiQWpheCIpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RWYWx1ZTogJHRoaXMudmFsKCksDQorICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFZhbGlkOiB0cnVlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RGaW5pc2hlZDogdHJ1ZQ0KKyAgICAgICAgICAgICAgICAgICAgfTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCIiICsgdmFsaWRhdG9yLmxhc3RWYWx1ZSA9PT0gIiIgKyB2YWx1ZSAmJiB2YWxpZGF0b3IubGFzdEZpbmlzaGVkID09PSB0cnVlKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRvci5sYXN0VmFsaWQgPT09IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KIA0KLSAgICAgICAgICByZXR1cm4gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdG9yLmxhc3RGaW5pc2hlZCA9PT0gdHJ1ZSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0VmFsdWUgPSB2YWx1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3IubGFzdFZhbGlkID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3IubGFzdEZpbmlzaGVkID0gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgJC5hamF4KHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB2YWxpZGF0b3IudXJsLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiAidmFsdWU9IiArIHZhbHVlICsgIiZmaWVsZD0iICsgJHRoaXMuYXR0cigibmFtZSIpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCIiICsgdmFsaWRhdG9yLmxhc3RWYWx1ZSA9PT0gIiIgKyBkYXRhLnZhbHVlKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RWYWxpZCA9ICEhKGRhdGEudmFsaWQpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLm1lc3NhZ2UpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yLm1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0RmluaXNoZWQgPSB0cnVlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgdmFsaWRhdG9yLnZhbGlkYXRvck5hbWUgKyAiTWVzc2FnZSIsIHZhbGlkYXRvci5tZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaW1lb3V0IGlzIHNldCB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIHRoZSBldmVudHMgYmVpbmcgY29uc2lkZXJlZCAnYWxyZWFkeSBmaXJlZCcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMudHJpZ2dlcigiY2hhbmdlLnZhbGlkYXRpb24iKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxKTsgLy8gZG9lc24ndCBuZWVkIGEgbG9uZyB0aW1lb3V0LCBqdXN0IGxvbmcgZW5vdWdoIGZvciB0aGUgZXZlbnQgYnViYmxlIHRvIGJ1cnN0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWx1cmU6IGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5sYXN0VmFsaWQgPSB0cnVlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yLm1lc3NhZ2UgPSAiYWpheCBjYWxsIGZhaWxlZCI7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3IubGFzdEZpbmlzaGVkID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgdmFsaWRhdG9yLnZhbGlkYXRvck5hbWUgKyAiTWVzc2FnZSIsIHZhbGlkYXRvci5tZXNzYWdlKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRpbWVvdXQgaXMgc2V0IHRvIGF2b2lkIHByb2JsZW1zIHdpdGggdGhlIGV2ZW50cyBiZWluZyBjb25zaWRlcmVkICdhbHJlYWR5IGZpcmVkJw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMudHJpZ2dlcigiY2hhbmdlLnZhbGlkYXRpb24iKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpOyAvLyBkb2Vzbid0IG5lZWQgYSBsb25nIHRpbWVvdXQsIGp1c3QgbG9uZyBlbm91Z2ggZm9yIHRoZSBldmVudCBidWJibGUgdG8gYnVyc3QNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KIA0KLSAgICAgICAgfQ0KLSAgICAgIH0sDQotICAgICAgYWpheDogew0KLSAgICAgICAgbmFtZTogImFqYXgiLA0KLSAgICAgICAgaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQotICAgICAgICAgIHJldHVybiB7DQotICAgICAgICAgICAgdmFsaWRhdG9yTmFtZTogbmFtZSwNCi0gICAgICAgICAgICB1cmw6ICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJBamF4IiksDQotICAgICAgICAgICAgbGFzdFZhbHVlOiAkdGhpcy52YWwoKSwNCi0gICAgICAgICAgICBsYXN0VmFsaWQ6IHRydWUsDQotICAgICAgICAgICAgbGFzdEZpbmlzaGVkOiB0cnVlDQotICAgICAgICAgIH07DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQorDQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHJlZ2V4OiB7DQorICAgICAgICAgICAgICAgIG5hbWU6ICJyZWdleCIsDQorICAgICAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtyZWdleDogcmVnZXhGcm9tU3RyaW5nKCR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJSZWdleCIpKX07DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoIXZhbGlkYXRvci5yZWdleC50ZXN0KHZhbHVlKSAmJiAhdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh2YWxpZGF0b3IucmVnZXgudGVzdCh2YWx1ZSkgJiYgdmFsaWRhdG9yLm5lZ2F0aXZlKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgcmVxdWlyZWQ6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogInJlcXVpcmVkIiwNCisgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAhISh2YWx1ZS5sZW5ndGggPT09IDAgJiYgIXZhbGlkYXRvci5uZWdhdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICB8fCAhISh2YWx1ZS5sZW5ndGggPiAwICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGJsb2NrU3VibWl0OiB0cnVlDQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBtYXRjaDogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAibWF0Y2giLA0KKyAgICAgICAgICAgICAgICBpbml0OiBmdW5jdGlvbiAoJHRoaXMsIG5hbWUpIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gJHRoaXMucGFyZW50cygiZm9ybSIpLmZpcnN0KCkuZmluZCgiW25hbWU9XCIiICsgJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1hdGNoIikgKyAiXCJdIikuZmlyc3QoKTsNCisgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYmluZCgidmFsaWRhdGlvbi52YWxpZGF0aW9uIiwgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLnRyaWdnZXIoImNoYW5nZS52YWxpZGF0aW9uIiwge3N1Ym1pdHRpbmc6IHRydWV9KTsNCisgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsiZWxlbWVudCI6IGVsZW1lbnR9Ow0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKCR0aGlzLCB2YWx1ZSwgdmFsaWRhdG9yKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlICE9PSB2YWxpZGF0b3IuZWxlbWVudC52YWwoKSAmJiAhdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh2YWx1ZSA9PT0gdmFsaWRhdG9yLmVsZW1lbnQudmFsKCkgJiYgdmFsaWRhdG9yLm5lZ2F0aXZlKTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgYmxvY2tTdWJtaXQ6IHRydWUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIG1heDogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAibWF4IiwNCisgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4ge21heDogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1heCIpfTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXJzZUZsb2F0KHZhbHVlLCAxMCkgPiBwYXJzZUZsb2F0KHZhbGlkYXRvci5tYXgsIDEwKSAmJiAhdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IChwYXJzZUZsb2F0KHZhbHVlLCAxMCkgPD0gcGFyc2VGbG9hdCh2YWxpZGF0b3IubWF4LCAxMCkgJiYgdmFsaWRhdG9yLm5lZ2F0aXZlKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgbWluOiB7DQorICAgICAgICAgICAgICAgIG5hbWU6ICJtaW4iLA0KKyAgICAgICAgICAgICAgICBpbml0OiBmdW5jdGlvbiAoJHRoaXMsIG5hbWUpIHsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB7bWluOiAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIG5hbWUgKyAiTWluIil9Ow0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKCR0aGlzLCB2YWx1ZSwgdmFsaWRhdG9yKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhcnNlRmxvYXQodmFsdWUpIDwgcGFyc2VGbG9hdCh2YWxpZGF0b3IubWluKSAmJiAhdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IChwYXJzZUZsb2F0KHZhbHVlKSA+PSBwYXJzZUZsb2F0KHZhbGlkYXRvci5taW4pICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIG1heGxlbmd0aDogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAibWF4bGVuZ3RoIiwNCisgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4ge21heGxlbmd0aDogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1heGxlbmd0aCIpfTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgodmFsdWUubGVuZ3RoID4gdmFsaWRhdG9yLm1heGxlbmd0aCkgJiYgIXZhbGlkYXRvci5uZWdhdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKHZhbHVlLmxlbmd0aCA8PSB2YWxpZGF0b3IubWF4bGVuZ3RoKSAmJiB2YWxpZGF0b3IubmVnYXRpdmUpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBtaW5sZW5ndGg6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIm1pbmxlbmd0aCIsDQorICAgICAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHttaW5sZW5ndGg6ICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJNaW5sZW5ndGgiKX07DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoKHZhbHVlLmxlbmd0aCA8IHZhbGlkYXRvci5taW5sZW5ndGgpICYmICF2YWxpZGF0b3IubmVnYXRpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgfHwgKCh2YWx1ZS5sZW5ndGggPj0gdmFsaWRhdG9yLm1pbmxlbmd0aCkgJiYgdmFsaWRhdG9yLm5lZ2F0aXZlKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgbWF4Y2hlY2tlZDogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAibWF4Y2hlY2tlZCIsDQorICAgICAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyIGVsZW1lbnRzID0gJHRoaXMucGFyZW50cygiZm9ybSIpLmZpcnN0KCkuZmluZCgiW25hbWU9XCIiICsgJHRoaXMuYXR0cigibmFtZSIpICsgIlwiXSIpOw0KKyAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMuYmluZCgiY2xpY2sudmFsaWRhdGlvbiIsIGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy50cmlnZ2VyKCJjaGFuZ2UudmFsaWRhdGlvbiIsIHtpbmNsdWRlRW1wdHk6IHRydWV9KTsNCisgICAgICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHttYXhjaGVja2VkOiAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIG5hbWUgKyAiTWF4Y2hlY2tlZCIpLCBlbGVtZW50czogZWxlbWVudHN9Ow0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24gKCR0aGlzLCB2YWx1ZSwgdmFsaWRhdG9yKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHZhbGlkYXRvci5lbGVtZW50cy5maWx0ZXIoIjpjaGVja2VkIikubGVuZ3RoID4gdmFsaWRhdG9yLm1heGNoZWNrZWQgJiYgIXZhbGlkYXRvci5uZWdhdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICB8fCAodmFsaWRhdG9yLmVsZW1lbnRzLmZpbHRlcigiOmNoZWNrZWQiKS5sZW5ndGggPD0gdmFsaWRhdG9yLm1heGNoZWNrZWQgJiYgdmFsaWRhdG9yLm5lZ2F0aXZlKTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgYmxvY2tTdWJtaXQ6IHRydWUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIG1pbmNoZWNrZWQ6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIm1pbmNoZWNrZWQiLA0KKyAgICAgICAgICAgICAgICBpbml0OiBmdW5jdGlvbiAoJHRoaXMsIG5hbWUpIHsNCisgICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50cyA9ICR0aGlzLnBhcmVudHMoImZvcm0iKS5maXJzdCgpLmZpbmQoIltuYW1lPVwiIiArICR0aGlzLmF0dHIoIm5hbWUiKSArICJcIl0iKTsNCisgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzLmJpbmQoImNsaWNrLnZhbGlkYXRpb24iLCBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMudHJpZ2dlcigiY2hhbmdlLnZhbGlkYXRpb24iLCB7aW5jbHVkZUVtcHR5OiB0cnVlfSk7DQorICAgICAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB7bWluY2hlY2tlZDogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1pbmNoZWNrZWQiKSwgZWxlbWVudHM6IGVsZW1lbnRzfTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh2YWxpZGF0b3IuZWxlbWVudHMuZmlsdGVyKCI6Y2hlY2tlZCIpLmxlbmd0aCA8IHZhbGlkYXRvci5taW5jaGVja2VkICYmICF2YWxpZGF0b3IubmVnYXRpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHZhbGlkYXRvci5lbGVtZW50cy5maWx0ZXIoIjpjaGVja2VkIikubGVuZ3RoID49IHZhbGlkYXRvci5taW5jaGVja2VkICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGJsb2NrU3VibWl0OiB0cnVlDQorICAgICAgICAgICAgfQ0KICAgICAgICAgfSwNCi0gICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCi0gICAgICAgICAgaWYgKCIiK3ZhbGlkYXRvci5sYXN0VmFsdWUgPT09ICIiK3ZhbHVlICYmIHZhbGlkYXRvci5sYXN0RmluaXNoZWQgPT09IHRydWUpIHsNCi0gICAgICAgICAgICByZXR1cm4gdmFsaWRhdG9yLmxhc3RWYWxpZCA9PT0gZmFsc2U7DQotICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgaWYgKHZhbGlkYXRvci5sYXN0RmluaXNoZWQgPT09IHRydWUpDQotICAgICAgICAgIHsNCi0gICAgICAgICAgICB2YWxpZGF0b3IubGFzdFZhbHVlID0gdmFsdWU7DQotICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RWYWxpZCA9IHRydWU7DQotICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RGaW5pc2hlZCA9IGZhbHNlOw0KLSAgICAgICAgICAgICQuYWpheCh7DQotICAgICAgICAgICAgICB1cmw6IHZhbGlkYXRvci51cmwsDQotICAgICAgICAgICAgICBkYXRhOiAidmFsdWU9IiArIHZhbHVlICsgIiZmaWVsZD0iICsgJHRoaXMuYXR0cigibmFtZSIpLA0KLSAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCi0gICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICAgICAgICAgIGlmICgiIit2YWxpZGF0b3IubGFzdFZhbHVlID09PSAiIitkYXRhLnZhbHVlKSB7DQotICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RWYWxpZCA9ICEhKGRhdGEudmFsaWQpOw0KLSAgICAgICAgICAgICAgICAgIGlmIChkYXRhLm1lc3NhZ2UpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvci5tZXNzYWdlID0gZGF0YS5tZXNzYWdlOw0KLSAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgICB2YWxpZGF0b3IubGFzdEZpbmlzaGVkID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgICAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIHZhbGlkYXRvci52YWxpZGF0b3JOYW1lICsgIk1lc3NhZ2UiLCB2YWxpZGF0b3IubWVzc2FnZSk7DQotICAgICAgICAgICAgICAgICAgLy8gVGltZW91dCBpcyBzZXQgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCB0aGUgZXZlbnRzIGJlaW5nIGNvbnNpZGVyZWQgJ2FscmVhZHkgZmlyZWQnDQotICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgICAkdGhpcy50cmlnZ2VyKCJjaGFuZ2UudmFsaWRhdGlvbiIpOw0KLSAgICAgICAgICAgICAgICAgIH0sIDEpOyAvLyBkb2Vzbid0IG5lZWQgYSBsb25nIHRpbWVvdXQsIGp1c3QgbG9uZyBlbm91Z2ggZm9yIHRoZSBldmVudCBidWJibGUgdG8gYnVyc3QNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgfSwNCi0gICAgICAgICAgICAgIGZhaWx1cmU6IGZ1bmN0aW9uICgpIHsNCi0gICAgICAgICAgICAgICAgdmFsaWRhdG9yLmxhc3RWYWxpZCA9IHRydWU7DQotICAgICAgICAgICAgICAgIHZhbGlkYXRvci5tZXNzYWdlID0gImFqYXggY2FsbCBmYWlsZWQiOw0KLSAgICAgICAgICAgICAgICB2YWxpZGF0b3IubGFzdEZpbmlzaGVkID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyB2YWxpZGF0b3IudmFsaWRhdG9yTmFtZSArICJNZXNzYWdlIiwgdmFsaWRhdG9yLm1lc3NhZ2UpOw0KLSAgICAgICAgICAgICAgICAvLyBUaW1lb3V0IGlzIHNldCB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIHRoZSBldmVudHMgYmVpbmcgY29uc2lkZXJlZCAnYWxyZWFkeSBmaXJlZCcNCi0gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQotICAgICAgICAgICAgICAgICAgJHRoaXMudHJpZ2dlcigiY2hhbmdlLnZhbGlkYXRpb24iKTsNCi0gICAgICAgICAgICAgICAgfSwgMSk7IC8vIGRvZXNuJ3QgbmVlZCBhIGxvbmcgdGltZW91dCwganVzdCBsb25nIGVub3VnaCBmb3IgdGhlIGV2ZW50IGJ1YmJsZSB0byBidXJzdA0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0pOw0KLSAgICAgICAgICB9DQotDQotICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0NCisgICAgICAgIGJ1aWx0SW5WYWxpZGF0b3JzOiB7DQorICAgICAgICAgICAgZW1haWw6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIkVtYWlsIiwNCisgICAgICAgICAgICAgICAgdHlwZTogInNob3J0Y3V0IiwNCisgICAgICAgICAgICAgICAgc2hvcnRjdXQ6ICJ2YWxpZGVtYWlsIg0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgdmFsaWRlbWFpbDogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAiVmFsaWRlbWFpbCIsDQorICAgICAgICAgICAgICAgIHR5cGU6ICJyZWdleCIsDQorICAgICAgICAgICAgICAgIHJlZ2V4OiAiW0EtWmEtejAtOS5fJSstXStAW0EtWmEtejAtOS4tXStcXFwuW0EtWmEtel17Miw0fSIsDQorICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICJOb3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzPCEtLSBkYXRhLXZhbGlkYXRvci12YWxpZGVtYWlsLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgcGFzc3dvcmRhZ2Fpbjogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAiUGFzc3dvcmRhZ2FpbiIsDQorICAgICAgICAgICAgICAgIHR5cGU6ICJtYXRjaCIsDQorICAgICAgICAgICAgICAgIG1hdGNoOiAicGFzc3dvcmQiLA0KKyAgICAgICAgICAgICAgICBtZXNzYWdlOiAiRG9lcyBub3QgbWF0Y2ggdGhlIGdpdmVuIHBhc3N3b3JkPCEtLSBkYXRhLXZhbGlkYXRvci1wYXN3b3JkYWdhaW4tbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBwb3NpdGl2ZTogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAiUG9zaXRpdmUiLA0KKyAgICAgICAgICAgICAgICB0eXBlOiAic2hvcnRjdXQiLA0KKyAgICAgICAgICAgICAgICBzaG9ydGN1dDogIm51bWJlcixwb3NpdGl2ZW51bWJlciINCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIG5lZ2F0aXZlOiB7DQorICAgICAgICAgICAgICAgIG5hbWU6ICJOZWdhdGl2ZSIsDQorICAgICAgICAgICAgICAgIHR5cGU6ICJzaG9ydGN1dCIsDQorICAgICAgICAgICAgICAgIHNob3J0Y3V0OiAibnVtYmVyLG5lZ2F0aXZlbnVtYmVyIg0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgbnVtYmVyOiB7DQorICAgICAgICAgICAgICAgIG5hbWU6ICJOdW1iZXIiLA0KKyAgICAgICAgICAgICAgICB0eXBlOiAicmVnZXgiLA0KKyAgICAgICAgICAgICAgICByZWdleDogIihbKy1dP1xcXGQrKFxcXC5cXFxkKik/KFtlRV1bKy1dP1swLTldKyk/KT8iLA0KKyAgICAgICAgICAgICAgICBtZXNzYWdlOiAiTXVzdCBiZSBhIG51bWJlcjwhLS0gZGF0YS12YWxpZGF0b3ItbnVtYmVyLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgaW50ZWdlcjogew0KKyAgICAgICAgICAgICAgICBuYW1lOiAiSW50ZWdlciIsDQorICAgICAgICAgICAgICAgIHR5cGU6ICJyZWdleCIsDQorICAgICAgICAgICAgICAgIHJlZ2V4OiAiWystXT9cXFxkKyIsDQorICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICJObyBkZWNpbWFsIHBsYWNlcyBhbGxvd2VkPCEtLSBkYXRhLXZhbGlkYXRvci1pbnRlZ2VyLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgcG9zaXRpdmVudW1iZXI6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIlBvc2l0aXZlbnVtYmVyIiwNCisgICAgICAgICAgICAgICAgdHlwZTogIm1pbiIsDQorICAgICAgICAgICAgICAgIG1pbjogMCwNCisgICAgICAgICAgICAgICAgbWVzc2FnZTogIk11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXI8IS0tIGRhdGEtdmFsaWRhdG9yLXBvc2l0aXZlbnVtYmVyLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgbmVnYXRpdmVudW1iZXI6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIk5lZ2F0aXZlbnVtYmVyIiwNCisgICAgICAgICAgICAgICAgdHlwZTogIm1heCIsDQorICAgICAgICAgICAgICAgIG1heDogMCwNCisgICAgICAgICAgICAgICAgbWVzc2FnZTogIk11c3QgYmUgYSBuZWdhdGl2ZSBudW1iZXI8IS0tIGRhdGEtdmFsaWRhdG9yLW5lZ2F0aXZlbnVtYmVyLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgcmVxdWlyZWQ6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIlJlcXVpcmVkIiwNCisgICAgICAgICAgICAgICAgdHlwZTogInJlcXVpcmVkIiwNCisgICAgICAgICAgICAgICAgbWVzc2FnZTogIlRoaXMgaXMgcmVxdWlyZWQ8IS0tIGRhdGEtdmFsaWRhdG9yLXJlcXVpcmVkLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgY2hlY2tvbmU6IHsNCisgICAgICAgICAgICAgICAgbmFtZTogIkNoZWNrb25lIiwNCisgICAgICAgICAgICAgICAgdHlwZTogIm1pbmNoZWNrZWQiLA0KKyAgICAgICAgICAgICAgICBtaW5jaGVja2VkOiAxLA0KKyAgICAgICAgICAgICAgICBtZXNzYWdlOiAiQ2hlY2sgYXQgbGVhc3Qgb25lIG9wdGlvbjwhLS0gZGF0YS12YWxpZGF0aW9uLWNoZWNrb25lLW1lc3NhZ2UgdG8gb3ZlcnJpZGUgLS0+Ig0KKyAgICAgICAgICAgIH0NCiAgICAgICAgIH0NCi0gICAgICB9LA0KLQkJCXJlZ2V4OiB7DQotCQkJCW5hbWU6ICJyZWdleCIsDQotCQkJCWluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KLQkJCQkJcmV0dXJuIHtyZWdleDogcmVnZXhGcm9tU3RyaW5nKCR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJSZWdleCIpKX07DQotCQkJCX0sDQotCQkJCXZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCi0JCQkJCXJldHVybiAoIXZhbGlkYXRvci5yZWdleC50ZXN0KHZhbHVlKSAmJiAhIHZhbGlkYXRvci5uZWdhdGl2ZSkNCi0JCQkJCQl8fCAodmFsaWRhdG9yLnJlZ2V4LnRlc3QodmFsdWUpICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQotCQkJCX0NCi0JCQl9LA0KLQkJCXJlcXVpcmVkOiB7DQotCQkJCW5hbWU6ICJyZXF1aXJlZCIsDQotCQkJCWluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KLQkJCQkJcmV0dXJuIHt9Ow0KLQkJCQl9LA0KLQkJCQl2YWxpZGF0ZTogZnVuY3Rpb24gKCR0aGlzLCB2YWx1ZSwgdmFsaWRhdG9yKSB7DQotCQkJCQlyZXR1cm4gISEodmFsdWUubGVuZ3RoID09PSAwICAmJiAhIHZhbGlkYXRvci5uZWdhdGl2ZSkNCi0JCQkJCQl8fCAhISh2YWx1ZS5sZW5ndGggPiAwICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQotCQkJCX0sDQotICAgICAgICBibG9ja1N1Ym1pdDogdHJ1ZQ0KLQkJCX0sDQotCQkJbWF0Y2g6IHsNCi0JCQkJbmFtZTogIm1hdGNoIiwNCi0JCQkJaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQotCQkJCQl2YXIgZWxlbWVudCA9ICR0aGlzLnBhcmVudHMoImZvcm0iKS5maXJzdCgpLmZpbmQoIltuYW1lPVwiIiArICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJNYXRjaCIpICsgIlwiXSIpLmZpcnN0KCk7DQotCQkJCQllbGVtZW50LmJpbmQoInZhbGlkYXRpb24udmFsaWRhdGlvbiIsIGZ1bmN0aW9uICgpIHsNCi0JCQkJCQkkdGhpcy50cmlnZ2VyKCJjaGFuZ2UudmFsaWRhdGlvbiIsIHtzdWJtaXR0aW5nOiB0cnVlfSk7DQotCQkJCQl9KTsNCi0JCQkJCXJldHVybiB7ImVsZW1lbnQiOiBlbGVtZW50fTsNCi0JCQkJfSwNCi0JCQkJdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KLQkJCQkJcmV0dXJuICh2YWx1ZSAhPT0gdmFsaWRhdG9yLmVsZW1lbnQudmFsKCkgJiYgISB2YWxpZGF0b3IubmVnYXRpdmUpDQotCQkJCQkJfHwgKHZhbHVlID09PSB2YWxpZGF0b3IuZWxlbWVudC52YWwoKSAmJiB2YWxpZGF0b3IubmVnYXRpdmUpOw0KLQkJCQl9LA0KLSAgICAgICAgYmxvY2tTdWJtaXQ6IHRydWUNCi0JCQl9LA0KLQkJCW1heDogew0KLQkJCQluYW1lOiAibWF4IiwNCi0JCQkJaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQotCQkJCQlyZXR1cm4ge21heDogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1heCIpfTsNCi0JCQkJfSwNCi0JCQkJdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KLQkJCQkJcmV0dXJuIChwYXJzZUZsb2F0KHZhbHVlLCAxMCkgPiBwYXJzZUZsb2F0KHZhbGlkYXRvci5tYXgsIDEwKSAmJiAhIHZhbGlkYXRvci5uZWdhdGl2ZSkNCi0JCQkJCQl8fCAocGFyc2VGbG9hdCh2YWx1ZSwgMTApIDw9IHBhcnNlRmxvYXQodmFsaWRhdG9yLm1heCwgMTApICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQotCQkJCX0NCi0JCQl9LA0KLQkJCW1pbjogew0KLQkJCQluYW1lOiAibWluIiwNCi0JCQkJaW5pdDogZnVuY3Rpb24gKCR0aGlzLCBuYW1lKSB7DQotCQkJCQlyZXR1cm4ge21pbjogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1pbiIpfTsNCi0JCQkJfSwNCi0JCQkJdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KLQkJCQkJcmV0dXJuIChwYXJzZUZsb2F0KHZhbHVlKSA8IHBhcnNlRmxvYXQodmFsaWRhdG9yLm1pbikgJiYgISB2YWxpZGF0b3IubmVnYXRpdmUpDQotCQkJCQkJfHwgKHBhcnNlRmxvYXQodmFsdWUpID49IHBhcnNlRmxvYXQodmFsaWRhdG9yLm1pbikgJiYgdmFsaWRhdG9yLm5lZ2F0aXZlKTsNCi0JCQkJfQ0KLQkJCX0sDQotCQkJbWF4bGVuZ3RoOiB7DQotCQkJCW5hbWU6ICJtYXhsZW5ndGgiLA0KLQkJCQlpbml0OiBmdW5jdGlvbiAoJHRoaXMsIG5hbWUpIHsNCi0JCQkJCXJldHVybiB7bWF4bGVuZ3RoOiAkdGhpcy5kYXRhKCJ2YWxpZGF0aW9uIiArIG5hbWUgKyAiTWF4bGVuZ3RoIil9Ow0KLQkJCQl9LA0KLQkJCQl2YWxpZGF0ZTogZnVuY3Rpb24gKCR0aGlzLCB2YWx1ZSwgdmFsaWRhdG9yKSB7DQotCQkJCQlyZXR1cm4gKCh2YWx1ZS5sZW5ndGggPiB2YWxpZGF0b3IubWF4bGVuZ3RoKSAmJiAhIHZhbGlkYXRvci5uZWdhdGl2ZSkNCi0JCQkJCQl8fCAoKHZhbHVlLmxlbmd0aCA8PSB2YWxpZGF0b3IubWF4bGVuZ3RoKSAmJiB2YWxpZGF0b3IubmVnYXRpdmUpOw0KLQkJCQl9DQotCQkJfSwNCi0JCQltaW5sZW5ndGg6IHsNCi0JCQkJbmFtZTogIm1pbmxlbmd0aCIsDQotCQkJCWluaXQ6IGZ1bmN0aW9uICgkdGhpcywgbmFtZSkgew0KLQkJCQkJcmV0dXJuIHttaW5sZW5ndGg6ICR0aGlzLmRhdGEoInZhbGlkYXRpb24iICsgbmFtZSArICJNaW5sZW5ndGgiKX07DQotCQkJCX0sDQotCQkJCXZhbGlkYXRlOiBmdW5jdGlvbiAoJHRoaXMsIHZhbHVlLCB2YWxpZGF0b3IpIHsNCi0JCQkJCXJldHVybiAoKHZhbHVlLmxlbmd0aCA8IHZhbGlkYXRvci5taW5sZW5ndGgpICYmICEgdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KLQkJCQkJCXx8ICgodmFsdWUubGVuZ3RoID49IHZhbGlkYXRvci5taW5sZW5ndGgpICYmIHZhbGlkYXRvci5uZWdhdGl2ZSk7DQotCQkJCX0NCi0JCQl9LA0KLQkJCW1heGNoZWNrZWQ6IHsNCi0JCQkJbmFtZTogIm1heGNoZWNrZWQiLA0KLQkJCQlpbml0OiBmdW5jdGlvbiAoJHRoaXMsIG5hbWUpIHsNCi0JCQkJCXZhciBlbGVtZW50cyA9ICR0aGlzLnBhcmVudHMoImZvcm0iKS5maXJzdCgpLmZpbmQoIltuYW1lPVwiIiArICR0aGlzLmF0dHIoIm5hbWUiKSArICJcIl0iKTsNCi0JCQkJCWVsZW1lbnRzLmJpbmQoImNsaWNrLnZhbGlkYXRpb24iLCBmdW5jdGlvbiAoKSB7DQotCQkJCQkJJHRoaXMudHJpZ2dlcigiY2hhbmdlLnZhbGlkYXRpb24iLCB7aW5jbHVkZUVtcHR5OiB0cnVlfSk7DQotCQkJCQl9KTsNCi0JCQkJCXJldHVybiB7bWF4Y2hlY2tlZDogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1heGNoZWNrZWQiKSwgZWxlbWVudHM6IGVsZW1lbnRzfTsNCi0JCQkJfSwNCi0JCQkJdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KLQkJCQkJcmV0dXJuICh2YWxpZGF0b3IuZWxlbWVudHMuZmlsdGVyKCI6Y2hlY2tlZCIpLmxlbmd0aCA+IHZhbGlkYXRvci5tYXhjaGVja2VkICYmICEgdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KLQkJCQkJCXx8ICh2YWxpZGF0b3IuZWxlbWVudHMuZmlsdGVyKCI6Y2hlY2tlZCIpLmxlbmd0aCA8PSB2YWxpZGF0b3IubWF4Y2hlY2tlZCAmJiB2YWxpZGF0b3IubmVnYXRpdmUpOw0KLQkJCQl9LA0KLSAgICAgICAgYmxvY2tTdWJtaXQ6IHRydWUNCi0JCQl9LA0KLQkJCW1pbmNoZWNrZWQ6IHsNCi0JCQkJbmFtZTogIm1pbmNoZWNrZWQiLA0KLQkJCQlpbml0OiBmdW5jdGlvbiAoJHRoaXMsIG5hbWUpIHsNCi0JCQkJCXZhciBlbGVtZW50cyA9ICR0aGlzLnBhcmVudHMoImZvcm0iKS5maXJzdCgpLmZpbmQoIltuYW1lPVwiIiArICR0aGlzLmF0dHIoIm5hbWUiKSArICJcIl0iKTsNCi0JCQkJCWVsZW1lbnRzLmJpbmQoImNsaWNrLnZhbGlkYXRpb24iLCBmdW5jdGlvbiAoKSB7DQotCQkJCQkJJHRoaXMudHJpZ2dlcigiY2hhbmdlLnZhbGlkYXRpb24iLCB7aW5jbHVkZUVtcHR5OiB0cnVlfSk7DQotCQkJCQl9KTsNCi0JCQkJCXJldHVybiB7bWluY2hlY2tlZDogJHRoaXMuZGF0YSgidmFsaWRhdGlvbiIgKyBuYW1lICsgIk1pbmNoZWNrZWQiKSwgZWxlbWVudHM6IGVsZW1lbnRzfTsNCi0JCQkJfSwNCi0JCQkJdmFsaWRhdGU6IGZ1bmN0aW9uICgkdGhpcywgdmFsdWUsIHZhbGlkYXRvcikgew0KLQkJCQkJcmV0dXJuICh2YWxpZGF0b3IuZWxlbWVudHMuZmlsdGVyKCI6Y2hlY2tlZCIpLmxlbmd0aCA8IHZhbGlkYXRvci5taW5jaGVja2VkICYmICEgdmFsaWRhdG9yLm5lZ2F0aXZlKQ0KLQkJCQkJCXx8ICh2YWxpZGF0b3IuZWxlbWVudHMuZmlsdGVyKCI6Y2hlY2tlZCIpLmxlbmd0aCA+PSB2YWxpZGF0b3IubWluY2hlY2tlZCAmJiB2YWxpZGF0b3IubmVnYXRpdmUpOw0KLQkJCQl9LA0KLSAgICAgICAgYmxvY2tTdWJtaXQ6IHRydWUNCi0JCQl9DQotCQl9LA0KLQkJYnVpbHRJblZhbGlkYXRvcnM6IHsNCi0JCQllbWFpbDogew0KLQkJCQluYW1lOiAiRW1haWwiLA0KLQkJCQl0eXBlOiAic2hvcnRjdXQiLA0KLQkJCQlzaG9ydGN1dDogInZhbGlkZW1haWwiDQotCQkJfSwNCi0JCQl2YWxpZGVtYWlsOiB7DQotCQkJCW5hbWU6ICJWYWxpZGVtYWlsIiwNCi0JCQkJdHlwZTogInJlZ2V4IiwNCi0JCQkJcmVnZXg6ICJbQS1aYS16MC05Ll8lKy1dK0BbQS1aYS16MC05Li1dK1xcXC5bQS1aYS16XXsyLDR9IiwNCi0JCQkJbWVzc2FnZTogIk5vdCBhIHZhbGlkIGVtYWlsIGFkZHJlc3M8IS0tIGRhdGEtdmFsaWRhdG9yLXZhbGlkZW1haWwtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfSwNCi0JCQlwYXNzd29yZGFnYWluOiB7DQotCQkJCW5hbWU6ICJQYXNzd29yZGFnYWluIiwNCi0JCQkJdHlwZTogIm1hdGNoIiwNCi0JCQkJbWF0Y2g6ICJwYXNzd29yZCIsDQotCQkJCW1lc3NhZ2U6ICJEb2VzIG5vdCBtYXRjaCB0aGUgZ2l2ZW4gcGFzc3dvcmQ8IS0tIGRhdGEtdmFsaWRhdG9yLXBhc3dvcmRhZ2Fpbi1tZXNzYWdlIHRvIG92ZXJyaWRlIC0tPiINCi0JCQl9LA0KLQkJCXBvc2l0aXZlOiB7DQotCQkJCW5hbWU6ICJQb3NpdGl2ZSIsDQotCQkJCXR5cGU6ICJzaG9ydGN1dCIsDQotCQkJCXNob3J0Y3V0OiAibnVtYmVyLHBvc2l0aXZlbnVtYmVyIg0KLQkJCX0sDQotCQkJbmVnYXRpdmU6IHsNCi0JCQkJbmFtZTogIk5lZ2F0aXZlIiwNCi0JCQkJdHlwZTogInNob3J0Y3V0IiwNCi0JCQkJc2hvcnRjdXQ6ICJudW1iZXIsbmVnYXRpdmVudW1iZXIiDQotCQkJfSwNCi0JCQludW1iZXI6IHsNCi0JCQkJbmFtZTogIk51bWJlciIsDQotCQkJCXR5cGU6ICJyZWdleCIsDQotCQkJCXJlZ2V4OiAiKFsrLV0/XFxcZCsoXFxcLlxcXGQqKT8oW2VFXVsrLV0/WzAtOV0rKT8pPyIsDQotCQkJCW1lc3NhZ2U6ICJNdXN0IGJlIGEgbnVtYmVyPCEtLSBkYXRhLXZhbGlkYXRvci1udW1iZXItbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfSwNCi0JCQlpbnRlZ2VyOiB7DQotCQkJCW5hbWU6ICJJbnRlZ2VyIiwNCi0JCQkJdHlwZTogInJlZ2V4IiwNCi0JCQkJcmVnZXg6ICJbKy1dP1xcXGQrIiwNCi0JCQkJbWVzc2FnZTogIk5vIGRlY2ltYWwgcGxhY2VzIGFsbG93ZWQ8IS0tIGRhdGEtdmFsaWRhdG9yLWludGVnZXItbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfSwNCi0JCQlwb3NpdGl2ZW51bWJlcjogew0KLQkJCQluYW1lOiAiUG9zaXRpdmVudW1iZXIiLA0KLQkJCQl0eXBlOiAibWluIiwNCi0JCQkJbWluOiAwLA0KLQkJCQltZXNzYWdlOiAiTXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcjwhLS0gZGF0YS12YWxpZGF0b3ItcG9zaXRpdmVudW1iZXItbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfSwNCi0JCQluZWdhdGl2ZW51bWJlcjogew0KLQkJCQluYW1lOiAiTmVnYXRpdmVudW1iZXIiLA0KLQkJCQl0eXBlOiAibWF4IiwNCi0JCQkJbWF4OiAwLA0KLQkJCQltZXNzYWdlOiAiTXVzdCBiZSBhIG5lZ2F0aXZlIG51bWJlcjwhLS0gZGF0YS12YWxpZGF0b3ItbmVnYXRpdmVudW1iZXItbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfSwNCi0JCQlyZXF1aXJlZDogew0KLQkJCQluYW1lOiAiUmVxdWlyZWQiLA0KLQkJCQl0eXBlOiAicmVxdWlyZWQiLA0KLQkJCQltZXNzYWdlOiAiVGhpcyBpcyByZXF1aXJlZDwhLS0gZGF0YS12YWxpZGF0b3ItcmVxdWlyZWQtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfSwNCi0JCQljaGVja29uZTogew0KLQkJCQluYW1lOiAiQ2hlY2tvbmUiLA0KLQkJCQl0eXBlOiAibWluY2hlY2tlZCIsDQotCQkJCW1pbmNoZWNrZWQ6IDEsDQotCQkJCW1lc3NhZ2U6ICJDaGVjayBhdCBsZWFzdCBvbmUgb3B0aW9uPCEtLSBkYXRhLXZhbGlkYXRpb24tY2hlY2tvbmUtbWVzc2FnZSB0byBvdmVycmlkZSAtLT4iDQotCQkJfQ0KLQkJfQ0KLQl9Ow0KKyAgICB9Ow0KIA0KLQl2YXIgZm9ybWF0VmFsaWRhdG9yTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7DQotCQlyZXR1cm4gbmFtZQ0KLQkJCS50b0xvd2VyQ2FzZSgpDQotCQkJLnJlcGxhY2UoDQotCQkJCS8oXnxccykoW2Etel0pL2cgLA0KLQkJCQlmdW5jdGlvbihtLHAxLHAyKSB7DQotCQkJCQlyZXR1cm4gcDErcDIudG9VcHBlckNhc2UoKTsNCi0JCQkJfQ0KLQkJCSkNCi0JCTsNCi0JfTsNCisgICAgdmFyIGZvcm1hdFZhbGlkYXRvck5hbWUgPSBmdW5jdGlvbiAobmFtZSkgew0KKyAgICAgICAgcmV0dXJuIG5hbWUNCisgICAgICAgICAgICAudG9Mb3dlckNhc2UoKQ0KKyAgICAgICAgICAgIC5yZXBsYWNlKA0KKyAgICAgICAgICAgICAgICAvKF58XHMpKFthLXpdKS9nLA0KKyAgICAgICAgICAgICAgICBmdW5jdGlvbiAobSwgcDEsIHAyKSB7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcDEgKyBwMi50b1VwcGVyQ2FzZSgpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgIDsNCisgICAgfTsNCiANCi0JdmFyIGdldFZhbHVlID0gZnVuY3Rpb24gKCR0aGlzKSB7DQotCQkvLyBFeHRyYWN0IHRoZSB2YWx1ZSB3ZSdyZSB0YWxraW5nIGFib3V0DQotCQl2YXIgdmFsdWUgPSAkdGhpcy52YWwoKTsNCi0JCXZhciB0eXBlID0gJHRoaXMuYXR0cigidHlwZSIpOw0KLQkJaWYgKHR5cGUgPT09ICJjaGVja2JveCIpIHsNCi0JCQl2YWx1ZSA9ICgkdGhpcy5pcygiOmNoZWNrZWQiKSA/IHZhbHVlIDogIiIpOw0KLQkJfQ0KLQkJaWYgKHR5cGUgPT09ICJyYWRpbyIpIHsNCi0JCQl2YWx1ZSA9ICgkKCdpbnB1dFtuYW1lPSInICsgJHRoaXMuYXR0cigibmFtZSIpICsgJyJdOmNoZWNrZWQnKS5sZW5ndGggPiAwID8gdmFsdWUgOiAiIik7DQotCQl9DQotCQlyZXR1cm4gdmFsdWU7DQotCX07DQorICAgIHZhciBnZXRWYWx1ZSA9IGZ1bmN0aW9uICgkdGhpcykgew0KKyAgICAgICAgLy8gRXh0cmFjdCB0aGUgdmFsdWUgd2UncmUgdGFsa2luZyBhYm91dA0KKyAgICAgICAgdmFyIHZhbHVlID0gJHRoaXMudmFsKCk7DQorICAgICAgICB2YXIgdHlwZSA9ICR0aGlzLmF0dHIoInR5cGUiKTsNCisgICAgICAgIGlmICh0eXBlID09PSAiY2hlY2tib3giKSB7DQorICAgICAgICAgICAgdmFsdWUgPSAoJHRoaXMuaXMoIjpjaGVja2VkIikgPyB2YWx1ZSA6ICIiKTsNCisgICAgICAgIH0NCisgICAgICAgIGlmICh0eXBlID09PSAicmFkaW8iKSB7DQorICAgICAgICAgICAgdmFsdWUgPSAoJCgnaW5wdXRbbmFtZT0iJyArICR0aGlzLmF0dHIoIm5hbWUiKSArICciXTpjaGVja2VkJykubGVuZ3RoID4gMCA/IHZhbHVlIDogIiIpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJuIHZhbHVlOw0KKyAgICB9Ow0KIA0KLSAgZnVuY3Rpb24gcmVnZXhGcm9tU3RyaW5nKGlucHV0c3RyaW5nKSB7DQotCQlyZXR1cm4gbmV3IFJlZ0V4cCgiXiIgKyBpbnB1dHN0cmluZyArICIkIik7DQotCX0NCi0NCi0gIC8qKg0KLSAgICogVGhhbmtzIHRvIEphc29uIEJ1bnRpbmcgdmlhIFN0YWNrT3ZlcmZsb3cuY29tDQotICAgKg0KLSAgICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNTk3ODgvaG93LXRvLWV4ZWN1dGUtYS1qYXZhc2NyaXB0LWZ1bmN0aW9uLXdoZW4taS1oYXZlLWl0cy1uYW1lLWFzLWEtc3RyaW5nI2Fuc3dlci0zNTk5MTANCi0gICAqIFNob3J0IGxpbms6IGh0dHA6Ly90aW55dXJsLmNvbS9leGVjdXRlRnVuY3Rpb25CeU5hbWUNCi0gICoqLw0KLSAgZnVuY3Rpb24gZXhlY3V0ZUZ1bmN0aW9uQnlOYW1lKGZ1bmN0aW9uTmFtZSwgY29udGV4dCAvKiwgYXJncyovKSB7DQotICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKS5zcGxpY2UoMik7DQotICAgIHZhciBuYW1lc3BhY2VzID0gZnVuY3Rpb25OYW1lLnNwbGl0KCIuIik7DQotICAgIHZhciBmdW5jID0gbmFtZXNwYWNlcy5wb3AoKTsNCi0gICAgZm9yKHZhciBpID0gMDsgaSA8IG5hbWVzcGFjZXMubGVuZ3RoOyBpKyspIHsNCi0gICAgICBjb250ZXh0ID0gY29udGV4dFtuYW1lc3BhY2VzW2ldXTsNCisgICAgZnVuY3Rpb24gcmVnZXhGcm9tU3RyaW5nKGlucHV0c3RyaW5nKSB7DQorICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgiXiIgKyBpbnB1dHN0cmluZyArICIkIik7DQogICAgIH0NCi0gICAgcmV0dXJuIGNvbnRleHRbZnVuY10uYXBwbHkodGhpcywgYXJncyk7DQotICB9DQogDQotCSQuZm4uanFCb290c3RyYXBWYWxpZGF0aW9uID0gZnVuY3Rpb24oIG1ldGhvZCApIHsNCisgICAgLyoqDQorICAgICAqIFRoYW5rcyB0byBKYXNvbiBCdW50aW5nIHZpYSBTdGFja092ZXJmbG93LmNvbQ0KKyAgICAgKg0KKyAgICAgKiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM1OTc4OC9ob3ctdG8tZXhlY3V0ZS1hLWphdmFzY3JpcHQtZnVuY3Rpb24td2hlbi1pLWhhdmUtaXRzLW5hbWUtYXMtYS1zdHJpbmcjYW5zd2VyLTM1OTkxMA0KKyAgICAgKiBTaG9ydCBsaW5rOiBodHRwOi8vdGlueXVybC5jb20vZXhlY3V0ZUZ1bmN0aW9uQnlOYW1lDQorICAgICAqKi8NCisgICAgZnVuY3Rpb24gZXhlY3V0ZUZ1bmN0aW9uQnlOYW1lKGZ1bmN0aW9uTmFtZSwgY29udGV4dCAvKiwgYXJncyovKSB7DQorICAgICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykuc3BsaWNlKDIpOw0KKyAgICAgICAgdmFyIG5hbWVzcGFjZXMgPSBmdW5jdGlvbk5hbWUuc3BsaXQoIi4iKTsNCisgICAgICAgIHZhciBmdW5jID0gbmFtZXNwYWNlcy5wb3AoKTsNCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXNwYWNlcy5sZW5ndGg7IGkrKykgew0KKyAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0W25hbWVzcGFjZXNbaV1dOw0KKyAgICAgICAgfQ0KKyAgICAgICAgcmV0dXJuIGNvbnRleHRbZnVuY10uYXBwbHkodGhpcywgYXJncyk7DQorICAgIH0NCiANCi0JCWlmICggZGVmYXVsdHMubWV0aG9kc1ttZXRob2RdICkgew0KLQkJCXJldHVybiBkZWZhdWx0cy5tZXRob2RzW21ldGhvZF0uYXBwbHkoIHRoaXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKSk7DQotCQl9IGVsc2UgaWYgKCB0eXBlb2YgbWV0aG9kID09PSAnb2JqZWN0JyB8fCAhIG1ldGhvZCApIHsNCi0JCQlyZXR1cm4gZGVmYXVsdHMubWV0aG9kcy5pbml0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCi0JCX0gZWxzZSB7DQotCQkkLmVycm9yKCAnTWV0aG9kICcgKyAgbWV0aG9kICsgJyBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuanFCb290c3RyYXBWYWxpZGF0aW9uJyApOw0KLQkJCXJldHVybiBudWxsOw0KLQkJfQ0KKyAgICAkLmZuLmpxQm9vdHN0cmFwVmFsaWRhdGlvbiA9IGZ1bmN0aW9uIChtZXRob2QpIHsNCiANCi0JfTsNCisgICAgICAgIGlmIChkZWZhdWx0cy5tZXRob2RzW21ldGhvZF0pIHsNCisgICAgICAgICAgICByZXR1cm4gZGVmYXVsdHMubWV0aG9kc1ttZXRob2RdLmFwcGx5KHRoaXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOw0KKyAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbWV0aG9kID09PSAnb2JqZWN0JyB8fCAhbWV0aG9kKSB7DQorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRzLm1ldGhvZHMuaW5pdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAkLmVycm9yKCdNZXRob2QgJyArIG1ldGhvZCArICcgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmpxQm9vdHN0cmFwVmFsaWRhdGlvbicpOw0KKyAgICAgICAgICAgIHJldHVybiBudWxsOw0KKyAgICAgICAgfQ0KIA0KLSAgJC5qcUJvb3RzdHJhcFZhbGlkYXRpb24gPSBmdW5jdGlvbiAob3B0aW9ucykgew0KLSAgICAkKCI6aW5wdXQiKS5ub3QoIlt0eXBlPWltYWdlXSxbdHlwZT1zdWJtaXRdIikuanFCb290c3RyYXBWYWxpZGF0aW9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsNCi0gIH07DQorICAgIH07DQogDQotfSkoIGpRdWVyeSApOw0KKyAgICAkLmpxQm9vdHN0cmFwVmFsaWRhdGlvbiA9IGZ1bmN0aW9uIChvcHRpb25zKSB7DQorICAgICAgICAkKCI6aW5wdXQiKS5ub3QoIlt0eXBlPWltYWdlXSxbdHlwZT1zdWJtaXRdIikuanFCb290c3RyYXBWYWxpZGF0aW9uLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQorICAgIH07DQorDQorfSkoalF1ZXJ5KTsNCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW0tdmFsaWRhdGUuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW0tdmFsaWRhdGUuanMKaW5kZXggMGZmYTZkMy4uZTYyY2MxMCAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvdmltLXZhbGlkYXRlLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL3ZpbS12YWxpZGF0ZS5qcwpAQCAtMjcsMzMgKzI3LDMzIEBACiAgICAgcnVsZXM6IHsNCiAgICAgICAgIHVybDogew0KICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KLSAgICAgICAgICAgIHVybDp0cnVlLA0KLSAgICAgICAgICAgIG1heGxlbmd0aDo1MA0KKyAgICAgICAgICAgIHVybDogdHJ1ZSwNCisgICAgICAgICAgICBtYXhsZW5ndGg6IDUwDQogICAgICAgICAgICAgLy8scmVwZWF0ZWROYW1lOiB0cnVlDQogICAgICAgICB9LA0KLSAgICAgICAgdmltTmFtZTp7DQorICAgICAgICB2aW1OYW1lOiB7DQogICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQotICAgICAgICAgICAgbWF4bGVuZ3RoOjIwDQorICAgICAgICAgICAgbWF4bGVuZ3RoOiAyMA0KICAgICAgICAgfSwNCi0gICAgICAgIHZlcnNpb246ew0KKyAgICAgICAgdmVyc2lvbjogew0KICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KLSAgICAgICAgICAgIG1heGxlbmd0aDoyMA0KKyAgICAgICAgICAgIG1heGxlbmd0aDogMjANCiAgICAgICAgIH0sDQotICAgICAgICB2ZW5kb3I6ew0KKyAgICAgICAgdmVuZG9yOiB7DQogICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQotICAgICAgICAgICAgbWF4bGVuZ3RoOjIwDQorICAgICAgICAgICAgbWF4bGVuZ3RoOiAyMA0KICAgICAgICAgfSwNCi0gICAgICAgIHVzZXJOYW1lOnsNCisgICAgICAgIHVzZXJOYW1lOiB7DQogICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQotICAgICAgICAgICAgbWF4bGVuZ3RoOjIwDQorICAgICAgICAgICAgbWF4bGVuZ3RoOiAyMA0KICAgICAgICAgfSwNCi0gICAgICAgIHBhc3N3b3JkOnsNCisgICAgICAgIHBhc3N3b3JkOiB7DQogICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQotICAgICAgICAgICAgbWF4bGVuZ3RoOjIwDQorICAgICAgICAgICAgbWF4bGVuZ3RoOiAyMA0KICAgICAgICAgfSwNCi0gICAgICAgIHRlbmFudDp7DQorICAgICAgICB0ZW5hbnQ6IHsNCiAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCi0gICAgICAgICAgICBtYXhsZW5ndGg6MjANCisgICAgICAgICAgICBtYXhsZW5ndGg6IDIwDQogICAgICAgICB9DQogICAgIH0sDQogICAgIG1lc3NhZ2VzOiB7DQpAQCAtNjIsMjIgKzYyLDIyIEBACiAgICAgICAgICAgICByZXF1aXJlZDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2F1dGhfdXJsX3JlcXVpcmVfbWVzc2FnZScpLA0KICAgICAgICAgICAgIHVybDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2F1dGhfdXJsX2FsYXJtX21lc3NhZ2UnKQ0KICAgICAgICAgfSwNCi0gICAgICAgIHZpbU5hbWU6ew0KKyAgICAgICAgdmltTmFtZTogew0KICAgICAgICAgICAgIHJlcXVpcmVkOiAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fbmFtZV9hbGFybV9tZXNzYWdlJykNCiAgICAgICAgIH0sDQotICAgICAgICB1c2VyTmFtZTp7DQorICAgICAgICB1c2VyTmFtZTogew0KICAgICAgICAgICAgIHJlcXVpcmVkOiAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdXNlcm5hbWVfYWxhcm1fbWVzc2FnZScpDQogICAgICAgICB9LA0KLSAgICAgICAgcGFzc3dvcmQ6ew0KKyAgICAgICAgcGFzc3dvcmQ6IHsNCiAgICAgICAgICAgICByZXF1aXJlZDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Bhc3N3b3JkX2FsYXJtX21lc3NhZ2UnKQ0KICAgICAgICAgfSwNCi0gICAgICAgICB2ZXJzaW9uOnsNCisgICAgICAgIHZlcnNpb246IHsNCiAgICAgICAgICAgICByZXF1aXJlZDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3ZlcnNpb25fYWxhcm1fbWVzc2FnZScpDQogICAgICAgICB9LA0KLSAgICAgICAgIHZlbmRvcjp7DQorICAgICAgICB2ZW5kb3I6IHsNCiAgICAgICAgICAgICByZXF1aXJlZDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3ZlbmRvcl9hbGFybV9tZXNzYWdlJykNCiAgICAgICAgIH0sDQotICAgICAgICB0ZW5hbnQ6ew0KKyAgICAgICAgdGVuYW50OiB7DQogICAgICAgICAgICAgcmVxdWlyZWQ6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV90ZW5hbnRfYWxhcm1fbWVzc2FnZScpDQogICAgICAgICB9DQogICAgIH0sDQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvdmltQ2hhcnQuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1DaGFydC5qcwppbmRleCAyODRjMTQzLi4wYTJiMDk3IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1DaGFydC5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1DaGFydC5qcwpAQCAtMTYsNTcgKzE2LDU2IEBACiB2YXIgdmltQ2hhcnQgPSB7fTsNCiANCiANCi0NCi0gdmFyIGxhYmVsVG9wID0gew0KLSAgICBub3JtYWwgOiB7DQotICAgICAgICBsYWJlbCA6IHsNCi0gICAgICAgICAgICBzaG93IDogdHJ1ZSwNCi0gICAgICAgICAgICBwb3NpdGlvbiA6ICdvdXRlcicsDQotICAgICAgICAgICAgZm9ybWF0dGVyIDpmdW5jdGlvbiAocGFyYW1zKXsNCi0gICAgICAgICAgICAgICAgdmFyIHRvdGFsPXBhcmFtcy5zZXJpZXMuZGF0YVsxXS52YWx1ZStwYXJhbXMuc2VyaWVzLmRhdGFbMF0udmFsdWU7DQotICAgICAgICAgICAgICAgIHZhciB1dGlsPXBhcmFtcy5zZXJpZXMuZGF0YVswXS51dGlsOw0KK3ZhciBsYWJlbFRvcCA9IHsNCisgICAgbm9ybWFsOiB7DQorICAgICAgICBsYWJlbDogew0KKyAgICAgICAgICAgIHNob3c6IHRydWUsDQorICAgICAgICAgICAgcG9zaXRpb246ICdvdXRlcicsDQorICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiAocGFyYW1zKSB7DQorICAgICAgICAgICAgICAgIHZhciB0b3RhbCA9IHBhcmFtcy5zZXJpZXMuZGF0YVsxXS52YWx1ZSArIHBhcmFtcy5zZXJpZXMuZGF0YVswXS52YWx1ZTsNCisgICAgICAgICAgICAgICAgdmFyIHV0aWwgPSBwYXJhbXMuc2VyaWVzLmRhdGFbMF0udXRpbDsNCiAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRvdGFsK3V0aWwrIuS4reeahCIrIlxuIitwYXJhbXMudmFsdWUrdXRpbCsi5bey5L2/55SoIiA7DQotICAgICAgICAgICAgICAgIHJldHVybiAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfY2hhcnRfdXNlZCcpK3BhcmFtcy52YWx1ZSt1dGlsKyJcbiIrDQotICAgICAgICAgICAgICAgICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV9jaGFydF90b3RhbCcpKyB0b3RhbCt1dGlsOw0KLSAgICAgICAgICAgIH0sIA0KKyAgICAgICAgICAgICAgICByZXR1cm4gJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX2NoYXJ0X3VzZWQnKSArIHBhcmFtcy52YWx1ZSArIHV0aWwgKyAiXG4iICsNCisgICAgICAgICAgICAgICAgICAgICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV9jaGFydF90b3RhbCcpICsgdG90YWwgKyB1dGlsOw0KKyAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgdGV4dFN0eWxlOiB7DQotICAgICAgICAgICAgICAgIGJhc2VsaW5lIDogJ2JvdHRvbScsDQotICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6J25vcm1hbCcNCisgICAgICAgICAgICAgICAgYmFzZWxpbmU6ICdib3R0b20nLA0KKyAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnbm9ybWFsJw0KIA0KICAgICAgICAgICAgIH0NCiAgICAgICAgIH0sDQotICAgICAgICBsYWJlbExpbmUgOiB7DQotICAgICAgICAgICAgc2hvdyA6IHRydWUNCisgICAgICAgIGxhYmVsTGluZTogew0KKyAgICAgICAgICAgIHNob3c6IHRydWUNCiAgICAgICAgIH0NCiAgICAgfQ0KIH07DQogDQogDQogdmFyIGxhYmVsRnJvbWF0dGVyID0gew0KLSAgICBub3JtYWwgOiB7DQotICAgICAgICBsYWJlbCA6IHsNCi0gICAgICAgICAgICBmb3JtYXR0ZXIgOmZ1bmN0aW9uIChwYXJhbXMpew0KLSAgICAgICAgICAgICAgICByZXR1cm4gcGFyYW1zLnNlcmllcy5kYXRhWzBdLm5hbWUrIlxuIisoMTAwLXBhcmFtcy5wZXJjZW50KS50b0ZpeGVkKDApICsgJyUnDQotICAgICAgICAgICAgfSwgIA0KKyAgICBub3JtYWw6IHsNCisgICAgICAgIGxhYmVsOiB7DQorICAgICAgICAgICAgZm9ybWF0dGVyOiBmdW5jdGlvbiAocGFyYW1zKSB7DQorICAgICAgICAgICAgICAgIHJldHVybiBwYXJhbXMuc2VyaWVzLmRhdGFbMF0ubmFtZSArICJcbiIgKyAoMTAwIC0gcGFyYW1zLnBlcmNlbnQpLnRvRml4ZWQoMCkgKyAnJScNCisgICAgICAgICAgICB9LA0KICAgICAgICAgICAgIHRleHRTdHlsZTogew0KLSAgICAgICAgICAgICAgICBiYXNlbGluZSA6ICdjZW50ZXInLA0KLSAgICAgICAgICAgICAgICAgIGNvbG9yOiIjMDAwIiwNCi0gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0Oidib2xkJw0KKyAgICAgICAgICAgICAgICBiYXNlbGluZTogJ2NlbnRlcicsDQorICAgICAgICAgICAgICAgIGNvbG9yOiAiIzAwMCIsDQorICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJw0KIA0KLSAgICAgICAgICAgICAgIA0KKw0KICAgICAgICAgICAgIH0NCiAgICAgICAgIH0NCiAgICAgfQ0KIH0NCiB2YXIgbGFiZWxCb3R0b20gPSB7DQotICAgIG5vcm1hbCA6IHsNCisgICAgbm9ybWFsOiB7DQogICAgICAgICBjb2xvcjogJyNjY2MnLA0KLSAgICAgICAgbGFiZWwgOiB7DQotICAgICAgICAgICAgc2hvdyA6IHRydWUsDQotICAgICAgICAgICAgcG9zaXRpb24gOiAnY2VudGVyJw0KKyAgICAgICAgbGFiZWw6IHsNCisgICAgICAgICAgICBzaG93OiB0cnVlLA0KKyAgICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJw0KICAgICAgICAgfSwNCi0gICAgICAgIGxhYmVsTGluZSA6IHsNCi0gICAgICAgICAgICBzaG93IDogZmFsc2UNCisgICAgICAgIGxhYmVsTGluZTogew0KKyAgICAgICAgICAgIHNob3c6IGZhbHNlDQogICAgICAgICB9DQogICAgIH0sDQogICAgIGVtcGhhc2lzOiB7DQpAQCAtNzYsOTIgKzc1LDEwNyBAQAogDQogdmFyIHJhZGl1cyA9IFs0MCwgNTVdOw0KIA0KLSB2YXIgdmltUGllQ2hhcnQ7DQordmFyIHZpbVBpZUNoYXJ0Ow0KIA0KLXZpbUNoYXJ0LnZpbVBpZUNoYXJ0SW5pdCA9IGZ1bmN0aW9uKCl7DQotICAgdmltUGllQ2hhcnQgPSBlY2hhcnRzLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpbVBpZUNoYXJ0RGl2JykpOyANCi0gICB2aW1QaWVDaGFydC5zaG93TG9hZGluZyh7DQotICAgIHRleHQgOiAiTG9hZGluZyIsDQotICAgIGVmZmVjdCA6IndoaXJsaW5nIiwNCi0gICAgdGV4dFN0eWxlIDogew0KLSAgICAgICAgZm9udFNpemUgOiAyMA0KLSAgICB9DQotfSk7DQordmltQ2hhcnQudmltUGllQ2hhcnRJbml0ID0gZnVuY3Rpb24gKCkgew0KKyAgICB2aW1QaWVDaGFydCA9IGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmltUGllQ2hhcnREaXYnKSk7DQorICAgIHZpbVBpZUNoYXJ0LnNob3dMb2FkaW5nKHsNCisgICAgICAgIHRleHQ6ICJMb2FkaW5nIiwNCisgICAgICAgIGVmZmVjdDogIndoaXJsaW5nIiwNCisgICAgICAgIHRleHRTdHlsZTogew0KKyAgICAgICAgICAgIGZvbnRTaXplOiAyMA0KKyAgICAgICAgfQ0KKyAgICB9KTsNCiANCiB9DQogDQotdmltQ2hhcnQudmltUGllQ2hhcnQgPSBmdW5jdGlvbihkYXRhKXsNCi0gDQotdmFyIG9wdGlvbiA9IHsNCi0gICAgYW5pbWF0aW9uOnRydWUsDQotICAgIGxlZ2VuZDogew0KLSAgICAgICAgeCA6ICdsZWZ0JywNCi0gICAgICAgIHk6InRvcCIsDQotICAgICAgICBkYXRhOlsNCi0gICAgICAgICAgICAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdmltX2NwdScpLA0KLSAgICAgICAgICAgICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV92aW1fbWVtb3J5JyksDQotICAgICAgICAgICAgJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3ZpbV9kaXNrJykNCi0gICAgICAgIF0sDQotICAgICAgICBvcmllbnQ6ICd2ZXJ0aWNhbCcNCi0gICAgfSwNCi0gICAgIGNvbG9yOlsiIzU3OGViZSIsIiM0NGI2YWUiLCIjREFCQTM2Il0sDQotICAgIHRpdGxlIDogew0KLSAgICAgICAgdGV4dDogJycsDQotICAgICAgICBzdWJ0ZXh0OiAnJywNCi0gICAgICAgIHg6ICdjZW50ZXInDQotICAgIH0sICAgDQotICAgIHRvb2xib3g6IHsNCi0gICAgICAgIHNob3cgOiB0cnVlLA0KK3ZpbUNoYXJ0LnZpbVBpZUNoYXJ0ID0gZnVuY3Rpb24gKGRhdGEpIHsNCiANCi0gICAgICAgIGZlYXR1cmUgOiB7ICAgICAgIA0KLSAgICAgICAgICAgIHNhdmVBc0ltYWdlIDogew0KLSAgICAgICAgICAgIHNob3cgOiB0cnVlLA0KLSAgICAgICAgICAgIHRpdGxlIDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX2NoYXJ0X3NhdmVfcGljdHVyZScpLA0KLSAgICAgICAgICAgIHR5cGUgOiAncG5nJywNCi0gICAgICAgICAgICBsYW5nIDogWyQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV9jaGFydF9jbGlja19zYXZlJyldDQorICAgIHZhciBvcHRpb24gPSB7DQorICAgICAgICBhbmltYXRpb246IHRydWUsDQorICAgICAgICBsZWdlbmQ6IHsNCisgICAgICAgICAgICB4OiAnbGVmdCcsDQorICAgICAgICAgICAgeTogInRvcCIsDQorICAgICAgICAgICAgZGF0YTogWw0KKyAgICAgICAgICAgICAgICAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdmltX2NwdScpLA0KKyAgICAgICAgICAgICAgICAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdmltX21lbW9yeScpLA0KKyAgICAgICAgICAgICAgICAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdmltX2Rpc2snKQ0KKyAgICAgICAgICAgIF0sDQorICAgICAgICAgICAgb3JpZW50OiAndmVydGljYWwnDQorICAgICAgICB9LA0KKyAgICAgICAgY29sb3I6IFsiIzU3OGViZSIsICIjNDRiNmFlIiwgIiNEQUJBMzYiXSwNCisgICAgICAgIHRpdGxlOiB7DQorICAgICAgICAgICAgdGV4dDogJycsDQorICAgICAgICAgICAgc3VidGV4dDogJycsDQorICAgICAgICAgICAgeDogJ2NlbnRlcicNCisgICAgICAgIH0sDQorICAgICAgICB0b29sYm94OiB7DQorICAgICAgICAgICAgc2hvdzogdHJ1ZSwNCisNCisgICAgICAgICAgICBmZWF0dXJlOiB7DQorICAgICAgICAgICAgICAgIHNhdmVBc0ltYWdlOiB7DQorICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLA0KKyAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV9jaGFydF9zYXZlX3BpY3R1cmUnKSwNCisgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdwbmcnLA0KKyAgICAgICAgICAgICAgICAgICAgbGFuZzogWyQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV9jaGFydF9jbGlja19zYXZlJyldDQorICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICB9DQotICAgICAgICB9DQotICAgIH0sDQotICAgIHNlcmllcyA6IFsNCi0gICAgICAgIHsNCi0gICAgICAgICAgICB0eXBlIDogJ3BpZScsDQotICAgICAgICAgICAgY2VudGVyIDogWycxNSUnLCAnNTUlJ10sDQotICAgICAgICAgICAgcmFkaXVzIDogcmFkaXVzLA0KLSAgICAgICAgICAgIGl0ZW1TdHlsZSA6IGxhYmVsRnJvbWF0dGVyLA0KLSAgICAgICAgICAgIGRhdGEgOiBbDQotICAgICAgICAgICAgICAgIHtuYW1lOiQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV92aW1fY3B1JyksIHZhbHVlOmRhdGEudXNhZ2UuY3B1LGl0ZW1TdHlsZSA6IGxhYmVsVG9wLHV0aWw6Jyd9LA0KLSAgICAgICAgICAgICAgICB7bmFtZTonb3RoZXInLCB2YWx1ZTpkYXRhLnJlc291cmNlLmNwdSAtZGF0YS51c2FnZS5jcHUsIGl0ZW1TdHlsZSA6IGxhYmVsQm90dG9tfQ0KLSAgICAgICAgICAgICAgICANCi0gICAgICAgICAgICBdDQogICAgICAgICB9LA0KLSAgICAgICAgew0KLSAgICAgICAgICAgIHR5cGUgOiAncGllJywNCi0gICAgICAgICAgICBjZW50ZXIgOiBbJzQwJScsICc1NSUnXSwNCi0gICAgICAgICAgICByYWRpdXMgOiByYWRpdXMsDQotICAgICAgICAgICAgaXRlbVN0eWxlIDogbGFiZWxGcm9tYXR0ZXIsDQotICAgICAgICAgICAgZGF0YSA6IFsNCi0gICAgICAgICAgICAgICAge25hbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3ZpbV9tZW1vcnknKSwgdmFsdWU6ZGF0YS51c2FnZS5tZW1vcnlNYixpdGVtU3R5bGUgOiBsYWJlbFRvcCx1dGlsOidNQicgfSwNCi0gICAgICAgICAgICAgICAge25hbWU6J290aGVyJywgdmFsdWU6ZGF0YS5yZXNvdXJjZS5tZW1vcnlNYiAtIGRhdGEudXNhZ2UubWVtb3J5TWIsaXRlbVN0eWxlIDogbGFiZWxCb3R0b219DQotICAgICAgICAgICAgICAgIA0KLSAgICAgICAgICAgIF0NCi0gICAgICAgIH0sDQotICAgICAgICB7DQotICAgICAgICAgICAgdHlwZSA6ICdwaWUnLA0KLSAgICAgICAgICAgIGNlbnRlciA6IFsnNjUlJywgJzU1JSddLA0KLSAgICAgICAgICAgIHJhZGl1cyA6IHJhZGl1cywNCi0gICAgICAgICAgICBpdGVtU3R5bGUgOiBsYWJlbEZyb21hdHRlciwNCi0gICAgICAgICAgICBkYXRhIDogWw0KLSAgICAgICAgICAgICAgICAge25hbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3ZpbV9kaXNrJyksIHZhbHVlOmRhdGEudXNhZ2UuZGlza0diLGl0ZW1TdHlsZSA6IGxhYmVsVG9wLHV0aWw6J0dCJ30sDQotICAgICAgICAgICAgICAgIHtuYW1lOidvdGhlcicsIHZhbHVlOmRhdGEucmVzb3VyY2UuZGlza0diIC1kYXRhLnVzYWdlLmRpc2tHYiwgIGl0ZW1TdHlsZSA6IGxhYmVsQm90dG9tfQ0KLSAgICAgICAgICAgICAgIA0KLSAgICAgICAgICAgIF0NCi0gICAgICAgIH0NCi0gICAgICAgICANCi0gICAgXQ0KLX07DQotICAgICAgICAgICAgICAgICAgICANCisgICAgICAgIHNlcmllczogWw0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdHlwZTogJ3BpZScsDQorICAgICAgICAgICAgICAgIGNlbnRlcjogWycxNSUnLCAnNTUlJ10sDQorICAgICAgICAgICAgICAgIHJhZGl1czogcmFkaXVzLA0KKyAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsRnJvbWF0dGVyLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBbDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3ZpbV9jcHUnKSwNCisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGF0YS51c2FnZS5jcHUsDQorICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbFRvcCwNCisgICAgICAgICAgICAgICAgICAgICAgICB1dGlsOiAnJw0KKyAgICAgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgICAgIHtuYW1lOiAnb3RoZXInLCB2YWx1ZTogZGF0YS5yZXNvdXJjZS5jcHUgLSBkYXRhLnVzYWdlLmNwdSwgaXRlbVN0eWxlOiBsYWJlbEJvdHRvbX0NCiANCi0gICAgICAgIC8vIOS4umVjaGFydHPlr7nosaHliqDovb3mlbDmja4gDQorICAgICAgICAgICAgICAgIF0NCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgdHlwZTogJ3BpZScsDQorICAgICAgICAgICAgICAgIGNlbnRlcjogWyc0MCUnLCAnNTUlJ10sDQorICAgICAgICAgICAgICAgIHJhZGl1czogcmFkaXVzLA0KKyAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsRnJvbWF0dGVyLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBbDQorICAgICAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3ZpbV9tZW1vcnknKSwNCisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGF0YS51c2FnZS5tZW1vcnlNYiwNCisgICAgICAgICAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsVG9wLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWw6ICdNQicNCisgICAgICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgICAgICB7bmFtZTogJ290aGVyJywgdmFsdWU6IGRhdGEucmVzb3VyY2UubWVtb3J5TWIgLSBkYXRhLnVzYWdlLm1lbW9yeU1iLCBpdGVtU3R5bGU6IGxhYmVsQm90dG9tfQ0KKw0KKyAgICAgICAgICAgICAgICBdDQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIHR5cGU6ICdwaWUnLA0KKyAgICAgICAgICAgICAgICBjZW50ZXI6IFsnNjUlJywgJzU1JSddLA0KKyAgICAgICAgICAgICAgICByYWRpdXM6IHJhZGl1cywNCisgICAgICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbEZyb21hdHRlciwNCisgICAgICAgICAgICAgICAgZGF0YTogWw0KKyAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV92aW1fZGlzaycpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXRhLnVzYWdlLmRpc2tHYiwNCisgICAgICAgICAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsVG9wLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHV0aWw6ICdHQicNCisgICAgICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgICAgICB7bmFtZTogJ290aGVyJywgdmFsdWU6IGRhdGEucmVzb3VyY2UuZGlza0diIC0gZGF0YS51c2FnZS5kaXNrR2IsIGl0ZW1TdHlsZTogbGFiZWxCb3R0b219DQorDQorICAgICAgICAgICAgICAgIF0NCisgICAgICAgICAgICB9DQorDQorICAgICAgICBdDQorICAgIH07DQorDQorDQorICAgIC8vIOS4umVjaGFydHPlr7nosaHliqDovb3mlbDmja4gDQogICAgIHZpbVBpZUNoYXJ0LmhpZGVMb2FkaW5nKCk7DQogICAgIHZpbVBpZUNoYXJ0LnNldE9wdGlvbihvcHRpb24pOw0KICAgICB3aW5kb3cub25yZXNpemUgPSB2aW1QaWVDaGFydC5yZXNpemU7DQpAQCAtMTY5LDIxNSArMTgzLDI0OSBAQAogDQogfQ0KIA0KLXZpbUNoYXJ0LmdldFBpZUNlbnRlcj1mdW5jdGlvbihuKXsNCit2aW1DaGFydC5nZXRQaWVDZW50ZXIgPSBmdW5jdGlvbiAobikgew0KICAgICB2YXIgY2VudGVyOw0KLSAgICBzd2l0Y2gobikNCi0gICAgew0KLSAgICBjYXNlIDE6DQotICAgICAgY2VudGVyPVsnMTUlJywgJzMwJSddOw0KLSAgICAgIGJyZWFrOw0KLSAgICBjYXNlIDI6DQotICAgICAgY2VudGVyPVsnNDAlJywgJzMwJSddOw0KLSAgICAgIGJyZWFrOw0KLSAgICBjYXNlIDM6DQotICAgICAgY2VudGVyPVsnNjUlJywgJzMwJSddOw0KLSAgICAgIGJyZWFrOw0KLSAgICBjYXNlIDQ6DQotICAgICAgY2VudGVyPVsnMTUlJywgJzgwJSddOw0KLSAgICAgIGJyZWFrOw0KLSAgICBjYXNlIDU6DQotICAgICAgY2VudGVyPVsnNDAlJywgJzgwJSddOw0KLSAgICAgIGJyZWFrOw0KLSAgICBjYXNlIDY6DQotICAgICAgY2VudGVyPVsnNjUlJywgJzgwJSddOw0KLSAgICAgIGJyZWFrOyAgDQotICAgIGNhc2UgNzoNCi0gICAgICBjZW50ZXI9Wyc5MCUnLCAnODAlJ107DQotICAgICAgYnJlYWs7ICAgICAgICAgDQorICAgIHN3aXRjaCAobikgew0KKyAgICAgICAgY2FzZSAxOg0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnMTUlJywgJzMwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSAyOg0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnNDAlJywgJzMwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSAzOg0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnNjUlJywgJzMwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSA0Og0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnMTUlJywgJzgwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSA1Og0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnNDAlJywgJzgwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSA2Og0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnNjUlJywgJzgwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSA3Og0KKyAgICAgICAgICAgIGNlbnRlciA9IFsnOTAlJywgJzgwJSddOw0KKyAgICAgICAgICAgIGJyZWFrOw0KIA0KICAgICB9DQogICAgIHJldHVybiBjZW50ZXI7DQogfQ0KIA0KIA0KLSB2YXIgdGVuYW50UGllQ2hhcnQ7DQotdmltQ2hhcnQudGVuYW50UGllQ2hhcnRJbml0ID0gZnVuY3Rpb24oKXsNCi0gICAgdGVuYW50UGllQ2hhcnQ9IGVjaGFydHMuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVuYW50UGllQ2hhcnREaXYnKSk7IA0KK3ZhciB0ZW5hbnRQaWVDaGFydDsNCit2aW1DaGFydC50ZW5hbnRQaWVDaGFydEluaXQgPSBmdW5jdGlvbiAoKSB7DQorICAgIHRlbmFudFBpZUNoYXJ0ID0gZWNoYXJ0cy5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW5hbnRQaWVDaGFydERpdicpKTsNCiANCi0gICB0ZW5hbnRQaWVDaGFydC5zaG93TG9hZGluZyh7DQotICAgIHRleHQgOiAiTG9hZGluZyIsDQotICAgIGVmZmVjdCA6IndoaXJsaW5nIiwNCi0gICAgdGV4dFN0eWxlIDogew0KLSAgICAgICAgZm9udFNpemUgOiAyMA0KLSAgICB9DQotfSk7DQotfQ0KLXZpbUNoYXJ0LnRlbmFudFBpZUNoYXJ0ID0gZnVuY3Rpb24oZGF0YSl7DQotDQotdmFyICBsZWdlbmRfZGF0YT1uZXcgQXJyYXkoKTsNCi12YXIgc2VyaWVzPW5ldyBBcnJheSgpOw0KLXZhciBuPTA7DQotDQotaWYoZGF0YS5xdW90YS5pbnN0YW5jZXMhPS0xKXsNCi0gICAgbisrOw0KLQ0KLWxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9pbnN0YW5jZXMnKSk7DQotdmFyIGluc3RhbmNlc19zZXJpZXM9ew0KLSAgICAgICAgICAgIHR5cGUgOiAncGllJywNCi0gICAgICAgICAgICBjZW50ZXIgOiB2aW1DaGFydC5nZXRQaWVDZW50ZXIobiksDQotICAgICAgICAgICAgcmFkaXVzIDogcmFkaXVzLA0KLSAgICAgICAgICAgIGl0ZW1TdHlsZSA6IGxhYmVsRnJvbWF0dGVyLA0KLSAgICAgICAgICAgIGRhdGEgOiBbDQotICAgICAgICAgICAgICAgIHtuYW1lOiQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfaW5zdGFuY2VzJyksIHZhbHVlOmRhdGEudXNhZ2UuaW5zdGFuY2VzLGl0ZW1TdHlsZSA6IGxhYmVsVG9wLHV0aWw6Jyd9LA0KLSAgICAgICAgICAgICAgICB7bmFtZTonb3RoZXInLCB2YWx1ZTpkYXRhLnF1b3RhLmluc3RhbmNlcyAtZGF0YS51c2FnZS5pbnN0YW5jZXMsIGl0ZW1TdHlsZSA6IGxhYmVsQm90dG9tfQ0KLSAgICAgICAgICAgICAgICANCi0gICAgICAgICAgICBdDQotICAgICAgICB9Ow0KLSBzZXJpZXMucHVzaChpbnN0YW5jZXNfc2VyaWVzKTsgICAgIA0KLQ0KLX0gICANCi1pZihkYXRhLnF1b3RhLmNwdSE9LTEpew0KLW4rKzsNCi1sZWdlbmRfZGF0YS5wdXNoKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfY3B1JykpOw0KLXZhciBjcHVfc2VyaWVzPXsNCi0gICAgICAgICAgICB0eXBlIDogJ3BpZScsDQotICAgICAgICAgICAgY2VudGVyIDogdmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KLSAgICAgICAgICAgIHJhZGl1cyA6IHJhZGl1cywNCi0gICAgICAgICAgICBpdGVtU3R5bGUgOiBsYWJlbEZyb21hdHRlciwNCi0gICAgICAgICAgICBkYXRhIDogWw0KLSAgICAgICAgICAgICAgICB7bmFtZTokLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X2NwdScpLCB2YWx1ZTpkYXRhLnVzYWdlLmNwdSxpdGVtU3R5bGUgOiBsYWJlbFRvcCx1dGlsOicnIH0sDQotICAgICAgICAgICAgICAgIHtuYW1lOidvdGhlcicsIHZhbHVlOmRhdGEucXVvdGEuY3B1IC1kYXRhLnVzYWdlLmNwdSxpdGVtU3R5bGUgOiBsYWJlbEJvdHRvbX0NCi0gICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgXQ0KLSAgICAgICAgfTsNCi0gc2VyaWVzLnB1c2goY3B1X3Nlcmllcyk7DQotfSANCi1pZihkYXRhLnF1b3RhLm1lbW9yeU1iIT0tMSl7DQotICBuKys7ICAgIA0KLWxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9tZW1vcnlNYicpKTsNCi12YXIgbWVtb3J5TWJfc2VyaWVzPXsNCi0gICAgICAgICAgICB0eXBlIDogJ3BpZScsDQotICAgICAgICAgICAgY2VudGVyIDogdmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KLSAgICAgICAgICAgIHJhZGl1cyA6IHJhZGl1cywNCi0gICAgICAgICAgICBpdGVtU3R5bGUgOiBsYWJlbEZyb21hdHRlciwNCi0gICAgICAgICAgICBkYXRhIDogWw0KLSAgICAgICAgICAgICAgICAge25hbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9tZW1vcnlNYicpLCB2YWx1ZTpkYXRhLnVzYWdlLm1lbW9yeU1iLGl0ZW1TdHlsZSA6IGxhYmVsVG9wLHV0aWw6J01CJ30sDQotICAgICAgICAgICAgICAgIHtuYW1lOidvdGhlcicsIHZhbHVlOmRhdGEucXVvdGEubWVtb3J5TWIgLWRhdGEudXNhZ2UubWVtb3J5TWIsICBpdGVtU3R5bGUgOiBsYWJlbEJvdHRvbX0NCi0gICAgICAgICAgICAgICANCi0gICAgICAgICAgICBdDQotICAgICAgICB9Ow0KLSBzZXJpZXMucHVzaChtZW1vcnlNYl9zZXJpZXMpOw0KLX0gDQotaWYoZGF0YS5xdW90YS5mbG9hdGluZ0lwcyE9LTEpew0KLSAgbisrOyAgICANCi1sZWdlbmRfZGF0YS5wdXNoKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfZmxvYXRpbmdJcHMnKSk7DQotdmFyIGZsb2F0aW5nSXBzX3Nlcmllcz17DQotICAgICAgICAgICAgdHlwZSA6ICdwaWUnLA0KLSAgICAgICAgICAgIGNlbnRlciA6dmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KLSAgICAgICAgICAgIHJhZGl1cyA6IHJhZGl1cywNCi0gICAgICAgICAgICBpdGVtU3R5bGUgOiBsYWJlbEZyb21hdHRlciwNCi0gICAgICAgICAgICBkYXRhIDogWw0KLSAgICAgICAgICAgICAgICAge25hbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9mbG9hdGluZ0lwcycpLCB2YWx1ZTpkYXRhLnVzYWdlLmZsb2F0aW5nSXBzLGl0ZW1TdHlsZSA6IGxhYmVsVG9wLHV0aWw6Jyd9LA0KLSAgICAgICAgICAgICAgICB7bmFtZTonb3RoZXInLCB2YWx1ZTpkYXRhLnF1b3RhLmZsb2F0aW5nSXBzIC1kYXRhLnVzYWdlLmZsb2F0aW5nSXBzLCAgaXRlbVN0eWxlIDogbGFiZWxCb3R0b219DQotICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgXQ0KLSAgICAgICAgfTsNCi0gc2VyaWVzLnB1c2goZmxvYXRpbmdJcHNfc2VyaWVzKTsNCi19IA0KLWlmKGRhdGEucXVvdGEuc2VjdXJpdHlHcm91cHMhPS0xKXsNCi0gIG4rKzsgICAgDQotbGVnZW5kX2RhdGEucHVzaCgkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X3NlY3VyaXR5R3JvdXBzJykpOw0KLXZhciBzZWN1cml0eUdyb3Vwc19zZXJpZXM9ew0KLSAgICAgICAgICAgIHR5cGUgOiAncGllJywNCi0gICAgICAgICAgICBjZW50ZXIgOnZpbUNoYXJ0LmdldFBpZUNlbnRlcihuKSwNCi0gICAgICAgICAgICByYWRpdXMgOiByYWRpdXMsDQotICAgICAgICAgICAgaXRlbVN0eWxlIDogbGFiZWxGcm9tYXR0ZXIsDQotICAgICAgICAgICAgZGF0YSA6IFsNCi0gICAgICAgICAgICAgICAgIHtuYW1lOiQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfc2VjdXJpdHlHcm91cHMnKSwgdmFsdWU6ZGF0YS51c2FnZS5zZWN1cml0eUdyb3VwcyxpdGVtU3R5bGUgOiBsYWJlbFRvcCx1dGlsOicnfSwNCi0gICAgICAgICAgICAgICAgIHtuYW1lOidvdGhlcicsIHZhbHVlOmRhdGEucXVvdGEuc2VjdXJpdHlHcm91cHMgLWRhdGEudXNhZ2Uuc2VjdXJpdHlHcm91cHMsICBpdGVtU3R5bGUgOiBsYWJlbEJvdHRvbX0NCi0gICAgICAgICAgICAgICANCi0gICAgICAgICAgICBdDQotICAgICAgICB9Ow0KLSBzZXJpZXMucHVzaChzZWN1cml0eUdyb3Vwc19zZXJpZXMpOw0KLX0gDQotaWYoZGF0YS5xdW90YS52b2x1bWVzIT0tMSl7DQotICBuKys7ICAgIA0KLWxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF92b2x1bWVzJykpOw0KLXZhciB2b2x1bWVzX3Nlcmllcz17DQotICAgICAgICAgICAgdHlwZSA6ICdwaWUnLA0KLSAgICAgICAgICAgIGNlbnRlciA6dmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KLSAgICAgICAgICAgIHJhZGl1cyA6IHJhZGl1cywNCi0gICAgICAgICAgICBpdGVtU3R5bGUgOiBsYWJlbEZyb21hdHRlciwNCi0gICAgICAgICAgICBkYXRhIDogWw0KLSAgICAgICAgICAgICAgICAge25hbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF92b2x1bWVzJyksIHZhbHVlOmRhdGEudXNhZ2Uudm9sdW1lcyxpdGVtU3R5bGUgOiBsYWJlbFRvcCx1dGlsOicnfSwNCi0gICAgICAgICAgICAgICAgIHtuYW1lOidvdGhlcicsIHZhbHVlOmRhdGEucXVvdGEudm9sdW1lcyAtZGF0YS51c2FnZS52b2x1bWVzLCAgaXRlbVN0eWxlIDogbGFiZWxCb3R0b219DQotICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgXQ0KLSAgICAgICAgfTsNCi0gc2VyaWVzLnB1c2godm9sdW1lc19zZXJpZXMpOw0KLX0gDQotaWYoZGF0YS5xdW90YS52b2x1bWVTdG9yYWdlIT0tMSl7DQotICBuKys7ICAgIA0KLWxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF92b2x1bWVTdG9yYWdlJykpOw0KLXZhciB2b2x1bWVTdG9yYWdlX3Nlcmllcz17DQotICAgICAgICAgICAgdHlwZSA6ICdwaWUnLA0KLSAgICAgICAgICAgIGNlbnRlciA6dmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KLSAgICAgICAgICAgIHJhZGl1cyA6IHJhZGl1cywNCi0gICAgICAgICAgICBpdGVtU3R5bGUgOiBsYWJlbEZyb21hdHRlciwNCi0gICAgICAgICAgICBkYXRhIDogWw0KLSAgICAgICAgICAgICAgICAge25hbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF92b2x1bWVTdG9yYWdlJyksIHZhbHVlOmRhdGEudXNhZ2Uudm9sdW1lU3RvcmFnZSxpdGVtU3R5bGUgOiBsYWJlbFRvcCx1dGlsOidHQid9LA0KLSAgICAgICAgICAgICAgICAge25hbWU6J290aGVyJywgdmFsdWU6ZGF0YS5xdW90YS52b2x1bWVTdG9yYWdlIC1kYXRhLnVzYWdlLnZvbHVtZVN0b3JhZ2UsICBpdGVtU3R5bGUgOiBsYWJlbEJvdHRvbX0NCi0gICAgICAgICAgICAgICANCi0gICAgICAgICAgICBdDQotICAgICAgICB9Ow0KLSBzZXJpZXMucHVzaCh2b2x1bWVTdG9yYWdlX3Nlcmllcyk7DQotfSANCi0NCi0NCi12YXIgb3B0aW9uID0gew0KLSAgICBhbmltYXRpb246dHJ1ZSwNCi0gICAgbGVnZW5kOiB7DQotICAgICAgICB4IDogJ2xlZnQnLA0KLSAgICAgICAgeToidG9wIiwNCi0gICAgICAgIGRhdGE6bGVnZW5kX2RhdGEsDQotICAgICAgICBvcmllbnQ6ICd2ZXJ0aWNhbCcNCi0gICAgfSwNCi0gICAgIGNvbG9yOlsiIzU3OGViZSIsIiM0NGI2YWUiLCIjREFCQTM2IiwiI0Y3OTY5NSIsIiM5Njk5ZTAiLCIjNTdiNWUzIiwiIzQ4Yzc5YyJdLA0KLSAgICB0aXRsZSA6IHsNCi0gICAgICAgIHRleHQ6ICcnLA0KLSAgICAgICAgc3VidGV4dDogJycsDQotICAgICAgICB4OiAnY2VudGVyJw0KLSAgICB9LCAgIA0KLSAgICB0b29sYm94OiB7DQotICAgICAgICBzaG93IDogdHJ1ZSwgICAgICAgDQotICAgICAgICBmZWF0dXJlIDogeyAgICAgICANCi0gICAgICAgICAgICBzYXZlQXNJbWFnZSA6IHsNCi0gICAgICAgICAgICBzaG93IDogdHJ1ZSwNCi0gICAgICAgICAgICB0aXRsZSA6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV9jaGFydF9zYXZlX3BpY3R1cmUnKSwNCi0gICAgICAgICAgICB0eXBlIDogJ3BuZycsDQotICAgICAgICAgICAgbGFuZyA6IFskLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfY2hhcnRfY2xpY2tfc2F2ZScpXQ0KLSAgICAgICAgICAgIH0NCisgICAgdGVuYW50UGllQ2hhcnQuc2hvd0xvYWRpbmcoew0KKyAgICAgICAgdGV4dDogIkxvYWRpbmciLA0KKyAgICAgICAgZWZmZWN0OiAid2hpcmxpbmciLA0KKyAgICAgICAgdGV4dFN0eWxlOiB7DQorICAgICAgICAgICAgZm9udFNpemU6IDIwDQogICAgICAgICB9DQotICAgIH0sDQotICAgIHNlcmllcyA6IHNlcmllcw0KLX07DQotICAgICAgICAgICAgICAgICAgICANCi0gICAgICANCi0gICAgICAgIC8vIOS4umVjaGFydHPlr7nosaHliqDovb3mlbDmja4gDQotICAgICAgICAgdGVuYW50UGllQ2hhcnQuaGlkZUxvYWRpbmcoKTsNCi0gICAgICAgICB0ZW5hbnRQaWVDaGFydC5zZXRPcHRpb24ob3B0aW9uKTsNCi0gICAgICAgICB3aW5kb3cub25yZXNpemUgPSB0ZW5hbnRQaWVDaGFydC5yZXNpemU7DQorICAgIH0pOw0KK30NCit2aW1DaGFydC50ZW5hbnRQaWVDaGFydCA9IGZ1bmN0aW9uIChkYXRhKSB7DQorDQorICAgIHZhciBsZWdlbmRfZGF0YSA9IG5ldyBBcnJheSgpOw0KKyAgICB2YXIgc2VyaWVzID0gbmV3IEFycmF5KCk7DQorICAgIHZhciBuID0gMDsNCisNCisgICAgaWYgKGRhdGEucXVvdGEuaW5zdGFuY2VzICE9IC0xKSB7DQorICAgICAgICBuKys7DQorDQorICAgICAgICBsZWdlbmRfZGF0YS5wdXNoKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfaW5zdGFuY2VzJykpOw0KKyAgICAgICAgdmFyIGluc3RhbmNlc19zZXJpZXMgPSB7DQorICAgICAgICAgICAgdHlwZTogJ3BpZScsDQorICAgICAgICAgICAgY2VudGVyOiB2aW1DaGFydC5nZXRQaWVDZW50ZXIobiksDQorICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMsDQorICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbEZyb21hdHRlciwNCisgICAgICAgICAgICBkYXRhOiBbDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfaW5zdGFuY2VzJyksDQorICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGF0YS51c2FnZS5pbnN0YW5jZXMsDQorICAgICAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsVG9wLA0KKyAgICAgICAgICAgICAgICAgICAgdXRpbDogJycNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAge25hbWU6ICdvdGhlcicsIHZhbHVlOiBkYXRhLnF1b3RhLmluc3RhbmNlcyAtIGRhdGEudXNhZ2UuaW5zdGFuY2VzLCBpdGVtU3R5bGU6IGxhYmVsQm90dG9tfQ0KKw0KKyAgICAgICAgICAgIF0NCisgICAgICAgIH07DQorICAgICAgICBzZXJpZXMucHVzaChpbnN0YW5jZXNfc2VyaWVzKTsNCisNCisgICAgfQ0KKyAgICBpZiAoZGF0YS5xdW90YS5jcHUgIT0gLTEpIHsNCisgICAgICAgIG4rKzsNCisgICAgICAgIGxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9jcHUnKSk7DQorICAgICAgICB2YXIgY3B1X3NlcmllcyA9IHsNCisgICAgICAgICAgICB0eXBlOiAncGllJywNCisgICAgICAgICAgICBjZW50ZXI6IHZpbUNoYXJ0LmdldFBpZUNlbnRlcihuKSwNCisgICAgICAgICAgICByYWRpdXM6IHJhZGl1cywNCisgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsRnJvbWF0dGVyLA0KKyAgICAgICAgICAgIGRhdGE6IFsNCisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgICAgbmFtZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9jcHUnKSwNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXRhLnVzYWdlLmNwdSwNCisgICAgICAgICAgICAgICAgICAgIGl0ZW1TdHlsZTogbGFiZWxUb3AsDQorICAgICAgICAgICAgICAgICAgICB1dGlsOiAnJw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB7bmFtZTogJ290aGVyJywgdmFsdWU6IGRhdGEucXVvdGEuY3B1IC0gZGF0YS51c2FnZS5jcHUsIGl0ZW1TdHlsZTogbGFiZWxCb3R0b219DQorDQorICAgICAgICAgICAgXQ0KKyAgICAgICAgfTsNCisgICAgICAgIHNlcmllcy5wdXNoKGNwdV9zZXJpZXMpOw0KKyAgICB9DQorICAgIGlmIChkYXRhLnF1b3RhLm1lbW9yeU1iICE9IC0xKSB7DQorICAgICAgICBuKys7DQorICAgICAgICBsZWdlbmRfZGF0YS5wdXNoKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfbWVtb3J5TWInKSk7DQorICAgICAgICB2YXIgbWVtb3J5TWJfc2VyaWVzID0gew0KKyAgICAgICAgICAgIHR5cGU6ICdwaWUnLA0KKyAgICAgICAgICAgIGNlbnRlcjogdmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KKyAgICAgICAgICAgIHJhZGl1czogcmFkaXVzLA0KKyAgICAgICAgICAgIGl0ZW1TdHlsZTogbGFiZWxGcm9tYXR0ZXIsDQorICAgICAgICAgICAgZGF0YTogWw0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBuYW1lOiAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X21lbW9yeU1iJyksDQorICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGF0YS51c2FnZS5tZW1vcnlNYiwNCisgICAgICAgICAgICAgICAgICAgIGl0ZW1TdHlsZTogbGFiZWxUb3AsDQorICAgICAgICAgICAgICAgICAgICB1dGlsOiAnTUInDQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIHtuYW1lOiAnb3RoZXInLCB2YWx1ZTogZGF0YS5xdW90YS5tZW1vcnlNYiAtIGRhdGEudXNhZ2UubWVtb3J5TWIsIGl0ZW1TdHlsZTogbGFiZWxCb3R0b219DQorDQorICAgICAgICAgICAgXQ0KKyAgICAgICAgfTsNCisgICAgICAgIHNlcmllcy5wdXNoKG1lbW9yeU1iX3Nlcmllcyk7DQorICAgIH0NCisgICAgaWYgKGRhdGEucXVvdGEuZmxvYXRpbmdJcHMgIT0gLTEpIHsNCisgICAgICAgIG4rKzsNCisgICAgICAgIGxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9mbG9hdGluZ0lwcycpKTsNCisgICAgICAgIHZhciBmbG9hdGluZ0lwc19zZXJpZXMgPSB7DQorICAgICAgICAgICAgdHlwZTogJ3BpZScsDQorICAgICAgICAgICAgY2VudGVyOiB2aW1DaGFydC5nZXRQaWVDZW50ZXIobiksDQorICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMsDQorICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbEZyb21hdHRlciwNCisgICAgICAgICAgICBkYXRhOiBbDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfZmxvYXRpbmdJcHMnKSwNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXRhLnVzYWdlLmZsb2F0aW5nSXBzLA0KKyAgICAgICAgICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbFRvcCwNCisgICAgICAgICAgICAgICAgICAgIHV0aWw6ICcnDQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIHtuYW1lOiAnb3RoZXInLCB2YWx1ZTogZGF0YS5xdW90YS5mbG9hdGluZ0lwcyAtIGRhdGEudXNhZ2UuZmxvYXRpbmdJcHMsIGl0ZW1TdHlsZTogbGFiZWxCb3R0b219DQorDQorICAgICAgICAgICAgXQ0KKyAgICAgICAgfTsNCisgICAgICAgIHNlcmllcy5wdXNoKGZsb2F0aW5nSXBzX3Nlcmllcyk7DQorICAgIH0NCisgICAgaWYgKGRhdGEucXVvdGEuc2VjdXJpdHlHcm91cHMgIT0gLTEpIHsNCisgICAgICAgIG4rKzsNCisgICAgICAgIGxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF9zZWN1cml0eUdyb3VwcycpKTsNCisgICAgICAgIHZhciBzZWN1cml0eUdyb3Vwc19zZXJpZXMgPSB7DQorICAgICAgICAgICAgdHlwZTogJ3BpZScsDQorICAgICAgICAgICAgY2VudGVyOiB2aW1DaGFydC5nZXRQaWVDZW50ZXIobiksDQorICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMsDQorICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbEZyb21hdHRlciwNCisgICAgICAgICAgICBkYXRhOiBbDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfc2VjdXJpdHlHcm91cHMnKSwNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXRhLnVzYWdlLnNlY3VyaXR5R3JvdXBzLA0KKyAgICAgICAgICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbFRvcCwNCisgICAgICAgICAgICAgICAgICAgIHV0aWw6ICcnDQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIHtuYW1lOiAnb3RoZXInLCB2YWx1ZTogZGF0YS5xdW90YS5zZWN1cml0eUdyb3VwcyAtIGRhdGEudXNhZ2Uuc2VjdXJpdHlHcm91cHMsIGl0ZW1TdHlsZTogbGFiZWxCb3R0b219DQorDQorICAgICAgICAgICAgXQ0KKyAgICAgICAgfTsNCisgICAgICAgIHNlcmllcy5wdXNoKHNlY3VyaXR5R3JvdXBzX3Nlcmllcyk7DQorICAgIH0NCisgICAgaWYgKGRhdGEucXVvdGEudm9sdW1lcyAhPSAtMSkgew0KKyAgICAgICAgbisrOw0KKyAgICAgICAgbGVnZW5kX2RhdGEucHVzaCgkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X3ZvbHVtZXMnKSk7DQorICAgICAgICB2YXIgdm9sdW1lc19zZXJpZXMgPSB7DQorICAgICAgICAgICAgdHlwZTogJ3BpZScsDQorICAgICAgICAgICAgY2VudGVyOiB2aW1DaGFydC5nZXRQaWVDZW50ZXIobiksDQorICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMsDQorICAgICAgICAgICAgaXRlbVN0eWxlOiBsYWJlbEZyb21hdHRlciwNCisgICAgICAgICAgICBkYXRhOiBbDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV90ZW5hbnRfdm9sdW1lcycpLA0KKyAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGRhdGEudXNhZ2Uudm9sdW1lcywNCisgICAgICAgICAgICAgICAgICAgIGl0ZW1TdHlsZTogbGFiZWxUb3AsDQorICAgICAgICAgICAgICAgICAgICB1dGlsOiAnJw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB7bmFtZTogJ290aGVyJywgdmFsdWU6IGRhdGEucXVvdGEudm9sdW1lcyAtIGRhdGEudXNhZ2Uudm9sdW1lcywgaXRlbVN0eWxlOiBsYWJlbEJvdHRvbX0NCisNCisgICAgICAgICAgICBdDQorICAgICAgICB9Ow0KKyAgICAgICAgc2VyaWVzLnB1c2godm9sdW1lc19zZXJpZXMpOw0KKyAgICB9DQorICAgIGlmIChkYXRhLnF1b3RhLnZvbHVtZVN0b3JhZ2UgIT0gLTEpIHsNCisgICAgICAgIG4rKzsNCisgICAgICAgIGxlZ2VuZF9kYXRhLnB1c2goJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3RlbmFudF92b2x1bWVTdG9yYWdlJykpOw0KKyAgICAgICAgdmFyIHZvbHVtZVN0b3JhZ2Vfc2VyaWVzID0gew0KKyAgICAgICAgICAgIHR5cGU6ICdwaWUnLA0KKyAgICAgICAgICAgIGNlbnRlcjogdmltQ2hhcnQuZ2V0UGllQ2VudGVyKG4pLA0KKyAgICAgICAgICAgIHJhZGl1czogcmFkaXVzLA0KKyAgICAgICAgICAgIGl0ZW1TdHlsZTogbGFiZWxGcm9tYXR0ZXIsDQorICAgICAgICAgICAgZGF0YTogWw0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBuYW1lOiAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X3ZvbHVtZVN0b3JhZ2UnKSwNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXRhLnVzYWdlLnZvbHVtZVN0b3JhZ2UsDQorICAgICAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IGxhYmVsVG9wLA0KKyAgICAgICAgICAgICAgICAgICAgdXRpbDogJ0dCJw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB7bmFtZTogJ290aGVyJywgdmFsdWU6IGRhdGEucXVvdGEudm9sdW1lU3RvcmFnZSAtIGRhdGEudXNhZ2Uudm9sdW1lU3RvcmFnZSwgaXRlbVN0eWxlOiBsYWJlbEJvdHRvbX0NCisNCisgICAgICAgICAgICBdDQorICAgICAgICB9Ow0KKyAgICAgICAgc2VyaWVzLnB1c2godm9sdW1lU3RvcmFnZV9zZXJpZXMpOw0KKyAgICB9DQorDQorDQorICAgIHZhciBvcHRpb24gPSB7DQorICAgICAgICBhbmltYXRpb246IHRydWUsDQorICAgICAgICBsZWdlbmQ6IHsNCisgICAgICAgICAgICB4OiAnbGVmdCcsDQorICAgICAgICAgICAgeTogInRvcCIsDQorICAgICAgICAgICAgZGF0YTogbGVnZW5kX2RhdGEsDQorICAgICAgICAgICAgb3JpZW50OiAndmVydGljYWwnDQorICAgICAgICB9LA0KKyAgICAgICAgY29sb3I6IFsiIzU3OGViZSIsICIjNDRiNmFlIiwgIiNEQUJBMzYiLCAiI0Y3OTY5NSIsICIjOTY5OWUwIiwgIiM1N2I1ZTMiLCAiIzQ4Yzc5YyJdLA0KKyAgICAgICAgdGl0bGU6IHsNCisgICAgICAgICAgICB0ZXh0OiAnJywNCisgICAgICAgICAgICBzdWJ0ZXh0OiAnJywNCisgICAgICAgICAgICB4OiAnY2VudGVyJw0KKyAgICAgICAgfSwNCisgICAgICAgIHRvb2xib3g6IHsNCisgICAgICAgICAgICBzaG93OiB0cnVlLA0KKyAgICAgICAgICAgIGZlYXR1cmU6IHsNCisgICAgICAgICAgICAgICAgc2F2ZUFzSW1hZ2U6IHsNCisgICAgICAgICAgICAgICAgICAgIHNob3c6IHRydWUsDQorICAgICAgICAgICAgICAgICAgICB0aXRsZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX2NoYXJ0X3NhdmVfcGljdHVyZScpLA0KKyAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3BuZycsDQorICAgICAgICAgICAgICAgICAgICBsYW5nOiBbJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX2NoYXJ0X2NsaWNrX3NhdmUnKV0NCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0sDQorICAgICAgICBzZXJpZXM6IHNlcmllcw0KKyAgICB9Ow0KKw0KKw0KKyAgICAvLyDkuLplY2hhcnRz5a+56LGh5Yqg6L295pWw5o2uIA0KKyAgICB0ZW5hbnRQaWVDaGFydC5oaWRlTG9hZGluZygpOw0KKyAgICB0ZW5hbnRQaWVDaGFydC5zZXRPcHRpb24ob3B0aW9uKTsNCisgICAgd2luZG93Lm9ucmVzaXplID0gdGVuYW50UGllQ2hhcnQucmVzaXplOw0KIA0KIA0KIH0NCiANCi12aW1DaGFydC5ncm93bD1mdW5jdGlvbihtZXNzYWdlLHR5cGUpew0KLSAgICAgICQuZ3Jvd2woew0KK3ZpbUNoYXJ0Lmdyb3dsID0gZnVuY3Rpb24gKG1lc3NhZ2UsIHR5cGUpIHsNCisgICAgJC5ncm93bCh7DQogICAgICAgICBpY29uOiAiZmEgZmEtZW52ZWxvcGUtbyBmYS1sZyIsDQogICAgICAgICB0aXRsZTogIiZuYnNwOyZuYnNwOyIgKyAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdGl0bGVfbm90aWNlJyksDQotICAgICAgICBtZXNzYWdlOiBtZXNzYWdlKyImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsiDQotICAgICAgICAgICAgfSx7DQotICAgICAgICAgICAgICAgIHR5cGU6IHR5cGUsDQotCQkJCWRlbGF5OjANCi0gICAgICAgICAgICB9KTsNCisgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgKyAiJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ig0KKyAgICB9LCB7DQorICAgICAgICB0eXBlOiB0eXBlLA0KKyAgICAgICAgZGVsYXk6IDANCisgICAgfSk7DQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL3ZpbUNoYXJ0Q29udHJvbGxlci5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL3ZpbUNoYXJ0Q29udHJvbGxlci5qcwppbmRleCA0MTc4MTVkLi4xN2Y4ZTA1IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1DaGFydENvbnRyb2xsZXIuanMKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvdmltQ2hhcnRDb250cm9sbGVyLmpzCkBAIC0xNCwxNDkgKzE0LDE0NyBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogICovDQogdmFyIHZtID0gYXZhbG9uDQotCQkuZGVmaW5lKHsNCi0JCQkkaWQgOiAidmltQ2hhcnRDb250cm9sbGVyIiwNCi0JCQkkdmltQ2hhcnRVcmwgOiAnLi4vLi4vYXBpL3ZpbS92MS97dmltX2lkfS9yZXNvdXJjZScsDQotCQkJJHRlbmFudENoYXJ0VXJsIDogJy4uLy4uL2FwaS92aW0vdjEve3ZpbV9pZH0vcmVzb3VyY2Uve3RlbmFudF9uYW1lfScsDQotCQkJJHRlbmFudExpc3RVcmwgOiAnLi4vLi4vYXBpL3ZpbS92MS97dmltX2lkfS90ZW5hbnRzJywNCi0JCQkkdGVuYW50Um9sZVVybCA6ICcuLi8uLi9hcGkvdmltL3YxL3t2aW1faWR9L3JvbGVzJywNCi0JCQl2aW1JbmZvOnsNCi0JCQkJbmFtZTpuYW1lLA0KLQkJCQlpZDppZCwNCi0JCQkJdGVuYW50OnRlbmFudCwNCi0JCQkJaXNBZG1pbjp0cnVlDQotCQkJfSwJDQotCQkJdGVuYW50U2VsZWN0TGlzdDogIHsNCi0JCQkJCWNvbmROYW1lIDogJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3R5cGUiKSwNCi0JCQkJCWNvbXBvbmVudF90eXBlIDogJ3NlbGVjdCcsDQotCQkJCQlzZWxlY3RJdGVtcyA6IFtdDQotCQkJfSwNCi0JCQlpbml0Q2hhcnQgOiBmdW5jdGlvbigpIHsNCisgICAgLmRlZmluZSh7DQorICAgICAgICAkaWQ6ICJ2aW1DaGFydENvbnRyb2xsZXIiLA0KKyAgICAgICAgJHZpbUNoYXJ0VXJsOiAnLi4vLi4vYXBpL3ZpbS92MS97dmltX2lkfS9yZXNvdXJjZScsDQorICAgICAgICAkdGVuYW50Q2hhcnRVcmw6ICcuLi8uLi9hcGkvdmltL3YxL3t2aW1faWR9L3Jlc291cmNlL3t0ZW5hbnRfbmFtZX0nLA0KKyAgICAgICAgJHRlbmFudExpc3RVcmw6ICcuLi8uLi9hcGkvdmltL3YxL3t2aW1faWR9L3RlbmFudHMnLA0KKyAgICAgICAgJHRlbmFudFJvbGVVcmw6ICcuLi8uLi9hcGkvdmltL3YxL3t2aW1faWR9L3JvbGVzJywNCisgICAgICAgIHZpbUluZm86IHsNCisgICAgICAgICAgICBuYW1lOiBuYW1lLA0KKyAgICAgICAgICAgIGlkOiBpZCwNCisgICAgICAgICAgICB0ZW5hbnQ6IHRlbmFudCwNCisgICAgICAgICAgICBpc0FkbWluOiB0cnVlDQorICAgICAgICB9LA0KKyAgICAgICAgdGVuYW50U2VsZWN0TGlzdDogew0KKyAgICAgICAgICAgIGNvbmROYW1lOiAkLmkxOG4ucHJvcCgiY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdHlwZSIpLA0KKyAgICAgICAgICAgIGNvbXBvbmVudF90eXBlOiAnc2VsZWN0JywNCisgICAgICAgICAgICBzZWxlY3RJdGVtczogW10NCisgICAgICAgIH0sDQorICAgICAgICBpbml0Q2hhcnQ6IGZ1bmN0aW9uICgpIHsNCiANCi0JCQkJLy/liKTmlq3np5/miLfmmK/lkKbmnIlhZG1pbuadg+mZkA0KLQkJCQl2YXIgdGVuYW50Um9sZVVybD12bS4kdGVuYW50Um9sZVVybC5yZXBsYWNlKCJ7dmltX2lkfSIsdm0udmltSW5mby5pZCk7IA0KLQkJCQkgJC5hamF4KHsNCi0JICAgICAgICAgICAgICAgICJ0eXBlIjogJ2dldCcsDQotCSAgICAgICAgICAgICAgICAidXJsIjogdGVuYW50Um9sZVVybCwNCi0JICAgICAgICAgICAgICAgICJkYXRhVHlwZSI6ICJqc29uIiwNCi0JICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXNwKSB7ICANCi0JICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mby5pc0FkbWluPSAocmVzcD09bnVsbCk/ZmFsc2U6cmVzcC5pc0FkbWluUm9sZTsgDQotCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJDQotCSAgICAgICAgICAgICAgICB9LA0KLQkgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCi0JCQkJCQkgICB2aW1DaGFydC5ncm93bCgiZ2V0IFt0ZW5hbnQgUm9sZV0gaXMgZXJyb3Ig77yaIit0ZXh0U3RhdHVzKyI6IitlcnJvclRocm93biwiZGFuZ2VyIik7IA0KLQkgICAgICAgICAgICAgICAgIH0sDQotCSAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbigpIHsgDQotCSAgICAgICAgICAgICAgICAgIAlpZih2bS52aW1JbmZvLmlzQWRtaW49PXRydWUpew0KKyAgICAgICAgICAgIC8v5Yik5pat56ef5oi35piv5ZCm5pyJYWRtaW7mnYPpmZANCisgICAgICAgICAgICB2YXIgdGVuYW50Um9sZVVybCA9IHZtLiR0ZW5hbnRSb2xlVXJsLnJlcGxhY2UoInt2aW1faWR9Iiwgdm0udmltSW5mby5pZCk7DQorICAgICAgICAgICAgJC5hamF4KHsNCisgICAgICAgICAgICAgICAgInR5cGUiOiAnZ2V0JywNCisgICAgICAgICAgICAgICAgInVybCI6IHRlbmFudFJvbGVVcmwsDQorICAgICAgICAgICAgICAgICJkYXRhVHlwZSI6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3ApIHsNCisgICAgICAgICAgICAgICAgICAgIHZtLnZpbUluZm8uaXNBZG1pbiA9IChyZXNwID09IG51bGwpID8gZmFsc2UgOiByZXNwLmlzQWRtaW5Sb2xlOw0KIA0KLQkgICAgICAgICAgICAgICAgICAJCS8v6I635Y+W5YWo6YOo6LWE5rqQ5L2/55So5oOF5Ya1IA0KLQkgICAgICAgICAgICAgICAgICAJCXZtLnZpbUNoYXJ0TG9hZCgpOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKFhNTEh0dHBSZXF1ZXN0LCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgew0KKyAgICAgICAgICAgICAgICAgICAgdmltQ2hhcnQuZ3Jvd2woImdldCBbdGVuYW50IFJvbGVdIGlzIGVycm9yIO+8miIgKyB0ZXh0U3RhdHVzICsgIjoiICsgZXJyb3JUaHJvd24sICJkYW5nZXIiKTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgIGlmICh2bS52aW1JbmZvLmlzQWRtaW4gPT0gdHJ1ZSkgew0KIA0KLQkgICAgICAgICAgICAgICAgICAJCSAvL+iOt+WPluenn+aIt+WIl+ihqA0KLQkgICAgICAgICAgICAgICAgICAJCXZtLnZpbUxpc3RMb2FkKCk7DQotCSAgICAgICAgICAgICAgICAgIAl9DQorICAgICAgICAgICAgICAgICAgICAgICAgLy/ojrflj5blhajpg6jotYTmupDkvb/nlKjmg4XlhrUgDQorICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltQ2hhcnRMb2FkKCk7DQogDQotCSAgICAgICAgICAgICAgICAgfQ0KLQkgICAgICAgICAgICB9KTsNCi0JCQkJLy/ojrflj5bnp5/miLfotYTmupDkvb/nlKjmg4XlhrUgDQotCQkJCXZtLnRlbmFudENoYXJ0TG9hZCgpOw0KLQkJCX0sDQotCQkJZ290b1ZpbVBhZ2U6ZnVuY3Rpb24oKXsNCi0JCQkJCXdpbmRvdy5wYXJlbnQuWnRlRnJhbWVXb3JrLmdvVG9VUkxCeUlEQW5kTmV3QWN0aW9uKCdlY29fcm9jX3ZpbW1ncicpOw0KLQkJCX0sDQotCQkJdmltTGlzdExvYWQ6ZnVuY3Rpb24oKXsNCi0JCQkJIHZhciB0ZW5hbnRMaXN0VXJsPXZtLiR0ZW5hbnRMaXN0VXJsLnJlcGxhY2UoInt2aW1faWR9Iix2bS52aW1JbmZvLmlkKTsgDQotCQkJCSAkLmFqYXgoew0KLQkgICAgICAgICAgICAgICAgInR5cGUiOiAnZ2V0JywNCi0JICAgICAgICAgICAgICAgICJ1cmwiOiB0ZW5hbnRMaXN0VXJsLA0KLQkgICAgICAgICAgICAgICAgImRhdGFUeXBlIjogImpzb24iLA0KLQkgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3ApIHsgIA0KLQkgICAgICAgICAgICAgICAgICAgICAgdm0udGVuYW50U2VsZWN0TGlzdC5zZWxlY3RJdGVtcz0gKHJlc3A9PW51bGwpP1tdOnJlc3A7ICAgICAgICAgICAgICAgCQ0KLQkgICAgICAgICAgICAgICAgfSwNCi0JICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQotCQkJCQkJICAgIHZpbUNoYXJ0Lmdyb3dsKCJnZXQgW3RlbmFudCBMaXN0XSBpcyBlcnJvciDvvJoiK3RleHRTdGF0dXMrIjoiK2Vycm9yVGhyb3duLCJkYW5nZXIiKTsgDQotCSAgICAgICAgICAgICAgICAgfQ0KLQkgICAgICAgICAgICB9KTsNCi0JCQl9LA0KLQkJCXZpbUNoYXJ0TG9hZDpmdW5jdGlvbigpew0KLQkJCQl2YXIgdmltaW5pdERhdGE9ew0KLQkJCQkJICAgICJyZXNvdXJjZSI6IHsNCi0JCQkJCSAgICAgICAgImNwdSI6IDAsDQotCQkJCQkgICAgICAgICJtZW1vcnlNYiI6IDUwMywNCi0JCQkJCSAgICAgICAgImRpc2tHYiI6IDkuOA0KLQkJCQkJICAgIH0sDQotCQkJCQkgICAgInVzYWdlIjogew0KLQkJCQkJICAgICAgICAiY3B1IjogMCwNCi0JCQkJCSAgICAgICAgIm1lbW9yeU1iIjogMCwNCi0JCQkJCSAgICAgICAgImRpc2tHYiI6IDANCi0JCQkJCSAgICB9DQotCQkJCQl9DQorICAgICAgICAgICAgICAgICAgICAgICAgLy/ojrflj5bnp5/miLfliJfooagNCisgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1MaXN0TG9hZCgpOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KIA0KLQkJCQkgIHZpbUNoYXJ0LnZpbVBpZUNoYXJ0SW5pdCgpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgLy/ojrflj5bnp5/miLfotYTmupDkvb/nlKjmg4XlhrUgDQorICAgICAgICAgICAgdm0udGVuYW50Q2hhcnRMb2FkKCk7DQorICAgICAgICB9LA0KKyAgICAgICAgZ290b1ZpbVBhZ2U6IGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICB3aW5kb3cucGFyZW50Llp0ZUZyYW1lV29yay5nb1RvVVJMQnlJREFuZE5ld0FjdGlvbignZWNvX3JvY192aW1tZ3InKTsNCisgICAgICAgIH0sDQorICAgICAgICB2aW1MaXN0TG9hZDogZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIHZhciB0ZW5hbnRMaXN0VXJsID0gdm0uJHRlbmFudExpc3RVcmwucmVwbGFjZSgie3ZpbV9pZH0iLCB2bS52aW1JbmZvLmlkKTsNCisgICAgICAgICAgICAkLmFqYXgoew0KKyAgICAgICAgICAgICAgICAidHlwZSI6ICdnZXQnLA0KKyAgICAgICAgICAgICAgICAidXJsIjogdGVuYW50TGlzdFVybCwNCisgICAgICAgICAgICAgICAgImRhdGFUeXBlIjogImpzb24iLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcCkgew0KKyAgICAgICAgICAgICAgICAgICAgdm0udGVuYW50U2VsZWN0TGlzdC5zZWxlY3RJdGVtcyA9IChyZXNwID09IG51bGwpID8gW10gOiByZXNwOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKFhNTEh0dHBSZXF1ZXN0LCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgew0KKyAgICAgICAgICAgICAgICAgICAgdmltQ2hhcnQuZ3Jvd2woImdldCBbdGVuYW50IExpc3RdIGlzIGVycm9yIO+8miIgKyB0ZXh0U3RhdHVzICsgIjoiICsgZXJyb3JUaHJvd24sICJkYW5nZXIiKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICAgICAgfSwNCisgICAgICAgIHZpbUNoYXJ0TG9hZDogZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIHZhciB2aW1pbml0RGF0YSA9IHsNCisgICAgICAgICAgICAgICAgInJlc291cmNlIjogew0KKyAgICAgICAgICAgICAgICAgICAgImNwdSI6IDAsDQorICAgICAgICAgICAgICAgICAgICAibWVtb3J5TWIiOiA1MDMsDQorICAgICAgICAgICAgICAgICAgICAiZGlza0diIjogOS44DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgICJ1c2FnZSI6IHsNCisgICAgICAgICAgICAgICAgICAgICJjcHUiOiAwLA0KKyAgICAgICAgICAgICAgICAgICAgIm1lbW9yeU1iIjogMCwNCisgICAgICAgICAgICAgICAgICAgICJkaXNrR2IiOiAwDQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9DQogDQotCQkJCSAgdmFyIHZpbUNoYXJ0VXJsPXZtLiR2aW1DaGFydFVybC5yZXBsYWNlKCJ7dmltX2lkfSIsdm0udmltSW5mby5pZCk7IA0KLQkJCQkgIA0KKyAgICAgICAgICAgIHZpbUNoYXJ0LnZpbVBpZUNoYXJ0SW5pdCgpOw0KIA0KLQkJCQkgDQotCQkJCSAkLmFqYXgoew0KLQkgICAgICAgICAgICAgICAgInR5cGUiOiAnZ2V0JywNCi0JICAgICAgICAgICAgICAgICJ1cmwiOiB2aW1DaGFydFVybCwNCi0JICAgICAgICAgICAgICAgICJkYXRhVHlwZSI6ICJqc29uIiwNCi0JICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXNwKSB7ICANCi0JICAgICAgICAgICAgICAgICAgICAgdmFyIHZpbURhdGE9IChyZXNwPT1udWxsKT92aW1pbml0RGF0YTpyZXNwOyAgDQotCSAgICAgICAgICAgICAgICAgICAgIHZpbUNoYXJ0LnZpbVBpZUNoYXJ0KHZpbURhdGEpOyAgICAgICAgICAgICAgICAJDQotCSAgICAgICAgICAgICAgICB9LA0KLQkgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCi0JCQkJCQkgICB2aW1DaGFydC5ncm93bCgiZ2V0IFt2aXJ0dWFsIG1hY2hpbmUgbWFuYWdlciByZXNvdXJjZSB1c2luZyBzdGF0dXNdIGlzIGVycm9yIO+8miIrdGV4dFN0YXR1cysiOiIrZXJyb3JUaHJvd24sImRhbmdlciIpOyANCi0JICAgICAgICAgICAgICAgICB9DQotCSAgICAgICAgICAgIH0pOw0KLQkNCi0JCQl9LA0KLQkJCXRlbmFudENoYXJ0TG9hZDpmdW5jdGlvbigpew0KLQkJCQkgdmFyIHRlbmFudENoYXJ0VXJsPXZtLiR0ZW5hbnRDaGFydFVybC5yZXBsYWNlKCJ7dmltX2lkfSIsdm0udmltSW5mby5pZCkucmVwbGFjZSgie3RlbmFudF9uYW1lfSIsdm0udmltSW5mby50ZW5hbnQpOw0KKyAgICAgICAgICAgIHZhciB2aW1DaGFydFVybCA9IHZtLiR2aW1DaGFydFVybC5yZXBsYWNlKCJ7dmltX2lkfSIsIHZtLnZpbUluZm8uaWQpOw0KIA0KLQkJCQl2YXIgdGVuYW50aW5pdERhdGE9ew0KLQkJCQkJCSAgICAidGVuYW50X25hbWUiOiAiIiwNCi0JCQkJCQkJImVycm9ybXNnIjoiIiwNCi0JCQkJCQkgICAgInF1b3RhIjogew0KLQkJCQkJCSAgICAgICAgImNwdSI6IDAsDQotCQkJCQkJICAgICAgICAibWVtb3J5TWIiOiAwLA0KLQkJCQkJCSAgICAgICAgImluc3RhbmNlcyI6IDAsDQotCQkJCQkJICAgICAgICAiZmxvYXRpbmdJcHMiOiAwLA0KLQkJCQkJCSAgICAgICAgInNlY3VyaXR5R3JvdXBzIjogMCwNCi0JCQkJCQkgICAgICAgICJ2b2x1bWVTdG9yYWdlIjogMCwNCi0JCQkJCQkgICAgICAgICJ2b2x1bWVzIjogMA0KLQkJCQkJCSAgICB9LA0KLQkJCQkJCSAgICAidXNhZ2UiOiB7DQotCQkJCQkJICAgICAgICAiY3B1IjogMCwNCi0JCQkJCQkgICAgICAgICJtZW1vcnlNYiI6IDAsDQotCQkJCQkJICAgICAgICAiaW5zdGFuY2VzIjogMCwNCi0JCQkJCQkgICAgICAgICJmbG9hdGluZ0lwcyI6IDAsDQotCQkJCQkJICAgICAgICAic2VjdXJpdHlHcm91cHMiOiAwLA0KLQkJCQkJCSAgICAgICAgInZvbHVtZVN0b3JhZ2UiOiAwLA0KLQkJCQkJCQkJInZvbHVtZXMiOiAwDQotCQkJCQkJICAgIH0NCi0JCQkJCQl9Ow0KLQkJCQl2aW1DaGFydC50ZW5hbnRQaWVDaGFydEluaXQoKTsNCi0JCQkJICQuYWpheCh7DQotCSAgICAgICAgICAgICAgICAidHlwZSI6ICdnZXQnLA0KLQkgICAgICAgICAgICAgICAgInVybCI6IHRlbmFudENoYXJ0VXJsLA0KLQkgICAgICAgICAgICAgICAgImRhdGFUeXBlIjogImpzb24iLA0KLQkgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3ApIHsgIA0KLQkgICAgICAgICAgICAgICAgICAgICB2YXIgdGVuYW50RGF0YT0gKHJlc3A9PW51bGwpP3RlbmFudGluaXREYXRhOnJlc3A7ICANCi0JCQkJCQkgaWYodGVuYW50RGF0YS5lcnJvcm1zZyE9bnVsbCkNCi0JCQkJCQkgew0KLQkJCQkJCSAgIHZpbUNoYXJ0Lmdyb3dsKHRlbmFudERhdGEuZXJyb3Jtc2csImRhbmdlciIpOw0KLQkJCQkJCSB9DQotCSAgICAgICAgICAgICAgICAgICAgICB2aW1DaGFydC50ZW5hbnRQaWVDaGFydCh0ZW5hbnREYXRhKTsgICAgICAgICAgICAgICAgCQ0KLQkgICAgICAgICAgICAgICAgfSwNCi0JICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQotCQkJCQkJICAgdmltQ2hhcnQuZ3Jvd2woImdldCBbdGVuYW50IHF1b3RhIHVzaW5nIHN0YXR1c10gb2NjdXIgZXJyb3Ig77yaIit0ZXh0U3RhdHVzKyI6IitlcnJvclRocm93biwiZGFuZ2VyIik7IA0KLQkgICAgICAgICAgICAgICAgIH0NCi0JICAgICAgICAgICAgfSk7DQogDQotCQkJfQ0KKyAgICAgICAgICAgICQuYWpheCh7DQorICAgICAgICAgICAgICAgICJ0eXBlIjogJ2dldCcsDQorICAgICAgICAgICAgICAgICJ1cmwiOiB2aW1DaGFydFVybCwNCisgICAgICAgICAgICAgICAgImRhdGFUeXBlIjogImpzb24iLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcCkgew0KKyAgICAgICAgICAgICAgICAgICAgdmFyIHZpbURhdGEgPSAocmVzcCA9PSBudWxsKSA/IHZpbWluaXREYXRhIDogcmVzcDsNCisgICAgICAgICAgICAgICAgICAgIHZpbUNoYXJ0LnZpbVBpZUNoYXJ0KHZpbURhdGEpOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKFhNTEh0dHBSZXF1ZXN0LCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgew0KKyAgICAgICAgICAgICAgICAgICAgdmltQ2hhcnQuZ3Jvd2woImdldCBbdmlydHVhbCBtYWNoaW5lIG1hbmFnZXIgcmVzb3VyY2UgdXNpbmcgc3RhdHVzXSBpcyBlcnJvciDvvJoiICsgdGV4dFN0YXR1cyArICI6IiArIGVycm9yVGhyb3duLCAiZGFuZ2VyIik7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9KTsNCiANCi19KTsNCisgICAgICAgIH0sDQorICAgICAgICB0ZW5hbnRDaGFydExvYWQ6IGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICB2YXIgdGVuYW50Q2hhcnRVcmwgPSB2bS4kdGVuYW50Q2hhcnRVcmwucmVwbGFjZSgie3ZpbV9pZH0iLCB2bS52aW1JbmZvLmlkKS5yZXBsYWNlKCJ7dGVuYW50X25hbWV9Iiwgdm0udmltSW5mby50ZW5hbnQpOw0KKw0KKyAgICAgICAgICAgIHZhciB0ZW5hbnRpbml0RGF0YSA9IHsNCisgICAgICAgICAgICAgICAgInRlbmFudF9uYW1lIjogIiIsDQorICAgICAgICAgICAgICAgICJlcnJvcm1zZyI6ICIiLA0KKyAgICAgICAgICAgICAgICAicXVvdGEiOiB7DQorICAgICAgICAgICAgICAgICAgICAiY3B1IjogMCwNCisgICAgICAgICAgICAgICAgICAgICJtZW1vcnlNYiI6IDAsDQorICAgICAgICAgICAgICAgICAgICAiaW5zdGFuY2VzIjogMCwNCisgICAgICAgICAgICAgICAgICAgICJmbG9hdGluZ0lwcyI6IDAsDQorICAgICAgICAgICAgICAgICAgICAic2VjdXJpdHlHcm91cHMiOiAwLA0KKyAgICAgICAgICAgICAgICAgICAgInZvbHVtZVN0b3JhZ2UiOiAwLA0KKyAgICAgICAgICAgICAgICAgICAgInZvbHVtZXMiOiAwDQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgICJ1c2FnZSI6IHsNCisgICAgICAgICAgICAgICAgICAgICJjcHUiOiAwLA0KKyAgICAgICAgICAgICAgICAgICAgIm1lbW9yeU1iIjogMCwNCisgICAgICAgICAgICAgICAgICAgICJpbnN0YW5jZXMiOiAwLA0KKyAgICAgICAgICAgICAgICAgICAgImZsb2F0aW5nSXBzIjogMCwNCisgICAgICAgICAgICAgICAgICAgICJzZWN1cml0eUdyb3VwcyI6IDAsDQorICAgICAgICAgICAgICAgICAgICAidm9sdW1lU3RvcmFnZSI6IDAsDQorICAgICAgICAgICAgICAgICAgICAidm9sdW1lcyI6IDANCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH07DQorICAgICAgICAgICAgdmltQ2hhcnQudGVuYW50UGllQ2hhcnRJbml0KCk7DQorICAgICAgICAgICAgJC5hamF4KHsNCisgICAgICAgICAgICAgICAgInR5cGUiOiAnZ2V0JywNCisgICAgICAgICAgICAgICAgInVybCI6IHRlbmFudENoYXJ0VXJsLA0KKyAgICAgICAgICAgICAgICAiZGF0YVR5cGUiOiAianNvbiIsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXNwKSB7DQorICAgICAgICAgICAgICAgICAgICB2YXIgdGVuYW50RGF0YSA9IChyZXNwID09IG51bGwpID8gdGVuYW50aW5pdERhdGEgOiByZXNwOw0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRlbmFudERhdGEuZXJyb3Jtc2cgIT0gbnVsbCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZpbUNoYXJ0Lmdyb3dsKHRlbmFudERhdGEuZXJyb3Jtc2csICJkYW5nZXIiKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIHZpbUNoYXJ0LnRlbmFudFBpZUNoYXJ0KHRlbmFudERhdGEpOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKFhNTEh0dHBSZXF1ZXN0LCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgew0KKyAgICAgICAgICAgICAgICAgICAgdmltQ2hhcnQuZ3Jvd2woImdldCBbdGVuYW50IHF1b3RhIHVzaW5nIHN0YXR1c10gb2NjdXIgZXJyb3Ig77yaIiArIHRleHRTdGF0dXMgKyAiOiIgKyBlcnJvclRocm93biwgImRhbmdlciIpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorDQorICAgICAgICB9DQorDQorICAgIH0pOw0KIGF2YWxvbi5zY2FuKCk7DQogdm0uaW5pdENoYXJ0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvdmltQ29udHJvbGxlci5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL3ZpbUNvbnRyb2xsZXIuanMKaW5kZXggZTg1NGE2MS4uOTY3ZWIxYyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvdmltQ29udHJvbGxlci5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1Db250cm9sbGVyLmpzCkBAIC0xNCw5MiArMTQsOTEgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICAqLw0KIHZhciB2bSA9IGF2YWxvbg0KLQkJLmRlZmluZSh7DQotCQkJJGlkIDogInZpbUNvbnRyb2xsZXIiLA0KLQkJCXZpbUluZm8gOiAgW10sDQotCQkJLy92aW1TdGF0dXNUaW1lOiQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9nZXR0aW5nX2luZm8nKSwNCi0JCQkvLyBpZlNlYXJjaCA6IDAsDQotCQkJLy8gc2VydmVyX3J0bjp7DQotCQkJLy8gCWluZm9fYmxvY2s6ZmFsc2UsDQotCQkJLy8gCXdhcm5pbmdfYmxvY2s6ZmFsc2UsDQotCQkJLy8gCXJ0bl9pbmZvOiIiLA0KLQkJCS8vIAkkUlROX1NVQ0NFU1M6IlJUTl9TVUNDRVNTIiwNCi0JCQkvLyAJJFJUTl9GQUlMRUQ6IlJUTl9GQUlMRUQiLA0KLSAgIC8vICAgICAgICAgICAgICB3YWl0IDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2NoZWNraW5nX3N0YXR1cycpDQotCQkJLy8gfSwNCi0gICAgICAgICAgICAgZXhlY3V0ZVdhaXQgOiB7Y2xhenogOiAnYWxlcnQtaW5mbycsIHZpc2libGUgOiB0cnVlLCB0ZXh0IDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2NoZWNraW5nX3N0YXR1cycpfSwNCi0gICAgICAgICAgICAgZXhlY3V0ZUVycm9yIDoge2NsYXp6IDogJ2FsZXJ0LWRhbmdlcicsIHZpc2libGUgOiB0cnVlLCB0ZXh0IDogJ2Vycm9yJ30sDQotCQkJJFN0YXR1cwk6ew0KLSAgICAgICAgICAgICAgICBzdWNjZXNzOiJhY3RpdmUiLA0KLSAgICAgICAgICAgICAgICBmYWlsZWQ6ImluYWN0aXZlIiwNCi0JCQkJZGlzcGxheUFjdGl2ZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX25vcm1hbCcpLA0KLQkJCQlkaXNwbGF5SW5hY3RpdmU6ICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9hYm5vcm1hbCcpDQotCQkJfSwNCi0gICAgICAgICAgICBpc1NhdmUgOiB0cnVlLA0KLSAgICAgICAgICAgIGFjdGlvbiA6IHtBREQgOiAnYWRkJywgVVBEQVRFIDogJ3VwZGF0ZSd9LA0KLQkJCSRxdWVyeVZpbUluZm9VcmwgOiAnLi4vLi4vb3Blbm9hcGkvZXh0c3lzL3YxL3ZpbXMnLA0KLSAgICAgICAgICAgICRhZGRWaW1JbmZvVXJsIDogJy4uLy4uL29wZW5vYXBpL2V4dHN5cy92MS92aW1zLycsDQotCQkJJHVwZGF0ZVZpbUluZm9VcmwgOiAnLi4vLi4vb3Blbm9hcGkvZXh0c3lzL3YxL3ZpbXMvJywNCi0JCQkkZGVsVmltSW5mb1VybCA6ICcuLi8uLi9vcGVub2FwaS9leHRzeXMvdjEvdmltcy97dmltX2lkfScsDQotCQkJJGluaXRUYWJsZSA6IGZ1bmN0aW9uKCkgew0KLSAgICAgICAgICAgICAgICAkLmFqYXgoew0KLSAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAnZ2V0JywNCi0gICAgICAgICAgICAgICAgICAgICJ1cmwiOiB2bS4kcXVlcnlWaW1JbmZvVXJsLA0KLSAgICAgICAgICAgICAgICAgICAgLy8iZGF0YVR5cGUiOiAianNvbiIsDQotICAgICAgICAgICAgICAgICAgICAic3VjY2VzcyI6IGZ1bmN0aW9uIChyZXNwLHN0YXR1c1RleHQsanFYSFIpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgIGlmKGpxWEhSLnN0YXR1cz09IjIwMCIpDQotICAgICAgICAgICAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZpbUluZm8gPSByZXNwOw0KLSAgICAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgICAgICAgZWxzZXsNCi0gICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvPVtdOw0KKyAgICAuZGVmaW5lKHsNCisgICAgICAgICRpZDogInZpbUNvbnRyb2xsZXIiLA0KKyAgICAgICAgdmltSW5mbzogW10sDQorICAgICAgICAvL3ZpbVN0YXR1c1RpbWU6JC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dldHRpbmdfaW5mbycpLA0KKyAgICAgICAgLy8gaWZTZWFyY2ggOiAwLA0KKyAgICAgICAgLy8gc2VydmVyX3J0bjp7DQorICAgICAgICAvLyAJaW5mb19ibG9jazpmYWxzZSwNCisgICAgICAgIC8vIAl3YXJuaW5nX2Jsb2NrOmZhbHNlLA0KKyAgICAgICAgLy8gCXJ0bl9pbmZvOiIiLA0KKyAgICAgICAgLy8gCSRSVE5fU1VDQ0VTUzoiUlROX1NVQ0NFU1MiLA0KKyAgICAgICAgLy8gCSRSVE5fRkFJTEVEOiJSVE5fRkFJTEVEIiwNCisgICAgICAgIC8vICAgICAgICAgICAgICB3YWl0IDogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2NoZWNraW5nX3N0YXR1cycpDQorICAgICAgICAvLyB9LA0KKyAgICAgICAgZXhlY3V0ZVdhaXQ6IHtjbGF6ejogJ2FsZXJ0LWluZm8nLCB2aXNpYmxlOiB0cnVlLCB0ZXh0OiAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fY2hlY2tpbmdfc3RhdHVzJyl9LA0KKyAgICAgICAgZXhlY3V0ZUVycm9yOiB7Y2xheno6ICdhbGVydC1kYW5nZXInLCB2aXNpYmxlOiB0cnVlLCB0ZXh0OiAnZXJyb3InfSwNCisgICAgICAgICRTdGF0dXM6IHsNCisgICAgICAgICAgICBzdWNjZXNzOiAiYWN0aXZlIiwNCisgICAgICAgICAgICBmYWlsZWQ6ICJpbmFjdGl2ZSIsDQorICAgICAgICAgICAgZGlzcGxheUFjdGl2ZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX25vcm1hbCcpLA0KKyAgICAgICAgICAgIGRpc3BsYXlJbmFjdGl2ZTogJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2Fibm9ybWFsJykNCisgICAgICAgIH0sDQorICAgICAgICBpc1NhdmU6IHRydWUsDQorICAgICAgICBhY3Rpb246IHtBREQ6ICdhZGQnLCBVUERBVEU6ICd1cGRhdGUnfSwNCisgICAgICAgICRxdWVyeVZpbUluZm9Vcmw6ICcuLi8uLi9vcGVub2FwaS9leHRzeXMvdjEvdmltcycsDQorICAgICAgICAkYWRkVmltSW5mb1VybDogJy4uLy4uL29wZW5vYXBpL2V4dHN5cy92MS92aW1zLycsDQorICAgICAgICAkdXBkYXRlVmltSW5mb1VybDogJy4uLy4uL29wZW5vYXBpL2V4dHN5cy92MS92aW1zLycsDQorICAgICAgICAkZGVsVmltSW5mb1VybDogJy4uLy4uL29wZW5vYXBpL2V4dHN5cy92MS92aW1zL3t2aW1faWR9JywNCisgICAgICAgICRpbml0VGFibGU6IGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAkLmFqYXgoew0KKyAgICAgICAgICAgICAgICAidHlwZSI6ICdnZXQnLA0KKyAgICAgICAgICAgICAgICAidXJsIjogdm0uJHF1ZXJ5VmltSW5mb1VybCwNCisgICAgICAgICAgICAgICAgLy8iZGF0YVR5cGUiOiAianNvbiIsDQorICAgICAgICAgICAgICAgICJzdWNjZXNzIjogZnVuY3Rpb24gKHJlc3AsIHN0YXR1c1RleHQsIGpxWEhSKSB7DQorICAgICAgICAgICAgICAgICAgICBpZiAoanFYSFIuc3RhdHVzID09ICIyMDAiKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mbyA9IHJlc3A7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvID0gW107DQogICAgICAgICAgICAgICAgICAgICAgICAgYm9vdGJveC5hbGVydCgkLmkxOG4ucHJvcCgiY29tX3p0ZV91bXNfZWNvX3JvY192aW1fZ3Jvd2xfbXNnX3F1ZXJ5X2ZhaWxlZCIpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQotICAgICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgICAgICB9LA0KLSAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBib290Ym94LmFsZXJ0KCQuaTE4bi5wcm9wKCJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfcXVlcnlfZmFpbGVkIikgKyB0ZXh0U3RhdHVzKyI6IitlcnJvclRocm93bik7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KLSAgICAgICAgICAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uKCkgew0KLSAgICAgICAgICAgICAgICAgICAgICAgcmVzVXRpbC50b29sdGlwVmltU3RhdHVzKCk7DQotICAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICB9KTsNCi0JCQkJDQotCQkJfSwJCSANCi0JCQkkdmltVHlwZTogIHsNCi0JCQkJCWNvbmROYW1lIDogJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3R5cGUiKSwNCi0JCQkJCWNvbXBvbmVudF90eXBlIDogJ3NlbGVjdCcsDQotCQkJCQlzZWxlY3RJdGVtcyA6IFsNCi0JCQkJCQkJew0KLQkJCQkJCQkJY29uZF92YWx1ZSA6ICd2bXdhcmUnLA0KLQkJCQkJCQkJbmFtZSA6ICJ2bXdhcmUiLA0KLQkJCQkJCQkJdmFsdWUgOiB0cnVlDQotCQkJCQkJCX0sDQotCQkJCQkJCXsNCi0JCQkJCQkJCWNvbmRfdmFsdWUgOiAnb3BlbnN0YWNrJywNCi0JCQkJCQkJCW5hbWUgOiJvcGVuc3RhY2siLA0KLQkJCQkJCQkJdmFsdWUgOiB0cnVlDQotCQkJCQkJCX0NCi0JCQkJCQkJXQ0KLQkJCQl9LA0KLQkJCWFkZFZpbSA6IHsNCi0JCQkJdGl0bGVOYW1lOiAkLmkxOG4ucHJvcCgiY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVnaXN0ZXJfaW5mbyIpLA0KLSAgICAgICAgICAgICAgICB2aW1JZCA6ICIiLA0KLSAgICAgICAgICAgICAgICB2aW1OYW1lIDogIiIsDQotICAgICAgICAgICAgICAgIGRvbWFpbiA6ICcnLA0KLQkJCQl1c2VyTmFtZSA6ICIiLA0KLSAgICAgICAgICAgICAgICB0ZW5hbnQgOiAiIiwNCi0JCQkJcGFzc3dvcmQgOiAiIiwgICAgICAgICAgICAgICANCi0JCQkJdXJsIDogIiIsDQotCQkJCXNhdmVUeXBlIDoiYWRkIiwNCi0JCQkJZGVzY3JpcHRpb24gOiAiIiwgICAgICAgICAgICAgICANCi0gICAgICAgICAgICAgICAgdmltVHlwZSA6Im9wZW5zdGFjayIsDQotICAgICAgICAgICAgICAgIHZlbmRvciA6IiINCi0JCQl9LA0KLSAgICAgICAgJHNob3dWaW1UYWJsZSA6IGZ1bmN0aW9uKGVsLCBhY3Rpb24pIHsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCisgICAgICAgICAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ19xdWVyeV9mYWlsZWQiKSArIHRleHRTdGF0dXMgKyAiOiIgKyBlcnJvclRocm93bik7DQorICAgICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgICAgICAgICByZXNVdGlsLnRvb2x0aXBWaW1TdGF0dXMoKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKw0KKyAgICAgICAgfSwNCisgICAgICAgICR2aW1UeXBlOiB7DQorICAgICAgICAgICAgY29uZE5hbWU6ICQuaTE4bi5wcm9wKCJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV90eXBlIiksDQorICAgICAgICAgICAgY29tcG9uZW50X3R5cGU6ICdzZWxlY3QnLA0KKyAgICAgICAgICAgIHNlbGVjdEl0ZW1zOiBbDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgICAgIGNvbmRfdmFsdWU6ICd2bXdhcmUnLA0KKyAgICAgICAgICAgICAgICAgICAgbmFtZTogInZtd2FyZSIsDQorICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICAgICBjb25kX3ZhbHVlOiAnb3BlbnN0YWNrJywNCisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICJvcGVuc3RhY2siLA0KKyAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRydWUNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIF0NCisgICAgICAgIH0sDQorICAgICAgICBhZGRWaW06IHsNCisgICAgICAgICAgICB0aXRsZU5hbWU6ICQuaTE4bi5wcm9wKCJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZWdpc3Rlcl9pbmZvIiksDQorICAgICAgICAgICAgdmltSWQ6ICIiLA0KKyAgICAgICAgICAgIHZpbU5hbWU6ICIiLA0KKyAgICAgICAgICAgIGRvbWFpbjogJycsDQorICAgICAgICAgICAgdXNlck5hbWU6ICIiLA0KKyAgICAgICAgICAgIHRlbmFudDogIiIsDQorICAgICAgICAgICAgcGFzc3dvcmQ6ICIiLA0KKyAgICAgICAgICAgIHVybDogIiIsDQorICAgICAgICAgICAgc2F2ZVR5cGU6ICJhZGQiLA0KKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiIiwNCisgICAgICAgICAgICB2aW1UeXBlOiAib3BlbnN0YWNrIiwNCisgICAgICAgICAgICB2ZW5kb3I6ICIiDQorICAgICAgICB9LA0KKyAgICAgICAgJHNob3dWaW1UYWJsZTogZnVuY3Rpb24gKGVsLCBhY3Rpb24pIHsNCiAgICAgICAgICAgICB2bS5pc1NhdmUgPSBmYWxzZTsNCi0gICAgICAgICAgICBpZih2bS5hY3Rpb24uQUREID09IGFjdGlvbil7DQorICAgICAgICAgICAgaWYgKHZtLmFjdGlvbi5BREQgPT0gYWN0aW9uKSB7DQogICAgICAgICAgICAgICAgIHZtLmFkZFZpbS52aW1JZCA9ICIiOw0KICAgICAgICAgICAgICAgICB2bS5hZGRWaW0udmltTmFtZSA9ICIiOw0KICAgICAgICAgICAgICAgICB2bS5hZGRWaW0udXNlck5hbWUgPSAiIjsNCkBAIC0xMjcsMTcgKzEyNiwxNyBAQAogICAgICAgICAgICAgICAgIHZtLmFkZFZpbS52aW1UeXBlID0gZWwudHlwZTsNCiAgICAgICAgICAgICAgICAgdm0uYWRkVmltLnZlbmRvciA9IGVsLnZlbmRvcjsNCiAgICAgICAgICAgICB9DQotICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnZpc2libGU9ZmFsc2U7DQotICAgICAgICAgICAgdm0uZXhlY3V0ZVdhaXQudmlzaWJsZT1mYWxzZTsNCisgICAgICAgICAgICB2bS5leGVjdXRlRXJyb3IudmlzaWJsZSA9IGZhbHNlOw0KKyAgICAgICAgICAgIHZtLmV4ZWN1dGVXYWl0LnZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgICAgICAkKCIuZm9ybS1ncm91cCIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdoYXMtc3VjY2VzcycpOw0KICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTsNCiAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCIuaGVscC1ibG9ja1tpZF0iKS5yZW1vdmUoKTsNCiAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAkKCIjYWRkVmltRGxnIikubW9kYWwoInNob3ciKTsNCi0JCX0sDQorICAgICAgICB9LA0KIA0KLSAgICAgICAgJHNhdmVWaW1UYWJsZSA6IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgJHNhdmVWaW1UYWJsZTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgIHZtLmlzU2F2ZSA9IHRydWU7DQogICAgICAgICAgICAgc3VjY2Vzcy5oaWRlKCk7DQogICAgICAgICAgICAgZXJyb3IuaGlkZSgpOw0KQEAgLTE0NywxNTMgKzE0NiwxNTEgQEAKICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICB2bS5leGVjdXRlV2FpdC52aXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICB2bS5leGVjdXRlRXJyb3IudmlzaWJsZSA9IGZhbHNlOw0KLSAgICAgICAgICAgIGlmKHZtLmFkZFZpbS5zYXZlVHlwZT09ImFkZCIpIHsNCisgICAgICAgICAgICBpZiAodm0uYWRkVmltLnNhdmVUeXBlID09ICJhZGQiKSB7DQogICAgICAgICAgICAgICAgIC8v5LiN6IO96YeN5aSN5re75YqgDQotCQkJCS8qDQotICAgICAgICAgICAgICAgIGZvciggdmFyIGkgPSAwOyBpIDwgdm0udmltSW5mby5sZW5ndGg7IGkgKysgKXsNCi0gICAgICAgICAgICAgICAgICAgIGlmKHZtLmFkZFZpbS51cmwgPT0gdm0udmltSW5mb1tpXS51cmwpew0KLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc1V0aWwuZ3Jvd2woJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ190aXRsZSIpICsgICdhbHJlYWR5IGV4aXN0cycsImluZm8iKTsNCi0gICAgICAgICAgICAgICAgICAgICAgICAkKCcjYWRkVmltRGxnJykubW9kYWwoJ2hpZGUnKTsNCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgIH0NCi0JCQkJKi8NCisgICAgICAgICAgICAgICAgLyoNCisgICAgICAgICAgICAgICAgIGZvciggdmFyIGkgPSAwOyBpIDwgdm0udmltSW5mby5sZW5ndGg7IGkgKysgKXsNCisgICAgICAgICAgICAgICAgIGlmKHZtLmFkZFZpbS51cmwgPT0gdm0udmltSW5mb1tpXS51cmwpew0KKyAgICAgICAgICAgICAgICAgcmVzVXRpbC5ncm93bCgkLmkxOG4ucHJvcCgiY29tX3p0ZV91bXNfZWNvX3JvY192aW1fZ3Jvd2xfbXNnX3RpdGxlIikgKyAgJ2FscmVhZHkgZXhpc3RzJywiaW5mbyIpOw0KKyAgICAgICAgICAgICAgICAgJCgnI2FkZFZpbURsZycpLm1vZGFsKCdoaWRlJyk7DQorICAgICAgICAgICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICB2bS5wZXJzaXN0VmltKCk7DQotICAgICAgICAgICAgfSBlbHNlIGlmKCB2bS5hZGRWaW0uc2F2ZVR5cGUgPT0gInVwZGF0ZSIgKXsNCisgICAgICAgICAgICB9IGVsc2UgaWYgKHZtLmFkZFZpbS5zYXZlVHlwZSA9PSAidXBkYXRlIikgew0KICAgICAgICAgICAgICAgICB2bS51cGRhdGVWaW0oKTsNCiAgICAgICAgICAgICB9DQogICAgICAgICB9LA0KICAgICAgICAgLy/mlrDlop52aW0NCi0gICAgICAgIHBlcnNpc3RWaW0gOiBmdW5jdGlvbigpew0KKyAgICAgICAgcGVyc2lzdFZpbTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICQuYWpheCh7DQotICAgICAgICAgICAgICAgIHR5cGUgOiAiUG9zdCIsDQotICAgICAgICAgICAgICAgIHVybCA6IHZtLiRhZGRWaW1JbmZvVXJsLA0KLSAgICAgICAgICAgICAgICBkYXRhIDogSlNPTi5zdHJpbmdpZnkoew0KLSAgICAgICAgICAgICAgICAgICAgbmFtZSAgICAgICA6IHZtLmFkZFZpbS52aW1OYW1lLCANCi0gICAgICAgICAgICAgICAgICAgIHVybCAgICAgICAgOiB2bS5hZGRWaW0udXJsLCAgICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgICAgICAgICB1c2VyTmFtZSAgIDogdm0uYWRkVmltLnVzZXJOYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQgICA6IHZtLmFkZFZpbS5wYXNzd29yZCwNCi0gICAgICAgICAgICAgICAgICAgIHRlbmFudCAgICAgOiB2bS5hZGRWaW0udGVuYW50LA0KLSAgICAgICAgICAgICAgICAgICAgZG9tYWluICAgICA6IHZtLmFkZFZpbS5kb21haW4sDQotICAgICAgICAgICAgICAgICAgICB2ZW5kb3IgICAgIDogdm0uYWRkVmltLnZlbmRvciwNCi0gICAgICAgICAgICAgICAgICAgIHZlcnNpb24gICAgOiB2bS5hZGRWaW0udmVyc2lvbiwgDQotICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdm0uYWRkVmltLmRlc2NyaXB0aW9uLCAgDQotICAgICAgICAgICAgICAgICAgICB0eXBlICAgICAgIDogdm0uYWRkVmltLnZpbVR5cGUsICAgICAgICAgICAgICAgICAgICANCisgICAgICAgICAgICAgICAgdHlwZTogIlBvc3QiLA0KKyAgICAgICAgICAgICAgICB1cmw6IHZtLiRhZGRWaW1JbmZvVXJsLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7DQorICAgICAgICAgICAgICAgICAgICBuYW1lOiB2bS5hZGRWaW0udmltTmFtZSwNCisgICAgICAgICAgICAgICAgICAgIHVybDogdm0uYWRkVmltLnVybCwNCisgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiB2bS5hZGRWaW0udXNlck5hbWUsDQorICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogdm0uYWRkVmltLnBhc3N3b3JkLA0KKyAgICAgICAgICAgICAgICAgICAgdGVuYW50OiB2bS5hZGRWaW0udGVuYW50LA0KKyAgICAgICAgICAgICAgICAgICAgZG9tYWluOiB2bS5hZGRWaW0uZG9tYWluLA0KKyAgICAgICAgICAgICAgICAgICAgdmVuZG9yOiB2bS5hZGRWaW0udmVuZG9yLA0KKyAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjogdm0uYWRkVmltLnZlcnNpb24sDQorICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdm0uYWRkVmltLmRlc2NyaXB0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgdHlwZTogdm0uYWRkVmltLnZpbVR5cGUsDQogICAgICAgICAgICAgICAgIH0pLA0KLSAgICAgICAgICAgICAgICBhc3luYyA6IGZhbHNlLA0KLSAgICAgICAgICAgICAgICBkYXRhVHlwZSA6ICJqc29uIiwNCi0gICAgICAgICAgICAgICAgY29udGVudFR5cGUgOiAnYXBwbGljYXRpb24vanNvbicsDQotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhLHN0YXR1c1RleHQsanFYSFIpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVXYWl0LnZpc2libGU9ZmFsc2U7DQotICAgICAgICAgICAgICAgICAgICB2bS5leGVjdXRlRXJyb3IudmlzaWJsZT1mYWxzZTsNCi0gICAgICAgICAgICAgICAgICAgIGlmICgganFYSFIuc3RhdHVzPT0iMjAxIiApIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICB2bS5hZGRWaW0udmltSWQgPSBkYXRhLnZpbUlkOyAgICAgICAgICAgICAgICAgICAgICAgDQorICAgICAgICAgICAgICAgIGFzeW5jOiBmYWxzZSwNCisgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJywNCisgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEsIHN0YXR1c1RleHQsIGpxWEhSKSB7DQorICAgICAgICAgICAgICAgICAgICB2bS5leGVjdXRlV2FpdC52aXNpYmxlID0gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICB2bS5leGVjdXRlRXJyb3IudmlzaWJsZSA9IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgaWYgKGpxWEhSLnN0YXR1cyA9PSAiMjAxIikgew0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLmFkZFZpbS52aW1JZCA9IGRhdGEudmltSWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgdm0uYWRkVmltLm5hbWUgPSBkYXRhLm5hbWU7DQogICAgICAgICAgICAgICAgICAgICAgICAgdm0uYWRkVmltLnRlbmFudCA9IGRhdGEudGVuYW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgIHZtLmFkZFZpbS50eXBlID0gZGF0YS50eXBlOw0KLSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuZXdWaW09alF1ZXJ5LmV4dGVuZCh7fSwgdm0uYWRkVmltKTsNCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmV3VmltID0galF1ZXJ5LmV4dGVuZCh7fSwgdm0uYWRkVmltKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvLnB1c2gobmV3VmltKTsNCiANCiAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYWRkVmltRGxnJykubW9kYWwoJ2hpZGUnKTsNCi0gICAgICAgICAgICAgICAgICAgICAgICByZXNVdGlsLmdyb3dsKCQuaTE4bi5wcm9wKCJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfdGl0bGUiKSArICQuaTE4bi5wcm9wKCJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfc2F2ZV9zdWNjZXNzIiksInN1Y2Nlc3MiKTsNCi0JCQkJCX0gZWxzZXsNCi0JCQkJCQl2bS5leGVjdXRlRXJyb3IudmlzaWJsZT10cnVlOw0KLQkJCQkJCXZtLmV4ZWN1dGVFcnJvci50ZXh0ID0gJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ19zYXZlX2ZhaWxlZCIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc1V0aWwuZ3Jvd2woJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ190aXRsZSIpICsgJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ19zYXZlX3N1Y2Nlc3MiKSwgInN1Y2Nlc3MiKTsNCisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnZpc2libGUgPSB0cnVlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVFcnJvci50ZXh0ID0gJC5pMThuLnByb3AoImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ19zYXZlX2ZhaWxlZCIpOw0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICB9LA0KLSAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQotICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnZpc2libGUgPSB0cnVlOw0KLSAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVFcnJvci50ZXh0ID0gdGV4dFN0YXR1cysiOiIrZXJyb3JUaHJvd247DQotICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZVdhaXQudmlzaWJsZSA9IGZhbHNlOw0KLQkJCQkgIHZtLmlzU2F2ZSA9IGZhbHNlOw0KLSAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCisgICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVFcnJvci52aXNpYmxlID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVFcnJvci50ZXh0ID0gdGV4dFN0YXR1cyArICI6IiArIGVycm9yVGhyb3duOw0KKyAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZVdhaXQudmlzaWJsZSA9IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgdm0uaXNTYXZlID0gZmFsc2U7DQorICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICB9KTsNCiAgICAgICAgIH0sDQogICAgICAgICAvL+abtOaWsHZpbQ0KLSAgICAgICAgdXBkYXRlVmltIDogZnVuY3Rpb24oKXsNCisgICAgICAgIHVwZGF0ZVZpbTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICQuYWpheCh7DQotICAgICAgICAgICAgICAgIHR5cGUgOiAiUHV0IiwNCi0gICAgICAgICAgICAgICAgdXJsIDogdm0uJHVwZGF0ZVZpbUluZm9Vcmwrdm0uYWRkVmltLnZpbUlkLA0KLQkJCQljb250ZW50VHlwZSA6ICdhcHBsaWNhdGlvbi9qc29uJywNCi0gICAgICAgICAgICAgICAgZGF0YSA6IEpTT04uc3RyaW5naWZ5KHsNCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgOiB2bS5hZGRWaW0udmltTmFtZSwNCi0gICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lIDogdm0uYWRkVmltLnVzZXJOYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQgOiB2bS5hZGRWaW0ucGFzc3dvcmQsDQotICAgICAgICAgICAgICAgICAgICBkb21haW4gICA6IHZtLmFkZFZpbS5kb21haW4sDQotICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICAgOiB2bS5hZGRWaW0udmVyc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICAgOiB2bS5hZGRWaW0uZGVzY3JpcHRpb24sDQotICAgICAgICAgICAgICAgICAgICB1cmwgOiB2bS5hZGRWaW0udXJsLA0KLSAgICAgICAgICAgICAgICAgICAgdGVuYW50OnZtLmFkZFZpbS50ZW5hbnQsDQotICAgICAgICAgICAgICAgICAgICB0eXBlIDogdm0uYWRkVmltLnZpbVR5cGUsDQotICAgICAgICAgICAgICAgICAgICB2ZW5kb3IgOiB2bS5hZGRWaW0udmVuZG9yLA0KKyAgICAgICAgICAgICAgICB0eXBlOiAiUHV0IiwNCisgICAgICAgICAgICAgICAgdXJsOiB2bS4kdXBkYXRlVmltSW5mb1VybCArIHZtLmFkZFZpbS52aW1JZCwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJywNCisgICAgICAgICAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoew0KKyAgICAgICAgICAgICAgICAgICAgbmFtZTogdm0uYWRkVmltLnZpbU5hbWUsDQorICAgICAgICAgICAgICAgICAgICB1c2VyTmFtZTogdm0uYWRkVmltLnVzZXJOYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHZtLmFkZFZpbS5wYXNzd29yZCwNCisgICAgICAgICAgICAgICAgICAgIGRvbWFpbjogdm0uYWRkVmltLmRvbWFpbiwNCisgICAgICAgICAgICAgICAgICAgIHZlcnNpb246IHZtLmFkZFZpbS52ZXJzaW9uLA0KKyAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZtLmFkZFZpbS5kZXNjcmlwdGlvbiwNCisgICAgICAgICAgICAgICAgICAgIHVybDogdm0uYWRkVmltLnVybCwNCisgICAgICAgICAgICAgICAgICAgIHRlbmFudDogdm0uYWRkVmltLnRlbmFudCwNCisgICAgICAgICAgICAgICAgICAgIHR5cGU6IHZtLmFkZFZpbS52aW1UeXBlLA0KKyAgICAgICAgICAgICAgICAgICAgdmVuZG9yOiB2bS5hZGRWaW0udmVuZG9yLA0KICAgICAgICAgICAgICAgICB9KSwNCi0gICAgICAgICAgICAgICAgZGF0YVR5cGUgOiAianNvbiIsDQotICAgICAgICAgICAgICAgIGFzeW5jIDogZmFsc2UsDQotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhLHN0YXR1c1RleHQsanFYSFIpIHsNCi0gICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVXYWl0LnZpc2libGU9ZmFsc2U7DQotICAgICAgICAgICAgICAgICAgICB2bS5leGVjdXRlRXJyb3IudmlzaWJsZT1mYWxzZTsNCi0gICAgICAgICAgICAgICAgICAgIGlmIChqcVhIUi5zdGF0dXM9PSIyMDAiKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yKHZhciBpPTA7aTx2bS52aW1JbmZvLmxlbmd0aDtpKyspew0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih2bS52aW1JbmZvW2ldLnZpbUlkID09IHZtLmFkZFZpbS52aW1JZCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICBhc3luYzogZmFsc2UsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhLCBzdGF0dXNUZXh0LCBqcVhIUikgew0KKyAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZVdhaXQudmlzaWJsZSA9IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnZpc2libGUgPSBmYWxzZTsNCisgICAgICAgICAgICAgICAgICAgIGlmIChqcVhIUi5zdGF0dXMgPT0gIjIwMCIpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLnZpbUluZm8ubGVuZ3RoOyBpKyspIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZtLnZpbUluZm9baV0udmltSWQgPT0gdm0uYWRkVmltLnZpbUlkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW2ldLm5hbWUgPSB2bS5hZGRWaW0udmltTmFtZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZpbUluZm9baV0udXNlck5hbWUgPSB2bS5hZGRWaW0udXNlck5hbWU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW2ldLnBhc3N3b3JkID0gdm0uYWRkVmltLnBhc3N3b3JkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mb1tpXS51cmwgPSB2bS5hZGRWaW0udXJsOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mb1tpXS50ZW5hbnQgPSB2bS5hZGRWaW0udGVuYW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mb1tpXS5kb21haW4gPSB2bS5hZGRWaW0uZG9tYWluOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mb1tpXS5kZXNjcmlwdGlvbiA9IHZtLmFkZFZpbS5kZXNjcmlwdGlvbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW2ldLnR5cGU9dm0uYWRkVmltLnZpbVR5cGU7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvW2ldLmRlc2NyaXB0aW9uID0gdm0uYWRkVmltLmRlc2NyaXB0aW9uOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udmltSW5mb1tpXS50eXBlID0gdm0uYWRkVmltLnZpbVR5cGU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYWRkVmltRGxnJykubW9kYWwoJ2hpZGUnKTsNCi0gICAgICAgICAgICAgICAgICAgICByZXNVdGlsLmdyb3dsKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfdGl0bGUnKSArICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfc2F2ZV9zdWNjZXNzJyksInN1Y2Nlc3MiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICByZXNVdGlsLmdyb3dsKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfdGl0bGUnKSArICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfc2F2ZV9zdWNjZXNzJyksICJzdWNjZXNzIik7DQogICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgICAgICBlbHNlew0KKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVFcnJvci50ZXh0ID0gJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ19zYXZlX2ZhaWxlZCcpOw0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICB9LA0KLSAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQorICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQogICAgICAgICAgICAgICAgICAgICB2bS5pc1NhdmUgPSBmYWxzZTsNCi0gICAgICAgICAgICAgICAgICAgIHZtLmV4ZWN1dGVFcnJvci52aXNpYmxlPXRydWU7DQotICAgICAgICAgICAgICAgICAgICB2bS5leGVjdXRlRXJyb3IudGV4dCA9IHRleHRTdGF0dXMrIjoiK2Vycm9yVGhyb3duOw0KKyAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnZpc2libGUgPSB0cnVlOw0KKyAgICAgICAgICAgICAgICAgICAgdm0uZXhlY3V0ZUVycm9yLnRleHQgPSB0ZXh0U3RhdHVzICsgIjoiICsgZXJyb3JUaHJvd247DQogICAgICAgICAgICAgICAgICAgICB2bS5leGVjdXRlV2FpdC52aXNpYmxlID0gZmFsc2U7DQotICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgfSk7DQogICAgICAgICB9LA0KLSAgICAgICAgZGVsVmltIDogZnVuY3Rpb24oZWwpew0KLSAgICAgICAgICAgIGJvb3Rib3guY29uZmlybSgkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fY29uZmlybV9kZWxldGVfdmltX3JlY29yZCcpLGZ1bmN0aW9uKHJlc3VsdCl7DQotICAgICAgICAgICAgICAgIGlmKHJlc3VsdCl7DQorICAgICAgICBkZWxWaW06IGZ1bmN0aW9uIChlbCkgew0KKyAgICAgICAgICAgIGJvb3Rib3guY29uZmlybSgkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fY29uZmlybV9kZWxldGVfdmltX3JlY29yZCcpLCBmdW5jdGlvbiAocmVzdWx0KSB7DQorICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICQuYWpheCh7DQotICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJERUxFVEUiLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIHVybCA6IHZtLiRkZWxWaW1JbmZvVXJsLnJlcGxhY2UoJ3t2aW1faWR9JywgZWwudmltSWQpLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhLHN0YXR1c1RleHQsanFYSFIpIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGpxWEhSLnN0YXR1cz09IjIwNCIpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcih2YXIgaT0wO2k8dm0udmltSW5mby5sZW5ndGg7aSsrKXsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihlbC52aW1JZCA9PSB2bS52aW1JbmZvW2ldLnZpbUlkKXsNCisgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHZtLiRkZWxWaW1JbmZvVXJsLnJlcGxhY2UoJ3t2aW1faWR9JywgZWwudmltSWQpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhLCBzdGF0dXNUZXh0LCBqcVhIUikgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanFYSFIuc3RhdHVzID09ICIyMDQiKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLnZpbUluZm8ubGVuZ3RoOyBpKyspIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWwudmltSWQgPT0gdm0udmltSW5mb1tpXS52aW1JZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1JbmZvLnNwbGljZShpLCAxKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzVXRpbC5ncm93bCgkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fZ3Jvd2xfbXNnX3RpdGxlJykgKyAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fZ3Jvd2xfbXNnX3JlbW92ZV9zdWNjZXNzJyksInN1Y2Nlc3MiKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc1V0aWwuZ3Jvd2woJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ190aXRsZScpICsgJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ19yZW1vdmVfc3VjY2VzcycpLCAic3VjY2VzcyIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNVdGlsLmdyb3dsKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfdGl0bGUnKSArICQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfcmVtb3ZlX2ZhaWxlZCcpLCJ3YXJuaW5nIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzVXRpbC5ncm93bCgkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fZ3Jvd2xfbXNnX3RpdGxlJykgKyAkLmkxOG4ucHJvcCgnY29tX3p0ZV91bXNfZWNvX3JvY192aW1fZ3Jvd2xfbXNnX3JlbW92ZV9mYWlsZWQnKSwgIndhcm5pbmciKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQotICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKFhNTEh0dHBSZXF1ZXN0LCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgew0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNVdGlsLmdyb3dsKCQuaTE4bi5wcm9wKCdjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9ncm93bF9tc2dfdGl0bGUnKSArICBlcnJvclRocm93biwgImRhbmdlciIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc1V0aWwuZ3Jvd2woJC5pMThuLnByb3AoJ2NvbV96dGVfdW1zX2Vjb19yb2NfdmltX2dyb3dsX21zZ190aXRsZScpICsgZXJyb3JUaHJvd24sICJkYW5nZXIiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIH0pOw0KICAgICAgICAgfSwNCi0gICAgICAgIGdvdG9DaGFydFBhZ2U6ZnVuY3Rpb24ob2lkLG5hbWUsdGVuYW50KXsNCi0gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJ2aW1DaGFydC5odG1sPyIrb2lkKyImIituYW1lKyImIit0ZW5hbnQ7DQorICAgICAgICBnb3RvQ2hhcnRQYWdlOiBmdW5jdGlvbiAob2lkLCBuYW1lLCB0ZW5hbnQpIHsNCisgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJ2aW1DaGFydC5odG1sPyIgKyBvaWQgKyAiJiIgKyBuYW1lICsgIiYiICsgdGVuYW50Ow0KICAgICAgICAgfQ0KLX0pOw0KKyAgICB9KTsNCiBhdmFsb24uc2NhbigpOw0KIHZtLiRpbml0VGFibGUoKTsNCiANCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1VdGlsLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vanMvdmltVXRpbC5qcwppbmRleCAxMDM0ODJmLi41ZGVmMzEwIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS9qcy92aW1VdGlsLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL2pzL3ZpbVV0aWwuanMKQEAgLTE1LDMxICsxNSwzMSBAQAogICovDQogdmFyIHJlc1V0aWwgPSB7fTsNCiANCi1yZXNVdGlsLnRvb2x0aXBWaW1TdGF0dXM9ZnVuY3Rpb24oKXsNCi0gJCgiW2RhdGEtdG9nZ2xlPSd0b29sdGlwJ10iKS50b29sdGlwKCk7DQorcmVzVXRpbC50b29sdGlwVmltU3RhdHVzID0gZnVuY3Rpb24gKCkgew0KKyAgICAkKCJbZGF0YS10b2dnbGU9J3Rvb2x0aXAnXSIpLnRvb2x0aXAoKTsNCiANCiB9DQogDQotcmVzVXRpbC5ncm93bD1mdW5jdGlvbihtZXNzYWdlLHR5cGUpew0KK3Jlc1V0aWwuZ3Jvd2wgPSBmdW5jdGlvbiAobWVzc2FnZSwgdHlwZSkgew0KICAgICAkLmdyb3dsKHsNCiAgICAgICAgIGljb246ICJmYSBmYS1lbnZlbG9wZS1vIGZhLWxnIiwNCiAgICAgICAgIHRpdGxlOiAiJm5ic3A7Jm5ic3A7Tm90aWNlOiAiLA0KLSAgICAgICAgbWVzc2FnZTogbWVzc2FnZSsiJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ig0KLSAgICB9LHsNCisgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgKyAiJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ig0KKyAgICB9LCB7DQogICAgICAgICB0eXBlOiB0eXBlDQogICAgIH0pOw0KICAgICAvKg0KLSAgICAkLmJvb3RzdHJhcEdyb3dsKG1lc3NhZ2UsIHsNCi0gICAgICAgIGVsZTogJ2JvZHknLCAvLyB3aGljaCBlbGVtZW50IHRvIGFwcGVuZCB0bw0KLSAgICAgICAgdHlwZTogdHlwZSwgLy8gKG51bGwsICdpbmZvJywgJ2RhbmdlcicsICdzdWNjZXNzJykNCi0gICAgICAgIG9mZnNldDoge2Zyb206ICdib3R0b20nLCBhbW91bnQ6IDIwfSwgLy8gJ3RvcCcsIG9yICdib3R0b20nDQotICAgICAgICBhbGlnbjogJ3JpZ2h0JywgLy8gKCdsZWZ0JywgJ3JpZ2h0Jywgb3IgJ2NlbnRlcicpDQotICAgICAgICB3aWR0aDogJ2F1dG8nLCAvLyAoaW50ZWdlciwgb3IgJ2F1dG8nKQ0KLSAgICAgICAgZGVsYXk6IDMwMDAsIC8vIFRpbWUgd2hpbGUgdGhlIG1lc3NhZ2Ugd2lsbCBiZSBkaXNwbGF5ZWQuIEl0J3Mgbm90IGVxdWl2YWxlbnQgdG8gdGhlICpkZW1vKiB0aW1lT3V0IQ0KLSAgICAgICAgYWxsb3dfZGlzbWlzczogZmFsc2UsIC8vIElmIHRydWUgdGhlbiB3aWxsIGRpc3BsYXkgYSBjcm9zcyB0byBjbG9zZSB0aGUgcG9wdXAuDQotICAgICAgICBzdGFja3VwX3NwYWNpbmc6IDEwIC8vIHNwYWNpbmcgYmV0d2VlbiBjb25zZWN1dGl2ZWx5IHN0YWNrZWQgZ3Jvd2xzLg0KLSAgICB9KTsNCi0gICAgKi8NCisgICAgICQuYm9vdHN0cmFwR3Jvd2wobWVzc2FnZSwgew0KKyAgICAgZWxlOiAnYm9keScsIC8vIHdoaWNoIGVsZW1lbnQgdG8gYXBwZW5kIHRvDQorICAgICB0eXBlOiB0eXBlLCAvLyAobnVsbCwgJ2luZm8nLCAnZGFuZ2VyJywgJ3N1Y2Nlc3MnKQ0KKyAgICAgb2Zmc2V0OiB7ZnJvbTogJ2JvdHRvbScsIGFtb3VudDogMjB9LCAvLyAndG9wJywgb3IgJ2JvdHRvbScNCisgICAgIGFsaWduOiAncmlnaHQnLCAvLyAoJ2xlZnQnLCAncmlnaHQnLCBvciAnY2VudGVyJykNCisgICAgIHdpZHRoOiAnYXV0bycsIC8vIChpbnRlZ2VyLCBvciAnYXV0bycpDQorICAgICBkZWxheTogMzAwMCwgLy8gVGltZSB3aGlsZSB0aGUgbWVzc2FnZSB3aWxsIGJlIGRpc3BsYXllZC4gSXQncyBub3QgZXF1aXZhbGVudCB0byB0aGUgKmRlbW8qIHRpbWVPdXQhDQorICAgICBhbGxvd19kaXNtaXNzOiBmYWxzZSwgLy8gSWYgdHJ1ZSB0aGVuIHdpbGwgZGlzcGxheSBhIGNyb3NzIHRvIGNsb3NlIHRoZSBwb3B1cC4NCisgICAgIHN0YWNrdXBfc3BhY2luZzogMTAgLy8gc3BhY2luZyBiZXR3ZWVuIGNvbnNlY3V0aXZlbHkgc3RhY2tlZCBncm93bHMuDQorICAgICB9KTsNCisgICAgICovDQogfQ0KIA0KIA0KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL3ZpbUNoYXJ0Lmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS92aW1DaGFydC5odG1sCmluZGV4IGU5NDA2NmYuLmMzOWNjNDAgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL3ZpbUNoYXJ0Lmh0bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vdmltQ2hhcnQuaHRtbApAQCAtMTgsODIgKzE4LDg3IEBACiAtLT4NCiA8aHRtbD4NCiA8aGVhZCBsYW5nPSJlbiI+DQotPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KLTx0aXRsZT48L3RpdGxlPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2ZvbnQtYXdlc29tZS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4NCi08bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9ib290c3RyYXAvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+DQotPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL2Nzcy9uZ2ljdC1jb21wb25lbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCi08bGluayBocmVmPSIuLi8uLi9jb21tb24vY3NzL1p0ZUljdEljb25zL3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQotPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvYW5pbWF0ZS9hbmltYXRlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQotPGxpbmsgaHJlZj0iY3NzL3ZpbUNoYXJ0LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KLTxzdHlsZT4NCi0ubXMtY29udHJvbGxlciB7DQotCXZpc2liaWxpdHk6IGhpZGRlbg0KLX0NCi08L3N0eWxlPg0KLTxzY3JpcHQ+DQotdmFyIGlkLG5hbWUsdGVuYW50Ow0KLSAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggJiYgd2luZG93LmxvY2F0aW9uLnNlYXJjaC5sZW5ndGggPiAxKSB7DQotICAgIHZhciBhcnI9d2luZG93LmxvY2F0aW9uLnNlYXJjaC5zcGxpdCgiJiIpOw0KLSAgICAgICAgaWQgPSBhcnJbMF0ucmVwbGFjZSgiPyIsIiIpOw0KLSAgICAgICAgbmFtZSA9IGFyclsxXTsNCi0gICAgICAgIHRlbmFudCA9IGFyclsyXTsNCi0gICAgfQ0KLTwvc2NyaXB0Pg0KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQorICAgIDx0aXRsZT48L3RpdGxlPg0KKyAgICA8bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9mb250LWF3ZXNvbWUvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+DQorICAgIDxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4NCisgICAgPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL2Nzcy9uZ2ljdC1jb21wb25lbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCisgICAgPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL2Nzcy9adGVJY3RJY29ucy9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KKyAgICA8bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9hbmltYXRlL2FuaW1hdGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KKyAgICA8bGluayBocmVmPSJjc3MvdmltQ2hhcnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+DQorICAgIDxzdHlsZT4NCisgICAgICAgIC5tcy1jb250cm9sbGVyIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4NCisgICAgICAgIH0NCisgICAgPC9zdHlsZT4NCisgICAgPHNjcmlwdD4NCisgICAgICAgIHZhciBpZCwgbmFtZSwgdGVuYW50Ow0KKyAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggJiYgd2luZG93LmxvY2F0aW9uLnNlYXJjaC5sZW5ndGggPiAxKSB7DQorICAgICAgICAgICAgdmFyIGFyciA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3BsaXQoIiYiKTsNCisgICAgICAgICAgICBpZCA9IGFyclswXS5yZXBsYWNlKCI/IiwgIiIpOw0KKyAgICAgICAgICAgIG5hbWUgPSBhcnJbMV07DQorICAgICAgICAgICAgdGVuYW50ID0gYXJyWzJdOw0KKyAgICAgICAgfQ0KKyAgICA8L3NjcmlwdD4NCiA8L2hlYWQ+DQogPGJvZHk+DQogPGRpdiBjbGFzcz0ibXMtY29udHJvbGxlciIgbXMtY29udHJvbGxlcj0idmltQ2hhcnRDb250cm9sbGVyIj4NCi0gPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiANCi0gIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9IiBtYXJnaW4tdG9wOiAxNXB4OyI+DQotICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTYgY29sLW1kLTYgY29sLXNtLTYgY29sLWxnLTYgdGl0bGVmb250Ij4NCi0gICAgICAgICAge3t2aW1JbmZvLm5hbWV9fTxzcGFuICBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV91c2UiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KLSAgICAgICAgIDwvZGl2PiAgDQotICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1yaWdodCI+ICANCi0gICAgICAgICAgPGEgaHJlZj0iIyIgbXMtY2xpY2s9ImdvdG9WaW1QYWdlKCkiIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX2NoYXJ0X3JldHVybiIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L2E+DQorICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSIgbWFyZ2luLXRvcDogMTVweDsiPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC1sZy02IHRpdGxlZm9udCI+DQorICAgICAgICAgICAgICAgIHt7dmltSW5mby5uYW1lfX08c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZXNvdXJjZV91c2UiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLXJpZ2h0Ij4NCisgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgbXMtY2xpY2s9ImdvdG9WaW1QYWdlKCkiIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX2NoYXJ0X3JldHVybiINCisgICAgICAgICAgICAgICAgICAgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L2E+DQogDQotICAgICAgICAgPC9kaXY+ICAgICAgDQotICAgPC9kaXY+DQotICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yLWxpbmUiPjwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgICAgICA8ZGl2IGNsYXNzPSJzZXBhcmF0b3ItbGluZSI+PC9kaXY+DQogDQotICAgIDxkaXYgY2xhc3M9InJvdyByb3ctZmx1aWQiPg0KKyAgICAgICAgPGRpdiBjbGFzcz0icm93IHJvdy1mbHVpZCI+DQogDQotIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiAiIG1zLWlmPSJ2aW1JbmZvLmlzQWRtaW49PXRydWUiID4NCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgIiBtcy1pZj0idmltSW5mby5pc0FkbWluPT10cnVlIj4NCiANCi0gPGRpdiBjbGFzcz0iZm9ybS1ib2R5Ij4NCi0gICAgICA8ZGl2IGNsYXNzPSJmb3JtLXRpdGxlIj4NCi0gICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Jlc291cmNlX3ZpbV91c2UiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KLSAgICAgIDwvZGl2Pg0KLSAgICAgIDxkaXYgIGlkPSJ2aW1QaWVDaGFydERpdiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjIwMHB4IiBjbGFzcz0ibWFpbiI+PC9kaXY+DQotICAgICAgICAgICAgICAgICAgDQotICAgICAgPC9kaXY+ICANCi0gIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWJvZHkiPg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS10aXRsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdmltX3VzZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idmltUGllQ2hhcnREaXYiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoyMDBweCIgY2xhc3M9Im1haW4iPjwvZGl2Pg0KIA0KLSAgICAgICAgDQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KIA0KLSAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiAiID4NCi0gICA8ZGl2IGNsYXNzPSJmb3JtLWJvZHkiPg0KLSAgICAgIDxkaXYgY2xhc3M9ImZvcm0tdGl0bGUiPg0KLSAgICAgICAge3t2aW1JbmZvLnRlbmFudH19PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X3VzZSIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQotICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLXJpZ2h0Ij4NCi0gICAgICAgICA8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wgbS1iIiBtcy1pZj0idmltSW5mby5pc0FkbWluPT10cnVlIiAgbXMtZWFjaD0idGVuYW50U2VsZWN0TGlzdC5zZWxlY3RJdGVtcyIgICBtcy1kdXBsZXg9InZpbUluZm8udGVuYW50IiBtcy1jaGFuZ2U9InRlbmFudENoYXJ0TG9hZCgpIj4gICAgICAgICAgICAgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gbXMtYXR0ci12YWx1ZT0nZWwubmFtZSc+e3tlbC5uYW1lfX08L29wdGlvbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCiANCi0gICAgICAgIA0KLSAgICAgICAgIDwvZGl2Pg0KLSAgICAgIDwvZGl2Pg0KLSAgICANCi0gICAgICA8ZGl2ICBpZD0idGVuYW50UGllQ2hhcnREaXYiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDo0MDBweCIgY2xhc3M9Im1haW4iPjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgIA0KLSAgICAgIDwvZGl2PiANCi0gICAgIA0KLSAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiAiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWJvZHkiPg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS10aXRsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAge3t2aW1JbmZvLnRlbmFudH19PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fcmVzb3VyY2VfdGVuYW50X3VzZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLXJpZ2h0Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIG0tYiIgbXMtaWY9InZpbUluZm8uaXNBZG1pbj09dHJ1ZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1lYWNoPSJ0ZW5hbnRTZWxlY3RMaXN0LnNlbGVjdEl0ZW1zIiBtcy1kdXBsZXg9InZpbUluZm8udGVuYW50Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNoYW5nZT0idGVuYW50Q2hhcnRMb2FkKCkiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBtcy1hdHRyLXZhbHVlPSdlbC5uYW1lJz57e2VsLm5hbWV9fTwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCisNCisNCisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKw0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idGVuYW50UGllQ2hhcnREaXYiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDo0MDBweCIgY2xhc3M9Im1haW4iPjwvZGl2Pg0KKw0KKyAgICAgICAgICAgICAgICA8L2Rpdj4NCisNCisgICAgICAgICAgICA8L2Rpdj4NCisNCisgICAgICAgIDwvZGl2Pg0KIA0KICAgICA8L2Rpdj4NCiANCi0gPC9kaXY+DQotDQogDQogPC9kaXY+DQogDQpAQCAtMTAyLDEyICsxMDcsMTIgQEAKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS5pMThuL2pxdWVyeS5pMThuLnByb3BlcnRpZXMtMS4wLjkuanMiPjwvc2NyaXB0Pg0KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4NCiA8c2NyaXB0IHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwLWdyb3dsL2Jvb3RzdHJhcC1ncm93bC5taW4uanMiPjwvc2NyaXB0Pg0KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vaTE4bi9sb2FkaTE4bkFwcC5qcyI+PC9zY3JpcHQ+IA0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vaTE4bi9sb2FkaTE4bkFwcC5qcyI+PC9zY3JpcHQ+DQogPHNjcmlwdCBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2VjaGFydHMvZWNoYXJ0cy1hbGwuanMiPjwvc2NyaXB0Pg0KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3Rib3gvYm9vdGJveC5taW4uanMiPjwvc2NyaXB0Pg0KIDxzY3JpcHQgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9hdmFsb24vYXZhbG9uLmpzIj48L3NjcmlwdD4NCiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy92aW1DaGFydC5qcyI+PC9zY3JpcHQ+DQogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdmltQ2hhcnRDb250cm9sbGVyLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vanMvY29yZS9oay5taW4uanMiID48L3NjcmlwdD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vanMvY29yZS9oay5taW4uanMiPjwvc2NyaXB0Pg0KIDwvYm9keT4NCiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vdmltVmlldy5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92aW0vdmltVmlldy5odG1sCmluZGV4IDg1OGQ2ZDUuLjUxOTg3MjQgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdmltL3ZpbVZpZXcuaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZpbS92aW1WaWV3Lmh0bWwKQEAgLTE4LDIwOCArMTgsMjMzIEBACiAtLT4NCiA8aHRtbD4NCiA8aGVhZCBsYW5nPSJlbiI+DQotPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KLTx0aXRsZT48L3RpdGxlPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2ZvbnQtYXdlc29tZS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L3VuaWZvcm0vY3NzL3VuaWZvcm0uZGVmYXVsdC5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi9jc3MvbmdpY3QtY29tcG9uZW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQotPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL2Nzcy9adGVJY3RJY29ucy9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KLTxsaW5rIGhyZWY9ImNzcy92aW0uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+DQotPGxpbmsgaHJlZj0iY3NzL3NraWxsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2FuaW1hdGUvYW5pbWF0ZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+DQorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCisgICAgPHRpdGxlPjwvdGl0bGU+DQorICAgIDxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2ZvbnQtYXdlc29tZS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICA8bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9ib290c3RyYXAvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvdW5pZm9ybS9jc3MvdW5pZm9ybS5kZWZhdWx0LmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi9jc3MvbmdpY3QtY29tcG9uZW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQorICAgIDxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCisgICAgPGxpbmsgaHJlZj0iY3NzL3ZpbS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4NCisgICAgPGxpbmsgaHJlZj0iY3NzL3NraWxsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KKyAgICA8bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9hbmltYXRlL2FuaW1hdGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KIA0KIA0KLTxzdHlsZT4NCi0ubXMtY29udHJvbGxlciB7DQotCXZpc2liaWxpdHk6IGhpZGRlbg0KLX0NCi08L3N0eWxlPg0KKyAgICA8c3R5bGU+DQorICAgICAgICAubXMtY29udHJvbGxlciB7DQorICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuDQorICAgICAgICB9DQorICAgIDwvc3R5bGU+DQogDQogPC9oZWFkPg0KIDxib2R5Pg0KIDxkaXYgY2xhc3M9Im1zLWNvbnRyb2xsZXIgY29udGFpbmVyLWZsdWlkIiBtcy1jb250cm9sbGVyPSJ2aW1Db250cm9sbGVyIj4NCiANCi08ZGl2IGlkPSJhZGRWaW1EbGciIGNsYXNzPSJtb2RhbCAgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSIgPg0KLQkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIj4NCi0JCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50IENoYW5nZXBhc3N3ZCI+DQotCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KLQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4NCi0JCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+w5c8L2J1dHRvbj4NCi0JCQkJCQk8aDQgaWQ9Im15TW9kYWxMYWJlbCIgbXMtdGV4dD0iYWRkVmltLnRpdGxlTmFtZSI+PC9oND4NCi0JCQkJCTwvZGl2Pg0KKyAgICA8ZGl2IGlkPSJhZGRWaW1EbGciIGNsYXNzPSJtb2RhbCAgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIg0KKyAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj4NCisgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQorICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCBDaGFuZ2VwYXNzd2QiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGlkPSJteU1vZGFsTGFiZWwiIG1zLXRleHQ9ImFkZFZpbS50aXRsZU5hbWUiPjwvaDQ+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgIDwhLS0gbW9kYWwgYm9keSBiZWdpbi0tPg0KLQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQotCQkJCQk8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1pbmZvIiBtcy12aXNpYmxlPSJleGVjdXRlV2FpdC52aXNpYmxlIj57e2V4ZWN1dGVXYWl0LnRleHR9fTwvZGl2Pg0KLQkJCQkJPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyICIgbXMtdmlzaWJsZT0iZXhlY3V0ZUVycm9yLnZpc2libGUiPnt7ZXhlY3V0ZUVycm9yLnRleHR9fTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtaW5mbyIgbXMtdmlzaWJsZT0iZXhlY3V0ZVdhaXQudmlzaWJsZSI+e3tleGVjdXRlV2FpdC50ZXh0fX08L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGVydCBhbGVydC1kYW5nZXIgIiBtcy12aXNpYmxlPSJleGVjdXRlRXJyb3IudmlzaWJsZSI+e3tleGVjdXRlRXJyb3IudGV4dH19PC9kaXY+DQogDQotCQkJCQk8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiBpZD0idmltX2Zvcm0iIHJvbGU9ImZvcm0iPg0KLQkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG1zLWR1cGxleD0iYWRkVmltLnZpbUlkIiAgbmFtZT0idmltSWQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX25hbWUiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4qPC9zcGFuPg0KLQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCSAJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLnZpbU5hbWUiICBuYW1lPSJ2aW1OYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQotCQkJCQkJCQk8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPg0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCQkgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9hdXRoX3VybCIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQotCQkJCQkJCSA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWaW0udXJsIiBwbGFjZWhvbGRlcj0iaHR0cDovL3h4Lnh4Lnh4Lnh4OjUwMDAvdjIuMCIgbmFtZT0idXJsIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+IA0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4JCQkNCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJCQ0KLQkJCQkJCTwvZGl2Pg0KLQkJCQkJCSA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotCQkJCQkJCQkJPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdXNlcm5hbWUiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KLQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCi0JCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCSA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWaW0udXNlck5hbWUiIG5hbWU9InVzZXJOYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIiAvPiANCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIGlkPSJ2aW1fZm9ybSIgcm9sZT0iZm9ybSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG1zLWR1cGxleD0iYWRkVmltLnZpbUlkIiBuYW1lPSJ2aW1JZCIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fbmFtZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZpbS52aW1OYW1lIiBuYW1lPSJ2aW1OYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2F1dGhfdXJsIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLnVybCIgcGxhY2Vob2xkZXI9Imh0dHA6Ly94eC54eC54eC54eDo1MDAwL3YyLjAiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InVybCIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiANCi0JCQkJCQkgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KLQkJCQkJCQkJCTxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3Bhc3N3b3JkIiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCi0JCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQotCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBtcy1kdXBsZXg9ImFkZFZpbS5wYXNzd29yZCIgIG5hbWU9InBhc3N3b3JkIiAgY2xhc3M9ImZvcm0tY29udHJvbCIgLz4gDQotCQkJCQkJCQk8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPgkJCQ0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotCQkJCQkJCQkJPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdGVuYW50IiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCi0JCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQotCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLnRlbmFudCIgIG5hbWU9InRlbmFudCIgIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+DQotCQkJCQkJCQk8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPgkJCQ0KLQkJCQkJCQk8L2Rpdj4JCQkJCQkJDQotCQkJCQkJPC9kaXY+DQotCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotCQkJCQkJCQk8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV92ZXJzaW9uIiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCi0JCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCSA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWaW0udmVyc2lvbiIgIG5hbWU9InZlcnNpb24iICBjbGFzcz0iZm9ybS1jb250cm9sIiAvPg0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4JCQkNCi0JCQkJCQkJPC9kaXY+CQkJCQkJCQ0KLQkJCQkJCTwvZGl2PgkJCQ0KLQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdmVuZG9yIiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCi0JCQkJCQkJIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZpbS52ZW5kb3IiICBuYW1lPSJ2ZW5kb3IiICBjbGFzcz0iZm9ybS1jb250cm9sIiAvPiANCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2PgkJCQkJCQkNCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCi0JCQkJCQkJCTxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2RvbWFpbiIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+CQkJCQkJCQkNCi0JCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCSA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWaW0uZG9tYWluIiAgbmFtZT0iZG9tYWluIiAgY2xhc3M9ImZvcm0tY29udHJvbCIgLz4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2PgkJCQkJCQkNCi0JCQkJCQk8L2Rpdj4JDQotCQkJCQkJIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdHlwZSIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQotCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9InZpbVR5cGVTZWxlY3QiICBtcy1lYWNoPSIkdmltVHlwZS5zZWxlY3RJdGVtcyIgbXMtZHVwbGV4PSJhZGRWaW0udmltVHlwZSIgPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gbXMtYXR0ci12YWx1ZT0nZWwuY29uZF92YWx1ZSc+e3tlbC5uYW1lfX08L29wdGlvbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJPC9kaXY+DQotCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotCQkJCQkJCQk8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9kZXNjcmlwdGlvbiIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQotCQkJCQkJCQk8c3BhbiBjbGFzcz0iIiBhcmlhLXJlcXVpcmVkPSIiIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47Ij4qPC9zcGFuPg0KLQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCTx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiByb3dzPSIzIiAgbXMtZHVwbGV4PSJhZGRWaW0uZGVzY3JpcHRpb24iICBuYW1lPSJkZXNjcmlwdGlvbiI+PC90ZXh0YXJlYT4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2PgkJCQkJCQkNCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCTwvZm9ybT4NCi0JCQkJCTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3VzZXJuYW1lIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLnVzZXJOYW1lIiBuYW1lPSJ1c2VyTmFtZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9wYXNzd29yZCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbXMtZHVwbGV4PSJhZGRWaW0ucGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3RlbmFudCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZpbS50ZW5hbnQiIG5hbWU9InRlbmFudCIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV92ZXJzaW9uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLnZlcnNpb24iIG5hbWU9InZlcnNpb24iIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdmVuZG9yIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLnZlbmRvciIgbmFtZT0idmVuZG9yIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2RvbWFpbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVmltLmRvbWFpbiIgbmFtZT0iZG9tYWluIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3R5cGUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4qPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPSJ2aW1UeXBlU2VsZWN0IiBtcy1lYWNoPSIkdmltVHlwZS5zZWxlY3RJdGVtcyINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWR1cGxleD0iYWRkVmltLnZpbVR5cGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIG1zLWF0dHItdmFsdWU9J2VsLmNvbmRfdmFsdWUnPnt7ZWwubmFtZX19PC9vcHRpb24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2Rlc2NyaXB0aW9uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIiIGFyaWEtcmVxdWlyZWQ9IiIgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiByb3dzPSIzIiBtcy1kdXBsZXg9ImFkZFZpbS5kZXNjcmlwdGlvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iZGVzY3JpcHRpb24iPjwvdGV4dGFyZWE+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgIDwhLS0gbW9kYWwgYm9keSBlbmQtLT4NCi0JCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQotCQkJCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fY2FuY2VsIiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj48L2J1dHRvbj4NCi0JCQkJCQk8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCIgbXMtZGlzYWJsZWQ9ImlzU2F2ZSIgbXMtY2xpY2s9IiRzYXZlVmltVGFibGUoKSI+PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fc2F2ZSIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+PC9idXR0b24+DQotCQkJCQk8L2Rpdj4NCi0JCQkJPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9jYW5jZWwiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdHlwZT0ic3VibWl0IiBtcy1kaXNhYmxlZD0iaXNTYXZlIiBtcy1jbGljaz0iJHNhdmVWaW1UYWJsZSgpIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fc2F2ZSIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgPC9kaXY+DQogDQotCQkJPC9kaXY+DQotCQk8L2Rpdj4NCi0JPC9kaXY+DQotDQotCQk8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY29sLXNtLTEyIiBkYXRhLW5hbWU9ImNvbmRfem9uZSI+DQotICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQiPg0KLSAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSAiYnRuIHdoaXRlIHJhZGl1c19sIiBpZD0iYXBwLW5ldy1idG4iICBtcy1jbGljaz0iJHNob3dWaW1UYWJsZSgnJywgJ2FkZCcpIj4NCi0gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY3QtbmV3Ij48L2k+IDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX3JlZ2lzdGVyIiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgPC9idXR0b24+DQogICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9ImZhIGZhLXJlZnJlc2ggdGV4dC1tdXRlZCByZWZyZXNoLXN0YXR1cy10ZXh0Ij48c21hbGw+PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fc3RhdHVzX3VwZGF0ZV90aW1lIiBuYW1lX2kxOG49ImNvbV96dGVfY29uZHVjdG9yX3VpX2kxOG4iPjwvc3Bhbj48L3NtYWxsPjxzbWFsbCBtcy10ZXh0PSJ2aW1TdGF0dXNUaW1lIj48L3NtYWxsPjwvZGl2Pi0tPg0KICAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKw0KKyAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY29sLXNtLTEyIiBkYXRhLW5hbWU9ImNvbmRfem9uZSI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCI+DQorICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIHdoaXRlIHJhZGl1c19sIiBpZD0iYXBwLW5ldy1idG4iIG1zLWNsaWNrPSIkc2hvd1ZpbVRhYmxlKCcnLCAnYWRkJykiPg0KKyAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWN0LW5ldyI+PC9pPiA8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9yZWdpc3RlciINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQorICAgICAgICAgICAgPC9idXR0b24+DQorICAgICAgICA8L2Rpdj4NCisgICAgICAgIDwhLS0gPGRpdiBjbGFzcz0iZmEgZmEtcmVmcmVzaCB0ZXh0LW11dGVkIHJlZnJlc2gtc3RhdHVzLXRleHQiPjxzbWFsbD48c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9zdGF0dXNfdXBkYXRlX3RpbWUiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPjwvc21hbGw+PHNtYWxsIG1zLXRleHQ9InZpbVN0YXR1c1RpbWUiPjwvc21hbGw+PC9kaXY+LS0+DQorICAgIDwvZGl2Pg0KIA0KICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQgY29sLXNtLTEyICIgbXMtZWFjaC1lbD0idmltSW5mbyI+DQotCQk8ZGl2IGNsYXNzPSJjb2wtc20tNCBhbmltYXRlZC1wYW5lbCB6b29tSW4iIHN0eWxlPSItd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4xczsiPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJocGFuZWwgc3RhdHMiID4NCi0JCQkJDQotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IGgtMjAwIiBtcy1ob3Zlcj0iaHBhbmVsX3Nob3ciPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1zdWNjZXNzIiAgbXMtdGV4dD0iJFN0YXR1cy5kaXNwbGF5QWN0aXZlIj48L3NwYW4+DQorICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCBhbmltYXRlZC1wYW5lbCB6b29tSW4iIHN0eWxlPSItd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4xczsiPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhwYW5lbCBzdGF0cyI+DQorDQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkgaC0yMDAiIG1zLWhvdmVyPSJocGFuZWxfc2hvdyI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCBsYWJlbC1zdWNjZXNzIiBtcy10ZXh0PSIkU3RhdHVzLmRpc3BsYXlBY3RpdmUiPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtaWNvbiBwdWxsLXJpZ2h0Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2xvdWQgIGZhLTV4IGNvbG9yX2Nsb3VkIj48L2k+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im0tdC14bCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGgzIG1zLXRleHQ9ImVsLm5hbWUiPjwvaDM+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9udCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX2Rpc3BsYXlfdHlwZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIG1zLXRleHQ9ImVsLnR5cGUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1pY29uIHB1bGwtcmlnaHQiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2xvdWQgIGZhLTV4IGNvbG9yX2Nsb3VkIj48L2k+DQotICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibS10LXhsIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIG1zLXRleHQ9ImVsLm5hbWUiPjwvaDM+ICAgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbnQiPiAgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZF9pMThuPSJjb21fenRlX3Vtc19lY29fcm9jX3ZpbV9kaXNwbGF5X3R5cGUiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gbXMtdGV4dD0iZWwudHlwZSI+PC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAJCQkgPC9kaXY+ICAgICAgICAgICAgIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBtcy10ZXh0PSJlbC51cmwiPjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgIDwvZGl2PgkJCQkJDQotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1mb290ZXIiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPSJwdWxsLXJpZ2h0Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tc20iIG1zLWNsaWNrPSIkc2hvd1ZpbVRhYmxlKGVsLCAndXBkYXRlJykiPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8gZmEtbGciPjwvaT48L2E+DQotICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIiBtcy1jbGljaz0iZGVsVmltKGVsKSI+PGkgY2xhc3M9ImZhIGZhLXRyYXNoLW8gZmEtbGciPiA8L2k+PC9hPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGEgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tc20iIG1zLWNsaWNrPSJnb3RvQ2hhcnRQYWdlKGVsLm9pZCxlbC5uYW1lLGVsLnVzZXIpIj48aSBjbGFzcz0iZmEgZmEtcGllLWNoYXJ0IGZhLWxnIj4gPC9pPjwvYT4tLT4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1zLXRleHQ9ImVsLnVybCI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWZvb3RlciI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLXJpZ2h0Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbSIgbXMtY2xpY2s9IiRzaG93VmltVGFibGUoZWwsICd1cGRhdGUnKSI+PGkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8gZmEtbGciPjwvaT48L2E+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tc20iIG1zLWNsaWNrPSJkZWxWaW0oZWwpIj48aSBjbGFzcz0iZmEgZmEtdHJhc2gtbyBmYS1sZyI+IDwvaT48L2E+DQorICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxhIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIiBtcy1jbGljaz0iZ290b0NoYXJ0UGFnZShlbC5vaWQsZWwubmFtZSxlbC51c2VyKSI+PGkgY2xhc3M9ImZhIGZhLXBpZS1jaGFydCBmYS1sZyI+IDwvaT48L2E+LS0+DQogICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgIA0KKyAgICAgICAgPC9kaXY+DQorDQogICAgIDwvZGl2Pg0KICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiPg0KLQkJCTxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+DQotCSAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCB0ZXh0LW11dGVkIj48c21hbGw+PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdG90YWwiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPiANCi0JCQkgPHNwYW4gY2xhc3M9ImJsdWUtZm9udCIgbXMtdGV4dD0idmltSW5mby5zaXplKCkiPjwvc3Bhbj4gDQotCQkJIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX21ldHJpYyIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+PC9zbWFsbD48L2Rpdj4gIA0KLQkJCTwvZGl2Pg0KLQk8L2Rpdj4NCi0JCQ0KLQk8L2Rpdj4NCisgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+DQorICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0IHRleHQtbXV0ZWQiPg0KKyAgICAgICAgICAgICAgICA8c21hbGw+PHNwYW4gaWRfaTE4bj0iY29tX3p0ZV91bXNfZWNvX3JvY192aW1fdG90YWwiIG5hbWVfaTE4bj0iY29tX3p0ZV9jb25kdWN0b3JfdWlfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsdWUtZm9udCIgbXMtdGV4dD0idmltSW5mby5zaXplKCkiPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkX2kxOG49ImNvbV96dGVfdW1zX2Vjb19yb2NfdmltX21ldHJpYyIgbmFtZV9pMThuPSJjb21fenRlX2NvbmR1Y3Rvcl91aV9pMThuIj48L3NwYW4+PC9zbWFsbD4NCisgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgIDwvZGl2Pg0KKyAgICA8L2Rpdj4NCisNCis8L2Rpdj4NCiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9qcXVlcnkvanF1ZXJ5LTEuMTAuMi5taW4uanMiPjwvc2NyaXB0Pg0KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi9qcy90b29scy5qcyI+PC9zY3JpcHQ+DQogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvanF1ZXJ5LmkxOG4vanF1ZXJ5LmkxOG4ucHJvcGVydGllcy0xLjAuOS5qcyI+PC9zY3JpcHQ+DQpAQCAtMjMwLDEzICsyNTUsMTMgQEAKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3Rib3gvYm9vdGJveC5taW4uanMiPjwvc2NyaXB0Pg0KIDwhLS08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21wb25lbnQvdGhpcmRwYXJ0eS9jb21ldGQvY29tZXRkLmpzIj48L3NjcmlwdD4tLT4NCiA8IS0tPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tcG9uZW50L3RoaXJkcGFydHkvY29tZXRkL2pxdWVyeS9qcXVlcnkuY29tZXRkLmpzIj48L3NjcmlwdD4tLT4NCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9sb2FkaTE4bkFwcC5qcyI+PC9zY3JpcHQ+IA0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2xvYWRpMThuQXBwLmpzIj48L3NjcmlwdD4NCiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy92aW0tdmFsaWRhdGUuanMiPjwvc2NyaXB0Pg0KIDwhLS08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL2pzL2NsaWVudC1jb21ldGQuanMiPjwvc2NyaXB0Pi0tPg0KIDxzY3JpcHQgc3JjPSIuLi92ZW5kb3IvYXZhbG9uL2F2YWxvbi5qcyI+PC9zY3JpcHQ+DQogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdmltVXRpbC5qcyI+PC9zY3JpcHQ+DQogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdmltQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+DQogPHNjcmlwdCBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC1ncm93bC9ib290c3RyYXAtZ3Jvd2wubWluLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vanMvY29yZS9oay5taW4uanMiID48L3NjcmlwdD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vanMvY29yZS9oay5taW4uanMiPjwvc2NyaXB0Pg0KIDwvYm9keT4NCiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL2Nzcy92bmZtLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9jc3Mvdm5mbS5jc3MKaW5kZXggMTQyNTRhYS4uY2QyM2JjNyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL2Nzcy92bmZtLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vY3NzL3ZuZm0uY3NzCkBAIC0xNCw0NzkgKzE0LDQ3MyBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogICovDQogYm9keSB7DQotCWZvbnQtZmFtaWx5OiBtaWNyb3NvZnQgeWFoZWkgIWltcG9ydGFudDsNCisgICAgZm9udC1mYW1pbHk6IG1pY3Jvc29mdCB5YWhlaSAhaW1wb3J0YW50Ow0KIH0NCiANCiAvKiBibHVlIHBpbGwgKGluc3BpcmVkIGJ5IGlUdW5lcykNCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KIC5ncmV5IHsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7DQotICBjb2xvcjogIzMzMzsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsNCisgICAgY29sb3I6ICMzMzM7DQogfQ0KIA0KIC5ibHVlIHsNCiANCi0JYmFja2dyb3VuZC1jb2xvcjogIzViOWJkMTsNCi0JYm9yZGVyLXJhZGl1czogMjBweDsNCi0JY29sb3I6ICNmZmY7DQotCWZvbnQtd2VpZ2h0OiBib2xkOw0KLQlwYWRkaW5nOiA4cHggMDsNCi0JdGV4dC1hbGlnbjogY2VudGVyOw0KLQl3aWR0aDogMTAwcHg7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQorICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQorICAgIGNvbG9yOiAjZmZmOw0KKyAgICBmb250LXdlaWdodDogYm9sZDsNCisgICAgcGFkZGluZzogOHB4IDA7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgd2lkdGg6IDEwMHB4Ow0KIH0NCiANCiAuYmx1ZTpob3ZlciB7DQotCWJhY2tncm91bmQtY29sb3I6ICNlOGYzZmQ7DQotCWNvbG9yOiAjNWI5YmQxOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThmM2ZkOw0KKyAgICBjb2xvcjogIzViOWJkMTsNCiB9DQogDQogLmJsdWUuc2VsZWN0ZWQgew0KLQlib3JkZXI6IDA7DQotCWJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQotCWNvbG9yOiAjZmZmOw0KKyAgICBib3JkZXI6IDA7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICM1YjliZDE7DQorICAgIGNvbG9yOiAjZmZmOw0KIH0NCiANCiAuYmx1ZS5zZWxlY3RlZDpob3ZlciB7DQotCWJvcmRlcjogMDsNCi0JYmFja2dyb3VuZC1jb2xvcjogIzViOWJkMTsNCi0JY29sb3I6ICNmZmY7DQorICAgIGJvcmRlcjogMDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogIzViOWJkMTsNCisgICAgY29sb3I6ICNmZmY7DQogfQ0KIA0KIHAgew0KLQljb2xvcjogIzQ0NDsNCi0JZm9udC1zaXplOiAxNHB4Ow0KLQlmb250LXdlaWdodDogbm9ybWFsOw0KLQlsaW5lLWhlaWdodDogMjFweDsNCi0JbWFyZ2luOiAwIDAgMTJweCAwOw0KKyAgICBjb2xvcjogIzQ0NDsNCisgICAgZm9udC1zaXplOiAxNHB4Ow0KKyAgICBmb250LXdlaWdodDogbm9ybWFsOw0KKyAgICBsaW5lLWhlaWdodDogMjFweDsNCisgICAgbWFyZ2luOiAwIDAgMTJweCAwOw0KIH0NCiANCiBwLmNyZWRpdCB7DQotCWJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOw0KLQlmb250LXNpemU6IDE0cHg7DQotCWxpbmUtaGVpZ2h0OiAxNDAlOw0KLQltYXJnaW46IDM2cHggMCAxMnB4IDA7DQotCXBhZGRpbmc6IDhweCAwIDAgMDsNCi0JdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsNCisgICAgZm9udC1zaXplOiAxNHB4Ow0KKyAgICBsaW5lLWhlaWdodDogMTQwJTsNCisgICAgbWFyZ2luOiAzNnB4IDAgMTJweCAwOw0KKyAgICBwYWRkaW5nOiA4cHggMCAwIDA7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiB9DQogDQogdWwuY29sdW1uIHsNCi0JZmxvYXQ6IGxlZnQ7DQotCWxpc3Qtc3R5bGU6IG5vbmU7DQotCXdpZHRoOiA2NzVweDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQorICAgIHdpZHRoOiA2NzVweDsNCiB9DQogDQogdWwuY29sdW1uIGxpIHsNCi0JYmFja2dyb3VuZDogI2VlZTsNCi0JLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7DQotCWJvcmRlci1yYWRpdXM6IDVweDsNCi0JLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggMCAjYzdjN2M3Ow0KLQlib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggMCAjYzdjN2M3Ow0KLQlmbG9hdDogbGVmdDsNCi0JbWFyZ2luOiAxMHB4IDAgMCAxMHB4Ow0KLQlkaXNwbGF5OiBibG9jazsNCi0JaGVpZ2h0OiAxNTBweDsNCi0JdGV4dC1hbGlnbjogY2VudGVyOw0KLQl3aWR0aDogMjE1cHg7DQorICAgIGJhY2tncm91bmQ6ICNlZWU7DQorICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA1cHg7DQorICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IDAgI2M3YzdjNzsNCisgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IDAgI2M3YzdjNzsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIG1hcmdpbjogMTBweCAwIDAgMTBweDsNCisgICAgZGlzcGxheTogYmxvY2s7DQorICAgIGhlaWdodDogMTUwcHg7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgd2lkdGg6IDIxNXB4Ow0KIH0NCiANCiAvKiBDbGVhciBGbG9hdGVkIEVsZW1lbnRzDQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0uY29sdW1uOmFmdGVyLC5idXR0b24tY29sbGVjdGlvbjphZnRlciwuY2xlYXJmaXg6YWZ0ZXIsZGl2LnByb2plY3QtaW5mbzphZnRlcg0KLQl7DQotCWNsZWFyOiBib3RoOw0KLQljb250ZW50OiAnICc7DQotCWRpc3BsYXk6IGJsb2NrOw0KLQlmb250LXNpemU6IDA7DQotCWxpbmUtaGVpZ2h0OiAwOw0KLQl2aXNpYmlsaXR5OiBoaWRkZW47DQotCXdpZHRoOiAwOw0KLQloZWlnaHQ6IDA7DQorLmNvbHVtbjphZnRlciwgLmJ1dHRvbi1jb2xsZWN0aW9uOmFmdGVyLCAuY2xlYXJmaXg6YWZ0ZXIsIGRpdi5wcm9qZWN0LWluZm86YWZ0ZXIgew0KKyAgICBjbGVhcjogYm90aDsNCisgICAgY29udGVudDogJyAnOw0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgZm9udC1zaXplOiAwOw0KKyAgICBsaW5lLWhlaWdodDogMDsNCisgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KKyAgICB3aWR0aDogMDsNCisgICAgaGVpZ2h0OiAwOw0KIH0NCiANCiAuY29udGFpbmVyLWZsdWlkIHsNCi0JYmFja2dyb3VuZC1jb2xvcjp3aGl0ZSAhaW1wb3J0YW50Ow0KLQltaW4taGVpZ2h0OjUwMHB4Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50Ow0KKyAgICBtaW4taGVpZ2h0OiA1MDBweDsNCiB9DQogDQogLm5hdi10YWJzIHsNCi0JYm9yZGVyOiAwOw0KKyAgICBib3JkZXI6IDA7DQogfQ0KIA0KLS5uYXYtdGFicz5saS5hY3RpdmU+YSwubmF2LXRhYnM+bGkuYWN0aXZlPmE6aG92ZXIsLm5hdi10YWJzPmxpLmFjdGl2ZT5hOmZvY3VzDQotCXsNCi0JYm9yZGVyOiAwOw0KLQlib3JkZXItdG9wOiAzcHggc29saWQgI0YzNTY1RDsNCisubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhLCAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLCAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHsNCisgICAgYm9yZGVyOiAwOw0KKyAgICBib3JkZXItdG9wOiAzcHggc29saWQgI0YzNTY1RDsNCiB9DQogDQotLm5hdi10YWJzPmxpPmEgew0KLQlib3JkZXItcmFkaXVzOiAwOw0KKy5uYXYtdGFicyA+IGxpID4gYSB7DQorICAgIGJvcmRlci1yYWRpdXM6IDA7DQogfQ0KIA0KLS5uYXYtdGFicz5saT5hOmhvdmVyIHsNCi0JYmFja2dyb3VuZC1jb2xvcjogI2YxZjNmYTsNCi0JYm9yZGVyOiAxUHggc29saWQgI2YxZjNmYTsNCisubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIgew0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmM2ZhOw0KKyAgICBib3JkZXI6IDFQeCBzb2xpZCAjZjFmM2ZhOw0KIH0NCiANCiAuYzMgew0KLQltYXJnaW4tdG9wOiAxMjBweDsNCisgICAgbWFyZ2luLXRvcDogMTIwcHg7DQogfQ0KIA0KIC5za2lsbHMtY2hhcnQtYnJlYWRjcnVtYiB7DQotCQ0KKw0KIH0NCiANCiAuYmx1ZTpzZWxlY3RlZCB7DQotCWJvcmRlcjogMDsNCi0JYmFja2dyb3VuZC1jb2xvcjogIzViOWJkMTsNCisgICAgYm9yZGVyOiAwOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWI5YmQxOw0KIH0NCiANCiAuYnRuIHsNCi0JLyogYm9yZGVyLXdpZHRoOiAwOyAqLw0KLQkvKiBwYWRkaW5nOiA3cHggMTRweDsgKi8NCi0JLyogZm9udC1zaXplOiAxNHB4OyAqLw0KLQkvKiBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7ICovDQotCS8qIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgKi8NCi0JLyogZmlsdGVyOiBub25lOyAqLw0KLQkvKiAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7ICovDQotCS1tb3otYm94LXNoYWRvdzogbm9uZTsNCi0JLyogYm94LXNoYWRvdzogbm9uZTsgKi8NCi0JLyogdGV4dC1zaGFkb3c6IG5vbmU7ICovDQorICAgIC8qIGJvcmRlci13aWR0aDogMDsgKi8NCisgICAgLyogcGFkZGluZzogN3B4IDE0cHg7ICovDQorICAgIC8qIGZvbnQtc2l6ZTogMTRweDsgKi8NCisgICAgLyogb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyAqLw0KKyAgICAvKiBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7ICovDQorICAgIC8qIGZpbHRlcjogbm9uZTsgKi8NCisgICAgLyogLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOyAqLw0KKyAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7DQorICAgIC8qIGJveC1zaGFkb3c6IG5vbmU7ICovDQorICAgIC8qIHRleHQtc2hhZG93OiBub25lOyAqLw0KIH0NCiANCiBzZWxlY3Qgew0KLQlib3JkZXItd2lkdGg6IDFweDsNCi0JcGFkZGluZzogNHB4IDFweDsNCi0JYm9yZGVyLXJhZGl1czogNHB4Ow0KKyAgICBib3JkZXItd2lkdGg6IDFweDsNCisgICAgcGFkZGluZzogNHB4IDFweDsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KIH0NCiANCiAuaW5wdXQtc20gew0KLQlwYWRkaW5nOiA0cHggMTBweDsNCisgICAgcGFkZGluZzogNHB4IDEwcHg7DQogfQ0KIA0KIC5idG4tYmxvY2sgew0KLQlkaXNwbGF5OiBibG9jazsNCi0Jd2lkdGg6IDEwMCU7DQotCXBhZGRpbmctbGVmdDogMDsNCi0JcGFkZGluZy1yaWdodDogMDsNCisgICAgZGlzcGxheTogYmxvY2s7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBwYWRkaW5nLWxlZnQ6IDA7DQorICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogfQ0KIA0KIC8qIEJvb3RzdHJhcCBidXR0b25zICovDQogDQotDQotLmJ0bi1kZWZhdWx0OmhvdmVyLC5idG4tZGVmYXVsdDpmb2N1cywuYnRuLWRlZmF1bHQ6YWN0aXZlLC5idG4tZGVmYXVsdC5hY3RpdmUNCi0Jew0KLQljb2xvcjogIzMzMzsNCi0JYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsNCi0JYm9yZGVyLWNvbG9yOiAjYjNiM2IzOw0KKy5idG4tZGVmYXVsdDpob3ZlciwgLmJ0bi1kZWZhdWx0OmZvY3VzLCAuYnRuLWRlZmF1bHQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuYWN0aXZlIHsNCisgICAgY29sb3I6ICMzMzM7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7DQorICAgIGJvcmRlci1jb2xvcjogI2IzYjNiMzsNCiB9DQogDQogLm9wZW4gLmJ0bi1kZWZhdWx0LmRyb3Bkb3duLXRvZ2dsZSB7DQotCWNvbG9yOiAjMzMzOw0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOw0KLQlib3JkZXItY29sb3I6ICNiM2IzYjM7DQorICAgIGNvbG9yOiAjMzMzOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOw0KKyAgICBib3JkZXItY29sb3I6ICNiM2IzYjM7DQogfQ0KIA0KLS5idG4tZGVmYXVsdDphY3RpdmUsLmJ0bi1kZWZhdWx0LmFjdGl2ZSB7DQotCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQotCWJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7DQotCWZvbnQtd2VpZ2h0OiBib2xkOw0KKy5idG4tZGVmYXVsdDphY3RpdmUsIC5idG4tZGVmYXVsdC5hY3RpdmUgew0KKyAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOw0KKyAgICBmb250LXdlaWdodDogYm9sZDsNCiB9DQogDQotLmJ0bi1kZWZhdWx0OmFjdGl2ZTpob3ZlciwuYnRuLWRlZmF1bHQuYWN0aXZlOmhvdmVyIHsNCi0JYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsNCisuYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLCAuYnRuLWRlZmF1bHQuYWN0aXZlOmhvdmVyIHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsNCiB9DQogDQogLm9wZW4gLmJ0bi1kZWZhdWx0LmRyb3Bkb3duLXRvZ2dsZSB7DQotCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogfQ0KIA0KLS5idG4tZGVmYXVsdC5kaXNhYmxlZCwuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLC5idG4tZGVmYXVsdC5kaXNhYmxlZDphY3RpdmUsLmJ0bi1kZWZhdWx0LmRpc2FibGVkLmFjdGl2ZSwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06aG92ZXIsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpmb2N1cywuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmFjdGl2ZSwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmFjdGl2ZQ0KLQl7DQotCWJhY2tncm91bmQtY29sb3I6ICNmZmY7DQotCWJvcmRlci1jb2xvcjogI2NjYzsNCisuYnRuLWRlZmF1bHQuZGlzYWJsZWQsIC5idG4tZGVmYXVsdC5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQuYWN0aXZlLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXS5hY3RpdmUsIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQsIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6Zm9jdXMsIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6YWN0aXZlLCBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmFjdGl2ZSB7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQorICAgIGJvcmRlci1jb2xvcjogI2NjYzsNCiB9DQogDQogLmJ0bi1kZWZhdWx0IC5iYWRnZSB7DQotCWNvbG9yOiAjZmZmOw0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KKyAgICBjb2xvcjogI2ZmZjsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsNCiB9DQogDQotDQotLmJ0bi1kZWZhdWx0PmlbY2xhc3NePSJpY29uLSJdLC5idG4tZGVmYXVsdD5pW2NsYXNzKj0iaWNvbi0iXSB7DQotCWNvbG9yOiAjOGM4YzhjOw0KKy5idG4tZGVmYXVsdCA+IGlbY2xhc3NePSJpY29uLSJdLCAuYnRuLWRlZmF1bHQgPiBpW2NsYXNzKj0iaWNvbi0iXSB7DQorICAgIGNvbG9yOiAjOGM4YzhjOw0KIH0NCiANCiBkaXZbZGF0YS1uYW1lPSJ0YWJfem9uZSJdIGRpdiB7DQotCWJhY2tncm91bmQtY29sb3I6ICNmMWYzZmE7DQotCXBhZGRpbmc6IDBweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjNmYTsNCisgICAgcGFkZGluZzogMHB4Ow0KIH0NCiANCiBkaXZbZGF0YS1uYW1lPSJjb25kX3pvbmUiXSBkaXYgew0KLQliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KLQltYXJnaW4tdG9wOiAxNXB4Ow0KLQltYXJnaW4tYm90dG9tOiAxNXB4Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KKyAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KIH0NCiANCiBkaXZbZGF0YS1uYW1lPSJyZXMtY29uZHMtem9uZSJdIHsNCi0JZGlzcGxheTogaW5saW5lOw0KKyAgICBkaXNwbGF5OiBpbmxpbmU7DQogfQ0KIA0KLWRpdltkYXRhLW5hbWU9InJlcy1jb25kcy16b25lIl0gc2VsZWN0LGRpdltkYXRhLW5hbWU9InJlcy1jb25kcy16b25lIl0gc3Bhbg0KLQl7DQotCS8qKmhlaWdodDozM3B4OyovDQotCW1hcmdpbi1sZWZ0OiAxNXB4Ow0KLQljb2xvcjogIzViOWJkMTsNCi0JYm9yZGVyLWNvbG9yOiAjY2NjOw0KLQlmb250LXdlaWdodDogYm9sZDsNCitkaXZbZGF0YS1uYW1lPSJyZXMtY29uZHMtem9uZSJdIHNlbGVjdCwgZGl2W2RhdGEtbmFtZT0icmVzLWNvbmRzLXpvbmUiXSBzcGFuIHsNCisgICAgLyoqaGVpZ2h0OjMzcHg7Ki8NCisgICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQorICAgIGNvbG9yOiAjNWI5YmQxOw0KKyAgICBib3JkZXItY29sb3I6ICNjY2M7DQorICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KIH0NCiANCi0uaW5wdXR7DQotCXdpZHRoOjI1MHB4Ow0KLSAgaGVpZ2h0OiAzNHB4Ow0KLSAgcGFkZGluZzogNnB4IDEycHg7DQotICBmb250LXNpemU6IDE0cHg7DQotICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCi0gIGNvbG9yOiAjNTU1Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCi0gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQotICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOw0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTsNCi0gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpOw0KLSAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7DQotICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7DQorLmlucHV0IHsNCisgICAgd2lkdGg6IDI1MHB4Ow0KKyAgICBoZWlnaHQ6IDM0cHg7DQorICAgIHBhZGRpbmc6IDZweCAxMnB4Ow0KKyAgICBmb250LXNpemU6IDE0cHg7DQorICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KKyAgICBjb2xvcjogIzU1NTsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KKyAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KKyAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCisgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KKyAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KIH0NCiANCiBkaXYuc2VwYXJhdG9yIHsNCi0JbWFyZ2luOiAyMHB4Ow0KKyAgICBtYXJnaW46IDIwcHg7DQogfQ0KIA0KIGRpdi5zZXBhcmF0b3IgZGl2IHsNCi0JdGV4dC1hbGlnbjogY2VudGVyOw0KLQlsaW5lLWhlaWdodDogMDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBsaW5lLWhlaWdodDogMDsNCiB9DQogDQogZGl2LnNlcGFyYXRvci1saW5lIHsNCi0JaGVpZ2h0OiAxcHggIWltcG9ydGFudDsNCi0Jd2lkdGg6IDEwMCU7DQotCWJhY2tncm91bmQ6ICNkZGQ7DQotCW92ZXJmbG93OiBoaWRkZW47DQorICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBiYWNrZ3JvdW5kOiAjZGRkOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KIH0NCiANCiAuZHJvcGRvd24tdG9nZ2xlIHsNCi0JY29sb3I6ICM1YjliZDE7DQorICAgIGNvbG9yOiAjNWI5YmQxOw0KIH0NCiANCiAuY2FsZW5kYXItZGF0ZSB7DQotCWNvbG9yOiAjNWI5YmQxOw0KKyAgICBjb2xvcjogIzViOWJkMTsNCiB9DQogDQogLnJhbmdlX2lucHV0cyB7DQotCWNvbG9yOiAjNWI5YmQxOw0KKyAgICBjb2xvcjogIzViOWJkMTsNCiB9DQogDQotLmJ0bi5kcm9wZG93bi10b2dnbGUsLmJ0bi1ncm91cCAuYnRuLmRyb3Bkb3duLXRvZ2dsZSwuYnRuOmhvdmVyLC5idG46ZGlzYWJsZWQsLmJ0bltkaXNhYmxlZF0sLmJ0bjpmb2N1cywuYnRuOmFjdGl2ZSwuYnRuLmFjdGl2ZQ0KLQl7DQotCW91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsNCi0JYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50Ow0KLQlmaWx0ZXI6IG5vbmU7DQotCS13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCi0JLW1vei1ib3gtc2hhZG93OiBub25lOw0KLQlib3gtc2hhZG93OiBub25lOw0KLQl0ZXh0LXNoYWRvdzogbm9uZTsNCisuYnRuLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1ncm91cCAuYnRuLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bjpob3ZlciwgLmJ0bjpkaXNhYmxlZCwgLmJ0bltkaXNhYmxlZF0sIC5idG46Zm9jdXMsIC5idG46YWN0aXZlLCAuYnRuLmFjdGl2ZSB7DQorICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBmaWx0ZXI6IG5vbmU7DQorICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCisgICAgLW1vei1ib3gtc2hhZG93OiBub25lOw0KKyAgICBib3gtc2hhZG93OiBub25lOw0KKyAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiB9DQogDQogI3NraWxscy1jaGFydC1icmVhZGNydW1iIHsNCi0JbWFyZ2luLWJvdHRvbTogMTBweA0KKyAgICBtYXJnaW4tYm90dG9tOiAxMHB4DQogfQ0KIA0KIC8q5aKe5YqgZGF0ZXJhbmdlcGlja2Vy55qEY3NzKi8NCiBpbnB1dFtuYW1lPSJkYXRlcmFuZ2UiXSB7DQotCXdpZHRoOiAyMjBweDsNCi0JbGluZS1oZWlnaHQ6IDA7DQotCWhlaWdodDogMzFweDsNCi0JdmVydGljYWwtYWxpZ246IHRvcDsNCi0JbWFyZ2luLXRvcDogMnB4Ow0KKyAgICB3aWR0aDogMjIwcHg7DQorICAgIGxpbmUtaGVpZ2h0OiAwOw0KKyAgICBoZWlnaHQ6IDMxcHg7DQorICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7DQorICAgIG1hcmdpbi10b3A6IDJweDsNCiB9DQogDQogLmRhdGVyYW5nZXBpY2tlciAucmFuZ2VzIHsNCi0Jd2lkdGg6IDIwNXB4Ow0KKyAgICB3aWR0aDogMjA1cHg7DQogfQ0KIA0KIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcyBpbnB1dCB7DQotCXdpZHRoOiA5NXB4ICFpbXBvcnRhbnQ7DQorICAgIHdpZHRoOiA5NXB4ICFpbXBvcnRhbnQ7DQogfQ0KIA0KIHRkLmRldGFpbHMtY29udHJvbCB7DQotCWJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RldGFpbHNfb3Blbi5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCi0JY3Vyc29yOiBwb2ludGVyOw0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZXRhaWxzX29wZW4ucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCiB9DQogDQogdHIuc2hvd24gdGQuZGV0YWlscy1jb250cm9sIHsNCi0JYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGV0YWlsc19jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCisgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGV0YWlsc19jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCiB9DQogDQogLmRldGFpbHMgdGFibGUgdGQgew0KLQl3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7DQotCXdvcmQtYnJlYWs6IG5vcm1hbDsNCi0JYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7DQorICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCisgICAgd29yZC1icmVhazogbm9ybWFsOw0KKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDsNCiB9DQogDQotLmRldGFpbHMgdGFibGUgIHRyOmZpcnN0LWNoaWxkIHRkIHsNCi0JYm9yZGVyLXRvcDogbm9uZTsNCisuZGV0YWlscyB0YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZCB7DQorICAgIGJvcmRlci10b3A6IG5vbmU7DQogfQ0KIA0KIC5kZXRhaWxzIHRhYmxlIHsNCi0JdGFibGUtbGF5b3V0OiBmaXhlZDsNCi0Jd2lkdGg6IDEwMCU7DQorICAgIHRhYmxlLWxheW91dDogZml4ZWQ7DQorICAgIHdpZHRoOiAxMDAlOw0KIH0NCiANCiB0ZC50aXRsZSB7DQotCXdpZHRoOiAxMCU7DQorICAgIHdpZHRoOiAxMCU7DQogfQ0KIA0KLXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQgew0KLQlwYWRkaW5nOiA4cHggMTBweDsNCit0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGgsIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZCB7DQorICAgIHBhZGRpbmc6IDhweCAxMHB4Ow0KIH0NCiANCi1kaXYuZGF0YVRhYmxlc19sZW5ndGgsZGl2LmRhdGFUYWJsZXNfaW5mbyB7DQotCWRpc3BsYXk6IGlubGluZTsNCitkaXYuZGF0YVRhYmxlc19sZW5ndGgsIGRpdi5kYXRhVGFibGVzX2luZm8gew0KKyAgICBkaXNwbGF5OiBpbmxpbmU7DQogfQ0KIA0KIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIHsNCi0JZGlzcGxheTogaW5saW5lOw0KLQlmbG9hdDogcmlnaHQ7DQorICAgIGRpc3BsYXk6IGlubGluZTsNCisgICAgZmxvYXQ6IHJpZ2h0Ow0KIH0NCiANCiBkaXYucGFnaW5hdGlvbi1wYW5lbCB7DQotCW1hcmdpbi1yaWdodDogMTBweDsNCisgICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KIH0NCiANCiBpbnB1dC5wYWdpbmF0aW9uLXBhbmVsLWlucHV0IHsNCi0Jd2lkdGg6IDUwcHg7DQorICAgIHdpZHRoOiA1MHB4Ow0KIH0NCiANCiAjaWN0X3Jlc190YWJsZV9kaXYgew0KLQltYXJnaW4tdG9wOiAxNXB4Ow0KKyAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KIH0NCiANCiAjaWN0X3Jlc190YWJsZV9kaXYgbGFiZWwgew0KLQlmb250LXdlaWdodDogMTAwOw0KKyAgICBmb250LXdlaWdodDogMTAwOw0KIH0NCiANCi0uZGF0ZXJhbmdlcGlja2VyIC5kYXRlcmFuZ2VwaWNrZXJfc3RhcnRfaW5wdXQgbGFiZWwsLmRhdGVyYW5nZXBpY2tlciAuZGF0ZXJhbmdlcGlja2VyX2VuZF9pbnB1dCBsYWJlbA0KLQl7DQotCWNvbG9yOiAjNWI5YmQxOw0KKy5kYXRlcmFuZ2VwaWNrZXIgLmRhdGVyYW5nZXBpY2tlcl9zdGFydF9pbnB1dCBsYWJlbCwgLmRhdGVyYW5nZXBpY2tlciAuZGF0ZXJhbmdlcGlja2VyX2VuZF9pbnB1dCBsYWJlbCB7DQorICAgIGNvbG9yOiAjNWI5YmQxOw0KIH0NCiANCiAuZGF0ZXJhbmdlcGlja2VyIC5yYW5nZXMgLmlucHV0LW1pbmkgew0KLQljb2xvcjogIzViOWJkMTsNCisgICAgY29sb3I6ICM1YjliZDE7DQogfQ0KIA0KIC5jYW5jZWxCdG4gew0KLQlwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDsNCisgICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEwcHg7DQogfQ0KIA0KLS5idG46Zm9jdXMsLmJ0bjphY3RpdmU6Zm9jdXMsLmJ0bi5hY3RpdmU6Zm9jdXMgew0KLQlvdXRsaW5lOiAwOw0KKy5idG46Zm9jdXMsIC5idG46YWN0aXZlOmZvY3VzLCAuYnRuLmFjdGl2ZTpmb2N1cyB7DQorICAgIG91dGxpbmU6IDA7DQogfQ0KIA0KLSNpY3RfcmVzX3RhYmxlX2RpdiAgdGFibGUgew0KLQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KKyNpY3RfcmVzX3RhYmxlX2RpdiB0YWJsZSB7DQorICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogfQ0KIA0KIC5jb250cm9sLWxhYmVsIC5yZXF1aXJlZCB7DQotICBjb2xvcjogI2UwMjIyMjsNCi0gIGZvbnQtc2l6ZTogMTJweDsNCi0gIHBhZGRpbmctbGVmdDogMnB4Ow0KKyAgICBjb2xvcjogI2UwMjIyMjsNCisgICAgZm9udC1zaXplOiAxMnB4Ow0KKyAgICBwYWRkaW5nLWxlZnQ6IDJweDsNCiB9DQogDQotI2ljdF92aW1fdGFibGUgdGJvZHkgdHJ7DQotCWN1cnNvcjpwb2ludGVyOw0KKyNpY3RfdmltX3RhYmxlIHRib2R5IHRyIHsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KIH0NCiANCi0NCiAvKuWNoeeJh+mdouadv+agt+W8jyovDQogLmFuaW1hdGVkLXBhbmVsIHsNCi0gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7DQotICBhbmltYXRpb24tZHVyYXRpb246IC41czsNCi0gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCi0gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQorICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7DQorICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzOw0KKyAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQorICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQogfQ0KIA0KIC5ocGFuZWwgew0KLSAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsNCi0gIGJvcmRlcjogbm9uZTsNCi0gIGJveC1zaGFkb3c6IG5vbmU7DQotICBtYXJnaW4tYm90dG9tOiAyNXB4Ow0KLSAgICANCisgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTsNCisgICAgYm9yZGVyOiBub25lOw0KKyAgICBib3gtc2hhZG93OiBub25lOw0KKyAgICBtYXJnaW4tYm90dG9tOiAyNXB4Ow0KKw0KIH0NCiANCiAuaHBhbmVsIC5wYW5lbC1ib2R5IHsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTc7DQotICBib3JkZXItcmFkaXVzOiAycHg7DQotICBwYWRkaW5nOiAyMHB4Ow0KLSAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNWU3Ow0KKyAgICBib3JkZXItcmFkaXVzOiAycHg7DQorICAgIHBhZGRpbmc6IDIwcHg7DQorICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiB9DQorDQogLmgtMjAwIHsNCi0gIG1pbi1oZWlnaHQ6IDIyMHB4Ow0KKyAgICBtaW4taGVpZ2h0OiAyMjBweDsNCiB9DQogDQogLm0tdC14bCB7DQotICBtYXJnaW4tdG9wOiA0MHB4Ow0KKyAgICBtYXJnaW4tdG9wOiA0MHB4Ow0KIH0NCiANCiAubS10LXhsIGRpdiB7DQotICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KIH0NCiANCiAudGV4dC1zdWNjZXNzIHsNCi0gIGNvbG9yOiAjMGQ2MzhmOw0KKyAgICBjb2xvcjogIzBkNjM4ZjsNCiB9DQorDQogLmhwYW5lbCA+IC5wYW5lbC1mb290ZXIgew0KLSAgY29sb3I6IGluaGVyaXQ7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNWU3Ow0KLSAgYm9yZGVyLXRvcDogbm9uZTsNCi0gIGZvbnQtc2l6ZTogOTAlOw0KLSAgYmFja2dyb3VuZDogI2Y3ZjlmYTsNCi0gIGhlaWdodDo0MHB4Ow0KLSAgcGFkZGluZzogNXB4IDE1cHg7DQorICAgIGNvbG9yOiBpbmhlcml0Ow0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNWU3Ow0KKyAgICBib3JkZXItdG9wOiBub25lOw0KKyAgICBmb250LXNpemU6IDkwJTsNCisgICAgYmFja2dyb3VuZDogI2Y3ZjlmYTsNCisgICAgaGVpZ2h0OiA0MHB4Ow0KKyAgICBwYWRkaW5nOiA1cHggMTVweDsNCiB9DQotLmNvbG9yX2Nsb3Vkew0KLQljb2xvcjojY2NjOw0KKw0KKy5jb2xvcl9jbG91ZCB7DQorICAgIGNvbG9yOiAjY2NjOw0KIH0NCi0uc3RhdHMtdGl0bGV7DQorDQorLnN0YXRzLXRpdGxlIHsNCiANCiB9DQogDQotaDN7DQotICBtYXJnaW4tdG9wOiAxMHB4Ow0KLSAgbWFyZ2luLWJvdHRvbTogNDBweDsNCi0gIGZvbnQtd2VpZ2h0OiAyMDA7DQoraDMgew0KKyAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KKyAgICBtYXJnaW4tYm90dG9tOiA0MHB4Ow0KKyAgICBmb250LXdlaWdodDogMjAwOw0KIH0NCiANCi0uYmx1ZS1mb250ew0KLQljb2xvcjojNDI4YmNhOw0KKy5ibHVlLWZvbnQgew0KKyAgICBjb2xvcjogIzQyOGJjYTsNCiB9DQogDQotLmhwYW5lbCA+IC5wYW5lbC1mb290ZXIgLnB1bGwtcmlnaHQgYXsNCi0JbWFyZ2luLWxlZnQ6IDVweDsNCisuaHBhbmVsID4gLnBhbmVsLWZvb3RlciAucHVsbC1yaWdodCBhIHsNCisgICAgbWFyZ2luLWxlZnQ6IDVweDsNCiB9DQogDQotLmhwYW5lbCA+IC5wYW5lbC1mb290ZXIgLnB1bGwtcmlnaHQgLmJ0bnsNCi0JbWluLXdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7DQorLmhwYW5lbCA+IC5wYW5lbC1mb290ZXIgLnB1bGwtcmlnaHQgLmJ0biB7DQorICAgIG1pbi13aWR0aDogMzBweCAhaW1wb3J0YW50Ow0KIH0NCiANCiAuZm9udC1ib2xkIHsNCi0gIGZvbnQtd2VpZ2h0OiA2MDA7DQotICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KKyAgICBmb250LXdlaWdodDogNjAwOw0KKyAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KIH0NCiANCi0uaHBhbmVsX3Nob3d7DQotCWJhY2tncm91bmQtY29sb3I6ICNmN2Y5ZmE7DQorLmhwYW5lbF9zaG93IHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjlmYTsNCiB9DQogDQogLnZuZm0tcGFkZGluZyB7DQotCXBhZGRpbmctbGVmdDogMDsNCisgICAgcGFkZGluZy1sZWZ0OiAwOw0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvY29tbW9uVXRpbC5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy9jb21tb25VdGlsLmpzCmluZGV4IDJlM2RmZmQuLmI4YmUxYjcgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy9jb21tb25VdGlsLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy9jb21tb25VdGlsLmpzCkBAIC0xNCw2OSArMTQsNjkgQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICAqLw0KIHZhciBjb21tb25VdGlsID0ge307DQotY29tbW9uVXRpbC5hcnJheVJlbW92ZSA9IGZ1bmN0aW9uKCBhcnlJbnN0YW5jZSAsIGluZGV4ICl7DQotICAgIGlmKGFyeUluc3RhbmNlID09IHVuZGVmaW5lZCB8fCBhcnlJbnN0YW5jZSA9PSBudWxsKXsNCitjb21tb25VdGlsLmFycmF5UmVtb3ZlID0gZnVuY3Rpb24gKGFyeUluc3RhbmNlLCBpbmRleCkgew0KKyAgICBpZiAoYXJ5SW5zdGFuY2UgPT0gdW5kZWZpbmVkIHx8IGFyeUluc3RhbmNlID09IG51bGwpIHsNCiAgICAgICAgIHJldHVybjsNCiAgICAgfQ0KLSAgICBmb3IodmFyIGk9MCxuPTA7aTxhcnlJbnN0YW5jZS5sZW5ndGg7aSsrKSB7DQotICAgICAgICBpZihhcnlJbnN0YW5jZVtpXSE9YXJ5SW5zdGFuY2VbZHhdKSB7DQotICAgICAgICAgICAgYXJ5SW5zdGFuY2VbbisrXT1hcnlJbnN0YW5jZVtpXTsNCisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDwgYXJ5SW5zdGFuY2UubGVuZ3RoOyBpKyspIHsNCisgICAgICAgIGlmIChhcnlJbnN0YW5jZVtpXSAhPSBhcnlJbnN0YW5jZVtkeF0pIHsNCisgICAgICAgICAgICBhcnlJbnN0YW5jZVtuKytdID0gYXJ5SW5zdGFuY2VbaV07DQogICAgICAgICB9DQogICAgIH0NCi0gICAgYXJ5SW5zdGFuY2UubGVuZ3RoLT0xOw0KKyAgICBhcnlJbnN0YW5jZS5sZW5ndGggLT0gMTsNCiB9Ow0KIA0KIC8vRm9yIHRoZSBleHBhbnNpb24gb2YgdGhlIERhdGUsIGNvbnZlcnQgdGhlIERhdGUgdG8gc3BlY2lmeSB0aGUgZm9ybWF0IFN0cmluZw0KIC8vIGV4YW1wbGVz77yaDQogLy8gKG5ldyBEYXRlKCkpLkZvcm1hdCgieXl5eS1NTS1kZCBoaDptbTpzcy5TIikgPT0+IDIwMDYtMDctMDIgMDg6MDk6MDQuNDIzDQogLy8gKG5ldyBEYXRlKCkpLkZvcm1hdCgieXl5eS1NLWQgaDptOnMuUyIpICAgICAgPT0+IDIwMDYtNy0yIDg6OTo0LjE4DQotY29tbW9uVXRpbC5wYXJzZURhdGUgPSBmdW5jdGlvbiggZGF0ZU9iaiAsIGZvcm1hdCl7DQorY29tbW9uVXRpbC5wYXJzZURhdGUgPSBmdW5jdGlvbiAoZGF0ZU9iaiwgZm9ybWF0KSB7DQogICAgIHZhciBvID0gew0KLSAgICAgICAgIk0rIiA6IGRhdGVPYmouZ2V0TW9udGgoKSsxLCAvL21vbnRoDQotICAgICAgICAiZCsiIDogZGF0ZU9iai5nZXREYXRlKCksICAgIC8vZGF5DQotICAgICAgICAiaCsiIDogZGF0ZU9iai5nZXRIb3VycygpLCAgIC8vaG91cg0KLSAgICAgICAgIm0rIiA6IGRhdGVPYmouZ2V0TWludXRlcygpLCAvL21pbnV0ZQ0KLSAgICAgICAgInMrIiA6IGRhdGVPYmouZ2V0U2Vjb25kcygpLCAvL3NlY29uZA0KLSAgICAgICAgInErIiA6IE1hdGguZmxvb3IoKGRhdGVPYmouZ2V0TW9udGgoKSszKS8zKSwgIC8vcXVhcnRlcg0KLSAgICAgICAgIlMiIDogZGF0ZU9iai5nZXRNaWxsaXNlY29uZHMoKSAvL21pbGxpc2Vjb25kDQorICAgICAgICAiTSsiOiBkYXRlT2JqLmdldE1vbnRoKCkgKyAxLCAvL21vbnRoDQorICAgICAgICAiZCsiOiBkYXRlT2JqLmdldERhdGUoKSwgICAgLy9kYXkNCisgICAgICAgICJoKyI6IGRhdGVPYmouZ2V0SG91cnMoKSwgICAvL2hvdXINCisgICAgICAgICJtKyI6IGRhdGVPYmouZ2V0TWludXRlcygpLCAvL21pbnV0ZQ0KKyAgICAgICAgInMrIjogZGF0ZU9iai5nZXRTZWNvbmRzKCksIC8vc2Vjb25kDQorICAgICAgICAicSsiOiBNYXRoLmZsb29yKChkYXRlT2JqLmdldE1vbnRoKCkgKyAzKSAvIDMpLCAgLy9xdWFydGVyDQorICAgICAgICAiUyI6IGRhdGVPYmouZ2V0TWlsbGlzZWNvbmRzKCkgLy9taWxsaXNlY29uZA0KICAgICB9DQotICAgIGlmKC8oeSspLy50ZXN0KGZvcm1hdCkpIGZvcm1hdD1mb3JtYXQucmVwbGFjZShSZWdFeHAuJDEsDQotICAgICAgICAoZGF0ZU9iai5nZXRGdWxsWWVhcigpKyIiKS5zdWJzdHIoNCAtIFJlZ0V4cC4kMS5sZW5ndGgpKTsNCi0gICAgZm9yKHZhciBrIGluIG8pDQotICAgICAgICBpZihuZXcgUmVnRXhwKCIoIisgayArIikiKS50ZXN0KGZvcm1hdCkpDQotICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoUmVnRXhwLiQxLCBSZWdFeHAuJDEubGVuZ3RoPT0xID8gb1trXSA6DQotICAgICAgICAgICAgICAgICAgICAoIjAwIisgb1trXSkuc3Vic3RyKCgiIisgb1trXSkubGVuZ3RoKSk7DQorICAgIGlmICgvKHkrKS8udGVzdChmb3JtYXQpKSBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZShSZWdFeHAuJDEsDQorICAgICAgICAoZGF0ZU9iai5nZXRGdWxsWWVhcigpICsgIiIpLnN1YnN0cig0IC0gUmVnRXhwLiQxLmxlbmd0aCkpOw0KKyAgICBmb3IgKHZhciBrIGluIG8pDQorICAgICAgICBpZiAobmV3IFJlZ0V4cCgiKCIgKyBrICsgIikiKS50ZXN0KGZvcm1hdCkpDQorICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoUmVnRXhwLiQxLCBSZWdFeHAuJDEubGVuZ3RoID09IDEgPyBvW2tdIDoNCisgICAgICAgICAgICAgICAgKCIwMCIgKyBvW2tdKS5zdWJzdHIoKCIiICsgb1trXSkubGVuZ3RoKSk7DQogICAgIHJldHVybiBmb3JtYXQ7DQogfTsNCiANCiAvL3Rvb2x0aXANCi1jb21tb25VdGlsLnNob3dNZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZSwgdHlwZSkgew0KK2NvbW1vblV0aWwuc2hvd01lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZSwgdHlwZSkgew0KICAgICAkLmdyb3dsKHsNCiAgICAgICAgIGljb246ICJmYSBmYS1lbnZlbG9wZS1vIGZhLWxnIiwNCiAgICAgICAgIHRpdGxlOiAiJm5ic3A7Jm5ic3A7IiArICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS1jb21tb24tdGlwIiksDQogICAgICAgICBtZXNzYWdlOiBtZXNzYWdlDQotICAgIH0sew0KKyAgICB9LCB7DQogICAgICAgICB0eXBlOiB0eXBlDQogICAgIH0pOw0KIH07DQogDQotY29tbW9uVXRpbC5yZWdpc3RlckNvbWV0ZE1lc3NhZ2UgPSBmdW5jdGlvbih1cmwsIGNoYW5uZWwsIGNhbGxiYWNrKSB7DQorY29tbW9uVXRpbC5yZWdpc3RlckNvbWV0ZE1lc3NhZ2UgPSBmdW5jdGlvbiAodXJsLCBjaGFubmVsLCBjYWxsYmFjaykgew0KICAgICB2YXIgY29tZXRkID0gbmV3ICQuQ29tZXRkKCk7DQogICAgIHZhciBjb21ldGRVUkwgPSBsb2NhdGlvbi5wcm90b2NvbCArICIvLyIgKyBsb2NhdGlvbi5ob3N0ICsgdXJsOw0KICAgICBjb21ldGQuY29uZmlndXJlKHsNCi0gICAgICAgIHVybCA6IGNvbWV0ZFVSTCwNCi0gICAgICAgIGxvZ0xldmVsIDogImluZm8iDQorICAgICAgICB1cmw6IGNvbWV0ZFVSTCwNCisgICAgICAgIGxvZ0xldmVsOiAiaW5mbyINCiAgICAgfSk7DQogICAgIC8vIHVucmVnaXN0ZXIgd2Vic29ja2V0IHRyYW5zcG9ydCwgdXNlIGxvbmctcG9sbGluZyB0cmFuc3BvcnQNCiAgICAgY29tZXRkLnVucmVnaXN0ZXJUcmFuc3BvcnQoJ3dlYnNvY2tldCcpOw0KICAgICAvLyBzdG9yZSBjaGFubmVsIG9iamVjdCBwYXJhbWV0ZXJzKHRoaXMgb2JqZWN0IGluY2x1ZGUgY2hhbm5lbCBhbmQgY2FsbGJhY2sgZnVuY3Rpb24pLCBzdGFydCBmcm9tIGFyZ3VtZW50c1sxXQ0KLSAgICB2YXIgX2FyZ3MgPSBhcmd1bWVudHM7ICANCisgICAgdmFyIF9hcmdzID0gYXJndW1lbnRzOw0KIA0KLSAgICBjb21ldGQuYWRkTGlzdGVuZXIoIi9tZXRhL2hhbmRzaGFrZSIsIGZ1bmN0aW9uKGhhbmRzaGFrZSl7DQotICAgICAgICBpZihoYW5kc2hha2Uuc3VjY2Vzc2Z1bCA9PT0gdHJ1ZSkgew0KLSAgICAgICAgICAgIGNvbWV0ZC5iYXRjaChmdW5jdGlvbigpIHsNCisgICAgY29tZXRkLmFkZExpc3RlbmVyKCIvbWV0YS9oYW5kc2hha2UiLCBmdW5jdGlvbiAoaGFuZHNoYWtlKSB7DQorICAgICAgICBpZiAoaGFuZHNoYWtlLnN1Y2Nlc3NmdWwgPT09IHRydWUpIHsNCisgICAgICAgICAgICBjb21ldGQuYmF0Y2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAvL3N1YnNjcmliZSBjaGFubmVsDQotICAgICAgICAgICAgICAgIGNvbWV0ZC5zdWJzY3JpYmUoY2hhbm5lbCwgZnVuY3Rpb24obWVzc2FnZSl7DQorICAgICAgICAgICAgICAgIGNvbWV0ZC5zdWJzY3JpYmUoY2hhbm5lbCwgZnVuY3Rpb24gKG1lc3NhZ2UpIHsNCiAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcywgbWVzc2FnZS5kYXRhKTsNCiAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgfSk7DQpAQCAtODUsNDQgKzg1LDQ0IEBACiAgICAgY29tZXRkLmhhbmRzaGFrZSgpOw0KIH0NCiANCi1jb21tb25VdGlsLmZvcm1hdCA9IGZ1bmN0aW9uKCkgew0KLSAgICBpZihhcmd1bWVudHMubGVuZ3RoID09IDApIHsNCitjb21tb25VdGlsLmZvcm1hdCA9IGZ1bmN0aW9uICgpIHsNCisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMCkgew0KICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgIH0NCiAgICAgdmFyIHN0ciA9IGFyZ3VtZW50c1swXTsNCi0gICAgZm9yKHZhciBpPTA7IGk8YXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7DQotICAgICAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cCgiXFx7IiArIChpIC0gMSkgKyAiXFx9IiAsICJnbSIpOw0KKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgew0KKyAgICAgICAgdmFyIHJlZyA9IG5ldyBSZWdFeHAoIlxceyIgKyAoaSAtIDEpICsgIlxcfSIsICJnbSIpOw0KICAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UocmVnLCBhcmd1bWVudHNbaV0pOw0KICAgICB9DQogICAgIHJldHVybiBzdHI7DQogfQ0KIA0KLWNvbW1vblV0aWwuZ2V0ID0gZnVuY3Rpb24odXJsLCBwYXJhbXMsIGNhbGxiYWNrKSB7DQorY29tbW9uVXRpbC5nZXQgPSBmdW5jdGlvbiAodXJsLCBwYXJhbXMsIGNhbGxiYWNrKSB7DQogICAgICQuYWpheCh7DQotICAgICAgICB0eXBlIDogIkdFVCIsDQotICAgICAgICB1cmwgOiB1cmwsDQorICAgICAgICB0eXBlOiAiR0VUIiwNCisgICAgICAgIHVybDogdXJsLA0KICAgICAgICAgLy9jb250ZW50VHlwZSA6IGNvbnRlbnRUeXBlIHx8ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLA0KLSAgICAgICAgZGF0YVR5cGUgOiAianNvbiIsDQotICAgICAgICBkYXRhIDogcGFyYW1zIHx8IHt9LA0KLSAgICAgICAgc3VjY2VzcyA6IGNhbGxiYWNrDQorICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgZGF0YTogcGFyYW1zIHx8IHt9LA0KKyAgICAgICAgc3VjY2VzczogY2FsbGJhY2sNCiAgICAgfSk7DQogfQ0KIA0KLWNvbW1vblV0aWwucG9zdCA9IGZ1bmN0aW9uKHVybCwgcGFyYW1zLCBjYWxsYmFjaywgY29udGVudFR5cGUpIHsNCitjb21tb25VdGlsLnBvc3QgPSBmdW5jdGlvbiAodXJsLCBwYXJhbXMsIGNhbGxiYWNrLCBjb250ZW50VHlwZSkgew0KICAgICAkLmFqYXgoew0KLSAgICAgICAgdHlwZSA6ICJQT1NUIiwNCi0gICAgICAgIHVybCA6IHVybCwNCi0gICAgICAgIGNvbnRlbnRUeXBlIDogY29udGVudFR5cGUgfHwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsDQotICAgICAgICBkYXRhIDogcGFyYW1zIHx8IHt9LA0KLSAgICAgICAgc3VjY2VzcyA6IGNhbGxiYWNrDQorICAgICAgICB0eXBlOiAiUE9TVCIsDQorICAgICAgICB1cmw6IHVybCwNCisgICAgICAgIGNvbnRlbnRUeXBlOiBjb250ZW50VHlwZSB8fCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IiwNCisgICAgICAgIGRhdGE6IHBhcmFtcyB8fCB7fSwNCisgICAgICAgIHN1Y2Nlc3M6IGNhbGxiYWNrDQogICAgIH0pOw0KIH0NCiANCi1jb21tb25VdGlsLmRlbGV0ZSA9IGZ1bmN0aW9uKHVybCwgY2FsbGJhY2ssIGNvbnRlbnRUeXBlKSB7DQorY29tbW9uVXRpbC5kZWxldGUgPSBmdW5jdGlvbiAodXJsLCBjYWxsYmFjaywgY29udGVudFR5cGUpIHsNCiAgICAgJC5hamF4KHsNCi0gICAgICAgIHR5cGUgOiAiREVMRVRFIiwNCi0gICAgICAgIHVybCA6IHVybCwNCi0gICAgICAgIGNvbnRlbnRUeXBlIDogY29udGVudFR5cGUgfHwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsDQotICAgICAgICBzdWNjZXNzIDogY2FsbGJhY2sNCisgICAgICAgIHR5cGU6ICJERUxFVEUiLA0KKyAgICAgICAgdXJsOiB1cmwsDQorICAgICAgICBjb250ZW50VHlwZTogY29udGVudFR5cGUgfHwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsDQorICAgICAgICBzdWNjZXNzOiBjYWxsYmFjaw0KICAgICB9KTsNCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL2pzL2xvYWRpMThuX25zb2MuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvbG9hZGkxOG5fbnNvYy5qcwppbmRleCAxOTg5NjBjLi5hZWQzNGMzIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvbG9hZGkxOG5fbnNvYy5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvbG9hZGkxOG5fbnNvYy5qcwpAQCAtMTMsMjYgKzEzLDI2IEBACiAgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogICovDQotZnVuY3Rpb24gbG9hZFByb3BlcnRpZXNTaWRlTWVudShsYW5nLCBmaWxlTmFtZVByZWZpeCwgZmlsZVBhdGgpew0KLQlqUXVlcnkuaTE4bi5wcm9wZXJ0aWVzKHsNCi0JICAgIGxhbmd1YWdlOmxhbmcsDQotCSAgICBuYW1lOmZpbGVOYW1lUHJlZml4LA0KLQkgICAgcGF0aDpmaWxlUGF0aCwNCi0JICAgIG1vZGU6J21hcCcsDQotCSAgICBjYWxsYmFjazogZnVuY3Rpb24oKSB7DQotCSAgICAgICAgdmFyIGkxOG5JdGVtcyA9ICQoIltuYW1lX2kxOG49Y29tX3p0ZV9uZnZfbnNvY19pMThuXSIpOw0KLQkgICAgICAgIGZvcih2YXIgaT0wO2k8aTE4bkl0ZW1zLmxlbmd0aDtpKyspIHsNCi0JICAgICAgICAJdmFyICRpdGVtID0gJChpMThuSXRlbXMuZXEoaSkpOw0KLQkgICAgICAgIAl2YXIgaXRlbUlkID0gJGl0ZW0uYXR0cigiaWQiKTsNCi0JICAgICAgICAJdmFyIGl0ZW1UaXRsZSA9ICRpdGVtLmF0dHIoInRpdGxlIik7DQotCSAgICAgICAgCWlmKHR5cGVvZihpdGVtVGl0bGUpICE9ICJ1bmRlZmluZWQiKSB7DQotCSAgICAgICAgCQkkaXRlbS5hdHRyKCJ0aXRsZSIsICQuaTE4bi5wcm9wKGl0ZW1JZCkpOw0KLQkgICAgICAgIAl9IGVsc2Ugew0KLQkgICAgICAgIAkJJGl0ZW0udGV4dCgkLmkxOG4ucHJvcChpdGVtSWQpKTsNCi0JICAgICAgICAJfQ0KLQkgICAgICAgIH0NCi0JICAgIH0NCi0JfSk7DQorZnVuY3Rpb24gbG9hZFByb3BlcnRpZXNTaWRlTWVudShsYW5nLCBmaWxlTmFtZVByZWZpeCwgZmlsZVBhdGgpIHsNCisgICAgalF1ZXJ5LmkxOG4ucHJvcGVydGllcyh7DQorICAgICAgICBsYW5ndWFnZTogbGFuZywNCisgICAgICAgIG5hbWU6IGZpbGVOYW1lUHJlZml4LA0KKyAgICAgICAgcGF0aDogZmlsZVBhdGgsDQorICAgICAgICBtb2RlOiAnbWFwJywNCisgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgdmFyIGkxOG5JdGVtcyA9ICQoIltuYW1lX2kxOG49Y29tX3p0ZV9uZnZfbnNvY19pMThuXSIpOw0KKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaTE4bkl0ZW1zLmxlbmd0aDsgaSsrKSB7DQorICAgICAgICAgICAgICAgIHZhciAkaXRlbSA9ICQoaTE4bkl0ZW1zLmVxKGkpKTsNCisgICAgICAgICAgICAgICAgdmFyIGl0ZW1JZCA9ICRpdGVtLmF0dHIoImlkIik7DQorICAgICAgICAgICAgICAgIHZhciBpdGVtVGl0bGUgPSAkaXRlbS5hdHRyKCJ0aXRsZSIpOw0KKyAgICAgICAgICAgICAgICBpZiAodHlwZW9mKGl0ZW1UaXRsZSkgIT0gInVuZGVmaW5lZCIpIHsNCisgICAgICAgICAgICAgICAgICAgICRpdGVtLmF0dHIoInRpdGxlIiwgJC5pMThuLnByb3AoaXRlbUlkKSk7DQorICAgICAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgICAgICAkaXRlbS50ZXh0KCQuaTE4bi5wcm9wKGl0ZW1JZCkpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfQ0KKyAgICB9KTsNCiB9DQogdmFyIGxhbmcgPSBnZXRMYW5ndWFnZSgpOw0KIGxvYWRQcm9wZXJ0aWVzU2lkZU1lbnUobGFuZywgJ25mdi1uc28taXVpLWkxOG4nLCAnaTE4bi8nKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvdm5mbS12YWxpZGF0ZS5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy92bmZtLXZhbGlkYXRlLmpzCmluZGV4IDA0MTIxMDEuLmI2NTZkNGQgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy92bmZtLXZhbGlkYXRlLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy92bmZtLXZhbGlkYXRlLmpzCkBAIC0xMyw3NyArMTMsNzcgQEAKICAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAgKi8NCi0kKGZ1bmN0aW9uKCl7DQotCXZhciBmb3JtID0gJCgnI3ZuZm1fZm9ybScpOw0KLQl2YXIgZXJyb3IgPSAkKCcuYWxlcnQtZGFuZ2VyJywgZm9ybSk7DQotCXZhciBzdWNjZXNzID0gJCgnLmFsZXJ0LXN1Y2Nlc3MnLCBmb3JtKTsNCiskKGZ1bmN0aW9uICgpIHsNCisgICAgdmFyIGZvcm0gPSAkKCcjdm5mbV9mb3JtJyk7DQorICAgIHZhciBlcnJvciA9ICQoJy5hbGVydC1kYW5nZXInLCBmb3JtKTsNCisgICAgdmFyIHN1Y2Nlc3MgPSAkKCcuYWxlcnQtc3VjY2VzcycsIGZvcm0pOw0KIA0KLQlmb3JtLnZhbGlkYXRlKHsNCi0JCWRvTm90SGlkZU1lc3NhZ2U6IHRydWUsIC8vdGhpcyBvcHRpb24gZW5hYmxlcyB0byBzaG93IHRoZSBlcnJvci9zdWNjZXNzIG1lc3NhZ2VzIG9uIHRhYiBzd2l0Y2guDQotCQllcnJvckVsZW1lbnQ6ICdzcGFuJywgLy9kZWZhdWx0IGlucHV0IGVycm9yIG1lc3NhZ2UgY29udGFpbmVyDQotCQllcnJvckNsYXNzOiAnaGVscC1ibG9jaycsIC8vIGRlZmF1bHQgaW5wdXQgZXJyb3IgbWVzc2FnZSBjbGFzcw0KLQkJZm9jdXNJbnZhbGlkOiBmYWxzZSwgLy8gZG8gbm90IGZvY3VzIHRoZSBsYXN0IGludmFsaWQgaW5wdXQNCi0JCXJ1bGVzOiB7CQkJDQotCQkJbmFtZTp7DQotCQkJCXJlcXVpcmVkOiB0cnVlLA0KLQkJCQltYXhsZW5ndGg6MjANCi0JCQl9LA0KLQkJCXR5cGU6ew0KLQkJCQlyZXF1aXJlZDogdHJ1ZSwNCi0JCQkJbWF4bGVuZ3RoOjIwDQotCQkJfSwNCi0JCQl2ZXJzaW9uOnsNCi0JCQkJcmVxdWlyZWQ6IHRydWUsDQotCQkJCW1heGxlbmd0aDoyMA0KLQkJCX0sDQotCQkJdmVuZG9yOnsNCi0JCQkJcmVxdWlyZWQ6IHRydWUsDQotCQkJCW1heGxlbmd0aDoyMA0KLQkJCX0sDQotCQkJdXJsOnsNCi0JCQkJcmVxdWlyZWQ6IHRydWUsDQotCQkJCXVybDogdHJ1ZQ0KLQkJCX0NCi0JCX0sDQotCQltZXNzYWdlczogewkJDQotCQkJbmFtZTp7DQotCQkJCXJlcXVpcmVkOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXZhbGlkYXRlLW5hbWUiKQ0KLQkJCX0sDQotCQkJdHlwZTp7DQotCQkJCXJlcXVpcmVkOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXZhbGlkYXRlLXR5cGUiKQ0KLQkJCX0sDQotCQkJdmVyc2lvbjp7DQotCQkJCXJlcXVpcmVkOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXZhbGlkYXRlLXZlcnNpb24iKQ0KLQkJCX0sDQotCQkJdmVuZG9yOnsNCi0JCQkJcmVxdWlyZWQ6ICQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktdmFsaWRhdGUtdmVuZG9yIikNCi0JCQl9LA0KLQkJCXVybDp7DQotCQkJCXJlcXVpcmVkOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXZhbGlkYXRlLXVybC1yZXF1aXJlZCIpLA0KLQkJCQl1cmw6ICQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktdmFsaWRhdGUtdXJsIikNCi0JCQl9DQotCQl9LA0KLQkJZXJyb3JQbGFjZW1lbnQ6IGZ1bmN0aW9uIChlcnJvciwgZWxlbWVudCkgeyAvLyByZW5kZXIgZXJyb3IgcGxhY2VtZW50IGZvciBlYWNoIGlucHV0IHR5cGUNCi0JCQllcnJvci5pbnNlcnRBZnRlcihlbGVtZW50KTsgLy8gZm9yIG90aGVyIGlucHV0cywganVzdCBwZXJmb3JtIGRlZmF1bHQgYmVoYXZpb3INCi0JCX0sDQotCQlpbnZhbGlkSGFuZGxlcjogZnVuY3Rpb24gKGV2ZW50LCB2YWxpZGF0b3IpIHsgLy9kaXNwbGF5IGVycm9yIGFsZXJ0IG9uIGZvcm0gc3VibWl0ICAgDQotCQkJc3VjY2Vzcy5oaWRlKCk7DQotCQkJZXJyb3Iuc2hvdygpOw0KLQkJfSwNCi0JCWhpZ2hsaWdodDogZnVuY3Rpb24gKGVsZW1lbnQpIHsgLy8gaGlnaHRsaWdodCBlcnJvciBpbnB1dHMNCi0JCQkkKGVsZW1lbnQpLmNsb3Nlc3QoJy5mb3JtLWdyb3VwJykucmVtb3ZlQ2xhc3MoJ2hhcy1zdWNjZXNzJykuYWRkQ2xhc3MoJ2hhcy1lcnJvcicpOyAvLyBzZXQgZXJyb3IgY2xhc3MgdG8gdGhlIGNvbnRyb2wgZ3JvdXANCi0JCX0sDQotCQl1bmhpZ2hsaWdodDogZnVuY3Rpb24gKGVsZW1lbnQpIHsgLy8gcmV2ZXJ0IHRoZSBjaGFuZ2UgZG9uZSBieSBoaWdodGxpZ2h0DQotCQkJJChlbGVtZW50KS5jbG9zZXN0KCcuZm9ybS1ncm91cCcpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTsgLy8gc2V0IGVycm9yIGNsYXNzIHRvIHRoZSBjb250cm9sIGdyb3VwDQotCQl9LA0KLQkJc3VjY2VzczogZnVuY3Rpb24gKGxhYmVsKSB7DQotCQkJbGFiZWwuYWRkQ2xhc3MoJ3ZhbGlkJykgLy8gbWFyayB0aGUgY3VycmVudCBpbnB1dCBhcyB2YWxpZCBhbmQgZGlzcGxheSBPSyBpY29uDQotCQkJCS5jbG9zZXN0KCcuZm9ybS1ncm91cCcpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTsgLy8gc2V0IHN1Y2Nlc3MgY2xhc3MgdG8gdGhlIGNvbnRyb2wgZ3JvdXANCi0JCX0sDQotCQlzdWJtaXRIYW5kbGVyOiBmdW5jdGlvbiAoZm9ybSkgew0KLQkJCXN1Y2Nlc3Muc2hvdygpOw0KLQkJCWVycm9yLmhpZGUoKTsNCi0JCQkvL2FkZCBoZXJlIHNvbWUgYWpheCBjb2RlIHRvIHN1Ym1pdCB5b3VyIGZvcm0gb3IganVzdCBjYWxsIGZvcm0uc3VibWl0KCkgaWYgeW91IHdhbnQgdG8gc3VibWl0IHRoZSBmb3JtIHdpdGhvdXQgYWpheA0KLQkJfQ0KLQl9KTsNCisgICAgZm9ybS52YWxpZGF0ZSh7DQorICAgICAgICBkb05vdEhpZGVNZXNzYWdlOiB0cnVlLCAvL3RoaXMgb3B0aW9uIGVuYWJsZXMgdG8gc2hvdyB0aGUgZXJyb3Ivc3VjY2VzcyBtZXNzYWdlcyBvbiB0YWIgc3dpdGNoLg0KKyAgICAgICAgZXJyb3JFbGVtZW50OiAnc3BhbicsIC8vZGVmYXVsdCBpbnB1dCBlcnJvciBtZXNzYWdlIGNvbnRhaW5lcg0KKyAgICAgICAgZXJyb3JDbGFzczogJ2hlbHAtYmxvY2snLCAvLyBkZWZhdWx0IGlucHV0IGVycm9yIG1lc3NhZ2UgY2xhc3MNCisgICAgICAgIGZvY3VzSW52YWxpZDogZmFsc2UsIC8vIGRvIG5vdCBmb2N1cyB0aGUgbGFzdCBpbnZhbGlkIGlucHV0DQorICAgICAgICBydWxlczogew0KKyAgICAgICAgICAgIG5hbWU6IHsNCisgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQorICAgICAgICAgICAgICAgIG1heGxlbmd0aDogMjANCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHR5cGU6IHsNCisgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQorICAgICAgICAgICAgICAgIG1heGxlbmd0aDogMjANCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHZlcnNpb246IHsNCisgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQorICAgICAgICAgICAgICAgIG1heGxlbmd0aDogMjANCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHZlbmRvcjogew0KKyAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCisgICAgICAgICAgICAgICAgbWF4bGVuZ3RoOiAyMA0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgdXJsOiB7DQorICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KKyAgICAgICAgICAgICAgICB1cmw6IHRydWUNCisgICAgICAgICAgICB9DQorICAgICAgICB9LA0KKyAgICAgICAgbWVzc2FnZXM6IHsNCisgICAgICAgICAgICBuYW1lOiB7DQorICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXZhbGlkYXRlLW5hbWUiKQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgdHlwZTogew0KKyAgICAgICAgICAgICAgICByZXF1aXJlZDogJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS12YWxpZGF0ZS10eXBlIikNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHZlcnNpb246IHsNCisgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktdmFsaWRhdGUtdmVyc2lvbiIpDQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICB2ZW5kb3I6IHsNCisgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktdmFsaWRhdGUtdmVuZG9yIikNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIHVybDogew0KKyAgICAgICAgICAgICAgICByZXF1aXJlZDogJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS12YWxpZGF0ZS11cmwtcmVxdWlyZWQiKSwNCisgICAgICAgICAgICAgICAgdXJsOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXZhbGlkYXRlLXVybCIpDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSwNCisgICAgICAgIGVycm9yUGxhY2VtZW50OiBmdW5jdGlvbiAoZXJyb3IsIGVsZW1lbnQpIHsgLy8gcmVuZGVyIGVycm9yIHBsYWNlbWVudCBmb3IgZWFjaCBpbnB1dCB0eXBlDQorICAgICAgICAgICAgZXJyb3IuaW5zZXJ0QWZ0ZXIoZWxlbWVudCk7IC8vIGZvciBvdGhlciBpbnB1dHMsIGp1c3QgcGVyZm9ybSBkZWZhdWx0IGJlaGF2aW9yDQorICAgICAgICB9LA0KKyAgICAgICAgaW52YWxpZEhhbmRsZXI6IGZ1bmN0aW9uIChldmVudCwgdmFsaWRhdG9yKSB7IC8vZGlzcGxheSBlcnJvciBhbGVydCBvbiBmb3JtIHN1Ym1pdCAgIA0KKyAgICAgICAgICAgIHN1Y2Nlc3MuaGlkZSgpOw0KKyAgICAgICAgICAgIGVycm9yLnNob3coKTsNCisgICAgICAgIH0sDQorICAgICAgICBoaWdobGlnaHQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7IC8vIGhpZ2h0bGlnaHQgZXJyb3IgaW5wdXRzDQorICAgICAgICAgICAgJChlbGVtZW50KS5jbG9zZXN0KCcuZm9ybS1ncm91cCcpLnJlbW92ZUNsYXNzKCdoYXMtc3VjY2VzcycpLmFkZENsYXNzKCdoYXMtZXJyb3InKTsgLy8gc2V0IGVycm9yIGNsYXNzIHRvIHRoZSBjb250cm9sIGdyb3VwDQorICAgICAgICB9LA0KKyAgICAgICAgdW5oaWdobGlnaHQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7IC8vIHJldmVydCB0aGUgY2hhbmdlIGRvbmUgYnkgaGlnaHRsaWdodA0KKyAgICAgICAgICAgICQoZWxlbWVudCkuY2xvc2VzdCgnLmZvcm0tZ3JvdXAnKS5yZW1vdmVDbGFzcygnaGFzLWVycm9yJyk7IC8vIHNldCBlcnJvciBjbGFzcyB0byB0aGUgY29udHJvbCBncm91cA0KKyAgICAgICAgfSwNCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChsYWJlbCkgew0KKyAgICAgICAgICAgIGxhYmVsLmFkZENsYXNzKCd2YWxpZCcpIC8vIG1hcmsgdGhlIGN1cnJlbnQgaW5wdXQgYXMgdmFsaWQgYW5kIGRpc3BsYXkgT0sgaWNvbg0KKyAgICAgICAgICAgICAgICAuY2xvc2VzdCgnLmZvcm0tZ3JvdXAnKS5yZW1vdmVDbGFzcygnaGFzLWVycm9yJyk7IC8vIHNldCBzdWNjZXNzIGNsYXNzIHRvIHRoZSBjb250cm9sIGdyb3VwDQorICAgICAgICB9LA0KKyAgICAgICAgc3VibWl0SGFuZGxlcjogZnVuY3Rpb24gKGZvcm0pIHsNCisgICAgICAgICAgICBzdWNjZXNzLnNob3coKTsNCisgICAgICAgICAgICBlcnJvci5oaWRlKCk7DQorICAgICAgICAgICAgLy9hZGQgaGVyZSBzb21lIGFqYXggY29kZSB0byBzdWJtaXQgeW91ciBmb3JtIG9yIGp1c3QgY2FsbCBmb3JtLnN1Ym1pdCgpIGlmIHlvdSB3YW50IHRvIHN1Ym1pdCB0aGUgZm9ybSB3aXRob3V0IGFqYXgNCisgICAgICAgIH0NCisgICAgfSk7DQogfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL2pzL3ZuZm1Db250cm9sbGVyLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL2pzL3ZuZm1Db250cm9sbGVyLmpzCmluZGV4IGZjYzk1YTYuLmRmMzE2NmMgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy92bmZtQ29udHJvbGxlci5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvdm5mbUNvbnRyb2xsZXIuanMKQEAgLTE1LDI3OSArMTUsMjc5IEBACiAgKi8NCiANCiB2YXIgdm0gPSBhdmFsb24NCi0JCS5kZWZpbmUoew0KLQkJCSRpZCA6ICJ2bmZtQ29udHJvbGxlciIsDQotCQkJdm5mbUluZm8gOiAgW10sCQ0KLQkJCS8vbW9jU2VsZWN0SXRlbXMgOiBbXSwNCi0JCQl2aW1TZWxlY3RJdGVtcyA6IFtdLAkNCi0JCQlzZXJ2ZXJfcnRuOnsNCi0JCQkJaW5mb19ibG9jazpmYWxzZSwNCi0JCQkJd2FybmluZ19ibG9jazpmYWxzZSwNCi0JCQkJcnRuX2luZm86IiIsDQotCQkJCSRSVE5fU1VDQ0VTUzoiUlROX1NVQ0NFU1MiLA0KLQkJCQkkUlROX0ZBSUxFRDoiUlROX0ZBSUxFRCINCi0JCQl9LAkNCi0JCQkkU3RhdHVzCTp7DQotICAgICAgICAgICAgICAgIHN1Y2Nlc3M6ImFjdGl2ZSIsDQotICAgICAgICAgICAgICAgIGZhaWxlZDoiaW5hY3RpdmUiDQotCQkJfSwJDQotCQkJJHJlc3RVcmwgOiB7DQotCQkJCXF1ZXJ5Vm5mbUluZm9VcmwgOiAnL29wZW5vYXBpL2V4dHN5cy92MS92bmZtcycsDQotCQkJCWFkZFZuZm1JbmZvVXJsIDogJy9vcGVub2FwaS9leHRzeXMvdjEvdm5mbXMnLA0KLQkJCQl1cGRhdGVWbmZtSW5mb1VybCA6ICcvb3Blbm9hcGkvZXh0c3lzL3YxL3ZuZm1zLycsDQotCQkJCWRlbFZuZm1JbmZvVXJsIDogJy9vcGVub2FwaS9leHRzeXMvdjEvdm5mbXMvJywNCi0JCQkJcXVlcnlNb2NVcmwgOiAnJywNCi0JCQkJcXVlcnlWaW1VcmwgOiAnL29wZW5vYXBpL2V4dHN5cy92MS92aW1zJw0KLQkJCX0sDQotCQkJJGh0bWxUZXh0OnsNCi0JCQkJc2F2ZVN1Y2Nlc3M6JC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXNhdmUtc3VjY2VzcyIpLA0KLQkJCQlzYXZlRmFpbDokLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2Utc2F2ZS1mYWlsIiksDQotCQkJCXVwZGF0ZVN1Y2Nlc3M6JC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXVwZGF0ZS1zdWNjZXNzIiksDQotCQkJCXVwZGF0ZUZhaWw6JC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXVwZGF0ZS1mYWlsIikNCi0JCQl9LA0KLQkJCSRpbml0VGFibGUgOiBmdW5jdGlvbigpIHsJCQkJDQotCQkJCSQuYWpheCh7DQotCSAgICAgICAgICAgICAgICAidHlwZSI6ICdHRVQnLA0KLQkgICAgICAgICAgICAgICAgInVybCI6IHZtLiRyZXN0VXJsLnF1ZXJ5Vm5mbUluZm9VcmwsDQotCSAgICAgICAgICAgICAgICAvLyJkYXRhVHlwZSI6ICJqc29uIiwNCi0JICAgICAgICAgICAgICAgICJzdWNjZXNzIjogZnVuY3Rpb24gKHJlc3ApIHsNCi0JICAgICAgICAgICAgICAgIAlmb3IodmFyIGk9MDtpPHJlc3AubGVuZ3RoO2krKyl7IA0KLQkJCSAgICAgICAgICAgICAgICAgcmVzcFtpXS5zdGF0dXMgPSB2bS4kU3RhdHVzLnN1Y2Nlc3M7CQkJICAgICAgICAgICAgICAgICAgICAgICAgDQotCQkJCSAgICAgICAgICAgfQ0KLQkgICAgICAgICAgICAgICAgCXZtLnZuZm1JbmZvID0gcmVzcDsJICAgICAgICAgICAgICAgICAgIAkNCi0JICAgICAgICAgICAgICAgIH0sDQotCSAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQotCQkJCQkJYm9vdGJveC5hbGVydCgkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2UtcXVlcnktZmFpbCIpICsgIu+8miIrdGV4dFN0YXR1cysiOiIrZXJyb3JUaHJvd24pOyAgICAgICAgICAgICAgICAgICAgICAgDQotCSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KLQkgICAgICAgICAgICAgICAgfSwNCi0JICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbigpIHsgICAgDQotCSAgICAgICAgICAgICAgICAgICAJdm5mbVV0aWwudG9vbHRpcFZuZm1TdGF0dXMoKTsNCi0JICAgICAgICAgICAgICAgIH0NCi0JICAgICAgICAgICAgfSk7CQ0KLQkJCX0sDQotCQkJLy8gJGluaXRNb2MgOiBmdW5jdGlvbigpIHsNCi0JCQkvLyAJLyp2YXIgdXJsID0gdm0uJHJlc3RVcmwucXVlcnlNb2NVcmw7DQotCQkJLy8gICAgIGNvbW1vblV0aWwuZ2V0KHVybCwgbnVsbCwgZnVuY3Rpb24ocmVzcCkgew0KLQkJCS8vICAgICAgICAgaWYgKHJlc3ApIHsNCi0JCQkvLyAgICAgICAgICAgICB2bS5hZGRWbmZtLm1vYyA9IHJlc3AuZGF0YTsNCi0JCQkvLyAgICAgICAgIH0NCi0JCQkvLyAgICAgfSk7Ki8NCi0JCQkvLyAgICAgdmFyIHJlc3AgPSBbDQotCQkJLy8gICAgIAl7IGlkIDogIm5mdi52bmZtLmVjbyIsIG5hbWUgOiAiVk5GTShFQ08pIn0sDQotCQkJLy8gICAgIAl7IGlkIDogIm5mdi52bmZtLnRhY2tlciIsIG5hbWUgOiAiVk5GTShUYWNrZXIpIn0sDQotCQkJLy8gICAgIAl7IGlkIDogIm5mdi52bmZtLmNtY2MiLCBuYW1lIDogIlZORk0oQ01DQykifSwNCi0JCQkvLyAgICAgCXsgaWQgOiAibmZ2LnZuZm0uZXRzaSIsIG5hbWUgOiAiVk5GTShFVFNJKSJ9DQotCQkJLy8gICAgIF0NCi0JCQkvLyAgICAgdm0ubW9jU2VsZWN0SXRlbXMgPSByZXNwOw0KLQkJCS8vIH0sDQotCQkJJGluaXRWaW0gOiBmdW5jdGlvbigpIHsNCi0JCQkJJC5hamF4KHsNCi0JCQkJCXR5cGUgOiAnZ2V0JywNCi0JCQkJCXVybCA6IHZtLiRyZXN0VXJsLnF1ZXJ5VmltVXJsLA0KLQkJCQkJZGF0YVR5cGUgOiAnanNvbicsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24ocmVzcCkgew0KLQkJCQkJCWlmKHJlc3ApIHsNCi0JCQkJCQkJdm0udmltU2VsZWN0SXRlbXMgPSByZXNwOw0KLQkJCQkJCX0NCi0JCQkJCQl2bS52aW1TZWxlY3RJdGVtcy5wdXNoKHsidmltSWQiOiIiLCJuYW1lIjoiIn0pOwkJCQkJCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQl9LA0KLQkJCWFkZFZuZm0gOiB7DQotCQkJCXRpdGxlIDogJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS10ZXh0LXJlZ2lzdGVyIiksDQotCQkJCXZuZm1JZCA6ICIiLA0KLQkJCQluYW1lIDogIiIsDQotCQkJCXR5cGUgOiIiLA0KLQkJCQkvL21vYyA6ICIiLA0KLQkJCQkvL21vY0Rpc2FibGVkIDogZmFsc2UsDQotCQkJCXZpbUlkIDogIiIsDQotCQkJCS8vdmltVmlzaWFibGUgOiBmYWxzZSwNCi0JCQkJdmVuZG9yIDogIiIsDQotCQkJCXZlcnNpb24gOiIiLA0KLQkJCQlkZXNjcmlwdGlvbjoiIiwNCi0JCQkJY2VydGlmaWNhdGVVcmw6IiIsDQotCQkJCXVybCA6ICIiLA0KLQkJCQl1cmxUaXAgOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXRleHQtdXJsLXRpcCIpLA0KLQkJCQl1c2VyTmFtZSA6ICIiLA0KLQkJCQlwYXNzd29yZCA6ICIiLA0KLQkJCQlzYXZlVHlwZSA6ImFkZCIsDQotCQkJCXN0YXR1czogIiINCi0JCQl9LA0KLQkJCSRzaG93Vm5mbVRhYmxlIDogZnVuY3Rpb24oKSB7IA0KLQkJCQl2bS5hZGRWbmZtLnRpdGxlID0gJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS10ZXh0LXJlZ2lzdGVyIiksICAJCQkJDQotCQkJCXZtLmFkZFZuZm0udm5mbUlkID0gIiI7DQotCQkJCXZtLmFkZFZuZm0ubmFtZSA9ICIiOw0KLQkJCQl2bS5hZGRWbmZtLnR5cGUgPSAiIjsNCi0JCQkJLy92bS5hZGRWbmZtLm1vYyA9ICIiOw0KLQkJCQkvL3ZtLmFkZFZuZm0ubW9jRGlzYWJsZWQgPSBmYWxzZTsNCi0JCQkJdm0uYWRkVm5mbS52aW1JZCA9ICIiOw0KLQkJCQkvL3ZtLmFkZFZuZm0udmltVmlzaWFibGUgPSBmYWxzZTsNCi0JCQkJdm0uYWRkVm5mbS52ZW5kb3IgPSAiIjsNCi0JCQkJdm0uYWRkVm5mbS52ZXJzaW9uID0gIiI7DQotCQkJCXZtLmFkZFZuZm0uZGVzY3JpcHRpb24gPSAiIjsNCi0JCQkJdm0uYWRkVm5mbS5jZXJ0aWZpY2F0ZVVybCA9ICIiOw0KLQkJCQl2bS5hZGRWbmZtLnVybCA9ICIiOw0KLQkJCQl2bS5hZGRWbmZtLnVzZXJOYW1lID0gIiI7DQotCQkJCXZtLmFkZFZuZm0ucGFzc3dvcmQgPSAiIjsNCi0JCQkJdm0uYWRkVm5mbS5zYXZlVHlwZSA9ICJhZGQiOw0KLQkJCQl2bS5zZXJ2ZXJfcnRuLndhcm5pbmdfYmxvY2s9ZmFsc2U7DQotCQkJCXZtLnNlcnZlcl9ydG4uaW5mb19ibG9jaz1mYWxzZTsNCi0JCQkJLy92bS4kaW5pdE1vYygpOw0KLQkJCQl2bS4kaW5pdFZpbSgpOw0KLQkJCQkvL3ZtLiRtb2NDaGFuZ2UoKTsNCi0JCQkJDQotCQkJCSQoIi5mb3JtLWdyb3VwIikuZWFjaChmdW5jdGlvbiAoKSB7DQotCQkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdoYXMtc3VjY2VzcycpOw0KLQkJCQkJJCh0aGlzKS5yZW1vdmVDbGFzcygnaGFzLWVycm9yJyk7DQotCQkJCQkkKHRoaXMpLmZpbmQoIi5oZWxwLWJsb2NrW2lkXSIpLnJlbW92ZSgpOw0KLQkJCQl9KTsNCi0JCQkJJCgiI2FkZFZuZm1EbGciKS5tb2RhbCgic2hvdyIpOw0KLQkJCX0sCQkJDQotCQkJLy8gJGdldE1vY05hbWUgOiBmdW5jdGlvbihtb2NJZCkgew0KLQkgIC8vICAgICAgIAl2YXIgaXRlbXMgPSB2bS5tb2NTZWxlY3RJdGVtczsNCi0JICAvLyAgICAgICAgICAgZm9yKHZhciBpPTA7aTxpdGVtcy5sZW5ndGg7aSsrKSB7DQotCQkgLy8gICAgCQlpZihpdGVtc1tpXS5pZCA9PSBtb2NJZCkgew0KLQkJIC8vICAgIAkJCXJldHVybiBpdGVtc1tpXS5uYW1lOw0KLQkJIC8vICAgIAkJfQ0KLQkJIC8vICAgIAl9DQotCQkgLy8gICAgCXJldHVybiAiIjsNCi0JCQkvLyB9LA0KLQkJCSRzYXZlVm5mbSA6IGZ1bmN0aW9uKCkgew0KLQkJCQl2YXIgZm9ybSA9ICQoJyN2bmZtX2Zvcm0nKTsNCi0JCQkJaWYgKGZvcm0udmFsaWQoKSA9PSBmYWxzZSkgew0KLQkJCQkJcmV0dXJuIGZhbHNlOw0KLQkJCQl9CQkJCQ0KLQkJCSAgICB2bS5zZXJ2ZXJfcnRuLmluZm9fYmxvY2s9dHJ1ZTsNCi0gICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrPWZhbHNlOyAgICAgICAgICAgICAgICAgIA0KLQkJCQl2bS5hZGRWbmZtLnN0YXR1cz12bS4kU3RhdHVzLnN1Y2Nlc3M7DQorICAgIC5kZWZpbmUoew0KKyAgICAgICAgJGlkOiAidm5mbUNvbnRyb2xsZXIiLA0KKyAgICAgICAgdm5mbUluZm86IFtdLA0KKyAgICAgICAgLy9tb2NTZWxlY3RJdGVtcyA6IFtdLA0KKyAgICAgICAgdmltU2VsZWN0SXRlbXM6IFtdLA0KKyAgICAgICAgc2VydmVyX3J0bjogew0KKyAgICAgICAgICAgIGluZm9fYmxvY2s6IGZhbHNlLA0KKyAgICAgICAgICAgIHdhcm5pbmdfYmxvY2s6IGZhbHNlLA0KKyAgICAgICAgICAgIHJ0bl9pbmZvOiAiIiwNCisgICAgICAgICAgICAkUlROX1NVQ0NFU1M6ICJSVE5fU1VDQ0VTUyIsDQorICAgICAgICAgICAgJFJUTl9GQUlMRUQ6ICJSVE5fRkFJTEVEIg0KKyAgICAgICAgfSwNCisgICAgICAgICRTdGF0dXM6IHsNCisgICAgICAgICAgICBzdWNjZXNzOiAiYWN0aXZlIiwNCisgICAgICAgICAgICBmYWlsZWQ6ICJpbmFjdGl2ZSINCisgICAgICAgIH0sDQorICAgICAgICAkcmVzdFVybDogew0KKyAgICAgICAgICAgIHF1ZXJ5Vm5mbUluZm9Vcmw6ICcvb3Blbm9hcGkvZXh0c3lzL3YxL3ZuZm1zJywNCisgICAgICAgICAgICBhZGRWbmZtSW5mb1VybDogJy9vcGVub2FwaS9leHRzeXMvdjEvdm5mbXMnLA0KKyAgICAgICAgICAgIHVwZGF0ZVZuZm1JbmZvVXJsOiAnL29wZW5vYXBpL2V4dHN5cy92MS92bmZtcy8nLA0KKyAgICAgICAgICAgIGRlbFZuZm1JbmZvVXJsOiAnL29wZW5vYXBpL2V4dHN5cy92MS92bmZtcy8nLA0KKyAgICAgICAgICAgIHF1ZXJ5TW9jVXJsOiAnJywNCisgICAgICAgICAgICBxdWVyeVZpbVVybDogJy9vcGVub2FwaS9leHRzeXMvdjEvdmltcycNCisgICAgICAgIH0sDQorICAgICAgICAkaHRtbFRleHQ6IHsNCisgICAgICAgICAgICBzYXZlU3VjY2VzczogJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXNhdmUtc3VjY2VzcyIpLA0KKyAgICAgICAgICAgIHNhdmVGYWlsOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2Utc2F2ZS1mYWlsIiksDQorICAgICAgICAgICAgdXBkYXRlU3VjY2VzczogJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXVwZGF0ZS1zdWNjZXNzIiksDQorICAgICAgICAgICAgdXBkYXRlRmFpbDogJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXVwZGF0ZS1mYWlsIikNCisgICAgICAgIH0sDQorICAgICAgICAkaW5pdFRhYmxlOiBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgJC5hamF4KHsNCisgICAgICAgICAgICAgICAgInR5cGUiOiAnR0VUJywNCisgICAgICAgICAgICAgICAgInVybCI6IHZtLiRyZXN0VXJsLnF1ZXJ5Vm5mbUluZm9VcmwsDQorICAgICAgICAgICAgICAgIC8vImRhdGFUeXBlIjogImpzb24iLA0KKyAgICAgICAgICAgICAgICAic3VjY2VzcyI6IGZ1bmN0aW9uIChyZXNwKSB7DQorICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3AubGVuZ3RoOyBpKyspIHsNCisgICAgICAgICAgICAgICAgICAgICAgICByZXNwW2ldLnN0YXR1cyA9IHZtLiRTdGF0dXMuc3VjY2VzczsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvID0gcmVzcDsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCisgICAgICAgICAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS1tZXNzYWdlLXF1ZXJ5LWZhaWwiKSArICLvvJoiICsgdGV4dFN0YXR1cyArICI6IiArIGVycm9yVGhyb3duKTsNCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgICAgIHZuZm1VdGlsLnRvb2x0aXBWbmZtU3RhdHVzKCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9KTsNCisgICAgICAgIH0sDQorICAgICAgICAvLyAkaW5pdE1vYyA6IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgLy8gCS8qdmFyIHVybCA9IHZtLiRyZXN0VXJsLnF1ZXJ5TW9jVXJsOw0KKyAgICAgICAgLy8gICAgIGNvbW1vblV0aWwuZ2V0KHVybCwgbnVsbCwgZnVuY3Rpb24ocmVzcCkgew0KKyAgICAgICAgLy8gICAgICAgICBpZiAocmVzcCkgew0KKyAgICAgICAgLy8gICAgICAgICAgICAgdm0uYWRkVm5mbS5tb2MgPSByZXNwLmRhdGE7DQorICAgICAgICAvLyAgICAgICAgIH0NCisgICAgICAgIC8vICAgICB9KTsqLw0KKyAgICAgICAgLy8gICAgIHZhciByZXNwID0gWw0KKyAgICAgICAgLy8gICAgIAl7IGlkIDogIm5mdi52bmZtLmVjbyIsIG5hbWUgOiAiVk5GTShFQ08pIn0sDQorICAgICAgICAvLyAgICAgCXsgaWQgOiAibmZ2LnZuZm0udGFja2VyIiwgbmFtZSA6ICJWTkZNKFRhY2tlcikifSwNCisgICAgICAgIC8vICAgICAJeyBpZCA6ICJuZnYudm5mbS5jbWNjIiwgbmFtZSA6ICJWTkZNKENNQ0MpIn0sDQorICAgICAgICAvLyAgICAgCXsgaWQgOiAibmZ2LnZuZm0uZXRzaSIsIG5hbWUgOiAiVk5GTShFVFNJKSJ9DQorICAgICAgICAvLyAgICAgXQ0KKyAgICAgICAgLy8gICAgIHZtLm1vY1NlbGVjdEl0ZW1zID0gcmVzcDsNCisgICAgICAgIC8vIH0sDQorICAgICAgICAkaW5pdFZpbTogZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQuYWpheCh7DQorICAgICAgICAgICAgICAgIHR5cGU6ICdnZXQnLA0KKyAgICAgICAgICAgICAgICB1cmw6IHZtLiRyZXN0VXJsLnF1ZXJ5VmltVXJsLA0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2pzb24nLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcCkgew0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3ApIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB2bS52aW1TZWxlY3RJdGVtcyA9IHJlc3A7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgICAgICB2bS52aW1TZWxlY3RJdGVtcy5wdXNoKHsidmltSWQiOiAiIiwgIm5hbWUiOiAiIn0pOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorICAgICAgICB9LA0KKyAgICAgICAgYWRkVm5mbTogew0KKyAgICAgICAgICAgIHRpdGxlOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXRleHQtcmVnaXN0ZXIiKSwNCisgICAgICAgICAgICB2bmZtSWQ6ICIiLA0KKyAgICAgICAgICAgIG5hbWU6ICIiLA0KKyAgICAgICAgICAgIHR5cGU6ICIiLA0KKyAgICAgICAgICAgIC8vbW9jIDogIiIsDQorICAgICAgICAgICAgLy9tb2NEaXNhYmxlZCA6IGZhbHNlLA0KKyAgICAgICAgICAgIHZpbUlkOiAiIiwNCisgICAgICAgICAgICAvL3ZpbVZpc2lhYmxlIDogZmFsc2UsDQorICAgICAgICAgICAgdmVuZG9yOiAiIiwNCisgICAgICAgICAgICB2ZXJzaW9uOiAiIiwNCisgICAgICAgICAgICBkZXNjcmlwdGlvbjogIiIsDQorICAgICAgICAgICAgY2VydGlmaWNhdGVVcmw6ICIiLA0KKyAgICAgICAgICAgIHVybDogIiIsDQorICAgICAgICAgICAgdXJsVGlwOiAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXRleHQtdXJsLXRpcCIpLA0KKyAgICAgICAgICAgIHVzZXJOYW1lOiAiIiwNCisgICAgICAgICAgICBwYXNzd29yZDogIiIsDQorICAgICAgICAgICAgc2F2ZVR5cGU6ICJhZGQiLA0KKyAgICAgICAgICAgIHN0YXR1czogIiINCisgICAgICAgIH0sDQorICAgICAgICAkc2hvd1ZuZm1UYWJsZTogZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIHZtLmFkZFZuZm0udGl0bGUgPSAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXRleHQtcmVnaXN0ZXIiKSwNCisgICAgICAgICAgICAgICAgdm0uYWRkVm5mbS52bmZtSWQgPSAiIjsNCisgICAgICAgICAgICB2bS5hZGRWbmZtLm5hbWUgPSAiIjsNCisgICAgICAgICAgICB2bS5hZGRWbmZtLnR5cGUgPSAiIjsNCisgICAgICAgICAgICAvL3ZtLmFkZFZuZm0ubW9jID0gIiI7DQorICAgICAgICAgICAgLy92bS5hZGRWbmZtLm1vY0Rpc2FibGVkID0gZmFsc2U7DQorICAgICAgICAgICAgdm0uYWRkVm5mbS52aW1JZCA9ICIiOw0KKyAgICAgICAgICAgIC8vdm0uYWRkVm5mbS52aW1WaXNpYWJsZSA9IGZhbHNlOw0KKyAgICAgICAgICAgIHZtLmFkZFZuZm0udmVuZG9yID0gIiI7DQorICAgICAgICAgICAgdm0uYWRkVm5mbS52ZXJzaW9uID0gIiI7DQorICAgICAgICAgICAgdm0uYWRkVm5mbS5kZXNjcmlwdGlvbiA9ICIiOw0KKyAgICAgICAgICAgIHZtLmFkZFZuZm0uY2VydGlmaWNhdGVVcmwgPSAiIjsNCisgICAgICAgICAgICB2bS5hZGRWbmZtLnVybCA9ICIiOw0KKyAgICAgICAgICAgIHZtLmFkZFZuZm0udXNlck5hbWUgPSAiIjsNCisgICAgICAgICAgICB2bS5hZGRWbmZtLnBhc3N3b3JkID0gIiI7DQorICAgICAgICAgICAgdm0uYWRkVm5mbS5zYXZlVHlwZSA9ICJhZGQiOw0KKyAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4ud2FybmluZ19ibG9jayA9IGZhbHNlOw0KKyAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4uaW5mb19ibG9jayA9IGZhbHNlOw0KKyAgICAgICAgICAgIC8vdm0uJGluaXRNb2MoKTsNCisgICAgICAgICAgICB2bS4kaW5pdFZpbSgpOw0KKyAgICAgICAgICAgIC8vdm0uJG1vY0NoYW5nZSgpOw0KIA0KLQkJCQl2YXIgcGFyYW0gPSB7DQotCQkJCQluYW1lIDogdm0uYWRkVm5mbS5uYW1lLAkJCQkJCQkJCQkNCi0JCQkJCS8vc3RhdHVzIDogdm0uYWRkVm5mbS5zdGF0dXMsDQotCQkJCQkvL21vYyA6ICQoIiNtb2MiKS52YWwoKSwNCi0JCQkJCS8vdmltSWQgOiB2bS4kZ2V0VmltSWQoJCgiI21vYyIpLnZhbCgpKSwNCi0JCQkJCXZpbUlkIDogJCgiI3ZpbUlkIikudmFsKCksDQotCQkJCQl2ZW5kb3IgOiB2bS5hZGRWbmZtLnZlbmRvciwNCi0JCQkJCXZlcnNpb24gOiB2bS5hZGRWbmZtLnZlcnNpb24sDQotCQkJCQl0eXBlIDogdm0uYWRkVm5mbS50eXBlLA0KLQkJCQkJZGVzY3JpcHRpb24gOiB2bS5hZGRWbmZtLmRlc2NyaXB0aW9uLA0KLQkJCQkJY2VydGlmaWNhdGVVcmwgOiB2bS5hZGRWbmZtLmNlcnRpZmljYXRlVXJsLA0KLQkJCQkJdXJsIDogdm0uYWRkVm5mbS51cmwsDQotCQkJCQl1c2VyTmFtZSA6IHZtLmFkZFZuZm0udXNlck5hbWUsDQotCQkJCQlwYXNzd29yZCA6IHZtLmFkZFZuZm0ucGFzc3dvcmQgDQotCQkJCX0NCi0JCQkJLy9zYXZlIFZJTSBpbmZvDQotCQkJCWlmKHZtLmFkZFZuZm0uc2F2ZVR5cGUgPT0gImFkZCIpIHsNCi0JCQkJCSQuYWpheCh7DQotCQkJCQkJdHlwZSA6ICJQT1NUIiwNCi0JCQkJCQl1cmwgOiB2bS4kcmVzdFVybC5hZGRWbmZtSW5mb1VybCwNCi0JCQkJCQlkYXRhIDogSlNPTi5zdHJpbmdpZnkocGFyYW0pLA0KLQkJCQkJCWRhdGFUeXBlIDogImpzb24iLA0KLQkJCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhKSB7DQotCQkJCQkJCXZtLnNlcnZlcl9ydG4uaW5mb19ibG9jaz1mYWxzZTsNCi0JCQkJCQkJdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrPWZhbHNlOw0KLQkJCQkJCQlpZiAoZGF0YSkgew0KLQkJCQkJCQkJdm0udm5mbUluZm8gPSBbXTsNCi0JCQkJCQkJCXZtLiRpbml0VGFibGUoKTsNCisgICAgICAgICAgICAkKCIuZm9ybS1ncm91cCIpLmVhY2goZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdoYXMtc3VjY2VzcycpOw0KKyAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTsNCisgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCIuaGVscC1ibG9ja1tpZF0iKS5yZW1vdmUoKTsNCisgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAkKCIjYWRkVm5mbURsZyIpLm1vZGFsKCJzaG93Iik7DQorICAgICAgICB9LA0KKyAgICAgICAgLy8gJGdldE1vY05hbWUgOiBmdW5jdGlvbihtb2NJZCkgew0KKyAgICAgICAgLy8gICAgICAgCXZhciBpdGVtcyA9IHZtLm1vY1NlbGVjdEl0ZW1zOw0KKyAgICAgICAgLy8gICAgICAgICAgIGZvcih2YXIgaT0wO2k8aXRlbXMubGVuZ3RoO2krKykgew0KKyAgICAgICAgLy8gICAgCQlpZihpdGVtc1tpXS5pZCA9PSBtb2NJZCkgew0KKyAgICAgICAgLy8gICAgCQkJcmV0dXJuIGl0ZW1zW2ldLm5hbWU7DQorICAgICAgICAvLyAgICAJCX0NCisgICAgICAgIC8vICAgIAl9DQorICAgICAgICAvLyAgICAJcmV0dXJuICIiOw0KKyAgICAgICAgLy8gfSwNCisgICAgICAgICRzYXZlVm5mbTogZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIHZhciBmb3JtID0gJCgnI3ZuZm1fZm9ybScpOw0KKyAgICAgICAgICAgIGlmIChmb3JtLnZhbGlkKCkgPT0gZmFsc2UpIHsNCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB2bS5zZXJ2ZXJfcnRuLmluZm9fYmxvY2sgPSB0cnVlOw0KKyAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4ud2FybmluZ19ibG9jayA9IGZhbHNlOw0KKyAgICAgICAgICAgIHZtLmFkZFZuZm0uc3RhdHVzID0gdm0uJFN0YXR1cy5zdWNjZXNzOw0KIA0KLQkJCQkJCQkJJCgnI2FkZFZuZm1EbGcnKS5tb2RhbCgnaGlkZScpOwkJCQkJCQkNCi0JCQkJCQkJCWNvbW1vblV0aWwuc2hvd01lc3NhZ2Uodm0uJGh0bWxUZXh0LnNhdmVTdWNjZXNzLCAic3VjY2VzcyIpOw0KLQkJCQkJCQl9IGVsc2Ugew0KLQkJCQkJCQkJdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrPXRydWU7DQotCQkJCQkJCQl2bS5zZXJ2ZXJfcnRuLnJ0bl9pbmZvPXZtLiRodG1sVGV4dC5zYXZlRmFpbDsNCi0JCQkJCQkJCWNvbW1vblV0aWwuc2hvd01lc3NhZ2Uodm0uJGh0bWxUZXh0LnNhdmVGYWlsLCAiZmFpbGVkIik7DQotCQkJCQkJCX0NCi0JCQkJCQl9LA0KLQkJCQkJICAgIGVycm9yOiBmdW5jdGlvbihYTUxIdHRwUmVxdWVzdCwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCi0JCQkJCSAgICAgIAl2bS5zZXJ2ZXJfcnRuLndhcm5pbmdfYmxvY2s9dHJ1ZTsNCi0JCQkJCSAgICAgIAl2bS5zZXJ2ZXJfcnRuLnJ0bl9pbmZvPXRleHRTdGF0dXMrIjoiK2Vycm9yVGhyb3duOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgCXZtLnNlcnZlcl9ydG4uaW5mb19ibG9jaz1mYWxzZTsNCisgICAgICAgICAgICB2YXIgcGFyYW0gPSB7DQorICAgICAgICAgICAgICAgIG5hbWU6IHZtLmFkZFZuZm0ubmFtZSwNCisgICAgICAgICAgICAgICAgLy9zdGF0dXMgOiB2bS5hZGRWbmZtLnN0YXR1cywNCisgICAgICAgICAgICAgICAgLy9tb2MgOiAkKCIjbW9jIikudmFsKCksDQorICAgICAgICAgICAgICAgIC8vdmltSWQgOiB2bS4kZ2V0VmltSWQoJCgiI21vYyIpLnZhbCgpKSwNCisgICAgICAgICAgICAgICAgdmltSWQ6ICQoIiN2aW1JZCIpLnZhbCgpLA0KKyAgICAgICAgICAgICAgICB2ZW5kb3I6IHZtLmFkZFZuZm0udmVuZG9yLA0KKyAgICAgICAgICAgICAgICB2ZXJzaW9uOiB2bS5hZGRWbmZtLnZlcnNpb24sDQorICAgICAgICAgICAgICAgIHR5cGU6IHZtLmFkZFZuZm0udHlwZSwNCisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHZtLmFkZFZuZm0uZGVzY3JpcHRpb24sDQorICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlVXJsOiB2bS5hZGRWbmZtLmNlcnRpZmljYXRlVXJsLA0KKyAgICAgICAgICAgICAgICB1cmw6IHZtLmFkZFZuZm0udXJsLA0KKyAgICAgICAgICAgICAgICB1c2VyTmFtZTogdm0uYWRkVm5mbS51c2VyTmFtZSwNCisgICAgICAgICAgICAgICAgcGFzc3dvcmQ6IHZtLmFkZFZuZm0ucGFzc3dvcmQNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLy9zYXZlIFZJTSBpbmZvDQorICAgICAgICAgICAgaWYgKHZtLmFkZFZuZm0uc2F2ZVR5cGUgPT0gImFkZCIpIHsNCisgICAgICAgICAgICAgICAgJC5hamF4KHsNCisgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwNCisgICAgICAgICAgICAgICAgICAgIHVybDogdm0uJHJlc3RVcmwuYWRkVm5mbUluZm9VcmwsDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbSksDQorICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi5pbmZvX2Jsb2NrID0gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrID0gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm8gPSBbXTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0uJGluaXRUYWJsZSgpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYWRkVm5mbURsZycpLm1vZGFsKCdoaWRlJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vblV0aWwuc2hvd01lc3NhZ2Uodm0uJGh0bWxUZXh0LnNhdmVTdWNjZXNzLCAic3VjY2VzcyIpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4ud2FybmluZ19ibG9jayA9IHRydWU7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4ucnRuX2luZm8gPSB2bS4kaHRtbFRleHQuc2F2ZUZhaWw7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vblV0aWwuc2hvd01lc3NhZ2Uodm0uJGh0bWxUZXh0LnNhdmVGYWlsLCAiZmFpbGVkIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgfQ0KLQkJCQkJfSk7DQotCQkJCX0gZWxzZSB7DQotCQkJCQkkLmFqYXgoew0KLQkJCQkJCXR5cGUgOiAiUFVUIiwNCi0JCQkJCQl1cmwgOiB2bS4kcmVzdFVybC51cGRhdGVWbmZtSW5mb1VybCt2bS5hZGRWbmZtLnZuZm1JZCwNCi0JCQkJCQlkYXRhIDogSlNPTi5zdHJpbmdpZnkocGFyYW0pLA0KLQkJCQkJCWRhdGFUeXBlIDogImpzb24iLA0KLQkJCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhKSB7DQotCQkJCQkJCXZtLnNlcnZlcl9ydG4uaW5mb19ibG9jaz1mYWxzZTsNCi0JCQkJCQkJdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrPWZhbHNlOw0KLQkJCQkJCQlpZiAoZGF0YSkgew0KLQkJCQkJCQkJZm9yKHZhciBpPTA7aTx2bS52bmZtSW5mby5sZW5ndGg7aSsrKXsNCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICBpZih2bS52bmZtSW5mb1tpXS52bmZtSWQgPT0gdm0uYWRkVm5mbS52bmZtSWQpIHsNCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm9baV0ubmFtZSA9IHZtLmFkZFZuZm0ubmFtZTsJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLnZpbUlkID0gJCgiI3ZpbUlkIikudmFsKCk7DQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLnZlbmRvciA9IHZtLmFkZFZuZm0udmVuZG9yOw0KLQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52bmZtSW5mb1tpXS52ZXJzaW9uID0gdm0uYWRkVm5mbS52ZXJzaW9uOw0KLQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52bmZtSW5mb1tpXS5jZXJ0aWZpY2F0ZVVybCA9IHZtLmFkZFZuZm0uY2VydGlmaWNhdGVVcmw7DQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLmRlc2NyaXB0aW9uID0gdm0uYWRkVm5mbS5kZXNjcmlwdGlvbjsNCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm9baV0udXJsID0gdm0uYWRkVm5mbS51cmw7DQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLnVzZXJOYW1lID0gdm0uYWRkVm5mbS51c2VyTmFtZTsNCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm9baV0ucGFzc3dvcmQgPSB2bS5hZGRWbmZtLnBhc3N3b3JkOwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICB9DQotCQkJCSAgICAgICAgICAgICAgICB9DQotCQkJCQkJCQkkKCcjYWRkVm5mbURsZycpLm1vZGFsKCdoaWRlJyk7CQkJCQkJCQkJCQ0KLQkJCQkJCQkgCWNvbW1vblV0aWwuc2hvd01lc3NhZ2Uodm0uJGh0bWxUZXh0LnVwZGF0ZVN1Y2Nlc3MsInN1Y2Nlc3MiKTsJCQkJCQkJCQkJCQ0KLQkJCQkJCQl9IGVsc2Ugew0KLQkJCQkJCQkJdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrPXRydWU7DQotCQkJCQkJCQl2bS5zZXJ2ZXJfcnRuLnJ0bl9pbmZvPXZtLiRodG1sVGV4dC51cGRhdGVGYWlsOw0KLQkJCQkJCQkJY29tbW9uVXRpbC5zaG93TWVzc2FnZSh2bS4kaHRtbFRleHQudXBkYXRlRmFpbCwgImZhaWxlZCIpOw0KLQkJCQkJCQl9IA0KLQkJCQkJCX0sDQotCQkJCQkgICAgZXJyb3I6IGZ1bmN0aW9uKFhNTEh0dHBSZXF1ZXN0LCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgew0KLQkJCQkJICAgICAgCXZtLnNlcnZlcl9ydG4ud2FybmluZ19ibG9jaz10cnVlOwkNCi0JCQkJCSAgICAgIAl2bS5zZXJ2ZXJfcnRuLnJ0bl9pbmZvPXRleHRTdGF0dXMrIjoiK2Vycm9yVGhyb3duOyAgICAgICAgICAgICAgICAgICAgICAgDQotCSAgICAgICAgICAgICAgICAgICAgICAJdm0uc2VydmVyX3J0bi5pbmZvX2Jsb2NrPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCi0gICAgICAgICAgICAgICAgICAgICAgIAl9DQotCQkJCQl9KTsNCi0JCQkJfQkJCQkJDQotCSAgIAkJfSwNCi0JICAvLyAgCQltb2NSZW5kZXJlZCA6IGZ1bmN0aW9uKGFjdGlvbikgew0KLQkJCS8vIAlpZih2bS5hZGRWbmZtLnNhdmVUeXBlID09PSAidXBkYXRlIiAmJiB2bS5hZGRWbmZtLm1vYykgew0KLQkJCS8vIAkJdmFyIGl0ZW1zID0gdm0ubW9jU2VsZWN0SXRlbXM7DQotCQkJLy8gCQlmb3IodmFyIGk9MDtpPGl0ZW1zLmxlbmd0aDtpKyspIHsNCi0JCQkvLyAgICAgCQlpZihpdGVtc1tpXS5pZCA9PSB2bS5hZGRWbmZtLm1vYykgew0KLQkJCS8vICAgICAJCQkkKCIjbW9jIilbMF0uc2VsZWN0ZWRJbmRleCA9IGk7DQotCQkJLy8gICAgIAkJCXZtLiRtb2NDaGFuZ2UoKTsNCi0JCQkvLyAgICAgCQkJYnJlYWs7DQotCQkJLy8gICAgIAkJfQ0KLQkJCS8vICAgICAJfQ0KLQkJCS8vIAl9IGVsc2Ugew0KLQkJCS8vIAkJJCgiI21vYyIpWzBdLnNlbGVjdGVkSW5kZXggPSAwOw0KLQkJCS8vIAl9DQotCQkJLy8gfSwNCi0JCQl2aW1SZW5kZXJlZCA6IGZ1bmN0aW9uKGFjdGlvbikgew0KLSAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSB2bS52aW1TZWxlY3RJdGVtczsNCi0JCQkJaWYodm0uYWRkVm5mbS5zYXZlVHlwZSA9PT0gInVwZGF0ZSIpIHsJDQotCQkJCQlmb3IodmFyIGk9MDtpPGl0ZW1zLmxlbmd0aDtpKyspIHsNCi0JCQkgICAgCQlpZihpdGVtc1tpXS52aW1JZCA9PSB2bS5hZGRWbmZtLnZpbUlkKSB7DQotCQkJICAgIAkJCSQoIiN2aW1JZCIpWzBdLnNlbGVjdGVkSW5kZXggPSBpOw0KLQkJCSAgICAJCQlicmVhazsNCi0JCQkgICAgCQl9DQotCQkJICAgIAl9DQotCQkJCX0gZWxzZSB7DQotCQkJCQkkKCIjdmltSWQiKVswXS5zZWxlY3RlZEluZGV4ID0gaXRlbXMubGVuZ3RoLTE7DQotCQkJCX0NCi0JCQl9LA0KLQkJCS8vICRtb2NDaGFuZ2UgOiBmdW5jdGlvbigpIHsNCi0JCQkvLyAJdmFyIG1vY0lkID0gJCgnI21vYycpLnZhbCgpOw0KLQkJCS8vIAlpZihtb2NJZCA9PSAibmZ2LnZuZm0udGFja2VyIikgew0KLQkJCS8vIAkJdm0uYWRkVm5mbS52aW1WaXNpYWJsZSA9IHRydWU7DQotCQkJLy8gCX0gZWxzZSB7DQotCQkJLy8gCQl2bS5hZGRWbmZtLnZpbVZpc2lhYmxlID0gZmFsc2U7DQotCQkJLy8gCX0NCi0JCQkvLyB9LA0KLQkJCS8vICRnZXRWaW1JZCA6IGZ1bmN0aW9uKG1vY0lkKSB7DQotCQkJLy8gCWlmKHZtLmFkZFZuZm0udmltVmlzaWFibGUpIHsNCi0JCQkvLyAJCXJldHVybiAkKCIjdmltSWQiKS52YWwoKTsNCi0JCQkvLyAJfSBlbHNlIHsNCi0JCQkvLyAJCXJldHVybiAiIjsNCi0JCQkvLyAJfQ0KLQkJCS8vIH0NCi0gICAgCX0pOw0KKyAgICAgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICB2bS5zZXJ2ZXJfcnRuLnJ0bl9pbmZvID0gdGV4dFN0YXR1cyArICI6IiArIGVycm9yVGhyb3duOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4uaW5mb19ibG9jayA9IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgICAkLmFqYXgoew0KKyAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBVVCIsDQorICAgICAgICAgICAgICAgICAgICB1cmw6IHZtLiRyZXN0VXJsLnVwZGF0ZVZuZm1JbmZvVXJsICsgdm0uYWRkVm5mbS52bmZtSWQsDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbSksDQorICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi5pbmZvX2Jsb2NrID0gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrID0gZmFsc2U7DQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bS52bmZtSW5mby5sZW5ndGg7IGkrKykgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZtLnZuZm1JbmZvW2ldLnZuZm1JZCA9PSB2bS5hZGRWbmZtLnZuZm1JZCkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLm5hbWUgPSB2bS5hZGRWbmZtLm5hbWU7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm9baV0udmltSWQgPSAkKCIjdmltSWQiKS52YWwoKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52bmZtSW5mb1tpXS52ZW5kb3IgPSB2bS5hZGRWbmZtLnZlbmRvcjsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52bmZtSW5mb1tpXS52ZXJzaW9uID0gdm0uYWRkVm5mbS52ZXJzaW9uOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLmNlcnRpZmljYXRlVXJsID0gdm0uYWRkVm5mbS5jZXJ0aWZpY2F0ZVVybDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52bmZtSW5mb1tpXS5kZXNjcmlwdGlvbiA9IHZtLmFkZFZuZm0uZGVzY3JpcHRpb247DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm9baV0udXJsID0gdm0uYWRkVm5mbS51cmw7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm9baV0udXNlck5hbWUgPSB2bS5hZGRWbmZtLnVzZXJOYW1lOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLnZuZm1JbmZvW2ldLnBhc3N3b3JkID0gdm0uYWRkVm5mbS5wYXNzd29yZDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjYWRkVm5mbURsZycpLm1vZGFsKCdoaWRlJyk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vblV0aWwuc2hvd01lc3NhZ2Uodm0uJGh0bWxUZXh0LnVwZGF0ZVN1Y2Nlc3MsICJzdWNjZXNzIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi5ydG5faW5mbyA9IHZtLiRodG1sVGV4dC51cGRhdGVGYWlsOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb25VdGlsLnNob3dNZXNzYWdlKHZtLiRodG1sVGV4dC51cGRhdGVGYWlsLCAiZmFpbGVkIik7DQorICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmVyX3J0bi53YXJuaW5nX2Jsb2NrID0gdHJ1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgICB2bS5zZXJ2ZXJfcnRuLnJ0bl9pbmZvID0gdGV4dFN0YXR1cyArICI6IiArIGVycm9yVGhyb3duOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLnNlcnZlcl9ydG4uaW5mb19ibG9jayA9IGZhbHNlOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9LA0KKyAgICAgICAgLy8gIAkJbW9jUmVuZGVyZWQgOiBmdW5jdGlvbihhY3Rpb24pIHsNCisgICAgICAgIC8vIAlpZih2bS5hZGRWbmZtLnNhdmVUeXBlID09PSAidXBkYXRlIiAmJiB2bS5hZGRWbmZtLm1vYykgew0KKyAgICAgICAgLy8gCQl2YXIgaXRlbXMgPSB2bS5tb2NTZWxlY3RJdGVtczsNCisgICAgICAgIC8vIAkJZm9yKHZhciBpPTA7aTxpdGVtcy5sZW5ndGg7aSsrKSB7DQorICAgICAgICAvLyAgICAgCQlpZihpdGVtc1tpXS5pZCA9PSB2bS5hZGRWbmZtLm1vYykgew0KKyAgICAgICAgLy8gICAgIAkJCSQoIiNtb2MiKVswXS5zZWxlY3RlZEluZGV4ID0gaTsNCisgICAgICAgIC8vICAgICAJCQl2bS4kbW9jQ2hhbmdlKCk7DQorICAgICAgICAvLyAgICAgCQkJYnJlYWs7DQorICAgICAgICAvLyAgICAgCQl9DQorICAgICAgICAvLyAgICAgCX0NCisgICAgICAgIC8vIAl9IGVsc2Ugew0KKyAgICAgICAgLy8gCQkkKCIjbW9jIilbMF0uc2VsZWN0ZWRJbmRleCA9IDA7DQorICAgICAgICAvLyAJfQ0KKyAgICAgICAgLy8gfSwNCisgICAgICAgIHZpbVJlbmRlcmVkOiBmdW5jdGlvbiAoYWN0aW9uKSB7DQorICAgICAgICAgICAgdmFyIGl0ZW1zID0gdm0udmltU2VsZWN0SXRlbXM7DQorICAgICAgICAgICAgaWYgKHZtLmFkZFZuZm0uc2F2ZVR5cGUgPT09ICJ1cGRhdGUiKSB7DQorICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHsNCisgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtc1tpXS52aW1JZCA9PSB2bS5hZGRWbmZtLnZpbUlkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgJCgiI3ZpbUlkIilbMF0uc2VsZWN0ZWRJbmRleCA9IGk7DQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgICAkKCIjdmltSWQiKVswXS5zZWxlY3RlZEluZGV4ID0gaXRlbXMubGVuZ3RoIC0gMTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9LA0KKyAgICAgICAgLy8gJG1vY0NoYW5nZSA6IGZ1bmN0aW9uKCkgew0KKyAgICAgICAgLy8gCXZhciBtb2NJZCA9ICQoJyNtb2MnKS52YWwoKTsNCisgICAgICAgIC8vIAlpZihtb2NJZCA9PSAibmZ2LnZuZm0udGFja2VyIikgew0KKyAgICAgICAgLy8gCQl2bS5hZGRWbmZtLnZpbVZpc2lhYmxlID0gdHJ1ZTsNCisgICAgICAgIC8vIAl9IGVsc2Ugew0KKyAgICAgICAgLy8gCQl2bS5hZGRWbmZtLnZpbVZpc2lhYmxlID0gZmFsc2U7DQorICAgICAgICAvLyAJfQ0KKyAgICAgICAgLy8gfSwNCisgICAgICAgIC8vICRnZXRWaW1JZCA6IGZ1bmN0aW9uKG1vY0lkKSB7DQorICAgICAgICAvLyAJaWYodm0uYWRkVm5mbS52aW1WaXNpYWJsZSkgew0KKyAgICAgICAgLy8gCQlyZXR1cm4gJCgiI3ZpbUlkIikudmFsKCk7DQorICAgICAgICAvLyAJfSBlbHNlIHsNCisgICAgICAgIC8vIAkJcmV0dXJuICIiOw0KKyAgICAgICAgLy8gCX0NCisgICAgICAgIC8vIH0NCisgICAgfSk7DQogYXZhbG9uLnNjYW4oKTsNCiB2bS4kaW5pdFRhYmxlKCk7DQogLy92bS4kaW5pdE1vYygpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy92bmZtVXRpbC5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS9qcy92bmZtVXRpbC5qcwppbmRleCA3NDM4Y2YxLi5kNDQyMGIzIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWV4dHN5cy9zcmMvbWFpbi93ZWJhcHAvZXh0c3lzL3ZuZm0vanMvdm5mbVV0aWwuanMKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL2pzL3ZuZm1VdGlsLmpzCkBAIC0xNSw2MyArMTUsNjMgQEAKICAqLw0KIHZhciB2bmZtVXRpbCA9IHt9Ow0KIA0KLXZuZm1VdGlsLmRlbFZuZm0gPSBmdW5jdGlvbih2bmZtSWQpIHsNCi0JYm9vdGJveC5jb25maXJtKCQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktbWVzc2FnZS1kZWxldGUtY29uZmlybSIpLCBmdW5jdGlvbihyZXN1bHQpew0KLQkJaWYocmVzdWx0KXsNCi0JCQkkLmFqYXgoew0KLQkJCQl0eXBlIDogIkRFTEVURSIsDQotCQkJCXVybCA6IHZtLiRyZXN0VXJsLmRlbFZuZm1JbmZvVXJsICsgdm5mbUlkLA0KLQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGRhdGEsc3RhdHVzVGV4dCxqcVhIUikgew0KLQkJCQkJaWYoanFYSFIuc3RhdHVzPT0iMjA0Iikgew0KLQkJCQkJICAgCWZvcih2YXIgaT0wO2k8dm0udm5mbUluZm8ubGVuZ3RoO2krKyl7DQotCSAgICAgICAgICAgICAgICAgICAgICAgIGlmKHZuZm1JZCA9PSB2bS52bmZtSW5mb1tpXS52bmZtSWQpew0KLQkgICAgICAgICAgICAgICAgICAgICAgICAJLy9kZWxldGUgdGhlIHZuZm0gb2JqZWN0IGZyb20gdm5mbSBhcnJheQ0KLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0udm5mbUluZm8uc3BsaWNlKGksIDEpOw0KLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQotCSAgICAgICAgICAgICAgICAgICAgICAgIH0NCi0JICAgICAgICAgICAgICAgICAgICB9DQotCSAgICAgICAgICAgICAgICAgICAgY29tbW9uVXRpbC5zaG93TWVzc2FnZSgkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2UtZGVsZXRlLXN1Y2Nlc3MiKSwgInN1Y2Nlc3MiKTsNCi0JCQkJCX0gZWxzZSB7DQotCQkJCQkJY29tbW9uVXRpbC5zaG93TWVzc2FnZSgkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2UtZGVsZXRlLWZhaWwiKSwgIndhcm5pbmciKTsNCi0JCQkJCX0NCi0JCQkJfSwgDQotCQkJCWVycm9yIDogZnVuY3Rpb24oKSB7DQotCQkJCQljb21tb25VdGlsLnNob3dNZXNzYWdlKCQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktbWVzc2FnZS1kZWxldGUtZmFpbCIpLCAid2FybmluZyIpOw0KLQkJCQl9DQotCQkJfSk7DQotCSAgICB9DQotCX0pOw0KK3ZuZm1VdGlsLmRlbFZuZm0gPSBmdW5jdGlvbiAodm5mbUlkKSB7DQorICAgIGJvb3Rib3guY29uZmlybSgkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2UtZGVsZXRlLWNvbmZpcm0iKSwgZnVuY3Rpb24gKHJlc3VsdCkgew0KKyAgICAgICAgaWYgKHJlc3VsdCkgew0KKyAgICAgICAgICAgICQuYWpheCh7DQorICAgICAgICAgICAgICAgIHR5cGU6ICJERUxFVEUiLA0KKyAgICAgICAgICAgICAgICB1cmw6IHZtLiRyZXN0VXJsLmRlbFZuZm1JbmZvVXJsICsgdm5mbUlkLA0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSwgc3RhdHVzVGV4dCwganFYSFIpIHsNCisgICAgICAgICAgICAgICAgICAgIGlmIChqcVhIUi5zdGF0dXMgPT0gIjIwNCIpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLnZuZm1JbmZvLmxlbmd0aDsgaSsrKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2bmZtSWQgPT0gdm0udm5mbUluZm9baV0udm5mbUlkKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2RlbGV0ZSB0aGUgdm5mbSBvYmplY3QgZnJvbSB2bmZtIGFycmF5DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bS52bmZtSW5mby5zcGxpY2UoaSwgMSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgICBjb21tb25VdGlsLnNob3dNZXNzYWdlKCQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktbWVzc2FnZS1kZWxldGUtc3VjY2VzcyIpLCAic3VjY2VzcyIpOw0KKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBjb21tb25VdGlsLnNob3dNZXNzYWdlKCQuaTE4bi5wcm9wKCJuZnYtdm5mbS1pdWktbWVzc2FnZS1kZWxldGUtZmFpbCIpLCAid2FybmluZyIpOw0KKyAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICAgICAgICAgY29tbW9uVXRpbC5zaG93TWVzc2FnZSgkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLW1lc3NhZ2UtZGVsZXRlLWZhaWwiKSwgIndhcm5pbmciKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICAgICAgfQ0KKyAgICB9KTsNCiB9DQogDQotdm5mbVV0aWwudXBkYXRlVm5mbSA9IGZ1bmN0aW9uKGRhdGEpIHsNCi0Jdm0uYWRkVm5mbS52bmZtSWQgPSBkYXRhLnZuZm1JZDsNCi0Jdm0uYWRkVm5mbS5uYW1lID0gZGF0YS5uYW1lOw0KLQkvL3ZtLmFkZFZuZm0ubW9jID0gZGF0YS5tb2M7DQotCS8vdm0uYWRkVm5mbS5tb2NEaXNhYmxlZCA9IHRydWU7DQotCXZtLmFkZFZuZm0udmVuZG9yID0gZGF0YS52ZW5kb3I7DQotCXZtLmFkZFZuZm0udmVyc2lvbiA9IGRhdGEudmVyc2lvbjsNCi0Jdm0uYWRkVm5mbS5kZXNjcmlwdGlvbiA9IGRhdGEuZGVzY3JpcHRpb247DQotCXZtLmFkZFZuZm0udHlwZSA9IGRhdGEudHlwZTsNCi0Jdm0uYWRkVm5mbS52aW1JZCA9IGRhdGEudmltSWQ7DQotCXZtLmFkZFZuZm0udXJsID0gZGF0YS51cmw7DQotCXZtLmFkZFZuZm0udXNlck5hbWUgPSBkYXRhLnVzZXJOYW1lOw0KLQl2bS5hZGRWbmZtLnBhc3N3b3JkID0gZGF0YS5wYXNzd29yZDsNCi0Jdm0uYWRkVm5mbS5zYXZlVHlwZSA9ICJ1cGRhdGUiOw0KLQl2bS5hZGRWbmZtLnRpdGxlID0gJC5pMThuLnByb3AoIm5mdi12bmZtLWl1aS10ZXN0LXVwZGF0ZSIpOw0KLQl2bS5zZXJ2ZXJfcnRuLmluZm9fYmxvY2s9ZmFsc2U7DQotCXZtLnNlcnZlcl9ydG4ud2FybmluZ19ibG9jaz1mYWxzZTsNCi0JLy92bS4kaW5pdE1vYygpOw0KLQl2bS4kaW5pdFZpbSgpOw0KK3ZuZm1VdGlsLnVwZGF0ZVZuZm0gPSBmdW5jdGlvbiAoZGF0YSkgew0KKyAgICB2bS5hZGRWbmZtLnZuZm1JZCA9IGRhdGEudm5mbUlkOw0KKyAgICB2bS5hZGRWbmZtLm5hbWUgPSBkYXRhLm5hbWU7DQorICAgIC8vdm0uYWRkVm5mbS5tb2MgPSBkYXRhLm1vYzsNCisgICAgLy92bS5hZGRWbmZtLm1vY0Rpc2FibGVkID0gdHJ1ZTsNCisgICAgdm0uYWRkVm5mbS52ZW5kb3IgPSBkYXRhLnZlbmRvcjsNCisgICAgdm0uYWRkVm5mbS52ZXJzaW9uID0gZGF0YS52ZXJzaW9uOw0KKyAgICB2bS5hZGRWbmZtLmRlc2NyaXB0aW9uID0gZGF0YS5kZXNjcmlwdGlvbjsNCisgICAgdm0uYWRkVm5mbS50eXBlID0gZGF0YS50eXBlOw0KKyAgICB2bS5hZGRWbmZtLnZpbUlkID0gZGF0YS52aW1JZDsNCisgICAgdm0uYWRkVm5mbS51cmwgPSBkYXRhLnVybDsNCisgICAgdm0uYWRkVm5mbS51c2VyTmFtZSA9IGRhdGEudXNlck5hbWU7DQorICAgIHZtLmFkZFZuZm0ucGFzc3dvcmQgPSBkYXRhLnBhc3N3b3JkOw0KKyAgICB2bS5hZGRWbmZtLnNhdmVUeXBlID0gInVwZGF0ZSI7DQorICAgIHZtLmFkZFZuZm0udGl0bGUgPSAkLmkxOG4ucHJvcCgibmZ2LXZuZm0taXVpLXRlc3QtdXBkYXRlIik7DQorICAgIHZtLnNlcnZlcl9ydG4uaW5mb19ibG9jayA9IGZhbHNlOw0KKyAgICB2bS5zZXJ2ZXJfcnRuLndhcm5pbmdfYmxvY2sgPSBmYWxzZTsNCisgICAgLy92bS4kaW5pdE1vYygpOw0KKyAgICB2bS4kaW5pdFZpbSgpOw0KIA0KLQkkKCIuZm9ybS1ncm91cCIpLmVhY2goZnVuY3Rpb24gKCkgew0KLQkJJCh0aGlzKS5yZW1vdmVDbGFzcygnaGFzLXN1Y2Nlc3MnKTsNCi0JCSQodGhpcykucmVtb3ZlQ2xhc3MoJ2hhcy1lcnJvcicpOw0KLQkJJCh0aGlzKS5maW5kKCIuaGVscC1ibG9ja1tpZF0iKS5yZW1vdmUoKTsNCi0JfSk7DQotCSQoIiNhZGRWbmZtRGxnIikubW9kYWwoInNob3ciKTsNCisgICAgJCgiLmZvcm0tZ3JvdXAiKS5lYWNoKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2hhcy1zdWNjZXNzJyk7DQorICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdoYXMtZXJyb3InKTsNCisgICAgICAgICQodGhpcykuZmluZCgiLmhlbHAtYmxvY2tbaWRdIikucmVtb3ZlKCk7DQorICAgIH0pOw0KKyAgICAkKCIjYWRkVm5mbURsZyIpLm1vZGFsKCJzaG93Iik7DQogfQ0KIA0KLXZuZm1VdGlsLnRvb2x0aXBWbmZtU3RhdHVzID0gZnVuY3Rpb24oKSB7DQotIAkkKCJbZGF0YS10b2dnbGU9J3Rvb2x0aXAnXSIpLnRvb2x0aXAoKTsNCit2bmZtVXRpbC50b29sdGlwVm5mbVN0YXR1cyA9IGZ1bmN0aW9uICgpIHsNCisgICAgJCgiW2RhdGEtdG9nZ2xlPSd0b29sdGlwJ10iKS50b29sdGlwKCk7DQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtZXh0c3lzL3NyYy9tYWluL3dlYmFwcC9leHRzeXMvdm5mbS92bmZtVmlldy5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL3ZuZm1WaWV3Lmh0bWwKaW5kZXggNjI1NmE4ZC4uMWE4MDUzZSAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL3ZuZm1WaWV3Lmh0bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1leHRzeXMvc3JjL21haW4vd2ViYXBwL2V4dHN5cy92bmZtL3ZuZm1WaWV3Lmh0bWwKQEAgLTE4LDIwNSArMTgsMjI0IEBACiA8IURPQ1RZUEUgaHRtbD4NCiA8aHRtbD4NCiA8aGVhZCBsYW5nPSJlbiI+DQotPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KLTx0aXRsZT48L3RpdGxlPg0KLTxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2ZvbnQtYXdlc29tZS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi08bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9ib290c3RyYXAvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvdW5pZm9ybS9jc3MvdW5pZm9ybS5kZWZhdWx0Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi08bGluayBocmVmPSIuLi8uLi9jb21tb24vY3NzL1p0ZUljdEljb25zL3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQotPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL2Nzcy9uZ2ljdC1jb21wb25lbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCi08bGluayBocmVmPSJjc3MvYW5pbWF0ZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCi08bGluayBocmVmPSJjc3Mvdm5mbS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi08c3R5bGU+DQotLm1zLWNvbnRyb2xsZXIgew0KLQl2aXNpYmlsaXR5OiBoaWRkZW4NCi19DQotPC9zdHlsZT4NCisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKyAgICA8dGl0bGU+PC90aXRsZT4NCisgICAgPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvZm9udC1hd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICA8bGluayBocmVmPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS91bmlmb3JtL2Nzcy91bmlmb3JtLmRlZmF1bHQubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9Ii4uLy4uL2NvbW1vbi9jc3MvWnRlSWN0SWNvbnMvc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgPGxpbmsgaHJlZj0iLi4vLi4vY29tbW9uL2Nzcy9uZ2ljdC1jb21wb25lbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgPGxpbmsgaHJlZj0iY3NzL2FuaW1hdGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9ImNzcy92bmZtLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxzdHlsZT4NCisgICAgICAgIC5tcy1jb250cm9sbGVyIHsNCisgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4NCisgICAgICAgIH0NCisgICAgPC9zdHlsZT4NCiANCiA8L2hlYWQ+DQogPGJvZHk+DQotCTxkaXYgbXMtY29udHJvbGxlcj0idm5mbUNvbnRyb2xsZXIiIGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+DQotCTxkaXYgaWQ9ImFkZFZuZm1EbGciIGNsYXNzPSJtb2RhbCAgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciDQotCQlhcmlhLWxhYmVsbGVkYnk9Im15TW9kYWxMYWJlbCIgYXJpYS1oaWRkZW49InRydWUiID4NCi0JCTxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQotCQkJPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCBDaGFuZ2VwYXNzd2QiPg0KLQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCi0JCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQotCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCi0JCQkJCQkJYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+DQotCQkJCQkJPGg0IGlkPSJteU1vZGFsTGFiZWwiPnt7YWRkVm5mbS50aXRsZX19PC9oND4NCi0JCQkJCTwvZGl2Pg0KLQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CQkJCQ0KLQkJCQkJPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgaWQ9InZuZm1fZm9ybSIgcm9sZT0iZm9ybSI+DQotCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbXMtZHVwbGV4PSJhZGRWbmZtLnZuZm1JZCIgIG5hbWU9InZuZm1JZCIgY2xhc3M9ImZvcm0tY29udHJvbCIgLz4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCi0JCQkJCQkJCTxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dC1uYW1lIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPg0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4qPC9zcGFuPg0KLQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCSAJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVm5mbS5uYW1lIiAgbmFtZT0ibmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCi0JCQkJCQkJPC9kaXY+CQkJCQkJCQ0KLQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KLQkJCQkJCQkJPHNwYW4gaWQ9Im5mdi12bmZtLWl1aS10ZXh0LXR5cGUiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQotCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQotCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZuZm0udHlwZSIgIG5hbWU9InR5cGUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQotCQkJCQkJCTwvZGl2PgkJCQkJCQkNCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCi0JCQkJCQkJCTxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dC12ZW5kb3IiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQotCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQotCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZuZm0udmVuZG9yIiBuYW1lPSJ2ZW5kb3IiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+IA0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4JCQkNCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJPC9kaXY+DQotCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdmVyc2lvbiIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCi0JCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVm5mbS52ZXJzaW9uIiBuYW1lPSJ2ZXJzaW9uIiBjbGFzcz0iZm9ybS1jb250cm9sIiAvPiANCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KLQkJCQkJCQkJPHNwYW4+VVJMPC9zcGFuPg0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4qPC9zcGFuPg0KLQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWbmZtLnVybCIgbmFtZT0idXJsIiBjbGFzcz0iZm9ybS1jb250cm9sIiANCi0JCQkJCQkJCQltcy1hdHRyLXBsYWNlaG9sZGVyPSJhZGRWbmZtLnVybFRpcCIvPiANCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiID4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj5WSU0NCi0JCQkJCQkJCTxzcGFuPjwvc3Bhbj4NCi0JCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkgCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCTxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9InZpbUlkIiBuYW1lPSJ2aW1JZCI+DQotCQkJCQkJCQkJPG9wdGlvbiBtcy1yZXBlYXQtdmltPSJ2aW1TZWxlY3RJdGVtcyIgbXMtYXR0ci12YWx1ZT0idmltLnZpbUlkIiBkYXRhLXJlcGVhdC1yZW5kZXJlZD0idmltUmVuZGVyZWQiPnt7dmltLm5hbWV9fTwvb3B0aW9uPg0KLQkJCQkJCQkJPC9zZWxlY3Q+DQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTwvZGl2PgkJCQkJCQ0KLQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KLQkJCQkJCQkJPHNwYW4gaWQ9Im5mdi12bmZtLWl1aS10ZXh0LWNlcnRpZmljYXRlVXJsIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPg0KLQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWbmZtLmNlcnRpZmljYXRlVXJsIiBuYW1lPSJjZXJ0aWZpY2F0ZVVybCIgY2xhc3M9ImZvcm0tY29udHJvbCIgLz4gDQotCQkJCQkJCQk8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPgkJCQ0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4JCQkJCQkNCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCi0JCQkJCQkJCTxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dC11c2VyTmFtZSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCi0JCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVm5mbS51c2VyTmFtZSIgbmFtZT0idXNlck5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+IA0KLQkJCQkJCQkJPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4JCQkNCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJPC9kaXY+DQotCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCBjb2wtc20tMyI+DQotCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtcGFzc3dvcmQiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQotCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCTxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbXMtZHVwbGV4PSJhZGRWbmZtLnBhc3N3b3JkIiBuYW1lPSJwYXNzd29yZCIgY2xhc3M9ImZvcm0tY29udHJvbCIgLz4gDQotCQkJCQkJCQk8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPgkJCQ0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCi0JCQkJCQkJCTxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dF9kZXNjcmlwdGlvbiIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSIiIGFyaWEtcmVxdWlyZWQ9IiIgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsiPio8L3NwYW4+DQotCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJPHRleHRhcmVhIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHJvd3M9IjMiICBtcy1kdXBsZXg9ImFkZFZuZm0uZGVzY3JpcHRpb24iICBuYW1lPSJkZXNjcmlwdGlvbiI+PC90ZXh0YXJlYT4NCi0JCQkJCQkJCTxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+CQkJDQotCQkJCQkJCTwvZGl2PgkJCQkJCQkNCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCTwvZm9ybT4NCis8ZGl2IG1zLWNvbnRyb2xsZXI9InZuZm1Db250cm9sbGVyIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KKyAgICA8ZGl2IGlkPSJhZGRWbmZtRGxnIiBjbGFzcz0ibW9kYWwgIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIg0KKyAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQgQ2hhbmdlcGFzc3dkIj4NCisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj0idHJ1ZSI+w5cNCisgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8aDQgaWQ9Im15TW9kYWxMYWJlbCI+e3thZGRWbmZtLnRpdGxlfX08L2g0Pg0KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiBpZD0idm5mbV9mb3JtIiByb2xlPSJmb3JtIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbXMtZHVwbGV4PSJhZGRWbmZtLnZuZm1JZCIgbmFtZT0idm5mbUlkIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtbmFtZSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZuZm0ubmFtZSIgbmFtZT0ibmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdHlwZSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZuZm0udHlwZSIgbmFtZT0idHlwZSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdmVuZG9yIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG1zLWR1cGxleD0iYWRkVm5mbS52ZW5kb3IiIG5hbWU9InZlbmRvciIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdmVyc2lvbiIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiIGFyaWEtcmVxdWlyZWQ9InRydWUiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZuZm0udmVyc2lvbiIgbmFtZT0idmVyc2lvbiIgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5VUkw8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4qPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWbmZtLnVybCIgbmFtZT0idXJsIiBjbGFzcz0iZm9ybS1jb250cm9sIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1hdHRyLXBsYWNlaG9sZGVyPSJhZGRWbmZtLnVybFRpcCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj5WSU0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9InZpbUlkIiBuYW1lPSJ2aW1JZCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gbXMtcmVwZWF0LXZpbT0idmltU2VsZWN0SXRlbXMiIG1zLWF0dHItdmFsdWU9InZpbS52aW1JZCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJlcGVhdC1yZW5kZXJlZD0idmltUmVuZGVyZWQiPnt7dmltLm5hbWV9fQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dC1jZXJ0aWZpY2F0ZVVybCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbXMtZHVwbGV4PSJhZGRWbmZtLmNlcnRpZmljYXRlVXJsIiBuYW1lPSJjZXJ0aWZpY2F0ZVVybCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWxwLWJsb2NrIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb250cm9sLWxhYmVsIGNvbC1zbS0zIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdXNlck5hbWUiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBtcy1kdXBsZXg9ImFkZFZuZm0udXNlck5hbWUiIG5hbWU9InVzZXJOYW1lIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dC1wYXNzd29yZCIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBtcy1kdXBsZXg9ImFkZFZuZm0ucGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlbHAtYmxvY2siPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbnRyb2wtbGFiZWwgY29sLXNtLTMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdm5mbS1pdWktdGV4dF9kZXNjcmlwdGlvbiIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iIiBhcmlhLXJlcXVpcmVkPSIiIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47Ij4qPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9ImZvcm0tY29udHJvbCIgcm93cz0iMyIgbXMtZHVwbGV4PSJhZGRWbmZtLmRlc2NyaXB0aW9uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJkZXNjcmlwdGlvbiI+PC90ZXh0YXJlYT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCiANCi0JCQkJCTwvZGl2Pg0KLQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCi0JCQkJCQk8YnV0dG9uIGNsYXNzPSJidG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtY2FuY2VsQnRuIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9idXR0b24+DQotCQkJCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiB0eXBlPSJzdWJtaXQiIG1zLWNsaWNrPSIkc2F2ZVZuZm0iIGlkPSJuZnYtdm5mbS1pdWktdGV4dC1zYXZlQnRuIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9idXR0b24+DQotCQkJCQk8L2Rpdj4NCi0JCQkJPC9kaXY+DQotCQkJPC9kaXY+DQotCQk8L2Rpdj4NCi0JPC9kaXY+DQotCTxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJjb25kX3pvbmUiPg0KLQkJPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4JCQkJDQotCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIHdoaXRlIHJhZGl1c19sIiBpZD0iYXBwLW5ldy1idG4iIG1zLWNsaWNrPSIkc2hvd1ZuZm1UYWJsZSIgPg0KLQkJICAgICAgICA8aSBjbGFzcz0iaWN0LW5ldyI+PC9pPiA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtcmVnaXN0ZXJCdG4iIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQotCQkgICAgPC9idXR0b24+DQotCQk8L2Rpdj4NCi0JPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9Im5mdi12bmZtLWl1aS10ZXh0LWNhbmNlbEJ0biINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L2J1dHRvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCIgbXMtY2xpY2s9IiRzYXZlVm5mbSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJuZnYtdm5mbS1pdWktdGV4dC1zYXZlQnRuIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9idXR0b24+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQorICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJjb25kX3pvbmUiPg0KKyAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4NCisgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gd2hpdGUgcmFkaXVzX2wiIGlkPSJhcHAtbmV3LWJ0biIgbXMtY2xpY2s9IiRzaG93Vm5mbVRhYmxlIj4NCisgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImljdC1uZXciPjwvaT4gPHNwYW4gaWQ9Im5mdi12bmZtLWl1aS10ZXh0LXJlZ2lzdGVyQnRuIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPg0KKyAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KIA0KLQk8ZGl2IGNsYXNzPSJjb2wtc20tMTIgdm5mbS1wYWRkaW5nIiBtcy1lYWNoLWVsPSJ2bmZtSW5mbyI+DQotCQk8ZGl2IGNsYXNzPSJjb2wtc20tNCBhbmltYXRlZC1wYW5lbCB6b29tSW4iIHN0eWxlPSItd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4xczsiPg0KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhwYW5lbCBzdGF0cyIgPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IGgtMjAwIiAgbXMtaG92ZXI9ImhwYW5lbF9zaG93IiA+DQorICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiB2bmZtLXBhZGRpbmciIG1zLWVhY2gtZWw9InZuZm1JbmZvIj4NCisgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00IGFuaW1hdGVkLXBhbmVsIHpvb21JbiIgc3R5bGU9Ii13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjFzOyI+DQorICAgICAgICAgICAgPGRpdiBjbGFzcz0iaHBhbmVsIHN0YXRzIj4NCisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSBoLTIwMCIgbXMtaG92ZXI9ImhwYW5lbF9zaG93Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLXN1Y2Nlc3MiIG1zLWlmPSJlbC5zdGF0dXMgPT09ICRTdGF0dXMuc3VjY2VzcyIgaWQ9Im5mdi12bmZtLWl1aS10ZXh0LXN0YXR1cy1ub3JtYWwiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWRhbmdlciIgbXMtYXR0ci10aXRsZT0iZWwuZXJyb3JJbmZvIiAgIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiAgIG1zLWlmPSJlbC5zdGF0dXMgPT09ICRTdGF0dXMuZmFpbGVkIiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtc3RhdHVzLWZhaWwiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLXN1Y2Nlc3MiIG1zLWlmPSJlbC5zdGF0dXMgPT09ICRTdGF0dXMuc3VjY2VzcyINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0ibmZ2LXZuZm0taXVpLXRleHQtc3RhdHVzLW5vcm1hbCIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwgbGFiZWwtZGFuZ2VyIiBtcy1hdHRyLXRpdGxlPSJlbC5lcnJvckluZm8iIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWlmPSJlbC5zdGF0dXMgPT09ICRTdGF0dXMuZmFpbGVkIiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtc3RhdHVzLWZhaWwiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtaWNvbiBwdWxsLXJpZ2h0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtc2VydmVyICBmYS01eCBjb2xvcl9jbG91ZCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtLXQteGwiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBtcy10ZXh0PSJlbC5uYW1lIj48L2gzPiAgIA0KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PHNwYW4gaWQ9Im5mdi12bmZtLWl1aS10ZXh0LXR5cGUiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+77yaPHNwYW4gbXMtdGV4dD0iZWwudHlwZSI+PC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBtcy10ZXh0PSJlbC5uYW1lIj48L2gzPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PHNwYW4gaWQ9Im5mdi12bmZtLWl1aS10ZXh0LXR5cGUiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+77yaPHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLXRleHQ9ImVsLnR5cGUiPjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlVSTO+8mjxzcGFuIG1zLXRleHQ9ImVsLnVybCI+PC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1mb290ZXIiPg0KLSAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9InB1bGwtcmlnaHQiPg0KLSAgICAgICAgICAgICAgICAgICAgIAk8YSBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbSIgbXMtY2xpY2s9InZuZm1VdGlsLnVwZGF0ZVZuZm0oZWwuJG1vZGVsKSI+PGkgY2xhc3M9ImZhIGZhLXBlbmNpbC1zcXVhcmUtbyBmYS1sZyI+PC9pPjwvYT4NCi0gICAgICAgICAgICAgICAgICAgIAk8YSBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbSIgbXMtY2xpY2s9InZuZm1VdGlsLmRlbFZuZm0oZWwudm5mbUlkKSI+PGkgY2xhc3M9ImZhIGZhLXRyYXNoLW8gZmEtbGciPiA8L2k+PC9hPg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1yaWdodCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tc20iIG1zLWNsaWNrPSJ2bmZtVXRpbC51cGRhdGVWbmZtKGVsLiRtb2RlbCkiPjxpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtcGVuY2lsLXNxdWFyZS1vIGZhLWxnIj48L2k+PC9hPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIiBtcy1jbGljaz0idm5mbVV0aWwuZGVsVm5mbShlbC52bmZtSWQpIj48aQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhIGZhLXRyYXNoLW8gZmEtbGciPiA8L2k+PC9hPg0KICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgPC9kaXY+ICAgICAgIA0KKyAgICAgICAgPC9kaXY+DQogICAgIDwvZGl2Pg0KICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPg0KICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0IHRleHQtbXV0ZWQiPg0KLSAgICAgICAgCTxzbWFsbD48c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdG90YWwiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+IDxzcGFuIGNsYXNzPSJibHVlLWZvbnQiIG1zLXRleHQ9InZuZm1JbmZvLnNpemUoKSI+PC9zcGFuPiA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdG90YWwtdm5mbSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj48L3NtYWxsPg0KLSAgICAgICAgPC9kaXY+ICANCi0JPC9kaXY+DQotCTwvZGl2Pg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9qcXVlcnkvanF1ZXJ5LTEuMTAuMi5taW4uanMiPjwvc2NyaXB0Pg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9qcXVlcnkuaTE4bi9qcXVlcnkuaTE4bi5wcm9wZXJ0aWVzLTEuMC45LmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9ib290Ym94L2Jvb3Rib3gubWluLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvanF1ZXJ5LXZhbGlkYXRpb24vanMvanF1ZXJ5LnZhbGlkYXRlLm1pbi5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS12YWxpZGF0aW9uL2pzL2FkZGl0aW9uYWwtbWV0aG9kcy5taW4uanMiPjwvc2NyaXB0Pg0KLQkNCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwLWdyb3dsL2Jvb3RzdHJhcC1ncm93bC5taW4uanMiPjwvc2NyaXB0Pg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9jb21ldGQvY29tZXRkLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvY29tZXRkL2pxdWVyeS5jb21ldGQuanMiPjwvc2NyaXB0Pg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9hdmFsb24vYXZhbG9uLmpzIj48L3NjcmlwdD4NCisgICAgICAgICAgICA8c21hbGw+PHNwYW4gaWQ9Im5mdi12bmZtLWl1aS10ZXh0LXRvdGFsIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPiA8c3BhbiBjbGFzcz0iYmx1ZS1mb250Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLXRleHQ9InZuZm1JbmZvLnNpemUoKSI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZuZm0taXVpLXRleHQtdG90YWwtdm5mbSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj48L3NtYWxsPg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKzwvZGl2Pg0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS9qcXVlcnktMS4xMC4yLm1pbi5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvanF1ZXJ5LmkxOG4vanF1ZXJ5LmkxOG4ucHJvcGVydGllcy0xLjAuOS5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3Rib3gvYm9vdGJveC5taW4uanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS12YWxpZGF0aW9uL2pzL2pxdWVyeS52YWxpZGF0ZS5taW4uanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS12YWxpZGF0aW9uL2pzL2FkZGl0aW9uYWwtbWV0aG9kcy5taW4uanMiPjwvc2NyaXB0Pg0KIA0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vanMvdG9vbHMuanMiPjwvc2NyaXB0Pg0KLQkNCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvY29tbW9uVXRpbC5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2xvYWRpMThuX25zb2MuanMiPjwvc2NyaXB0Pg0KLQkNCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdm5mbS12YWxpZGF0ZS5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3ZuZm1VdGlsLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdm5mbUNvbnRyb2xsZXIuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC1ncm93bC9ib290c3RyYXAtZ3Jvd2wubWluLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9jb21ldGQvY29tZXRkLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9jb21tb24vdGhpcmRwYXJ0eS9jb21ldGQvanF1ZXJ5LmNvbWV0ZC5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL3RoaXJkcGFydHkvYXZhbG9uL2F2YWxvbi5qcyI+PC9zY3JpcHQ+DQorDQorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vY29tbW9uL2pzL3Rvb2xzLmpzIj48L3NjcmlwdD4NCisNCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9jb21tb25VdGlsLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9sb2FkaTE4bl9uc29jLmpzIj48L3NjcmlwdD4NCisNCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy92bmZtLXZhbGlkYXRlLmpzIj48L3NjcmlwdD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy92bmZtVXRpbC5qcyI+PC9zY3JpcHQ+DQorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdm5mbUNvbnRyb2xsZXIuanMiPjwvc2NyaXB0Pg0KIDwvYm9keT4NCiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3IvcG9tLnhtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3BvbS54bWwKaW5kZXggODUzZmUxMS4uODk3MjM0YyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3IvcG9tLnhtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9wb20ueG1sCkBAIC0xNiwyOCArMTYsMjkgQEAKICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogLS0+Ci08cHJvamVjdCB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KLSAgPHBhcmVudD4KLSAgICA8Z3JvdXBJZD5vcmcub3Blbm8uZ3NvLmd1aTwvZ3JvdXBJZD4KLSAgICA8YXJ0aWZhY3RJZD5vcGVuby1wb3J0YWw8L2FydGlmYWN0SWQ+Cis8cHJvamVjdCB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxucz0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIgorICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+CisgICAgPHBhcmVudD4KKyAgICAgICAgPGdyb3VwSWQ+b3JnLm9wZW5vLmdzby5ndWk8L2dyb3VwSWQ+CisgICAgICAgIDxhcnRpZmFjdElkPm9wZW5vLXBvcnRhbDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgPC9wYXJlbnQ+CisKKyAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+CisgICAgPGFydGlmYWN0SWQ+cG9ydGFsLWxpZmVjeWNsZW1ncjwvYXJ0aWZhY3RJZD4KICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KLSAgPC9wYXJlbnQ+Ci0gIAotICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+Ci0gIDxhcnRpZmFjdElkPnBvcnRhbC1saWZlY3ljbGVtZ3I8L2FydGlmYWN0SWQ+Ci0gIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgotICA8cGFja2FnaW5nPndhcjwvcGFja2FnaW5nPgotICAgIAotICA8YnVpbGQ+Ci0gICAgPHBsdWdpbnM+Ci0gICAgICA8cGx1Z2luPgotICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnM8L2dyb3VwSWQ+Ci0gICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLXdhci1wbHVnaW48L2FydGlmYWN0SWQ+Ci0gICAgICAgIDxjb25maWd1cmF0aW9uPgotICAgICAgICAgIDxmYWlsT25NaXNzaW5nV2ViWG1sPmZhbHNlPC9mYWlsT25NaXNzaW5nV2ViWG1sPgotICAgICAgICA8L2NvbmZpZ3VyYXRpb24+Ci0gICAgICA8L3BsdWdpbj4KLSAgICA8L3BsdWdpbnM+Ci0gIDwvYnVpbGQ+Ci0gIAorICAgIDxwYWNrYWdpbmc+cG9tPC9wYWNrYWdpbmc+CisKKyAgIDwhLS0gPGJ1aWxkPgorICAgICAgICA8cGx1Z2lucz4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLXdhci1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+CisgICAgICAgICAgICAgICAgICAgIDxmYWlsT25NaXNzaW5nV2ViWG1sPmZhbHNlPC9mYWlsT25NaXNzaW5nV2ViWG1sPgorICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgIDwvcGx1Z2luPgorICAgICAgICA8L3BsdWdpbnM+CisgICAgPC9idWlsZD4gLS0+CisKIDwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvY3NzL1JNYWluLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvY3NzL1JNYWluLmNzcwppbmRleCAxYjg0ODhhLi4wYTc0MDMyIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2Nzcy9STWFpbi5jc3MKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9jc3MvUk1haW4uY3NzCkBAIC0xMywxOTkgKzEzLDIyNyBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogICovDQogDQotDQogI2llbXBfbGF5b3V0X2NvbnRhaW5lciB7DQotICBwYWRkaW5nOiAwcHg7DQotICBtYXJnaW46IDFweCBhdXRvOw0KLSAgd2lkdGg6IDEwMCU7DQotICBoZWlnaHQ6IDEwMCU7DQorICAgIHBhZGRpbmc6IDBweDsNCisgICAgbWFyZ2luOiAxcHggYXV0bzsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIGhlaWdodDogMTAwJTsNCiB9DQorDQogI2llbXBfbGF5b3V0X2NvbnRhaW5lciAudGhyZWUtY29scy1sYXlvdXQgew0KLSAgd2lkdGg6IDEwMCU7DQotICBoZWlnaHQ6IDEwMCU7DQotICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KLSAgbWFyZ2luLWxlZnQ6IDBweDsNCi0gIG1hcmdpbi10b3A6IDBweDsNCi0gIG1hcmdpbi1yaWdodDogMHB4Ow0KLSAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgaGVpZ2h0OiAxMDAlOw0KKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KKyAgICBtYXJnaW4tbGVmdDogMHB4Ow0KKyAgICBtYXJnaW4tdG9wOiAwcHg7DQorICAgIG1hcmdpbi1yaWdodDogMHB4Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogfQ0KKw0KICNpZW1wX2xheW91dF9jb250YWluZXIgLnRocmVlLWNvbHMtbGF5b3V0IHsNCi0gIHdpZHRoOiAxMDAlOw0KLSAgaGVpZ2h0OiAxMDAlOw0KLSAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCi0gIG1hcmdpbi1sZWZ0OiAwcHg7DQotICBtYXJnaW4tdG9wOiAwcHg7DQotICBtYXJnaW4tcmlnaHQ6IDBweDsNCi0gIG1hcmdpbi1ib3R0b206IDBweDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIGhlaWdodDogMTAwJTsNCisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCisgICAgbWFyZ2luLWxlZnQ6IDBweDsNCisgICAgbWFyZ2luLXRvcDogMHB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IDBweDsNCisgICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KIH0NCisNCiAjaWVtcF9sYXlvdXRfY29udGFpbmVyIC50aHJlZS1jb2xzLWNvbHVtbi50aHJlZS1jb2xzLWxlZnQgew0KLSAgd2lkdGg6IDIxNXB4Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCisgICAgd2lkdGg6IDIxNXB4Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KIH0NCisNCiAuYWNjb3JkaW9uX3BhcmVudCB7DQotICBwb3NpdGlvbjogcmVsYXRpdmU7DQotICB3aWR0aDogMjIwcHg7DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQorICAgIHdpZHRoOiAyMjBweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiB9DQorDQogLm9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIHsNCi0gIHotaW5kZXg6IDEhaW1wb3J0YW50Ow0KLSAgY3Vyc29yOiBlLXJlc2l6ZTsNCi0gIHdpZHRoOiA3cHg7DQotICByaWdodDogLTVweDsNCi0gIHRvcDogMDsNCi0gIGhlaWdodDogMTAwJTsNCi0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCi0gIGZvbnQtc2l6ZTogLjFweDsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KKyAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7DQorICAgIGN1cnNvcjogZS1yZXNpemU7DQorICAgIHdpZHRoOiA3cHg7DQorICAgIHJpZ2h0OiAtNXB4Ow0KKyAgICB0b3A6IDA7DQorICAgIGhlaWdodDogMTAwJTsNCisgICAgcG9zaXRpb246IGFic29sdXRlOw0KKyAgICBmb250LXNpemU6IC4xcHg7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSB7DQotICB3aWR0aDogMTAwJTsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQotICBsaW5lLWhlaWdodDogMTdweDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIG1hcmdpbjogMDsNCisgICAgcGFkZGluZzogMDsNCisgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KKyAgICBsaW5lLWhlaWdodDogMTdweDsNCiB9DQorDQogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkgew0KLSAgbWluLXdpZHRoOiA3NXB4Ow0KLSAgbWFyZ2luOiAwOw0KLSAgcGFkZGluZzogMDsNCi0gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCi0gIGNvbG9yOiAjMDAwOw0KLSAgY2xlYXI6IGJvdGg7DQorICAgIG1pbi13aWR0aDogNzVweDsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQorICAgIGNvbG9yOiAjMDAwOw0KKyAgICBjbGVhcjogYm90aDsNCiB9DQorDQogLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWNvbGxhcHNlLCAub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIHsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLSAgZmxvYXQ6IGxlZnQ7DQotICBtYXJnaW4tYm90dG9tOiAtMXB4Ow0KLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7DQotICBjdXJzb3I6IHBvaW50ZXI7DQotICB3aWR0aDogMTNweDsNCi0gIHBhZGRpbmctdG9wOiAyNnB4Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIG1hcmdpbi1ib3R0b206IC0xcHg7DQorICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Ow0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIHdpZHRoOiAxM3B4Ow0KKyAgICBwYWRkaW5nLXRvcDogMjZweDsNCiB9DQorDQogLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCB7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbGxhcHNlX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7DQotICBtYXJnaW4tdG9wOiA4cHg7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY29sbGFwc2VfYXJyb3cucG5nKSByaWdodCAyMHB4IG5vLXJlcGVhdDsNCisgICAgbWFyZ2luLXRvcDogOHB4Ow0KIH0NCi0ub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLmN1cnJlbnR7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2V4cGFuZF9hcnJvdy5wbmcpIHJpZ2h0IDIwcHggbm8tcmVwZWF0Ow0KKw0KKy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQuY3VycmVudCB7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZXhwYW5kX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUsIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cgew0KLSAgZGlzcGxheTogYmxvY2s7DQotICBwb3NpdGlvbjogYWJzb2x1dGU7DQotICByaWdodDogMDsNCi0gIHRvcDogNHB4Ow0KLSAgd2lkdGg6IDE4cHg7DQotICBoZWlnaHQ6IDQxcHg7DQotICBjdXJzb3I6IHBvaW50ZXI7DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgcG9zaXRpb246IGFic29sdXRlOw0KKyAgICByaWdodDogMDsNCisgICAgdG9wOiA0cHg7DQorICAgIHdpZHRoOiAxOHB4Ow0KKyAgICBoZWlnaHQ6IDQxcHg7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiB9DQorDQogLm9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZSB7DQotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7DQotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IDAhaW1wb3J0YW50Ow0KLSAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsNCi0gIC8qYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgI2U1ZTVlNTsqLw0KKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7DQorICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggMCAhaW1wb3J0YW50Ow0KKyAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOw0KKyAgICAvKmJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwICNlNWU1ZTU7Ki8NCiB9DQorDQogYS5oZWFkZXIub3BlbmVkLCBhLmhlYWRlci5jbG9zZWQgew0KLSAgZm9udC1zaXplOiAxNnB4Ow0KLSAgcGFkZGluZy10b3A6IDI0cHg7DQotICBwYWRkaW5nLWJvdHRvbTogMjVweDsNCi0gIGNvbG9yOiAjOTk5OTk5Ow0KKyAgICBmb250LXNpemU6IDE2cHg7DQorICAgIHBhZGRpbmctdG9wOiAyNHB4Ow0KKyAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsNCisgICAgY29sb3I6ICM5OTk5OTk7DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IC5jbG9zZWQsIC5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IC5vcGVuZWQgew0KLSAgcGFkZGluZy1yaWdodDogMTBweDsNCi0gIGJhY2tncm91bmQtcG9zaXRpb246IDk4JSA1MCU7DQotICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KKyAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OCUgNTAlOw0KKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KIH0NCisNCiAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSBsaSBhIHsNCi0gIHBhZGRpbmc6IDExcHggMTBweCAxMnB4Ow0KLSAgY29sb3I6ICMzMzMzMzM7DQotICBtYXJnaW4tcmlnaHQ6IDFweDsNCi0gIG1hcmdpbi10b3A6IC0xcHg7DQotICB0ZXh0LWFsaWduOiBsZWZ0IWltcG9ydGFudDsNCi0gIGZvbnQtZmFtaWx5OiAiTWljcm9zb2Z0IFlhaGVpIixTaW1TdW4sQXJpYWwsVGFob21hOw0KLSAgZm9udC1zaXplOiAxNHB4Ow0KLSAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQotICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1Ow0KLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7DQotICAvKmhlaWdodDogMTlweDsqLw0KKyAgICBwYWRkaW5nOiAxMXB4IDEwcHggMTJweDsNCisgICAgY29sb3I6ICMzMzMzMzM7DQorICAgIG1hcmdpbi1yaWdodDogMXB4Ow0KKyAgICBtYXJnaW4tdG9wOiAtMXB4Ow0KKyAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQorICAgIGZvbnQtZmFtaWx5OiAiTWljcm9zb2Z0IFlhaGVpIiwgU2ltU3VuLCBBcmlhbCwgVGFob21hOw0KKyAgICBmb250LXNpemU6IDE0cHg7DQorICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsNCisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7DQorICAgIC8qaGVpZ2h0OiAxOXB4OyovDQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IHVsIHsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICBtYXJnaW46IDA7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IGEgew0KLSAgZGlzcGxheTogYmxvY2s7DQotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogfQ0KKw0KIGEgew0KLSAgY29sb3I6ICM0MjhiY2E7DQotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQotICBiYWNrZ3JvdW5kOiAwIDA7DQorICAgIGNvbG9yOiAjNDI4YmNhOw0KKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCiB9DQotLmJhcnsNCisNCisuYmFyIHsNCiAgICAgaGVpZ2h0OiA4MzRweDsNCiAgICAgd2lkdGg6IDE4cHg7DQogICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7DQogICAgIGRpc3BsYXk6IG5vbmU7DQogfQ0KLS5iYXIgc3BhbnsNCisNCisuYmFyIHNwYW4gew0KICAgICB3aWR0aDogMTNweDsNCiAgICAgaGVpZ2h0OiAzNHB4Ow0KICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7DQotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAwIWltcG9ydGFudDsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLSAgLyptYXJnaW4tdG9wOiAtNDMwcHg7Ki8NCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCAhaW1wb3J0YW50Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgLyptYXJnaW4tdG9wOiAtNDMwcHg7Ki8NCiB9DQotI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGl7DQorDQorI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgew0KICAgICBjdXJzb3I6IHBvaW50ZXI7DQogfQ0KLSNwdWVyX2Jhc2Vfb3Blbm97DQorDQorI3B1ZXJfYmFzZV9vcGVubyB7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogfQ0KKw0KIC5vcGVub19hY2NvcmRpb25fc2VsZWN0ZWQgew0KLSAgbWFyZ2luLWxlZnQ6IDA7DQotICBtYXJnaW4tcmlnaHQ6IDA7DQotICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KLSAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNGFjOWZmIWltcG9ydGFudDsNCi0gIGJveC1zaGFkb3c6IG5vbmU7DQotICBwb3NpdGlvbjogcmVsYXRpdmU7DQorICAgIG1hcmdpbi1sZWZ0OiAwOw0KKyAgICBtYXJnaW4tcmlnaHQ6IDA7DQorICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7DQorICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzRhYzlmZiAhaW1wb3J0YW50Ow0KKyAgICBib3gtc2hhZG93OiBub25lOw0KKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogfQ0KLWE6aG92ZXJ7DQotICAgIGNvbG9yOiAjNGFjOWZmIWltcG9ydGFudDsNCisNCithOmhvdmVyIHsNCisgICAgY29sb3I6ICM0YWM5ZmYgIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkub3Blbm9fYWNjb3JkaW9uX3NlbGVjdGVkIGEgew0KLSAgcG9zaXRpb246IHJlbGF0aXZlOw0KLSAgbGVmdDogLTNweDsNCi0gIGNvbG9yOiAjMDA5YWU3Ow0KKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQorICAgIGxlZnQ6IC0zcHg7DQorICAgIGNvbG9yOiAjMDA5YWU3Ow0KIH0NCisNCiAub3Blbm8tYWNjb3JkaW9uLXJlc2l6YWJsZS1oYW5kbGUgew0KLSAgei1pbmRleDogMSFpbXBvcnRhbnQ7DQotICBjdXJzb3I6IGUtcmVzaXplOw0KLSAgd2lkdGg6IDdweDsNCi0gIHJpZ2h0OiAtNXB4Ow0KLSAgdG9wOiAwOw0KLSAgaGVpZ2h0OiAxMDAlOw0KLSAgcG9zaXRpb246IGFic29sdXRlOw0KLSAgZm9udC1zaXplOiAuMXB4Ow0KLSAgZGlzcGxheTogYmxvY2s7DQorICAgIHotaW5kZXg6IDEgIWltcG9ydGFudDsNCisgICAgY3Vyc29yOiBlLXJlc2l6ZTsNCisgICAgd2lkdGg6IDdweDsNCisgICAgcmlnaHQ6IC01cHg7DQorICAgIHRvcDogMDsNCisgICAgaGVpZ2h0OiAxMDAlOw0KKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgIGZvbnQtc2l6ZTogLjFweDsNCisgICAgZGlzcGxheTogYmxvY2s7DQogfQ0KKw0KICNpZnJhbWVDb250YWluZXIgaWZyYW1lIHsNCi0gIHdpZHRoOiAxMDAlOw0KLSAgaGVpZ2h0OiAxMDAlOw0KLSAgYm9yZGVyOiAwOw0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgaGVpZ2h0OiAxMDAlOw0KKyAgICBib3JkZXI6IDA7DQogfQ0KKw0KICNhY2NvcmRpb25Db250ZW50LCAjaWZyYW1lQ29udGFpbmVyIHsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBib3JkZXI6IDA7DQotICB3aWR0aDogMTAwJTsNCi0gIGhlaWdodDogMTAwJTsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBib3JkZXI6IDA7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQogfQ0KKw0KIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cgew0KLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCFpbXBvcnRhbnQ7DQotICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwICNlNWU1ZTUsaW5zZXQgLTFweCAwIDAgI2U1ZTVlNTsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAwICFpbXBvcnRhbnQ7DQorICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgI2U1ZTVlNSwgaW5zZXQgLTFweCAwIDAgI2U1ZTVlNTsNCiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9jc3MvVk1NYWluLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvY3NzL1ZNTWFpbi5jc3MKaW5kZXggZTYyNWU5MC4uYTFjMDg2NiAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9jc3MvVk1NYWluLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2Nzcy9WTU1haW4uY3NzCkBAIC0xMyw2MCArMTMsNjggQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICAqLw0KIA0KLQ0KLWJvZHl7DQorYm9keSB7DQogICAgIGZvbnQtZmFtaWx5OiAn5b6u6L2v6ZuF6buRJzsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBjb2xvcjogIzMzMzsNCiAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCiB9DQotYnV0dG9uew0KKw0KK2J1dHRvbiB7DQogICAgIG91dGxpbmU6IG5vbmU7DQogfQ0KLXVsLGxpew0KKw0KK3VsLCBsaSB7DQogICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQotICAgIHBhZGRpbmc6MDsNCi0gICAgbWFyZ2luOjA7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCiB9DQotLnRpdGxlRm9udHsNCisNCisudGl0bGVGb250IHsNCiAgICAgZm9udC1zaXplOiAxNnB4Ow0KIH0NCi0uc2VwYXJhdG9yLWxpbmV7DQorDQorLnNlcGFyYXRvci1saW5lIHsNCiAgICAgaGVpZ2h0OiAxcHg7DQogICAgIHdpZHRoOiAxMDAlOw0KLSAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgIG1hcmdpbjogNnB4IDAgMTVweCAwOw0KIH0NCi0udXBsb2FkQnRuew0KKw0KKy51cGxvYWRCdG4gew0KICAgICBvdmVyZmxvdzogaGlkZGVuOw0KIH0NCisNCiAuY3JlYXQtYnRuIHsNCi0JcGFkZGluZzogMCAxNHB4Ow0KLQloZWlnaHQ6IDI0cHg7DQorICAgIHBhZGRpbmc6IDAgMTRweDsNCisgICAgaGVpZ2h0OiAyNHB4Ow0KICAgICBmbG9hdDogbGVmdDsNCiAgICAgY3Vyc29yOiBwb2ludGVyOw0KICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgIG91dGxpbmU6IDA7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7DQogICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCi0gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTsNCisgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCi0gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNmZmYsI2ZhZmFmYSk7DQotICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjZmZmKSxjb2xvci1zdG9wKDEwMCUsI2ZhZmFmYSkpOw0KLSAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsNCi0gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNmYWZhZmEpKTsNCisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmFmYWZhKTsNCisgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiwgI2ZhZmFmYSk7DQogICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2FkZC5wbmcpIG5vLXJlcGVhdCA1cHggY2VudGVyOw0KICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQogfQ0KKw0KIC5jcmVhdC1idG46aG92ZXIgew0KLQljb2xvcjogIzAwOWFlNzsJDQotCWJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCisgICAgY29sb3I6ICMwMDlhZTc7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCiB9DQorDQogLmNyZWF0LWJ0bjphY3RpdmUgew0KLQljb2xvcjogIzAwMDsJDQotCWJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCisgICAgY29sb3I6ICMwMDA7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCiB9DQorDQogLyouY3JlYXQtYnRuew0KICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZS9hZGQucG5nKSBuby1yZXBlYXQgNXB4IGNlbnRlcjsNCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCkBAIC03NywxMTAgKzg1LDEzMCBAQAogICAgIGNvbG9yOiAjZmZmOw0KICAgICBib3JkZXI6MXB4IHNvbGlkICM0MjhiY2E7DQogfSovDQotLnNlYXJjaHsNCisuc2VhcmNoIHsNCiAgICAgd2lkdGg6IDMxMHB4Ow0KICAgICBoZWlnaHQ6IDMwcHg7DQotICAgIGZsb2F0OnJpZ2h0Ow0KKyAgICBmbG9hdDogcmlnaHQ7DQogfQ0KLS5zZWFyY2gtdGV4dHsNCisNCisuc2VhcmNoLXRleHQgew0KICAgICB3aWR0aDogMjUwcHg7DQogICAgIGZsb2F0OiBsZWZ0Ow0KICAgICBtYXJnaW4tcmlnaHQ6IDZweDsNCiB9DQotLnNlYXJjaC1idG57DQorDQorLnNlYXJjaC1idG4gew0KICAgICBoZWlnaHQ6IDMwcHg7DQogICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgIGZsb2F0OiBsZWZ0Ow0KIH0NCi0jaWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXZ7DQorDQorI2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2IHsNCiAgICAgbWFyZ2luLXRvcDogMTVweDsNCiB9DQotLnRhYmxlPnRoZWFkPnRyLmFjdGl2ZT50aHsNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCFpbXBvcnRhbnQ7DQorDQorLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0aCB7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsNCiAgICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsNCiB9DQorDQogLyoudGFibGUgdGJvZHkgdHI6aG92ZXJ7DQogICAgIGJhY2tncm91bmQ6ICNlNmZiZTAhaW1wb3J0YW50Ow0KIH0qLw0KLS50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkew0KKy50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsNCiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7DQogfQ0KLS50YWJsZS1idG57DQorDQorLnRhYmxlLWJ0biB7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiB9DQotLmRlbGV0ZS1idG57DQorDQorLmRlbGV0ZS1idG4gew0KICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2UvZGVsZXRlLnBuZykgbm8tcmVwZWF0Ow0KICAgICB3aWR0aDogMTZweDsNCiAgICAgaGVpZ2h0OiAxNnB4Ow0KICAgICBib3JkZXI6IG5vbmU7DQogfQ0KLS5kZXRhaWwtYnRuew0KKw0KKy5kZXRhaWwtYnRuIHsNCiAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlL29wZW5vLnBuZykgbm8tcmVwZWF0IC0zNDNweCAtMjgzcHg7DQogICAgIHdpZHRoOiAxNnB4Ow0KICAgICBoZWlnaHQ6IDE2cHg7DQogICAgIGJvcmRlcjogbm9uZTsNCiB9DQotLmRldGFpbC1idG4uY3VycmVudHsNCi0gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAtMzE0cHg7IA0KKw0KKy5kZXRhaWwtYnRuLmN1cnJlbnQgew0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IC0zMTRweDsNCiB9DQotLmRldGFpbHsNCisNCisuZGV0YWlsIHsNCiAgICAgaGVpZ2h0OiAyMDBweDsNCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICAgbWFyZ2luLXRvcDogNjBweDsNCiB9DQogDQotLmRldGFpbC10b3AgdWx7DQorLmRldGFpbC10b3AgdWwgew0KICAgICBoZWlnaHQ6IDUwcHg7DQogICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCiAgICAgcGFkZGluZy1sZWZ0OiAwcHg7DQotICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KIH0NCi0uZGV0YWlsLXRvcCB1bCBsaXsNCi0gICAgZmxvYXQ6bGVmdDsNCisNCisuZGV0YWlsLXRvcCB1bCBsaSB7DQorICAgIGZsb2F0OiBsZWZ0Ow0KICAgICB3aWR0aDogMTIwcHg7DQogICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDsNCiAgICAgY3Vyc29yOiBwb2ludGVyOw0KIH0NCi0uZGV0YWlsLXRvcCB1bCBsaS5jdXJyZW50ew0KKw0KKy5kZXRhaWwtdG9wIHVsIGxpLmN1cnJlbnQgew0KICAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCi0udm1hcHAtbWFyZ2luew0KKw0KKy52bWFwcC1tYXJnaW4gew0KICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KIH0NCi0uY29udHJvbC1sYWJlbCAucmVxdWlyZWR7DQorDQorLmNvbnRyb2wtbGFiZWwgLnJlcXVpcmVkIHsNCiAgICAgY29sb3I6ICNlMDIyMjI7DQogICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICAgcGFkZGluZy1sZWZ0OiAycHg7DQogfQ0KLS5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsew0KKw0KKy5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBmb250LXdlaWdodDogNDAwOw0KIH0NCi1sZWdlbmR7DQorDQorbGVnZW5kIHsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBmb250LXdlaWdodDogYm9sZDsNCiB9DQotLnBhZ2VHcm97DQorDQorLnBhZ2VHcm8gew0KICAgICB3aWR0aDogMjUwcHg7DQogICAgIGZsb2F0OiByaWdodDsNCiB9DQotLnBhZ2VVcCwucGFnZURvd24sLnBhZ2VMaXN0LC5wYWdlTGlzdCBsaXsNCisNCisucGFnZVVwLCAucGFnZURvd24sIC5wYWdlTGlzdCwgLnBhZ2VMaXN0IGxpIHsNCiAgICAgZmxvYXQ6IGxlZnQ7DQogICAgIGN1cnNvcjogcG9pbnRlcjsNCiB9DQotLnBhZ2VVcCwucGFnZURvd257DQorDQorLnBhZ2VVcCwgLnBhZ2VEb3duIHsNCiAgICAgd2lkdGg6IDYwcHg7DQogICAgIGhlaWdodDogMzBweDsNCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICBsaW5lLWhlaWdodDogMzBweDsNCiB9DQotLnBhZ2VMaXN0IGxpew0KKw0KKy5wYWdlTGlzdCBsaSB7DQogICAgIHdpZHRoOiAzMHB4Ow0KICAgICBoZWlnaHQ6IDMwcHg7DQogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQpAQCAtMTg4LDQ2NiArMjE2LDU0MyBAQAogICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICBib3JkZXItbGVmdDogbm9uZTsNCiB9DQotLnBhZ2VMaXN0IGxpLmFjdGl2ZXsNCisNCisucGFnZUxpc3QgbGkuYWN0aXZlIHsNCiAgICAgYmFja2dyb3VuZDogIzQyOGJjYTsNCiAgICAgY29sb3I6ICNmZmY7DQogICAgIGJvcmRlci1jb2xvcjogIzQyOGJjYTsNCiB9DQotLnBhZ2VEb3duew0KKw0KKy5wYWdlRG93biB7DQogICAgIGJvcmRlci1sZWZ0OiBub25lOw0KIH0NCi0uaGVhZGVyTGlua1B7DQorDQorLmhlYWRlckxpbmtQIHsNCiAgICAgcGFkZGluZy10b3A6IDE3cHg7DQogfQ0KLS5oZWFkZXJMaW5rUCBzcGFuew0KKw0KKy5oZWFkZXJMaW5rUCBzcGFuIHsNCiAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgICBjb2xvcjogIzY2NjsNCi0gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7DQorICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsNCiB9DQotbGFiZWx7DQotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50Ow0KKw0KK2xhYmVsIHsNCisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50Ow0KIH0NCisNCiB0YWJsZS51c2VyZm9ybSB0Ym9keSB0ciB0ZCB7DQotICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KLSAgcGFkZGluZy1yaWdodDogMTBweDsNCi0gIHBhZGRpbmctdG9wOiAxMHB4Ow0KLSAgZm9udC1zaXplOiAxMnB4Ow0KLSAgY29sb3I6ICMzMzM7DQorICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQorICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7DQorICAgIHBhZGRpbmctdG9wOiAxMHB4Ow0KKyAgICBmb250LXNpemU6IDEycHg7DQorICAgIGNvbG9yOiAjMzMzOw0KIH0NCi0udGFibGUgdGgsLnRhYmxlIHRkew0KLSAgICBwYWRkaW5nLXRvcDogM3B4IWltcG9ydGFudDsNCi0gICAgcGFkZGluZy1ib3R0b206IDNweCFpbXBvcnRhbnQ7DQorDQorLnRhYmxlIHRoLCAudGFibGUgdGQgew0KKyAgICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7DQorICAgIHBhZGRpbmctYm90dG9tOiAzcHggIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vQnJvd3NlQnV0dG9uX2VsZW1lbnQgew0KLSAgZGlzcGxheTogdGFibGU7DQorICAgIGRpc3BsYXk6IHRhYmxlOw0KIH0NCisNCiAub3Blbm8gew0KLSAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLFNpbVN1bixBcmlhbCxUYWhvbWE7DQotICBmb250LXNpemU6IDEycHg7DQotICBjb2xvcjogIzAwMDsNCisgICAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLCBTaW1TdW4sIEFyaWFsLCBUYWhvbWE7DQorICAgIGZvbnQtc2l6ZTogMTJweDsNCisgICAgY29sb3I6ICMwMDA7DQogfQ0KKw0KIC5vcGVub0Jyb3dzZUJ1dHRvbl9pbnB1dCB7DQotICB3aWR0aDogMTk4cHg7DQotICBwb3NpdGlvbjogcmVsYXRpdmU7DQotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzIWltcG9ydGFudDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7DQotICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsNCi0gIGJvcmRlci1yaWdodDogbm9uZTsNCi0gIHBhZGRpbmc6IDA7DQorICAgIHdpZHRoOiAxOThweDsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzICFpbXBvcnRhbnQ7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7DQorICAgIGJvcmRlci1yaWdodDogbm9uZTsNCisgICAgcGFkZGluZzogMDsNCiB9DQorDQogLmJ1dHRvbkNsYXNzRGVmYXVsdCwgLmJ1dHRvbkNsYXNzRGVmYXVsdDphY3RpdmUgew0KLSAgY3Vyc29yOiBwb2ludGVyOw0KLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IC03cHghaW1wb3J0YW50Ow0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IC03cHggIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vQnJvd3NlQnV0dG9uX2J1dHRvbiB7DQotICB3aWR0aDogMjdweDsNCi0gIGJvcmRlcjogMDsNCi0gIGZsb2F0OiByaWdodDsNCi0gIHBvc2l0aW9uOiByZWxhdGl2ZTsNCi0gIGhlaWdodDogMjZweDsNCi0gIHJpZ2h0OiAwOw0KLSAgdG9wOiAwOw0KLSAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7DQotICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzNjM2MzOw0KLSAgYm9yZGVyLWxlZnQ6IG5vbmU7DQorICAgIHdpZHRoOiAyN3B4Ow0KKyAgICBib3JkZXI6IDA7DQorICAgIGZsb2F0OiByaWdodDsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIHJpZ2h0OiAwOw0KKyAgICB0b3A6IDA7DQorICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOw0KKyAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzNjM2MzOw0KKyAgICBib3JkZXItbGVmdDogbm9uZTsNCiB9DQorDQogLm9wZW5vIC5vcGVuby1pbnB1dCwgLm9wZW5vLm9wZW5vLWlucHV0IHsNCi0gIG91dGxpbmU6IDA7DQotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOw0KLSAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCi0gIGhlaWdodDogMjZweDsNCisgICAgb3V0bGluZTogMDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMzsNCisgICAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KKyAgICBoZWlnaHQ6IDI2cHg7DQogfQ0KKw0KIC5vcGVub0lucHV0X29wZW5vRGVmYXVsdFRleHQgew0KLSAgcGFkZGluZzogMCAwIDAgNnB4Ow0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgY29sb3I6ICMwMDA7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBvdXRsaW5lOiAwOw0KLSAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KLSAgZm9udC1zaXplOiAxMnB4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgcGFkZGluZzogMCAwIDAgNnB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA0cHg7DQorICAgIGNvbG9yOiAjMDAwOw0KKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQorICAgIG91dGxpbmU6IDA7DQorICAgIGJveC1zaGFkb3c6IDFweCAxcHggI2Y2ZjZmNiBpbnNldDsNCisgICAgZm9udC1zaXplOiAxMnB4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCisNCiBkaXYub3Blbm8tc2VsZWN0IHsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQotICBib3JkZXItcmFkaXVzOiA0cHg7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Fycm93LWRvd24tZW5hYmxlLnBuZykgcmlnaHQgbm8tcmVwZWF0ICNmZmY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIHBhZGRpbmctbGVmdDogM3B4Ow0KLSAgZGlzcGxheTogYmxvY2s7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hcnJvdy1kb3duLWVuYWJsZS5wbmcpIHJpZ2h0IG5vLXJlcGVhdCAjZmZmOw0KKyAgICBsaW5lLWhlaWdodDogMjRweDsNCisgICAgcGFkZGluZy1sZWZ0OiAzcHg7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0PmlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7DQotICBib3JkZXI6IG5vbmU7DQotICBvdXRsaW5lOiAwOw0KLSAgbGluZS1oZWlnaHQ6IDIxcHg7DQotICBoZWlnaHQ6IDIxcHg7DQotICBwYWRkaW5nLWxlZnQ6IDNweDsNCi0gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7DQorDQorZGl2Lm9wZW5vLXNlbGVjdCA+IGlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7DQorICAgIGJvcmRlcjogbm9uZTsNCisgICAgb3V0bGluZTogMDsNCisgICAgbGluZS1oZWlnaHQ6IDIxcHg7DQorICAgIGhlaWdodDogMjFweDsNCisgICAgcGFkZGluZy1sZWZ0OiAzcHg7DQorICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7DQogfQ0KKw0KIC5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCi0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiB9DQorDQogYS5vcGVub0J1dHRvbl9idXR0b25DbGFzcywgYS5vcGVub0J1dHRvbl9idXR0b25EaXNhYmxlQ2xhc3MsIGRpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzcywgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkRpc2FibGVDbGFzcyB7DQotICBoZWlnaHQ6IDI2cHg7DQotICBmbG9hdDogbGVmdDsNCi0gIGN1cnNvcjogcG9pbnRlcjsNCi0gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCi0gIG91dGxpbmU6IDA7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOw0KLSAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTsNCi0gIGJhY2tncm91bmQ6ICNmYWZhZmE7DQotICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsNCi0gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjZmZmKSxjb2xvci1zdG9wKDEwMCUsI2ZhZmFmYSkpOw0KLSAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmZmYsI2ZhZmFmYSk7DQotICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmYsI2ZhZmFmYSk7DQotICBib3JkZXItcmFkaXVzOiA2cHg7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KKyAgICBvdXRsaW5lOiAwOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7DQorICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7DQorICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2ZhZmFmYSk7DQorICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2ZhZmFmYSkpOw0KKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmLCAjZmFmYWZhKTsNCisgICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KIH0NCi0ub3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzc3sNCi0gICAgICBwYWRkaW5nOiAwIDE5cHg7DQotICAgICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KKw0KKy5vcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIHsNCisgICAgcGFkZGluZzogMCAxOXB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogfQ0KKw0KIC5vcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IHsNCi0gIGNvbG9yOiAjMDAwOw0KLSAgbGluZS1oZWlnaHQ6IDI0cHg7DQotICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KLSAgd2lkdGg6IGF1dG8haW1wb3J0YW50Ow0KKyAgICBjb2xvcjogIzAwMDsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7DQogfQ0KKw0KIC51c2VySGVhZGVyIHsNCi0gIGNsZWFyOiBsZWZ0Ow0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIG1hcmdpbi1ib3R0b206IDEwcHg7DQotICBwYWRkaW5nOiAxMHB4IDEwcHggMHB4IDBweDsNCisgICAgY2xlYXI6IGxlZnQ7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQorICAgIHBhZGRpbmc6IDEwcHggMTBweCAwcHggMHB4Ow0KIH0NCisNCiAub3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyB7DQotICBkaXNwbGF5OiBpbmxpbmU7DQorICAgIGRpc3BsYXk6IGlubGluZTsNCiB9DQorDQogLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudDpmaXJzdC1jaGlsZCB7DQotICBtYXJnaW4tbGVmdDogMDsNCisgICAgbWFyZ2luLWxlZnQ6IDA7DQogfQ0KKw0KIC5vcGVub0J1dHRvbl9idXR0b25MZWZ0SW1nIHsNCi0gIG1hcmdpbi1yaWdodDogNXB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IDVweDsNCiB9DQorDQogLm9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWcsIC5vcGVub0J1dHRvbl9idXR0b25SaWdodEltZyB7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KLSAgd2lkdGg6IDE2cHg7DQotICBoZWlnaHQ6IDE2cHg7DQotICBtYXJnaW4tdG9wOiA0cHg7DQorICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCisgICAgdmVydGljYWwtYWxpZ246IHRvcDsNCisgICAgd2lkdGg6IDE2cHg7DQorICAgIGhlaWdodDogMTZweDsNCisgICAgbWFyZ2luLXRvcDogNHB4Ow0KIH0NCisNCiAub3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIHsNCi0gIGhlaWdodDogMzdweDsNCisgICAgaGVpZ2h0OiAzN3B4Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbiB7DQotICBkaXNwbGF5OiBibG9jazsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIHBhZGRpbmc6IDVweCAwIDA7DQotICBtYXJnaW4tdG9wOiA4cHg7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgcGFkZGluZzogNXB4IDAgMDsNCisgICAgbWFyZ2luLXRvcDogOHB4Ow0KIH0NCisNCiAub3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnM6bm90KG1zaWU4KSB7DQotICBsaW5lLWhlaWdodDogMjRweDsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogfQ0KKw0KIC5vcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyB7DQotICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KLSAgaGVpZ2h0OiAyNHB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBvdXRsaW5lOiAwOw0KLSAgbGluZS1oZWlnaHQ6IDIwcHg7DQotICBtYXJnaW46IDAgNXB4Ow0KKyAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KKyAgICBoZWlnaHQ6IDI0cHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBvdXRsaW5lOiAwOw0KKyAgICBsaW5lLWhlaWdodDogMjBweDsNCisgICAgbWFyZ2luOiAwIDVweDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IHsNCi0gIGhlaWdodDogMjZweDsNCi0gIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KLSAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgbWFyZ2luLXJpZ2h0OiAtMnB4Ow0KLSAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCi0gIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4Ow0KLSAgcGFkZGluZzogMXB4Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIG1hcmdpbi1yaWdodDogLTJweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCisgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7DQorICAgIHBhZGRpbmc6IDFweDsNCiB9DQorDQogLm9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIHNwYW4gew0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiFpbXBvcnRhbnQ7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3BhbiB7DQotICBmbG9hdDogbGVmdDsNCi0gIGNvbG9yOiAjNjY2Ow0KLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGZvbnQtd2VpZ2h0OiA0MDA7DQotICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCi0gIHBhZGRpbmc6IDAgN3B4Ow0KLSAgYm9yZGVyLXJhZGl1czogM3B4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGNvbG9yOiAjNjY2Ow0KKyAgICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBmb250LXdlaWdodDogNDAwOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBwYWRkaW5nOiAwIDdweDsNCisgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWRlb19kZWZhdWx0X3NlbGVjdC5wbmcpIGxlZnQgbm8tcmVwZWF0IWltcG9ydGFudDsNCi0gIGZsb2F0OiByaWdodCFpbXBvcnRhbnQ7DQotICB3aWR0aDogMjZweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGN1cnNvcjogcG9pbnRlcjsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pZGVvX2RlZmF1bHRfc2VsZWN0LnBuZykgbGVmdCBuby1yZXBlYXQgIWltcG9ydGFudDsNCisgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7DQorICAgIHdpZHRoOiAyNnB4Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgbGFiZWwgew0KLSAgcGFkZGluZy10b3A6IDZweDsNCi0gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQotICBtYXJnaW4tcmlnaHQ6IDIwcHg7DQotICBtYXJnaW4tdG9wOiAtMXB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBoZWlnaHQ6IDIwcHg7DQotICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsNCisgICAgcGFkZGluZy10b3A6IDZweDsNCisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCisgICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KKyAgICBtYXJnaW4tdG9wOiAtMXB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KKyAgICBoZWlnaHQ6IDIwcHg7DQorICAgIGZvbnQ6IDEycHggTHVjaWRhIEdyYW5kZSwgVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24gbGksIC5vcGVuby1wYWdpbmF0aW9uIHVsIHsNCi0gIGxpc3Qtc3R5bGU6IG5vbmU7DQotICBwYWRkaW5nOiAwOw0KLSAgbWFyZ2luOiAwOw0KLSAgZmxvYXQ6IGxlZnQ7DQorICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQogfQ0KKw0KIGRkLCBkbCwgZHQsIGxpIHsNCi0gIGNvbG9yOiAjMDAwOw0KKyAgICBjb2xvcjogIzAwMDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3Bhbi5jdXJyZW50IHsNCi0gIG1hcmdpbjogMCA1cHggMCAwOw0KKyAgICBtYXJnaW46IDAgNXB4IDAgMDsNCiB9DQorDQogLm9wZW5vIC5vcGVuby1kaXNhYmxlZCwgLm9wZW5vLm9wZW5vLWRpc2FibGVkIHsNCi0gIGJvcmRlci1jb2xvcjogI2MzYzNjMyFpbXBvcnRhbnQ7DQotICBjb2xvcjogIzY2NiFpbXBvcnRhbnQ7DQotICBvcGFjaXR5OiAuMzsNCi0gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7DQorICAgIGJvcmRlci1jb2xvcjogI2MzYzNjMyAhaW1wb3J0YW50Ow0KKyAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50Ow0KKyAgICBvcGFjaXR5OiAuMzsNCisgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYgew0KLSAgYmFja2dyb3VuZDogMCAwOw0KLSAgZmxvYXQ6IGxlZnQ7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQogfQ0KKw0KIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5jdXJyZW50IHsNCi0gIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7DQotICBmbG9hdDogbGVmdDsNCi0gIHBhZGRpbmctbGVmdDogNnB4Ow0KLSAgaGVpZ2h0OiAyNHB4Ow0KLSAgY29sb3I6ICNmZmY7DQotICBkaXNwbGF5OiBpbmxpbmU7DQotICBib3JkZXItY29sb3I6ICMwMGFkZjU7DQotICBiYWNrZ3JvdW5kOiAjNGFkMmZmOw0KKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIHBhZGRpbmctbGVmdDogNnB4Ow0KKyAgICBoZWlnaHQ6IDI0cHg7DQorICAgIGNvbG9yOiAjZmZmOw0KKyAgICBkaXNwbGF5OiBpbmxpbmU7DQorICAgIGJvcmRlci1jb2xvcjogIzAwYWRmNTsNCisgICAgYmFja2dyb3VuZDogIzRhZDJmZjsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3BhbiB7DQotICBmbG9hdDogbGVmdDsNCi0gIGNvbG9yOiAjNjY2Ow0KLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGZvbnQtd2VpZ2h0OiA0MDA7DQotICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCi0gIHBhZGRpbmc6IDAgN3B4Ow0KLSAgYm9yZGVyLXJhZGl1czogM3B4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGNvbG9yOiAjNjY2Ow0KKyAgICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBmb250LXdlaWdodDogNDAwOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBwYWRkaW5nOiAwIDdweDsNCisgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldi5vcGVuby1kaXNhYmxlZDpiZWZvcmUgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYub3Blbm8tZGlzYWJsZWQ6YmVmb3JlIHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQogfQ0KKw0KIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAubmV4dDphZnRlciwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXY6YmVmb3JlIHsNCi0gIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCi0gIGNvbnRlbnQ6ICIiOw0KLSAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCi0gIHdpZHRoOiAxMHB4Ow0KLSAgaGVpZ2h0OiAyNHB4Ow0KKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQorICAgIGNvbnRlbnQ6ICIiOw0KKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KKyAgICB3aWR0aDogMTBweDsNCisgICAgaGVpZ2h0OiAyNHB4Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2wucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2wucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLm5leHQ6YWZ0ZXIsIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBjb250ZW50OiAiIjsNCi0gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQotICB3aWR0aDogMTBweDsNCi0gIGhlaWdodDogMjRweDsNCisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KKyAgICBjb250ZW50OiAiIjsNCisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCisgICAgd2lkdGg6IDEwcHg7DQorICAgIGhlaWdodDogMjRweDsNCiB9DQorDQogcGFnaW5hdGlvbiB1bCB7DQotICBsaXN0LXN0eWxlOiBub25lOw0KLSAgcGFkZGluZzogMDsNCi0gIG1hcmdpbjogMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KKyAgICBsaXN0LXN0eWxlOiBub25lOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBtYXJnaW46IDA7DQorICAgIGZsb2F0OiBsZWZ0Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbiBsaSwgLm9wZW5vLXBhZ2luYXRpb24gdWwgew0KLSAgbGlzdC1zdHlsZTogbm9uZTsNCi0gIHBhZGRpbmc6IDA7DQotICBtYXJnaW46IDA7DQotICBmbG9hdDogbGVmdDsNCisgICAgbGlzdC1zdHlsZTogbm9uZTsNCisgICAgcGFkZGluZzogMDsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBmbG9hdDogbGVmdDsNCiB9DQorDQogLm9wZW5vUGFnaW5hdGlvbl9nb3RvdGV4dCB7DQotICBiYWNrZ3JvdW5kOiAjRkZGOw0KLSAgb3V0bGluZTogMDsNCi0gIHdpZHRoOiAyOXB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBoZWlnaHQ6IDI2cHg7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGJvcmRlci1yYWRpdXM6IDRweDsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQotICBwYWRkaW5nOiAwIDAgMCA1cHg7DQotICBtYXJnaW46IDA7DQotICBjb2xvcjogIzY2NjsNCi0gIG1pbi13aWR0aDogNTBweDsNCisgICAgYmFja2dyb3VuZDogI0ZGRjsNCisgICAgb3V0bGluZTogMDsNCisgICAgd2lkdGg6IDI5cHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA0cHg7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQorICAgIHBhZGRpbmc6IDAgMCAwIDVweDsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBjb2xvcjogIzY2NjsNCisgICAgbWluLXdpZHRoOiA1MHB4Ow0KIH0NCisNCiAub3Blbm9QYWdpbmF0aW9uX2dvdG9pbWFnZSB7DQotICB3aWR0aDogMjlweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGxpbmUtaGVpZ2h0OiAyNnB4Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCi0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcG9ydGFsL3RoZW1lcy9kZWZhdWx0L2NvbXBvbmVudHMvb3Blbm8vaW1hZ2VzL29wZW5vLnBuZyk7DQotICBwYWRkaW5nLWxlZnQ6IDIxcHg7DQotICBmbG9hdDogbGVmdDsNCi0gIG1hcmdpbi1sZWZ0OiA1cHg7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCi0gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCi0gIGJhY2tncm91bmQtcG9zaXRpb246IC0xODRweCAtMTgxcHghaW1wb3J0YW50Ow0KKyAgICB3aWR0aDogMjlweDsNCisgICAgaGVpZ2h0OiAyNnB4Ow0KKyAgICBsaW5lLWhlaWdodDogMjZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9wb3J0YWwvdGhlbWVzL2RlZmF1bHQvY29tcG9uZW50cy9vcGVuby9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgcGFkZGluZy1sZWZ0OiAyMXB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgbWFyZ2luLWxlZnQ6IDVweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KKyAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQorICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODRweCAtMTgxcHggIWltcG9ydGFudDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLmVsbGlwc2Ugew0KLSAgZmxvYXQ6IGxlZnQ7DQotICBtYXJnaW4tbGVmdDogLThweDsNCi0gIG1hcmdpbi1yaWdodDogLTRweDsNCi0gIGJhY2tncm91bmQ6IDAgMDsNCi0gIGJvcmRlcjogbm9uZTsNCi0gIGJvcmRlci1yYWRpdXM6IDA7DQotICBib3gtc2hhZG93OiBub25lOw0KLSAgZm9udC13ZWlnaHQ6IDcwMDsNCi0gIGN1cnNvcjogZGVmYXVsdDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIG1hcmdpbi1sZWZ0OiAtOHB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IC00cHg7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCisgICAgYm9yZGVyOiBub25lOw0KKyAgICBib3JkZXItcmFkaXVzOiAwOw0KKyAgICBib3gtc2hhZG93OiBub25lOw0KKyAgICBmb250LXdlaWdodDogNzAwOw0KKyAgICBjdXJzb3I6IGRlZmF1bHQ7DQogfQ0KKw0KIC5vcGVuby5vcGVuby1kaXNhYmxlZCB7DQotICBib3JkZXItY29sb3I6ICNjM2MzYzMhaW1wb3J0YW50Ow0KLSAgY29sb3I6ICM2NjYhaW1wb3J0YW50Ow0KLSAgb3BhY2l0eTogLjM7DQotICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOw0KKyAgICBib3JkZXItY29sb3I6ICNjM2MzYzMgIWltcG9ydGFudDsNCisgICAgY29sb3I6ICM2NjYgIWltcG9ydGFudDsNCisgICAgb3BhY2l0eTogLjM7DQorICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7DQogfQ0KKw0KIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2IHsNCi0gIGJhY2tncm91bmQ6IDAgMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KKyAgICBiYWNrZ3JvdW5kOiAwIDA7DQorICAgIGZsb2F0OiBsZWZ0Ow0KIH0NCisNCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAuY3VycmVudCB7DQotICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBwYWRkaW5nLWxlZnQ6IDZweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGNvbG9yOiAjZmZmOw0KLSAgZGlzcGxheTogaW5saW5lOw0KLSAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7DQotICBiYWNrZ3JvdW5kOiAjNGFkMmZmOyovDQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgcGFkZGluZy1sZWZ0OiA2cHg7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgY29sb3I6ICNmZmY7DQorICAgIGRpc3BsYXk6IGlubGluZTsNCisgICAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7DQorICAgIGJhY2tncm91bmQ6ICM0YWQyZmY7Ki8NCiAgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLm5leHQ6YWZ0ZXIgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX3IucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX3IucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCiB9DQorDQogLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCwgLm9wZW5vQnV0dG9uX2J1dHRvblJpZ2h0SW1nIHsNCi0gIG1hcmdpbi1sZWZ0OiA1cHg7DQorICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQogfQ0KIA0KIGh0bWwsIGJvZHkgew0KLSAgaGVpZ2h0OiA5OSU7DQotICB3aWR0aDogOTglOw0KKyAgICBoZWlnaHQ6IDk5JTsNCisgICAgd2lkdGg6IDk4JTsNCiB9DQorDQogLmNvdGVudEJvZHkgew0KLSAgcGFkZGluZzogMHB4IDIwcHggMHB4IDIwcHg7DQorICAgIHBhZGRpbmc6IDBweCAyMHB4IDBweCAyMHB4Ow0KIH0NCiANCiBkaXYub3Blbm9CdXR0b25fYnV0dG9uQ2xhc3M6aG92ZXIgew0KLSAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsNCisgICAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsNCiB9DQorDQogZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbl9kZWZhdWx0OmhvdmVyIC5vcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IHsNCi0gIGNvbG9yOiAjMDA5YWU3Ow0KKyAgICBjb2xvcjogIzAwOWFlNzsNCiB9DQorDQogLmhlYWRlcl9saW5laW1nIHsNCi0gIGhlaWdodDogMXB4Ow0KLSAgd2lkdGg6IDEwMCU7DQotICBtYXJnaW4tdG9wOiAxN3B4Ow0KKyAgICBoZWlnaHQ6IDFweDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIG1hcmdpbi10b3A6IDE3cHg7DQogfQ0KKw0KIC5vcGVuby5vcGVuby1oaWRlIHsNCi0gIGRpc3BsYXk6IG5vbmU7DQorICAgIGRpc3BsYXk6IG5vbmU7DQogfQ0KKw0KIGRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIHsNCi0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQotICBib3JkZXItdG9wOiBub25lOw0KLSAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7DQotICBtYXgtaGVpZ2h0OiAyMDJweDsNCi0gIG92ZXJmbG93LXk6IGF1dG87DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KLSAgei1pbmRleDogODgwOw0KKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQorICAgIGJvcmRlci10b3A6IG5vbmU7DQorICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4Ow0KKyAgICBtYXgtaGVpZ2h0OiAyMDJweDsNCisgICAgb3ZlcmZsb3cteTogYXV0bzsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCisgICAgei1pbmRleDogODgwOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0gew0KLSAgZGlzcGxheTogYmxvY2s7DQorDQorZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgPiBkaXYub3Blbm8tc2VsZWN0LWl0ZW0gew0KKyAgICBkaXNwbGF5OiBibG9jazsNCiB9DQorDQogLm9wZW5vIC5vcGVuby1lbGxpcHNpcywgLm9wZW5vLm9wZW5vLWVsbGlwc2lzIHsNCi0gIG92ZXJmbG93OiBoaWRkZW47DQotICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KLSAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0+bGFiZWwgew0KLSAgcGFkZGluZy10b3A6IDNweDsNCi0gIHBhZGRpbmctYm90dG9tOiAzcHg7DQotICBsaW5lLWhlaWdodDogMjBweDsNCisNCitkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbSA+IGxhYmVsIHsNCisgICAgcGFkZGluZy10b3A6IDNweDsNCisgICAgcGFkZGluZy1ib3R0b206IDNweDsNCisgICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogfQ0KKw0KIC5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCi0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiB9DQorDQogLm9wZW5vLXNlbGVjdC1pdGVtIGxhYmVsIHsNCi0gIG1hcmdpbi1sZWZ0OiA0cHg7DQotICBtYXJnaW4tcmlnaHQ6IDRweDsNCi0gIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIG1hcmdpbi1sZWZ0OiA0cHg7DQorICAgIG1hcmdpbi1yaWdodDogNHB4Ow0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KIH0NCi1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0ub3Blbm8taXRlbS1zZWxlY3RlZCwgZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtOmhvdmVyIHsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7DQotICBjb2xvcjogIzAwOGZkNjsNCisNCitkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbS5vcGVuby1pdGVtLXNlbGVjdGVkLCBkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbTpob3ZlciB7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7DQorICAgIGNvbG9yOiAjMDA4ZmQ2Ow0KIH0NCisNCiBkaXYub3Blbm8tc2VsZWN0Lm9wZW5vLWZvY3VzIHsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQotICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KLSAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQotICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNGFjOWZmOw0KKyAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KKyAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCisgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZDsNCiB9DQorDQogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYTpob3ZlciB7DQotICBib3JkZXItY29sb3I6ICM0YWM5ZmY7DQotICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJvcmRlci1jb2xvcjogIzRhYzlmZjsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KIH0NCi0uU0RCdG57DQotICAgICBiYWNrZ3JvdW5kOiAjZmZmOyANCi0gICAgIGNvbG9yOiAjMzMzOyANCi0gICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQorDQorLlNEQnRuIHsNCisgICAgYmFja2dyb3VuZDogI2ZmZjsNCisgICAgY29sb3I6ICMzMzM7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogfQ0KLS5TREJ0bjpob3ZlcnsNCi0gICAgY29sb3I6ICMwMDlhZTc7CQ0KLQlib3JkZXI6IDFweCBzb2xpZCAjNEFDOUZGDQorDQorLlNEQnRuOmhvdmVyIHsNCisgICAgY29sb3I6ICMwMDlhZTc7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCiB9DQorDQogdGFibGUgdGJvZHkgdHIuZXZlbjpob3ZlciB0ZCwgdGFibGUgdGJvZHkgdHIub2RkOmhvdmVyIHRkIHsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNlNmZiZTA7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmZiZTA7DQogfQ0KKw0KIHRhYmxlIHRyLm9wZW5vVGFibGVfcm93X3NlbGVjdGVkIHRkIHsNCi0gIGJhY2tncm91bmQ6ICNlOGY4ZmUhaW1wb3J0YW50Ow0KLSAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTghaW1wb3J0YW50Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZThmOGZlICFpbXBvcnRhbnQ7DQorICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4ICFpbXBvcnRhbnQ7DQogfQ0KLS5tb2RhbC1ib2R5ew0KLSAgICBwYWRkaW5nOiAwIWltcG9ydGFudDsNCisNCisubW9kYWwtYm9keSB7DQorICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiB9DQotLmZvcm0tY29udHJvbHsNCi0gICAgaGVpZ2h0OiAyNnB4IWltcG9ydGFudDsNCisNCisuZm9ybS1jb250cm9sIHsNCisgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7DQogfQ0KKw0KIC5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsNCi0gIG1hcmdpbi1sZWZ0OiAyMHB4Ow0KKyAgICBtYXJnaW4tbGVmdDogMjBweDsNCiB9DQogDQogLmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbCB7DQotICB0ZXh0LWFsaWduOiBsZWZ0Ow0KKyAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KIH0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2dzb2xjbW1haW4uaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvZ3NvbGNtbWFpbi5odG1sCmluZGV4IGI4NzhlMTAuLjUwN2E4OTAgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvZ3NvbGNtbWFpbi5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvZ3NvbGNtbWFpbi5odG1sCkBAIC0xLDQgKzEsMyBAQAotPCFET0NUWVBFIGh0bWw+DQogPCEtLQ0KIA0KICAgICBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCkBAIC0xNiwyMTUgKzE1LDI1MiBAQAogICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KIA0KIC0tPg0KKzwhRE9DVFlQRSBodG1sPg0KIDxodG1sIGxhbmc9ImVuIj4NCiA8aGVhZD4NCi0JPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KLQk8dGl0bGU+TGlmZWN5Y2xlIE1hbmFnZXI8L3RpdGxlPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jlc3QuanMiPjwvc2NyaXB0Pg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvZ3NvbGNtLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCi0JCXZhciBqc29uZGF0YSA9IFtdOw0KLQkJLy9qc29uZGF0YSA9IGxvYWROZURhdGEoKTsNCi0JCSQoJyNzYWknKS5ib290c3RyYXBUYWJsZSh7DQotCQkvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQotCQlkYXRhOiBqc29uZGF0YQ0KLQkJfSk7DQotCQluZXcgbGNtSGFuZGxlcigpOw0KLSAgICB9KTsNCisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKyAgICA8dGl0bGU+TGlmZWN5Y2xlIE1hbmFnZXI8L3RpdGxlPg0KKyAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICA8bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAtdGFibGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3Jlc3QuanMiPjwvc2NyaXB0Pg0KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4NCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvZ3NvbGNtLmpzIj48L3NjcmlwdD4NCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIHZhciBqc29uZGF0YSA9IFtdOw0KKyAgICAgICAgICAgIC8vanNvbmRhdGEgPSBsb2FkTmVEYXRhKCk7DQorICAgICAgICAgICAgJCgnI3NhaScpLmJvb3RzdHJhcFRhYmxlKHsNCisgICAgICAgICAgICAgICAgLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KKyAgICAgICAgICAgICAgICBkYXRhOiBqc29uZGF0YQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgIG5ldyBsY21IYW5kbGVyKCk7DQorICAgICAgICB9KTsNCiANCi0JZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgew0KLSAgICAgICAgcmV0dXJuIFsNCi0gICAgICAgICAgICAnPGltZyBjbGFzcz0ic2l0ZURlbGV0ZUltZyIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiBuYW1lPSJ0aXRsZSIgdGl0bGU9IkRlbGV0ZSIgLz4nDQotICAgICAgICBdLmpvaW4oJycpOw0KKyAgICAgICAgZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgew0KKyAgICAgICAgICAgIHJldHVybiBbDQorICAgICAgICAgICAgICAgICc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicNCisgICAgICAgICAgICBdLmpvaW4oJycpOw0KIA0KLSAgICB9DQotCSB3aW5kb3cub3BlcmF0ZUV2ZW50cyA9IHsNCi0gICAgICAgICAnY2xpY2sgLnNpdGVEZWxldGVJbWcnOiBmdW5jdGlvbiAoZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsNCi0gICAgICAgICAgICAgLy8gVE8gRE8gYWpleCBjYWxsIGZvciBkZWxldGUNCi0JCQkgdmFyIHJlc3VsdCA9IGRlbGV0ZU5lKHJvdy5pZCwgcm93KTsNCi0gICAgICAgICB9DQotICAgICB9Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7DQorICAgICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQorICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBkZWxldGVOZShyb3cuaWQsIHJvdyk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfTsNCiANCi0JPC9zY3JpcHQ+DQorICAgIDwvc2NyaXB0Pg0KIDwvaGVhZD4NCiA8Ym9keSBpZD0ib3Blbl9iYXNlX3NpdGVfY290ZW50Qm9keSIgY2xhc3M9ImNvdGVudEJvZHkgbmctc2NvcGUiPg0KLQk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+DQotCQk8aDM+IExpZmUgQ3ljbGUgTWFuYWdlciA8L2gzPg0KKzxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4NCisgICAgPGgzPiBMaWZlIEN5Y2xlIE1hbmFnZXIgPC9oMz4NCiANCi0JCTxkaXYgY2xhc3M9InVwbG9hZEJ0biI+DQotCQkgIDxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPg0KKyAgICA8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPg0KKyAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF91c2VySGVhZGVyIiBjbGFzcz0idXNlckhlYWRlciI+DQogICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiIHRhYmluZGV4PSIwIiBpZD0iZmFsc2UiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2NyZWF0ZSIgaWNvbi11cmw9Ii4vaW1hZ2VzL2FkZC5wbmciIGNscz0iZGVmYXVsdGJ1dHRvbiIgY2xpY2s9ImNsaWNrQWRkIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+DQotCQkJCQk8ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwgb3Blbm9CdXR0b25fSW1hZ2UiIGlkPSJmYWxzZV9idXR0b24iPg0KLQkJCQkJCTxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPg0KLQkJCQkJCTxzcGFuIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5DcmVhdGU8L3NwYW4+DQotCQkJCQkJPHNwYW4gY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPg0KLQkJCQkJPC9kaXY+DQotCQkJCTwvZGl2Pg0KLSAgICAgICAgICAgIDwvZGl2Pg0KLQkJICA8L2Rpdj4NCi0JCTwvZGl2Pg0KLQ0KLQkJPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KLQkJCTxkaXYgaWQ9ImljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Ij4NCi0gICAgICAgICAgICAgICAgPGRpdj4NCi0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQotICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9InNhaSIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IiBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGlkPSJzb3ZlcmxheVRhYmxlX3RoZWFkIiBjbGFzcz0ib3Blbm8tdGFibGUtdGhlYWQiPg0KLQkJCQkJCQkJPHRyIGNsYXNzPSJhY3RpdmUiPg0KLQkJCQkJCQkJCTwhLS08dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlOYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJCQkJCTxzcGFuIGlkPSJvdmVybGF5TmFtZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCI+U2VydmljZSBJRA0KLSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJPC9kaXY+DQotCQkJCQk8L3RoPi0tPg0KLQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJvdmVybGF5RGVzYyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQk8c3BhbiBpZD0ib3ZlcmxheURlc2Nfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNlcnZpY2UgIE5hbWUNCi0JCQkJCQkJPC9zcGFuPjwvZGl2PjwvdGg+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlUaGluY0NQRSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2PjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQk8c3BhbiBpZD0ib3ZlcmxheVRoaW5jQ1BFX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5UZW1wbGF0ZSBOYW1lDQotICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+PC90aD4NCi0JCQkJCTwhLS08dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlQb3J0VmxhbklEIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCTxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+PGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCTxzcGFuIGlkPSJvdmVybGF5UG9ydFZsYW5JRF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+U2VydmljZSBUeXBlDQotICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+PC90aD4gLS0+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlEQ05hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJPHNwYW4gaWQ9Im92ZXJsYXlEQ05hbWVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNlcnZpY2UgIEluc3RydWN0aW9uICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+PC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheVZQQyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2PjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkgICAgICA8c3BhbiBpZD0ib3ZlcmxheVZQQ19zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+Q3JlYXRlIFRpbWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCSAgIDwvZGl2Pg0KLQkJCQkJPC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheVZQQ0NJRFIiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlWUENDSURSX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5DcmVhdG9yDQotICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkgICA8L2Rpdj4NCi0JCQkJCTwvdGg+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlPcGVyYXRpb24iICBhbGlnbj0iY2VudGVyIiBkYXRhLWZvcm1hdHRlciA9ICJvcGVyYXRlRm9ybWF0dGVyIiBkYXRhLWV2ZW50cz0ib3BlcmF0ZUV2ZW50cyI+DQotCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQk8c3BhbiBpZD0icG9ydEFjdGlvbl9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWN0aW9uPC9zcGFuPg0KLQkJCQkJCTwvZGl2Pg0KLQkJCQkJPC90aD4NCi0JCQkJPC90cj48L3RoZWFkPg0KLQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vIG9wZW5vLXdpZGdldC1idXR0b24gb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50IG5nLWlzb2xhdGUtc2NvcGUgb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3MgZGVmYXVsdGJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25fZGVmYXVsdCINCisgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD0iMCIgaWQ9ImZhbHNlIiB0ZXh0PSJyZXMuYnJBcHBfdWlfcmVzX2J0bl9jcmVhdGUiIGljb24tdXJsPSIuL2ltYWdlcy9hZGQucG5nIg0KKyAgICAgICAgICAgICAgICAgICAgIGNscz0iZGVmYXVsdGJ1dHRvbiIgY2xpY2s9ImNsaWNrQWRkIg0KKyAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7Ij4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbklubmVyQ2xhc3Mgb3Blbm8tY29ybmVyLWFsbCBvcGVub0J1dHRvbl9JbWFnZSIgaWQ9ImZhbHNlX2J1dHRvbiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uTGVmdEltZyINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9hZGQucG5nKTsiPjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+Q3JlYXRlPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICA8L2Rpdj4NCi0JCTwvZGl2Pg0KLQkJPCEtLSA8ZGl2IGlkPSJ0cExpc3RvcGVub3RhYmxlX3BhZ2luYXRpb25fd3JhcHBlciIgY2xhc3M9Im9wZW5vLXRhYmxlLXBhZ2luYXRpb24td3JhcHBlciIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+PGRpdiBjbGFzcz0icGFnaW5hdGlvbi1jb250YWluZXIgb3Blbm8tcGFnaW5hdGlvbi10aGVtZSBvcGVuby1wYWdpbmF0aW9uIj48ZGl2IGNsYXNzPSJvcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9kaXYiPjxpbnB1dCByZWFkb25seT0idHJ1ZSIgY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IG9wZW5vcGFnaW5hdGlvbnNlbGVjdCIgdmFsdWU9IiIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9pbnB1dCIgYWN0dWFsdmFsPSIyMCIgc3R5bGU9IndpZHRoOiAzMnB4OyI+PHNwYW4gY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0c3BhbiBvcGVub3BhZ2luYXRpb25zZWxlY3RzcGFuIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3RyaWdnZXIiPjwvc3Bhbj48L2Rpdj48bGFiZWwgc3R5bGU9ImRpc3BsYXk6IGJsb2NrO2Zsb2F0OmxlZnQ7Ij5Ub3RhbCByZWNvcmRzOiAyMzwvbGFiZWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IHByZXYgb3Blbm8tZGlzYWJsZWQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcHJldiI+Jm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iYWN0aXZlIj48c3BhbiBjbGFzcz0iY3VycmVudCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMSI+MTwvc3Bhbj48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18yIj4yPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzMiPjM8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayBuZXh0IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX25leHQiPiZuYnNwOzwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+IC0tPg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KIA0KLQkJPGRpdiBpZD0idm1BcHBEaWFsb2ciIGNsYXNzPSJtb2RhbCBmYWRlIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyINCi0JCQkJYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQotCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQotCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCi0JCQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4NCi0JCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiDQotCQkJCQkgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj0idHJ1ZSI+w5cNCi0JCQkJCSAgICAgICAgICAgIDwvYnV0dG9uPg0KLQkJCQkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im15TW9kYWxMYWJlbCI+DQotCQkJCQkgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQotCQkJCQkgICAgICAgICAgICA8L2g0Pg0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9Im5lRm9ybSI+DQotCQkJCQkJCTxkaXYgaWQ9IndpemFyZCI+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPg0KLQkJCQkJCQkJPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIG5hdi1qdXN0aWZpZWQgdm1hcHAtbWFyZ2luIj4NCisgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KKyAgICAgICAgPGRpdiBpZD0iaWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYiPg0KKyAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQorICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9InNhaSIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGlkPSJzb3ZlcmxheVRhYmxlX3RoZWFkIiBjbGFzcz0ib3Blbm8tdGFibGUtdGhlYWQiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iYWN0aXZlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheU5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlOYW1lX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCBvcGVub1RhYmxlX3NvcnRhYmxlIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij5TZXJ2aWNlIElEDQorICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvdGg+LS0+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im92ZXJsYXlEZXNjIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQk8c3BhbiBpZD0ib3ZlcmxheURlc2Nfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNlcnZpY2UgIE5hbWUNCisJCQkJCQkJPC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvdmVybGF5VGhpbmNDUEUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQk8c3BhbiBpZD0ib3ZlcmxheVRoaW5jQ1BFX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VGVtcGxhdGUgTmFtZQ0KKyAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJvdmVybGF5UG9ydFZsYW5JRCIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+PGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlQb3J0VmxhbklEX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5TZXJ2aWNlIFR5cGUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PjwvdGg+IC0tPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvdmVybGF5RENOYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJvdmVybGF5RENOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNlcnZpY2UgIEluc3RydWN0aW9uICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ib3ZlcmxheVZQQyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCSAgICAgIDxzcGFuIGlkPSJvdmVybGF5VlBDX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+Q3JlYXRlIFRpbWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvdmVybGF5VlBDQ0lEUiIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCSAgICAgIDxzcGFuIGlkPSJvdmVybGF5VlBDQ0lEUl9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkNyZWF0b3INCisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvdmVybGF5T3BlcmF0aW9uIiBhbGlnbj0iY2VudGVyIiBkYXRhLWZvcm1hdHRlcj0ib3BlcmF0ZUZvcm1hdHRlciINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZXZlbnRzPSJvcGVyYXRlRXZlbnRzIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0QWN0aW9uX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFjdGlvbjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCiANCi0JCQkJCQkJCTwvdWw+DQotCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+DQotCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyI+DQotCQkJCQkJCQkJCTxsaSBjbGFzcz0iYWN0aXZlIj48YSBpZD0gImJhc2ljSW5mb1RhYiIgaHJlZj0iI2Jhc2ljVGFiIiBkYXRhLXRvZ2dsZT0idGFiIj5CYXNpYyBJbmZvPC9hPjwvbGk+DQotCQkJCQkJCQkJCTxsaSA+PGEgaWQ9InBhcmFtZXRlclRhYkhlYWRlciIgaHJlZj0iI3BhcmFtZXRlclRhYiIgZGF0YS10b2dnbGU9InRhYiI+VGVtcGxhdGUgUGFyYW1ldGVyczwvYT48L2xpPg0KLQkJCQkJCQkJCTwvdWw+DQotCQkJCQkJCQkJPGRpdiBpZD0ibXlUYWJDb250ZW50IiBjbGFzcz0idGFiLWNvbnRlbnQiID4NCi0JIAkJCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KLQkJCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQotCQkJCQkJCQkJCQkJCTxzcGFuPlNlcnZpY2UgTmFtZTwvc3Bhbj4NCi0JCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KLQkJCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN2Y05hbWUiIG5hbWU9InN2Y05hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJTZXJ2aWNlIE5hbWUiLz4NCi0JCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQkJPHNwYW4+U2VydmljZSAgRGVzY3JpcHRpb248L3NwYW4+Jm5ic3A7Jm5ic3A7Jm5ic3A7DQotCQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCSAJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN2Y0Rlc2MiIG5hbWU9InN2Y0Rlc2MiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJTZXJ2aWNlICBEZXNjcmlwdGlvbiIvPg0KLQkJCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCi0JCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCQk8c3Bhbj5TZXJ2aWNlIFRlbXBsYXRlPC9zcGFuPg0KLQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQotCQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJCTxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgc3R5bGUgPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IiBpZD0ic3ZjVGVtcGwiDQotCQkJCQkJCQkJCQkJCSAgICAgICAgbmFtZT0ic3ZjVGVtcGwiPg0KLQkJCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iMS4xIj4xLjE8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9IjEuMiI+MS4yPC9vcHRpb24+DQotCQkJCQkJCQkJCQkJCTwvc2VsZWN0Pg0KLQkJCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCSAgCTxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0icGFyYW1ldGVyVGFiIj4NCisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKyAgICA8IS0tIDxkaXYgaWQ9InRwTGlzdG9wZW5vdGFibGVfcGFnaW5hdGlvbl93cmFwcGVyIiBjbGFzcz0ib3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWNvbnRhaW5lciBvcGVuby1wYWdpbmF0aW9uLXRoZW1lIG9wZW5vLXBhZ2luYXRpb24iPjxkaXYgY2xhc3M9Im9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2RpdiI+PGlucHV0IHJlYWRvbmx5PSJ0cnVlIiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3Qgb3Blbm9wYWdpbmF0aW9uc2VsZWN0IiB2YWx1ZT0iIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2lucHV0IiBhY3R1YWx2YWw9IjIwIiBzdHlsZT0id2lkdGg6IDMycHg7Ij48c3BhbiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIG9wZW5vcGFnaW5hdGlvbnNlbGVjdHNwYW4iIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfdHJpZ2dlciI+PC9zcGFuPjwvZGl2PjxsYWJlbCBzdHlsZT0iZGlzcGxheTogYmxvY2s7ZmxvYXQ6bGVmdDsiPlRvdGFsIHJlY29yZHM6IDIzPC9sYWJlbD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQgcHJldiBvcGVuby1kaXNhYmxlZCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wcmV2Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18xIj4xPC9zcGFuPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzIiPjI8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMyI+MzwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIG5leHQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfbmV4dCI+Jm5ic3A7PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj4gLS0+DQogDQotCQkJCQkJCQkJICAJPC9kaXY+DQotCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQotCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBTREJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJjcmVhdGVOUyI+DQotCQkJCQkJCQkJPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtY2FuY2VsQnRuIj5PSzwvc3Bhbj4NCi0JCQkJCQkJCTwvYnV0dG9uPg0KLQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnV0dG9uLXByZXZpb3VzIFNEQnRuIj4NCi0JCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1wcmV2aW91c0J0biI+Q2FuY2VsPC9zcGFuPg0KLQkJCQkJCQkJPC9idXR0b24+DQorICAgIDxkaXYgaWQ9InZtQXBwRGlhbG9nIiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciDQorICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7Dlw0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9Im5lRm9ybSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2l6YXJkIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPg0KIA0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Zvcm0+DQotCQkJCQk8L2Rpdj4NCi0JCQkJPC9kaXY+DQotCQkJPC9kaXY+DQotCQk8L2Rpdj4NCi0JPC9kaXY+DQotCTxkaXYgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyIiBjbGFzcz0ib3Blbm8gb3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciBvcGVuby1oaWRlIiBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij4NCi0JPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPg0KLQk8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzIG9wZW5vLXNlbGVjdC1ibGFuay1pdGVtIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPg0KLQk8L2Rpdj4NCi0JPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzEiPg0KLQk8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+RVRIPC9sYWJlbD4NCi0JPC9kaXY+DQotCTxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8yIj4NCi0JPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiIHRpdGxlPSJQT1MiPlBPUzwvbGFiZWw+DQotCTwvZGl2Pg0KLQk8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+DQotCTxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+DQotCTwvZGl2Pg0KLQk8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfNCI+DQotCTxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5Mb29wYmFjazwvbGFiZWw+DQotCTwvZGl2Pg0KLQk8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjdGl2ZSI+PGEgaWQ9ImJhc2ljSW5mb1RhYiIgaHJlZj0iI2Jhc2ljVGFiIiBkYXRhLXRvZ2dsZT0idGFiIj5CYXNpYw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5mbzwvYT48L2xpPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaWQ9InBhcmFtZXRlclRhYkhlYWRlciIgaHJlZj0iI3BhcmFtZXRlclRhYiIgZGF0YS10b2dnbGU9InRhYiI+VGVtcGxhdGUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlcnM8L2E+PC9saT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im15VGFiQ29udGVudCIgY2xhc3M9InRhYi1jb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgYWN0aXZlIiBpZD0iYmFzaWNUYWIiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2VydmljZSBOYW1lPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic3ZjTmFtZSIgbmFtZT0ic3ZjTmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZXJ2aWNlIE5hbWUiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2VydmljZSAgRGVzY3JpcHRpb248L3NwYW4+Jm5ic3A7Jm5ic3A7Jm5ic3A7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic3ZjRGVzYyIgbmFtZT0ic3ZjRGVzYyIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZXJ2aWNlICBEZXNjcmlwdGlvbiIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5TZXJ2aWNlIFRlbXBsYXRlPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy10b3A6IDBweDtwYWRkaW5nLWJvdHRvbTogMHB4OyIgaWQ9InN2Y1RlbXBsIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InN2Y1RlbXBsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEuMSI+MS4xPC9vcHRpb24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxLjIiPjEuMjwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUiIGlkPSJwYXJhbWV0ZXJUYWIiPg0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIFNEQnRuIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImNyZWF0ZU5TIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCisNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+DQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKzwvZGl2Pg0KKzxkaXYgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyIiBjbGFzcz0ib3Blbm8gb3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciBvcGVuby1oaWRlIg0KKyAgICAgc3R5bGU9IndpZHRoOiAxNTVweDsgbWF4LWhlaWdodDogMTMwcHg7IGxlZnQ6IDYyOHB4OyB0b3A6IDEwNHB4OyB6LWluZGV4OiAxNzYxOyI+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8wIj4NCisgICAgICAgIDxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgb3Blbm8tc2VsZWN0LWJsYW5rLWl0ZW0iDQorICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+PC9sYWJlbD4NCisgICAgPC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8xIj4NCisgICAgICAgIDxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5FVEg8L2xhYmVsPg0KKyAgICA8L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzIiPg0KKyAgICAgICAgPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiIHRpdGxlPSJQT1MiPlBPUzwvbGFiZWw+DQorICAgIDwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+DQorICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+VHJ1bms8L2xhYmVsPg0KKyAgICA8L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzQiPg0KKyAgICAgICAgPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkxvb3BiYWNrPC9sYWJlbD4NCisgICAgPC9kaXY+DQorPC9kaXY+DQogDQogDQogPC9ib2R5Pg0KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvYnJzLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy9icnMuanMKaW5kZXggZTk3NWY2Yy4uNWJkYzZiYSAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy9icnMuanMKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy9icnMuanMKQEAgLTEzLDMzMSArMTMsMzMxIEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAgKi8NCiANCi0gDQotJCgnLnNpdGVEZWxldGVJbWcnKS5jbGljayhmdW5jdGlvbigpew0KLQl2YXIgZGF0YSA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgndGQ6bGFzdCcpLmZpbmQoJ2RpdjpsYXN0JykuaHRtbCgpOw0KLQlhbGVydChkYXRhKTsNCi0JdmFyIGpzb25PYmogPSBKU09OLnBhcnNlKGRhdGEpOw0KLQlmb3IodmFyIGkgPSAwOyBpIDwganNvbk9iai5sZW5ndGg7IGkrKykgew0KLQkgICAgdmFyIG9iaiA9IGpzb25PYmpbaV07DQotCQl2YXIgcm93RGF0YSA9IFtvYmoudHBOYW1lLG9iai5wZU5hbWUsb2JqLnZsYW5JZCxvYmouc2l0ZUNpZHIsb2JqLmlwXTsNCi0JCSQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuRGF0YVRhYmxlKCk7DQotCQkkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShyb3dEYXRhKTsNCi0JfQ0KKw0KKyQoJy5zaXRlRGVsZXRlSW1nJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICB2YXIgZGF0YSA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgndGQ6bGFzdCcpLmZpbmQoJ2RpdjpsYXN0JykuaHRtbCgpOw0KKyAgICBhbGVydChkYXRhKTsNCisgICAgdmFyIGpzb25PYmogPSBKU09OLnBhcnNlKGRhdGEpOw0KKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGpzb25PYmoubGVuZ3RoOyBpKyspIHsNCisgICAgICAgIHZhciBvYmogPSBqc29uT2JqW2ldOw0KKyAgICAgICAgdmFyIHJvd0RhdGEgPSBbb2JqLnRwTmFtZSwgb2JqLnBlTmFtZSwgb2JqLnZsYW5JZCwgb2JqLnNpdGVDaWRyLCBvYmouaXBdOw0KKyAgICAgICAgJCgnI3VuZGVybGF5VHBEYXRhVGFibGUnKS5EYXRhVGFibGUoKTsNCisgICAgICAgICQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuZGF0YVRhYmxlKCkuZm5BZGREYXRhKHJvd0RhdGEpOw0KKyAgICB9DQogfSk7DQogDQogDQotZnVuY3Rpb24gZGVsZXRlU2l0ZShvYmplY3RJZCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcy8iK29iamVjdElkOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiREVMRVRFIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJJCgnI3NpdGUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KLQkJICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCi0JCSAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQkJYWxlcnQoIkRlbGV0ZSBTaXRlIHN1Y2Nlc3NmdWxsICEhISIpOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgc2l0ZTogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KK2Z1bmN0aW9uIGRlbGV0ZVNpdGUob2JqZWN0SWQpIHsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvc2l0ZXMvIiArIG9iamVjdElkOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkRFTEVURSIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgJCgnI3NpdGUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KKyAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdpZCcsDQorICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtvYmplY3RJZF0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJEZWxldGUgU2l0ZSBzdWNjZXNzZnVsbCAhISEiKTsNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIHNpdGU6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCiB9DQotZnVuY3Rpb24gZGVsZXRlTGluayhvYmplY3RJZCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcy8iK29iamVjdElkOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiREVMRVRFIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJJCgnI2xpbmsnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KLQkJICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCi0JCSAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQkJYWxlcnQoIkRlbGV0ZSBMaW5rIHN1Y2Nlc3NmdWxsICEhISIpOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgbGluayA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCitmdW5jdGlvbiBkZWxldGVMaW5rKG9iamVjdElkKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL3RvcG9sb2dpY2FsLWxpbmtzLyIgKyBvYmplY3RJZDsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJERUxFVEUiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICQoJyNsaW5rJykuYm9vdHN0cmFwVGFibGUoJ3JlbW92ZScsIHsNCisgICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaWQnLA0KKyAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICBhbGVydCgiRGVsZXRlIExpbmsgc3VjY2Vzc2Z1bGwgISEhIik7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBsaW5rIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KIH0NCiANCi1mdW5jdGlvbiBkZWxldGVOZShvYmplY3RJZCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzLyIrb2JqZWN0SWQ7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJERUxFVEUiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjbmUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KLQkJICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCi0JCSAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQkJYWxlcnQoIkRlbGV0ZSBORSBzdWNjZXNzZnVsbCAhISEiKTsNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIG5lIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KK2Z1bmN0aW9uIGRlbGV0ZU5lKG9iamVjdElkKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL21hbmFnZWQtZWxlbWVudHMvIiArIG9iamVjdElkOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkRFTEVURSIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgJCgnI25lJykuYm9vdHN0cmFwVGFibGUoJ3JlbW92ZScsIHsNCisgICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaWQnLA0KKyAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgICAgICBhbGVydCgiRGVsZXRlIE5FIHN1Y2Nlc3NmdWxsICEhISIpOw0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgbmUgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KIA0KLWZ1bmN0aW9uIGRlbGV0ZVBvcnQob2JqZWN0SWQpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMvIitvYmplY3RJZDsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIkRFTEVURSIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCQkJCSQoJyNwb3J0JykuYm9vdHN0cmFwVGFibGUoJ3JlbW92ZScsIHsNCi0JCSAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdpZCcsDQotCQkgICAgICAgICAgICAgICAgICAgIHZhbHVlczogW29iamVjdElkXQ0KLQkJICAgICAgICAgICAgICAgIH0pOw0KLQkJCQkJCWFsZXJ0KCJEZWxldGUgUG9ydCBzdWNjZXNzZnVsbCAhISEiKTsNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIHBvcnQgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQorZnVuY3Rpb24gZGVsZXRlUG9ydChvYmplY3RJZCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9sb2dpY2FsLXRlcm1pbmF0aW9uLXBvaW50cy8iICsgb2JqZWN0SWQ7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjcG9ydCcpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7DQorICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlczogW29iamVjdElkXQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkRlbGV0ZSBQb3J0IHN1Y2Nlc3NmdWxsICEhISIpOw0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgcG9ydCA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCiB9DQotZnVuY3Rpb24gbG9hZFNpdGVEYXRhKCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJHRVQiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjc2l0ZScpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCQkgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai5zaXRlcw0KLQkJICAgICAgICAgICAgICAgIH0pOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBzaXRlIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQorZnVuY3Rpb24gbG9hZFNpdGVEYXRhKCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcyI7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiR0VUIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjc2l0ZScpLmJvb3RzdHJhcFRhYmxlKHsNCisgICAgICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmouc2l0ZXMNCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCiB9DQotZnVuY3Rpb24gbG9hZExpbmtEYXRhKCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJHRVQiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCQkgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai50b3BvbG9naWNhbExpbmtzDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIGxpbmsgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCitmdW5jdGlvbiBsb2FkTGlua0RhdGEoKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL3RvcG9sb2dpY2FsLWxpbmtzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICQoJyNsaW5rJykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai50b3BvbG9naWNhbExpbmtzDQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBsaW5rIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KLWZ1bmN0aW9uIGxvYWROZURhdGEoKXsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL21hbmFnZWQtZWxlbWVudHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiR0VUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJJCgnI25lJykuYm9vdHN0cmFwVGFibGUoew0KLQkJCSAgICAgICAgICAgICAgICBkYXRhOiBqc29ub2JqLm1hbmFnZWRFbGVtZW50cw0KLQkJICAgICAgICAgICAgICAgIH0pOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBuZSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KK2Z1bmN0aW9uIGxvYWROZURhdGEoKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL21hbmFnZWQtZWxlbWVudHMiOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkdFVCIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgJCgnI25lJykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai5tYW5hZ2VkRWxlbWVudHMNCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIG5lIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KLWZ1bmN0aW9uIGxvYWRQb3J0RGF0YSgpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiR0VUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJJCgnI3BvcnQnKS5ib290c3RyYXBUYWJsZSh7DQotCQkgICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmoubG9naWNhbFRlcm1pbmF0aW9uUG9pbnRzDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHBvcnQgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCitmdW5jdGlvbiBsb2FkUG9ydERhdGEoKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL2xvZ2ljYWwtdGVybWluYXRpb24tcG9pbnRzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICQoJyNwb3J0JykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai5sb2dpY2FsVGVybWluYXRpb25Qb2ludHMNCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHBvcnQgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCiB9DQotJChmdW5jdGlvbigpew0KLQkJCSQoJy5jcmVhdC1idG4nKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeydkaXNwbGF5JzonYmxvY2snfSk7DQotCQkJCQ0KLQkJCX0pOw0KLQkJCSQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQkJCX0pOw0KLQkJCSQoJy5kZXRhaWwtdG9wIHVsIGxpJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsNCi0JCQl9KTsNCi0JCQkkKCcucGFyYScpLmNsaWNrKGZ1bmN0aW9uKCl7CQkJCQ0KLQkJCQlpZigkKCcjc2VydmljZVRlbXBsYXRlTmFtZScpLnZhbCgpID09ICcnKXsNCi0JCQkJCWFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsNCi0JCQkJCSQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJCX1lbHNlew0KLQkJCQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsJ2Jsb2NrJyk7DQotCQkJCX0NCi0JCQkJJCgnI2Jhc2ljVGFiJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCi0JCQl9KTsNCi0JCQkkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQkJCX0pOw0KLQkJCQ0KLQkJCSQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsNCi0JCQl9KTsNCi0JCQkkKCcudGFibGUgdHI6b2RkJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KLQkJCSQoJyNmYWxzZScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOidibG9jayd9KTsNCi0JCQl9KTsNCi0JCQkkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQl9KTsNCi0JCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKCdvcGVuby1oaWRlJyk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykudG9nZ2xlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7DQotCQkJCXZhciBvTGVmdCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLm9mZnNldCgpLmxlZnQ7DQotCQkJdmFyIG9Ub3AgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS50b3A7DQotCQkJdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsNCi0JCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5jc3MoeydsZWZ0JzpvTGVmdCwndG9wJzpvVG9wICsgb0hlaWdodCArIDEwfSk7DQotCQkJfSk7DQotCQkJJCgnZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtPmxhYmVsJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIEx2YWx1ZSA9ICQodGhpcykuaHRtbCgpOw0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfaW5wdXQnKS5hdHRyKCd2YWx1ZScsTHZhbHVlKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuYWRkQ2xhc3MoJ29wZW5vLWhpZGUnKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5yZW1vdmVDbGFzcygnb3Blbm8tZm9jdXMnKTsNCi0JCQl9KTsNCi0JCQkkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uKCkgew0KLQkJCQl2YXIgbyA9IHt9Ow0KLQkJCQl2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsNCi0JCQkJJC5lYWNoKGEsIGZ1bmN0aW9uKCkgew0KLQkJCQkJaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7DQotCQkJCQkJaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgew0KLQkJCQkJCQlvW3RoaXMubmFtZV0gPSBbIG9bdGhpcy5uYW1lXSBdOw0KLQkJCQkJCX0NCi0JCQkJCW9bdGhpcy5uYW1lXS5wdXNoKHRoaXMudmFsdWUgfHwgJycpOw0KLQkJCQkJfSBlbHNlIHsNCi0JCQkJCQlvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQlyZXR1cm4gbzsNCi0JCQl9Ow0KLQkJCSQoJyNjcmVhdGVTaXRlJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI3ZtQXBwRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCSAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIG5ld0pzb24gPSB7InNpdGUiOiBqc29ub2JqfTsNCi0JCSAgICAgICAgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeShuZXdKc29uKTsNCi0JCSAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL3NpdGVzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIlBPU1QiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJZGF0YVR5cGUgOiAianNvbiIsDQotCQkJCQlkYXRhIDogZm9ybURhdGEsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsNCi0JCQkJCQlhbGVydCgiU2l0ZSBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQlqc29ub2JqWyJpZCJdPSBqc29uUmVzcC5zaXRlLmlkOw0KLQkJCQkJCSQoJyNzaXRlJykuYm9vdHN0cmFwVGFibGUoImFwcGVuZCIsIGpzb25vYmopOw0KLQkJCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQotCQkJfSk7DQotCQkJDQotCQkJJCgnI2NyZWF0ZU5lJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI25lRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCQkJdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIG5ld0pzb24gPSB7Im1hbmFnZWRFbGVtZW50IjoganNvbm9ian07DQotCQkgICAgICAgIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkobmV3SnNvbik7DQotCQkgICAgICAgIHZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIlBPU1QiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJZGF0YVR5cGUgOiAianNvbiIsDQotCQkJCQlkYXRhIDogZm9ybURhdGEsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsNCi0JCQkJCQlhbGVydCgiTkUgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQotCQkJCQkJanNvbm9ialsiaWQiXT0ganNvblJlc3AubWFuYWdlZEVsZW1lbnQuaWQ7DQotCQkJCQkJJCgnI25lJykuYm9vdHN0cmFwVGFibGUoImFwcGVuZCIsIGpzb25vYmopOw0KLQkJCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCiskKGZ1bmN0aW9uICgpIHsNCisgICAgJCgnLmNyZWF0LWJ0bicpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOiAnYmxvY2snfSk7DQogDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLQkJCX0pOw0KLQkJCQ0KLQkJCSQoJyNjcmVhdGVQb3J0JykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI3BvcnRGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KLQkJCQl2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KLQkJICAgICAgICB2YXIgbmV3SnNvbiA9IHsibG9naWNhbFRlcm1pbmF0aW9uUG9pbnQiOiBqc29ub2JqfTsNCi0JCSAgICAgICAgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeShuZXdKc29uKTsNCi0JCSAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL2xvZ2ljYWwtdGVybWluYXRpb24tcG9pbnRzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIlBPU1QiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJZGF0YVR5cGUgOiAianNvbiIsDQotCQkJCQlkYXRhIDogZm9ybURhdGEsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsNCi0JCQkJCQlhbGVydCgiUG9ydCBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQkvL1RPRE8gOiBoaWRlIG1vZGVsIGRhdGEgd2luZG93Lg0KLQkJCQkJCWpzb25vYmpbImlkIl09IGpzb25SZXNwLmxvZ2ljYWxUZXJtaW5hdGlvblBvaW50LmlkOw0KLQkJCQkJCSQoJyNwb3J0JykuYm9vdHN0cmFwVGFibGUoImFwcGVuZCIsIGpzb25vYmopOw0KLQkJCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCisgICAgfSk7DQorICAgICQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgfSk7DQorICAgICQoJy5kZXRhaWwtdG9wIHVsIGxpJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsNCisgICAgfSk7DQorICAgICQoJy5wYXJhJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgaWYgKCQoJyNzZXJ2aWNlVGVtcGxhdGVOYW1lJykudmFsKCkgPT0gJycpIHsNCisgICAgICAgICAgICBhbGVydCgnUGxlYXNlIGNob29zZSB0aGUgc2VydmljZSB0ZW1wbGV077yBJyk7DQorICAgICAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsNCisgICAgICAgIH0NCisgICAgICAgICQoJyNiYXNpY1RhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICB9KTsNCisgICAgJCgnLmJhc2ljJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgIH0pOw0KIA0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQl9KTsNCi0JCQkNCi0JCQkkKCcjY3JlYXRlTGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCXZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNsaW5rRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCQkJdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIG5ld0pzb24gPSB7InRvcG9sb2dpY2FsTGluayI6IGpzb25vYmp9Ow0KLQkJICAgICAgICBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KLQkJICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvdG9wb2xvZ2ljYWwtbGlua3MiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJCWRhdGEgOiBmb3JtRGF0YSwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgew0KLQkJCQkJCWFsZXJ0KCJMaW5rIHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KLQkJCQkJCWpzb25vYmpbImlkIl09IGpzb25SZXNwLnRvcG9sb2dpY2FsTGluay5pZDsNCi0JCQkJCQkkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKCJhcHBlbmQiLCBqc29ub2JqKTsNCi0JCQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJCQkJDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLQkJCX0pOw0KLQkJCQ0KLQkJfSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAgJCgnLnRhYmxlIHRib2R5IHRyJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdvcGVub1RhYmxlX3Jvd19zZWxlY3RlZCcpOw0KKyAgICB9KTsNCisgICAgJCgnLnRhYmxlIHRyOm9kZCcpLmFkZENsYXNzKCdhY3RpdmUnKTsNCisgICAgJCgnI2ZhbHNlJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsnZGlzcGxheSc6ICdibG9jayd9KTsNCisgICAgfSk7DQorICAgICQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgfSk7DQorICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykudG9nZ2xlQ2xhc3MoJ29wZW5vLWhpZGUnKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykudG9nZ2xlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7DQorICAgICAgICB2YXIgb0xlZnQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS5sZWZ0Ow0KKyAgICAgICAgdmFyIG9Ub3AgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS50b3A7DQorICAgICAgICB2YXIgb0hlaWdodCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLmhlaWdodCgpOw0KKyAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuY3NzKHsnbGVmdCc6IG9MZWZ0LCAndG9wJzogb1RvcCArIG9IZWlnaHQgKyAxMH0pOw0KKyAgICB9KTsNCisgICAgJCgnZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtPmxhYmVsJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIEx2YWx1ZSA9ICQodGhpcykuaHRtbCgpOw0KKyAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X2lucHV0JykuYXR0cigndmFsdWUnLCBMdmFsdWUpOw0KKyAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuYWRkQ2xhc3MoJ29wZW5vLWhpZGUnKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykucmVtb3ZlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7DQorICAgIH0pOw0KKyAgICAkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBvID0ge307DQorICAgICAgICB2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsNCisgICAgICAgICQuZWFjaChhLCBmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7DQorICAgICAgICAgICAgICAgIGlmICghb1t0aGlzLm5hbWVdLnB1c2gpIHsNCisgICAgICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXSA9IFtvW3RoaXMubmFtZV1dOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXS5wdXNoKHRoaXMudmFsdWUgfHwgJycpOw0KKyAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXSA9IHRoaXMudmFsdWUgfHwgJyc7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQorICAgICAgICByZXR1cm4gbzsNCisgICAgfTsNCisgICAgJCgnI2NyZWF0ZVNpdGUnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdm1BcHBGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KKyAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCisgICAgICAgIHZhciBuZXdKc29uID0geyJzaXRlIjoganNvbm9ian07DQorICAgICAgICBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KKyAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvc2l0ZXMiOw0KKyAgICAgICAgJA0KKyAgICAgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLA0KKyAgICAgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJTaXRlIHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KKyAgICAgICAgICAgICAgICAgICAganNvbm9ialsiaWQiXSA9IGpzb25SZXNwLnNpdGUuaWQ7DQorICAgICAgICAgICAgICAgICAgICAkKCcjc2l0ZScpLmJvb3RzdHJhcFRhYmxlKCJhcHBlbmQiLCBqc29ub2JqKTsNCisgICAgICAgICAgICAgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorICAgIH0pOw0KKw0KKyAgICAkKCcjY3JlYXRlTmUnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjbmVGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KKyAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCisgICAgICAgIHZhciBuZXdKc29uID0geyJtYW5hZ2VkRWxlbWVudCI6IGpzb25vYmp9Ow0KKyAgICAgICAgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeShuZXdKc29uKTsNCisgICAgICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL21hbmFnZWQtZWxlbWVudHMiOw0KKyAgICAgICAgJA0KKyAgICAgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLA0KKyAgICAgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJORSBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgICAgIGpzb25vYmpbImlkIl0gPSBqc29uUmVzcC5tYW5hZ2VkRWxlbWVudC5pZDsNCisgICAgICAgICAgICAgICAgICAgICQoJyNuZScpLmJvb3RzdHJhcFRhYmxlKCJhcHBlbmQiLCBqc29ub2JqKTsNCisgICAgICAgICAgICAgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorDQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorICAgIH0pOw0KKw0KKyAgICAkKCcjY3JlYXRlUG9ydCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNwb3J0Rm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCisgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQorICAgICAgICB2YXIgbmV3SnNvbiA9IHsibG9naWNhbFRlcm1pbmF0aW9uUG9pbnQiOiBqc29ub2JqfTsNCisgICAgICAgIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkobmV3SnNvbik7DQorICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9sb2dpY2FsLXRlcm1pbmF0aW9uLXBvaW50cyI7DQorICAgICAgICAkDQorICAgICAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQorICAgICAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YTogZm9ybURhdGEsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgew0KKyAgICAgICAgICAgICAgICAgICAgYWxlcnQoIlBvcnQgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgICAgICAvL1RPRE8gOiBoaWRlIG1vZGVsIGRhdGEgd2luZG93Lg0KKyAgICAgICAgICAgICAgICAgICAganNvbm9ialsiaWQiXSA9IGpzb25SZXNwLmxvZ2ljYWxUZXJtaW5hdGlvblBvaW50LmlkOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnI3BvcnQnKS5ib290c3RyYXBUYWJsZSgiYXBwZW5kIiwganNvbm9iaik7DQorICAgICAgICAgICAgICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisNCisgICAgJCgnI2NyZWF0ZUxpbmsnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjbGlua0Zvcm0iKS5zZXJpYWxpemVPYmplY3QoKSk7DQorICAgICAgICB2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KKyAgICAgICAgdmFyIG5ld0pzb24gPSB7InRvcG9sb2dpY2FsTGluayI6IGpzb25vYmp9Ow0KKyAgICAgICAgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeShuZXdKc29uKTsNCisgICAgICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL3RvcG9sb2dpY2FsLWxpbmtzIjsNCisgICAgICAgICQNCisgICAgICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwNCisgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwNCisgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25SZXNwKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiTGluayBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgICAgIGpzb25vYmpbImlkIl0gPSBqc29uUmVzcC50b3BvbG9naWNhbExpbmsuaWQ7DQorICAgICAgICAgICAgICAgICAgICAkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKCJhcHBlbmQiLCBqc29ub2JqKTsNCisgICAgICAgICAgICAgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorDQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorICAgIH0pOw0KKw0KK30pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy9nc29sY20uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL2dzb2xjbS5qcwppbmRleCBkMTdkOWYzLi5mMDA2OWNkIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL2dzb2xjbS5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL2dzb2xjbS5qcwpAQCAtMTQsNDA4ICsxNCw0MDggQEAKICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogICovCiB2YXIgdGVtcGxhdGVQYXJhbWV0ZXJzID0gewotICB0ZW1wbGF0ZU5hbWU6ICcnLAotICBwYXJhbWV0ZXJzOiBbXQorICAgIHRlbXBsYXRlTmFtZTogJycsCisgICAgcGFyYW1ldGVyczogW10KIH07CiAKIHZhciBzZXJ2aWNlX2luc3RhbmNlX2luc2VydF9pbmRleCA9IDA7CiAKLXZhciBsY21IYW5kbGVyID0gZnVuY3Rpb24oKXsKLSAgdGhpcy5fYWRkT3duRXZlbnRzKCk7Cit2YXIgbGNtSGFuZGxlciA9IGZ1bmN0aW9uICgpIHsKKyAgICB0aGlzLl9hZGRPd25FdmVudHMoKTsKIH07CiAKIGxjbUhhbmRsZXIucHJvdG90eXBlID0gewotICBfYWRkT3duRXZlbnRzIDogZnVuY3Rpb24gKCkgewotICAgICQoJ2FbZGF0YS10b2dnbGU9InRhYiJdJykub24oJ3Nob3cuYnMudGFiJywgdGhpcy5iZWZvcmVQYXJhbWV0ZXJUYWJTaG93KTsKLSAgICAkKCcjY3JlYXRlTlMnKS5jbGljayh0aGlzLm9rQWN0aW9uKTsKLSAgfSwKLSAgYmVmb3JlUGFyYW1ldGVyVGFiU2hvdyA6IGZ1bmN0aW9uIChldmVudCkgewotICAgIHJlbmRlclRlbXBsYXRlUGFyYW1ldGVyc1RhYigpOwotICB9LAotICBva0FjdGlvbiA6IGZ1bmN0aW9uIChldmVudCkgewotICAgIHZhciBzZXJ2aWNlSW5zdGFuY2UgPSB7Ci0gICAgICBzZXJ2aWNlVGVtcGxhdGVJZDogJCgnI3N2Y1RlbXBsJykudmFsKCksCi0gICAgICBzZXJ2aWNlTmFtZTogJCgnI3N2Y05hbWUnKS52YWwoKSwKLSAgICAgIHNlcnZpY2VEZXNjcmlwdGlvbjogJCgnI3N2Y0Rlc2MnKS52YWwoKSwKLSAgICAgIHNlcnZpY2VQYXJhbWV0ZXJzOiBjb2xsZWN0U2VydmljZVBhcmFtZXRlcnModGVtcGxhdGVQYXJhbWV0ZXJzKSwKLSAgICAgIHZpbUxvY2F0aW9uOiAkKCcjdmltX2xvY2F0aW9uJykudmFsKCkKKyAgICBfYWRkT3duRXZlbnRzOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICQoJ2FbZGF0YS10b2dnbGU9InRhYiJdJykub24oJ3Nob3cuYnMudGFiJywgdGhpcy5iZWZvcmVQYXJhbWV0ZXJUYWJTaG93KTsKKyAgICAgICAgJCgnI2NyZWF0ZU5TJykuY2xpY2sodGhpcy5va0FjdGlvbik7CisgICAgfSwKKyAgICBiZWZvcmVQYXJhbWV0ZXJUYWJTaG93OiBmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgcmVuZGVyVGVtcGxhdGVQYXJhbWV0ZXJzVGFiKCk7CisgICAgfSwKKyAgICBva0FjdGlvbjogZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgICAgIHZhciBzZXJ2aWNlSW5zdGFuY2UgPSB7CisgICAgICAgICAgICBzZXJ2aWNlVGVtcGxhdGVJZDogJCgnI3N2Y1RlbXBsJykudmFsKCksCisgICAgICAgICAgICBzZXJ2aWNlTmFtZTogJCgnI3N2Y05hbWUnKS52YWwoKSwKKyAgICAgICAgICAgIHNlcnZpY2VEZXNjcmlwdGlvbjogJCgnI3N2Y0Rlc2MnKS52YWwoKSwKKyAgICAgICAgICAgIHNlcnZpY2VQYXJhbWV0ZXJzOiBjb2xsZWN0U2VydmljZVBhcmFtZXRlcnModGVtcGxhdGVQYXJhbWV0ZXJzKSwKKyAgICAgICAgICAgIHZpbUxvY2F0aW9uOiAkKCcjdmltX2xvY2F0aW9uJykudmFsKCkKKyAgICAgICAgfQorICAgICAgICB2YXIgZ2F0ZXdheVNlcnZpY2UgPSAnL29wZW5vYXBpL3NlcnZpY2VnYXRld2F5L3YxL3NlcnZpY2VzJzsKKyAgICAgICAgdmFyIHNlcnZpY2VUZW1wbGF0ZSA9IGZldGNoU2VydmljZVRlbXBsYXRlQnkoc2VydmljZUluc3RhbmNlLnNlcnZpY2VUZW1wbGF0ZUlkKTsKKyAgICAgICAgaWYgKHNlcnZpY2VUZW1wbGF0ZSA9PT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ0dTQVInKSB7CisgICAgICAgICAgICBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZUluc3RhbmNlSWQgPSBjcmVhdGVHc29TZXJ2aWNlSW5zdGFuY2UoZ2F0ZXdheVNlcnZpY2UsIHNlcnZpY2VJbnN0YW5jZSk7CisgICAgICAgIH0gZWxzZSBpZiAoc2VydmljZVRlbXBsYXRlLmNzYXJUeXBlID09PSAnTlNBUicgfHwgc2VydmljZVRlbXBsYXRlLmNzYXJUeXBlID09PSAnTkZBUicpIHsKKyAgICAgICAgICAgIHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlSW5zdGFuY2VJZCA9IGNyZWF0ZU5mdm9TZXJ2aWNlSW5zdGFuY2UoZ2F0ZXdheVNlcnZpY2UsIHNlcnZpY2VJbnN0YW5jZSk7CisgICAgICAgIH0gZWxzZSBpZiAoc2VydmljZVRlbXBsYXRlLmNzYXJUeXBlID09PSAnU1NBUicpIHsKKyAgICAgICAgICAgIHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlSW5zdGFuY2VJZCA9IGNyZWF0ZVNkbm9TZXJ2aWNlSW5zdGFuY2UoZ2F0ZXdheVNlcnZpY2UsIHNlcnZpY2VJbnN0YW5jZSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlSW5zdGFuY2VJZCA9PT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdXBkYXRlVGFibGUoc2VydmljZUluc3RhbmNlKTsKICAgICB9Ci0gICAgdmFyIGdhdGV3YXlTZXJ2aWNlID0gJy9vcGVub2FwaS9zZXJ2aWNlZ2F0ZXdheS92MS9zZXJ2aWNlcyc7Ci0gICAgdmFyIHNlcnZpY2VUZW1wbGF0ZSA9IGZldGNoU2VydmljZVRlbXBsYXRlQnkoc2VydmljZUluc3RhbmNlLnNlcnZpY2VUZW1wbGF0ZUlkKTsKLSAgICBpZihzZXJ2aWNlVGVtcGxhdGUgPT09IHVuZGVmaW5lZCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZihzZXJ2aWNlVGVtcGxhdGUuY3NhclR5cGUgPT09ICdHU0FSJykgewotICAgICAgc2VydmljZUluc3RhbmNlLnNlcnZpY2VJbnN0YW5jZUlkID0gY3JlYXRlR3NvU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBzZXJ2aWNlSW5zdGFuY2UpOwotICAgIH1lbHNlIGlmKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ05TQVInIHx8IHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ05GQVInKSB7Ci0gICAgICBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZUluc3RhbmNlSWQgPSBjcmVhdGVOZnZvU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBzZXJ2aWNlSW5zdGFuY2UpOwotICAgIH1lbHNlIGlmKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ1NTQVInKSB7Ci0gICAgICBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZUluc3RhbmNlSWQgPSBjcmVhdGVTZG5vU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBzZXJ2aWNlSW5zdGFuY2UpOwotICAgIH0KLSAgICBpZihzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZUluc3RhbmNlSWQgPT09IHVuZGVmaW5lZCkgewotICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB1cGRhdGVUYWJsZShzZXJ2aWNlSW5zdGFuY2UpOwotICB9CiB9OwogCiBmdW5jdGlvbiBjb2xsZWN0U2VydmljZVBhcmFtZXRlcnMocGFyYW1ldGVycykgewotICB2YXIgc2VydmljZVBhcmFtZXRlcnMgPSB7fTsKLSAgdmFyIGk7Ci0gIGZvciggaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSArPSAxKSB7Ci0gICAgc2VydmljZVBhcmFtZXRlcnNbcGFyYW1ldGVycy5uYW1lXSA9ICQoJyMnICsgcGFyYW1ldGVyc1tpXS5pZCkudmFsKCk7Ci0gIH0KLSAgcmV0dXJuIHNlcnZpY2VQYXJhbWV0ZXJzOworICAgIHZhciBzZXJ2aWNlUGFyYW1ldGVycyA9IHt9OworICAgIHZhciBpOworICAgIGZvciAoaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSArPSAxKSB7CisgICAgICAgIHNlcnZpY2VQYXJhbWV0ZXJzW3BhcmFtZXRlcnMubmFtZV0gPSAkKCcjJyArIHBhcmFtZXRlcnNbaV0uaWQpLnZhbCgpOworICAgIH0KKyAgICByZXR1cm4gc2VydmljZVBhcmFtZXRlcnM7CiB9CiAKIGZ1bmN0aW9uIGZldGNoU2VydmljZVRlbXBsYXRlQnkodGVtcGxhdGVJZCkgewotICB2YXIgc2VydmljZVRlbXBsYXRlVXJpID0gJy9vcGVub2FwaS9jYXRhbG9nL3YxL3NlcnZpY2V0ZW1wbGF0ZXMvJysgdGVtcGxhdGVJZDsKLSAgdmFyIHRlbXBsYXRlOwotICAkLmFqYXgoewotICAgIHR5cGUgOiAiR0VUIiwKLSAgICBhc3luYzogZmFsc2UsCi0gICAgdXJsIDogc2VydmljZVRlbXBsYXRlVXJpLAotICAgIGNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotICAgIGRhdGFUeXBlIDogImpzb24iLAotICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgewotICAgICAgdGVtcGxhdGUgPSB7Ci0gICAgICAgIG5hbWU6IGpzb25SZXNwLnRlbXBsYXRlTmFtZSwKLSAgICAgICAgZ3NhcklkOiBqc29uUmVzcC5jc2FySWQKLSAgICAgIH0KLSAgICB9LAotICAgIGVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLSAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgIHZhciBzZXJ2aWNlVGVtcGxhdGVVcmkgPSAnL29wZW5vYXBpL2NhdGFsb2cvdjEvc2VydmljZXRlbXBsYXRlcy8nICsgdGVtcGxhdGVJZDsKKyAgICB2YXIgdGVtcGxhdGU7CisgICAgJC5hamF4KHsKKyAgICAgICAgdHlwZTogIkdFVCIsCisgICAgICAgIGFzeW5jOiBmYWxzZSwKKyAgICAgICAgdXJsOiBzZXJ2aWNlVGVtcGxhdGVVcmksCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgeworICAgICAgICAgICAgdGVtcGxhdGUgPSB7CisgICAgICAgICAgICAgICAgbmFtZToganNvblJlc3AudGVtcGxhdGVOYW1lLAorICAgICAgICAgICAgICAgIGdzYXJJZDoganNvblJlc3AuY3NhcklkCisgICAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CisgICAgaWYgKHRlbXBsYXRlID09PSB1bmRlZmluZWQpIHsKKyAgICAgICAgcmV0dXJuIHRlbXBsYXRlOwogICAgIH0KLSAgfSk7Ci0gIGlmKHRlbXBsYXRlID09PSB1bmRlZmluZWQpIHsKKyAgICB2YXIgcXVlcnlDc2FyVXJpID0gJy9vcGVub2FwaS9jYXRhbG9nL3YxL2NzYXJzLycgKyB0ZW1wbGF0ZS5nc2FySWQ7CisgICAgJC5hamF4KHsKKyAgICAgICAgdHlwZTogIkdFVCIsCisgICAgICAgIGFzeW5jOiBmYWxzZSwKKyAgICAgICAgdXJsOiBxdWVyeUNzYXJVcmksCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgeworICAgICAgICAgICAgdGVtcGxhdGUuY3NhclR5cGUgPSBqc29uUmVzcC50eXBlCisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CiAgICAgcmV0dXJuIHRlbXBsYXRlOwotICB9Ci0gIHZhciBxdWVyeUNzYXJVcmkgPSAnL29wZW5vYXBpL2NhdGFsb2cvdjEvY3NhcnMvJyArIHRlbXBsYXRlLmdzYXJJZDsKLSAgJC5hamF4KHsKLSAgICB0eXBlIDogIkdFVCIsCi0gICAgYXN5bmM6IGZhbHNlLAotICAgIHVybCA6IHF1ZXJ5Q3NhclVyaSwKLSAgICBjb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwKLSAgICBkYXRhVHlwZSA6ICJqc29uIiwKLSAgICBzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsKLSAgICAgIHRlbXBsYXRlLmNzYXJUeXBlID0ganNvblJlc3AudHlwZQotICAgIH0sCi0gICAgZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgewotICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0gICAgfQotICB9KTsKLSAgcmV0dXJuIHRlbXBsYXRlOwogfQogCiBmdW5jdGlvbiByZW5kZXJUZW1wbGF0ZVBhcmFtZXRlcnNUYWIoKSB7Ci0gIHRlbXBsYXRlUGFyYW1ldGVycyA9IGZldGNoVGVtcGxhdGVQYXJhbWV0ZXJEZWZpbml0aW9ucyh0ZW1wbGF0ZVBhcmFtZXRlcnMpOwotICB2YXIgdmltcyA9IGZldGNoVmltSW5mbygpOwotICB2YXIgY29tcG9uZW50cyA9IHRyYW5zZnJvbVRvQ29tcG9uZW50cyh0ZW1wbGF0ZVBhcmFtZXRlcnMucGFyYW1ldGVycywgdmltcyk7Ci0gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJhbWV0ZXJUYWIiKS5pbm5lckhUTUwgPSBjb21wb25lbnRzOworICAgIHRlbXBsYXRlUGFyYW1ldGVycyA9IGZldGNoVGVtcGxhdGVQYXJhbWV0ZXJEZWZpbml0aW9ucyh0ZW1wbGF0ZVBhcmFtZXRlcnMpOworICAgIHZhciB2aW1zID0gZmV0Y2hWaW1JbmZvKCk7CisgICAgdmFyIGNvbXBvbmVudHMgPSB0cmFuc2Zyb21Ub0NvbXBvbmVudHModGVtcGxhdGVQYXJhbWV0ZXJzLnBhcmFtZXRlcnMsIHZpbXMpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJhbWV0ZXJUYWIiKS5pbm5lckhUTUwgPSBjb21wb25lbnRzOwogfQogCiBmdW5jdGlvbiBmZXRjaFRlbXBsYXRlUGFyYW1ldGVyRGVmaW5pdGlvbnMocGFyYW1ldGVycykgewotICB2YXIgc2VydmljZVRlbXBsYXRlID0gcGFyYW1ldGVycy50ZW1wbGF0ZU5hbWU7Ci0gIHZhciBjdXJyZW50U2VydmljZVRlbXBsYXRlID0gJCgiI3N2Y1RlbXBsIikudmFsKCk7Ci0gIC8vIERvIG5vdCBuZWVkIHRvIGZldGNoIHRlbXBsYXRlIHBhcmFtZXRlcnMgaWYgdGVtcGxhdGUgZG8gbm90IGNoYW5nZSBpbiBVSS4KLSAgaWYoc2VydmljZVRlbXBsYXRlID09PSBjdXJyZW50U2VydmljZVRlbXBsYXRlKSB7Ci0gICAgcmV0dXJuOwotICB9Ci0gIHZhciBxdWVyeVBhcmFtZXRlcnNVcmkgPSAnL29wZW5vYXBpL2NhdGFsb2cvdjEvc2VydmljZXRlbXBsYXRlcy8nICsgY3VycmVudFNlcnZpY2VUZW1wbGF0ZSArICcvcGFyYW1ldGVycyc7Ci0gIHZhciBpbnB1dFBhcmFtZXRlcnMgPSBbXTsKLSAgJC5hamF4KHsKLSAgICB0eXBlIDogIkdFVCIsCi0gICAgYXN5bmM6IGZhbHNlLAotICAgIHVybCA6IHF1ZXJ5UGFyYW1ldGVyc1VyaSwKLSAgICBjb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwKLSAgICBkYXRhVHlwZSA6ICJqc29uIiwKLSAgICBzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsKLSAgICAgIHZhciBpbnB1dHMgPSBqc29uUmVzcC5pbnB1dHM7Ci0gICAgICB2YXIgaTsKLSAgICAgIGZvciggaSA9IDA7IGkgPCBpbnB1dHMubGVuZ3RoOyBpICs9IDEpIHsKLSAgICAgICAgaW5wdXRQYXJhbWV0ZXJzW2ldID0gewotICAgICAgICAgIG5hbWU6IGlucHV0c1tpXS5uYW1lLAotICAgICAgICAgIHR5cGU6IGlucHV0c1tpXS50eXBlLAotICAgICAgICAgIGRlc2NyaXB0aW9uOiBpbnB1dHNbaV0uZGVzY3JpcHRpb24sCi0gICAgICAgICAgZGVmYXVsdFZhbHVlOiBpbnB1dHNbaV0uZGVmYXVsdFZhbHVlLAotICAgICAgICAgIHJlcXVpcmVkOiBpbnB1dHNbaV0ucmVxdWlyZWQsCi0gICAgICAgICAgaWQ6ICdwYXJhbWV0ZXJfJyArIGksCi0gICAgICAgICAgdmFsdWU6IGlucHV0c1tpXS5kZWZhdWx0VmFsdWUKLSAgICAgICAgfTsKLSAgICAgIH0KLSAgICB9LAotICAgIGVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLSAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgIHZhciBzZXJ2aWNlVGVtcGxhdGUgPSBwYXJhbWV0ZXJzLnRlbXBsYXRlTmFtZTsKKyAgICB2YXIgY3VycmVudFNlcnZpY2VUZW1wbGF0ZSA9ICQoIiNzdmNUZW1wbCIpLnZhbCgpOworICAgIC8vIERvIG5vdCBuZWVkIHRvIGZldGNoIHRlbXBsYXRlIHBhcmFtZXRlcnMgaWYgdGVtcGxhdGUgZG8gbm90IGNoYW5nZSBpbiBVSS4KKyAgICBpZiAoc2VydmljZVRlbXBsYXRlID09PSBjdXJyZW50U2VydmljZVRlbXBsYXRlKSB7CisgICAgICAgIHJldHVybjsKICAgICB9Ci0gIH0pOwotICByZXR1cm4geyBuYW1lOiBjdXJyZW50U2VydmljZVRlbXBsYXRlLCBwYXJhbWV0ZXJzOiBpbnB1dFBhcmFtZXRlcnMgfTsKKyAgICB2YXIgcXVlcnlQYXJhbWV0ZXJzVXJpID0gJy9vcGVub2FwaS9jYXRhbG9nL3YxL3NlcnZpY2V0ZW1wbGF0ZXMvJyArIGN1cnJlbnRTZXJ2aWNlVGVtcGxhdGUgKyAnL3BhcmFtZXRlcnMnOworICAgIHZhciBpbnB1dFBhcmFtZXRlcnMgPSBbXTsKKyAgICAkLmFqYXgoeworICAgICAgICB0eXBlOiAiR0VUIiwKKyAgICAgICAgYXN5bmM6IGZhbHNlLAorICAgICAgICB1cmw6IHF1ZXJ5UGFyYW1ldGVyc1VyaSwKKyAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwKKyAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25SZXNwKSB7CisgICAgICAgICAgICB2YXIgaW5wdXRzID0ganNvblJlc3AuaW5wdXRzOworICAgICAgICAgICAgdmFyIGk7CisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaW5wdXRzLmxlbmd0aDsgaSArPSAxKSB7CisgICAgICAgICAgICAgICAgaW5wdXRQYXJhbWV0ZXJzW2ldID0geworICAgICAgICAgICAgICAgICAgICBuYW1lOiBpbnB1dHNbaV0ubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgdHlwZTogaW5wdXRzW2ldLnR5cGUsCisgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBpbnB1dHNbaV0uZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogaW5wdXRzW2ldLmRlZmF1bHRWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGlucHV0c1tpXS5yZXF1aXJlZCwKKyAgICAgICAgICAgICAgICAgICAgaWQ6ICdwYXJhbWV0ZXJfJyArIGksCisgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpbnB1dHNbaV0uZGVmYXVsdFZhbHVlCisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICByZXR1cm4ge25hbWU6IGN1cnJlbnRTZXJ2aWNlVGVtcGxhdGUsIHBhcmFtZXRlcnM6IGlucHV0UGFyYW1ldGVyc307CiB9CiAKIGZ1bmN0aW9uIGZldGNoVmltSW5mbygpIHsKLSAgdmFyIHJlc3VsdCA9IFtdOwotICB2YXIgdmltUXVlcnlVcmkgPSAnL29wZW5vYXBpL2V4dHN5cy92MS92aW1zJzsKLSAgJC5hamF4KHsKLSAgICB0eXBlIDogIkdFVCIsCi0gICAgYXN5bmM6IGZhbHNlLAotICAgIHVybCA6IHZpbVF1ZXJ5VXJpLAotICAgIGNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotICAgIGRhdGFUeXBlIDogImpzb24iLAotICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgewotICAgICAgdmFyIHZpbXMgPSBqc29uUmVzcDsKLSAgICAgIHZhciBpOwotICAgICAgZm9yKCBpID0gMDsgaSA8IHZpbXMubGVuZ3RoOyBpICs9IDEpIHsKLSAgICAgICAgdmFyIG9wdGlvbiA9ICc8b3B0aW9uIHZhbHVlPSInICsgdmltc1tpXS52aW1JZCArICciPicrdmltc1tpXS5uYW1lKyc8L29wdGlvbj4nOwotICAgICAgICByZXN1bHRbaV0gPSB7Ci0gICAgICAgICAgdmltSWQ6IHZpbXNbaV0udmltSWQsCi0gICAgICAgICAgdmltTmFtZTogdmltc1tpXS5uYW1lCisgICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHZhciB2aW1RdWVyeVVyaSA9ICcvb3Blbm9hcGkvZXh0c3lzL3YxL3ZpbXMnOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICBhc3luYzogZmFsc2UsCisgICAgICAgIHVybDogdmltUXVlcnlVcmksCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgeworICAgICAgICAgICAgdmFyIHZpbXMgPSBqc29uUmVzcDsKKyAgICAgICAgICAgIHZhciBpOworICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHZpbXMubGVuZ3RoOyBpICs9IDEpIHsKKyAgICAgICAgICAgICAgICB2YXIgb3B0aW9uID0gJzxvcHRpb24gdmFsdWU9IicgKyB2aW1zW2ldLnZpbUlkICsgJyI+JyArIHZpbXNbaV0ubmFtZSArICc8L29wdGlvbj4nOworICAgICAgICAgICAgICAgIHJlc3VsdFtpXSA9IHsKKyAgICAgICAgICAgICAgICAgICAgdmltSWQ6IHZpbXNbaV0udmltSWQsCisgICAgICAgICAgICAgICAgICAgIHZpbU5hbWU6IHZpbXNbaV0ubmFtZQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgIH0KLSAgICAgIH0KLSAgICB9LAotICAgIGVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLSAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOwotICAgIH0KLSAgfSk7Ci0gIHJldHVybiByZXN1bHQ7CisgICAgfSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogZnVuY3Rpb24gdHJhbnNmcm9tVG9Db21wb25lbnRzKHBhcmFtZXRlcnMsIHZpbXMpIHsKLSAgdmFyIGNvbXBvbmVudHMgPSAnJzsKLSAgdmFyIGk7Ci0gIGZvciggaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSArPSAxKSB7Ci0gICAgdmFyIGNvbXBvbmVudCA9ICc8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4nICsKLSAgICAgICc8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPicgKwotICAgICAgICAnPHNwYW4+JyArIHBhcmFtZXRlcnNbaV0uZGVzY3JpcHRpb24gKyAnPC9zcGFuPicgKyBnZW5lcmF0ZVJlcXVpcmVkTGFiZWwocGFyYW1ldGVyc1tpXSkgKwotICAgICAgJzwvbGFiZWw+JyArCi0gICAgICAnPGRpdiBjbGFzcz0iY29sLXNtLTciPicgKwotICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSInKyBwYXJhbWV0ZXJzW2ldLmlkICsnIiBuYW1lPSJwYXJhbWV0ZXIgZGVzY3JpcHRpb24iIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSInICsKLSAgICAgICAgICAgICAgcGFyYW1ldGVyc1tpXS5kZXNjcmlwdGlvbiArICciIHZhbHVlPSInKyBwYXJhbWV0ZXJzW2ldLnZhbHVlICsnIiAvPicgKwotICAgICAgJzwvZGl2PjwvZGl2Pic7Ci0gICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMgKyBjb21wb25lbnQ7Ci0gIH0KLSAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMgKyBnZW5lcmF0ZUxvY2F0aW9uQ29tcG9uZW50KHZpbXMpOwotICByZXR1cm4gY29tcG9uZW50czsKKyAgICB2YXIgY29tcG9uZW50cyA9ICcnOworICAgIHZhciBpOworICAgIGZvciAoaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSArPSAxKSB7CisgICAgICAgIHZhciBjb21wb25lbnQgPSAnPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+JyArCisgICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4nICsKKyAgICAgICAgICAgICc8c3Bhbj4nICsgcGFyYW1ldGVyc1tpXS5kZXNjcmlwdGlvbiArICc8L3NwYW4+JyArIGdlbmVyYXRlUmVxdWlyZWRMYWJlbChwYXJhbWV0ZXJzW2ldKSArCisgICAgICAgICAgICAnPC9sYWJlbD4nICsKKyAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb2wtc20tNyI+JyArCisgICAgICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIGlkPSInICsgcGFyYW1ldGVyc1tpXS5pZCArICciIG5hbWU9InBhcmFtZXRlciBkZXNjcmlwdGlvbiIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IicgKworICAgICAgICAgICAgcGFyYW1ldGVyc1tpXS5kZXNjcmlwdGlvbiArICciIHZhbHVlPSInICsgcGFyYW1ldGVyc1tpXS52YWx1ZSArICciIC8+JyArCisgICAgICAgICAgICAnPC9kaXY+PC9kaXY+JzsKKyAgICAgICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMgKyBjb21wb25lbnQ7CisgICAgfQorICAgIGNvbXBvbmVudHMgPSBjb21wb25lbnRzICsgZ2VuZXJhdGVMb2NhdGlvbkNvbXBvbmVudCh2aW1zKTsKKyAgICByZXR1cm4gY29tcG9uZW50czsKIH0KIAogZnVuY3Rpb24gZ2VuZXJhdGVSZXF1aXJlZExhYmVsKHBhcmFtZXRlcikgewotICB2YXIgcmVxdWlyZWRMYWJlbCA9ICcnOwotICBpZihwYXJhbWV0ZXIucmVxdWlyZWQgPT09ICd0cnVlJykgewotICAgIHJlcXVpcmVkTGFiZWwgPSAnPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPic7Ci0gIH0KLSAgcmV0dXJuIHJlcXVpcmVkTGFiZWw7CisgICAgdmFyIHJlcXVpcmVkTGFiZWwgPSAnJzsKKyAgICBpZiAocGFyYW1ldGVyLnJlcXVpcmVkID09PSAndHJ1ZScpIHsKKyAgICAgICAgcmVxdWlyZWRMYWJlbCA9ICc8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+JzsKKyAgICB9CisgICAgcmV0dXJuIHJlcXVpcmVkTGFiZWw7CiB9CiAKIGZ1bmN0aW9uIGdlbmVyYXRlTG9jYXRpb25Db21wb25lbnQodmltcykgewotICB2YXIgY29tcG9uZW50ID0gJzxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPicgKwotICAgICAgICAgICAgICAgICAgICAnPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4nICsKLSAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4+TG9jYXRpb248L3NwYW4+JyArCi0gICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4nICsKLSAgICAgICAgICAgICAgICAgICAgJzwvbGFiZWw+JyArCi0gICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb2wtc20tNyI+JyArCi0gICAgICAgICAgICAgICAgICAgICAgJzxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgc3R5bGUgPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IicgKwotICAgICAgICAgICAgICAgICAgICAgICAgJyBpZD0idmltX2xvY2F0aW9uIiBuYW1lPSJ2aW1fbG9jYXRpb24iPicgKwotICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtVG9PcHRpb25zKHZpbXMpICsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vICc8b3B0aW9uIHZhbHVlPSJ2aW1pZCI+dmltMSBuYW1lPC9vcHRpb24+JyArCi0gICAgICAgICAgICAgICAgICAgICAgJzwvc2VsZWN0PjwvZGl2PjwvZGl2Pic7Ci0gIHJldHVybiBjb21wb25lbnQ7CisgICAgdmFyIGNvbXBvbmVudCA9ICc8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4nICsKKyAgICAgICAgJzxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+JyArCisgICAgICAgICc8c3Bhbj5Mb2NhdGlvbjwvc3Bhbj4nICsKKyAgICAgICAgJzxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4nICsKKyAgICAgICAgJzwvbGFiZWw+JyArCisgICAgICAgICc8ZGl2IGNsYXNzPSJjb2wtc20tNyI+JyArCisgICAgICAgICc8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIHN0eWxlID0icGFkZGluZy10b3A6IDBweDtwYWRkaW5nLWJvdHRvbTogMHB4OyInICsKKyAgICAgICAgJyBpZD0idmltX2xvY2F0aW9uIiBuYW1lPSJ2aW1fbG9jYXRpb24iPicgKworICAgICAgICB0cmFuc2Zvcm1Ub09wdGlvbnModmltcykgKworICAgICAgICAvLyAnPG9wdGlvbiB2YWx1ZT0idmltaWQiPnZpbTEgbmFtZTwvb3B0aW9uPicgKworICAgICAgICAnPC9zZWxlY3Q+PC9kaXY+PC9kaXY+JzsKKyAgICByZXR1cm4gY29tcG9uZW50OwogfQogCiBmdW5jdGlvbiB0cmFuc2Zvcm1Ub09wdGlvbnModmltcykgewotICB2YXIgb3B0aW9ucyA9ICcnOwotICB2YXIgaTsKLSAgZm9yKCBpID0gMDsgaSA8IHZpbXMubGVuZ3RoOyBpICs9IDEpIHsKLSAgICB2YXIgb3B0aW9uID0gJzxvcHRpb24gdmFsdWU9IicgKyB2aW1zW2ldLnZpbUlkICsgJyI+Jyt2aW1zW2ldLnZpbU5hbWUrJzwvb3B0aW9uPic7Ci0gICAgb3B0aW9ucyA9IG9wdGlvbnMgKyBvcHRpb247IAotICB9Ci0gIHJldHVybiBvcHRpb25zOworICAgIHZhciBvcHRpb25zID0gJyc7CisgICAgdmFyIGk7CisgICAgZm9yIChpID0gMDsgaSA8IHZpbXMubGVuZ3RoOyBpICs9IDEpIHsKKyAgICAgICAgdmFyIG9wdGlvbiA9ICc8b3B0aW9uIHZhbHVlPSInICsgdmltc1tpXS52aW1JZCArICciPicgKyB2aW1zW2ldLnZpbU5hbWUgKyAnPC9vcHRpb24+JzsKKyAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgKyBvcHRpb247CisgICAgfQorICAgIHJldHVybiBvcHRpb25zOwogfQogCiBmdW5jdGlvbiBjcmVhdGVHc29TZXJ2aWNlSW5zdGFuY2UoZ2F0ZXdheVNlcnZpY2UsIHNlcnZpY2VJbnN0YW5jZSkgewotICBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZVBhcmFtZXRlcnMubG9jYXRpb24gPSBzZXJ2aWNlSW5zdGFuY2UudmltTG9jYXRpb247Ci0gIHZhciBnc29MY21VcmkgPSAnL29wZW5vYXBpL2xpZmVjeWNsZW1nci92MS9zZXJ2aWNlcyc7Ci0gIHZhciBwYXJhbWV0ZXIgPSB7Ci0gICAgJ25hbWUnOiBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZU5hbWUsCi0gICAgJ2Rlc2NyaXB0aW9uJzogc2VydmljZUluc3RhbmNlLnNlcnZpY2VEZXNjcmlwdGlvbiwKLSAgICAnc2VydmljZURlZklkJzogc2VydmljZVRlbXBsYXRlLmdzYXJJZCwKLSAgICAndGVtcGxhdGVkSWQnOiBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZVRlbXBsYXRlSWQsCi0gICAgJ3RlbXBsYXRlTmFtZSc6IHNlcnZpY2VUZW1wbGF0ZS50ZW1wbGF0ZU5hbWUsCi0gICAgJ2dldGV3YXlVcmknOiBnc29MY21VcmwsCi0gICAgJ3BhcmFtZXRlcnMnOiBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZVBhcmFtZXRlcnMKLSAgfTsKLSAgdmFyIHNlcnZpY2VJbnN0YW5jZUlkOwotICAkLmFqYXgoewotICAgIHR5cGUgOiAiUE9TVCIsCi0gICAgYXN5bmM6IGZhbHNlLAotICAgIHVybCA6IGdhdGV3YXlTZXJ2aWNlLAotICAgIGNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotICAgIGRhdGFUeXBlIDogImpzb24iLAotICAgIGRhdGEgOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXIpLAotICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgewotICAgICAgaWYoanNvblJlc3AucmVzdWx0LmVycm9yQ29kZSAhPSAnMjAwJykgewotICAgICAgICBhbGVydCgiQ3JlYXRlIHNlcnZpY2UgaW5zdGFuY2UgRXJyb3IhIik7Ci0gICAgICAgIHJldHVybjsKLSAgICAgIH0KLSAgICAgIHNlcnZpY2VJbnN0YW5jZUlkID0ganNvblJlc3Auc2VydmljZUlkOwotICAgIH0sCi0gICAgZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgewotICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0gICAgfQotICB9KTsKLSAgcmV0dXJuIHNlcnZpY2VJbnN0YW5jZUlkOworICAgIHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlUGFyYW1ldGVycy5sb2NhdGlvbiA9IHNlcnZpY2VJbnN0YW5jZS52aW1Mb2NhdGlvbjsKKyAgICB2YXIgZ3NvTGNtVXJpID0gJy9vcGVub2FwaS9saWZlY3ljbGVtZ3IvdjEvc2VydmljZXMnOworICAgIHZhciBwYXJhbWV0ZXIgPSB7CisgICAgICAgICduYW1lJzogc2VydmljZUluc3RhbmNlLnNlcnZpY2VOYW1lLAorICAgICAgICAnZGVzY3JpcHRpb24nOiBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZURlc2NyaXB0aW9uLAorICAgICAgICAnc2VydmljZURlZklkJzogc2VydmljZVRlbXBsYXRlLmdzYXJJZCwKKyAgICAgICAgJ3RlbXBsYXRlZElkJzogc2VydmljZUluc3RhbmNlLnNlcnZpY2VUZW1wbGF0ZUlkLAorICAgICAgICAndGVtcGxhdGVOYW1lJzogc2VydmljZVRlbXBsYXRlLnRlbXBsYXRlTmFtZSwKKyAgICAgICAgJ2dldGV3YXlVcmknOiBnc29MY21VcmwsCisgICAgICAgICdwYXJhbWV0ZXJzJzogc2VydmljZUluc3RhbmNlLnNlcnZpY2VQYXJhbWV0ZXJzCisgICAgfTsKKyAgICB2YXIgc2VydmljZUluc3RhbmNlSWQ7CisgICAgJC5hamF4KHsKKyAgICAgICAgdHlwZTogIlBPU1QiLAorICAgICAgICBhc3luYzogZmFsc2UsCisgICAgICAgIHVybDogZ2F0ZXdheVNlcnZpY2UsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlciksCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgeworICAgICAgICAgICAgaWYgKGpzb25SZXNwLnJlc3VsdC5lcnJvckNvZGUgIT0gJzIwMCcpIHsKKyAgICAgICAgICAgICAgICBhbGVydCgiQ3JlYXRlIHNlcnZpY2UgaW5zdGFuY2UgRXJyb3IhIik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc2VydmljZUluc3RhbmNlSWQgPSBqc29uUmVzcC5zZXJ2aWNlSWQ7CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CisgICAgcmV0dXJuIHNlcnZpY2VJbnN0YW5jZUlkOwogfQogCiBmdW5jdGlvbiBjcmVhdGVOZnZvU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBzZXJ2aWNlSW5zdGFuY2UpIHsKLSAgdmFyIG5mdm9MY21Oc1VybCA9ICcvb3Blbm9hcGkvbnNsY20vdjEuMC9ucyc7Ci0gIHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlUGFyYW1ldGVycy5sb2NhdGlvbiA9IHNlcnZpY2VJbnN0YW5jZS52aW1Mb2NhdGlvbjsKLSAgY3JlYXRlU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBuZnZvTGNtTnNVcmwsIHNlcnZpY2VJbnN0YW5jZSk7CisgICAgdmFyIG5mdm9MY21Oc1VybCA9ICcvb3Blbm9hcGkvbnNsY20vdjEuMC9ucyc7CisgICAgc2VydmljZUluc3RhbmNlLnNlcnZpY2VQYXJhbWV0ZXJzLmxvY2F0aW9uID0gc2VydmljZUluc3RhbmNlLnZpbUxvY2F0aW9uOworICAgIGNyZWF0ZVNlcnZpY2VJbnN0YW5jZShnYXRld2F5U2VydmljZSwgbmZ2b0xjbU5zVXJsLCBzZXJ2aWNlSW5zdGFuY2UpOwogfQogCiBmdW5jdGlvbiBjcmVhdGVTZXJ2aWNlSW5zdGFuY2UoZ2F0ZXdheVNlcnZpY2UsIGdhdGV3YXlVcmksIHNlcnZpY2VJbnN0YW5jZSkgewotICB2YXIgbnNJbnN0YW5jZUlkID0gY3JlYXRlTmV0d29ya1NlcnZpY2UoZ2F0ZXdheVNlcnZpY2UsIGdhdGV3YXlVcmksIHNlcnZpY2VJbnN0YW5jZSk7Ci0gIGlmKG5zSW5zdGFuY2VJZCA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgcmV0dXJuOwotICB9Ci0gIGluc3RhbnRpYXRlTmV0d29ya1NlcnZpY2UoZ2F0ZXdheVVyaSwgbnNJbnN0YW5jZUlkLCBzZXJ2aWNlSW5zdGFuY2UpOworICAgIHZhciBuc0luc3RhbmNlSWQgPSBjcmVhdGVOZXR3b3JrU2VydmljZShnYXRld2F5U2VydmljZSwgZ2F0ZXdheVVyaSwgc2VydmljZUluc3RhbmNlKTsKKyAgICBpZiAobnNJbnN0YW5jZUlkID09PSB1bmRlZmluZWQpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpbnN0YW50aWF0ZU5ldHdvcmtTZXJ2aWNlKGdhdGV3YXlVcmksIG5zSW5zdGFuY2VJZCwgc2VydmljZUluc3RhbmNlKTsKIH0KIAogZnVuY3Rpb24gY3JlYXRlTmV0d29ya1NlcnZpY2UoZ2F0ZXdheVNlcnZpY2UsIGdhdGV3YXlVcmksIHNlcnZpY2VJbnN0YW5jZSkgewotICB2YXIgcGFyYW1ldGVyID0gewotICAgICduc2RJZCc6IHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlVGVtcGxhdGVJZCwKLSAgICAnbnNOYW1lJzogc2VydmljZUluc3RhbmNlLnNlcnZpY2VOYW1lLAotICAgICdkZXNjcmlwdGlvbic6IHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlRGVzY3JpcHRpb24sCi0gICAgJ2dhdGV3YXlVcmknOiBnYXRld2F5VXJpCi0gIH07Ci0gIHZhciBuc0luc3RhbmNlSWQ7Ci0gICQuYWpheCh7Ci0gICAgdHlwZSA6ICJQT1NUIiwKLSAgICBhc3luYzogZmFsc2UsCi0gICAgdXJsIDogZ2F0ZXdheVNlcnZpY2UsCi0gICAgY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0gICAgZGF0YVR5cGUgOiAianNvbiIsCi0gICAgZGF0YSA6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlciksCi0gICAgc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25SZXNwKSB7Ci0gICAgICBuc0luc3RhbmNlSWQgPSBqc29uUmVzcC5uc0luc3RhbmNlSWQ7Ci0gICAgfSwKLSAgICBlcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0gICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKLSAgICB9Ci0gIH0pOwotICByZXR1cm4gbnNJbnN0YW5jZUlkOworICAgIHZhciBwYXJhbWV0ZXIgPSB7CisgICAgICAgICduc2RJZCc6IHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlVGVtcGxhdGVJZCwKKyAgICAgICAgJ25zTmFtZSc6IHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlTmFtZSwKKyAgICAgICAgJ2Rlc2NyaXB0aW9uJzogc2VydmljZUluc3RhbmNlLnNlcnZpY2VEZXNjcmlwdGlvbiwKKyAgICAgICAgJ2dhdGV3YXlVcmknOiBnYXRld2F5VXJpCisgICAgfTsKKyAgICB2YXIgbnNJbnN0YW5jZUlkOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJQT1NUIiwKKyAgICAgICAgYXN5bmM6IGZhbHNlLAorICAgICAgICB1cmw6IGdhdGV3YXlTZXJ2aWNlLAorICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLAorICAgICAgICBkYXRhVHlwZTogImpzb24iLAorICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXIpLAorICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsKKyAgICAgICAgICAgIG5zSW5zdGFuY2VJZCA9IGpzb25SZXNwLm5zSW5zdGFuY2VJZDsKKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICByZXR1cm4gbnNJbnN0YW5jZUlkOwogfQogCiBmdW5jdGlvbiBpbnN0YW50aWF0ZU5ldHdvcmtTZXJ2aWNlKGdhdGV3YXlVcmksIG5zSW5zdGFuY2VJZCwgc2VydmljZUluc3RhbmNlKSB7Ci0gIHZhciBpbml0TnNVcmwgPSBnYXRld2F5VXJpICsgJy8nICsgbnNJbnN0YW5jZUlkICsgJy9JbnN0YW50aWF0ZScKLSAgdmFyIHBhcmFtZXRlciA9IHsKLSAgICAnZ2F0ZXdheVVyaSc6IGluaXROc1VybCwKLSAgICAnbnNJbnN0YW5jZUlkJzogbnNJbnN0YW5jZUlkLAotICAgICdhZGRpdGlvbmFsUGFyYW1Gb3JOcyc6IHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlUGFyYW1ldGVycwotICB9OwotICB2YXIgcmVzdWx0ID0gZmFsc2U7Ci0gICQuYWpheCh7Ci0gICAgdHlwZSA6ICJQT1NUIiwKLSAgICBhc3luYzogZmFsc2UsCi0gICAgdXJsIDogZ2F0ZXdheVNlcnZpY2UsCi0gICAgY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0gICAgZGF0YVR5cGUgOiAianNvbiIsCi0gICAgZGF0YSA6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlciksCi0gICAgc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25SZXNwKSB7Ci0gICAgICByZXN1bHQgPSB0cnVlOwotICAgIH0sCi0gICAgZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgewotICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0gICAgfQotICB9KTsKLSAgcmV0dXJuIHJlc3VsdDsKKyAgICB2YXIgaW5pdE5zVXJsID0gZ2F0ZXdheVVyaSArICcvJyArIG5zSW5zdGFuY2VJZCArICcvSW5zdGFudGlhdGUnCisgICAgdmFyIHBhcmFtZXRlciA9IHsKKyAgICAgICAgJ2dhdGV3YXlVcmknOiBpbml0TnNVcmwsCisgICAgICAgICduc0luc3RhbmNlSWQnOiBuc0luc3RhbmNlSWQsCisgICAgICAgICdhZGRpdGlvbmFsUGFyYW1Gb3JOcyc6IHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlUGFyYW1ldGVycworICAgIH07CisgICAgdmFyIHJlc3VsdCA9IGZhbHNlOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJQT1NUIiwKKyAgICAgICAgYXN5bmM6IGZhbHNlLAorICAgICAgICB1cmw6IGdhdGV3YXlTZXJ2aWNlLAorICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLAorICAgICAgICBkYXRhVHlwZTogImpzb24iLAorICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXIpLAorICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogZnVuY3Rpb24gY3JlYXRlU2Rub1NlcnZpY2VJbnN0YW5jZShnYXRld2F5U2VydmljZSwgc2VydmljZUluc3RhbmNlKSB7Ci0gIHZhciBzZG5vTGNtTnNVcmwgPSAnL29wZW5vYXBpL3Nkbm9uc2xjbS92MS4wL25zJzsKLSAgY3JlYXRlU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBzZG5vTGNtTnNVcmwsIHNlcnZpY2VJbnN0YW5jZSk7CisgICAgdmFyIHNkbm9MY21Oc1VybCA9ICcvb3Blbm9hcGkvc2Rub25zbGNtL3YxLjAvbnMnOworICAgIGNyZWF0ZVNlcnZpY2VJbnN0YW5jZShnYXRld2F5U2VydmljZSwgc2Rub0xjbU5zVXJsLCBzZXJ2aWNlSW5zdGFuY2UpOwogfQogCiBmdW5jdGlvbiB1cGRhdGVUYWJsZShzZXJ2aWNlSW5zdGFuY2UpIHsKLSAgYXBwZW5kT2VuUm93KCk7Ci0gIGFkZERlbGV0ZUV2ZW50UmVnaXN0cmF0aW9uKCk7CisgICAgYXBwZW5kT2VuUm93KCk7CisgICAgYWRkRGVsZXRlRXZlbnRSZWdpc3RyYXRpb24oKTsKIH0KIAogZnVuY3Rpb24gYXBwZW5kT2VuUm93KCkgewotICB2YXIgaW5kZXggPSBzZXJ2aWNlX2luc3RhbmNlX2luc2VydF9pbmRleDsKLSAgdmFyIGNyZWF0b3IgPSAnJzsKLSAgJCgnI3NhaScpLmFwcGVuZCgnPHRyIGlkPSJzZXJ2aWNlX2luc3RhbmNlXycgKyBpbmRleCArICciPjwvdHI+Jyk7Ci0gICQoIiNzZXJ2aWNlX2luc3RhbmNlXyIgKyBpbmRleCkuaHRtbCgnPHRkPjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+PHNwYW4gaWQ9InNlcnZpY2VfbmFtZSIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+Jysgc2VydmljZUluc3RhbmNlLnNlcnZpY2VOYW1lICsgJzwvc3Bhbj48L3RkPicgKwotICAgICc8dGQ+PHNwYW4gY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+Jysgc2VydmljZUluc3RhbmNlLnRlbXBsYXRlTmFtZSArICc8L3NwYW4+PC90ZD4nICsKLSAgICAnPHRkIGNsYXNzPSJzZXJ2aWNlX3RlbXBsYXRlX2lkIj48c3BhbiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj4nKyBzZXJ2aWNlSW5zdGFuY2Uuc2VydmljZVRlbXBsYXRlSWQgKyAnPC9zcGFuPjxpbnB1dCB0eXBlPSJoaWRkZW4iIHZhbHVlPSInK3NlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlSW5zdGFuY2VJZCsnIi8+PC90ZD4nICsKLSAgICAnPHRkPjxzcGFuIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPicrIGZvcm1hdERhdGUobmV3IERhdGUoKSkgKyAnPC9zcGFuPjwvdGQ+JyArCi0gICAgJzx0ZD48c3BhbiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj4nKyBjcmVhdG9yICsgJzwvc3Bhbj48L3RkPicgKwotICAgICc8dGQ+PGJ1dHRvbiBjbGFzcz0iZGF0YV9kZWxldGVfYWN0aW9uIj48aW1nIGlkPSJkZWxldGVfYWN0aW9uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIj48L2ltZz48L2J1dHRvbj48L3RkPicpOwotICBzZXJ2aWNlX2luc3RhbmNlX2luc2VydF9pbmRleCArPSAxOworICAgIHZhciBpbmRleCA9IHNlcnZpY2VfaW5zdGFuY2VfaW5zZXJ0X2luZGV4OworICAgIHZhciBjcmVhdG9yID0gJyc7CisgICAgJCgnI3NhaScpLmFwcGVuZCgnPHRyIGlkPSJzZXJ2aWNlX2luc3RhbmNlXycgKyBpbmRleCArICciPjwvdHI+Jyk7CisgICAgJCgiI3NlcnZpY2VfaW5zdGFuY2VfIiArIGluZGV4KS5odG1sKCc8dGQ+PGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj48c3BhbiBpZD0ic2VydmljZV9uYW1lIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj4nICsgc2VydmljZUluc3RhbmNlLnNlcnZpY2VOYW1lICsgJzwvc3Bhbj48L3RkPicgKworICAgICAgICAnPHRkPjxzcGFuIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPicgKyBzZXJ2aWNlSW5zdGFuY2UudGVtcGxhdGVOYW1lICsgJzwvc3Bhbj48L3RkPicgKworICAgICAgICAnPHRkIGNsYXNzPSJzZXJ2aWNlX3RlbXBsYXRlX2lkIj48c3BhbiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj4nICsgc2VydmljZUluc3RhbmNlLnNlcnZpY2VUZW1wbGF0ZUlkICsgJzwvc3Bhbj48aW5wdXQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJyArIHNlcnZpY2VJbnN0YW5jZS5zZXJ2aWNlSW5zdGFuY2VJZCArICciLz48L3RkPicgKworICAgICAgICAnPHRkPjxzcGFuIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPicgKyBmb3JtYXREYXRlKG5ldyBEYXRlKCkpICsgJzwvc3Bhbj48L3RkPicgKworICAgICAgICAnPHRkPjxzcGFuIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPicgKyBjcmVhdG9yICsgJzwvc3Bhbj48L3RkPicgKworICAgICAgICAnPHRkPjxidXR0b24gY2xhc3M9ImRhdGFfZGVsZXRlX2FjdGlvbiI+PGltZyBpZD0iZGVsZXRlX2FjdGlvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyI+PC9pbWc+PC9idXR0b24+PC90ZD4nKTsKKyAgICBzZXJ2aWNlX2luc3RhbmNlX2luc2VydF9pbmRleCArPSAxOwogfQogCiBmdW5jdGlvbiBmb3JtYXREYXRlKGRhdGUpIHsKLSAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7Ci0gIHZhciBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7Ci0gIHZhciBkYXkgPSBkYXRlLmdldERhdGUoKTsKLSAgdmFyIGhoID0gZGF0ZS5nZXRIb3VycygpOwotICB2YXIgbW0gPSBkYXRlLmdldE1pbnV0ZXMoKTsKLSAgdmFyIHNzID0gZGF0ZS5nZXRTZWNvbmRzKCk7Ci0gIHJldHVybiB5ZWFyICsgIi0iICsgbW9udGggKyAiLSIgKyBkYXkgKyAiICIgKyBoaCArICI6IiArIG1tICsgIjoiICsgc3M7CisgICAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7CisgICAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMTsKKyAgICB2YXIgZGF5ID0gZGF0ZS5nZXREYXRlKCk7CisgICAgdmFyIGhoID0gZGF0ZS5nZXRIb3VycygpOworICAgIHZhciBtbSA9IGRhdGUuZ2V0TWludXRlcygpOworICAgIHZhciBzcyA9IGRhdGUuZ2V0U2Vjb25kcygpOworICAgIHJldHVybiB5ZWFyICsgIi0iICsgbW9udGggKyAiLSIgKyBkYXkgKyAiICIgKyBoaCArICI6IiArIG1tICsgIjoiICsgc3M7CiB9CiAKIGZ1bmN0aW9uIGFkZERlbGV0ZUV2ZW50UmVnaXN0cmF0aW9uKCkgewotICAkKCIuZGF0YV9kZWxldGVfYWN0aW9uIikuY2xpY2soZnVuY3Rpb24oZXZlbnQpIHsKLSAgICB2YXIgdHJFbGVtZW50ID0gJCh0aGlzKS5wYXJlbnRzKCJ0ciIpWzBdOwotICAgIHZhciB0ZEVsZW1lbnQgPSAkKHRyRWxlbWVudCkuY2hpbGRyZW4oInRkLnNlcnZpY2VfdGVtcGxhdGVfaWQiKVswXTsKLSAgICB2YXIgc3BhbkVsZW1lbnQgPSAkKHRkRWxlbWVudCkuY2hpbGRyZW4oInNwYW4iKVswXTsKLSAgICB2YXIgdGVtcGxhdGVJZCA9ICQoc3BhbkVsZW1lbnQpLnRleHQoKTsKLSAgICB2YXIgaW5wdXRFbGVtZW50ID0gJCh0ZEVsZW1lbnQpLmNoaWxkcmVuKCJpbnB1dCIpWzBdOwotICAgIHZhciBpbnN0YW5jZUlkID0gJChpbnB1dEVsZW1lbnQpLnZhbCgpOwotICAgIHZhciByZXN1bHQgPSBkZWxldGVTZXJ2aWNlSW5zdGFuY2UodGVtcGxhdGVJZCwgaW5zdGFuY2VJZCk7Ci0gICAgaWYocmVzdWx0KSB7Ci0gICAgICB0ckVsZW1lbnQucmVtb3ZlKCk7Ci0gICAgICBhbGVydCgiU2VydmljZSBpbnN0YW5jZSBkZWxldGVkIHN1Y2Nlc3NmdWxseSEiKTsKLSAgICB9Ci0gIH0pOworICAgICQoIi5kYXRhX2RlbGV0ZV9hY3Rpb24iKS5jbGljayhmdW5jdGlvbiAoZXZlbnQpIHsKKyAgICAgICAgdmFyIHRyRWxlbWVudCA9ICQodGhpcykucGFyZW50cygidHIiKVswXTsKKyAgICAgICAgdmFyIHRkRWxlbWVudCA9ICQodHJFbGVtZW50KS5jaGlsZHJlbigidGQuc2VydmljZV90ZW1wbGF0ZV9pZCIpWzBdOworICAgICAgICB2YXIgc3BhbkVsZW1lbnQgPSAkKHRkRWxlbWVudCkuY2hpbGRyZW4oInNwYW4iKVswXTsKKyAgICAgICAgdmFyIHRlbXBsYXRlSWQgPSAkKHNwYW5FbGVtZW50KS50ZXh0KCk7CisgICAgICAgIHZhciBpbnB1dEVsZW1lbnQgPSAkKHRkRWxlbWVudCkuY2hpbGRyZW4oImlucHV0IilbMF07CisgICAgICAgIHZhciBpbnN0YW5jZUlkID0gJChpbnB1dEVsZW1lbnQpLnZhbCgpOworICAgICAgICB2YXIgcmVzdWx0ID0gZGVsZXRlU2VydmljZUluc3RhbmNlKHRlbXBsYXRlSWQsIGluc3RhbmNlSWQpOworICAgICAgICBpZiAocmVzdWx0KSB7CisgICAgICAgICAgICB0ckVsZW1lbnQucmVtb3ZlKCk7CisgICAgICAgICAgICBhbGVydCgiU2VydmljZSBpbnN0YW5jZSBkZWxldGVkIHN1Y2Nlc3NmdWxseSEiKTsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiBmdW5jdGlvbiBkZWxldGVTZXJ2aWNlSW5zdGFuY2UodGVtcGxhdGVJZCwgaW5zdGFuY2VJZCkgewogICAgIHZhciBzZXJ2aWNlVGVtcGxhdGUgPSBmZXRjaFNlcnZpY2VUZW1wbGF0ZUJ5KHRlbXBsYXRlSWQpOwotICAgIGlmKHNlcnZpY2VUZW1wbGF0ZSA9PT0gdW5kZWZpbmVkKSB7CisgICAgaWYgKHNlcnZpY2VUZW1wbGF0ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgdmFyIGdhdGV3YXlTZXJ2aWNlID0gJy9vcGVub2FwaS9zZXJ2aWNlZ2F0ZXdheS92MS9zZXJ2aWNlcyc7CiAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOwotICAgIGlmKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ0dTQVInKSB7CisgICAgaWYgKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ0dTQVInKSB7CiAgICAgICAgIHJlc3VsdCA9IGRlbGV0ZUdzb1NlcnZpY2VJbnN0YW5jZShnYXRld2F5U2VydmljZSwgaW5zdGFuY2VJZCk7Ci0gICAgfWVsc2UgaWYoc2VydmljZVRlbXBsYXRlLmNzYXJUeXBlID09PSAnTlNBUicgfHwgc2VydmljZVRlbXBsYXRlLmNzYXJUeXBlID09PSAnTkZBUicpIHsKKyAgICB9IGVsc2UgaWYgKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ05TQVInIHx8IHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ05GQVInKSB7CiAgICAgICAgIHJlc3VsdCA9IGRlbGV0ZU5mdm9TZXJ2aWNlSW5zdGFuY2UoZ2F0ZXdheVNlcnZpY2UsIGluc3RhbmNlSWQpOwotICAgIH1lbHNlIGlmKHNlcnZpY2VUZW1wbGF0ZS5jc2FyVHlwZSA9PT0gJ1NTQVInKSB7CisgICAgfSBlbHNlIGlmIChzZXJ2aWNlVGVtcGxhdGUuY3NhclR5cGUgPT09ICdTU0FSJykgewogICAgICAgICByZXN1bHQgPSBkZWxldGVTZG5vU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBpbnN0YW5jZUlkKTsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogZnVuY3Rpb24gZGVsZXRlR3NvU2VydmljZUluc3RhbmNlKGdhdGV3YXlTZXJ2aWNlLCBpbnN0YW5jZUlkKSB7Ci0gICAgdmFyIGdzb0xjbVVybCA9ICcvb3Blbm9hcGkvbGlmZWN5Y2xlbWdyL3YxL3NlcnZpY2VzLycrIGluc3RhbmNlSWQ7CisgICAgdmFyIGdzb0xjbVVybCA9ICcvb3Blbm9hcGkvbGlmZWN5Y2xlbWdyL3YxL3NlcnZpY2VzLycgKyBpbnN0YW5jZUlkOwogICAgIHZhciBvcGVyYXRpb24gPSAnREVMRVRFJzsKICAgICByZXR1cm4gc2VuZERlbGV0ZVJlcXVlc3Qob3BlcmF0aW9uLCBnYXRld2F5U2VydmljZSwgZ3NvTGNtVXJsKTsKIH0KIAogZnVuY3Rpb24gZGVsZXRlTmZ2b1NlcnZpY2VJbnN0YW5jZShnYXRld2F5U2VydmljZSwgaW5zdGFuY2VJZCkgewogICAgIHZhciBuZnZvTnNVcmwgPSAnL29wZW5vYXBpL25zbGNtL3YxLjAvbnMvJyArIGluc3RhbmNlSWQ7Ci0gICAgdmFyIG5mdm9Oc1Rlcm1pbmF0ZVVybCA9IG5mdm9Oc1VybCArJy90ZXJtaW5hdGUnOworICAgIHZhciBuZnZvTnNUZXJtaW5hdGVVcmwgPSBuZnZvTnNVcmwgKyAnL3Rlcm1pbmF0ZSc7CiAgICAgdmFyIHRlcm1pbmF0ZVBhcmFtZXRlciA9IHsKLSAgICAgICduc0luc3RhbmNlSWQnOiBpbnN0YW5jZUlkLAotICAgICAgJ3Rlcm1pbmF0aW9uVHlwZSc6ICJncmFjZWZ1bCIsCi0gICAgICAnZ3JhY2VmdWxUZXJtaW5hdGlvblRpbWVvdXQnOiAiNjAiLAotICAgICAgJ29wZXJhdGlvbic6ICJQT1NUIiwKLSAgICAgICdnYXRld2F5VXJpJzogbmZ2b05zVGVybWluYXRlVXJsCisgICAgICAgICduc0luc3RhbmNlSWQnOiBpbnN0YW5jZUlkLAorICAgICAgICAndGVybWluYXRpb25UeXBlJzogImdyYWNlZnVsIiwKKyAgICAgICAgJ2dyYWNlZnVsVGVybWluYXRpb25UaW1lb3V0JzogIjYwIiwKKyAgICAgICAgJ29wZXJhdGlvbic6ICJQT1NUIiwKKyAgICAgICAgJ2dhdGV3YXlVcmknOiBuZnZvTnNUZXJtaW5hdGVVcmwKICAgICB9OwogICAgIHZhciByZXN1bHQgPSBzZW5kUmVxdWVzdChnYXRld2F5U2VydmljZSwgdGVybWluYXRlUGFyYW1ldGVyKTsKLSAgICBpZihyZXN1bHQpIHsKLSAgICAgIHZhciBzZXJ2aWNlUGFyYW1ldGVyID0gewotICAgICAgICAgICdvcGVyYXRpb24nOiAiREVMRVRFIiwKLSAgICAgICAgICAnZ2F0ZXdheVVyaSc6IG5mdm9Oc1VybAotICAgICAgfTsKLSAgICAgIHJlc3VsdCA9IHNlbmRSZXF1ZXN0KGdhdGV3YXlTZXJ2aWNlLCBzZXJ2aWNlUGFyYW1ldGVyKTsKKyAgICBpZiAocmVzdWx0KSB7CisgICAgICAgIHZhciBzZXJ2aWNlUGFyYW1ldGVyID0geworICAgICAgICAgICAgJ29wZXJhdGlvbic6ICJERUxFVEUiLAorICAgICAgICAgICAgJ2dhdGV3YXlVcmknOiBuZnZvTnNVcmwKKyAgICAgICAgfTsKKyAgICAgICAgcmVzdWx0ID0gc2VuZFJlcXVlc3QoZ2F0ZXdheVNlcnZpY2UsIHNlcnZpY2VQYXJhbWV0ZXIpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDI0LDE5ICs0MjQsMTkgQEAKICAgICB2YXIgc2Rub05zVXJsID0gJy9vcGVub2FwaS9zZG5vbnNsY20vdjEuMC9ucy8nICsgaW5zdGFuY2VJZDsKICAgICB2YXIgc2Rub05zVGVybWluYXRlVXJsID0gc2Rub05zVXJsICsgJy90ZXJtaW5hdGUnOwogICAgIHZhciB0ZXJtaW5hdGVQYXJhbWV0ZXIgPSB7Ci0gICAgICAnbnNJbnN0YW5jZUlkJzogaW5zdGFuY2VJZCwKLSAgICAgICd0ZXJtaW5hdGlvblR5cGUnOiAiZ3JhY2VmdWwiLAotICAgICAgJ2dyYWNlZnVsVGVybWluYXRpb25UaW1lb3V0JzogIjYwIiwKLSAgICAgICdvcGVyYXRpb24nOiAiUE9TVCIsCi0gICAgICAnZ2F0ZXdheVVyaSc6IHNkbm9Oc1Rlcm1pbmF0ZVVybAorICAgICAgICAnbnNJbnN0YW5jZUlkJzogaW5zdGFuY2VJZCwKKyAgICAgICAgJ3Rlcm1pbmF0aW9uVHlwZSc6ICJncmFjZWZ1bCIsCisgICAgICAgICdncmFjZWZ1bFRlcm1pbmF0aW9uVGltZW91dCc6ICI2MCIsCisgICAgICAgICdvcGVyYXRpb24nOiAiUE9TVCIsCisgICAgICAgICdnYXRld2F5VXJpJzogc2Rub05zVGVybWluYXRlVXJsCiAgICAgfTsKICAgICB2YXIgcmVzdWx0ID0gc2VuZERlbGV0ZVJlcXVlc3QoZ2F0ZXdheVNlcnZpY2UsIHRlcm1pbmF0ZVBhcmFtZXRlcik7Ci0gICAgaWYocmVzdWx0KSB7Ci0gICAgICB2YXIgc2VydmljZVBhcmFtZXRlciA9IHsKLSAgICAgICAgJ29wZXJhdGlvbic6ICJERUxFVEUiLAotICAgICAgICAnZ2F0ZXdheVVyaSc6IHNkbm9Oc1VybAotICAgICAgfTsKLSAgICAgIHJlc3VsdCA9IHNlbmREZWxldGVSZXF1ZXN0KGdhdGV3YXlTZXJ2aWNlLCBzZXJ2aWNlUGFyYW1ldGVyKTsKKyAgICBpZiAocmVzdWx0KSB7CisgICAgICAgIHZhciBzZXJ2aWNlUGFyYW1ldGVyID0geworICAgICAgICAgICAgJ29wZXJhdGlvbic6ICJERUxFVEUiLAorICAgICAgICAgICAgJ2dhdGV3YXlVcmknOiBzZG5vTnNVcmwKKyAgICAgICAgfTsKKyAgICAgICAgcmVzdWx0ID0gc2VuZERlbGV0ZVJlcXVlc3QoZ2F0ZXdheVNlcnZpY2UsIHNlcnZpY2VQYXJhbWV0ZXIpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDQ0LDE2ICs0NDQsMTYgQEAKIGZ1bmN0aW9uIHNlbmREZWxldGVSZXF1ZXN0KGdhdGV3YXlTZXJ2aWNlLCBwYXJhbWV0ZXIpIHsKICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7CiAgICAgJC5hamF4KHsKLSAgICAgICAgdHlwZSA6ICJERUxFVEUiLAorICAgICAgICB0eXBlOiAiREVMRVRFIiwKICAgICAgICAgYXN5bmM6IGZhbHNlLAotICAgICAgICB1cmwgOiBnYXRld2F5U2VydmljZSwKLSAgICAgICAgY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0gICAgICAgIGRhdGFUeXBlIDogImpzb24iLAotICAgICAgICBkYXRhIDogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVyKSwKLSAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25SZXNwKSB7CisgICAgICAgIHVybDogZ2F0ZXdheVNlcnZpY2UsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlciksCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgewogICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgfSwKLSAgICAgICAgZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7CiAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKICAgICAgICAgfQogICAgIH0pOwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy9yZXN0LmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy9yZXN0LmpzCmluZGV4IGMyN2RiZjAuLjY4MGFkMTEgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvcmVzdC5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3Jlc3QuanMKQEAgLTE0LDY4ICsxNCw2OCBAQAogICovDQogDQogDQotJChmdW5jdGlvbigpew0KLQkkKCcuY3JlYXQtYnRuJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsnZGlzcGxheSc6J2Jsb2NrJ30pOw0KLQkJCQkNCi0JCQl9KTsNCi0JCQkkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQl9KTsNCi0JCQkkKCcuZGV0YWlsLXRvcCB1bCBsaScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQodGhpcykuYWRkQ2xhc3MoJ2N1cnJlbnQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7DQotCQkJfSk7DQotCQkJJCgnLnBhcmEnKS5jbGljayhmdW5jdGlvbigpewkJCQkNCi0JCQkJaWYoJCgnI3NlcnZpY2VUZW1wbGF0ZU5hbWUnKS52YWwoKSA9PSAnJyl7DQotCQkJCQlhbGVydCgnUGxlYXNlIGNob29zZSB0aGUgc2VydmljZSB0ZW1wbGV077yBJyk7DQotCQkJCQkkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQkJCQl9ZWxzZXsNCi0JCQkJCSQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCdibG9jaycpOw0KLQkJCQl9DQotCQkJCSQoJyNiYXNpY1RhYicpLmNzcygnZGlzcGxheScsJ2Jsb2NrJyk7DQotCQkJfSk7DQotCQkJJCgnLmJhc2ljJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQl9KTsNCi0JCQkNCi0JCQkkKCcudGFibGUgdGJvZHkgdHInKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKHRoaXMpLmFkZENsYXNzKCdvcGVub1RhYmxlX3Jvd19zZWxlY3RlZCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJyk7DQotCQkJfSk7DQotCQkJJCgnLnRhYmxlIHRyOm9kZCcpLmFkZENsYXNzKCdhY3RpdmUnKTsNCi0JCQkkKCcjZmFsc2UnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeydkaXNwbGF5JzonYmxvY2snfSk7DQotCQkJfSk7DQotCQkJJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJfSk7DQotCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS50b2dnbGVDbGFzcygnb3Blbm8taGlkZScpOw0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KLQkJCQl2YXIgb0xlZnQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS5sZWZ0Ow0KLQkJCXZhciBvVG9wID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkudG9wOw0KLQkJCXZhciBvSGVpZ2h0ID0gJCgnI29wZW5fYmFzZV90cExfdGQ2JykuaGVpZ2h0KCk7DQotCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuY3NzKHsnbGVmdCc6b0xlZnQsJ3RvcCc6b1RvcCArIG9IZWlnaHQgKyAxMH0pOw0KLQkJCX0pOw0KLQkJCSQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCXZhciBMdmFsdWUgPSAkKHRoaXMpLmh0bWwoKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X2lucHV0JykuYXR0cigndmFsdWUnLEx2YWx1ZSk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmFkZENsYXNzKCdvcGVuby1oaWRlJyk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykucmVtb3ZlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7DQotCQkJfSk7DQotCQkJJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbigpIHsNCi0JCQkJdmFyIG8gPSB7fTsNCi0JCQkJdmFyIGEgPSB0aGlzLnNlcmlhbGl6ZUFycmF5KCk7DQotCQkJCSQuZWFjaChhLCBmdW5jdGlvbigpIHsNCi0JCQkJCWlmIChvW3RoaXMubmFtZV0gIT09IHVuZGVmaW5lZCkgew0KLQkJCQkJCWlmICghb1t0aGlzLm5hbWVdLnB1c2gpIHsNCi0JCQkJCQkJb1t0aGlzLm5hbWVdID0gWyBvW3RoaXMubmFtZV0gXTsNCi0JCQkJCQl9DQotCQkJCQlvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsNCi0JCQkJCX0gZWxzZSB7DQotCQkJCQkJb1t0aGlzLm5hbWVdID0gdGhpcy52YWx1ZSB8fCAnJzsNCi0JCQkJCX0NCi0JCQkJfSk7DQotCQkJcmV0dXJuIG87DQotCQkJfTsNCi0JDQorJChmdW5jdGlvbiAoKSB7DQorICAgICQoJy5jcmVhdC1idG4nKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeydkaXNwbGF5JzogJ2Jsb2NrJ30pOw0KKw0KKyAgICB9KTsNCisgICAgJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKyAgICB9KTsNCisgICAgJCgnLmRldGFpbC10b3AgdWwgbGknKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOw0KKyAgICB9KTsNCisgICAgJCgnLnBhcmEnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICBpZiAoJCgnI3NlcnZpY2VUZW1wbGF0ZU5hbWUnKS52YWwoKSA9PSAnJykgew0KKyAgICAgICAgICAgIGFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsNCisgICAgICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgJCgnI2Jhc2ljVGFiJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7DQorICAgIH0pOw0KKyAgICAkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgfSk7DQorDQorICAgICQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsNCisgICAgfSk7DQorICAgICQoJy50YWJsZSB0cjpvZGQnKS5hZGRDbGFzcygnYWN0aXZlJyk7DQorICAgICQoJyNmYWxzZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOiAnYmxvY2snfSk7DQorICAgIH0pOw0KKyAgICAkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgIH0pOw0KKyAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKCdvcGVuby1oaWRlJyk7DQorICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICAgICAgdmFyIG9MZWZ0ID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkubGVmdDsNCisgICAgICAgIHZhciBvVG9wID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkudG9wOw0KKyAgICAgICAgdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmNzcyh7J2xlZnQnOiBvTGVmdCwgJ3RvcCc6IG9Ub3AgKyBvSGVpZ2h0ICsgMTB9KTsNCisgICAgfSk7DQorICAgICQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBMdmFsdWUgPSAkKHRoaXMpLmh0bWwoKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9pbnB1dCcpLmF0dHIoJ3ZhbHVlJywgTHZhbHVlKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmFkZENsYXNzKCdvcGVuby1oaWRlJyk7DQorICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnJlbW92ZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICB9KTsNCisgICAgJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgbyA9IHt9Ow0KKyAgICAgICAgdmFyIGEgPSB0aGlzLnNlcmlhbGl6ZUFycmF5KCk7DQorICAgICAgICAkLmVhY2goYSwgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIGlmIChvW3RoaXMubmFtZV0gIT09IHVuZGVmaW5lZCkgew0KKyAgICAgICAgICAgICAgICBpZiAoIW9bdGhpcy5uYW1lXS5wdXNoKSB7DQorICAgICAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSBbb1t0aGlzLm5hbWVdXTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KKyAgICAgICAgcmV0dXJuIG87DQorICAgIH07DQorDQogfSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RtTm9kZXNDb250cm9sbGVyLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90bU5vZGVzQ29udHJvbGxlci5qcwppbmRleCA1NjJmNDAwLi43OGEzZDRjIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RtTm9kZXNDb250cm9sbGVyLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG1Ob2Rlc0NvbnRyb2xsZXIuanMKQEAgLTE1LDE3ICsxNSwxNyBAQAogICovCiAKIHZhciB2bSA9IGF2YWxvbi5kZWZpbmUoewotICAgICRpZCA6ICJ0bU5vZGVzQ29udHJvbGxlciIsCi0gICAgaW5zdGFuY2VJZCA6ICIiLAorICAgICRpZDogInRtTm9kZXNDb250cm9sbGVyIiwKKyAgICBpbnN0YW5jZUlkOiAiIiwKICAgICAkbGFuZ3VhZ2U6IHsKICAgICAgICAgInNQcm9jZXNzaW5nIjogIjxpbWcgc3JjPScuLi9jb21wb25lbnQvdGhpcmRwYXJ0eS9kYXRhLXRhYmxlcy9pbWFnZXMvbG9hZGluZy1zcGlubmVyLWdyZXkuZ2lmJy8+PHNwYW4+Jm5ic3A7Jm5ic3A7IgotICAgICAgICArJC5pMThuLnByb3AoIm5mdi1uc28taXVpLXRhYmxlLXNQcm9jZXNzIikrIjwvc3Bhbj4iLAorICAgICAgICArICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zUHJvY2VzcyIpICsgIjwvc3Bhbj4iLAogICAgICAgICAic0xlbmd0aE1lbnUiOiAkLmkxOG4ucHJvcCgibmZ2LW5zby1pdWktdGFibGUtc0xlbmd0aE1lbnUiKSwKICAgICAgICAgInNaZXJvUmVjb3JkcyI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zWmVyb1JlY29yZHMiKSwKICAgICAgICAgInNJbmZvIjogIjxzcGFuIGNsYXNzPSdzZXBlcmF0b3InPiAgPC9zcGFuPiIgKyAkLmkxOG4ucHJvcCgibmZ2LW5zby1pdWktdGFibGUtc0luZm8iKSwKICAgICAgICAgInNJbmZvRW1wdHkiOiAkLmkxOG4ucHJvcCgibmZ2LW5zby1pdWktdGFibGUtc0luZm9FbXB0eSIpLAogICAgICAgICAic0dyb3VwQWN0aW9ucyI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zR3JvdXBBY3Rpb25zIiksCi0gICAgICAgICJzQWpheFJlcXVlc3RHZW5lcmFsRXJyb3IiOiQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zQWpheFJlcXVlc3RHZW5lcmFsRXJyb3IiKSwKKyAgICAgICAgInNBamF4UmVxdWVzdEdlbmVyYWxFcnJvciI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zQWpheFJlcXVlc3RHZW5lcmFsRXJyb3IiKSwKICAgICAgICAgInNFbXB0eVRhYmxlIjogJC5pMThuLnByb3AoIm5mdi1uc28taXVpLXRhYmxlLXNFbXB0eVRhYmxlIiksCiAgICAgICAgICJvUGFnaW5hdGUiOiB7CiAgICAgICAgICAgICAic1ByZXZpb3VzIjogJC5pMThuLnByb3AoIm5mdi1uc28taXVpLXRhYmxlLXNQcmV2aW91cyIpLApAQCAtMzQsNjIgKzM0LDYyIEBACiAgICAgICAgICAgICAic1BhZ2VPZiI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zUGFnZU9mIikKICAgICAgICAgfQogICAgIH0sCi0gICAgJHJlc3RVcmwgOiB7Ci0gICAgICAgIHF1ZXJ5Tm9kZUluc3RhbmNlVXJsIDogIi9vcGVub2FwaS9uc2xjbS92MS4wL25zLyIKKyAgICAkcmVzdFVybDogeworICAgICAgICBxdWVyeU5vZGVJbnN0YW5jZVVybDogIi9vcGVub2FwaS9uc2xjbS92MS4wL25zLyIKICAgICB9LAotICAgICRpbml0IDogZnVuY3Rpb24oKSB7CisgICAgJGluaXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdm0uJGluaXRJbnN0YW5jZURhdGEoKTsKICAgICB9LAotICAgICRpbml0SW5zdGFuY2VEYXRhIDogZnVuY3Rpb24oKSB7CisgICAgJGluaXRJbnN0YW5jZURhdGE6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgJC5hamF4KHsKLSAgICAgICAgICAgIHR5cGUgOiAiR0VUIiwKLSAgICAgICAgICAgIHVybCA6IHZtLiRyZXN0VXJsLnF1ZXJ5Tm9kZUluc3RhbmNlVXJsLAotICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uKHJlc3ApIHsKLSAgICAgICAgICAgICAgICBpZihyZXNwKSB7CisgICAgICAgICAgICB0eXBlOiAiR0VUIiwKKyAgICAgICAgICAgIHVybDogdm0uJHJlc3RVcmwucXVlcnlOb2RlSW5zdGFuY2VVcmwsCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcCkgeworICAgICAgICAgICAgICAgIGlmIChyZXNwKSB7CiAgICAgICAgICAgICAgICAgICAgIHZtLnNlcnZpY2VzSW5zdGFuY2VEYXRhID0gWwotICAgICAgICAgICAgICAgICAgICAgICByZXNwLm5zTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kZXNjcmlwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5uc2RJZCwKLSAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5uc1N0YXRlCisgICAgICAgICAgICAgICAgICAgICAgICByZXNwLm5zTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICByZXNwLm5zZElkLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5uc1N0YXRlCiAgICAgICAgICAgICAgICAgICAgIF07CiAgICAgICAgICAgICAgICAgICAgIHZhciB0YWJsZURhdGEgPSBbCi0gICAgICAgICAgICAgICAgICAgICAgICBbcmVzcC52bmZJbmZvSWRdLAotICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc3AudmxJbmZvLnZsZElkXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNwLnZuZmZnSW5mby52bmZmZ0luc3RhbmNlSWRdCisgICAgICAgICAgICAgICAgICAgICAgICBbcmVzcC52bmZJbmZvSWQsICd2bmYnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFtyZXNwLnZsSW5mby52bGRJZCwgJ3ZsJ10sCisgICAgICAgICAgICAgICAgICAgICAgICBbcmVzcC52bmZmZ0luZm8udm5mZmdJbnN0YW5jZUlkLCAndm5mZmcnXQogICAgICAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICAgICAgICAgICB2bS4kaW5pdE5mdk5vZGVzVGFiKCk7CiAgICAgICAgICAgICAgICAgICAgIHZtLm5vZGVzTGlzdC5ub2Rlc0RhdGEgPSB0YWJsZURhdGE7CiAgICAgICAgICAgICAgICAgICAgIHZtLm5vZGVzTGlzdC4kaW5pdE5vZGVzVGFibGUoKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgZXJyb3IgOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgY29tbW9uVXRpbC5zaG93TWVzc2FnZSgkLmkxOG4ucHJvcCgibmZ2LXRvcG9sb2d5LWl1aS1tZXNzYWdlLWVycm9yIiksICJkYW5nZXIiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSk7CiAgICAgfSwKICAgICBzZXJ2aWNlc0luc3RhbmNlRGF0YTogW10sCi0gICAgJG5vZGVzVGFiSWQgOiAiaWN0X25vZGVzX3RlbXBsYXRlX3RhYmxlIiwKLSAgICAkbm9kZXNJbnN0YW5jZVRhYkZpZWxkcyA6IHsvLyB0YWJsZSBjb2x1bW5zCisgICAgJG5vZGVzVGFiSWQ6ICJpY3Rfbm9kZXNfdGVtcGxhdGVfdGFibGUiLAorICAgICRub2Rlc0luc3RhbmNlVGFiRmllbGRzOiB7Ly8gdGFibGUgY29sdW1ucwogICAgICAgICB0YWJsZTogWwotICAgICAgICAgICAgeyJtRGF0YSI6ICJzZXJ2aWNlSW5zdGFuY2VJZCIsIG5hbWU6ICJJRCIsImJWaXNpYmxlIjogZmFsc2V9LAotICAgICAgICAgICAgeyJtRGF0YSI6ICIiLCBuYW1lOiAiIiwic0NsYXNzIjogJ2RldGFpbHMtY29udHJvbCd9LAorICAgICAgICAgICAgeyJtRGF0YSI6ICJzZXJ2aWNlSW5zdGFuY2VJZCIsIG5hbWU6ICJJRCIsICJiVmlzaWJsZSI6IGZhbHNlfSwKKyAgICAgICAgICAgIHsibURhdGEiOiAiIiwgbmFtZTogIiIsICJzQ2xhc3MiOiAnZGV0YWlscy1jb250cm9sJ30sCiAgICAgICAgICAgICB7Im1EYXRhIjogInNlcnZpY2VOYW1lIiwgbmFtZTogIlNlcnZpY2UgTmFtZSJ9LAogICAgICAgICAgICAgeyJtRGF0YSI6ICJzZXJ2aWNlRGVzY3JpcHRpb24iLCBuYW1lOiAiU2VydmljZSBEZXNjcmlwdGlvbiJ9LAogICAgICAgICAgICAgeyJtRGF0YSI6ICJuc2RJZCIsIG5hbWU6ICJOU0QgSUQifSwKLSAgICAgICAgICAgIHsibURhdGEiOiJzdGF0dXMiLCBuYW1lOiAiU3RhdHVzIn0KKyAgICAgICAgICAgIHsibURhdGEiOiAic3RhdHVzIiwgbmFtZTogIlN0YXR1cyJ9CiAgICAgICAgIF0KICAgICB9LAotICAgICRpbml0TmZ2Tm9kZXNUYWI6IGZ1bmN0aW9uKCkgeworICAgICRpbml0TmZ2Tm9kZXNUYWI6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIHNldHRpbmcgPSB7fTsKICAgICAgICAgc2V0dGluZy5sYW5ndWFnZSA9IHZtLiRsYW5ndWFnZTsKICAgICAgICAgc2V0dGluZy5wYWdpbmF0ZSA9IHRydWU7CiAgICAgICAgIHNldHRpbmcuaW5mbyA9IHRydWU7CiAgICAgICAgIHNldHRpbmcuY29sdW1ucyA9IHZtLiRub2Rlc0luc3RhbmNlVGFiRmllbGRzLnRhYmxlOwogICAgICAgICBzZXR0aW5nLnRhYmxlSWQgPSB2bS4kbm9kZXNUYWJJZDsKLSAgICAgICAgdm0uJGluaXREYXRhVGFibGUoc2V0dGluZyx2bS4kbm9kZXNUYWJJZCArICdfZGl2Jywgdm0uc2VydmljZXNJbnN0YW5jZURhdGEpOworICAgICAgICB2bS4kaW5pdERhdGFUYWJsZShzZXR0aW5nLCB2bS4kbm9kZXNUYWJJZCArICdfZGl2Jywgdm0uc2VydmljZXNJbnN0YW5jZURhdGEpOwogICAgICAgICAkKCcjJyArIHZtLiRub2Rlc1RhYklkICsgJz50Ym9keScpLm9uKCJjbGljayIsICd0ZC5kZXRhaWxzLWNvbnRyb2wnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICB2YXIgdHIgPSAkKHRoaXMpLmNsb3Nlc3QoJ3RyJyk7Ci0gICAgICAgICAgICB2YXIgdGFibGUgPSAgJCgnIycgKyB2bS4kbm9kZXNUYWJJZCkuZGF0YVRhYmxlKCk7CisgICAgICAgICAgICB2YXIgdGFibGUgPSAkKCcjJyArIHZtLiRub2Rlc1RhYklkKS5kYXRhVGFibGUoKTsKICAgICAgICAgICAgIGlmICh0YWJsZS5mbklzT3Blbih0clswXSkpIHsKICAgICAgICAgICAgICAgICB0YWJsZS5mbkNsb3NlKHRyWzBdKTsKICAgICAgICAgICAgICAgICB0ci5yZW1vdmVDbGFzcygnc2hvd24nKTsKQEAgLTEwMSwzNyArMTAxLDMyIEBACiAgICAgICAgIH0pOwogICAgIH0sCiAKLSAgICAkaW5pdERhdGFUYWJsZSA6IGZ1bmN0aW9uKCBzZXR0aW5nLCBkaXZJZCwgdGFibGVEYXRhKSB7CisgICAgJGluaXREYXRhVGFibGU6IGZ1bmN0aW9uIChzZXR0aW5nLCBkaXZJZCwgdGFibGVEYXRhKSB7CiAgICAgICAgIC8vdHJhbnNmb3JtIGNvbG9tbgogICAgICAgICB2YXIgY29sdW1uID0gc2V0dGluZy5jb2x1bW5zOwogICAgICAgICAvL2VtcHR5IHRhYmxlCi0gICAgICAgICQoJyMnKyBkaXZJZCkuY2hpbGRyZW4oKS5yZW1vdmUoKTsKKyAgICAgICAgJCgnIycgKyBkaXZJZCkuY2hpbGRyZW4oKS5yZW1vdmUoKTsKICAgICAgICAgdmFyIHRhYmxlSWQgPSBzZXR0aW5nLnRhYmxlSWQ7Ci0gICAgICAgIHZhciB0YWJsZUVsZVN0ciA9ICc8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWQgdGFibGUtaG92ZXIiIGlkPSAnKyB0YWJsZUlkICsgJz4nCisgICAgICAgIHZhciB0YWJsZUVsZVN0ciA9ICc8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWQgdGFibGUtaG92ZXIiIGlkPSAnICsgdGFibGVJZCArICc+JwogICAgICAgICAgICAgKyAnPHRoZWFkPicKLSAgICAgICAgICAgICsnPHRyIHJvbGU9InJvdyIgY2xhc3M9ImhlYWRpbmciID4nCisgICAgICAgICAgICArICc8dHIgcm9sZT0icm93IiBjbGFzcz0iaGVhZGluZyIgPicKICAgICAgICAgICAgICsgJzwvdHI+JwogICAgICAgICAgICAgKyAnPC90aGVhZD4nCi0gICAgICAgICAgICArJzx0Ym9keT4nCi0gICAgICAgICAgICArJzwvdGJvZHk+JwotICAgICAgICAgICAgKyc8L3RhYmxlPic7Ci0gICAgICAgICQoJyMnKyBkaXZJZCkuYXBwZW5kKHRhYmxlRWxlU3RyKTsKLSAgICAgICAgLy8kKCcjJysgdGFibGVJZCkuYXBwZW5kKCcgPHRoZWFkPjx0ciByb2xlPSJyb3ciIGNsYXNzPSJoZWFkaW5nIiA+PC90cj48L3RoZWFkPjx0Ym9keT48L3Rib2R5PicpOwotICAgICAgICB2YXIgdHJFbGUgPSAkKCcjJysgdGFibGVJZCAgKyAnID4gdGhlYWQgPnRyJyk7Ci0gICAgICAgIC8vdmFyIGRhdGFUYWJsZUNvbHVtbiA9IFtdOwotICAgICAgICBmb3IgKCB2YXIgb25lIGluIGNvbHVtbil7CisgICAgICAgICAgICArICc8dGJvZHk+JworICAgICAgICAgICAgKyAnPC90Ym9keT4nCisgICAgICAgICAgICArICc8L3RhYmxlPic7CisgICAgICAgICQoJyMnICsgZGl2SWQpLmFwcGVuZCh0YWJsZUVsZVN0cik7CisgICAgICAgIHZhciB0ckVsZSA9ICQoJyMnICsgdGFibGVJZCArICcgPiB0aGVhZCA+dHInKTsKKyAgICAgICAgZm9yICh2YXIgb25lIGluIGNvbHVtbikgewogICAgICAgICAgICAgdmFyIHRoID0gJzx0aD4nICsgY29sdW1uW29uZV0ubmFtZSArICc8L3RoPic7CiAgICAgICAgICAgICB0ckVsZS5hcHBlbmQodGgpOwogICAgICAgICB9CiAgICAgICAgIHZhciB0YWJsZSA9ICQoIiMiICsgdGFibGVJZCkuZGF0YVRhYmxlKHsKLSAgICAgICAgICAgIC8vInNEb20iIDogInRyPCdyb3cnPCdjb2wtbWQtNiBjb2wtc20tMTInPjwnY29sLW1kLTYgY29sLXNtLTEyJ3BsaT4+IiwgLy8gZGF0YXRhYmxlIGxheW91dAotICAgICAgICAgICAgLy8ic0RvbSIgOiAiPCdyb3cnPCdjb2wtbWQtMTIgY29sLXNtLTEyJ2xpcD5yPjwndGFibGUtc2Nyb2xsYWJsZSd0Pj4iLAogICAgICAgICAgICAgInNEb20iOiAnPCJ0b3AicnQ+PCJib3R0b20ibGlwPicsCiAgICAgICAgICAgICAib0xhbmd1YWdlIjogc2V0dGluZy5sYW5ndWFnZSwvL2xhbmd1YWdlCi0gICAgICAgICAgICAvLyJiSlF1ZXJ5VUkiOiB0cnVlLAogICAgICAgICAgICAgImJQYWdpbmF0ZSI6IHNldHRpbmcucGFnaW5hdGUsLy8gcGFnZSBidXR0b24KICAgICAgICAgICAgICJiRmlsdGVyIjogZmFsc2UsLy8gc2VhcmNoIGJhcgotICAgICAgICAgICAgImJBdXRvV2lkdGgiOnRydWUsLy9hdXRvbWF0aWNhbGx5IHNldCBjb2x1bSB3aWR0aAorICAgICAgICAgICAgImJBdXRvV2lkdGgiOiB0cnVlLC8vYXV0b21hdGljYWxseSBzZXQgY29sdW0gd2lkdGgKICAgICAgICAgICAgICJiTGVuZ3RoQ2hhbmdlIjogdHJ1ZSwvLyByZWNvcmQgbnVtYmVyIGluIGVhY2ggcm93CiAgICAgICAgICAgICAiaURpc3BsYXlMZW5ndGgiOiAxMCwvLyByb3cgbnVtYmVyIGluIGVhY2ggcGFnZQogICAgICAgICAgICAgImJTb3J0Ijogc2V0dGluZy5zb3J0ID8gdHJ1ZSA6IGZhbHNlLC8vIHNvcnQKQEAgLTE0NSw0NyArMTQwLDU1IEBACiAgICAgICAgICAgICAiYlNvcnRDZWxsc1RvcCI6IHRydWUsCiAgICAgICAgICAgICAiYW9Db2x1bW5zIjogc2V0dGluZy5jb2x1bW5zLAogICAgICAgICAgICAgImFvQ29sdW1uRGVmcyI6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzRGVmYXVsdENvbnRlbnQ6ICcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFUYXJnZXRzOiBbICdfYWxsJyBdCi0gICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBzRGVmYXVsdENvbnRlbnQ6ICcnLAorICAgICAgICAgICAgICAgICAgICBhVGFyZ2V0czogWydfYWxsJ10KKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImFhRGF0YSI6IHRhYmxlRGF0YQogICAgICAgICB9KTsKICAgICB9OwogCi0gICAgLy9ub2RlcyBsaXN0IHRhYmxlCi0gICAgbm9kZXNMaXN0IDp7Ci0gICAgICAgIG5vZGVzRGF0YTogW10sCi0gICAgICAgICRub2Rlc1RhYkRhdGFJZCA6ICJpY3Rfbm9kZXNfdGFibGUiLAotICAgICAgICAkbm9kZXNUYWJGaWVsZHMgOiB7Ly8gdGFibGUgY29sdW1ucwotICAgICAgICAgICAgdGFibGU6IFsKLSAgICAgICAgICAgICAgICB7Im1EYXRhIjogImlkIiwgbmFtZTogIklEIiwgImJWaXNpYmxlIjogZmFsc2V9LAotICAgICAgICAgICAgICAgIHsibURhdGEiOiAiaW5zdGFuY2VJZCIsIG5hbWU6ICJJbnN0YW5jZSBJZCJ9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgICRpbml0Tm9kZXNUYWJsZTogZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgdmFyIHNldHRpbmcgPSB7fTsKLSAgICAgICAgICAgIHNldHRpbmcubGFuZ3VhZ2UgPSB2bS4kbGFuZ3VhZ2U7Ci0gICAgICAgICAgICBzZXR0aW5nLnBhZ2luYXRlID0gdHJ1ZTsKLSAgICAgICAgICAgIHNldHRpbmcuaW5mbyA9IHRydWU7Ci0gICAgICAgICAgICBzZXR0aW5nLmNvbHVtbnMgPSB2bS5ub2Rlc0xpc3QuJG5vZGVzVGFiRmllbGRzLnRhYmxlOwotICAgICAgICAgICAgc2V0dGluZy50YWJsZUlkID0gdm0ubm9kZXNMaXN0LiRub2Rlc1RhYkRhdGFJZDsKLSAgICAgICAgICAgIHZtLiRpbml0RGF0YVRhYmxlKHNldHRpbmcsdm0ubm9kZXNMaXN0LiRub2Rlc1RhYkRhdGFJZCArICdfZGl2Jywgdm0ubm9kZXNMaXN0Lm5vZGVzRGF0YSk7Ci0gICAgICAgIH0KKy8vbm9kZXMgbGlzdCB0YWJsZQorbm9kZXNMaXN0IDp7CisgICAgbm9kZXNEYXRhOiBbXSwKKyAgICAgICAgJG5vZGVzVGFiRGF0YUlkCis6CisgICAgImljdF9ub2Rlc190YWJsZSIsCisgICAgICAgICRub2Rlc1RhYkZpZWxkcworOgorICAgIHsvLyB0YWJsZSBjb2x1bW5zCisgICAgICAgIHRhYmxlOiBbCisgICAgICAgICAgICB7Im1EYXRhIjogImlkIiwgbmFtZTogIklEIiwgImJWaXNpYmxlIjogZmFsc2V9LAorICAgICAgICAgICAgeyJtRGF0YSI6ICJpbnN0YW5jZUlkIiwgbmFtZTogIkluc3RhbmNlIElkIn0sCisgICAgICAgICAgICB7Im1EYXRhIjogIm5vZGVUeXBlIiwgbmFtZTogIk5vZGUgVHlwZSJ9CisgICAgICAgIF0KICAgICB9Ci19KTsKKywKKyAgICAkaW5pdE5vZGVzVGFibGU6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdmFyIHNldHRpbmcgPSB7fTsKKyAgICAgICAgc2V0dGluZy5sYW5ndWFnZSA9IHZtLiRsYW5ndWFnZTsKKyAgICAgICAgc2V0dGluZy5wYWdpbmF0ZSA9IHRydWU7CisgICAgICAgIHNldHRpbmcuaW5mbyA9IHRydWU7CisgICAgICAgIHNldHRpbmcuY29sdW1ucyA9IHZtLm5vZGVzTGlzdC4kbm9kZXNUYWJGaWVsZHMudGFibGU7CisgICAgICAgIHNldHRpbmcudGFibGVJZCA9IHZtLm5vZGVzTGlzdC4kbm9kZXNUYWJEYXRhSWQ7CisgICAgICAgIHZtLiRpbml0RGF0YVRhYmxlKHNldHRpbmcsIHZtLm5vZGVzTGlzdC4kbm9kZXNUYWJEYXRhSWQgKyAnX2RpdicsIHZtLm5vZGVzTGlzdC5ub2Rlc0RhdGEpOworICAgIH0KK30KK30pCis7CiAKLXZhciBpbml0UGFyYW0gPSBmdW5jdGlvbigpIHsgLy9pbml0aWFsaXplIHRlbXBsYXRlIGRldGFpbCBwYXJhbXMKK3ZhciBpbml0UGFyYW0gPSBmdW5jdGlvbiAoKSB7CiAgICAgdmFyIHBhcmFtU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7Ci0gICAgaWYocGFyYW1TdHIubGVuZ3RoID4gMCkgeworICAgIGlmIChwYXJhbVN0ci5sZW5ndGggPiAwKSB7CiAgICAgICAgIGF2YWxvbi5zY2FuKCk7CiAgICAgICAgIHZhciBwYXJhbXMgPSBwYXJhbVN0ci5zcGxpdCgiJiIpOwogICAgICAgICB2YXIgaW5zdGFuY2VJZCA9IHBhcmFtc1swXS5zdWJzdHJpbmcocGFyYW1zWzBdLmluZGV4T2YoJz0nKSArIDEpOwotICAgICAgICAKKwogICAgICAgICB2bS5pbnN0YW5jZUlkID0gaW5zdGFuY2VJZDsKICAgICAgICAgdm0uJHJlc3RVcmwucXVlcnlOb2RlSW5zdGFuY2VVcmwgPSBjb21tb25VdGlsLmZvcm1hdCh2bS4kcmVzdFVybC5xdWVyeU5vZGVJbnN0YW5jZVVybCwgaW5zdGFuY2VJZCk7CiAgICAgICAgIHZtLiRpbml0KCk7CiAgICAgfQogfTsKKwogaW5pdFBhcmFtKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90bVRvcG9Db250cm9sbGVyLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90bVRvcG9Db250cm9sbGVyLmpzCmluZGV4IDRkNzkwNTAuLjgwYTY1MDUgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG1Ub3BvQ29udHJvbGxlci5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RtVG9wb0NvbnRyb2xsZXIuanMKQEAgLTE1LDE4ICsxNSwxOCBAQAogICovCiAKIHZhciB2bSA9IGF2YWxvbi5kZWZpbmUoewotICAgICRpZCA6ICJ0bVRvcG9Db250cm9sbGVyIiwKLSAgICB0ZW1wbGF0ZUlkIDogIiIsCisgICAgJGlkOiAidG1Ub3BvQ29udHJvbGxlciIsCisgICAgdGVtcGxhdGVJZDogIiIsCiAgICAgbm9kZXNEYXRhOiBbXSwKICAgICAkbGFuZ3VhZ2U6IHsKICAgICAgICAgInNQcm9jZXNzaW5nIjogIjxpbWcgc3JjPScuLi9jb21wb25lbnQvdGhpcmRwYXJ0eS9kYXRhLXRhYmxlcy9pbWFnZXMvbG9hZGluZy1zcGlubmVyLWdyZXkuZ2lmJy8+PHNwYW4+Jm5ic3A7Jm5ic3A7IgotICAgICAgICArJC5pMThuLnByb3AoIm5mdi1uc28taXVpLXRhYmxlLXNQcm9jZXNzIikrIjwvc3Bhbj4iLAorICAgICAgICArICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zUHJvY2VzcyIpICsgIjwvc3Bhbj4iLAogICAgICAgICAic0xlbmd0aE1lbnUiOiAkLmkxOG4ucHJvcCgibmZ2LW5zby1pdWktdGFibGUtc0xlbmd0aE1lbnUiKSwKICAgICAgICAgInNaZXJvUmVjb3JkcyI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zWmVyb1JlY29yZHMiKSwKICAgICAgICAgInNJbmZvIjogIjxzcGFuIGNsYXNzPSdzZXBlcmF0b3InPiAgPC9zcGFuPiIgKyAkLmkxOG4ucHJvcCgibmZ2LW5zby1pdWktdGFibGUtc0luZm8iKSwKICAgICAgICAgInNJbmZvRW1wdHkiOiAkLmkxOG4ucHJvcCgibmZ2LW5zby1pdWktdGFibGUtc0luZm9FbXB0eSIpLAogICAgICAgICAic0dyb3VwQWN0aW9ucyI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zR3JvdXBBY3Rpb25zIiksCi0gICAgICAgICJzQWpheFJlcXVlc3RHZW5lcmFsRXJyb3IiOiQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zQWpheFJlcXVlc3RHZW5lcmFsRXJyb3IiKSwKKyAgICAgICAgInNBamF4UmVxdWVzdEdlbmVyYWxFcnJvciI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zQWpheFJlcXVlc3RHZW5lcmFsRXJyb3IiKSwKICAgICAgICAgInNFbXB0eVRhYmxlIjogJC5pMThuLnByb3AoIm5mdi1uc28taXVpLXRhYmxlLXNFbXB0eVRhYmxlIiksCiAgICAgICAgICJvUGFnaW5hdGUiOiB7CiAgICAgICAgICAgICAic1ByZXZpb3VzIjogJC5pMThuLnByb3AoIm5mdi1uc28taXVpLXRhYmxlLXNQcmV2aW91cyIpLApAQCAtMzUsNDEgKzM1LDQxIEBACiAgICAgICAgICAgICAic1BhZ2VPZiI6ICQuaTE4bi5wcm9wKCJuZnYtbnNvLWl1aS10YWJsZS1zUGFnZU9mIikKICAgICAgICAgfQogICAgIH0sCi0gICAgJHJlc3RVcmwgOiB7Ci0gICAgICAgIHF1ZXJ5Tm9kZVRlbXBsYXRlVXJsIDogIi9vcGVub2FwaS9jYXRhbG9nL3YxL3NlcnZpY2V0ZW1wbGF0ZXMvezB9L25vZGV0ZW1wbGF0ZXMiLAotICAgICAgICBxdWVyeVRlbXBsYXRlSW5mb1VybCA6ICIvb3Blbm9hcGkvY2F0YWxvZy92MS9zZXJ2aWNldGVtcGxhdGVzIgorICAgICRyZXN0VXJsOiB7CisgICAgICAgIHF1ZXJ5Tm9kZVRlbXBsYXRlVXJsOiAiL29wZW5vYXBpL2NhdGFsb2cvdjEvc2VydmljZXRlbXBsYXRlcy97MH0vbm9kZXRlbXBsYXRlcyIsCisgICAgICAgIHF1ZXJ5VGVtcGxhdGVJbmZvVXJsOiAiL29wZW5vYXBpL2NhdGFsb2cvdjEvc2VydmljZXRlbXBsYXRlcyIKICAgICB9LAotICAgICRpbml0IDogZnVuY3Rpb24oKSB7CisgICAgJGluaXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdm0uJGluaXRUZW1wbGF0ZURhdGEoKTsKICAgICAgICAgdm0uJGluaXRUb3BvTm9kZXNEYXRhKCk7CiAgICAgfSwKLSAgICAkaW5pdFRlbXBsYXRlRGF0YSA6IGZ1bmN0aW9uKCkgeworICAgICRpbml0VGVtcGxhdGVEYXRhOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICQuYWpheCh7Ci0gICAgICAgICAgICB0eXBlIDogIkdFVCIsCi0gICAgICAgICAgICB1cmwgOiB2bS4kcmVzdFVybC5xdWVyeVRlbXBsYXRlSW5mb1VybCwKLSAgICAgICAgICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbihyZXNwKSB7Ci0gICAgICAgICAgICAgICAgaWYocmVzcCkgeworICAgICAgICAgICAgdHlwZTogIkdFVCIsCisgICAgICAgICAgICB1cmw6IHZtLiRyZXN0VXJsLnF1ZXJ5VGVtcGxhdGVJbmZvVXJsLAorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3ApIHsKKyAgICAgICAgICAgICAgICBpZiAocmVzcCkgewogICAgICAgICAgICAgICAgICAgICB2bS5zZXJ2aWNlc1RlbXBsYXRlRGF0YSA9IFtdOwotICAgICAgICAgICAgICAgICAgICBmb3IodmFyIGk9MDsgaTxyZXNwLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzcC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgLy9nZW5lcmF0ZSBub2RlIHRhYmxlIGRpc3BsYXkgZGF0YQogICAgICAgICAgICAgICAgICAgICAgICAgdm0uc2VydmljZXNUZW1wbGF0ZURhdGEucHVzaChyZXNwW2ldKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAvL3ZtLiRpbml0TmZ2Tm9kZXNUYWIoKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgZXJyb3IgOiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgY29tbW9uVXRpbC5zaG93TWVzc2FnZSgkLmkxOG4ucHJvcCgibmZ2LXRvcG9sb2d5LWl1aS1tZXNzYWdlLWVycm9yIiksICJkYW5nZXIiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSk7CiAgICAgfSwKLSAgICAkaW5pdFRvcG9Ob2Rlc0RhdGEgOiBmdW5jdGlvbigpIHsKKyAgICAkaW5pdFRvcG9Ob2Rlc0RhdGE6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgJC5hamF4KHsKLSAgICAgICAgICAgIHR5cGUgOiAiR0VUIiwKLSAgICAgICAgICAgIHVybCA6IHZtLiRyZXN0VXJsLnF1ZXJ5Tm9kZVRlbXBsYXRlVXJsLAotICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uKHJlc3ApIHsKLSAgICAgICAgICAgICAgICBpZihyZXNwKSB7CisgICAgICAgICAgICB0eXBlOiAiR0VUIiwKKyAgICAgICAgICAgIHVybDogdm0uJHJlc3RVcmwucXVlcnlOb2RlVGVtcGxhdGVVcmwsCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcCkgeworICAgICAgICAgICAgICAgIGlmIChyZXNwKSB7CiAgICAgICAgICAgICAgICAgICAgIHZtLm5vZGVzRGV0YWlsLm5vZGVzVGVtcGxhdGVEZXRhaWxEYXRhID0gW107Ci0gICAgICAgICAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpPHJlc3AubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNwLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvL2dlbmVyYXRlIG5vZGUgdGFibGUgZGlzcGxheSBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZVRlbXBsYXRlID0gdG9wb1V0aWwuZ2VuZXJhdGVOb2RlVGVtcGxhdGUocmVzcFtpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB2bS5ub2Rlc0RhdGEucHVzaChub2RlVGVtcGxhdGUpOwpAQCAtODEsNTggKzgxLDYyIEBACiAgICAgICAgICAgICAgICAgICAgIHRvcG9VdGlsLmluaXRUb3BvRGF0YSh2bS50b3BvbG9neVRhYi50b3BvVGVtcGxhdGVEYXRhLiRtb2RlbCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIGVycm9yIDogZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgIGNvbW1vblV0aWwuc2hvd01lc3NhZ2UoJC5pMThuLnByb3AoIm5mdi10b3BvbG9neS1pdWktbWVzc2FnZS1lcnJvciIpLCAiZGFuZ2VyIik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0pOwogICAgIH0sCi0gICAgdG9wb2xvZ3lUYWIgOiB7Ci0gICAgICAgIHRvcG9sb2d5IDogInRvcG9sb2d5Lmh0bWwiLAotICAgICAgICB2bmZUaXAgOiAkLmkxOG4ucHJvcCgibmZ2LXRvcG9sb2d5LWl1aS12bmYtdGlwIiksCi0gICAgICAgIGJ0blRpcCA6ICQuaTE4bi5wcm9wKCJuZnYtdG9wb2xvZ3ktaXVpLWJ0bi1yZXR1cm4tdGlwIiksCi0gICAgICAgIHRvcG9UZW1wbGF0ZURhdGE6W10sCi0gICAgICAgIGJveFRvcG9EYXRhczpbXSwKLSAgICAgICAgbmV0d29ya1RvcG9EYXRhczpbXSwKKyAgICB0b3BvbG9neVRhYjogeworICAgICAgICB0b3BvbG9neTogInRvcG9sb2d5Lmh0bWwiLAorICAgICAgICB2bmZUaXA6ICQuaTE4bi5wcm9wKCJuZnYtdG9wb2xvZ3ktaXVpLXZuZi10aXAiKSwKKyAgICAgICAgYnRuVGlwOiAkLmkxOG4ucHJvcCgibmZ2LXRvcG9sb2d5LWl1aS1idG4tcmV0dXJuLXRpcCIpLAorICAgICAgICB0b3BvVGVtcGxhdGVEYXRhOiBbXSwKKyAgICAgICAgYm94VG9wb0RhdGFzOiBbXSwKKyAgICAgICAgbmV0d29ya1RvcG9EYXRhczogW10sCiAgICAgICAgIGlzU2hvd051bTogZmFsc2UsCi0gICAgICAgIHJldHVybkJ0blZpc2libGUgOiBmYWxzZSwKLSAgICAgICAgJGdldENvbG9yOiBmdW5jdGlvbihpbmRleCkgeworICAgICAgICByZXR1cm5CdG5WaXNpYmxlOiBmYWxzZSwKKyAgICAgICAgJGdldENvbG9yOiBmdW5jdGlvbiAoaW5kZXgpIHsKICAgICAgICAgICAgIHJldHVybiB0b3BvVXRpbC5nZXRDb2xvcihpbmRleCk7CiAgICAgICAgIH0sCi0gICAgICAgICRnZXRDaWRyOiBmdW5jdGlvbihwcm9wZXJ0aWVzKXsKKyAgICAgICAgJGdldENpZHI6IGZ1bmN0aW9uIChwcm9wZXJ0aWVzKSB7CiAgICAgICAgICAgICByZXR1cm4gdG9wb1V0aWwuZ2V0Q2lkcihwcm9wZXJ0aWVzKTsKICAgICAgICAgfSwKLSAgICAgICAgJGdldENwVG9wOiBmdW5jdGlvbihpbmRleCwgcGFyZW50Qm94SWQpeworICAgICAgICAkZ2V0Q3BUb3A6IGZ1bmN0aW9uIChpbmRleCwgcGFyZW50Qm94SWQpIHsKICAgICAgICAgICAgIHJldHVybiB0b3BvVXRpbC5nZXRDcFRvcChpbmRleCwgcGFyZW50Qm94SWQpOwogICAgICAgICB9LAotICAgICAgICAkaW5pdFRvcG9sb2d5IDogZnVuY3Rpb24oKSB7CisgICAgICAgICRpbml0VG9wb2xvZ3k6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgIHRvcG9VdGlsLmluaXRUb3BvRGF0YSh2bS50b3BvbG9neVRhYi50b3BvVGVtcGxhdGVEYXRhLiRtb2RlbCk7CiAgICAgICAgIH0sCi0gICAgICAgICRzaG93VG9wbzpmdW5jdGlvbihpZCwgbmFtZSl7CisgICAgICAgICRzaG93VG9wbzogZnVuY3Rpb24gKGlkLCBuYW1lKSB7CiAgICAgICAgICAgICB2bS5ub2Rlc0RldGFpbC4kc2hvd0RldGFpbHMoImJsb2NrIiwgaWQsIG5hbWUpOwogICAgICAgICB9LAotICAgICAgICAkc2hvd1ZuZlRvcG86IGZ1bmN0aW9uKHRlbXBsYXRlSWQpIHsKKyAgICAgICAgJHNob3dWbmZUb3BvOiBmdW5jdGlvbiAodGVtcGxhdGVJZCkgewogICAgICAgICAgICAgdm0udG9wb2xvZ3lUYWIucmV0dXJuQnRuVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICAgICB2bS4kcmVzdFVybC5xdWVyeU5vZGVUZW1wbGF0ZVVybCA9ICIvb3Blbm9hcGkvY2F0YWxvZy92MS9zZXJ2aWNldGVtcGxhdGVzLyIgKyB0ZW1wbGF0ZUlkICsgIi9ub2RldGVtcGxhdGVzIjsKICAgICAgICAgICAgIHZtLiRpbml0KCk7CiAgICAgICAgIH0sCi0gICAgICAgICRyZXR1cm5OUzogZnVuY3Rpb24oKSB7CisgICAgICAgICRyZXR1cm5OUzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgdm0udG9wb2xvZ3lUYWIucmV0dXJuQnRuVmlzaWJsZSA9IGZhbHNlOwogICAgICAgICAgICAgdm0uJHJlc3RVcmwucXVlcnlOb2RlVGVtcGxhdGVVcmwgPSAiL29wZW5vYXBpL2NhdGFsb2cvdjEvc2VydmljZXRlbXBsYXRlcy8iICsgdm0udGVtcGxhdGVJZCArICIvbm9kZXRlbXBsYXRlcyI7CiAgICAgICAgICAgICB2bS4kaW5pdCgpOwogICAgICAgICB9CiAgICAgfSwKICAgICAvL05vZGVzIERldGFpbHMKLSAgICBub2Rlc0RldGFpbCA6IHsKKyAgICBub2Rlc0RldGFpbDogewogICAgICAgICBub2Rlc1RlbXBsYXRlRGV0YWlsRGF0YTogW10sCi0gICAgICAgIGRldGFpbFRpdGxlIDogIiIsCi0gICAgICAgIGlzU2hvdyA6ICJub25lIiwKLSAgICAgICAgZGV0YWlsSW5kZXggOiAwLAotICAgICAgICBkZXRhaWxEYXRhIDogWworICAgICAgICBkZXRhaWxUaXRsZTogIiIsCisgICAgICAgIGlzU2hvdzogIm5vbmUiLAorICAgICAgICBkZXRhaWxJbmRleDogMCwKKyAgICAgICAgZGV0YWlsRGF0YTogWwogICAgICAgICAgICAge2lkOiAiZ2VuZXJhbCIsIG5hbWU6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLXRhYi1nZW5lcmFsIiksIGlzQWN0aXZlOiB0cnVlfSwKICAgICAgICAgICAgIHtpZDogInByb3BlcnRpZXMiLCBuYW1lOiAkLmkxOG4ucHJvcCgibmZ2LXRlbXBsYXRlRGV0YWlsLW5vZGVzVGFiLWl1aS10YWItcHJvcGVydGllcyIpLCBpc0FjdGl2ZTogZmFsc2V9LAotICAgICAgICAgICAge2lkOiAicmVsYXRpb25TaGlwcyIsIG5hbWU6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLXRhYi1yZWxhdGlvblNoaXBzIiksIGlzQWN0aXZlOiBmYWxzZX0KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZDogInJlbGF0aW9uU2hpcHMiLAorICAgICAgICAgICAgICAgIG5hbWU6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLXRhYi1yZWxhdGlvblNoaXBzIiksCisgICAgICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlCisgICAgICAgICAgICB9CiAgICAgICAgIF0sCi0gICAgICAgICRzaG93RGV0YWlscyA6IGZ1bmN0aW9uKGlzU2hvdywgbm9kZXR5cGVpZCwgbm9kZXR5cGVuYW1lKSB7CisgICAgICAgICRzaG93RGV0YWlsczogZnVuY3Rpb24gKGlzU2hvdywgbm9kZXR5cGVpZCwgbm9kZXR5cGVuYW1lKSB7CiAgICAgICAgICAgICB2bS5ub2Rlc0RldGFpbC5pc1Nob3cgPSBpc1Nob3c7CiAgICAgICAgICAgICBpZiAoaXNTaG93ID09ICJibG9jayIpIHsKICAgICAgICAgICAgICAgICB2bS5ub2Rlc0RldGFpbC5kZXRhaWxUaXRsZSA9IG5vZGV0eXBlbmFtZSArICIgIiArICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLXRpdGxlLW5vZGVEZXRhaWwiKSwKQEAgLTE0MSwzMiArMTQ1LDQ4IEBACiAgICAgICAgICAgICAgICAgdm0ubm9kZXNEZXRhaWwuJGluaXROb2RlRGV0YWlsVGFibGUobm9kZXR5cGVpZCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCi0gICAgICAgIGRldGFpbENvbmRDaGFuZ2UgOiBmdW5jdGlvbihpbmRleCkgeworICAgICAgICBkZXRhaWxDb25kQ2hhbmdlOiBmdW5jdGlvbiAoaW5kZXgpIHsKICAgICAgICAgICAgIHZtLm5vZGVzRGV0YWlsLmRldGFpbEluZGV4ID0gaW5kZXg7Ci0gICAgICAgICAgICBmb3IodmFyIGk9MDsgaTx2bS5ub2Rlc0RldGFpbC5kZXRhaWxEYXRhLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLm5vZGVzRGV0YWlsLmRldGFpbERhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICB2bS5ub2Rlc0RldGFpbC5kZXRhaWxEYXRhW2ldLmlzQWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB2bS5ub2Rlc0RldGFpbC5kZXRhaWxEYXRhW2luZGV4XS5pc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIH0sCi0gICAgICAgICR0YWJsZUZpZWxkcyA6IHsvLyB0YWJsZSBjb2x1bW5zCisgICAgICAgICR0YWJsZUZpZWxkczogey8vIHRhYmxlIGNvbHVtbnMKICAgICAgICAgICAgIGdlbmVyYWw6IFsKLSAgICAgICAgICAgICAgICB7Im1EYXRhIjogImtleSIsICJuYW1lIjogJC5pMThuLnByb3AoIm5mdi10ZW1wbGF0ZURldGFpbC1ub2Rlc1RhYi1pdWktZmllbGQta2V5IiksICJiU29ydGFibGUiIDogZmFsc2V9LAotICAgICAgICAgICAgICAgIHsibURhdGEiOiAidmFsdWUiLCAibmFtZSI6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLWZpZWxkLXZhbHVlIiksICJiU29ydGFibGUiIDogZmFsc2V9CisgICAgICAgICAgICAgICAgeyJtRGF0YSI6ICJrZXkiLCAibmFtZSI6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLWZpZWxkLWtleSIpLCAiYlNvcnRhYmxlIjogZmFsc2V9LAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIm1EYXRhIjogInZhbHVlIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAkLmkxOG4ucHJvcCgibmZ2LXRlbXBsYXRlRGV0YWlsLW5vZGVzVGFiLWl1aS1maWVsZC12YWx1ZSIpLAorICAgICAgICAgICAgICAgICAgICAiYlNvcnRhYmxlIjogZmFsc2UKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgcHJvcGVydGllczogWwotICAgICAgICAgICAgICAgIHsibURhdGEiOiAia2V5IiwgIm5hbWUiOiAkLmkxOG4ucHJvcCgibmZ2LXRlbXBsYXRlRGV0YWlsLW5vZGVzVGFiLWl1aS1maWVsZC1rZXkiKSwgImJTb3J0YWJsZSIgOiBmYWxzZX0sCi0gICAgICAgICAgICAgICAgeyJtRGF0YSI6ICJ2YWx1ZSIsICJuYW1lIjogJC5pMThuLnByb3AoIm5mdi10ZW1wbGF0ZURldGFpbC1ub2Rlc1RhYi1pdWktZmllbGQtdmFsdWUiKSwgImJTb3J0YWJsZSIgOiBmYWxzZX0KKyAgICAgICAgICAgICAgICB7Im1EYXRhIjogImtleSIsICJuYW1lIjogJC5pMThuLnByb3AoIm5mdi10ZW1wbGF0ZURldGFpbC1ub2Rlc1RhYi1pdWktZmllbGQta2V5IiksICJiU29ydGFibGUiOiBmYWxzZX0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAibURhdGEiOiAidmFsdWUiLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLWZpZWxkLXZhbHVlIiksCisgICAgICAgICAgICAgICAgICAgICJiU29ydGFibGUiOiBmYWxzZQorICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICByZWxhdGlvblNoaXBzOiBbCi0gICAgICAgICAgICAgICAgeyJtRGF0YSI6ICJzb3VyY2VOb2RlTmFtZSIsICJuYW1lIjogJC5pMThuLnByb3AoIm5mdi10ZW1wbGF0ZURldGFpbC1ub2Rlc1RhYi1pdWktZmllbGQtc291cmNlTm9kZU5hbWUiKSwgImJTb3J0YWJsZSIgOiBmYWxzZX0sCi0gICAgICAgICAgICAgICAgeyJtRGF0YSI6ICJ0YXJnZXROb2RlTmFtZSIsICJuYW1lIjogJC5pMThuLnByb3AoIm5mdi10ZW1wbGF0ZURldGFpbC1ub2Rlc1RhYi1pdWktZmllbGQtdGFyZ2V0Tm9kZU5hbWUiKSwgImJTb3J0YWJsZSIgOiBmYWxzZX0sCi0gICAgICAgICAgICAgICAgeyJtRGF0YSI6ICJ0eXBlIiwgIm5hbWUiOiAkLmkxOG4ucHJvcCgibmZ2LXRlbXBsYXRlRGV0YWlsLW5vZGVzVGFiLWl1aS1maWVsZC10eXBlIiksICJiU29ydGFibGUiIDogZmFsc2V9CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAibURhdGEiOiAic291cmNlTm9kZU5hbWUiLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLWZpZWxkLXNvdXJjZU5vZGVOYW1lIiksCisgICAgICAgICAgICAgICAgICAgICJiU29ydGFibGUiOiBmYWxzZQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAibURhdGEiOiAidGFyZ2V0Tm9kZU5hbWUiLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICQuaTE4bi5wcm9wKCJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLWZpZWxkLXRhcmdldE5vZGVOYW1lIiksCisgICAgICAgICAgICAgICAgICAgICJiU29ydGFibGUiOiBmYWxzZQorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgeyJtRGF0YSI6ICJ0eXBlIiwgIm5hbWUiOiAkLmkxOG4ucHJvcCgibmZ2LXRlbXBsYXRlRGV0YWlsLW5vZGVzVGFiLWl1aS1maWVsZC10eXBlIiksICJiU29ydGFibGUiOiBmYWxzZX0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwKLSAgICAgICAgJGluaXROb2RlRGV0YWlsVGFibGU6IGZ1bmN0aW9uKG5vZGV0ZW1wbGF0ZWlkKSB7CisgICAgICAgICRpbml0Tm9kZURldGFpbFRhYmxlOiBmdW5jdGlvbiAobm9kZXRlbXBsYXRlaWQpIHsKICAgICAgICAgICAgIHZhciBkYXRhID0gdG9wb1V0aWwuZ2V0Q3VycmVudERldGFpbERhdGEodm0ubm9kZXNEZXRhaWwubm9kZXNUZW1wbGF0ZURldGFpbERhdGEuJG1vZGVsLCBub2RldGVtcGxhdGVpZCk7CiAgICAgICAgICAgICAvL2luaXRpYWxpemUgdGhyZWUgdGFibGVzIG9mIG5vZGVkZXRhaWwKLSAgICAgICAgICAgICQuZWFjaCh2bS5ub2Rlc0RldGFpbC4kdGFibGVGaWVsZHMsIGZ1bmN0aW9uKGtleSwgdmFsdWUpeworICAgICAgICAgICAgJC5lYWNoKHZtLm5vZGVzRGV0YWlsLiR0YWJsZUZpZWxkcywgZnVuY3Rpb24gKGtleSwgdmFsdWUpIHsKICAgICAgICAgICAgICAgICB2YXIgc2V0dGluZyA9IHt9OwogICAgICAgICAgICAgICAgIHNldHRpbmcubGFuZ3VhZ2UgPSB2bS4kbGFuZ3VhZ2U7CiAgICAgICAgICAgICAgICAgc2V0dGluZy5wYWdpbmF0ZSA9IGZhbHNlOwpAQCAtMTc5LDIyICsxOTksMjIgQEAKICAgICB9LAogfSk7CiAKLXZhciBpbml0UGFyYW0gPSBmdW5jdGlvbigpIHsgLy9pbml0aWFsaXplIHRlbXBsYXRlIGRldGFpbCBwYXJhbXMKK3ZhciBpbml0UGFyYW0gPSBmdW5jdGlvbiAoKSB7IC8vaW5pdGlhbGl6ZSB0ZW1wbGF0ZSBkZXRhaWwgcGFyYW1zCiAgICAgdmFyIHBhcmFtU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7Ci0gICAgaWYocGFyYW1TdHIubGVuZ3RoID4gMCkgeworICAgIGlmIChwYXJhbVN0ci5sZW5ndGggPiAwKSB7CiAgICAgICAgIGF2YWxvbi5zY2FuKCk7CiAgICAgICAgIHZhciBwYXJhbXMgPSBwYXJhbVN0ci5zcGxpdCgiJiIpOwogICAgICAgICB2YXIgaW5zdGFuY2VJZCA9IHBhcmFtc1swXS5zdWJzdHJpbmcocGFyYW1zWzBdLmluZGV4T2YoJz0nKSArIDEpOwotICAgICAgICB2YXIgdGVtcGxhdGVRdWVyeVVybCA9ICcvb3Blbm9hcGkvbnNsY20vdjEuMC9ucy8nICsgaW5zdGFuY2VJZDsgCisgICAgICAgIHZhciB0ZW1wbGF0ZVF1ZXJ5VXJsID0gJy9vcGVub2FwaS9uc2xjbS92MS4wL25zLycgKyBpbnN0YW5jZUlkOwogICAgICAgICAkLmFqYXgoewotICAgICAgICAgICAgdHlwZSA6ICJHRVQiLAotICAgICAgICAgICAgdXJsIDogdGVtcGxhdGVRdWVyeVVybCwKLSAgICAgICAgICAgIGNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotICAgICAgICAgICAgZGF0YVR5cGUgOiAianNvbiIsCi0gICAgICAgICAgICBzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsKKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICAgICAgdXJsOiB0ZW1wbGF0ZVF1ZXJ5VXJsLAorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsKICAgICAgICAgICAgICAgICBpbml0VG9wbyhqc29uUmVzcC5uc2RJZCkKICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICBlcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7CisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7CiAgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL0VkZ2UuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vRWRnZS5qcwppbmRleCBmYmRjYmQxLi42MjBjNzAzIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vRWRnZS5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vRWRnZS5qcwpAQCAtMSwzMyArMSwzMyBAQAotLyogQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQotICoNCi0gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCi0gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQotICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQotICoNCi0gKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCi0gKg0KLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCi0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KLSAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCi0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCi0gKi8NCi0gDQotdmFyIGVkZ2VDb2xvcnMgPSB7DQotCXJlZCA6ICIjZjAwIiwNCi0JZ3JlZW46ICIjMGYwIiwNCi0gIGJsdWU6ICIjMDBmIiwNCi0gIHllbGxvdzogIiNmZjAiLA0KLSAgZ3JleTogIiNkZGQiLA0KLSAgYmxhY2s6ICIjMDAwIg0KLX0NCi0NCi1mdW5jdGlvbiBFZGdlKGlkLCBsYWJlbCwgc291cmNlLCB0YXJnZXQsIHNpemUsIGNvbG9yKSB7DQotCXRoaXMuaWQgPSBpZDsNCi0JdGhpcy5sYWJlbCA9IGxhYmVsOw0KLQl0aGlzLnNvdXJjZSA9IHNvdXJjZTsNCi0JdGhpcy50YXJnZXQgPSB0YXJnZXQ7DQotCXRoaXMudHlwZSA9ICdsaW5lJzsNCi0gIHRoaXMuc2l6ZSA9IHNpemU7DQotCXRoaXMuY29sb3IgPSBlZGdlQ29sb3JzW2NvbG9yXTsNCi19DQorLyogQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworIAordmFyIGVkZ2VDb2xvcnMgPSB7CisgIHJlZCA6ICIjZjAwIiwKKyAgZ3JlZW46ICIjMGYwIiwKKyAgYmx1ZTogIiMwMGYiLAorICB5ZWxsb3c6ICIjZmYwIiwKKyAgZ3JleTogIiM1NTUiLAorICBibGFjazogIiMwMDAiCit9CisKK2Z1bmN0aW9uIEVkZ2UoaWQsIGxhYmVsLCBzb3VyY2UsIHRhcmdldCwgc2l6ZSwgY29sb3IpIHsKKyAgdGhpcy5pZCA9IGlkOworICB0aGlzLmxhYmVsID0gbGFiZWw7CisgIHRoaXMuc291cmNlID0gc291cmNlOworICB0aGlzLnRhcmdldCA9IHRhcmdldDsKKyAgdGhpcy50eXBlID0gJ2xpbmUnOworICB0aGlzLnNpemUgPSBzaXplOworICB0aGlzLmNvbG9yID0gZWRnZUNvbG9yc1tjb2xvcl07Cit9CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vTm9kZS5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9Ob2RlLmpzCmluZGV4IDM0MDk0N2YuLjgyMTVjM2MgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9Ob2RlLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9Ob2RlLmpzCkBAIC0xLDM1ICsxLDM1IEBACi0vKiBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCi0gKg0KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCi0gKg0KLSAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KLSAqDQotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KLSAqLw0KLSANCi12YXIgaWNvbiA9IHsNCi0JdHlwZTEgOiAianMvdG9wby9pbWcvTkVVUC5wbmciLA0KLQl0eXBlMiA6ICJqcy90b3BvL2ltZy9ORVRXT1JLLnBuZyIsDQotCXR5cGUzIDogImpzL3RvcG8vaW1nL3NpdGUucG5nIg0KLX0NCi1mdW5jdGlvbiBOb2RlKGlkLCBsYWJlbCwgc2l6ZSwgdHlwZSwgeCwgeSkgew0KLQl0aGlzLmlkID0gaWQ7DQotCXRoaXMubGFiZWwgPSBsYWJlbDsNCi0JdGhpcy50eXBlID0gInNxdWFyZSI7DQotCXRoaXMueCA9IHg7DQotCXRoaXMueSA9IHk7DQotCXRoaXMuc2l6ZSA9IHNpemU7DQotCXRoaXMuY29sb3IgPSAid2hpdGUiOw0KLQl0aGlzLmJvcmRlckNvbG9yID0gIndoaXRlIjsNCi0JdGhpcy5pbWFnZSA9IHsNCi0JCXVybCA6IGljb25bdHlwZV0sDQotCQlzY2FsZSA6IDEuMCwNCi0JCWNsaXAgOiAxLjANCi0JfTsNCi19DQorLyogQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworIAordmFyIGljb24gPSB7CisJZGV2aWNlX2ljb24gOiAiaW1hZ2VzL3RvcG8vTkVVUC5wbmciLAorICBzZmNfZGV2aWNlX2ljb24gOiAiaW1hZ2VzL3RvcG8vT1RIRVJfMy5wbmciLAorCW5ldHdvcmtfaWNvbiA6ICJpbWFnZXMvdG9wby9ORVRXT1JLLnBuZyIKK30KK2Z1bmN0aW9uIE5vZGUoaWQsIGxhYmVsLCBzaXplLCB0eXBlLCB4LCB5KSB7CisJdGhpcy5pZCA9IGlkOworCXRoaXMubGFiZWwgPSBsYWJlbDsKKwl0aGlzLnR5cGUgPSAic3F1YXJlIjsKKwl0aGlzLnggPSB4OworCXRoaXMueSA9IHk7CisJdGhpcy5zaXplID0gc2l6ZTsKKwl0aGlzLmNvbG9yID0gIndoaXRlIjsKKwl0aGlzLmJvcmRlckNvbG9yID0gIndoaXRlIjsKKwl0aGlzLmltYWdlID0geworCQl1cmwgOiBpY29uW3R5cGVdLAorCQlzY2FsZSA6IDEuMCwKKwkJY2xpcCA6IDEuMAorCX07Cit9CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vVG9wb2xvZ3kuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vT3ZlcmxheVRvcG9sb2d5LmpzCnNpbWlsYXJpdHkgaW5kZXggNjIlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9Ub3BvbG9neS5qcwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL092ZXJsYXlUb3BvbG9neS5qcwppbmRleCBkOGQyN2RmLi43YzM1YzM4IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vVG9wb2xvZ3kuanMKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL092ZXJsYXlUb3BvbG9neS5qcwpAQCAtMSwxMTMgKzEsMTE4IEBACi0vKiBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCi0gKg0KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCi0gKg0KLSAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KLSAqDQotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KLSAqLw0KLSANCi1mdW5jdGlvbiBUb3BvbG9neShjb250YWluZXJJZCkgew0KLQ0KLQkvKioNCi0JICogSU1QT1JUQU5UOiBUaGlzIG9ubHkgd29ya3Mgd2l0aCB0aGUgY2FudmFzIHJlbmRlcmVyLiBUQkQgaW4gdGhlIGZ1dHVyZQ0KLQkgKiB3aWxsIGFsc28gc3VwcG9ydCB0aGUgV2ViR0wgcmVuZGVyZXIuDQotCSAqLw0KLQlzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5ub2RlcycpOw0KLQ0KLQl0aGlzLnMgPSBuZXcgc2lnbWEoew0KLQkJZ3JhcGggOiB7DQotCQkJbm9kZXMgOiBbXSwNCi0JCQllZGdlcyA6IFtdDQotCQl9LA0KLQkJcmVuZGVyZXIgOiB7DQotCQkJLy8gSU1QT1JUQU5UOg0KLQkJCS8vIFRoaXMgd29ya3Mgb25seSB3aXRoIHRoZSBjYW52YXMgcmVuZGVyZXIsIHNvIHRoZQ0KLQkJCS8vIHJlbmRlcmVyIHR5cGUgc2V0IGFzICJjYW52YXMiIGlzIG5lY2Vzc2FyeSBoZXJlLg0KLQkJCWNvbnRhaW5lciA6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbnRhaW5lcklkKSwNCi0JCQl0eXBlIDogJ2NhbnZhcycNCi0JCX0sDQotCQlzZXR0aW5ncyA6IHsNCi0JCQltaW5Ob2RlU2l6ZSA6IDQsDQotCQkJbWF4Tm9kZVNpemUgOiA0OCwNCi0JCQllZGdlTGFiZWxTaXplIDogJ3Byb3BvcnRpb25hbCcNCi0JCX0NCi0JfSk7DQotCXRoaXMuYWRkTm9kZSA9IGFkZE5vZGU7DQotCXRoaXMuYWRkRWRnZSA9IGFkZEVkZ2U7DQotfQ0KLQ0KLWZ1bmN0aW9uIGFkZE5vZGUobm9kZSkgew0KLQ0KLQl0aGlzLnMuZ3JhcGguYWRkTm9kZShub2RlKTsNCi0NCi19DQotDQotZnVuY3Rpb24gYWRkRWRnZShlZGdlKSB7DQotCXRoaXMucy5ncmFwaC5hZGRFZGdlKGVkZ2UpOw0KLX0NCi0NCi1mdW5jdGlvbiBpbml0KCkgew0KLQ0KLQl2YXIgbm9kZTEgPSBuZXcgTm9kZSgiMSIsICJUaGluQ1BFIiwgOCwgInR5cGUxIiwgMC4yLCAwLjUpOw0KLSAgdmFyIG5vZGUyID0gbmV3IE5vZGUoIjIiLCAidkNQRSIsIDgsICJ0eXBlMSIsIDAuNSwgMC41KTsNCi0JdmFyIG5vZGUzID0gbmV3IE5vZGUoIjMiLCAiVlBDIiwgMTYsICJ0eXBlMiIsIDAuOCwgMC41KTsNCi0gIA0KLSAgdmFyIG5vZGU0ID0gbmV3IE5vZGUoIjQiLCAiU2l0ZSIsIDE2LCAidHlwZTMiLCAwLjIsIDAuNTUpOw0KLSAgdmFyIG5vZGU1ID0gbmV3IE5vZGUoIjUiLCAiUE9QIiwgMjQsICJ0eXBlMyIsIDAuNSwgMC41NSk7DQotCXZhciBub2RlNiA9IG5ldyBOb2RlKCI2IiwgIkRDIiwgMzIsICJ0eXBlMyIsIDAuOCwgMC41NSk7DQotICANCi0gIHZhciBub2RlNyA9IG5ldyBOb2RlKCI3IiwgInZGVyIsIDYsICJ0eXBlMSIsIDAuNDUsIDAuNDUpOw0KLSAgdmFyIG5vZGU4ID0gbmV3IE5vZGUoIjgiLCAidkxCIiwgNiwgInR5cGUxIiwgMC41NSwgMC40NSk7DQotDQotCXZhciBlZGdlMSA9IG5ldyBFZGdlKCJlMSIsICJWeExBTiIsICIxIiwgIjIiLCAwLjUsICJibHVlIik7DQotCXZhciBlZGdlMiA9IG5ldyBFZGdlKCJlMiIsICJJUFNlYyIsICIyIiwgIjMiLCAwLjUsICJncmVlbiIpOw0KLSAgDQotCXZhciBlZGdlMyA9IG5ldyBFZGdlKCJlMyIsICJpbiIsICIxIiwgIjQiLCAwLjUsICJncmV5Iik7DQotICB2YXIgZWRnZTQgPSBuZXcgRWRnZSgiZTQiLCAiaW4iLCAiMiIsICI1IiwgMC41LCAiZ3JleSIpOw0KLSAgdmFyIGVkZ2U1ID0gbmV3IEVkZ2UoImU1IiwgImluIiwgIjMiLCAiNiIsIDAuNSwgImdyZXkiKTsNCi0gIA0KLSAgdmFyIGVkZ2U2ID0gbmV3IEVkZ2UoImU2IiwgIkwyVlBOIiwgIjQiLCAiNSIsIDAuNSwgImJsYWNrIik7DQotICB2YXIgZWRnZTcgPSBuZXcgRWRnZSgiZTciLCAiTDNWUE4iLCAiNSIsICI2IiwgMC41LCAiYmxhY2siKTsNCi0gIA0KLSAgdmFyIGVkZ2U4ID0gbmV3IEVkZ2UoImU4IiwgIiIsICIyIiwgIjciLCAwLjUsICJ5ZWxsb3ciKTsNCi0gIHZhciBlZGdlOSA9IG5ldyBFZGdlKCJlOSIsICIiLCAiNyIsICI4IiwgMC41LCAieWVsbG93Iik7DQotICB2YXIgZWRnZTEwID0gbmV3IEVkZ2UoImUxMCIsICIiLCAiOCIsICIyIiwgMC41LCAieWVsbG93Iik7DQotICANCi0JdmFyIHRvcG9sb2d5ID0gbmV3IFRvcG9sb2d5KCJjb250YWluZXIiKTsNCi0gIA0KLQl0b3BvbG9neS5hZGROb2RlKG5vZGUxKTsNCi0JdG9wb2xvZ3kuYWRkTm9kZShub2RlMik7DQotCXRvcG9sb2d5LmFkZE5vZGUobm9kZTMpOw0KLSAgdG9wb2xvZ3kuYWRkTm9kZShub2RlNCk7DQotCXRvcG9sb2d5LmFkZE5vZGUobm9kZTUpOw0KLQl0b3BvbG9neS5hZGROb2RlKG5vZGU2KTsNCi0gIHRvcG9sb2d5LmFkZE5vZGUobm9kZTcpOw0KLQl0b3BvbG9neS5hZGROb2RlKG5vZGU4KTsNCi0NCi0JdG9wb2xvZ3kuYWRkRWRnZShlZGdlMSk7DQotCXRvcG9sb2d5LmFkZEVkZ2UoZWRnZTIpOw0KLSAgdG9wb2xvZ3kuYWRkRWRnZShlZGdlMyk7DQotICB0b3BvbG9neS5hZGRFZGdlKGVkZ2U0KTsNCi0JdG9wb2xvZ3kuYWRkRWRnZShlZGdlNSk7DQotICANCi0gIA0KLSAgdG9wb2xvZ3kuYWRkRWRnZShlZGdlNik7DQotCXRvcG9sb2d5LmFkZEVkZ2UoZWRnZTcpOw0KLSAgdG9wb2xvZ3kuYWRkRWRnZShlZGdlOCk7DQotCXRvcG9sb2d5LmFkZEVkZ2UoZWRnZTkpOw0KLSAgdG9wb2xvZ3kuYWRkRWRnZShlZGdlMTApOw0KLSAgDQotCUN1c3RvbVNoYXBlcy5pbml0KHRvcG9sb2d5LnMpOw0KLQl0b3BvbG9neS5zLnJlZnJlc2goKTsNCi19DQotDQotJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQotCWluaXQoKTsNCisvKiBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4KKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICovCisKK2Z1bmN0aW9uIGV4dHJhY3RPdmVybGF5VlBOSWQoKQoreworICB2YXIgcGFyYW1ldGVycyA9IGxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkuc3BsaXQoIiYiKTsKKyAgdmFyIHRlbXAgPSBwYXJhbWV0ZXJzWzBdLnNwbGl0KCI9Iik7CisgIHZhciBpZCA9IHVuZXNjYXBlKHRlbXBbMV0pOworICAKKyAgcmV0dXJuIGlkOworfQorCitmdW5jdGlvbiBUb3BvbG9neShjb250YWluZXJJZCkgeworCisJLyoqCisJICogSU1QT1JUQU5UOiBUaGlzIG9ubHkgd29ya3Mgd2l0aCB0aGUgY2FudmFzIHJlbmRlcmVyLiBUQkQgaW4gdGhlIGZ1dHVyZQorCSAqIHdpbGwgYWxzbyBzdXBwb3J0IHRoZSBXZWJHTCByZW5kZXJlci4KKwkgKi8KKwlzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5ub2RlcycpOworCisJdGhpcy5zID0gbmV3IHNpZ21hKHsKKwkJZ3JhcGggOiB7CisJCQlub2RlcyA6IFtdLAorCQkJZWRnZXMgOiBbXQorCQl9LAorCQlyZW5kZXJlciA6IHsKKwkJCS8vIElNUE9SVEFOVDoKKwkJCS8vIFRoaXMgd29ya3Mgb25seSB3aXRoIHRoZSBjYW52YXMgcmVuZGVyZXIsIHNvIHRoZQorCQkJLy8gcmVuZGVyZXIgdHlwZSBzZXQgYXMgImNhbnZhcyIgaXMgbmVjZXNzYXJ5IGhlcmUuCisJCQljb250YWluZXIgOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCksCisJCQl0eXBlIDogJ2NhbnZhcycKKwkJfSwKKwkJc2V0dGluZ3MgOiB7CisJCQltaW5Ob2RlU2l6ZSA6IDgsCisJCQltYXhOb2RlU2l6ZSA6IDY0LAorCQkJZWRnZUxhYmVsU2l6ZSA6ICdwcm9wb3J0aW9uYWwnCisJCX0KKwl9KTsKKwl0aGlzLmFkZE5vZGUgPSBhZGROb2RlOworCXRoaXMuYWRkRWRnZSA9IGFkZEVkZ2U7Cit9CisKK2Z1bmN0aW9uIGFkZE5vZGUobm9kZSkgeworCisJdGhpcy5zLmdyYXBoLmFkZE5vZGUobm9kZSk7CisKK30KKworZnVuY3Rpb24gYWRkRWRnZShlZGdlKSB7CisJdGhpcy5zLmdyYXBoLmFkZEVkZ2UoZWRnZSk7Cit9CisKK2Z1bmN0aW9uIGluaXQoKSB7CisKKwl2YXIgbm9kZTEgPSBuZXcgTm9kZSgiMSIsICJUaGluQ1BFIiwgMTYsICJkZXZpY2VfaWNvbiIsIDAuMSwgMC41KTsKKyAgdmFyIG5vZGUyID0gbmV3IE5vZGUoIjIiLCAidkNQRSIsIDE2LCAiZGV2aWNlX2ljb24iLCAwLjQsIDAuNSk7CisJdmFyIG5vZGUzID0gbmV3IE5vZGUoIjMiLCAiR1ciLCAxNiwgImRldmljZV9pY29uIiwgMC44LCAwLjUpOworCisgIHZhciBub2RlNiA9IG5ldyBOb2RlKCI2IiwgIkZXIiwgOCwgInNmY19kZXZpY2VfaWNvbiIsIDAuODUsIDAuNCk7CisgIHZhciBub2RlNyA9IG5ldyBOb2RlKCI3IiwgIkxCIiwgOCwgInNmY19kZXZpY2VfaWNvbiIsIDAuOSwgMC4zKTsKKyAgdmFyIG5vZGU4ID0gbmV3IE5vZGUoIjgiLCAiVlBDIiwgNDgsICJuZXR3b3JrX2ljb24iLCAxLjA1LCAwLjQpOworICAKKyAgdmFyIG5vZGU0ID0gbmV3IE5vZGUoIjQiLCAidkZXIiwgOCwgInNmY19kZXZpY2VfaWNvbiIsIDAuMzIsIDAuMzUpOworICB2YXIgbm9kZTUgPSBuZXcgTm9kZSgiNSIsICJ2TEIiLCA4LCAic2ZjX2RldmljZV9pY29uIiwgMC40OCwgMC4zNSk7CisKKwl2YXIgZWRnZTEgPSBuZXcgRWRnZSgiZTEiLCAiVnhMQU4iLCAiMSIsICIyIiwgMC41LCAiYmx1ZSIpOworCXZhciBlZGdlMiA9IG5ldyBFZGdlKCJlMiIsICJJUFNlYyIsICIyIiwgIjMiLCAwLjUsICJncmVlbiIpOworICAKKyAgCisgIHZhciBlZGdlMyA9IG5ldyBFZGdlKCJlMyIsICIiLCAiMiIsICI0IiwgMC41LCAiZ3JleSIpOworICB2YXIgZWRnZTQgPSBuZXcgRWRnZSgiZTQiLCAiIiwgIjQiLCAiNSIsIDAuNSwgImdyZXkiKTsKKyAgdmFyIGVkZ2U1ID0gbmV3IEVkZ2UoImU1IiwgIiIsICI1IiwgIjIiLCAwLjUsICJncmV5Iik7CisgIAorICB2YXIgZWRnZTYgPSBuZXcgRWRnZSgiZTYiLCAiIiwgIjMiLCAiNiIsIDAuNSwgImdyZXkiKTsKKyAgdmFyIGVkZ2U3ID0gbmV3IEVkZ2UoImU3IiwgIiIsICI2IiwgIjciLCAwLjUsICJncmV5Iik7CisgIHZhciBlZGdlOCA9IG5ldyBFZGdlKCJlOCIsICIiLCAiNyIsICI4IiwgMC41LCAiZ3JleSIpOworICAKKwl2YXIgdG9wb2xvZ3kgPSBuZXcgVG9wb2xvZ3koImNvbnRhaW5lciIpOworICAKKwl0b3BvbG9neS5hZGROb2RlKG5vZGUxKTsKKwl0b3BvbG9neS5hZGROb2RlKG5vZGUyKTsKKwl0b3BvbG9neS5hZGROb2RlKG5vZGUzKTsKKyAgdG9wb2xvZ3kuYWRkTm9kZShub2RlNCk7CisJdG9wb2xvZ3kuYWRkTm9kZShub2RlNSk7CisgIHRvcG9sb2d5LmFkZE5vZGUobm9kZTYpOworICB0b3BvbG9neS5hZGROb2RlKG5vZGU3KTsKKwl0b3BvbG9neS5hZGROb2RlKG5vZGU4KTsKKworCXRvcG9sb2d5LmFkZEVkZ2UoZWRnZTEpOworCXRvcG9sb2d5LmFkZEVkZ2UoZWRnZTIpOworICB0b3BvbG9neS5hZGRFZGdlKGVkZ2UzKTsKKyAgdG9wb2xvZ3kuYWRkRWRnZShlZGdlNCk7CisJdG9wb2xvZ3kuYWRkRWRnZShlZGdlNSk7CisgIAorICB0b3BvbG9neS5hZGRFZGdlKGVkZ2U2KTsKKyAgdG9wb2xvZ3kuYWRkRWRnZShlZGdlNyk7CisJdG9wb2xvZ3kuYWRkRWRnZShlZGdlOCk7CisgIAorICAKKwlDdXN0b21TaGFwZXMuaW5pdCh0b3BvbG9neS5zKTsKKwl0b3BvbG9neS5zLnJlZnJlc2goKTsKK30KKworJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CisJaW5pdCgpOwogfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORURPV04ucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORURPV04ucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWJiZTVlLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVET1dOLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVET1dOX3NlbGVjdGVkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVET1dOX3NlbGVjdGVkLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZjNWFhYS4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL05FRE9XTl9zZWxlY3RlZC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL05FVFdPUksucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORVRXT1JLLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTMxZGJlNy4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL05FVFdPUksucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORVRXT1JLX0VER0UucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORVRXT1JLX0VER0UucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzliZGQ0Li4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVUV09SS19FREdFLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVUV09SS19zZWxlY3RlZC5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL05FVFdPUktfc2VsZWN0ZWQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MzFkYmU3Li4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVUV09SS19zZWxlY3RlZC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL05FVVAucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORVVQLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjgyZWE4NS4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL05FVVAucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORVVQX3NlbGVjdGVkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvTkVVUF9zZWxlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZjBkYzguLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ORVVQX3NlbGVjdGVkLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVIucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUi5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4MmVhODUuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUi5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzAucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8wLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA5OWYwMi4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzAucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8wX3NlbGVjdGVkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfMF9zZWxlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMGNmNzMuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8wX3NlbGVjdGVkLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfMS5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzEucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTk1OGFkLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfMS5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzFfc2VsZWN0ZWQucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8xX3NlbGVjdGVkLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDI5YTBiZS4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzFfc2VsZWN0ZWQucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8yLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfMi5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NDdkZTIuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8yLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfMl9zZWxlY3RlZC5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzJfc2VsZWN0ZWQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZmY5MmUwLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfMl9zZWxlY3RlZC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzMucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8zLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWEzZjU2MC4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL09USEVSXzMucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8zX3NlbGVjdGVkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfM19zZWxlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwMGJmNmQuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl8zX3NlbGVjdGVkLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvT1RIRVJfc2VsZWN0ZWQucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl9zZWxlY3RlZC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZjBkYzguLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9PVEhFUl9zZWxlY3RlZC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL2Nsb3VkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvY2xvdWQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTRkMDMxLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvY2xvdWQucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9jbG91ZHJvdXRlLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvY2xvdWRyb3V0ZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyZDU1NDIuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9jbG91ZHJvdXRlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvY3Jvc3NTdWJuZXQucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9jcm9zc1N1Ym5ldC5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxMjE2YWMuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9jcm9zc1N1Ym5ldC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL2RlbGV0ZV9hc2JyLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvZGVsZXRlX2FzYnIucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWEwNmJkLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvZGVsZXRlX2FzYnIucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9tYXJrX3NpbmsucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9tYXJrX3NpbmsucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTI5ZjYzLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbWFya19zaW5rLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbWFya19zb3VyY2UucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9tYXJrX3NvdXJjZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwYWE1YmIuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9tYXJrX3NvdXJjZS5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL25ldHdvcmtkb3duLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbmV0d29ya2Rvd24ucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGM2NDM2Li4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbmV0d29ya2Rvd24ucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ub2RlX2dyYXkucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9ub2RlX2dyYXkucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGMyODdkLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbm9kZV9ncmF5LnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbm9kZV9ncmVlbi5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL25vZGVfZ3JlZW4ucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGU5MWY1Li4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbm9kZV9ncmVlbi5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL25vZGVfcmVkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbm9kZV9yZWQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTVkZjkyLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvbm9kZV9yZWQucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9yb3V0ZXIucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9yb3V0ZXIucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODJlYTg1Li4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvcm91dGVyLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvcm91dGVyX3NlbGVjdGVkLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvcm91dGVyX3NlbGVjdGVkLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjVmMGRjOC4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3JvdXRlcl9zZWxlY3RlZC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3NpdGUucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9zaXRlLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM1Mzg1Mi4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3NpdGUucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9zaXRlSWNvbl9mZWF0dXJlLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvc2l0ZUljb25fZmVhdHVyZS5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkZGYwYTMuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9zaXRlSWNvbl9mZWF0dXJlLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvc2l0ZV9zZWxlY3RlZC5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3NpdGVfc2VsZWN0ZWQucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNWMwMGFlLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvc2l0ZV9zZWxlY3RlZC5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3NpdGVkb3duLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvc2l0ZWRvd24ucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGI0ODUwLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvc2l0ZWRvd24ucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy9zaXRlZG93bl9zZWxlY3RlZC5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3NpdGVkb3duX3NlbGVjdGVkLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ1YWY4My4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vaW1nL3NpdGVkb3duX3NlbGVjdGVkLnBuZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9pbWcvdTE5NjMucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy91MTk2My5wbmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzMWM5YWMuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL2ltZy91MTk2My5wbmcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvTElDRU5TRS50eHQgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvTElDRU5TRS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxNzM5ZGYuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL0xJQ0VOU0UudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQsIEFsZXhpcyBKYWNvbXksIGh0dHA6Ly9zaWdtYWpzLm9yZwotCi1QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAotdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKLWFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotCi1UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLQotVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi1GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgotTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwotSU4gVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL2pxdWVyeS0zLjEuMC5taW4uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvanF1ZXJ5LTMuMS4wLm1pbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZhNmE5OS4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvanF1ZXJ5LTMuMS4wLm1pbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLyohIGpRdWVyeSB2My4xLjAgfCAoYykgalF1ZXJ5IEZvdW5kYXRpb24gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KLSFmdW5jdGlvbihhLGIpeyJ1c2Ugc3RyaWN0Ijsib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1hLmRvY3VtZW50P2IoYSwhMCk6ZnVuY3Rpb24oYSl7aWYoIWEuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7cmV0dXJuIGIoYSl9OmIoYSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO3ZhciBjPVtdLGQ9YS5kb2N1bWVudCxlPU9iamVjdC5nZXRQcm90b3R5cGVPZixmPWMuc2xpY2UsZz1jLmNvbmNhdCxoPWMucHVzaCxpPWMuaW5kZXhPZixqPXt9LGs9ai50b1N0cmluZyxsPWouaGFzT3duUHJvcGVydHksbT1sLnRvU3RyaW5nLG49bS5jYWxsKE9iamVjdCksbz17fTtmdW5jdGlvbiBwKGEsYil7Yj1ifHxkO3ZhciBjPWIuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Yy50ZXh0PWEsYi5oZWFkLmFwcGVuZENoaWxkKGMpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYyl9dmFyIHE9IjMuMS4wIixyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyByLmZuLmluaXQoYSxiKX0scz0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2csdD0vXi1tcy0vLHU9Ly0oW2Etel0pL2csdj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9O3IuZm49ci5wcm90b3R5cGU9e2pxdWVyeTpxLGNvbnN0cnVjdG9yOnIsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT9hPDA/dGhpc1thK3RoaXMubGVuZ3RoXTp0aGlzW2FdOmYuY2FsbCh0aGlzKX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEpe3ZhciBiPXIubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGEpO3JldHVybiBiLnByZXZPYmplY3Q9dGhpcyxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiByLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhyLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoYTwwP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmM8Yj9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6aCxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LHIuZXh0ZW5kPXIuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxyLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2g8aTtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYoci5pc1BsYWluT2JqZWN0KGQpfHwoZT1yLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJnIuaXNBcnJheShjKT9jOltdKTpmPWMmJnIuaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09ci5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LHIuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhxK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1yLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9ci50eXBlKGEpO3JldHVybigibnVtYmVyIj09PWJ8fCJzdHJpbmciPT09YikmJiFpc05hTihhLXBhcnNlRmxvYXQoYSkpfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiLGM7cmV0dXJuISghYXx8IltvYmplY3QgT2JqZWN0XSIhPT1rLmNhbGwoYSkpJiYoIShiPWUoYSkpfHwoYz1sLmNhbGwoYiwiY29uc3RydWN0b3IiKSYmYi5jb25zdHJ1Y3RvciwiZnVuY3Rpb24iPT10eXBlb2YgYyYmbS5jYWxsKGMpPT09bikpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2ZvcihiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YSsiIjoib2JqZWN0Ij09dHlwZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhP2pbay5jYWxsKGEpXXx8Im9iamVjdCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYSl7cChhKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UodCwibXMtIikucmVwbGFjZSh1LHYpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYodyhhKSl7Zm9yKGM9YS5sZW5ndGg7ZDxjO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShzLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJih3KE9iamVjdChhKSk/ci5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6aC5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iPy0xOmkuY2FsbChiLGEsYyl9LG1lcmdlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPStiLmxlbmd0aCxkPTAsZT1hLmxlbmd0aDtkPGM7ZCsrKWFbZSsrXT1iW2RdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7ZjxnO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9MCxoPVtdO2lmKHcoYSkpZm9yKGQ9YS5sZW5ndGg7ZjxkO2YrKyllPWIoYVtmXSxmLGMpLG51bGwhPWUmJmgucHVzaChlKTtlbHNlIGZvcihmIGluIGEpZT1iKGFbZl0sZixjKSxudWxsIT1lJiZoLnB1c2goZSk7cmV0dXJuIGcuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZTtpZigic3RyaW5nIj09dHlwZW9mIGImJihjPWFbYl0sYj1hLGE9Yyksci5pc0Z1bmN0aW9uKGEpKXJldHVybiBkPWYuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsZC5jb25jYXQoZi5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fHIuZ3VpZCsrLGV9LG5vdzpEYXRlLm5vdyxzdXBwb3J0Om99KSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoci5mbltTeW1ib2wuaXRlcmF0b3JdPWNbU3ltYm9sLml0ZXJhdG9yXSksci5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2pbIltvYmplY3QgIitiKyJdIl09Yi50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gdyhhKXt2YXIgYj0hIWEmJiJsZW5ndGgiaW4gYSYmYS5sZW5ndGgsYz1yLnR5cGUoYSk7cmV0dXJuImZ1bmN0aW9uIiE9PWMmJiFyLmlzV2luZG93KGEpJiYoImFycmF5Ij09PWN8fDA9PT1ifHwibnVtYmVyIj09dHlwZW9mIGImJmI+MCYmYi0xIGluIGEpfXZhciB4PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscyx0LHU9InNpenpsZSIrMSpuZXcgRGF0ZSx2PWEuZG9jdW1lbnQsdz0wLHg9MCx5PWhhKCksej1oYSgpLEE9aGEoKSxCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iJiYobD0hMCksMH0sQz17fS5oYXNPd25Qcm9wZXJ0eSxEPVtdLEU9RC5wb3AsRj1ELnB1c2gsRz1ELnB1c2gsSD1ELnNsaWNlLEk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDtjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEo9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixLPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixMPSIoPzpcXFxcLnxbXFx3LV18W15cMC1cXHhhMF0pKyIsTT0iXFxbIitLKyIqKCIrTCsiKSg/OiIrSysiKihbKl4kfCF+XT89KSIrSysiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK0wrIikpfCkiK0srIipcXF0iLE49IjooIitMKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitNKyIpKil8LiopXFwpfCkiLE89bmV3IFJlZ0V4cChLKyIrIiwiZyIpLFA9bmV3IFJlZ0V4cCgiXiIrSysiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitLKyIrJCIsImciKSxRPW5ldyBSZWdFeHAoIl4iK0srIiosIitLKyIqIiksUj1uZXcgUmVnRXhwKCJeIitLKyIqKFs+K35dfCIrSysiKSIrSysiKiIpLFM9bmV3IFJlZ0V4cCgiPSIrSysiKihbXlxcXSdcIl0qPykiK0srIipcXF0iLCJnIiksVD1uZXcgUmVnRXhwKE4pLFU9bmV3IFJlZ0V4cCgiXiIrTCsiJCIpLFY9e0lEOm5ldyBSZWdFeHAoIl4jKCIrTCsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitMKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitMKyJ8WypdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTSksUFNFVURPOm5ldyBSZWdFeHAoIl4iK04pLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrSysiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrSysiKig/OihbKy1dfCkiK0srIiooXFxkKyl8KSkiK0srIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0orIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitLKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0srIiooKD86LVxcZCk/XFxkKikiK0srIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFc9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxYPS9eaFxkJC9pLFk9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLFo9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLywkPS9bK35dLyxfPW5ldyBSZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrSysiP3woIitLKyIpfC4pIiwiaWciKSxhYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IjB4IitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOmQ8MD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4+MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sYmE9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15ceDgwLVx1RkZGRlx3LV0vZyxjYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPyJcMCI9PT1hPyJcdWZmZmQiOmEuc2xpY2UoMCwtMSkrIlxcIithLmNoYXJDb2RlQXQoYS5sZW5ndGgtMSkudG9TdHJpbmcoMTYpKyIgIjoiXFwiK2F9LGRhPWZ1bmN0aW9uKCl7bSgpfSxlYT10YShmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7dHJ5e0cuYXBwbHkoRD1ILmNhbGwodi5jaGlsZE5vZGVzKSx2LmNoaWxkTm9kZXMpLERbdi5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZmEpe0c9e2FwcGx5OkQubGVuZ3RoP2Z1bmN0aW9uKGEsYil7Ri5hcHBseShhLEguY2FsbChiKSl9OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgsZD0wO3doaWxlKGFbYysrXT1iW2QrK10pO2EubGVuZ3RoPWMtMX19fWZ1bmN0aW9uIGdhKGEsYixkLGUpe3ZhciBmLGgsaixrLGwsbyxyLHM9YiYmYi5vd25lckRvY3VtZW50LHc9Yj9iLm5vZGVUeXBlOjk7aWYoZD1kfHxbXSwic3RyaW5nIiE9dHlwZW9mIGF8fCFhfHwxIT09dyYmOSE9PXcmJjExIT09dylyZXR1cm4gZDtpZighZSYmKChiP2Iub3duZXJEb2N1bWVudHx8Yjp2KSE9PW4mJm0oYiksYj1ifHxuLHApKXtpZigxMSE9PXcmJihsPVouZXhlYyhhKSkpaWYoZj1sWzFdKXtpZig5PT09dyl7aWYoIShqPWIuZ2V0RWxlbWVudEJ5SWQoZikpKXJldHVybiBkO2lmKGouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNlIGlmKHMmJihqPXMuZ2V0RWxlbWVudEJ5SWQoZikpJiZ0KGIsaikmJmouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNle2lmKGxbMl0pcmV0dXJuIEcuYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChmPWxbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gRy5hcHBseShkLGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShmKSksZH1pZihjLnFzYSYmIUFbYSsiICJdJiYoIXF8fCFxLnRlc3QoYSkpKXtpZigxIT09dylzPWIscj1hO2Vsc2UgaWYoIm9iamVjdCIhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpeyhrPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9rPWsucmVwbGFjZShiYSxjYSk6Yi5zZXRBdHRyaWJ1dGUoImlkIixrPXUpLG89ZyhhKSxoPW8ubGVuZ3RoO3doaWxlKGgtLSlvW2hdPSIjIitrKyIgIitzYShvW2hdKTtyPW8uam9pbigiLCIpLHM9JC50ZXN0KGEpJiZxYShiLnBhcmVudE5vZGUpfHxifWlmKHIpdHJ5e3JldHVybiBHLmFwcGx5KGQscy5xdWVyeVNlbGVjdG9yQWxsKHIpKSxkfWNhdGNoKHgpe31maW5hbGx5e2s9PT11JiZiLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBpKGEucmVwbGFjZShQLCIkMSIpLGIsZCxlKX1mdW5jdGlvbiBoYSgpe3ZhciBhPVtdO2Z1bmN0aW9uIGIoYyxlKXtyZXR1cm4gYS5wdXNoKGMrIiAiKT5kLmNhY2hlTGVuZ3RoJiZkZWxldGUgYlthLnNoaWZ0KCldLGJbYysiICJdPWV9cmV0dXJuIGJ9ZnVuY3Rpb24gaWEoYSl7cmV0dXJuIGFbdV09ITAsYX1mdW5jdGlvbiBqYShhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1jLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiZhLnNvdXJjZUluZGV4LWIuc291cmNlSW5kZXg7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuImxhYmVsImluIGImJmIuZGlzYWJsZWQ9PT1hfHwiZm9ybSJpbiBiJiZiLmRpc2FibGVkPT09YXx8ImZvcm0iaW4gYiYmYi5kaXNhYmxlZD09PSExJiYoYi5pc0Rpc2FibGVkPT09YXx8Yi5pc0Rpc2FibGVkIT09IWEmJigibGFiZWwiaW4gYnx8IWVhKGIpKSE9PWEpfX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBxYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIWImJiJIVE1MIiE9PWIubm9kZU5hbWV9LG09Z2Euc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZSxnPWE/YS5vd25lckRvY3VtZW50fHxhOnY7cmV0dXJuIGchPT1uJiY5PT09Zy5ub2RlVHlwZSYmZy5kb2N1bWVudEVsZW1lbnQ/KG49ZyxvPW4uZG9jdW1lbnRFbGVtZW50LHA9IWYobiksdiE9PW4mJihlPW4uZGVmYXVsdFZpZXcpJiZlLnRvcCE9PWUmJihlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGRhLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZGEpKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1ZLnRlc3Qobi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhbi5nZXRFbGVtZW50c0J5TmFtZXx8IW4uZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGM/W2NdOltdfX0sZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKF8sYWEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShfLGFhKTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUmJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYyYmYy52YWx1ZT09PWJ9fSksZC5maW5kLlRBRz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lP2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk6Yy5xc2E/Yi5xdWVyeVNlbGVjdG9yQWxsKGEpOnZvaWQgMH06ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9MCxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk7aWYoIioiPT09YSl7d2hpbGUoYz1mW2UrK10pMT09PWMubm9kZVR5cGUmJmQucHVzaChjKTtyZXR1cm4gZH1yZXR1cm4gZn0sZC5maW5kLkNMQVNTPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmcClyZXR1cm4gYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpfSxyPVtdLHE9W10sKGMucXNhPVkudGVzdChuLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGphKGZ1bmN0aW9uKGEpe28uYXBwZW5kQ2hpbGQoYSkuaW5uZXJIVE1MPSI8YSBpZD0nIit1KyInPjwvYT48c2VsZWN0IGlkPSciK3UrIi1cclxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0srIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0srIiooPzp2YWx1ZXwiK0orIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7YS5pbm5lckhUTUw9IjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVjdCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PiI7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitLKyIqWypeJHwhfl0/PSIpLDIhPT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoJiZxLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksby5hcHBlbmRDaGlsZChhKS5kaXNhYmxlZD0hMCwyIT09YS5xdWVyeVNlbGVjdG9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGgmJnEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9WS50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCIqIikscy5jYWxsKGEsIltzIT0nJ106eCIpLHIucHVzaCgiIT0iLE4pfSkscT1xLmxlbmd0aCYmbmV3IFJlZ0V4cChxLmpvaW4oInwiKSkscj1yLmxlbmd0aCYmbmV3IFJlZ0V4cChyLmpvaW4oInwiKSksYj1ZLnRlc3Qoby5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksdD1ifHxZLnRlc3Qoby5jb250YWlucyk/ZnVuY3Rpb24oYSxiKXt2YXIgYz05PT09YS5ub2RlVHlwZT9hLmRvY3VtZW50RWxlbWVudDphLGQ9YiYmYi5wYXJlbnROb2RlO3JldHVybiBhPT09ZHx8ISghZHx8MSE9PWQubm9kZVR5cGV8fCEoYy5jb250YWlucz9jLmNvbnRhaW5zKGQpOmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZCkpKX06ZnVuY3Rpb24oYSxiKXtpZihiKXdoaWxlKGI9Yi5wYXJlbnROb2RlKWlmKGI9PT1hKXJldHVybiEwO3JldHVybiExfSxCPWI/ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gbD0hMCwwO3ZhciBkPSFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBkP2Q6KGQ9KGEub3duZXJEb2N1bWVudHx8YSk9PT0oYi5vd25lckRvY3VtZW50fHxiKT9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpOjEsMSZkfHwhYy5zb3J0RGV0YWNoZWQmJmIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSk9PT1kP2E9PT1ufHxhLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYSk/LTE6Yj09PW58fGIub3duZXJEb2N1bWVudD09PXYmJnQodixiKT8xOms/SShrLGEpLUkoayxiKTowOjQmZD8tMToxKX06ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gbD0hMCwwO3ZhciBjLGQ9MCxlPWEucGFyZW50Tm9kZSxmPWIucGFyZW50Tm9kZSxnPVthXSxoPVtiXTtpZighZXx8IWYpcmV0dXJuIGE9PT1uPy0xOmI9PT1uPzE6ZT8tMTpmPzE6az9JKGssYSktSShrLGIpOjA7aWYoZT09PWYpcmV0dXJuIGxhKGEsYik7Yz1hO3doaWxlKGM9Yy5wYXJlbnROb2RlKWcudW5zaGlmdChjKTtjPWI7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO3doaWxlKGdbZF09PT1oW2RdKWQrKztyZXR1cm4gZD9sYShnW2RdLGhbZF0pOmdbZF09PT12Py0xOmhbZF09PT12PzE6MH0sbik6bn0sZ2EubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBnYShhLG51bGwsbnVsbCxiKX0sZ2EubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7aWYoKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLGI9Yi5yZXBsYWNlKFMsIj0nJDEnXSIpLGMubWF0Y2hlc1NlbGVjdG9yJiZwJiYhQVtiKyIgIl0mJighcnx8IXIudGVzdChiKSkmJighcXx8IXEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkMuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVzY2FwZT1mdW5jdGlvbihhKXtyZXR1cm4oYSsiIikucmVwbGFjZShiYSxjYSl9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpWLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoXyxhYSksYVszXT0oYVszXXx8YVs0XXx8YVs1XXx8IiIpLnJlcGxhY2UoXyxhYSksIn49Ij09PWFbMl0mJihhWzNdPSIgIithWzNdKyIgIiksYS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGdhLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKCJldmVuIj09PWFbM118fCJvZGQiPT09YVszXSkpLGFbNV09KyhhWzddK2FbOF18fCJvZGQiPT09YVszXSkpOmFbM10mJmdhLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzZdJiZhWzJdO3JldHVybiBWLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXT9hWzJdPWFbNF18fGFbNV18fCIiOmMmJlQudGVzdChjKSYmKGI9ZyhjLCEwKSkmJihiPWMuaW5kZXhPZigiKSIsYy5sZW5ndGgtYiktYy5sZW5ndGgpJiYoYVswXT1hWzBdLnNsaWNlKDAsYiksYVsyXT1jLnNsaWNlKDAsYikpLGEuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoXyxhYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrSysiKSIrYSsiKCIrSysifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOiFifHwoZSs9IiIsIj0iPT09Yj9lPT09YzoiIT0iPT09Yj9lIT09YzoiXj0iPT09Yj9jJiYwPT09ZS5pbmRleE9mKGMpOiIqPSI9PT1iP2MmJmUuaW5kZXhPZihjKT4tMToiJD0iPT09Yj9jJiZlLnNsaWNlKC1jLmxlbmd0aCk9PT1jOiJ+PSI9PT1iPygiICIrZS5yZXBsYWNlKE8sIiAiKSsiICIpLmluZGV4T2YoYyk+LTE6Inw9Ij09PWImJihlPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YysiLSIpKX19LENISUxEOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Im50aCIhPT1hLnNsaWNlKDAsMyksZz0ibGFzdCIhPT1hLnNsaWNlKC00KSxoPSJvZi10eXBlIj09PWI7cmV0dXJuIDE9PT1kJiYwPT09ZT9mdW5jdGlvbihhKXtyZXR1cm4hIWEucGFyZW50Tm9kZX06ZnVuY3Rpb24oYixjLGkpe3ZhciBqLGssbCxtLG4sbyxwPWYhPT1nPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIscT1iLnBhcmVudE5vZGUscj1oJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscz0haSYmIWgsdD0hMTtpZihxKXtpZihmKXt3aGlsZShwKXttPWI7d2hpbGUobT1tW3BdKWlmKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9Im9ubHkiPT09YSYmIW8mJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYobz1bZz9xLmZpcnN0Q2hpbGQ6cS5sYXN0Q2hpbGRdLGcmJnMpe209cSxsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uJiZqWzJdLG09biYmcS5jaGlsZE5vZGVzW25dO3doaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKDE9PT1tLm5vZGVUeXBlJiYrK3QmJm09PT1iKXtrW2FdPVt3LG4sdF07YnJlYWt9fWVsc2UgaWYocyYmKG09YixsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uKSx0PT09ITEpd2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSkmJisrdCYmKHMmJihsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxrW2FdPVt3LHRdKSxtPT09YikpYnJlYWs7cmV0dXJuIHQtPWUsdD09PWR8fHQlZD09PTAmJnQvZD49MH19fSxQU0VVRE86ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPWQucHNldWRvc1thXXx8ZC5zZXRGaWx0ZXJzW2EudG9Mb3dlckNhc2UoKV18fGdhLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsIiIsYl0sZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSk/aWEoZnVuY3Rpb24oYSxjKXt2YXIgZCxmPWUoYSxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSlkPUkoYSxmW2ddKSxhW2RdPSEoY1tkXT1mW2ddKX0pOmZ1bmN0aW9uKGEpe3JldHVybiBlKGEsMCxjKX0pOmV9fSxwc2V1ZG9zOntub3Q6aWEoZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPWgoYS5yZXBsYWNlKFAsIiQxIikpO3JldHVybiBkW3VdP2lhKGZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmLGc9ZChhLG51bGwsZSxbXSksaD1hLmxlbmd0aDt3aGlsZShoLS0pKGY9Z1toXSkmJihhW2hdPSEoYltoXT1mKSl9KTpmdW5jdGlvbihhLGUsZil7cmV0dXJuIGJbMF09YSxkKGIsbnVsbCxmLGMpLGJbMF09bnVsbCwhYy5wb3AoKX19KSxoYXM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBnYShhLGIpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmlhKGZ1bmN0aW9uKGEpe3JldHVybiBhPWEucmVwbGFjZShfLGFhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVS50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoXyxhYSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihiKXt2YXIgYztkbyBpZihjPXA/Yi5sYW5nOmIuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxiLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybiBjPWMudG9Mb3dlckNhc2UoKSxjPT09YXx8MD09PWMuaW5kZXhPZihhKyItIik7d2hpbGUoKGI9Yi5wYXJlbnROb2RlKSYmMT09PWIubm9kZVR5cGUpO3JldHVybiExfX0pLHRhcmdldDpmdW5jdGlvbihiKXt2YXIgYz1hLmxvY2F0aW9uJiZhLmxvY2F0aW9uLmhhc2g7cmV0dXJuIGMmJmMuc2xpY2UoMSk9PT1iLmlkfSxyb290OmZ1bmN0aW9uKGEpe3JldHVybiBhPT09b30sZm9jdXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1uLmFjdGl2ZUVsZW1lbnQmJighbi5oYXNGb2N1c3x8bi5oYXNGb2N1cygpKSYmISEoYS50eXBlfHxhLmhyZWZ8fH5hLnRhYkluZGV4KX0sZW5hYmxlZDpvYSghMSksZGlzYWJsZWQ6b2EoITApLGNoZWNrZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYhIWEuY2hlY2tlZHx8Im9wdGlvbiI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYiYnV0dG9uIj09PWEudHlwZXx8ImJ1dHRvbiI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiJpbnB1dCI9PT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWEudHlwZSYmKG51bGw9PShiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHwidGV4dCI9PT1iLnRvTG93ZXJDYXNlKCkpfSxmaXJzdDpwYShmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6cGEoZnVuY3Rpb24oYSxiKXtyZXR1cm5bYi0xXX0pLGVxOnBhKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm5bYzwwP2MrYjpjXX0pLGV2ZW46cGEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGI7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxvZGQ6cGEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtjPGI7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxsdDpwYShmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWM8MD9jK2I6YzstLWQ+PTA7KWEucHVzaChkKTtyZXR1cm4gYX0pLGd0OnBhKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YzwwP2MrYjpjOysrZDxiOylhLnB1c2goZCk7cmV0dXJuIGF9KX19LGQucHNldWRvcy5udGg9ZC5wc2V1ZG9zLmVxO2ZvcihiIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWQucHNldWRvc1tiXT1tYShiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KWQucHNldWRvc1tiXT1uYShiKTtmdW5jdGlvbiByYSgpe31yYS5wcm90b3R5cGU9ZC5maWx0ZXJzPWQucHNldWRvcyxkLnNldEZpbHRlcnM9bmV3IHJhLGc9Z2EudG9rZW5pemU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGksaixrPXpbYSsiICJdO2lmKGspcmV0dXJuIGI/MDprLnNsaWNlKDApO2g9YSxpPVtdLGo9ZC5wcmVGaWx0ZXI7d2hpbGUoaCl7YyYmIShlPVEuZXhlYyhoKSl8fChlJiYoaD1oLnNsaWNlKGVbMF0ubGVuZ3RoKXx8aCksaS5wdXNoKGY9W10pKSxjPSExLChlPVIuZXhlYyhoKSkmJihjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTplWzBdLnJlcGxhY2UoUCwiICIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVZbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9nYS5lcnJvcihhKTp6KGEsaSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHNhKGEpe2Zvcih2YXIgYj0wLGM9YS5sZW5ndGgsZD0iIjtiPGM7YisrKWQrPWFbYl0udmFsdWU7cmV0dXJuIGR9ZnVuY3Rpb24gdGEoYSxiLGMpe3ZhciBkPWIuZGlyLGU9Yi5uZXh0LGY9ZXx8ZCxnPWMmJiJwYXJlbnROb2RlIj09PWYsaD14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGUpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZylyZXR1cm4gYShiLGMsZSl9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbT1bdyxoXTtpZihpKXt3aGlsZShiPWJbZF0paWYoKDE9PT1iLm5vZGVUeXBlfHxnKSYmYShiLGMsaSkpcmV0dXJuITB9ZWxzZSB3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGcpaWYobD1iW3VdfHwoYlt1XT17fSksaz1sW2IudW5pcXVlSURdfHwobFtiLnVuaXF1ZUlEXT17fSksZSYmZT09PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSliPWJbZF18fGI7ZWxzZXtpZigoaj1rW2ZdKSYmalswXT09PXcmJmpbMV09PT1oKXJldHVybiBtWzJdPWpbMl07aWYoa1tmXT1tLG1bMl09YShiLGMsaSkpcmV0dXJuITB9fX1mdW5jdGlvbiB1YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB2YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtkPGU7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB3YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtoPGk7aCsrKShmPWFbaF0pJiYoYyYmIWMoZixkLGUpfHwoZy5wdXNoKGYpLGomJmIucHVzaChoKSkpO3JldHVybiBnfWZ1bmN0aW9uIHhhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXhhKGQpKSxlJiYhZVt1XSYmKGU9eGEoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dmEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6d2EocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXdhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9JKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj13YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6Ry5hcHBseShnLHIpfSl9ZnVuY3Rpb24geWEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz10YShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9dGEoZnVuY3Rpb24oYSl7cmV0dXJuIEkoYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2k8ZjtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bdGEodWEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7ZTxmO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHhhKGk+MSYmdWEobSksaT4xJiZzYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFAsIiQxIiksYyxpPGUmJnlhKGEuc2xpY2UoaSxlKSksZTxmJiZ5YShhPWEuc2xpY2UoZSkpLGU8ZiYmc2EoYSkpfW0ucHVzaChjKX1yZXR1cm4gdWEobSl9ZnVuY3Rpb24gemEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbyxxLHI9MCxzPSIwIix0PWYmJltdLHU9W10sdj1qLHg9Znx8ZSYmZC5maW5kLlRBRygiKiIsaykseT13Kz1udWxsPT12PzE6TWF0aC5yYW5kb20oKXx8LjEsej14Lmxlbmd0aDtmb3IoayYmKGo9Zz09PW58fGd8fGspO3MhPT16JiZudWxsIT0obD14W3NdKTtzKyspe2lmKGUmJmwpe289MCxnfHxsLm93bmVyRG9jdW1lbnQ9PT1ufHwobShsKSxoPSFwKTt3aGlsZShxPWFbbysrXSlpZihxKGwsZ3x8bixoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXkpfWMmJigobD0hcSYmbCkmJnItLSxmJiZ0LnB1c2gobCkpfWlmKHIrPXMsYyYmcyE9PXIpe289MDt3aGlsZShxPWJbbysrXSlxKHQsdSxnLGgpO2lmKGYpe2lmKHI+MCl3aGlsZShzLS0pdFtzXXx8dVtzXXx8KHVbc109RS5jYWxsKGkpKTt1PXdhKHUpfUcuYXBwbHkoaSx1KSxrJiYhZiYmdS5sZW5ndGg+MCYmcitiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz15LGo9diksdH07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eWEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHphKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKF8sYWEpLGIpfHxbXSlbMF0sIWIpcmV0dXJuIGU7biYmKGI9Yi5wYXJlbnROb2RlKSxhPWEuc2xpY2Uoai5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1WLm5lZWRzQ29udGV4dC50ZXN0KGEpPzA6ai5sZW5ndGg7d2hpbGUoaS0tKXtpZihrPWpbaV0sZC5yZWxhdGl2ZVtsPWsudHlwZV0pYnJlYWs7aWYoKG09ZC5maW5kW2xdKSYmKGY9bShrLm1hdGNoZXNbMF0ucmVwbGFjZShfLGFhKSwkLnRlc3QoalswXS50eXBlKSYmcWEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnNhKGopLCFhKXJldHVybiBHLmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLCFifHwkLnRlc3QoYSkmJnFhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKSl9KSxqYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxrYSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBhLmdldEF0dHJpYnV0ZShiLCJ0eXBlIj09PWIudG9Mb3dlckNhc2UoKT8xOjIpfSksYy5hdHRyaWJ1dGVzJiZqYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxpbnB1dC8+IixhLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxrYSgidmFsdWUiLGZ1bmN0aW9uKGEsYixjKXtpZighYyYmImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gYS5kZWZhdWx0VmFsdWV9KSxqYShmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8a2EoSixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7aWYoIWMpcmV0dXJuIGFbYl09PT0hMD9iLnRvTG93ZXJDYXNlKCk6KGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZC5zcGVjaWZpZWQ/ZC52YWx1ZTpudWxsfSksZ2F9KGEpO3IuZmluZD14LHIuZXhwcj14LnNlbGVjdG9ycyxyLmV4cHJbIjoiXT1yLmV4cHIucHNldWRvcyxyLnVuaXF1ZVNvcnQ9ci51bmlxdWU9eC51bmlxdWVTb3J0LHIudGV4dD14LmdldFRleHQsci5pc1hNTERvYz14LmlzWE1MLHIuY29udGFpbnM9eC5jb250YWlucyxyLmVzY2FwZVNlbGVjdG9yPXguZXNjYXBlO3ZhciB5PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPXZvaWQgMCE9PWM7d2hpbGUoKGE9YVtiXSkmJjkhPT1hLm5vZGVUeXBlKWlmKDE9PT1hLm5vZGVUeXBlKXtpZihlJiZyKGEpLmlzKGMpKWJyZWFrO2QucHVzaChhKX1yZXR1cm4gZH0sej1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXTthO2E9YS5uZXh0U2libGluZykxPT09YS5ub2RlVHlwZSYmYSE9PWImJmMucHVzaChhKTtyZXR1cm4gY30sQT1yLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LEI9L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2ksQz0vXi5bXjojXFtcLixdKiQvO2Z1bmN0aW9uIEQoYSxiLGMpe2lmKHIuaXNGdW5jdGlvbihiKSlyZXR1cm4gci5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4hIWIuY2FsbChhLGQsYSkhPT1jfSk7aWYoYi5ub2RlVHlwZSlyZXR1cm4gci5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1iIT09Y30pO2lmKCJzdHJpbmciPT10eXBlb2YgYil7aWYoQy50ZXN0KGIpKXJldHVybiByLmZpbHRlcihiLGEsYyk7Yj1yLmZpbHRlcihiLGEpfXJldHVybiByLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gaS5jYWxsKGIsYSk+LTEhPT1jJiYxPT09YS5ub2RlVHlwZX0pfXIuZmlsdGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iWzBdO3JldHVybiBjJiYoYT0iOm5vdCgiK2ErIikiKSwxPT09Yi5sZW5ndGgmJjE9PT1kLm5vZGVUeXBlP3IuZmluZC5tYXRjaGVzU2VsZWN0b3IoZCxhKT9bZF06W106ci5maW5kLm1hdGNoZXMoYSxyLmdyZXAoYixmdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV9KSl9LHIuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLmxlbmd0aCxlPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybiB0aGlzLnB1c2hTdGFjayhyKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7YjxkO2IrKylpZihyLmNvbnRhaW5zKGVbYl0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKGM9dGhpcy5wdXNoU3RhY2soW10pLGI9MDtiPGQ7YisrKXIuZmluZChhLGVbYl0sYyk7cmV0dXJuIGQ+MT9yLnVuaXF1ZVNvcnQoYyk6Y30sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhEKHRoaXMsYXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhEKHRoaXMsYXx8W10sITApKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISFEKHRoaXMsInN0cmluZyI9PXR5cGVvZiBhJiZBLnRlc3QoYSk/cihhKTphfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBFLEY9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0rKSkkLyxHPXIuZm4uaW5pdD1mdW5jdGlvbihhLGIsYyl7dmFyIGUsZjtpZighYSlyZXR1cm4gdGhpcztpZihjPWN8fEUsInN0cmluZyI9PXR5cGVvZiBhKXtpZihlPSI8Ij09PWFbMF0mJiI+Ij09PWFbYS5sZW5ndGgtMV0mJmEubGVuZ3RoPj0zP1tudWxsLGEsbnVsbF06Ri5leGVjKGEpLCFlfHwhZVsxXSYmYilyZXR1cm4hYnx8Yi5qcXVlcnk/KGJ8fGMpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihiKS5maW5kKGEpO2lmKGVbMV0pe2lmKGI9YiBpbnN0YW5jZW9mIHI/YlswXTpiLHIubWVyZ2UodGhpcyxyLnBhcnNlSFRNTChlWzFdLGImJmIubm9kZVR5cGU/Yi5vd25lckRvY3VtZW50fHxiOmQsITApKSxCLnRlc3QoZVsxXSkmJnIuaXNQbGFpbk9iamVjdChiKSlmb3IoZSBpbiBiKXIuaXNGdW5jdGlvbih0aGlzW2VdKT90aGlzW2VdKGJbZV0pOnRoaXMuYXR0cihlLGJbZV0pO3JldHVybiB0aGlzfXJldHVybiBmPWQuZ2V0RWxlbWVudEJ5SWQoZVsyXSksZiYmKHRoaXNbMF09Zix0aGlzLmxlbmd0aD0xKSx0aGlzfXJldHVybiBhLm5vZGVUeXBlPyh0aGlzWzBdPWEsdGhpcy5sZW5ndGg9MSx0aGlzKTpyLmlzRnVuY3Rpb24oYSk/dm9pZCAwIT09Yy5yZWFkeT9jLnJlYWR5KGEpOmEocik6ci5tYWtlQXJyYXkoYSx0aGlzKX07Ry5wcm90b3R5cGU9ci5mbixFPXIoZCk7dmFyIEg9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sST17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtyLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGEpe3ZhciBiPXIoYSx0aGlzKSxjPWIubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8YzthKyspaWYoci5jb250YWlucyh0aGlzLGJbYV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9InN0cmluZyIhPXR5cGVvZiBhJiZyKGEpO2lmKCFBLnRlc3QoYSkpZm9yKDtkPGU7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmci5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP3IudW5pcXVlU29ydChmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/InN0cmluZyI9PXR5cGVvZiBhP2kuY2FsbChyKGEpLHRoaXNbMF0pOmkuY2FsbCh0aGlzLGEuanF1ZXJ5P2FbMF06YSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soci51bmlxdWVTb3J0KHIubWVyZ2UodGhpcy5nZXQoKSxyKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEooYSxiKXt3aGlsZSgoYT1hW2JdKSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfXIuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4geShhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHkoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEooYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gSihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4geShhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB5KGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB5KGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geShhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4geigoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIHooYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29udGVudERvY3VtZW50fHxyLm1lcmdlKFtdLGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe3IuZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1yLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPXIuZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihJW2FdfHxyLnVuaXF1ZVNvcnQoZSksSC50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEs9L1xTKy9nO2Z1bmN0aW9uIEwoYSl7dmFyIGI9e307cmV0dXJuIHIuZWFjaChhLm1hdGNoKEspfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifXIuQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9InN0cmluZyI9PXR5cGVvZiBhP0woYSk6ci5leHRlbmQoe30sYSk7dmFyIGIsYyxkLGUsZj1bXSxnPVtdLGg9LTEsaT1mdW5jdGlvbigpe2ZvcihlPWEub25jZSxkPWI9ITA7Zy5sZW5ndGg7aD0tMSl7Yz1nLnNoaWZ0KCk7d2hpbGUoKytoPGYubGVuZ3RoKWZbaF0uYXBwbHkoY1swXSxjWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlJiYoaD1mLmxlbmd0aCxjPSExKX1hLm1lbW9yeXx8KGM9ITEpLGI9ITEsZSYmKGY9Yz9bXToiIil9LGo9e2FkZDpmdW5jdGlvbigpe3JldHVybiBmJiYoYyYmIWImJihoPWYubGVuZ3RoLTEsZy5wdXNoKGMpKSxmdW5jdGlvbiBkKGIpe3IuZWFjaChiLGZ1bmN0aW9uKGIsYyl7ci5pc0Z1bmN0aW9uKGMpP2EudW5pcXVlJiZqLmhhcyhjKXx8Zi5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PXIudHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiByLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9ci5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxjPD1oJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/ci5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFmfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxjfHxifHwoZj1jPSIiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWV9LGZpcmVXaXRoOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGV8fChjPWN8fFtdLGM9W2EsYy5zbGljZT9jLnNsaWNlKCk6Y10sZy5wdXNoKGMpLGJ8fGkoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBqLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhZH19O3JldHVybiBqfTtmdW5jdGlvbiBNKGEpe3JldHVybiBhfWZ1bmN0aW9uIE4oYSl7dGhyb3cgYX1mdW5jdGlvbiBPKGEsYixjKXt2YXIgZDt0cnl7YSYmci5pc0Z1bmN0aW9uKGQ9YS5wcm9taXNlKT9kLmNhbGwoYSkuZG9uZShiKS5mYWlsKGMpOmEmJnIuaXNGdW5jdGlvbihkPWEudGhlbik/ZC5jYWxsKGEsYixjKTpiLmNhbGwodm9pZCAwLGEpfWNhdGNoKGEpe2MuY2FsbCh2b2lkIDAsYSl9fXIuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihiKXt2YXIgYz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsci5DYWxsYmFja3MoIm1lbW9yeSIpLHIuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixyLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxyLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsci5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksci5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0sZD0icGVuZGluZyIsZT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGEpe3JldHVybiBlLnRoZW4obnVsbCxhKX0scGlwZTpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gci5EZWZlcnJlZChmdW5jdGlvbihiKXtyLmVhY2goYyxmdW5jdGlvbihjLGQpe3ZhciBlPXIuaXNGdW5jdGlvbihhW2RbNF1dKSYmYVtkWzRdXTtmW2RbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZSYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmci5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YS5wcm9taXNlKCkucHJvZ3Jlc3MoYi5ub3RpZnkpLmRvbmUoYi5yZXNvbHZlKS5mYWlsKGIucmVqZWN0KTpiW2RbMF0rIldpdGgiXSh0aGlzLGU/W2FdOmFyZ3VtZW50cyl9KX0pLGE9bnVsbH0pLnByb21pc2UoKX0sdGhlbjpmdW5jdGlvbihiLGQsZSl7dmFyIGY9MDtmdW5jdGlvbiBnKGIsYyxkLGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBoPXRoaXMsaT1hcmd1bWVudHMsaj1mdW5jdGlvbigpe3ZhciBhLGo7aWYoIShiPGYpKXtpZihhPWQuYXBwbHkoaCxpKSxhPT09Yy5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uIik7aj1hJiYoIm9iamVjdCI9PXR5cGVvZiBhfHwiZnVuY3Rpb24iPT10eXBlb2YgYSkmJmEudGhlbixyLmlzRnVuY3Rpb24oaik/ZT9qLmNhbGwoYSxnKGYsYyxNLGUpLGcoZixjLE4sZSkpOihmKyssai5jYWxsKGEsZyhmLGMsTSxlKSxnKGYsYyxOLGUpLGcoZixjLE0sYy5ub3RpZnlXaXRoKSkpOihkIT09TSYmKGg9dm9pZCAwLGk9W2FdKSwoZXx8Yy5yZXNvbHZlV2l0aCkoaCxpKSl9fSxrPWU/ajpmdW5jdGlvbigpe3RyeXtqKCl9Y2F0Y2goYSl7ci5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZyLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soYSxrLnN0YWNrVHJhY2UpLGIrMT49ZiYmKGQhPT1OJiYoaD12b2lkIDAsaT1bYV0pLGMucmVqZWN0V2l0aChoLGkpKX19O2I/aygpOihyLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKGsuc3RhY2tUcmFjZT1yLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxhLnNldFRpbWVvdXQoaykpfX1yZXR1cm4gci5EZWZlcnJlZChmdW5jdGlvbihhKXtjWzBdWzNdLmFkZChnKDAsYSxyLmlzRnVuY3Rpb24oZSk/ZTpNLGEubm90aWZ5V2l0aCkpLGNbMV1bM10uYWRkKGcoMCxhLHIuaXNGdW5jdGlvbihiKT9iOk0pKSxjWzJdWzNdLmFkZChnKDAsYSxyLmlzRnVuY3Rpb24oZCk/ZDpOKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/ci5leHRlbmQoYSxlKTplfX0sZj17fTtyZXR1cm4gci5lYWNoKGMsZnVuY3Rpb24oYSxiKXt2YXIgZz1iWzJdLGg9Yls1XTtlW2JbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7ZD1ofSxjWzMtYV1bMl0uZGlzYWJsZSxjWzBdWzJdLmxvY2spLGcuYWRkKGJbM10uZmlyZSksZltiWzBdXT1mdW5jdGlvbigpe3JldHVybiBmW2JbMF0rIldpdGgiXSh0aGlzPT09Zj92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGZbYlswXSsiV2l0aCJdPWcuZmlyZVdpdGh9KSxlLnByb21pc2UoZiksYiYmYi5jYWxsKGYsZiksZn0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMubGVuZ3RoLGM9YixkPUFycmF5KGMpLGU9Zi5jYWxsKGFyZ3VtZW50cyksZz1yLkRlZmVycmVkKCksaD1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYyl7ZFthXT10aGlzLGVbYV09YXJndW1lbnRzLmxlbmd0aD4xP2YuY2FsbChhcmd1bWVudHMpOmMsLS1ifHxnLnJlc29sdmVXaXRoKGQsZSl9fTtpZihiPD0xJiYoTyhhLGcuZG9uZShoKGMpKS5yZXNvbHZlLGcucmVqZWN0KSwicGVuZGluZyI9PT1nLnN0YXRlKCl8fHIuaXNGdW5jdGlvbihlW2NdJiZlW2NdLnRoZW4pKSlyZXR1cm4gZy50aGVuKCk7d2hpbGUoYy0tKU8oZVtjXSxoKGMpLGcucmVqZWN0KTtyZXR1cm4gZy5wcm9taXNlKCl9fSk7dmFyIFA9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87ci5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKGIsYyl7YS5jb25zb2xlJiZhLmNvbnNvbGUud2FybiYmYiYmUC50ZXN0KGIubmFtZSkmJmEuY29uc29sZS53YXJuKCJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiAiK2IubWVzc2FnZSxiLnN0YWNrLGMpfSxyLnJlYWR5RXhjZXB0aW9uPWZ1bmN0aW9uKGIpe2Euc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGJ9KX07dmFyIFE9ci5EZWZlcnJlZCgpO3IuZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIFEudGhlbihhKVsiY2F0Y2giXShmdW5jdGlvbihhKXtyLnJlYWR5RXhjZXB0aW9uKGEpfSksdGhpc30sci5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/ci5yZWFkeVdhaXQrKzpyLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLXIucmVhZHlXYWl0OnIuaXNSZWFkeSl8fChyLmlzUmVhZHk9ITAsYSE9PSEwJiYtLXIucmVhZHlXYWl0PjB8fFEucmVzb2x2ZVdpdGgoZCxbcl0pKX19KSxyLnJlYWR5LnRoZW49US50aGVuO2Z1bmN0aW9uIFIoKXtkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLFIpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsUiksci5yZWFkeSgpfSJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Euc2V0VGltZW91dChyLnJlYWR5KTooZC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixSKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFIpKTt2YXIgUz1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0wLGk9YS5sZW5ndGgsaj1udWxsPT1jO2lmKCJvYmplY3QiPT09ci50eXBlKGMpKXtlPSEwO2ZvcihoIGluIGMpUyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCwKLXIuaXNGdW5jdGlvbihkKXx8KGc9ITApLGomJihnPyhiLmNhbGwoYSxkKSxiPW51bGwpOihqPWIsYj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGouY2FsbChyKGEpLGMpfSkpLGIpKWZvcig7aDxpO2grKyliKGFbaF0sYyxnP2Q6ZC5jYWxsKGFbaF0saCxiKGFbaF0sYykpKTtyZXR1cm4gZT9hOmo/Yi5jYWxsKGEpOmk/YihhWzBdLGMpOmZ9LFQ9ZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfHw5PT09YS5ub2RlVHlwZXx8ISthLm5vZGVUeXBlfTtmdW5jdGlvbiBVKCl7dGhpcy5leHBhbmRvPXIuZXhwYW5kbytVLnVpZCsrfVUudWlkPTEsVS5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGEpe3ZhciBiPWFbdGhpcy5leHBhbmRvXTtyZXR1cm4gYnx8KGI9e30sVChhKSYmKGEubm9kZVR5cGU/YVt0aGlzLmV4cGFuZG9dPWI6T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsdGhpcy5leHBhbmRvLHt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMH0pKSksYn0sc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMuY2FjaGUoYSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKWVbci5jYW1lbENhc2UoYildPWM7ZWxzZSBmb3IoZCBpbiBiKWVbci5jYW1lbENhc2UoZCldPWJbZF07cmV0dXJuIGV9LGdldDpmdW5jdGlvbihhLGIpe3JldHVybiB2b2lkIDA9PT1iP3RoaXMuY2FjaGUoYSk6YVt0aGlzLmV4cGFuZG9dJiZhW3RoaXMuZXhwYW5kb11bci5jYW1lbENhc2UoYildfSxhY2Nlc3M6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB2b2lkIDA9PT1ifHxiJiYic3RyaW5nIj09dHlwZW9mIGImJnZvaWQgMD09PWM/dGhpcy5nZXQoYSxiKToodGhpcy5zZXQoYSxiLGMpLHZvaWQgMCE9PWM/YzpiKX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1hW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09ZCl7aWYodm9pZCAwIT09Yil7ci5pc0FycmF5KGIpP2I9Yi5tYXAoci5jYW1lbENhc2UpOihiPXIuY2FtZWxDYXNlKGIpLGI9YiBpbiBkP1tiXTpiLm1hdGNoKEspfHxbXSksYz1iLmxlbmd0aDt3aGlsZShjLS0pZGVsZXRlIGRbYltjXV19KHZvaWQgMD09PWJ8fHIuaXNFbXB0eU9iamVjdChkKSkmJihhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVsZXRlIGFbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGEpe3ZhciBiPWFbdGhpcy5leHBhbmRvXTtyZXR1cm4gdm9pZCAwIT09YiYmIXIuaXNFbXB0eU9iamVjdChiKX19O3ZhciBWPW5ldyBVLFc9bmV3IFUsWD0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLFk9L1tBLVpdL2c7ZnVuY3Rpb24gWihhLGIsYyl7dmFyIGQ7aWYodm9pZCAwPT09YyYmMT09PWEubm9kZVR5cGUpaWYoZD0iZGF0YS0iK2IucmVwbGFjZShZLCItJCYiKS50b0xvd2VyQ2FzZSgpLGM9YS5nZXRBdHRyaWJ1dGUoZCksInN0cmluZyI9PXR5cGVvZiBjKXt0cnl7Yz0idHJ1ZSI9PT1jfHwiZmFsc2UiIT09YyYmKCJudWxsIj09PWM/bnVsbDorYysiIj09PWM/K2M6WC50ZXN0KGMpP0pTT04ucGFyc2UoYyk6Yyl9Y2F0Y2goZSl7fVcuc2V0KGEsYixjKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfXIuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBXLmhhc0RhdGEoYSl8fFYuaGFzRGF0YShhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFcuYWNjZXNzKGEsYixjKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe1cucmVtb3ZlKGEsYil9LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gVi5hY2Nlc3MoYSxiLGMpfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe1YucmVtb3ZlKGEsYil9fSksci5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1XLmdldChmKSwxPT09Zi5ub2RlVHlwZSYmIVYuZ2V0KGYsImhhc0RhdGFBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPXIuY2FtZWxDYXNlKGQuc2xpY2UoNSkpLFooZixkLGVbZF0pKSk7Vi5zZXQoZiwiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGV9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe1cuc2V0KHRoaXMsYSl9KTpTKHRoaXMsZnVuY3Rpb24oYil7dmFyIGM7aWYoZiYmdm9pZCAwPT09Yil7aWYoYz1XLmdldChmLGEpLHZvaWQgMCE9PWMpcmV0dXJuIGM7aWYoYz1aKGYsYSksdm9pZCAwIT09YylyZXR1cm4gY31lbHNlIHRoaXMuZWFjaChmdW5jdGlvbigpe1cuc2V0KHRoaXMsYSxiKX0pfSxudWxsLGIsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtXLnJlbW92ZSh0aGlzLGEpfSl9fSksci5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihhKXJldHVybiBiPShifHwiZngiKSsicXVldWUiLGQ9Vi5nZXQoYSxiKSxjJiYoIWR8fHIuaXNBcnJheShjKT9kPVYuYWNjZXNzKGEsYixyLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXX0sZGVxdWV1ZTpmdW5jdGlvbihhLGIpe2I9Ynx8ImZ4Ijt2YXIgYz1yLnF1ZXVlKGEsYiksZD1jLmxlbmd0aCxlPWMuc2hpZnQoKSxmPXIuX3F1ZXVlSG9va3MoYSxiKSxnPWZ1bmN0aW9uKCl7ci5kZXF1ZXVlKGEsYil9OyJpbnByb2dyZXNzIj09PWUmJihlPWMuc2hpZnQoKSxkLS0pLGUmJigiZngiPT09YiYmYy51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIGYuc3RvcCxlLmNhbGwoYSxnLGYpKSwhZCYmZiYmZi5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGEsYil7dmFyIGM9YisicXVldWVIb29rcyI7cmV0dXJuIFYuZ2V0KGEsYyl8fFYuYWNjZXNzKGEsYyx7ZW1wdHk6ci5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7Vi5yZW1vdmUoYSxbYisicXVldWUiLGNdKX0pfSl9fSksci5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYil7dmFyIGM9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihiPWEsYT0iZngiLGMtLSksYXJndW1lbnRzLmxlbmd0aDxjP3IucXVldWUodGhpc1swXSxhKTp2b2lkIDA9PT1iP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9ci5xdWV1ZSh0aGlzLGEsYik7ci5fcXVldWVIb29rcyh0aGlzLGEpLCJmeCI9PT1hJiYiaW5wcm9ncmVzcyIhPT1jWzBdJiZyLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtyLmRlcXVldWUodGhpcyxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0xLGU9ci5EZWZlcnJlZCgpLGY9dGhpcyxnPXRoaXMubGVuZ3RoLGg9ZnVuY3Rpb24oKXstLWR8fGUucmVzb2x2ZVdpdGgoZixbZl0pfTsic3RyaW5nIiE9dHlwZW9mIGEmJihiPWEsYT12b2lkIDApLGE9YXx8ImZ4Ijt3aGlsZShnLS0pYz1WLmdldChmW2ddLGErInF1ZXVlSG9va3MiKSxjJiZjLmVtcHR5JiYoZCsrLGMuZW1wdHkuYWRkKGgpKTtyZXR1cm4gaCgpLGUucHJvbWlzZShiKX19KTt2YXIgJD0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvLnNvdXJjZSxfPW5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIiskKyIpKFthLXolXSopJCIsImkiKSxhYT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLGJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSwibm9uZSI9PT1hLnN0eWxlLmRpc3BsYXl8fCIiPT09YS5zdHlsZS5kaXNwbGF5JiZyLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKSYmIm5vbmUiPT09ci5jc3MoYSwiZGlzcGxheSIpfSxjYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9e307Zm9yKGYgaW4gYilnW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5hcHBseShhLGR8fFtdKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09Z1tmXTtyZXR1cm4gZX07ZnVuY3Rpb24gZGEoYSxiLGMsZCl7dmFyIGUsZj0xLGc9MjAsaD1kP2Z1bmN0aW9uKCl7cmV0dXJuIGQuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIHIuY3NzKGEsYiwiIil9LGk9aCgpLGo9YyYmY1szXXx8KHIuY3NzTnVtYmVyW2JdPyIiOiJweCIpLGs9KHIuY3NzTnVtYmVyW2JdfHwicHgiIT09aiYmK2kpJiZfLmV4ZWMoci5jc3MoYSxiKSk7aWYoayYma1szXSE9PWope2o9anx8a1szXSxjPWN8fFtdLGs9K2l8fDE7ZG8gZj1mfHwiLjUiLGsvPWYsci5zdHlsZShhLGIsaytqKTt3aGlsZShmIT09KGY9aCgpL2kpJiYxIT09ZiYmLS1nKX1yZXR1cm4gYyYmKGs9K2t8fCtpfHwwLGU9Y1sxXT9rKyhjWzFdKzEpKmNbMl06K2NbMl0sZCYmKGQudW5pdD1qLGQuc3RhcnQ9ayxkLmVuZD1lKSksZX12YXIgZWE9e307ZnVuY3Rpb24gZmEoYSl7dmFyIGIsYz1hLm93bmVyRG9jdW1lbnQsZD1hLm5vZGVOYW1lLGU9ZWFbZF07cmV0dXJuIGU/ZTooYj1jLmJvZHkuYXBwZW5kQ2hpbGQoYy5jcmVhdGVFbGVtZW50KGQpKSxlPXIuY3NzKGIsImRpc3BsYXkiKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYiksIm5vbmUiPT09ZSYmKGU9ImJsb2NrIiksZWFbZF09ZSxlKX1mdW5jdGlvbiBnYShhLGIpe2Zvcih2YXIgYyxkLGU9W10sZj0wLGc9YS5sZW5ndGg7ZjxnO2YrKylkPWFbZl0sZC5zdHlsZSYmKGM9ZC5zdHlsZS5kaXNwbGF5LGI/KCJub25lIj09PWMmJihlW2ZdPVYuZ2V0KGQsImRpc3BsYXkiKXx8bnVsbCxlW2ZdfHwoZC5zdHlsZS5kaXNwbGF5PSIiKSksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJmJhKGQpJiYoZVtmXT1mYShkKSkpOiJub25lIiE9PWMmJihlW2ZdPSJub25lIixWLnNldChkLCJkaXNwbGF5IixjKSkpO2ZvcihmPTA7ZjxnO2YrKyludWxsIT1lW2ZdJiYoYVtmXS5zdHlsZS5kaXNwbGF5PWVbZl0pO3JldHVybiBhfXIuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIGdhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGdhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe2JhKHRoaXMpP3IodGhpcykuc2hvdygpOnIodGhpcykuaGlkZSgpfSl9fSk7dmFyIGhhPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLGlhPS88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0rKS9pLGphPS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSxrYT17b3B0aW9uOlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O2thLm9wdGdyb3VwPWthLm9wdGlvbixrYS50Ym9keT1rYS50Zm9vdD1rYS5jb2xncm91cD1rYS5jYXB0aW9uPWthLnRoZWFkLGthLnRoPWthLnRkO2Z1bmN0aW9uIGxhKGEsYil7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYnx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbD9hLnF1ZXJ5U2VsZWN0b3JBbGwoYnx8IioiKTpbXTtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmci5ub2RlTmFtZShhLGIpP3IubWVyZ2UoW2FdLGMpOmN9ZnVuY3Rpb24gbWEoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDtjKyspVi5zZXQoYVtjXSwiZ2xvYmFsRXZhbCIsIWJ8fFYuZ2V0KGJbY10sImdsb2JhbEV2YWwiKSl9dmFyIG5hPS88fCYjP1x3KzsvO2Z1bmN0aW9uIG9hKGEsYixjLGQsZSl7Zm9yKHZhciBmLGcsaCxpLGosayxsPWIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG09W10sbj0wLG89YS5sZW5ndGg7bjxvO24rKylpZihmPWFbbl0sZnx8MD09PWYpaWYoIm9iamVjdCI9PT1yLnR5cGUoZikpci5tZXJnZShtLGYubm9kZVR5cGU/W2ZdOmYpO2Vsc2UgaWYobmEudGVzdChmKSl7Zz1nfHxsLmFwcGVuZENoaWxkKGIuY3JlYXRlRWxlbWVudCgiZGl2IikpLGg9KGlhLmV4ZWMoZil8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksaT1rYVtoXXx8a2EuX2RlZmF1bHQsZy5pbm5lckhUTUw9aVsxXStyLmh0bWxQcmVmaWx0ZXIoZikraVsyXSxrPWlbMF07d2hpbGUoay0tKWc9Zy5sYXN0Q2hpbGQ7ci5tZXJnZShtLGcuY2hpbGROb2RlcyksZz1sLmZpcnN0Q2hpbGQsZy50ZXh0Q29udGVudD0iIn1lbHNlIG0ucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtsLnRleHRDb250ZW50PSIiLG49MDt3aGlsZShmPW1bbisrXSlpZihkJiZyLmluQXJyYXkoZixkKT4tMSllJiZlLnB1c2goZik7ZWxzZSBpZihqPXIuY29udGFpbnMoZi5vd25lckRvY3VtZW50LGYpLGc9bGEobC5hcHBlbmRDaGlsZChmKSwic2NyaXB0IiksaiYmbWEoZyksYyl7az0wO3doaWxlKGY9Z1trKytdKWphLnRlc3QoZi50eXBlfHwiIikmJmMucHVzaChmKX1yZXR1cm4gbH0hZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxiPWEuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSksYz1kLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Yy5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGMuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiY2hlY2tlZCIpLGMuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLGIuYXBwZW5kQ2hpbGQoYyksby5jaGVja0Nsb25lPWIuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixvLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWV9KCk7dmFyIHBhPWQuZG9jdW1lbnRFbGVtZW50LHFhPS9ea2V5LyxyYT0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnV8ZHJhZ3xkcm9wKXxjbGljay8sc2E9L14oW14uXSopKD86XC4oLispfCkvO2Z1bmN0aW9uIHRhKCl7cmV0dXJuITB9ZnVuY3Rpb24gdWEoKXtyZXR1cm4hMX1mdW5jdGlvbiB2YSgpe3RyeXtyZXR1cm4gZC5hY3RpdmVFbGVtZW50fWNhdGNoKGEpe319ZnVuY3Rpb24gd2EoYSxiLGMsZCxlLGYpe3ZhciBnLGg7aWYoIm9iamVjdCI9PXR5cGVvZiBiKXsic3RyaW5nIiE9dHlwZW9mIGMmJihkPWR8fGMsYz12b2lkIDApO2ZvcihoIGluIGIpd2EoYSxoLGMsZCxiW2hdLGYpO3JldHVybiBhfWlmKG51bGw9PWQmJm51bGw9PWU/KGU9YyxkPWM9dm9pZCAwKTpudWxsPT1lJiYoInN0cmluZyI9PXR5cGVvZiBjPyhlPWQsZD12b2lkIDApOihlPWQsZD1jLGM9dm9pZCAwKSksZT09PSExKWU9dWE7ZWxzZSBpZighZSlyZXR1cm4gYTtyZXR1cm4gMT09PWYmJihnPWUsZT1mdW5jdGlvbihhKXtyZXR1cm4gcigpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZS5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1yLmd1aWQrKykpLGEuZWFjaChmdW5jdGlvbigpe3IuZXZlbnQuYWRkKHRoaXMsYixlLGQsYyl9KX1yLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbSxuLG8scCxxPVYuZ2V0KGEpO2lmKHEpe2MuaGFuZGxlciYmKGY9YyxjPWYuaGFuZGxlcixlPWYuc2VsZWN0b3IpLGUmJnIuZmluZC5tYXRjaGVzU2VsZWN0b3IocGEsZSksYy5ndWlkfHwoYy5ndWlkPXIuZ3VpZCsrKSwoaT1xLmV2ZW50cyl8fChpPXEuZXZlbnRzPXt9KSwoZz1xLmhhbmRsZSl8fChnPXEuaGFuZGxlPWZ1bmN0aW9uKGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgciYmci5ldmVudC50cmlnZ2VyZWQhPT1iLnR5cGU/ci5ldmVudC5kaXNwYXRjaC5hcHBseShhLGFyZ3VtZW50cyk6dm9pZCAwfSksYj0oYnx8IiIpLm1hdGNoKEspfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWg9c2EuZXhlYyhiW2pdKXx8W10sbj1wPWhbMV0sbz0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG4mJihsPXIuZXZlbnQuc3BlY2lhbFtuXXx8e30sbj0oZT9sLmRlbGVnYXRlVHlwZTpsLmJpbmRUeXBlKXx8bixsPXIuZXZlbnQuc3BlY2lhbFtuXXx8e30saz1yLmV4dGVuZCh7dHlwZTpuLG9yaWdUeXBlOnAsZGF0YTpkLGhhbmRsZXI6YyxndWlkOmMuZ3VpZCxzZWxlY3RvcjplLG5lZWRzQ29udGV4dDplJiZyLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoZSksbmFtZXNwYWNlOm8uam9pbigiLiIpfSxmKSwobT1pW25dKXx8KG09aVtuXT1bXSxtLmRlbGVnYXRlQ291bnQ9MCxsLnNldHVwJiZsLnNldHVwLmNhbGwoYSxkLG8sZykhPT0hMXx8YS5hZGRFdmVudExpc3RlbmVyJiZhLmFkZEV2ZW50TGlzdGVuZXIobixnKSksbC5hZGQmJihsLmFkZC5jYWxsKGEsayksay5oYW5kbGVyLmd1aWR8fChrLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP20uc3BsaWNlKG0uZGVsZWdhdGVDb3VudCsrLDAsayk6bS5wdXNoKGspLHIuZXZlbnQuZ2xvYmFsW25dPSEwKX19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbixvLHAscT1WLmhhc0RhdGEoYSkmJlYuZ2V0KGEpO2lmKHEmJihpPXEuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEspfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9c2EuZXhlYyhiW2pdKXx8W10sbj1wPWhbMV0sbz0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG4pe2w9ci5ldmVudC5zcGVjaWFsW25dfHx7fSxuPShkP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxuLG09aVtuXXx8W10saD1oWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIitvLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGc9Zj1tLmxlbmd0aDt3aGlsZShmLS0paz1tW2ZdLCFlJiZwIT09ay5vcmlnVHlwZXx8YyYmYy5ndWlkIT09ay5ndWlkfHxoJiYhaC50ZXN0KGsubmFtZXNwYWNlKXx8ZCYmZCE9PWsuc2VsZWN0b3ImJigiKioiIT09ZHx8IWsuc2VsZWN0b3IpfHwobS5zcGxpY2UoZiwxKSxrLnNlbGVjdG9yJiZtLmRlbGVnYXRlQ291bnQtLSxsLnJlbW92ZSYmbC5yZW1vdmUuY2FsbChhLGspKTtnJiYhbS5sZW5ndGgmJihsLnRlYXJkb3duJiZsLnRlYXJkb3duLmNhbGwoYSxvLHEuaGFuZGxlKSE9PSExfHxyLnJlbW92ZUV2ZW50KGEsbixxLmhhbmRsZSksZGVsZXRlIGlbbl0pfWVsc2UgZm9yKG4gaW4gaSlyLmV2ZW50LnJlbW92ZShhLG4rYltqXSxjLGQsITApO3IuaXNFbXB0eU9iamVjdChpKSYmVi5yZW1vdmUoYSwiaGFuZGxlIGV2ZW50cyIpfX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dmFyIGI9ci5ldmVudC5maXgoYSksYyxkLGUsZixnLGgsaT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksaj0oVi5nZXQodGhpcywiZXZlbnRzIil8fHt9KVtiLnR5cGVdfHxbXSxrPXIuZXZlbnQuc3BlY2lhbFtiLnR5cGVdfHx7fTtmb3IoaVswXT1iLGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWlbY109YXJndW1lbnRzW2NdO2lmKGIuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYikhPT0hMSl7aD1yLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxiLGopLGM9MDt3aGlsZSgoZj1oW2MrK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXtiLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGQ9MDt3aGlsZSgoZz1mLmhhbmRsZXJzW2QrK10pJiYhYi5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWIucm5hbWVzcGFjZSYmIWIucm5hbWVzcGFjZS50ZXN0KGcubmFtZXNwYWNlKXx8KGIuaGFuZGxlT2JqPWcsYi5kYXRhPWcuZGF0YSxlPSgoci5ldmVudC5zcGVjaWFsW2cub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxnLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1lJiYoYi5yZXN1bHQ9ZSk9PT0hMSYmKGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYiksYi5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoImNsaWNrIiE9PWEudHlwZXx8aXNOYU4oYS5idXR0b24pfHxhLmJ1dHRvbjwxKSlmb3IoO2khPT10aGlzO2k9aS5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1pLm5vZGVUeXBlJiYoaS5kaXNhYmxlZCE9PSEwfHwiY2xpY2siIT09YS50eXBlKSl7Zm9yKGQ9W10sYz0wO2M8aDtjKyspZj1iW2NdLGU9Zi5zZWxlY3RvcisiICIsdm9pZCAwPT09ZFtlXSYmKGRbZV09Zi5uZWVkc0NvbnRleHQ/cihlLHRoaXMpLmluZGV4KGkpPi0xOnIuZmluZChlLHRoaXMsbnVsbCxbaV0pLmxlbmd0aCksZFtlXSYmZC5wdXNoKGYpO2QubGVuZ3RoJiZnLnB1c2goe2VsZW06aSxoYW5kbGVyczpkfSl9cmV0dXJuIGg8Yi5sZW5ndGgmJmcucHVzaCh7ZWxlbTp0aGlzLGhhbmRsZXJzOmIuc2xpY2UoaCl9KSxnfSxhZGRQcm9wOmZ1bmN0aW9uKGEsYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIuRXZlbnQucHJvdG90eXBlLGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpyLmlzRnVuY3Rpb24oYik/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIGIodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFthXX0sc2V0OmZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19KX0sZml4OmZ1bmN0aW9uKGEpe3JldHVybiBhW3IuZXhwYW5kb10/YTpuZXcgci5FdmVudChhKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PXZhKCkmJnRoaXMuZm9jdXMpcmV0dXJuIHRoaXMuZm9jdXMoKSwhMX0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXM9PT12YSgpJiZ0aGlzLmJsdXIpcmV0dXJuIHRoaXMuYmx1cigpLCExfSxkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sY2xpY2s6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZigiY2hlY2tib3giPT09dGhpcy50eXBlJiZ0aGlzLmNsaWNrJiZyLm5vZGVOYW1lKHRoaXMsImlucHV0IikpcmV0dXJuIHRoaXMuY2xpY2soKSwhMX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHIubm9kZU5hbWUoYS50YXJnZXQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe3ZvaWQgMCE9PWEucmVzdWx0JiZhLm9yaWdpbmFsRXZlbnQmJihhLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9YS5yZXN1bHQpfX19fSxyLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMpfSxyLkV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiByLkV2ZW50PyhhJiZhLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1hLmRlZmF1bHRQcmV2ZW50ZWQmJmEucmV0dXJuVmFsdWU9PT0hMT90YTp1YSx0aGlzLnRhcmdldD1hLnRhcmdldCYmMz09PWEudGFyZ2V0Lm5vZGVUeXBlP2EudGFyZ2V0LnBhcmVudE5vZGU6YS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWEuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9YS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9YSxiJiZyLmV4dGVuZCh0aGlzLGIpLHRoaXMudGltZVN0YW1wPWEmJmEudGltZVN0YW1wfHxyLm5vdygpLHZvaWQodGhpc1tyLmV4cGFuZG9dPSEwKSk6bmV3IHIuRXZlbnQoYSxiKX0sci5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnIuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOnVhLGlzUHJvcGFnYXRpb25TdG9wcGVkOnVhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnVhLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXRhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXRhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD10YSxhJiYhdGhpcy5pc1NpbXVsYXRlZCYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sci5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLCJjaGFyIjohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDpmdW5jdGlvbihhKXt2YXIgYj1hLmJ1dHRvbjtyZXR1cm4gbnVsbD09YS53aGljaCYmcWEudGVzdChhLnR5cGUpP251bGwhPWEuY2hhckNvZGU/YS5jaGFyQ29kZTphLmtleUNvZGU6IWEud2hpY2gmJnZvaWQgMCE9PWImJnJhLnRlc3QoYS50eXBlKT8xJmI/MToyJmI/Mzo0JmI/MjowOmEud2hpY2h9fSxyLmV2ZW50LmFkZFByb3ApLHIuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXtyLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybiBlJiYoZT09PWR8fHIuY29udGFpbnMoZCxlKSl8fChhLnR5cGU9Zi5vcmlnVHlwZSxjPWYuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWIpLGN9fX0pLHIuZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gd2EodGhpcyxhLGIsYyxkKX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB3YSh0aGlzLGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixyKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGIhPT0hMSYmImZ1bmN0aW9uIiE9dHlwZW9mIGJ8fChjPWIsYj12b2lkIDApLGM9PT0hMSYmKGM9dWEpLHRoaXMuZWFjaChmdW5jdGlvbigpe3IuZXZlbnQucmVtb3ZlKHRoaXMsYSxjLGIpfSl9fSk7dmFyIHhhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKVtePl0qKVwvPi9naSx5YT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSx6YT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxBYT0vXnRydWVcLyguKikvLEJhPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBDYShhLGIpe3JldHVybiByLm5vZGVOYW1lKGEsInRhYmxlIikmJnIubm9kZU5hbWUoMTEhPT1iLm5vZGVUeXBlP2I6Yi5maXJzdENoaWxkLCJ0ciIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGE6YX1mdW5jdGlvbiBEYShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkrIi8iK2EudHlwZSxhfWZ1bmN0aW9uIEVhKGEpe3ZhciBiPUFhLmV4ZWMoYS50eXBlKTtyZXR1cm4gYj9hLnR5cGU9YlsxXTphLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLGF9ZnVuY3Rpb24gRmEoYSxiKXt2YXIgYyxkLGUsZixnLGgsaSxqO2lmKDE9PT1iLm5vZGVUeXBlKXtpZihWLmhhc0RhdGEoYSkmJihmPVYuYWNjZXNzKGEpLGc9Vi5zZXQoYixmKSxqPWYuZXZlbnRzKSl7ZGVsZXRlIGcuaGFuZGxlLGcuZXZlbnRzPXt9O2ZvcihlIGluIGopZm9yKGM9MCxkPWpbZV0ubGVuZ3RoO2M8ZDtjKyspci5ldmVudC5hZGQoYixlLGpbZV1bY10pfVcuaGFzRGF0YShhKSYmKGg9Vy5hY2Nlc3MoYSksaT1yLmV4dGVuZCh7fSxoKSxXLnNldChiLGkpKX19ZnVuY3Rpb24gR2EoYSxiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PWMmJmhhLnRlc3QoYS50eXBlKT9iLmNoZWNrZWQ9YS5jaGVja2VkOiJpbnB1dCIhPT1jJiYidGV4dGFyZWEiIT09Y3x8KGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiBIYShhLGIsYyxkKXtiPWcuYXBwbHkoW10sYik7dmFyIGUsZixoLGksaixrLGw9MCxtPWEubGVuZ3RoLG49bS0xLHE9YlswXSxzPXIuaXNGdW5jdGlvbihxKTtpZihzfHxtPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIW8uY2hlY2tDbG9uZSYmemEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7cyYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLEhhKGYsYixjLGQpfSk7aWYobSYmKGU9b2EoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxmPWUuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9ZiksZnx8ZCkpe2ZvcihoPXIubWFwKGxhKGUsInNjcmlwdCIpLERhKSxpPWgubGVuZ3RoO2w8bTtsKyspaj1lLGwhPT1uJiYoaj1yLmNsb25lKGosITAsITApLGkmJnIubWVyZ2UoaCxsYShqLCJzY3JpcHQiKSkpLGMuY2FsbChhW2xdLGosbCk7aWYoaSlmb3Ioaz1oW2gubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsci5tYXAoaCxFYSksbD0wO2w8aTtsKyspaj1oW2xdLGphLnRlc3Qoai50eXBlfHwiIikmJiFWLmFjY2VzcyhqLCJnbG9iYWxFdmFsIikmJnIuY29udGFpbnMoayxqKSYmKGouc3JjP3IuX2V2YWxVcmwmJnIuX2V2YWxVcmwoai5zcmMpOnAoai50ZXh0Q29udGVudC5yZXBsYWNlKEJhLCIiKSxrKSl9cmV0dXJuIGF9ZnVuY3Rpb24gSWEoYSxiLGMpe2Zvcih2YXIgZCxlPWI/ci5maWx0ZXIoYixhKTphLGY9MDtudWxsIT0oZD1lW2ZdKTtmKyspY3x8MSE9PWQubm9kZVR5cGV8fHIuY2xlYW5EYXRhKGxhKGQpKSxkLnBhcmVudE5vZGUmJihjJiZyLmNvbnRhaW5zKGQub3duZXJEb2N1bWVudCxkKSYmbWEobGEoZCwic2NyaXB0IikpLGQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkKSk7cmV0dXJuIGF9ci5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSh4YSwiPCQxPjwvJDI+Iil9LGNsb25lOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuY2xvbmVOb2RlKCEwKSxpPXIuY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpO2lmKCEoby5ub0Nsb25lQ2hlY2tlZHx8MSE9PWEubm9kZVR5cGUmJjExIT09YS5ub2RlVHlwZXx8ci5pc1hNTERvYyhhKSkpZm9yKGc9bGEoaCksZj1sYShhKSxkPTAsZT1mLmxlbmd0aDtkPGU7ZCsrKUdhKGZbZF0sZ1tkXSk7aWYoYilpZihjKWZvcihmPWZ8fGxhKGEpLGc9Z3x8bGEoaCksZD0wLGU9Zi5sZW5ndGg7ZDxlO2QrKylGYShmW2RdLGdbZF0pO2Vsc2UgRmEoYSxoKTtyZXR1cm4gZz1sYShoLCJzY3JpcHQiKSxnLmxlbmd0aD4wJiZtYShnLCFpJiZsYShhLCJzY3JpcHQiKSksaH0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQsZT1yLmV2ZW50LnNwZWNpYWwsZj0wO3ZvaWQgMCE9PShjPWFbZl0pO2YrKylpZihUKGMpKXtpZihiPWNbVi5leHBhbmRvXSl7aWYoYi5ldmVudHMpZm9yKGQgaW4gYi5ldmVudHMpZVtkXT9yLmV2ZW50LnJlbW92ZShjLGQpOnIucmVtb3ZlRXZlbnQoYyxkLGIuaGFuZGxlKTtjW1YuZXhwYW5kb109dm9pZCAwfWNbVy5leHBhbmRvXSYmKGNbVy5leHBhbmRvXT12b2lkIDApfX19KSxyLmZuLmV4dGVuZCh7ZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiBJYSh0aGlzLGEsITApfSxyZW1vdmU6ZnVuY3Rpb24oYSl7cmV0dXJuIElhKHRoaXMsYSl9LHRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9yLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9YSl9KX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPUNhKHRoaXMsYSk7Yi5hcHBlbmRDaGlsZChhKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9Q2EodGhpcyxhKTtiLmluc2VydEJlZm9yZShhLGIuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYSxiPTA7bnVsbCE9KGE9dGhpc1tiXSk7YisrKTE9PT1hLm5vZGVUeXBlJiYoci5jbGVhbkRhdGEobGEoYSwhMSkpLGEudGV4dENvbnRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe3JldHVybiBhPW51bGwhPWEmJmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiByLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBTKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIXlhLnRlc3QoYSkmJiFrYVsoaWEuZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9ci5odG1sUHJlZmlsdGVyKGEpO3RyeXtmb3IoO2M8ZDtjKyspYj10aGlzW2NdfHx7fSwxPT09Yi5ub2RlVHlwZSYmKHIuY2xlYW5EYXRhKGxhKGIsITEpKSxiLmlubmVySFRNTD1hKTtiPTB9Y2F0Y2goZSl7fX1iJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGE9W107cmV0dXJuIEhhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucGFyZW50Tm9kZTtyLmluQXJyYXkodGhpcyxhKTwwJiYoci5jbGVhbkRhdGEobGEodGhpcykpLGMmJmMucmVwbGFjZUNoaWxkKGIsdGhpcykpfSxhKX19KSxyLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihhLGIpe3IuZm5bYV09ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGQ9W10sZT1yKGEpLGY9ZS5sZW5ndGgtMSxnPTA7Zzw9ZjtnKyspYz1nPT09Zj90aGlzOnRoaXMuY2xvbmUoITApLHIoZVtnXSlbYl0oYyksaC5hcHBseShkLGMuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhkKX19KTt2YXIgSmE9L15tYXJnaW4vLEthPW5ldyBSZWdFeHAoIl4oIiskKyIpKD8hcHgpW2EteiVdKyQiLCJpIiksTGE9ZnVuY3Rpb24oYil7dmFyIGM9Yi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiBjJiZjLm9wZW5lcnx8KGM9YSksYy5nZXRDb21wdXRlZFN0eWxlKGIpfTshZnVuY3Rpb24oKXtmdW5jdGlvbiBiKCl7aWYoaSl7aS5zdHlsZS5jc3NUZXh0PSJib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3RvcDoxJTt3aWR0aDo1MCUiLGkuaW5uZXJIVE1MPSIiLHBhLmFwcGVuZENoaWxkKGgpO3ZhciBiPWEuZ2V0Q29tcHV0ZWRTdHlsZShpKTtjPSIxJSIhPT1iLnRvcCxnPSIycHgiPT09Yi5tYXJnaW5MZWZ0LGU9IjRweCI9PT1iLndpZHRoLGkuc3R5bGUubWFyZ2luUmlnaHQ9IjUwJSIsZj0iNHB4Ij09PWIubWFyZ2luUmlnaHQscGEucmVtb3ZlQ2hpbGQoaCksaT1udWxsfX12YXIgYyxlLGYsZyxoPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksaT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuc3R5bGUmJihpLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsaS5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLG8uY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1pLnN0eWxlLmJhY2tncm91bmRDbGlwLGguc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLGguYXBwZW5kQ2hpbGQoaSksci5leHRlbmQobyx7cGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBiKCksY30sYm94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gYigpLGV9LHBpeGVsTWFyZ2luUmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYigpLGZ9LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiBiKCksZ319KSl9KCk7ZnVuY3Rpb24gTWEoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxMYShhKSxjJiYoZz1jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl0sIiIhPT1nfHxyLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKXx8KGc9ci5zdHlsZShhLGIpKSwhby5waXhlbE1hcmdpblJpZ2h0KCkmJkthLnRlc3QoZykmJkphLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMCE9PWc/ZysiIjpnfWZ1bmN0aW9uIE5hKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiBhKCk/dm9pZCBkZWxldGUgdGhpcy5nZXQ6KHRoaXMuZ2V0PWIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fXZhciBPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFFhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxSYT1bIldlYmtpdCIsIk1veiIsIm1zIl0sU2E9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZTtmdW5jdGlvbiBUYShhKXtpZihhIGluIFNhKXJldHVybiBhO3ZhciBiPWFbMF0udG9VcHBlckNhc2UoKSthLnNsaWNlKDEpLGM9UmEubGVuZ3RoO3doaWxlKGMtLSlpZihhPVJhW2NdK2IsYSBpbiBTYSlyZXR1cm4gYX1mdW5jdGlvbiBVYShhLGIsYyl7dmFyIGQ9Xy5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsyXS0oY3x8MCkpKyhkWzNdfHwicHgiKTpifWZ1bmN0aW9uIFZhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDtmPDQ7Zis9MikibWFyZ2luIj09PWMmJihnKz1yLmNzcyhhLGMrYWFbZl0sITAsZSkpLGQ/KCJjb250ZW50Ij09PWMmJihnLT1yLmNzcyhhLCJwYWRkaW5nIithYVtmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09ci5jc3MoYSwiYm9yZGVyIithYVtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPXIuY3NzKGEsInBhZGRpbmciK2FhW2ZdLCEwLGUpLCJwYWRkaW5nIiE9PWMmJihnKz1yLmNzcyhhLCJib3JkZXIiK2FhW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiBXYShhLGIsYyl7dmFyIGQsZT0hMCxmPUxhKGEpLGc9ImJvcmRlci1ib3giPT09ci5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKTtpZihhLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYoZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2JdKSxkPD0wfHxudWxsPT1kKXtpZihkPU1hKGEsYixmKSwoZDwwfHxudWxsPT1kKSYmKGQ9YS5zdHlsZVtiXSksS2EudGVzdChkKSlyZXR1cm4gZDtlPWcmJihvLmJveFNpemluZ1JlbGlhYmxlKCl8fGQ9PT1hLnN0eWxlW2JdKSxkPXBhcnNlRmxvYXQoZCl8fDB9cmV0dXJuIGQrVmEoYSxiLGN8fChnPyJib3JkZXIiOiJjb250ZW50IiksZSxmKSsicHgifXIuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9TWEoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjoiY3NzRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPXIuY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtyZXR1cm4gYj1yLmNzc1Byb3BzW2hdfHwoci5jc3NQcm9wc1toXT1UYShoKXx8aCksZz1yLmNzc0hvb2tzW2JdfHxyLmNzc0hvb2tzW2hdLHZvaWQgMD09PWM/ZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl06KGY9dHlwZW9mIGMsInN0cmluZyI9PT1mJiYoZT1fLmV4ZWMoYykpJiZlWzFdJiYoYz1kYShhLGIsZSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIj09PWYmJihjKz1lJiZlWzNdfHwoci5jc3NOdW1iZXJbaF0/IiI6InB4IikpLG8uY2xlYXJDbG9uZVN0eWxlfHwiIiE9PWN8fDAhPT1iLmluZGV4T2YoImJhY2tncm91bmQiKXx8KGlbYl09ImluaGVyaXQiKSxnJiYic2V0ImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSl8fChpW2JdPWMpKSx2b2lkIDApfX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPXIuY2FtZWxDYXNlKGIpO3JldHVybiBiPXIuY3NzUHJvcHNbaF18fChyLmNzc1Byb3BzW2hdPVRhKGgpfHxoKSxnPXIuY3NzSG9va3NbYl18fHIuY3NzSG9va3NbaF0sZyYmImdldCJpbiBnJiYoZT1nLmdldChhLCEwLGMpKSx2b2lkIDA9PT1lJiYoZT1NYShhLGIsZCkpLCJub3JtYWwiPT09ZSYmYiBpbiBRYSYmKGU9UWFbYl0pLCIiPT09Y3x8Yz8oZj1wYXJzZUZsb2F0KGUpLGM9PT0hMHx8aXNGaW5pdGUoZik/Znx8MDplKTplfX0pLHIuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oYSxiKXtyLmNzc0hvb2tzW2JdPXtnZXQ6ZnVuY3Rpb24oYSxjLGQpe2lmKGMpcmV0dXJuIU9hLnRlc3Qoci5jc3MoYSwiZGlzcGxheSIpKXx8YS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD9XYShhLGIsZCk6Y2EoYSxQYSxmdW5jdGlvbigpe3JldHVybiBXYShhLGIsZCl9KX0sc2V0OmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxmPWQmJkxhKGEpLGc9ZCYmVmEoYSxiLGQsImJvcmRlci1ib3giPT09ci5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKSxmKTtyZXR1cm4gZyYmKGU9Xy5leGVjKGMpKSYmInB4IiE9PShlWzNdfHwicHgiKSYmKGEuc3R5bGVbYl09YyxjPXIuY3NzKGEsYikpLFVhKGEsYyxnKX19fSksci5jc3NIb29rcy5tYXJnaW5MZWZ0PU5hKG8ucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGEsYil7aWYoYilyZXR1cm4ocGFyc2VGbG9hdChNYShhLCJtYXJnaW5MZWZ0IikpfHxhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtY2EoYSx7bWFyZ2luTGVmdDowfSxmdW5jdGlvbigpe3JldHVybiBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnR9KSkrInB4In0pLHIuZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJXaWR0aCJ9LGZ1bmN0aW9uKGEsYil7ci5jc3NIb29rc1thK2JdPXtleHBhbmQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT17fSxmPSJzdHJpbmciPT10eXBlb2YgYz9jLnNwbGl0KCIgIik6W2NdO2Q8NDtkKyspZVthK2FhW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEphLnRlc3QoYSl8fChyLmNzc0hvb2tzW2ErYl0uc2V0PVVhKX0pLHIuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUyh0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKHIuaXNBcnJheShiKSl7Zm9yKGQ9TGEoYSksZT1iLmxlbmd0aDtnPGU7ZysrKWZbYltnXV09ci5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP3Iuc3R5bGUoYSxiLGMpOnIuY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfX0pO2Z1bmN0aW9uIFhhKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBYYS5wcm90b3R5cGUuaW5pdChhLGIsYyxkLGUpfXIuVHdlZW49WGEsWGEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpYYSxpbml0OmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzLmVsZW09YSx0aGlzLnByb3A9Yyx0aGlzLmVhc2luZz1lfHxyLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9Yix0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9ZCx0aGlzLnVuaXQ9Znx8KHIuY3NzTnVtYmVyW2NdPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgYT1YYS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gYSYmYS5nZXQ/YS5nZXQodGhpcyk6WGEucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiLGM9WGEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1iPXIuZWFzaW5nW3RoaXMuZWFzaW5nXShhLHRoaXMub3B0aW9ucy5kdXJhdGlvbiphLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWI9YSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqYit0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxjJiZjLnNldD9jLnNldCh0aGlzKTpYYS5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSxYYS5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9WGEucHJvdG90eXBlLFhhLnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gMSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbCE9YS5lbGVtW2EucHJvcF0mJm51bGw9PWEuZWxlbS5zdHlsZVthLnByb3BdP2EuZWxlbVthLnByb3BdOihiPXIuY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKX0sc2V0OmZ1bmN0aW9uKGEpe3IuZnguc3RlcFthLnByb3BdP3IuZnguc3RlcFthLnByb3BdKGEpOjEhPT1hLmVsZW0ubm9kZVR5cGV8fG51bGw9PWEuZWxlbS5zdHlsZVtyLmNzc1Byb3BzW2EucHJvcF1dJiYhci5jc3NIb29rc1thLnByb3BdP2EuZWxlbVthLnByb3BdPWEubm93OnIuc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpfX19LFhhLnByb3BIb29rcy5zY3JvbGxUb3A9WGEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sci5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxyLmZ4PVhhLnByb3RvdHlwZS5pbml0LHIuZnguc3RlcD17fTt2YXIgWWEsWmEsJGE9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLF9hPS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gYWIoKXtaYSYmKGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFiKSxyLmZ4LnRpY2soKSl9ZnVuY3Rpb24gYmIoKXtyZXR1cm4gYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WWE9dm9pZCAwfSksWWE9ci5ub3coKX1mdW5jdGlvbiBjYihhLGIpe3ZhciBjLGQ9MCxlPXtoZWlnaHQ6YX07Zm9yKGI9Yj8xOjA7ZDw0O2QrPTItYiljPWFhW2RdLGVbIm1hcmdpbiIrY109ZVsicGFkZGluZyIrY109YTtyZXR1cm4gYiYmKGUub3BhY2l0eT1lLndpZHRoPWEpLGV9ZnVuY3Rpb24gZGIoYSxiLGMpe2Zvcih2YXIgZCxlPShnYi50d2VlbmVyc1tiXXx8W10pLmNvbmNhdChnYi50d2VlbmVyc1siKiJdKSxmPTAsZz1lLmxlbmd0aDtmPGc7ZisrKWlmKGQ9ZVtmXS5jYWxsKGMsYixhKSlyZXR1cm4gZH1mdW5jdGlvbiBlYihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosayxsPSJ3aWR0aCJpbiBifHwiaGVpZ2h0ImluIGIsbT10aGlzLG49e30sbz1hLnN0eWxlLHA9YS5ub2RlVHlwZSYmYmEoYSkscT1WLmdldChhLCJmeHNob3ciKTtjLnF1ZXVlfHwoZz1yLl9xdWV1ZUhvb2tzKGEsImZ4IiksbnVsbD09Zy51bnF1ZXVlZCYmKGcudW5xdWV1ZWQ9MCxoPWcuZW1wdHkuZmlyZSxnLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXtnLnVucXVldWVkfHxoKCl9KSxnLnVucXVldWVkKyssbS5hbHdheXMoZnVuY3Rpb24oKXttLmFsd2F5cyhmdW5jdGlvbigpe2cudW5xdWV1ZWQtLSxyLnF1ZXVlKGEsImZ4IikubGVuZ3RofHxnLmVtcHR5LmZpcmUoKX0pfSkpO2ZvcihkIGluIGIpaWYoZT1iW2RdLCRhLnRlc3QoZSkpe2lmKGRlbGV0ZSBiW2RdLGY9Znx8InRvZ2dsZSI9PT1lLGU9PT0ocD8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09ZXx8IXF8fHZvaWQgMD09PXFbZF0pY29udGludWU7cD0hMH1uW2RdPXEmJnFbZF18fHIuc3R5bGUoYSxkKX1pZihpPSFyLmlzRW1wdHlPYmplY3QoYiksaXx8IXIuaXNFbXB0eU9iamVjdChuKSl7bCYmMT09PWEubm9kZVR5cGUmJihjLm92ZXJmbG93PVtvLm92ZXJmbG93LG8ub3ZlcmZsb3dYLG8ub3ZlcmZsb3dZXSxqPXEmJnEuZGlzcGxheSxudWxsPT1qJiYoaj1WLmdldChhLCJkaXNwbGF5IikpLGs9ci5jc3MoYSwiZGlzcGxheSIpLCJub25lIj09PWsmJihqP2s9ajooZ2EoW2FdLCEwKSxqPWEuc3R5bGUuZGlzcGxheXx8aixrPXIuY3NzKGEsImRpc3BsYXkiKSxnYShbYV0pKSksKCJpbmxpbmUiPT09a3x8ImlubGluZS1ibG9jayI9PT1rJiZudWxsIT1qKSYmIm5vbmUiPT09ci5jc3MoYSwiZmxvYXQiKSYmKGl8fChtLmRvbmUoZnVuY3Rpb24oKXtvLmRpc3BsYXk9an0pLG51bGw9PWomJihrPW8uZGlzcGxheSxqPSJub25lIj09PWs/IiI6aykpLG8uZGlzcGxheT0iaW5saW5lLWJsb2NrIikpLGMub3ZlcmZsb3cmJihvLm92ZXJmbG93PSJoaWRkZW4iLG0uYWx3YXlzKGZ1bmN0aW9uKCl7by5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLG8ub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0sby5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKSxpPSExO2ZvcihkIGluIG4paXx8KHE/ImhpZGRlbiJpbiBxJiYocD1xLmhpZGRlbik6cT1WLmFjY2VzcyhhLCJmeHNob3ciLHtkaXNwbGF5Omp9KSxmJiYocS5oaWRkZW49IXApLHAmJmdhKFthXSwhMCksbS5kb25lKGZ1bmN0aW9uKCl7cHx8Z2EoW2FdKSxWLnJlbW92ZShhLCJmeHNob3ciKTtmb3IoZCBpbiBuKXIuc3R5bGUoYSxkLG5bZF0pfSkpLGk9ZGIocD9xW2RdOjAsZCxtKSxkIGluIHF8fChxW2RdPWkuc3RhcnQscCYmKGkuZW5kPWkuc3RhcnQsaS5zdGFydD0wKSl9fWZ1bmN0aW9uIGZiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9ci5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxyLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPXIuY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24gZ2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9Z2IucHJlZmlsdGVycy5sZW5ndGgsaD1yLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIGkuZWxlbX0pLGk9ZnVuY3Rpb24oKXtpZihlKXJldHVybiExO2Zvcih2YXIgYj1ZYXx8YmIoKSxjPU1hdGgubWF4KDAsai5zdGFydFRpbWUrai5kdXJhdGlvbi1iKSxkPWMvai5kdXJhdGlvbnx8MCxmPTEtZCxnPTAsaT1qLnR3ZWVucy5sZW5ndGg7ZzxpO2crKylqLnR3ZWVuc1tnXS5ydW4oZik7cmV0dXJuIGgubm90aWZ5V2l0aChhLFtqLGYsY10pLGY8MSYmaT9jOihoLnJlc29sdmVXaXRoKGEsW2pdKSwhMSl9LGo9aC5wcm9taXNlKHtlbGVtOmEscHJvcHM6ci5leHRlbmQoe30sYiksb3B0czpyLmV4dGVuZCghMCx7c3BlY2lhbEVhc2luZzp7fSxlYXNpbmc6ci5lYXNpbmcuX2RlZmF1bHR9LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTpZYXx8YmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPXIuVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7YzxkO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/KGgubm90aWZ5V2l0aChhLFtqLDEsMF0pLGgucmVzb2x2ZVdpdGgoYSxbaixiXSkpOmgucmVqZWN0V2l0aChhLFtqLGJdKSx0aGlzfX0pLGs9ai5wcm9wcztmb3IoZmIoayxqLm9wdHMuc3BlY2lhbEVhc2luZyk7ZjxnO2YrKylpZihkPWdiLnByZWZpbHRlcnNbZl0uY2FsbChqLGEsayxqLm9wdHMpKXJldHVybiByLmlzRnVuY3Rpb24oZC5zdG9wKSYmKHIuX3F1ZXVlSG9va3Moai5lbGVtLGoub3B0cy5xdWV1ZSkuc3RvcD1yLnByb3h5KGQuc3RvcCxkKSksZDtyZXR1cm4gci5tYXAoayxkYixqKSxyLmlzRnVuY3Rpb24oai5vcHRzLnN0YXJ0KSYmai5vcHRzLnN0YXJ0LmNhbGwoYSxqKSxyLmZ4LnRpbWVyKHIuZXh0ZW5kKGkse2VsZW06YSxhbmltOmoscXVldWU6ai5vcHRzLnF1ZXVlfSkpLGoucHJvZ3Jlc3Moai5vcHRzLnByb2dyZXNzKS5kb25lKGoub3B0cy5kb25lLGoub3B0cy5jb21wbGV0ZSkuZmFpbChqLm9wdHMuZmFpbCkuYWx3YXlzKGoub3B0cy5hbHdheXMpfXIuQW5pbWF0aW9uPXIuZXh0ZW5kKGdiLHt0d2VlbmVyczp7IioiOltmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3JlYXRlVHdlZW4oYSxiKTtyZXR1cm4gZGEoYy5lbGVtLGEsXy5leGVjKGIpLGMpLGN9XX0sdHdlZW5lcjpmdW5jdGlvbihhLGIpe3IuaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5tYXRjaChLKTtmb3IodmFyIGMsZD0wLGU9YS5sZW5ndGg7ZDxlO2QrKyljPWFbZF0sZ2IudHdlZW5lcnNbY109Z2IudHdlZW5lcnNbY118fFtdLGdiLnR3ZWVuZXJzW2NdLnVuc2hpZnQoYil9LHByZWZpbHRlcnM6W2ViXSxwcmVmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtiP2diLnByZWZpbHRlcnMudW5zaGlmdChhKTpnYi5wcmVmaWx0ZXJzLnB1c2goYSl9fSksci5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGU9YSYmIm9iamVjdCI9PXR5cGVvZiBhP3IuZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8ci5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFyLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiByLmZ4Lm9mZnx8ZC5oaWRkZW4/ZS5kdXJhdGlvbj0wOmUuZHVyYXRpb249Im51bWJlciI9PXR5cGVvZiBlLmR1cmF0aW9uP2UuZHVyYXRpb246ZS5kdXJhdGlvbiBpbiByLmZ4LnNwZWVkcz9yLmZ4LnNwZWVkc1tlLmR1cmF0aW9uXTpyLmZ4LnNwZWVkcy5fZGVmYXVsdCxudWxsIT1lLnF1ZXVlJiZlLnF1ZXVlIT09ITB8fChlLnF1ZXVlPSJmeCIpLGUub2xkPWUuY29tcGxldGUsZS5jb21wbGV0ZT1mdW5jdGlvbigpe3IuaXNGdW5jdGlvbihlLm9sZCkmJmUub2xkLmNhbGwodGhpcyksZS5xdWV1ZSYmci5kZXF1ZXVlKHRoaXMsZS5xdWV1ZSl9LGV9LHIuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuZmlsdGVyKGJhKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1yLmlzRW1wdHlPYmplY3QoYSksZj1yLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9Z2IodGhpcyxyLmV4dGVuZCh7fSxhKSxmKTsoZXx8Vi5nZXQodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1yLnRpbWVycyxnPVYuZ2V0KHRoaXMpO2lmKGUpZ1tlXSYmZ1tlXS5zdG9wJiZkKGdbZV0pO2Vsc2UgZm9yKGUgaW4gZylnW2VdJiZnW2VdLnN0b3AmJl9hLnRlc3QoZSkmJmQoZ1tlXSk7Zm9yKGU9Zi5sZW5ndGg7ZS0tOylmW2VdLmVsZW0hPT10aGlzfHxudWxsIT1hJiZmW2VdLnF1ZXVlIT09YXx8KGZbZV0uYW5pbS5zdG9wKGMpLGI9ITEsZi5zcGxpY2UoZSwxKSk7IWImJmN8fHIuZGVxdWV1ZSh0aGlzLGEpfSl9LGZpbmlzaDpmdW5jdGlvbihhKXtyZXR1cm4gYSE9PSExJiYoYT1hfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixjPVYuZ2V0KHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1yLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsci5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7YjxnO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxyLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9ci5mbltiXTtyLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoY2IoYiwhMCksYSxkLGUpfX0pLHIuZWFjaCh7c2xpZGVEb3duOmNiKCJzaG93Iiksc2xpZGVVcDpjYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmNiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7ci5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxyLnRpbWVycz1bXSxyLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPTAsYz1yLnRpbWVycztmb3IoWWE9ci5ub3coKTtiPGMubGVuZ3RoO2IrKylhPWNbYl0sYSgpfHxjW2JdIT09YXx8Yy5zcGxpY2UoYi0tLDEpO2MubGVuZ3RofHxyLmZ4LnN0b3AoKSxZYT12b2lkIDB9LHIuZngudGltZXI9ZnVuY3Rpb24oYSl7ci50aW1lcnMucHVzaChhKSxhKCk/ci5meC5zdGFydCgpOnIudGltZXJzLnBvcCgpfSxyLmZ4LmludGVydmFsPTEzLHIuZnguc3RhcnQ9ZnVuY3Rpb24oKXtaYXx8KFphPWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2EucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFiKTphLnNldEludGVydmFsKHIuZngudGljayxyLmZ4LmludGVydmFsKSl9LHIuZnguc3RvcD1mdW5jdGlvbigpe2EuY2FuY2VsQW5pbWF0aW9uRnJhbWU/YS5jYW5jZWxBbmltYXRpb25GcmFtZShaYSk6YS5jbGVhckludGVydmFsKFphKSxaYT1udWxsfSxyLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxyLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9ci5meD9yLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8ImZ4Iix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYj1kLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGM9Yi5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTthLnR5cGU9ImNoZWNrYm94IixvLmNoZWNrT249IiIhPT1hLnZhbHVlLG8ub3B0U2VsZWN0ZWQ9Yy5zZWxlY3RlZCxhPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnZhbHVlPSJ0IixhLnR5cGU9InJhZGlvIixvLnJhZGlvVmFsdWU9InQiPT09YS52YWx1ZX0oKTt2YXIgaGIsaWI9ci5leHByLmF0dHJIYW5kbGU7ci5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUyh0aGlzLHIuYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ci5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxyLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuZ2V0QXR0cmlidXRlP3IucHJvcChhLGIsYyk6KDE9PT1mJiZyLmlzWE1MRG9jKGEpfHwoZT1yLmF0dHJIb29rc1tiLnRvTG93ZXJDYXNlKCldfHwoci5leHByLm1hdGNoLmJvb2wudGVzdChiKT9oYjp2b2lkIDApKSx2b2lkIDAhPT1jP251bGw9PT1jP3ZvaWQgci5yZW1vdmVBdHRyKGEsYik6ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDooZD1yLmZpbmQuYXR0cihhLGIpLG51bGw9PWQ/dm9pZCAwOmQpKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oYSxiKXtpZighby5yYWRpb1ZhbHVlJiYicmFkaW8iPT09YiYmci5ub2RlTmFtZShhLCJpbnB1dCIpKXt2YXIgYz1hLnZhbHVlO3JldHVybiBhLnNldEF0dHJpYnV0ZSgidHlwZSIsYiksYyYmKGEudmFsdWU9YyksYn19fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MCxlPWImJmIubWF0Y2goSyk7Ci1pZihlJiYxPT09YS5ub2RlVHlwZSl3aGlsZShjPWVbZCsrXSlhLnJlbW92ZUF0dHJpYnV0ZShjKX19KSxoYj17c2V0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj09PSExP3IucmVtb3ZlQXR0cihhLGMpOmEuc2V0QXR0cmlidXRlKGMsYyksY319LHIuZWFjaChyLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPWliW2JdfHxyLmZpbmQuYXR0cjtpYltiXT1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZixnPWIudG9Mb3dlckNhc2UoKTtyZXR1cm4gZHx8KGY9aWJbZ10saWJbZ109ZSxlPW51bGwhPWMoYSxiLGQpP2c6bnVsbCxpYltnXT1mKSxlfX0pO3ZhciBqYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGtiPS9eKD86YXxhcmVhKSQvaTtyLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIpe3JldHVybiBTKHRoaXMsci5wcm9wLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tyLnByb3BGaXhbYV18fGFdfSl9fSksci5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZyLmlzWE1MRG9jKGEpfHwoYj1yLnByb3BGaXhbYl18fGIsZT1yLnByb3BIb29rc1tiXSksdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9ci5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTpqYi50ZXN0KGEubm9kZU5hbWUpfHxrYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxvLm9wdFNlbGVjdGVkfHwoci5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLHIuZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7ci5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO3ZhciBsYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIG1iKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifXIuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYoci5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7cih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLG1iKHRoaXMpKSl9KTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChLKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1tYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGxiLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSlkLmluZGV4T2YoIiAiK2YrIiAiKTwwJiYoZCs9ZisiICIpO2g9ci50cmltKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKHIuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3IodGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYixtYih0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChLKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1tYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGxiLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSl3aGlsZShkLmluZGV4T2YoIiAiK2YrIiAiKT4tMSlkPWQucmVwbGFjZSgiICIrZisiICIsIiAiKTtoPXIudHJpbShkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYiYmInN0cmluZyI9PT1jP2I/dGhpcy5hZGRDbGFzcyhhKTp0aGlzLnJlbW92ZUNsYXNzKGEpOnIuaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYyl7cih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLG1iKHRoaXMpLGIpLGIpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxlLGY7aWYoInN0cmluZyI9PT1jKXtkPTAsZT1yKHRoaXMpLGY9YS5tYXRjaChLKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZSB2b2lkIDAhPT1hJiYiYm9vbGVhbiIhPT1jfHwoYj1tYih0aGlzKSxiJiZWLnNldCh0aGlzLCJfX2NsYXNzTmFtZV9fIixiKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixifHxhPT09ITE/IiI6Vi5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD0wO2I9IiAiK2ErIiAiO3doaWxlKGM9dGhpc1tkKytdKWlmKDE9PT1jLm5vZGVUeXBlJiYoIiAiK21iKGMpKyIgIikucmVwbGFjZShsYiwiICIpLmluZGV4T2YoYik+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIG5iPS9cci9nLG9iPS9bXHgyMFx0XHJcblxmXSsvZztyLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9ci5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLHIodGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpyLmlzQXJyYXkoZSkmJihlPXIubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPXIudmFsSG9va3NbdGhpcy50eXBlXXx8ci52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPXIudmFsSG9va3NbZS50eXBlXXx8ci52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobmIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLHIuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9ci5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOnIudHJpbShyLnRleHQoYSkpLnJlcGxhY2Uob2IsIiAiKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQ9YS5vcHRpb25zLGU9YS5zZWxlY3RlZEluZGV4LGY9InNlbGVjdC1vbmUiPT09YS50eXBlLGc9Zj9udWxsOltdLGg9Zj9lKzE6ZC5sZW5ndGgsaT1lPDA/aDpmP2U6MDtpPGg7aSsrKWlmKGM9ZFtpXSwoYy5zZWxlY3RlZHx8aT09PWUpJiYhYy5kaXNhYmxlZCYmKCFjLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFyLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9cihjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPXIubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWQ9ZVtnXSwoZC5zZWxlY3RlZD1yLmluQXJyYXkoci52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPi0xKSYmKGM9ITApO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxmfX19fSksci5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7ci52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7aWYoci5pc0FycmF5KGIpKXJldHVybiBhLmNoZWNrZWQ9ci5pbkFycmF5KHIoYSkudmFsKCksYik+LTF9fSxvLmNoZWNrT258fChyLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09PWEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6YS52YWx1ZX0pfSk7dmFyIHBiPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLztyLmV4dGVuZChyLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKGIsYyxlLGYpe3ZhciBnLGgsaSxqLGssbSxuLG89W2V8fGRdLHA9bC5jYWxsKGIsInR5cGUiKT9iLnR5cGU6YixxPWwuY2FsbChiLCJuYW1lc3BhY2UiKT9iLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKGg9aT1lPWV8fGQsMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiYhcGIudGVzdChwK3IuZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPi0xJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGs9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YltyLmV4cGFuZG9dP2I6bmV3IHIuRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWY/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIucm5hbWVzcGFjZT1iLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIitxLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsYi5yZXN1bHQ9dm9pZCAwLGIudGFyZ2V0fHwoYi50YXJnZXQ9ZSksYz1udWxsPT1jP1tiXTpyLm1ha2VBcnJheShjLFtiXSksbj1yLmV2ZW50LnNwZWNpYWxbcF18fHt9LGZ8fCFuLnRyaWdnZXJ8fG4udHJpZ2dlci5hcHBseShlLGMpIT09ITEpKXtpZighZiYmIW4ubm9CdWJibGUmJiFyLmlzV2luZG93KGUpKXtmb3Ioaj1uLmRlbGVnYXRlVHlwZXx8cCxwYi50ZXN0KGorcCl8fChoPWgucGFyZW50Tm9kZSk7aDtoPWgucGFyZW50Tm9kZSlvLnB1c2goaCksaT1oO2k9PT0oZS5vd25lckRvY3VtZW50fHxkKSYmby5wdXNoKGkuZGVmYXVsdFZpZXd8fGkucGFyZW50V2luZG93fHxhKX1nPTA7d2hpbGUoKGg9b1tnKytdKSYmIWIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSliLnR5cGU9Zz4xP2o6bi5iaW5kVHlwZXx8cCxtPShWLmdldChoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJlYuZ2V0KGgsImhhbmRsZSIpLG0mJm0uYXBwbHkoaCxjKSxtPWsmJmhba10sbSYmbS5hcHBseSYmVChoKSYmKGIucmVzdWx0PW0uYXBwbHkoaCxjKSxiLnJlc3VsdD09PSExJiZiLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBiLnR5cGU9cCxmfHxiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxuLl9kZWZhdWx0JiZuLl9kZWZhdWx0LmFwcGx5KG8ucG9wKCksYykhPT0hMXx8IVQoZSl8fGsmJnIuaXNGdW5jdGlvbihlW3BdKSYmIXIuaXNXaW5kb3coZSkmJihpPWVba10saSYmKGVba109bnVsbCksci5ldmVudC50cmlnZ2VyZWQ9cCxlW3BdKCksci5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLGkmJihlW2tdPWkpKSxiLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1yLmV4dGVuZChuZXcgci5FdmVudCxjLHt0eXBlOmEsaXNTaW11bGF0ZWQ6ITB9KTtyLmV2ZW50LnRyaWdnZXIoZCxudWxsLGIpfX0pLHIuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3IuZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO2lmKGMpcmV0dXJuIHIuZXZlbnQudHJpZ2dlcihhLGIsYywhMCl9fSksci5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7ci5mbltiXT1mdW5jdGlvbihhLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbihiLG51bGwsYSxjKTp0aGlzLnRyaWdnZXIoYil9fSksci5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pLG8uZm9jdXNpbj0ib25mb2N1c2luImluIGEsby5mb2N1c2lufHxyLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7ci5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LHIuZXZlbnQuZml4KGEpKX07ci5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPVYuYWNjZXNzKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksVi5hY2Nlc3MoZCxiLChlfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1WLmFjY2VzcyhkLGIpLTE7ZT9WLmFjY2VzcyhkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLFYucmVtb3ZlKGQsYikpfX19KTt2YXIgcWI9YS5sb2NhdGlvbixyYj1yLm5vdygpLHNiPS9cPy87ci5wYXJzZVhNTD1mdW5jdGlvbihiKXt2YXIgYztpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXtjPShuZXcgYS5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhiLCJ0ZXh0L3htbCIpfWNhdGNoKGQpe2M9dm9pZCAwfXJldHVybiBjJiYhYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGh8fHIuZXJyb3IoIkludmFsaWQgWE1MOiAiK2IpLGN9O3ZhciB0Yj0vXFtcXSQvLHViPS9ccj9cbi9nLHZiPS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSx3Yj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24geGIoYSxiLGMsZCl7dmFyIGU7aWYoci5pc0FycmF5KGIpKXIuZWFjaChiLGZ1bmN0aW9uKGIsZSl7Y3x8dGIudGVzdChhKT9kKGEsZSk6eGIoYSsiWyIrKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9ZT9iOiIiKSsiXSIsZSxjLGQpfSk7ZWxzZSBpZihjfHwib2JqZWN0IiE9PXIudHlwZShiKSlkKGEsYik7ZWxzZSBmb3IoZSBpbiBiKXhiKGErIlsiK2UrIl0iLGJbZV0sYyxkKX1yLnBhcmFtPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPWZ1bmN0aW9uKGEsYil7dmFyIGM9ci5pc0Z1bmN0aW9uKGIpP2IoKTpiO2RbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KG51bGw9PWM/IiI6Yyl9O2lmKHIuaXNBcnJheShhKXx8YS5qcXVlcnkmJiFyLmlzUGxhaW5PYmplY3QoYSkpci5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSl4YihjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIil9LHIuZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gci5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXIucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP3IubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIXIodGhpcykuaXMoIjpkaXNhYmxlZCIpJiZ3Yi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhdmIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IWhhLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9cih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOnIuaXNBcnJheShjKT9yLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UodWIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKHViLCJcclxuIil9fSkuZ2V0KCl9fSk7dmFyIHliPS8lMjAvZyx6Yj0vIy4qJC8sQWI9LyhbPyZdKV89W14mXSovLEJiPS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20sQ2I9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8sRGI9L14oPzpHRVR8SEVBRCkkLyxFYj0vXlwvXC8vLEZiPXt9LEdiPXt9LEhiPSIqLyIuY29uY2F0KCIqIiksSWI9ZC5jcmVhdGVFbGVtZW50KCJhIik7SWIuaHJlZj1xYi5ocmVmO2Z1bmN0aW9uIEpiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEspfHxbXTtpZihyLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZFswXT8oZD1kLnNsaWNlKDEpfHwiKiIsKGFbZF09YVtkXXx8W10pLnVuc2hpZnQoYykpOihhW2RdPWFbZF18fFtdKS5wdXNoKGMpfX1mdW5jdGlvbiBLYihhLGIsYyxkKXt2YXIgZT17fSxmPWE9PT1HYjtmdW5jdGlvbiBnKGgpe3ZhciBpO3JldHVybiBlW2hdPSEwLHIuZWFjaChhW2hdfHxbXSxmdW5jdGlvbihhLGgpe3ZhciBqPWgoYixjLGQpO3JldHVybiJzdHJpbmciIT10eXBlb2Yganx8Znx8ZVtqXT9mPyEoaT1qKTp2b2lkIDA6KGIuZGF0YVR5cGVzLnVuc2hpZnQoaiksZyhqKSwhMSl9KSxpfXJldHVybiBnKGIuZGF0YVR5cGVzWzBdKXx8IWVbIioiXSYmZygiKiIpfWZ1bmN0aW9uIExiKGEsYil7dmFyIGMsZCxlPXIuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IoYyBpbiBiKXZvaWQgMCE9PWJbY10mJigoZVtjXT9hOmR8fChkPXt9KSlbY109YltjXSk7cmV0dXJuIGQmJnIuZXh0ZW5kKCEwLGEsZCksYX1mdW5jdGlvbiBNYihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNvbnRlbnRzLGk9YS5kYXRhVHlwZXM7d2hpbGUoIioiPT09aVswXSlpLnNoaWZ0KCksdm9pZCAwPT09ZCYmKGQ9YS5taW1lVHlwZXx8Yi5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpO2lmKGQpZm9yKGUgaW4gaClpZihoW2VdJiZoW2VdLnRlc3QoZCkpe2kudW5zaGlmdChlKTticmVha31pZihpWzBdaW4gYylmPWlbMF07ZWxzZXtmb3IoZSBpbiBjKXtpZighaVswXXx8YS5jb252ZXJ0ZXJzW2UrIiAiK2lbMF1dKXtmPWU7YnJlYWt9Z3x8KGc9ZSl9Zj1mfHxnfWlmKGYpcmV0dXJuIGYhPT1pWzBdJiZpLnVuc2hpZnQoZiksY1tmXX1mdW5jdGlvbiBOYihhLGIsYyxkKXt2YXIgZSxmLGcsaCxpLGo9e30saz1hLmRhdGFUeXBlcy5zbGljZSgpO2lmKGtbMV0pZm9yKGcgaW4gYS5jb252ZXJ0ZXJzKWpbZy50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbZ107Zj1rLnNoaWZ0KCk7d2hpbGUoZilpZihhLnJlc3BvbnNlRmllbGRzW2ZdJiYoY1thLnJlc3BvbnNlRmllbGRzW2ZdXT1iKSwhaSYmZCYmYS5kYXRhRmlsdGVyJiYoYj1hLmRhdGFGaWx0ZXIoYixhLmRhdGFUeXBlKSksaT1mLGY9ay5zaGlmdCgpKWlmKCIqIj09PWYpZj1pO2Vsc2UgaWYoIioiIT09aSYmaSE9PWYpe2lmKGc9altpKyIgIitmXXx8alsiKiAiK2ZdLCFnKWZvcihlIGluIGopaWYoaD1lLnNwbGl0KCIgIiksaFsxXT09PWYmJihnPWpbaSsiICIraFswXV18fGpbIiogIitoWzBdXSkpe2c9PT0hMD9nPWpbZV06altlXSE9PSEwJiYoZj1oWzBdLGsudW5zaGlmdChoWzFdKSk7YnJlYWt9aWYoZyE9PSEwKWlmKGcmJmFbInRocm93cyJdKWI9ZyhiKTtlbHNlIHRyeXtiPWcoYil9Y2F0Y2gobCl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6Zz9sOiJObyBjb252ZXJzaW9uIGZyb20gIitpKyIgdG8gIitmfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOmJ9fXIuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDpxYi5ocmVmLHR5cGU6IkdFVCIsaXNMb2NhbDpDYi50ZXN0KHFiLnByb3RvY29sKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsYWNjZXB0czp7IioiOkhiLHRleHQ6InRleHQvcGxhaW4iLGh0bWw6InRleHQvaHRtbCIseG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQifSxjb250ZW50czp7eG1sOi9cYnhtbFxiLyxodG1sOi9cYmh0bWwvLGpzb246L1xianNvblxiL30scmVzcG9uc2VGaWVsZHM6e3htbDoicmVzcG9uc2VYTUwiLHRleHQ6InJlc3BvbnNlVGV4dCIsanNvbjoicmVzcG9uc2VKU09OIn0sY29udmVydGVyczp7IiogdGV4dCI6U3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpzb24iOkpTT04ucGFyc2UsInRleHQgeG1sIjpyLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9MYihMYihhLHIuYWpheFNldHRpbmdzKSxiKTpMYihyLmFqYXhTZXR0aW5ncyxhKX0sYWpheFByZWZpbHRlcjpKYihGYiksYWpheFRyYW5zcG9ydDpKYihHYiksYWpheDpmdW5jdGlvbihiLGMpeyJvYmplY3QiPT10eXBlb2YgYiYmKGM9YixiPXZvaWQgMCksYz1jfHx7fTt2YXIgZSxmLGcsaCxpLGosayxsLG0sbixvPXIuYWpheFNldHVwKHt9LGMpLHA9by5jb250ZXh0fHxvLHE9by5jb250ZXh0JiYocC5ub2RlVHlwZXx8cC5qcXVlcnkpP3IocCk6ci5ldmVudCxzPXIuRGVmZXJyZWQoKSx0PXIuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHU9by5zdGF0dXNDb2RlfHx7fSx2PXt9LHc9e30seD0iY2FuY2VsZWQiLHk9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYjtpZihrKXtpZighaCl7aD17fTt3aGlsZShiPUJiLmV4ZWMoZykpaFtiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1oW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gaz9nOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09ayYmKGE9d1thLnRvTG93ZXJDYXNlKCldPXdbYS50b0xvd2VyQ2FzZSgpXXx8YSx2W2FdPWIpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWsmJihvLm1pbWVUeXBlPWEpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYSlpZihrKXkuYWx3YXlzKGFbeS5zdGF0dXNdKTtlbHNlIGZvcihiIGluIGEpdVtiXT1bdVtiXSxhW2JdXTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8eDtyZXR1cm4gZSYmZS5hYm9ydChiKSxBKDAsYiksdGhpc319O2lmKHMucHJvbWlzZSh5KSxvLnVybD0oKGJ8fG8udXJsfHxxYi5ocmVmKSsiIikucmVwbGFjZShFYixxYi5wcm90b2NvbCsiLy8iKSxvLnR5cGU9Yy5tZXRob2R8fGMudHlwZXx8by5tZXRob2R8fG8udHlwZSxvLmRhdGFUeXBlcz0oby5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEspfHxbIiJdLG51bGw9PW8uY3Jvc3NEb21haW4pe2o9ZC5jcmVhdGVFbGVtZW50KCJhIik7dHJ5e2ouaHJlZj1vLnVybCxqLmhyZWY9ai5ocmVmLG8uY3Jvc3NEb21haW49SWIucHJvdG9jb2wrIi8vIitJYi5ob3N0IT1qLnByb3RvY29sKyIvLyIrai5ob3N0fWNhdGNoKHope28uY3Jvc3NEb21haW49ITB9fWlmKG8uZGF0YSYmby5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBvLmRhdGEmJihvLmRhdGE9ci5wYXJhbShvLmRhdGEsby50cmFkaXRpb25hbCkpLEtiKEZiLG8sYyx5KSxrKXJldHVybiB5O2w9ci5ldmVudCYmby5nbG9iYWwsbCYmMD09PXIuYWN0aXZlKysmJnIuZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksby50eXBlPW8udHlwZS50b1VwcGVyQ2FzZSgpLG8uaGFzQ29udGVudD0hRGIudGVzdChvLnR5cGUpLGY9by51cmwucmVwbGFjZSh6YiwiIiksby5oYXNDb250ZW50P28uZGF0YSYmby5wcm9jZXNzRGF0YSYmMD09PShvLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoeWIsIisiKSk6KG49by51cmwuc2xpY2UoZi5sZW5ndGgpLG8uZGF0YSYmKGYrPShzYi50ZXN0KGYpPyImIjoiPyIpK28uZGF0YSxkZWxldGUgby5kYXRhKSxvLmNhY2hlPT09ITEmJihmPWYucmVwbGFjZShBYiwiIiksbj0oc2IudGVzdChmKT8iJiI6Ij8iKSsiXz0iK3JiKysgK24pLG8udXJsPWYrbiksby5pZk1vZGlmaWVkJiYoci5sYXN0TW9kaWZpZWRbZl0mJnkuc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2UiLHIubGFzdE1vZGlmaWVkW2ZdKSxyLmV0YWdbZl0mJnkuc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsci5ldGFnW2ZdKSksKG8uZGF0YSYmby5oYXNDb250ZW50JiZvLmNvbnRlbnRUeXBlIT09ITF8fGMuY29udGVudFR5cGUpJiZ5LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsby5jb250ZW50VHlwZSkseS5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLG8uZGF0YVR5cGVzWzBdJiZvLmFjY2VwdHNbby5kYXRhVHlwZXNbMF1dP28uYWNjZXB0c1tvLmRhdGFUeXBlc1swXV0rKCIqIiE9PW8uZGF0YVR5cGVzWzBdPyIsICIrSGIrIjsgcT0wLjAxIjoiIik6by5hY2NlcHRzWyIqIl0pO2ZvcihtIGluIG8uaGVhZGVycyl5LnNldFJlcXVlc3RIZWFkZXIobSxvLmhlYWRlcnNbbV0pO2lmKG8uYmVmb3JlU2VuZCYmKG8uYmVmb3JlU2VuZC5jYWxsKHAseSxvKT09PSExfHxrKSlyZXR1cm4geS5hYm9ydCgpO2lmKHg9ImFib3J0Iix0LmFkZChvLmNvbXBsZXRlKSx5LmRvbmUoby5zdWNjZXNzKSx5LmZhaWwoby5lcnJvciksZT1LYihHYixvLGMseSkpe2lmKHkucmVhZHlTdGF0ZT0xLGwmJnEudHJpZ2dlcigiYWpheFNlbmQiLFt5LG9dKSxrKXJldHVybiB5O28uYXN5bmMmJm8udGltZW91dD4wJiYoaT1hLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmFib3J0KCJ0aW1lb3V0Iil9LG8udGltZW91dCkpO3RyeXtrPSExLGUuc2VuZCh2LEEpfWNhdGNoKHope2lmKGspdGhyb3cgejtBKC0xLHopfX1lbHNlIEEoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIEEoYixjLGQsaCl7dmFyIGosbSxuLHYsdyx4PWM7a3x8KGs9ITAsaSYmYS5jbGVhclRpbWVvdXQoaSksZT12b2lkIDAsZz1ofHwiIix5LnJlYWR5U3RhdGU9Yj4wPzQ6MCxqPWI+PTIwMCYmYjwzMDB8fDMwND09PWIsZCYmKHY9TWIobyx5LGQpKSx2PU5iKG8sdix5LGopLGo/KG8uaWZNb2RpZmllZCYmKHc9eS5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpLHcmJihyLmxhc3RNb2RpZmllZFtmXT13KSx3PXkuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSx3JiYoci5ldGFnW2ZdPXcpKSwyMDQ9PT1ifHwiSEVBRCI9PT1vLnR5cGU/eD0ibm9jb250ZW50IjozMDQ9PT1iP3g9Im5vdG1vZGlmaWVkIjooeD12LnN0YXRlLG09di5kYXRhLG49di5lcnJvcixqPSFuKSk6KG49eCwhYiYmeHx8KHg9ImVycm9yIixiPDAmJihiPTApKSkseS5zdGF0dXM9Yix5LnN0YXR1c1RleHQ9KGN8fHgpKyIiLGo/cy5yZXNvbHZlV2l0aChwLFttLHgseV0pOnMucmVqZWN0V2l0aChwLFt5LHgsbl0pLHkuc3RhdHVzQ29kZSh1KSx1PXZvaWQgMCxsJiZxLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt5LG8saj9tOm5dKSx0LmZpcmVXaXRoKHAsW3kseF0pLGwmJihxLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3ksb10pLC0tci5hY3RpdmV8fHIuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB5fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gci5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHIuZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLHIuZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe3JbYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIHIuaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLHIuYWpheChyLmV4dGVuZCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0sci5pc1BsYWluT2JqZWN0KGEpJiZhKSl9fSksci5fZXZhbFVybD1mdW5jdGlvbihhKXtyZXR1cm4gci5hamF4KHt1cmw6YSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSwidGhyb3dzIjohMH0pfSxyLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gdGhpc1swXSYmKHIuaXNGdW5jdGlvbihhKSYmKGE9YS5jYWxsKHRoaXNbMF0pKSxiPXIoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0RWxlbWVudENoaWxkKWE9YS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiByLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3IodGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXIodGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9ci5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7cih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnBhcmVudChhKS5ub3QoImJvZHkiKS5lYWNoKGZ1bmN0aW9uKCl7cih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSksdGhpc319KSxyLmV4cHIucHNldWRvcy5oaWRkZW49ZnVuY3Rpb24oYSl7cmV0dXJuIXIuZXhwci5wc2V1ZG9zLnZpc2libGUoYSl9LHIuZXhwci5wc2V1ZG9zLnZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuISEoYS5vZmZzZXRXaWR0aHx8YS5vZmZzZXRIZWlnaHR8fGEuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpfSxyLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319O3ZhciBPYj17MDoyMDAsMTIyMzoyMDR9LFBiPXIuYWpheFNldHRpbmdzLnhocigpO28uY29ycz0hIVBiJiYid2l0aENyZWRlbnRpYWxzImluIFBiLG8uYWpheD1QYj0hIVBiLHIuYWpheFRyYW5zcG9ydChmdW5jdGlvbihiKXt2YXIgYyxkO2lmKG8uY29yc3x8UGImJiFiLmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7dmFyIGcsaD1iLnhocigpO2lmKGgub3BlbihiLnR5cGUsYi51cmwsYi5hc3luYyxiLnVzZXJuYW1lLGIucGFzc3dvcmQpLGIueGhyRmllbGRzKWZvcihnIGluIGIueGhyRmllbGRzKWhbZ109Yi54aHJGaWVsZHNbZ107Yi5taW1lVHlwZSYmaC5vdmVycmlkZU1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUoYi5taW1lVHlwZSksYi5jcm9zc0RvbWFpbnx8ZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO2ZvcihnIGluIGUpaC5zZXRSZXF1ZXN0SGVhZGVyKGcsZVtnXSk7Yz1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXtjJiYoYz1kPWgub25sb2FkPWgub25lcnJvcj1oLm9uYWJvcnQ9aC5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCwiYWJvcnQiPT09YT9oLmFib3J0KCk6ImVycm9yIj09PWE/Im51bWJlciIhPXR5cGVvZiBoLnN0YXR1cz9mKDAsImVycm9yIik6ZihoLnN0YXR1cyxoLnN0YXR1c1RleHQpOmYoT2JbaC5zdGF0dXNdfHxoLnN0YXR1cyxoLnN0YXR1c1RleHQsInRleHQiIT09KGgucmVzcG9uc2VUeXBlfHwidGV4dCIpfHwic3RyaW5nIiE9dHlwZW9mIGgucmVzcG9uc2VUZXh0P3tiaW5hcnk6aC5yZXNwb25zZX06e3RleHQ6aC5yZXNwb25zZVRleHR9LGguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKX19LGgub25sb2FkPWMoKSxkPWgub25lcnJvcj1jKCJlcnJvciIpLHZvaWQgMCE9PWgub25hYm9ydD9oLm9uYWJvcnQ9ZDpoLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1oLnJlYWR5U3RhdGUmJmEuc2V0VGltZW91dChmdW5jdGlvbigpe2MmJmQoKX0pfSxjPWMoImFib3J0Iik7dHJ5e2guc2VuZChiLmhhc0NvbnRlbnQmJmIuZGF0YXx8bnVsbCl9Y2F0Y2goaSl7aWYoYyl0aHJvdyBpfX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKCl9fX0pLHIuYWpheFByZWZpbHRlcihmdW5jdGlvbihhKXthLmNyb3NzRG9tYWluJiYoYS5jb250ZW50cy5zY3JpcHQ9ITEpfSksci5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oYSl7cmV0dXJuIHIuZ2xvYmFsRXZhbChhKSxhfX19KSxyLmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oYSl7dm9pZCAwPT09YS5jYWNoZSYmKGEuY2FjaGU9ITEpLGEuY3Jvc3NEb21haW4mJihhLnR5cGU9IkdFVCIpfSksci5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKGEpe2lmKGEuY3Jvc3NEb21haW4pe3ZhciBiLGM7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSxmKXtiPXIoIjxzY3JpcHQ+IikucHJvcCh7Y2hhcnNldDphLnNjcmlwdENoYXJzZXQsc3JjOmEudXJsfSkub24oImxvYWQgZXJyb3IiLGM9ZnVuY3Rpb24oYSl7Yi5yZW1vdmUoKSxjPW51bGwsYSYmZigiZXJyb3IiPT09YS50eXBlPzQwNDoyMDAsYS50eXBlKX0pLGQuaGVhZC5hcHBlbmRDaGlsZChiWzBdKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKCl9fX19KTt2YXIgUWI9W10sUmI9Lyg9KVw/KD89JnwkKXxcP1w/LztyLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9UWIucG9wKCl8fHIuZXhwYW5kbysiXyIrcmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLHIuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKFJiLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYwPT09KGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmUmIudGVzdChiLmRhdGEpJiYiZGF0YSIpO2lmKGh8fCJqc29ucCI9PT1iLmRhdGFUeXBlc1swXSlyZXR1cm4gZT1iLmpzb25wQ2FsbGJhY2s9ci5pc0Z1bmN0aW9uKGIuanNvbnBDYWxsYmFjayk/Yi5qc29ucENhbGxiYWNrKCk6Yi5qc29ucENhbGxiYWNrLGg/YltoXT1iW2hdLnJlcGxhY2UoUmIsIiQxIitlKTpiLmpzb25wIT09ITEmJihiLnVybCs9KHNiLnRlc3QoYi51cmwpPyImIjoiPyIpK2IuanNvbnArIj0iK2UpLGIuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdGlvbigpe3JldHVybiBnfHxyLmVycm9yKGUrIiB3YXMgbm90IGNhbGxlZCIpLGdbMF19LGIuZGF0YVR5cGVzWzBdPSJqc29uIixmPWFbZV0sYVtlXT1mdW5jdGlvbigpe2c9YXJndW1lbnRzfSxkLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PWY/cihhKS5yZW1vdmVQcm9wKGUpOmFbZV09ZixiW2VdJiYoYi5qc29ucENhbGxiYWNrPWMuanNvbnBDYWxsYmFjayxRYi5wdXNoKGUpKSxnJiZyLmlzRnVuY3Rpb24oZikmJmYoZ1swXSksZz1mPXZvaWQgMH0pLCJzY3JpcHQifSksby5jcmVhdGVIVE1MRG9jdW1lbnQ9ZnVuY3Rpb24oKXt2YXIgYT1kLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikuYm9keTtyZXR1cm4gYS5pbm5lckhUTUw9Ijxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+IiwyPT09YS5jaGlsZE5vZGVzLmxlbmd0aH0oKSxyLnBhcnNlSFRNTD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybltdOyJib29sZWFuIj09dHlwZW9mIGImJihjPWIsYj0hMSk7dmFyIGUsZixnO3JldHVybiBifHwoby5jcmVhdGVIVE1MRG9jdW1lbnQ/KGI9ZC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGU9Yi5jcmVhdGVFbGVtZW50KCJiYXNlIiksZS5ocmVmPWQubG9jYXRpb24uaHJlZixiLmhlYWQuYXBwZW5kQ2hpbGQoZSkpOmI9ZCksZj1CLmV4ZWMoYSksZz0hYyYmW10sZj9bYi5jcmVhdGVFbGVtZW50KGZbMV0pXTooZj1vYShbYV0sYixnKSxnJiZnLmxlbmd0aCYmcihnKS5yZW1vdmUoKSxyLm1lcmdlKFtdLGYuY2hpbGROb2RlcykpfSxyLmZuLmxvYWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD4tMSYmKGQ9ci50cmltKGEuc2xpY2UoaCkpLGE9YS5zbGljZSgwLGgpKSxyLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZT0iUE9TVCIpLGcubGVuZ3RoPjAmJnIuYWpheCh7dXJsOmEsdHlwZTplfHwiR0VUIixkYXRhVHlwZToiaHRtbCIsZGF0YTpifSkuZG9uZShmdW5jdGlvbihhKXtmPWFyZ3VtZW50cyxnLmh0bWwoZD9yKCI8ZGl2PiIpLmFwcGVuZChyLnBhcnNlSFRNTChhKSkuZmluZChkKTphKX0pLmFsd2F5cyhjJiZmdW5jdGlvbihhLGIpe2cuZWFjaChmdW5jdGlvbigpe2MuYXBwbHkodGhpcyxmfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KX0pLHRoaXN9LHIuZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGEsYil7ci5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vbihiLGEpfX0pLHIuZXhwci5wc2V1ZG9zLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiByLmdyZXAoci50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2Z1bmN0aW9uIFNiKGEpe3JldHVybiByLmlzV2luZG93KGEpP2E6OT09PWEubm9kZVR5cGUmJmEuZGVmYXVsdFZpZXd9ci5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz1yLmNzcyhhLCJwb3NpdGlvbiIpLGw9cihhKSxtPXt9OyJzdGF0aWMiPT09ayYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksaD1sLm9mZnNldCgpLGY9ci5jc3MoYSwidG9wIiksaT1yLmNzcyhhLCJsZWZ0Iiksaj0oImFic29sdXRlIj09PWt8fCJmaXhlZCI9PT1rKSYmKGYraSkuaW5kZXhPZigiYXV0byIpPi0xLGo/KGQ9bC5wb3NpdGlvbigpLGc9ZC50b3AsZT1kLmxlZnQpOihnPXBhcnNlRmxvYXQoZil8fDAsZT1wYXJzZUZsb2F0KGkpfHwwKSxyLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChhLGMsci5leHRlbmQoe30saCkpKSxudWxsIT1iLnRvcCYmKG0udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG0ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG0pOmwuY3NzKG0pfX0sci5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3Iub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQsZSxmPXRoaXNbMF07aWYoZilyZXR1cm4gZi5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD8oZD1mLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGQud2lkdGh8fGQuaGVpZ2h0PyhlPWYub3duZXJEb2N1bWVudCxjPVNiKGUpLGI9ZS5kb2N1bWVudEVsZW1lbnQse3RvcDpkLnRvcCtjLnBhZ2VZT2Zmc2V0LWIuY2xpZW50VG9wLGxlZnQ6ZC5sZWZ0K2MucGFnZVhPZmZzZXQtYi5jbGllbnRMZWZ0fSk6ZCk6e3RvcDowLGxlZnQ6MH19LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGEsYixjPXRoaXNbMF0sZD17dG9wOjAsbGVmdDowfTtyZXR1cm4iZml4ZWQiPT09ci5jc3MoYywicG9zaXRpb24iKT9iPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksci5ub2RlTmFtZShhWzBdLCJodG1sIil8fChkPWEub2Zmc2V0KCkpLGQ9e3RvcDpkLnRvcCtyLmNzcyhhWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLGxlZnQ6ZC5sZWZ0K3IuY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApfSkse3RvcDpiLnRvcC1kLnRvcC1yLmNzcyhjLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1kLmxlZnQtci5jc3MoYywibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50O3doaWxlKGEmJiJzdGF0aWMiPT09ci5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxwYX0pfX0pLHIuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPSJwYWdlWU9mZnNldCI9PT1iO3IuZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFModGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9U2IoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9mW2JdOmFbZF06dm9pZChmP2Yuc2Nyb2xsVG8oYz9mLnBhZ2VYT2Zmc2V0OmUsYz9lOmYucGFnZVlPZmZzZXQpOmFbZF09ZSl9LGEsZCxhcmd1bWVudHMubGVuZ3RoKX19KSxyLmVhY2goWyJ0b3AiLCJsZWZ0Il0sZnVuY3Rpb24oYSxiKXtyLmNzc0hvb2tzW2JdPU5hKG8ucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihhLGMpe2lmKGMpcmV0dXJuIGM9TWEoYSxiKSxLYS50ZXN0KGMpP3IoYSkucG9zaXRpb24oKVtiXSsicHgiOmN9KX0pLHIuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LGZ1bmN0aW9uKGEsYil7ci5lYWNoKHtwYWRkaW5nOiJpbm5lciIrYSxjb250ZW50OmIsIiI6Im91dGVyIithfSxmdW5jdGlvbihjLGQpe3IuZm5bZF09ZnVuY3Rpb24oZSxmKXt2YXIgZz1hcmd1bWVudHMubGVuZ3RoJiYoY3x8ImJvb2xlYW4iIT10eXBlb2YgZSksaD1jfHwoZT09PSEwfHxmPT09ITA/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiBTKHRoaXMsZnVuY3Rpb24oYixjLGUpe3ZhciBmO3JldHVybiByLmlzV2luZG93KGIpPzA9PT1kLmluZGV4T2YoIm91dGVyIik/YlsiaW5uZXIiK2FdOmIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2FdOjk9PT1iLm5vZGVUeXBlPyhmPWIuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGIuYm9keVsic2Nyb2xsIithXSxmWyJzY3JvbGwiK2FdLGIuYm9keVsib2Zmc2V0IithXSxmWyJvZmZzZXQiK2FdLGZbImNsaWVudCIrYV0pKTp2b2lkIDA9PT1lP3IuY3NzKGIsYyxoKTpyLnN0eWxlKGIsYyxlLGgpfSxiLGc/ZTp2b2lkIDAsZyl9fSl9KSxyLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSksci5wYXJzZUpTT049SlNPTi5wYXJzZSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gcn0pO3ZhciBUYj1hLmpRdWVyeSxVYj1hLiQ7cmV0dXJuIHIubm9Db25mbGljdD1mdW5jdGlvbihiKXtyZXR1cm4gYS4kPT09ciYmKGEuJD1VYiksYiYmYS5qUXVlcnk9PT1yJiYoYS5qUXVlcnk9VGIpLHJ9LGJ8fChhLmpRdWVyeT1hLiQ9cikscn0pOwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL3BsdWdpbnMvc2lnbWEucmVuZGVyZXJzLmN1c3RvbVNoYXBlcy5taW4uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvc2lnbWEucmVuZGVyZXJzLmN1c3RvbVNoYXBlcy5taW4uanMKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL3BsdWdpbnMvc2lnbWEucmVuZGVyZXJzLmN1c3RvbVNoYXBlcy5taW4uanMKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9zaWdtYS9zaWdtYS5yZW5kZXJlcnMuY3VzdG9tU2hhcGVzLm1pbi5qcwppbmRleCAzNjM3Njg4Li5iY2NlYjM4IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvcGx1Z2lucy9zaWdtYS5yZW5kZXJlcnMuY3VzdG9tU2hhcGVzLm1pbi5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvc2lnbWEucmVuZGVyZXJzLmN1c3RvbVNoYXBlcy5taW4uanMKQEAgLTEgKzEsMiBAQAorLyogc2lnbWEucmVuZGVyZXJzLmN1c3RvbVNoYXBlcy5qcyAtIEEgc2lnbWEgcGx1Z2luIGZvciBjdXN0b21pemVkIHNoYXBlIGRyYXdpbmcuIC0gQXV0aG9yOiBSb24gUGVsZWcgIGFuZCBKdWxpYW4gQmlsY2tlIC0gTGljZW5zZTogTUlUICovCiAoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGE9W10sYj1mdW5jdGlvbihiLGMsZCl7YS5wdXNoKHtuYW1lOmIsZHJhd1NoYXBlOmMsZHJhd0JvcmRlcjpkfSl9LGM9ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZD1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYixjLGQsZSxmLGcpe2cuZmlsbFN0eWxlPWYsZy5iZWdpblBhdGgoKSxhKGIsYyxkLGUsZyksZy5jbG9zZVBhdGgoKSxnLmZpbGwoKX19LGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyxkLGUsZixnKXtnLnN0cm9rZVN0eWxlPWYsZy5saW5lV2lkdGg9ZS81LGcuYmVnaW5QYXRoKCksYShiLGMsZCxlLGcpLGcuY2xvc2VQYXRoKCksZy5zdHJva2UoKX19LGY9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj00NSpNYXRoLlBJLzE4MDtlLm1vdmVUbyhiK2QqTWF0aC5zaW4oZiksYy1kKk1hdGguY29zKGYpKTtmb3IodmFyIGc9MTs0Pmc7ZysrKWUubGluZVRvKGIrTWF0aC5zaW4oZisyKk1hdGguUEkqZy80KSpkLGMtTWF0aC5jb3MoZisyKk1hdGguUEkqZy80KSpkKX07Yigic3F1YXJlIixkKGYpLGUoZikpO3ZhciBnPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZS5hcmMoYixjLGQsMCwyKk1hdGguUEksITApfTtiKCJjaXJjbGUiLGQoZyksZShnKSk7dmFyIGg9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlLm1vdmVUbyhiLWQsYyksZS5saW5lVG8oYixjLWQpLGUubGluZVRvKGIrZCxjKSxlLmxpbmVUbyhiLGMrZCl9O2IoImRpYW1vbmQiLGQoaCksZShoKSk7dmFyIGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLmNyb3NzJiZhLmNyb3NzLmxpbmVXZWlnaHR8fDU7ZS5tb3ZlVG8oYi1kLGMtZiksZS5saW5lVG8oYi1kLGMrZiksZS5saW5lVG8oYi1mLGMrZiksZS5saW5lVG8oYi1mLGMrZCksZS5saW5lVG8oYitmLGMrZCksZS5saW5lVG8oYitmLGMrZiksZS5saW5lVG8oYitkLGMrZiksZS5saW5lVG8oYitkLGMtZiksZS5saW5lVG8oYitmLGMtZiksZS5saW5lVG8oYitmLGMtZCksZS5saW5lVG8oYi1mLGMtZCksZS5saW5lVG8oYi1mLGMtZil9O2IoImNyb3NzIixkKGkpLGUoaSkpO3ZhciBqPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS5lcXVpbGF0ZXJhbCYmYS5lcXVpbGF0ZXJhbC5udW1Qb2ludHN8fDUsZz0oYS5lcXVpbGF0ZXJhbCYmYS5lcXVpbGF0ZXJhbC5yb3RhdGV8fDApKk1hdGguUEkvMTgwLGg9ZDtlLm1vdmVUbyhiK2gqTWF0aC5zaW4oZyksYy1oKk1hdGguY29zKGcpKTtmb3IodmFyIGk9MTtmPmk7aSsrKWUubGluZVRvKGIrTWF0aC5zaW4oZysyKk1hdGguUEkqaS9mKSpoLGMtTWF0aC5jb3MoZysyKk1hdGguUEkqaS9mKSpoKX07YigiZXF1aWxhdGVyYWwiLGQoaiksZShqKSk7dmFyIGs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLnN0YXImJmEuc3Rhci5udW1Qb2ludHN8fDUsZz1hLnN0YXImJmEuc3Rhci5pbm5lclJhdGlvfHwuNSxoPWQsaT1kKmcsaj1NYXRoLlBJL2Y7ZS5tb3ZlVG8oYixjLWQpO2Zvcih2YXIgaz0wO2Y+aztrKyspZS5saW5lVG8oYitNYXRoLnNpbihqKzIqTWF0aC5QSSprL2YpKmksYy1NYXRoLmNvcyhqKzIqTWF0aC5QSSprL2YpKmkpLGUubGluZVRvKGIrTWF0aC5zaW4oMipNYXRoLlBJKihrKzEpL2YpKmgsYy1NYXRoLmNvcygyKk1hdGguUEkqKGsrMSkvZikqaCl9O2IoInN0YXIiLGQoayksZShrKSk7dmFyIGw9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2YuZmlsbFN0eWxlPSJ5ZWxsb3ciLGYuYmVnaW5QYXRoKCksZi5hcmMoYixjLGQsMS4yNSpNYXRoLlBJLDAsITEpLGYuYXJjKGIsYyxkLDAsLjc1Kk1hdGguUEksITEpLGYubGluZVRvKGIsYyksZi5jbG9zZVBhdGgoKSxmLmZpbGwoKSxmLmZpbGxTdHlsZT0id2hpdGUiLGYuc3Ryb2tlU3R5bGU9ImJsYWNrIixmLmJlZ2luUGF0aCgpLGYuYXJjKGIrZC8zLGMtZC8zLGQvNCwwLDIqTWF0aC5QSSwhMSksZi5jbG9zZVBhdGgoKSxmLmZpbGwoKSxmLnN0cm9rZSgpLGYuZmlsbFN0eWxlPSJibGFjayIsZi5iZWdpblBhdGgoKSxmLmFyYyhiKzQqZC85LGMtZC8zLGQvOCwwLDIqTWF0aC5QSSwhMSksZi5jbG9zZVBhdGgoKSxmLmZpbGwoKX07YigicGFjbWFuIixsLG51bGwpLHRoaXMuU2hhcGVMaWJyYXJ5PXtlbnVtZXJhdGU6Yyx2ZXJzaW9uOiIwLjEifX0pLmNhbGwodGhpcyksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygc2lnbWEpdGhyb3cic2lnbWEgaXMgbm90IGRlY2xhcmVkIjtpZigidW5kZWZpbmVkIj09dHlwZW9mIFNoYXBlTGlicmFyeSl0aHJvdyJTaGFwZUxpYnJhcnkgaXMgbm90IGRlY2xhcmVkIjtzaWdtYS51dGlscy5wa2coInNpZ21hLmNhbnZhcy5ub2RlcyIpLHNpZ21hLnV0aWxzLnBrZygic2lnbWEuc3ZnLm5vZGVzIik7dmFyIGI9YSxjPXt9LGQ9ZnVuY3Rpb24oYSl7Yj1hfSxlPWZ1bmN0aW9uKGEsZCxlLGYsZyl7aWYoYiYmYS5pbWFnZSYmYS5pbWFnZS51cmwpe3ZhciBoPWEuaW1hZ2UudXJsLGk9YS5pbWFnZS5ofHwxLGo9YS5pbWFnZS53fHwxLGs9YS5pbWFnZS5zY2FsZXx8MSxsPWEuaW1hZ2UuY2xpcHx8MSxtPWNbaF07bXx8KG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiSU1HIiksbS5zcmM9aCxtLnN0YXR1cz0ibG9hZGluZyIsbS5vbmVycm9yPWZ1bmN0aW9uKCl7Y29uc29sZS5sb2coImVycm9yIGxvYWRpbmciLGgpLG0uc3RhdHVzPSJlcnJvciJ9LG0ub25sb2FkPWZ1bmN0aW9uKCl7Y29uc29sZS5sb2coInJlZHJhdyBvbiBpbWFnZSBsb2FkIixoKSxtLnN0YXR1cz0ib2siLGIucmVmcmVzaCgpfSxjW2hdPW0pO3ZhciBuPWk+aj9qL2k6MSxvPWo+aT9pL2o6MSxwPWYqaztnLnNhdmUoKSxnLmJlZ2luUGF0aCgpLGcuYXJjKGQsZSxmKmwsMCwyKk1hdGguUEksITApLGcuY2xvc2VQYXRoKCksZy5jbGlwKCksIm9rIj09PW0uc3RhdHVzJiZnLmRyYXdJbWFnZShtLGQrTWF0aC5zaW4oLTAuNzg1NSkqcCpuLGUtTWF0aC5jb3MoLTAuNzg1NSkqcCpvLHAqbioyKk1hdGguc2luKC0wLjc4NTUpKi0xLHAqbyoyKk1hdGguY29zKC0wLjc4NTUpKSxnLnJlc3RvcmUoKX19LGY9ZnVuY3Rpb24oYSxjLGQpe2lmKGImJmEuaW1hZ2UmJmEuaW1hZ2UudXJsKXt7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGQoInhtbG5zIiksImNpcmNsZSIpLGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGQoInhtbG5zIiksImNsaXBQYXRoIiksZz1kKCJjbGFzc1ByZWZpeCIpKyItY2xpcC1wYXRoLSIrYS5pZCxoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhkKCJ4bWxucyIpLCJkZWZzIiksaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoZCgieG1sbnMiKSwiaW1hZ2UiKTthLmltYWdlLnVybH1mLnNldEF0dHJpYnV0ZU5TKG51bGwsImlkIixnKSxmLmFwcGVuZENoaWxkKGUpLGguYXBwZW5kQ2hpbGQoZik7dmFyIGo9L01TSUUgWzUtOV0vLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk/IiI6ZG9jdW1lbnQubG9jYXRpb24uaHJlZjtqPWouc3BsaXQoIiMiKVswXSxpLnNldEF0dHJpYnV0ZU5TKG51bGwsImNsYXNzIixkKCJjbGFzc1ByZWZpeCIpKyItbm9kZS1pbWFnZSIpLGkuc2V0QXR0cmlidXRlTlMobnVsbCwiY2xpcC1wYXRoIiwidXJsKCIraisiIyIrZysiKSIpLGkuc2V0QXR0cmlidXRlTlMobnVsbCwicG9pbnRlci1ldmVudHMiLCJub25lIiksaS5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsImhyZWYiLGEuaW1hZ2UudXJsKSxjLmFwcGVuZENoaWxkKGgpLGMuYXBwZW5kQ2hpbGQoaSl9fSxnPWZ1bmN0aW9uKGEsYixjKXtzaWdtYS5jYW52YXMubm9kZXNbYV09ZnVuY3Rpb24oYSxkLGYpe3ZhciBnPWYoInByZWZpeCIpfHwiIixoPWFbZysic2l6ZSJdLGk9YS5jb2xvcnx8ZigiZGVmYXVsdE5vZGVDb2xvciIpLGo9YS5ib3JkZXJDb2xvcnx8aSxrPWFbZysieCJdLGw9YVtnKyJ5Il07ZC5zYXZlKCksYiYmYihhLGssbCxoLGksZCksYyYmYyhhLGssbCxoLGosZCksZShhLGssbCxoLGQpLGQucmVzdG9yZSgpfSxzaWdtYS5zdmcubm9kZXNbYV09e2NyZWF0ZTpmdW5jdGlvbihhLGIpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhiKCJ4bWxucyIpLCJnIiksZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYigieG1sbnMiKSwiY2lyY2xlIik7cmV0dXJuIGMuc2V0QXR0cmlidXRlTlMobnVsbCwiY2xhc3MiLGIoImNsYXNzUHJlZml4IikrIi1ub2RlLWdyb3VwIiksYy5zZXRBdHRyaWJ1dGVOUyhudWxsLCJkYXRhLW5vZGUtaWQiLGEuaWQpLGQuc2V0QXR0cmlidXRlTlMobnVsbCwiZGF0YS1ub2RlLWlkIixhLmlkKSxkLnNldEF0dHJpYnV0ZU5TKG51bGwsImNsYXNzIixiKCJjbGFzc1ByZWZpeCIpKyItbm9kZSIpLGQuc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsYS5jb2xvcnx8YigiZGVmYXVsdE5vZGVDb2xvciIpKSxjLmFwcGVuZENoaWxkKGQpLGYoYSxjLGIpLGN9LHVwZGF0ZTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWMoImNsYXNzUHJlZml4IiksZT1hLmltYWdlLmNsaXB8fDEsZj1hLmltYWdlLmh8fDEsZz1hLmltYWdlLnd8fDEsaD1jKCJwcmVmaXgiKXx8IiIsaT1hLmltYWdlLnNjYWxlfHwxLGo9YVtoKyJzaXplIl0saz1hW2grIngiXSxsPWFbaCsieSJdLG09aSpqLG49Zj5nP2cvZjoxLG89Zz5mP2YvZzoxLHA9MCxxPWIuY2hpbGROb2RlcztwPHEubGVuZ3RoO3ArKyl7dmFyIHI9cVtwXS5nZXRBdHRyaWJ1dGUoImNsYXNzIik7c3dpdGNoKHIpe2Nhc2UgZCsiLW5vZGUiOnFbcF0uc2V0QXR0cmlidXRlTlMobnVsbCwiY3giLGspLHFbcF0uc2V0QXR0cmlidXRlTlMobnVsbCwiY3kiLGwpLHFbcF0uc2V0QXR0cmlidXRlTlMobnVsbCwiciIsaiksYygiZnJlZVN0eWxlIil8fHFbcF0uc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsYS5jb2xvcnx8YygiZGVmYXVsdE5vZGVDb2xvciIpKTticmVhaztjYXNlIGQrIi1ub2RlLWltYWdlIjpxW3BdLnNldEF0dHJpYnV0ZU5TKG51bGwsIngiLGsrTWF0aC5zaW4oLTAuNzg1NSkqbSpuKSxxW3BdLnNldEF0dHJpYnV0ZU5TKG51bGwsInkiLGwtTWF0aC5jb3MoLTAuNzg1NSkqbSpvKSxxW3BdLnNldEF0dHJpYnV0ZU5TKG51bGwsIndpZHRoIixtKm4qMipNYXRoLnNpbigtMC43ODU1KSotMSkscVtwXS5zZXRBdHRyaWJ1dGVOUyhudWxsLCJoZWlnaHQiLG0qbyoyKk1hdGguY29zKC0wLjc4NTUpKTticmVhaztkZWZhdWx0OnZhciBzPXFbcF0uZmlyc3RDaGlsZDtpZihudWxsIT1zKXt2YXIgdD1kKyItY2xpcC1wYXRoLSIrYS5pZDtzLmdldEF0dHJpYnV0ZSgiaWQiKT09PXQmJihzLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlTlMobnVsbCwiY3giLGspLHMuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeSIsbCkscy5maXJzdENoaWxkLnNldEF0dHJpYnV0ZU5TKG51bGwsInIiLGUqaikpfX19Yi5zdHlsZS5kaXNwbGF5PSIifX19O1NoYXBlTGlicmFyeS5lbnVtZXJhdGUoKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2coYS5uYW1lLGEuZHJhd1NoYXBlLGEuZHJhd0JvcmRlcil9KSx0aGlzLkN1c3RvbVNoYXBlcz17aW5pdDpkLHZlcnNpb246IjAuMSJ9fS5jYWxsKHRoaXMpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9zaWdtYS9wbHVnaW5zL3NpZ21hLnJlbmRlcmVycy5lZGdlTGFiZWxzLm1pbi5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9zaWdtYS9zaWdtYS5yZW5kZXJlcnMuZWRnZUxhYmVscy5taW4uanMKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL3BsdWdpbnMvc2lnbWEucmVuZGVyZXJzLmVkZ2VMYWJlbHMubWluLmpzCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvc2lnbWEucmVuZGVyZXJzLmVkZ2VMYWJlbHMubWluLmpzCmluZGV4IDViNmQwN2IuLmU5ODk0YjkgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9zaWdtYS9wbHVnaW5zL3NpZ21hLnJlbmRlcmVycy5lZGdlTGFiZWxzLm1pbi5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3RvcG8vc2lnbWEvc2lnbWEucmVuZGVyZXJzLmVkZ2VMYWJlbHMubWluLmpzCkBAIC0xICsxLDIgQEAKKy8qIHNpZ21hLnJlbmRlcmVycy5lZGdlTGFiZWxzLmpzIC0gQSBzaWdtYSBwbHVnaW4gZm9yIGVkZ2UgZHJhd2luZyAod2l0aCBsYWJlbCwgZXRjLikuIC0gQXV0aG9yOiBT6WJhc3RpZW4gSGV5bWFubiAtIExpY2Vuc2U6IE1JVCAqLwogKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygc2lnbWEpdGhyb3cic2lnbWEgaXMgbm90IGRlY2xhcmVkIjtzaWdtYS51dGlscy5wa2coInNpZ21hLnNldHRpbmdzIik7dmFyIGE9e2RlZmF1bHRFZGdlTGFiZWxDb2xvcjoiIzAwMCIsZGVmYXVsdEVkZ2VMYWJlbEFjdGl2ZUNvbG9yOiIjMDAwIixkZWZhdWx0RWRnZUxhYmVsU2l6ZToxMCxlZGdlTGFiZWxTaXplOiJmaXhlZCIsZWRnZUxhYmVsU2l6ZVBvd1JhdGlvOjEsZWRnZUxhYmVsVGhyZXNob2xkOjF9O3NpZ21hLnNldHRpbmdzPXNpZ21hLnV0aWxzLmV4dGVuZChzaWdtYS5zZXR0aW5nc3x8e30sYSksc2lnbWEuc2V0dGluZ3MuZHJhd0VkZ2VMYWJlbHM9ITB9KS5jYWxsKHRoaXMpLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygc2lnbWEpdGhyb3cic2lnbWEgaXMgbm90IGRlY2xhcmVkIjtzaWdtYS51dGlscy5wa2coInNpZ21hLmNhbnZhcy5lZGdlcy5sYWJlbHMiKSxzaWdtYS5jYW52YXMuZWRnZXMubGFiZWxzLmN1cnZlPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoInN0cmluZyI9PXR5cGVvZiBhLmxhYmVsKXt2YXIgZj1lKCJwcmVmaXgiKXx8IiIsZz1hW2YrInNpemUiXXx8MTtpZighKGc8ZSgiZWRnZUxhYmVsVGhyZXNob2xkIikpKXt2YXIgaCxpLGosaz1iW2YrInNpemUiXSxsPWJbZisieCJdLG09YltmKyJ5Il0sbj1jW2YrIngiXSxvPWNbZisieSJdLHA9bi1sLHE9by1tLHI9bj5sPzE6LTEscz17fSx0PS41O2IuaWQ9PT1jLmlkPyhzPXNpZ21hLnV0aWxzLmdldFNlbGZMb29wQ29udHJvbFBvaW50cyhsLG0sayksaT1zaWdtYS51dGlscy5nZXRQb2ludE9uQmV6aWVyQ3VydmUodCxsLG0sbixvLHMueDEscy55MSxzLngyLHMueTIpLGo9TWF0aC5hdGFuMigxLDEpKToocz1zaWdtYS51dGlscy5nZXRRdWFkcmF0aWNDb250cm9sUG9pbnQobCxtLG4sbyksaT1zaWdtYS51dGlscy5nZXRQb2ludE9uUXVhZHJhdGljQ3VydmUodCxsLG0sbixvLHMueCxzLnkpLGo9TWF0aC5hdGFuMihxKnIscCpyKSksaD0iZml4ZWQiPT09ZSgiZWRnZUxhYmVsU2l6ZSIpP2UoImRlZmF1bHRFZGdlTGFiZWxTaXplIik6ZSgiZGVmYXVsdEVkZ2VMYWJlbFNpemUiKSpnKk1hdGgucG93KGcsLTEvZSgiZWRnZUxhYmVsU2l6ZVBvd1JhdGlvIikpLGQuc2F2ZSgpLGEuYWN0aXZlPyhkLmZvbnQ9W2UoImFjdGl2ZUZvbnRTdHlsZSIpLGgrInB4IixlKCJhY3RpdmVGb250Iil8fGUoImZvbnQiKV0uam9pbigiICIpLGQuZmlsbFN0eWxlPSJlZGdlIj09PWUoImVkZ2VBY3RpdmVDb2xvciIpP2EuYWN0aXZlX2NvbG9yfHxlKCJkZWZhdWx0RWRnZUFjdGl2ZUNvbG9yIik6ZSgiZGVmYXVsdEVkZ2VMYWJlbEFjdGl2ZUNvbG9yIikpOihkLmZvbnQ9W2UoImZvbnRTdHlsZSIpLGgrInB4IixlKCJmb250IildLmpvaW4oIiAiKSxkLmZpbGxTdHlsZT0iZWRnZSI9PT1lKCJlZGdlTGFiZWxDb2xvciIpP2EuY29sb3J8fGUoImRlZmF1bHRFZGdlQ29sb3IiKTplKCJkZWZhdWx0RWRnZUxhYmVsQ29sb3IiKSksZC50ZXh0QWxpZ249ImNlbnRlciIsZC50ZXh0QmFzZWxpbmU9ImFscGhhYmV0aWMiLGQudHJhbnNsYXRlKGkueCxpLnkpLGQucm90YXRlKGopLGQuZmlsbFRleHQoYS5sYWJlbCwwLC1nLzItMyksZC5yZXN0b3JlKCl9fX19LmNhbGwodGhpcyksZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBzaWdtYSl0aHJvdyJzaWdtYSBpcyBub3QgZGVjbGFyZWQiO3NpZ21hLnV0aWxzLnBrZygic2lnbWEuY2FudmFzLmVkZ2VzLmxhYmVscyIpLHNpZ21hLmNhbnZhcy5lZGdlcy5sYWJlbHMuY3VydmVkQXJyb3c9ZnVuY3Rpb24oYSxiLGMsZCxlKXtzaWdtYS5jYW52YXMuZWRnZXMubGFiZWxzLmN1cnZlKGEsYixjLGQsZSl9fS5jYWxsKHRoaXMpLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygc2lnbWEpdGhyb3cic2lnbWEgaXMgbm90IGRlY2xhcmVkIjtzaWdtYS51dGlscy5wa2coInNpZ21hLmNhbnZhcy5lZGdlcy5sYWJlbHMiKSxzaWdtYS5jYW52YXMuZWRnZXMubGFiZWxzLmRlZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKCJzdHJpbmciPT10eXBlb2YgYS5sYWJlbCYmYiE9Yyl7dmFyIGY9ZSgicHJlZml4Iil8fCIiLGc9YVtmKyJzaXplIl18fDE7aWYoIShnPGUoImVkZ2VMYWJlbFRocmVzaG9sZCIpKSl7aWYoMD09PWUoImVkZ2VMYWJlbFNpemVQb3dSYXRpbyIpKXRocm93JyJlZGdlTGFiZWxTaXplUG93UmF0aW8iIG11c3Qgbm90IGJlIDAuJzt2YXIgaCxpPShiW2YrIngiXStjW2YrIngiXSkvMixqPShiW2YrInkiXStjW2YrInkiXSkvMixrPWNbZisieCJdLWJbZisieCJdLGw9Y1tmKyJ5Il0tYltmKyJ5Il0sbT1iW2YrIngiXTxjW2YrIngiXT8xOi0xLG49TWF0aC5hdGFuMihsKm0sayptKTtoPSJmaXhlZCI9PT1lKCJlZGdlTGFiZWxTaXplIik/ZSgiZGVmYXVsdEVkZ2VMYWJlbFNpemUiKTplKCJkZWZhdWx0RWRnZUxhYmVsU2l6ZSIpKmcqTWF0aC5wb3coZywtMS9lKCJlZGdlTGFiZWxTaXplUG93UmF0aW8iKSksZC5zYXZlKCksYS5hY3RpdmU/KGQuZm9udD1bZSgiYWN0aXZlRm9udFN0eWxlIiksaCsicHgiLGUoImFjdGl2ZUZvbnQiKXx8ZSgiZm9udCIpXS5qb2luKCIgIiksZC5maWxsU3R5bGU9ImVkZ2UiPT09ZSgiZWRnZUFjdGl2ZUNvbG9yIik/YS5hY3RpdmVfY29sb3J8fGUoImRlZmF1bHRFZGdlQWN0aXZlQ29sb3IiKTplKCJkZWZhdWx0RWRnZUxhYmVsQWN0aXZlQ29sb3IiKSk6KGQuZm9udD1bZSgiZm9udFN0eWxlIiksaCsicHgiLGUoImZvbnQiKV0uam9pbigiICIpLGQuZmlsbFN0eWxlPSJlZGdlIj09PWUoImVkZ2VMYWJlbENvbG9yIik/YS5jb2xvcnx8ZSgiZGVmYXVsdEVkZ2VDb2xvciIpOmUoImRlZmF1bHRFZGdlTGFiZWxDb2xvciIpKSxkLnRleHRBbGlnbj0iY2VudGVyIixkLnRleHRCYXNlbGluZT0iYWxwaGFiZXRpYyIsZC50cmFuc2xhdGUoaSxqKSxkLnJvdGF0ZShuKSxkLmZpbGxUZXh0KGEubGFiZWwsMCwtZy8yLTMpLGQucmVzdG9yZSgpfX19fS5jYWxsKHRoaXMpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdG9wby9zaWdtYS9zaWdtYS5yZXF1aXJlLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL3NpZ21hLnJlcXVpcmUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MzgxZTYuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy90b3BvL3NpZ21hL3NpZ21hLnJlcXVpcmUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjIyNCArMCwwIEBACi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgdmFyIF9faW5zdGFuY2VzID0ge307Ci0KLSAgLyoqCi0gICAqIFRoaXMgaXMgdGhlIHNpZ21hIGluc3RhbmNlcyBjb25zdHJ1Y3Rvci4gT25lIGluc3RhbmNlIG9mIHNpZ21hIHJlcHJlc2VudAotICAgKiBvbmUgZ3JhcGguIEl0IGlzIHBvc3NpYmxlIHRvIHJlcHJlc2VudCB0aGlzIGdyYXDEpSB3aXRoIHNldmVyYWwgcmVuZGVyZXJzCi0gICAqIGF0IHRoZSBzYW1lIHRpbWUuIEJ5IGRlZmF1bHQsIHRoZSBkZWZhdWx0IHJlbmRlcmVyIChXZWJHTCArIENhbnZhcwotICAgKiBwb2x5ZmlsbCkgd2lsbCBiZSB1c2VkIGFzIHRoZSBvbmx5IHJlbmRlcmVyLCB3aXRoIHRoZSBjb250YWluZXIgc3BlY2lmaWVkCi0gICAqIGluIHRoZSBjb25maWd1cmF0aW9uLgotICAgKgotICAgKiBAcGFyYW0gIHs/Kn0gICAgY29uZiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgaW5zdGFuY2UuIFRoZXJlIGFyZSBhIGxvdCBvZgotICAgKiAgICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnQgcmVjb2duaXplZCBmb3JtcyB0byBpbnN0YW50aWF0ZSBzaWdtYSwgY2hlY2sKLSAgICogICAgICAgICAgICAgICAgICAgICAgZXhhbXBsZSBmaWxlcywgZG9jdW1lbnRhdGlvbiBpbiB0aGlzIGZpbGUgYW5kIHVuaXQKLSAgICogICAgICAgICAgICAgICAgICAgICAgdGVzdHMgdG8ga25vdyBtb3JlLgotICAgKiBAcmV0dXJuIHtzaWdtYX0gICAgICBUaGUgZnJlc2ggbmV3IHNpZ21hIGluc3RhbmNlLgotICAgKgotICAgKiBJbnN0YW5jaWF0aW5nIHNpZ21hOgotICAgKiAqKioqKioqKioqKioqKioqKioqKgotICAgKiBJZiBubyBwYXJhbWV0ZXIgaXMgZ2l2ZW4gdG8gdGhlIGNvbnN0cnVjdG9yLCB0aGUgaW5zdGFuY2Ugd2lsbCBiZSBjcmVhdGVkCi0gICAqIHdpdGhvdXQgYW55IHJlbmRlcmVyIG9yIGNhbWVyYS4gSXQgd2lsbCBqdXN0IGluc3RhbnRpYXRlIHRoZSBncmFwaCwgYW5kCi0gICAqIG90aGVyIG1vZHVsZXMgd2lsbCBoYXZlIHRvIGJlIGluc3RhbnRpYXRlZCB0aHJvdWdoIHRoZSBwdWJsaWMgbWV0aG9kcywKLSAgICogbGlrZSAiYWRkUmVuZGVyZXIiIGV0YzoKLSAgICoKLSAgICogID4gczAgPSBuZXcgc2lnbWEoKTsKLSAgICogID4gczAuYWRkUmVuZGVyZXIoewotICAgKiAgPiAgIHR5cGU6ICdjYW52YXMnLAotICAgKiAgPiAgIGNvbnRhaW5lcjogJ215LWNvbnRhaW5lci1pZCcKLSAgICogID4gfSk7Ci0gICAqCi0gICAqIEluIG1vc3Qgb2YgdGhlIGNhc2VzLCBzaWdtYSB3aWxsIHNpbXBseSBiZSB1c2VkIHdpdGggdGhlIGRlZmF1bHQgcmVuZGVyZXIuCi0gICAqIFRoZW4sIHNpbmNlIHRoZSBvbmx5IHJlcXVpcmVkIHBhcmFtZXRlciBpcyB0aGUgRE9NIGNvbnRhaW5lciwgdGhlcmUgYXJlCi0gICAqIHNvbWUgc2ltcGxlciB3YXkgdG8gY2FsbCB0aGUgY29uc3RydWN0b3IuIFRoZSBmb3VyIGZvbGxvd2luZyBjYWxscyBkbyB0aGUKLSAgICogZXhhY3Qgc2FtZSB0aGluZ3M6Ci0gICAqCi0gICAqICA+IHMxID0gbmV3IHNpZ21hKCdteS1jb250YWluZXItaWQnKTsKLSAgICogID4gczIgPSBuZXcgc2lnbWEoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ215LWNvbnRhaW5lci1pZCcpKTsKLSAgICogID4gczMgPSBuZXcgc2lnbWEoewotICAgKiAgPiAgIGNvbnRhaW5lcjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ215LWNvbnRhaW5lci1pZCcpCi0gICAqICA+IH0pOwotICAgKiAgPiBzNCA9IG5ldyBzaWdtYSh7Ci0gICAqICA+ICAgcmVuZGVyZXJzOiBbewotICAgKiAgPiAgICAgY29udGFpbmVyOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXktY29udGFpbmVyLWlkJykKLSAgICogID4gICB9XQotICAgKiAgPiB9KTsKLSAgICoKLSAgICogUmVjb2duaXplZCBwYXJhbWV0ZXJzOgotICAgKiAqKioqKioqKioqKioqKioqKioqKioqCi0gICAqIEhlcmUgaXMgdGhlIGV4aGF1c3RpdmUgbGlzdCBvZiBldmVyeSBhY2NlcHRlZCBwYXJhbWV0ZXJzLCB3aGVuIGNhbGxpbmcgdGhlCi0gICAqIGNvbnN0cnVjdG9yIHdpdGggdG8gdG9wIGxldmVsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IChmb3VydGggY2FzZSBpbiB0aGUKLSAgICogcHJldmlvdXMgZXhhbXBsZXMpOgotICAgKgotICAgKiAgIHs/c3RyaW5nfSBpZCAgICAgICAgVGhlIGlkIG9mIHRoZSBpbnN0YW5jZS4gSXQgd2lsbCBiZSBnZW5lcmF0ZWQKLSAgICogICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpY2FsbHkgaWYgbm90IHNwZWNpZmllZC4KLSAgICogICB7P2FycmF5fSAgcmVuZGVyZXJzIEFuIGFycmF5IGNvbnRhaW5pbmcgb2JqZWN0cyBkZXNjcmliaW5nIHJlbmRlcmVycy4KLSAgICogICB7P29iamVjdH0gZ3JhcGggICAgIEFuIG9iamVjdCBjb250YWluaW5nIGFuIGFycmF5IG9mIG5vZGVzIGFuZCBhbiBhcnJheQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgb2YgZWRnZXMsIHRvIGF2b2lkIGhhdmluZyB0byBhZGQgdGhlbSBieSBoYW5kIGxhdGVyLgotICAgKiAgIHs/b2JqZWN0fSBzZXR0aW5ncyAgQW4gb2JqZWN0IGNvbnRhaW5pbmcgaW5zdGFuY2Ugc3BlY2lmaWMgc2V0dGluZ3MgdGhhdAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdCBvbmVzIGRlZmluZWQgaW4gdGhlIG9iamVjdAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgc2lnbWEuc2V0dGluZ3MuCi0gICAqLwotICB2YXIgc2lnbWEgPSBmdW5jdGlvbihjb25mKSB7Ci0gICAgLy8gTG9jYWwgdmFyaWFibGVzOgotICAgIC8vICoqKioqKioqKioqKioqKioKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSwKLSAgICAgICAgYywKLSAgICAgICAgbywKLSAgICAgICAgaWQ7Ci0KLSAgICBzaWdtYS5jbGFzc2VzLmRpc3BhdGNoZXIuZXh0ZW5kKHRoaXMpOwotCi0gICAgLy8gUHJpdmF0ZSBhdHRyaWJ1dGVzOgotICAgIC8vICoqKioqKioqKioqKioqKioqKioKLSAgICB2YXIgX3NlbGYgPSB0aGlzLAotICAgICAgICBfY29uZiA9IGNvbmYgfHwge307Ci0KLSAgICAvLyBMaXR0bGUgc2hvcnRjdXQ6Ci0gICAgLy8gKioqKioqKioqKioqKioqKgotICAgIC8vIFRoZSBjb25maWd1cmF0aW9uIGlzIHN1cHBvc2VkIHRvIGhhdmUgYSBsaXN0IG9mIHRoZSBjb25maWd1cmF0aW9uCi0gICAgLy8gb2JqZWN0cyBmb3IgZWFjaCByZW5kZXJlci4KLSAgICAvLyAgLSBJZiB0aGVyZSBhcmUgbm8gY29uZmlndXJhdGlvbiBhdCBhbGwsIHRoZW4gbm90aGluZyBpcyBkb25lLgotICAgIC8vICAtIElmIHRoZXJlIGFyZSBubyByZW5kZXJlciBsaXN0LCB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvbiBvYmplY3Qgd2lsbCBiZQotICAgIC8vICAgIGNvbnNpZGVyZWQgYXMgZGVzY3JpYmluZyB0aGUgZmlyc3QgYW5kIG9ubHkgcmVuZGVyZXIuCi0gICAgLy8gIC0gSWYgdGhlcmUgYXJlIG5vIHJlbmRlcmVyIGxpc3Qgbm9yICJjb250YWluZXIiIG9iamVjdCwgaXQgd2lsbCBiZQotICAgIC8vICAgIGNvbnNpZGVyZWQgYXMgdGhlIGNvbnRhaW5lciBpdHNlbGYgKGEgRE9NIGVsZW1lbnQpLgotICAgIC8vICAtIElmIHRoZSBhcmd1bWVudCBwYXNzZWQgdG8gc2lnbWEoKSBpcyBhIHN0cmluZywgaXQgd2lsbCBiZSBjb25zaWRlcmVkCi0gICAgLy8gICAgYXMgdGhlIElEIG9mIHRoZSBET00gY29udGFpbmVyLgotICAgIGlmICgKLSAgICAgIHR5cGVvZiBfY29uZiA9PT0gJ3N0cmluZycgfHwKLSAgICAgIF9jb25mIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQKLSAgICApCi0gICAgICBfY29uZiA9IHsKLSAgICAgICAgcmVuZGVyZXJzOiBbX2NvbmZdCi0gICAgICB9OwotICAgIGVsc2UgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChfY29uZikgPT09ICdbb2JqZWN0IEFycmF5XScpCi0gICAgICBfY29uZiA9IHsKLSAgICAgICAgcmVuZGVyZXJzOiBfY29uZgotICAgICAgfTsKLQotICAgIC8vIEFsc28gY2hlY2sgInJlbmRlcmVyIiBhbmQgImNvbnRhaW5lciIga2V5czoKLSAgICBvID0gX2NvbmYucmVuZGVyZXJzIHx8IF9jb25mLnJlbmRlcmVyIHx8IF9jb25mLmNvbnRhaW5lcjsKLSAgICBpZiAoIV9jb25mLnJlbmRlcmVycyB8fCBfY29uZi5yZW5kZXJlcnMubGVuZ3RoID09PSAwKQotICAgICAgaWYgKAotICAgICAgICB0eXBlb2YgbyA9PT0gJ3N0cmluZycgfHwKLSAgICAgICAgbyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50IHx8Ci0gICAgICAgICh0eXBlb2YgbyA9PT0gJ29iamVjdCcgJiYgJ2NvbnRhaW5lcicgaW4gbykKLSAgICAgICkKLSAgICAgICAgX2NvbmYucmVuZGVyZXJzID0gW29dOwotCi0gICAgLy8gUmVjZW5zZSB0aGUgaW5zdGFuY2U6Ci0gICAgaWYgKF9jb25mLmlkKSB7Ci0gICAgICBpZiAoX19pbnN0YW5jZXNbX2NvbmYuaWRdKQotICAgICAgICB0aHJvdyAnc2lnbWE6IEluc3RhbmNlICInICsgX2NvbmYuaWQgKyAnIiBhbHJlYWR5IGV4aXN0cy4nOwotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdpZCcsIHsKLSAgICAgICAgdmFsdWU6IF9jb25mLmlkCi0gICAgICB9KTsKLSAgICB9IGVsc2UgewotICAgICAgaWQgPSAwOwotICAgICAgd2hpbGUgKF9faW5zdGFuY2VzW2lkXSkKLSAgICAgICAgaWQrKzsKLSAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnaWQnLCB7Ci0gICAgICAgIHZhbHVlOiAnJyArIGlkCi0gICAgICB9KTsKLSAgICB9Ci0gICAgX19pbnN0YW5jZXNbdGhpcy5pZF0gPSB0aGlzOwotCi0gICAgLy8gSW5pdGlhbGl6ZSBzZXR0aW5ncyBmdW5jdGlvbjoKLSAgICB0aGlzLnNldHRpbmdzID0gbmV3IHNpZ21hLmNsYXNzZXMuY29uZmlndXJhYmxlKAotICAgICAgc2lnbWEuc2V0dGluZ3MsCi0gICAgICBfY29uZi5zZXR0aW5ncyB8fCB7fQotICAgICk7Ci0KLSAgICAvLyBJbml0aWFsaXplIGxvY2tlZCBhdHRyaWJ1dGVzOgotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnZ3JhcGgnLCB7Ci0gICAgICB2YWx1ZTogbmV3IHNpZ21hLmNsYXNzZXMuZ3JhcGgodGhpcy5zZXR0aW5ncyksCi0gICAgICBjb25maWd1cmFibGU6IHRydWUKLSAgICB9KTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ21pZGRsZXdhcmVzJywgewotICAgICAgdmFsdWU6IFtdLAotICAgICAgY29uZmlndXJhYmxlOiB0cnVlCi0gICAgfSk7Ci0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjYW1lcmFzJywgewotICAgICAgdmFsdWU6IHt9LAotICAgICAgY29uZmlndXJhYmxlOiB0cnVlCi0gICAgfSk7Ci0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdyZW5kZXJlcnMnLCB7Ci0gICAgICB2YWx1ZToge30sCi0gICAgICBjb25maWd1cmFibGU6IHRydWUKLSAgICB9KTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3JlbmRlcmVyc1BlckNhbWVyYScsIHsKLSAgICAgIHZhbHVlOiB7fSwKLSAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQotICAgIH0pOwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY2FtZXJhRnJhbWVzJywgewotICAgICAgdmFsdWU6IHt9LAotICAgICAgY29uZmlndXJhYmxlOiB0cnVlCi0gICAgfSk7Ci0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjYW1lcmEnLCB7Ci0gICAgICBnZXQ6IGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGhpcy5jYW1lcmFzWzBdOwotICAgICAgfQotICAgIH0pOwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnZXZlbnRzJywgewotICAgICAgdmFsdWU6IFsKLSAgICAgICAgJ2NsaWNrJywKLSAgICAgICAgJ3JpZ2h0Q2xpY2snLAotICAgICAgICAnY2xpY2tTdGFnZScsCi0gICAgICAgICdkb3VibGVDbGlja1N0YWdlJywKLSAgICAgICAgJ3JpZ2h0Q2xpY2tTdGFnZScsCi0gICAgICAgICdjbGlja05vZGUnLAotICAgICAgICAnY2xpY2tOb2RlcycsCi0gICAgICAgICdkb3VibGVDbGlja05vZGUnLAotICAgICAgICAnZG91YmxlQ2xpY2tOb2RlcycsCi0gICAgICAgICdyaWdodENsaWNrTm9kZScsCi0gICAgICAgICdyaWdodENsaWNrTm9kZXMnLAotICAgICAgICAnb3Zlck5vZGUnLAotICAgICAgICAnb3Zlck5vZGVzJywKLSAgICAgICAgJ291dE5vZGUnLAotICAgICAgICAnb3V0Tm9kZXMnLAotICAgICAgICAnZG93bk5vZGUnLAotICAgICAgICAnZG93bk5vZGVzJywKLSAgICAgICAgJ3VwTm9kZScsCi0gICAgICAgICd1cE5vZGVzJwotICAgICAgXSwKLSAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQotICAgIH0pOwotCi0gICAgLy8gQWRkIGEgY3VzdG9tIGhhbmRsZXIsIHRvIHJlZGlzcGF0Y2ggZXZlbnRzIGZyb20gcmVuZGVyZXJzOgotICAgIHRoaXMuX2hhbmRsZXIgPSAoZnVuY3Rpb24oZSkgewotICAgICAgdmFyIGssCi0gICAgICAgICAgZGF0YSA9IHt9OwotCi0gICAgICBmb3IgKGsgaW4gZS5kYXRhKQotICAgICAgICBkYXRhW2tdID0gZS5kYXRhW2tdOwotCi0gICAgICBkYXRhLnJlbmRlcmVyID0gZS50YXJnZXQ7Ci0gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoZS50eXBlLCBkYXRhKTsKLSAgICB9KS5iaW5kKHRoaXMpOwotCi0gICAgLy8gSW5pdGlhbGl6ZSByZW5kZXJlcnM6Ci0gICAgYSA9IF9jb25mLnJlbmRlcmVycyB8fCBbXTsKLSAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICB0aGlzLmFkZFJlbmRlcmVyKGFbaV0pOwotCi0gICAgLy8gSW5pdGlhbGl6ZSBtaWRkbGV3YXJlczoKLSAgICBhID0gX2NvbmYubWlkZGxld2FyZXMgfHwgW107Ci0gICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgdGhpcy5taWRkbGV3YXJlcy5wdXNoKAotICAgICAgICB0eXBlb2YgYVtpXSA9PT0gJ3N0cmluZycgPwotICAgICAgICAgIHNpZ21hLm1pZGRsZXdhcmVzW2FbaV1dIDoKLSAgICAgICAgICBhW2ldCi0gICAgICApOwotCi0gICAgLy8gQ2hlY2sgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIGdyYXBoIHRvIGZpbGwgaW46Ci0gICAgaWYgKHR5cGVvZiBfY29uZi5ncmFwaCA9PT0gJ29iamVjdCcgJiYgX2NvbmYuZ3JhcGgpIHsKLSAgICAgIHRoaXMuZ3JhcGgucmVhZChfY29uZi5ncmFwaCk7Ci0KLSAgICAgIC8vIElmIGEgZ3JhcGggaXMgZ2l2ZW4gdG8gdGhlIHRvIHRoZSBpbnN0YW5jZSwgdGhlICJyZWZyZXNoIiBtZXRob2QgaXMKLSAgICAgIC8vIGRpcmVjdGx5IGNhbGxlZDoKLSAgICAgIHRoaXMucmVmcmVzaCgpOwotICAgIH0KLQotICAgIC8vIERlYWwgd2l0aCByZXNpemU6Ci0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCkgewotICAgICAgaWYgKF9zZWxmLnNldHRpbmdzKQotICAgICAgICBfc2VsZi5yZWZyZXNoKCk7Ci0gICAgfSk7Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kcyB3aWxsIGluc3RhbnRpYXRlIGFuZCByZWZlcmVuY2UgYSBuZXcgY2FtZXJhLiBJZiBubyBpZCBpcwotICAgKiBzcGVjaWZpZWQsIHRoZW4gYW4gYXV0b21hdGljIGlkIHdpbGwgYmUgZ2VuZXJhdGVkLgotICAgKgotICAgKiBAcGFyYW0gIHs/c3RyaW5nfSAgICAgICAgICAgICAgaWQgRXZlbnR1YWxseSB0aGUgY2FtZXJhIGlkLgotICAgKiBAcmV0dXJuIHtzaWdtYS5jbGFzc2VzLmNhbWVyYX0gICAgVGhlIGZyZXNoIG5ldyBjYW1lcmEgaW5zdGFuY2UuCi0gICAqLwotICBzaWdtYS5wcm90b3R5cGUuYWRkQ2FtZXJhID0gZnVuY3Rpb24oaWQpIHsKLSAgICB2YXIgc2VsZiA9IHRoaXMsCi0gICAgICAgIGNhbWVyYTsKLQotICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgewotICAgICAgaWQgPSAwOwotICAgICAgd2hpbGUgKHRoaXMuY2FtZXJhc1snJyArIGlkXSkKLSAgICAgICAgaWQrKzsKLSAgICAgIGlkID0gJycgKyBpZDsKLSAgICB9Ci0KLSAgICBpZiAodGhpcy5jYW1lcmFzW2lkXSkKLSAgICAgIHRocm93ICdzaWdtYS5hZGRDYW1lcmE6IFRoZSBjYW1lcmEgIicgKyBpZCArICciIGFscmVhZHkgZXhpc3RzLic7Ci0KLSAgICBjYW1lcmEgPSBuZXcgc2lnbWEuY2xhc3Nlcy5jYW1lcmEoaWQsIHRoaXMuZ3JhcGgsIHRoaXMuc2V0dGluZ3MpOwotICAgIHRoaXMuY2FtZXJhc1tpZF0gPSBjYW1lcmE7Ci0KLSAgICAvLyBBZGQgYSBxdWFkdHJlZSB0byB0aGUgY2FtZXJhOgotICAgIGNhbWVyYS5xdWFkdHJlZSA9IG5ldyBzaWdtYS5jbGFzc2VzLnF1YWQoKTsKLQotICAgIC8vIEFkZCBhbiBlZGdlcXVhZHRyZWUgdG8gdGhlIGNhbWVyYToKLSAgICBpZiAoc2lnbWEuY2xhc3Nlcy5lZGdlcXVhZCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICBjYW1lcmEuZWRnZXF1YWR0cmVlID0gbmV3IHNpZ21hLmNsYXNzZXMuZWRnZXF1YWQoKTsKLSAgICB9Ci0KLSAgICBjYW1lcmEuYmluZCgnY29vcmRpbmF0ZXNVcGRhdGVkJywgZnVuY3Rpb24oZSkgewotICAgICAgc2VsZi5yZW5kZXJDYW1lcmEoY2FtZXJhLCBjYW1lcmEuaXNBbmltYXRlZCk7Ci0gICAgfSk7Ci0KLSAgICB0aGlzLnJlbmRlcmVyc1BlckNhbWVyYVtpZF0gPSBbXTsKLQotICAgIHJldHVybiBjYW1lcmE7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGtpbGxzIGEgY2FtZXJhLCBhbmQgZXZlcnkgcmVuZGVyZXIgYXR0YWNoZWQgdG8gaXQuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ3xjYW1lcmF9IHYgVGhlIGNhbWVyYSB0byBraWxsIG9yIGl0cyBJRC4KLSAgICogQHJldHVybiB7c2lnbWF9ICAgICAgICAgICBSZXR1cm5zIHRoZSBpbnN0YW5jZS4KLSAgICovCi0gIHNpZ21hLnByb3RvdHlwZS5raWxsQ2FtZXJhID0gZnVuY3Rpb24odikgewotICAgIHYgPSB0eXBlb2YgdiA9PT0gJ3N0cmluZycgPyB0aGlzLmNhbWVyYXNbdl0gOiB2OwotCi0gICAgaWYgKCF2KQotICAgICAgdGhyb3cgJ3NpZ21hLmtpbGxDYW1lcmE6IFRoZSBjYW1lcmEgaXMgdW5kZWZpbmVkLic7Ci0KLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSA9IHRoaXMucmVuZGVyZXJzUGVyQ2FtZXJhW3YuaWRdOwotCi0gICAgZm9yIChsID0gYS5sZW5ndGgsIGkgPSBsIC0gMTsgaSA+PSAwOyBpLS0pCi0gICAgICB0aGlzLmtpbGxSZW5kZXJlcihhW2ldKTsKLQotICAgIGRlbGV0ZSB0aGlzLnJlbmRlcmVyc1BlckNhbWVyYVt2LmlkXTsKLSAgICBkZWxldGUgdGhpcy5jYW1lcmFGcmFtZXNbdi5pZF07Ci0gICAgZGVsZXRlIHRoaXMuY2FtZXJhc1t2LmlkXTsKLQotICAgIGlmICh2LmtpbGwpCi0gICAgICB2LmtpbGwoKTsKLQotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZHMgd2lsbCBpbnN0YW50aWF0ZSBhbmQgcmVmZXJlbmNlIGEgbmV3IHJlbmRlcmVyLiBUaGUgInR5cGUiCi0gICAqIGFyZ3VtZW50IGNhbiBiZSB0aGUgY29uc3RydWN0b3Igb3IgaXRzIG5hbWUgaW4gdGhlICJzaWdtYS5yZW5kZXJlcnMiCi0gICAqIHBhY2thZ2UuIElmIG5vIHR5cGUgaXMgc3BlY2lmaWVkLCB0aGVuICJzaWdtYS5yZW5kZXJlcnMuZGVmIiB3aWxsIGJlIHVzZWQuCi0gICAqIElmIG5vIGlkIGlzIHNwZWNpZmllZCwgdGhlbiBhbiBhdXRvbWF0aWMgaWQgd2lsbCBiZSBnZW5lcmF0ZWQuCi0gICAqCi0gICAqIEBwYXJhbSAgez9vYmplY3R9ICBvcHRpb25zIEV2ZW50dWFsbHkgc29tZSBvcHRpb25zIHRvIGdpdmUgdG8gdGhlIHJlbmRlcmVyCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yLgotICAgKiBAcmV0dXJuIHtyZW5kZXJlcn0gICAgICAgICBUaGUgZnJlc2ggbmV3IHJlbmRlcmVyIGluc3RhbmNlLgotICAgKgotICAgKiBSZWNvZ25pemVkIHBhcmFtZXRlcnM6Ci0gICAqICoqKioqKioqKioqKioqKioqKioqKioKLSAgICogSGVyZSBpcyB0aGUgZXhoYXVzdGl2ZSBsaXN0IG9mIGV2ZXJ5IGFjY2VwdGVkIHBhcmFtZXRlcnMgaW4gdGhlICJvcHRpb25zIgotICAgKiBvYmplY3Q6Ci0gICAqCi0gICAqICAgez9zdHJpbmd9ICAgICAgICAgICAgaWQgICAgIEV2ZW50dWFsbHkgdGhlIHJlbmRlcmVyIGlkLgotICAgKiAgIHs/KGZ1bmN0aW9ufHN0cmluZyl9IHR5cGUgICBFdmVudHVhbGx5IHRoZSByZW5kZXJlciBjb25zdHJ1Y3RvciBvciBpdHMKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSBpbiB0aGUgInNpZ21hLnJlbmRlcmVycyIgcGFja2FnZS4KLSAgICogICB7PyhjYW1lcmF8c3RyaW5nKX0gICBjYW1lcmEgRXZlbnR1YWxseSB0aGUgcmVuZGVyZXIgY2FtZXJhIG9yIGl0cwotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZC4KLSAgICovCi0gIHNpZ21hLnByb3RvdHlwZS5hZGRSZW5kZXJlciA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKLSAgICB2YXIgaWQsCi0gICAgICAgIGZuLAotICAgICAgICBjYW1lcmEsCi0gICAgICAgIHJlbmRlcmVyLAotICAgICAgICBvID0gb3B0aW9ucyB8fCB7fTsKLQotICAgIC8vIFBvbHltb3JwaGlzbToKLSAgICBpZiAodHlwZW9mIG8gPT09ICdzdHJpbmcnKQotICAgICAgbyA9IHsKLSAgICAgICAgY29udGFpbmVyOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvKQotICAgICAgfTsKLSAgICBlbHNlIGlmIChvIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpCi0gICAgICBvID0gewotICAgICAgICBjb250YWluZXI6IG8KLSAgICAgIH07Ci0KLSAgICAvLyBJZiB0aGUgY29udGFpbmVyIHN0aWxsIGlzIGEgc3RyaW5nLCB3ZSBnZXQgaXQgYnkgaWQKLSAgICBpZiAodHlwZW9mIG8uY29udGFpbmVyID09PSAnc3RyaW5nJykKLSAgICAgIG8uY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoby5jb250YWluZXIpOwotCi0gICAgLy8gUmVmZXJlbmNlIHRoZSBuZXcgcmVuZGVyZXI6Ci0gICAgaWYgKCEoJ2lkJyBpbiBvKSkgewotICAgICAgaWQgPSAwOwotICAgICAgd2hpbGUgKHRoaXMucmVuZGVyZXJzWycnICsgaWRdKQotICAgICAgICBpZCsrOwotICAgICAgaWQgPSAnJyArIGlkOwotICAgIH0gZWxzZQotICAgICAgaWQgPSBvLmlkOwotCi0gICAgaWYgKHRoaXMucmVuZGVyZXJzW2lkXSkKLSAgICAgIHRocm93ICdzaWdtYS5hZGRSZW5kZXJlcjogVGhlIHJlbmRlcmVyICInICsgaWQgKyAnIiBhbHJlYWR5IGV4aXN0cy4nOwotCi0gICAgLy8gRmluZCB0aGUgZ29vZCBjb25zdHJ1Y3RvcjoKLSAgICBmbiA9IHR5cGVvZiBvLnR5cGUgPT09ICdmdW5jdGlvbicgPyBvLnR5cGUgOiBzaWdtYS5yZW5kZXJlcnNbby50eXBlXTsKLSAgICBmbiA9IGZuIHx8IHNpZ21hLnJlbmRlcmVycy5kZWY7Ci0KLSAgICAvLyBGaW5kIHRoZSBnb29kIGNhbWVyYToKLSAgICBjYW1lcmEgPSAnY2FtZXJhJyBpbiBvID8KLSAgICAgICgKLSAgICAgICAgby5jYW1lcmEgaW5zdGFuY2VvZiBzaWdtYS5jbGFzc2VzLmNhbWVyYSA/Ci0gICAgICAgICAgby5jYW1lcmEgOgotICAgICAgICAgIHRoaXMuY2FtZXJhc1tvLmNhbWVyYV0gfHwgdGhpcy5hZGRDYW1lcmEoby5jYW1lcmEpCi0gICAgICApIDoKLSAgICAgIHRoaXMuYWRkQ2FtZXJhKCk7Ci0KLSAgICBpZiAodGhpcy5jYW1lcmFzW2NhbWVyYS5pZF0gIT09IGNhbWVyYSkKLSAgICAgIHRocm93ICdzaWdtYS5hZGRSZW5kZXJlcjogVGhlIGNhbWVyYSBpcyBub3QgcHJvcGVybHkgcmVmZXJlbmNlZC4nOwotCi0gICAgLy8gSW5zdGFudGlhdGU6Ci0gICAgcmVuZGVyZXIgPSBuZXcgZm4odGhpcy5ncmFwaCwgY2FtZXJhLCB0aGlzLnNldHRpbmdzLCBvKTsKLSAgICB0aGlzLnJlbmRlcmVyc1tpZF0gPSByZW5kZXJlcjsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVuZGVyZXIsICdpZCcsIHsKLSAgICAgIHZhbHVlOiBpZAotICAgIH0pOwotCi0gICAgLy8gQmluZCBldmVudHM6Ci0gICAgaWYgKHJlbmRlcmVyLmJpbmQpCi0gICAgICByZW5kZXJlci5iaW5kKAotICAgICAgICBbCi0gICAgICAgICAgJ2NsaWNrJywKLSAgICAgICAgICAncmlnaHRDbGljaycsCi0gICAgICAgICAgJ2NsaWNrU3RhZ2UnLAotICAgICAgICAgICdkb3VibGVDbGlja1N0YWdlJywKLSAgICAgICAgICAncmlnaHRDbGlja1N0YWdlJywKLSAgICAgICAgICAnY2xpY2tOb2RlJywKLSAgICAgICAgICAnY2xpY2tOb2RlcycsCi0gICAgICAgICAgJ2NsaWNrRWRnZScsCi0gICAgICAgICAgJ2NsaWNrRWRnZXMnLAotICAgICAgICAgICdkb3VibGVDbGlja05vZGUnLAotICAgICAgICAgICdkb3VibGVDbGlja05vZGVzJywKLSAgICAgICAgICAnZG91YmxlQ2xpY2tFZGdlJywKLSAgICAgICAgICAnZG91YmxlQ2xpY2tFZGdlcycsCi0gICAgICAgICAgJ3JpZ2h0Q2xpY2tOb2RlJywKLSAgICAgICAgICAncmlnaHRDbGlja05vZGVzJywKLSAgICAgICAgICAncmlnaHRDbGlja0VkZ2UnLAotICAgICAgICAgICdyaWdodENsaWNrRWRnZXMnLAotICAgICAgICAgICdvdmVyTm9kZScsCi0gICAgICAgICAgJ292ZXJOb2RlcycsCi0gICAgICAgICAgJ292ZXJFZGdlJywKLSAgICAgICAgICAnb3ZlckVkZ2VzJywKLSAgICAgICAgICAnb3V0Tm9kZScsCi0gICAgICAgICAgJ291dE5vZGVzJywKLSAgICAgICAgICAnb3V0RWRnZScsCi0gICAgICAgICAgJ291dEVkZ2VzJywKLSAgICAgICAgICAnZG93bk5vZGUnLAotICAgICAgICAgICdkb3duTm9kZXMnLAotICAgICAgICAgICdkb3duRWRnZScsCi0gICAgICAgICAgJ2Rvd25FZGdlcycsCi0gICAgICAgICAgJ3VwTm9kZScsCi0gICAgICAgICAgJ3VwTm9kZXMnLAotICAgICAgICAgICd1cEVkZ2UnLAotICAgICAgICAgICd1cEVkZ2VzJwotICAgICAgICBdLAotICAgICAgICB0aGlzLl9oYW5kbGVyCi0gICAgICApOwotCi0gICAgLy8gUmVmZXJlbmNlIHRoZSByZW5kZXJlciBieSBpdHMgY2FtZXJhOgotICAgIHRoaXMucmVuZGVyZXJzUGVyQ2FtZXJhW2NhbWVyYS5pZF0ucHVzaChyZW5kZXJlcik7Ci0KLSAgICByZXR1cm4gcmVuZGVyZXI7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGtpbGxzIGEgcmVuZGVyZXIuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ3xyZW5kZXJlcn0gdiBUaGUgcmVuZGVyZXIgdG8ga2lsbCBvciBpdHMgSUQuCi0gICAqIEByZXR1cm4ge3NpZ21hfSAgICAgICAgICAgICBSZXR1cm5zIHRoZSBpbnN0YW5jZS4KLSAgICovCi0gIHNpZ21hLnByb3RvdHlwZS5raWxsUmVuZGVyZXIgPSBmdW5jdGlvbih2KSB7Ci0gICAgdiA9IHR5cGVvZiB2ID09PSAnc3RyaW5nJyA/IHRoaXMucmVuZGVyZXJzW3ZdIDogdjsKLQotICAgIGlmICghdikKLSAgICAgIHRocm93ICdzaWdtYS5raWxsUmVuZGVyZXI6IFRoZSByZW5kZXJlciBpcyB1bmRlZmluZWQuJzsKLQotICAgIHZhciBhID0gdGhpcy5yZW5kZXJlcnNQZXJDYW1lcmFbdi5jYW1lcmEuaWRdLAotICAgICAgICBpID0gYS5pbmRleE9mKHYpOwotCi0gICAgaWYgKGkgPj0gMCkKLSAgICAgIGEuc3BsaWNlKGksIDEpOwotCi0gICAgaWYgKHYua2lsbCkKLSAgICAgIHYua2lsbCgpOwotCi0gICAgZGVsZXRlIHRoaXMucmVuZGVyZXJzW3YuaWRdOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGNhbGxzIHRoZSAicmVuZGVyIiBtZXRob2Qgb2YgZWFjaCByZW5kZXJlciwgd2l0aCB0aGUgc2FtZQotICAgKiBhcmd1bWVudHMgdGhhbiB0aGUgInJlbmRlciIgbWV0aG9kLCBidXQgd2lsbCBhbHNvIGNoZWNrIGlmIHRoZSByZW5kZXJlcgotICAgKiBoYXMgYSAicHJvY2VzcyIgbWV0aG9kLCBhbmQgY2FsbCBpdCBpZiBpdCBleGlzdHMuCi0gICAqCi0gICAqIEl0IGlzIHVzZWZ1bCBmb3IgcXVhZHRyZWVzIG9yIFdlYkdMIHByb2Nlc3NpbmcsIGZvciBpbnN0YW5jZS4KLSAgICoKLSAgICogQHBhcmFtICB7P29iamVjdH0gIG9wdGlvbnMgRXZlbnR1YWxseSBzb21lIG9wdGlvbnMgdG8gZ2l2ZSB0byB0aGUgcmVmcmVzaAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QuCi0gICAqIEByZXR1cm4ge3NpZ21hfSAgICAgICAgICAgIFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICoKLSAgICogUmVjb2duaXplZCBwYXJhbWV0ZXJzOgotICAgKiAqKioqKioqKioqKioqKioqKioqKioqCi0gICAqIEhlcmUgaXMgdGhlIGV4aGF1c3RpdmUgbGlzdCBvZiBldmVyeSBhY2NlcHRlZCBwYXJhbWV0ZXJzIGluIHRoZSAib3B0aW9ucyIKLSAgICogb2JqZWN0OgotICAgKgotICAgKiAgIHs/Ym9vbGVhbn0gc2tpcEluZGV4YXRpb24gQSBmbGFnIHNwZWNpZnlpbmcgd2V0aGVyIG9yIG5vdCB0aGUgcmVmcmVzaAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2hvdWxkIHJlaW5kZXggdGhlIGdyYXBoIGluIHRoZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVhZHRyZWVzIG9yIG5vdCAoZGVmYXVsdDogZmFsc2UpLgotICAgKi8KLSAgc2lnbWEucHJvdG90eXBlLnJlZnJlc2ggPSBmdW5jdGlvbihvcHRpb25zKSB7Ci0gICAgdmFyIGksCi0gICAgICAgIGwsCi0gICAgICAgIGssCi0gICAgICAgIGEsCi0gICAgICAgIGMsCi0gICAgICAgIGJvdW5kcywKLSAgICAgICAgcHJlZml4ID0gMDsKLQotICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwotCi0gICAgLy8gQ2FsbCBlYWNoIG1pZGRsZXdhcmU6Ci0gICAgYSA9IHRoaXMubWlkZGxld2FyZXMgfHwgW107Ci0gICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgYVtpXS5jYWxsKAotICAgICAgICB0aGlzLAotICAgICAgICAoaSA9PT0gMCkgPyAnJyA6ICd0bXAnICsgcHJlZml4ICsgJzonLAotICAgICAgICAoaSA9PT0gbCAtIDEpID8gJ3JlYWR5OicgOiAoJ3RtcCcgKyAoKytwcmVmaXgpICsgJzonKQotICAgICAgKTsKLQotICAgIC8vIFRoZW4sIGZvciBlYWNoIGNhbWVyYSwgY2FsbCB0aGUgInJlc2NhbGUiIG1pZGRsZXdhcmUsIHVubGVzcyB0aGUKLSAgICAvLyBzZXR0aW5ncyBzcGVjaWZ5IG5vdCB0bzoKLSAgICBmb3IgKGsgaW4gdGhpcy5jYW1lcmFzKSB7Ci0gICAgICBjID0gdGhpcy5jYW1lcmFzW2tdOwotICAgICAgaWYgKAotICAgICAgICBjLnNldHRpbmdzKCdhdXRvUmVzY2FsZScpICYmCi0gICAgICAgIHRoaXMucmVuZGVyZXJzUGVyQ2FtZXJhW2MuaWRdICYmCi0gICAgICAgIHRoaXMucmVuZGVyZXJzUGVyQ2FtZXJhW2MuaWRdLmxlbmd0aAotICAgICAgKQotICAgICAgICBzaWdtYS5taWRkbGV3YXJlcy5yZXNjYWxlLmNhbGwoCi0gICAgICAgICAgdGhpcywKLSAgICAgICAgICBhLmxlbmd0aCA/ICdyZWFkeTonIDogJycsCi0gICAgICAgICAgYy5yZWFkUHJlZml4LAotICAgICAgICAgIHsKLSAgICAgICAgICAgIHdpZHRoOiB0aGlzLnJlbmRlcmVyc1BlckNhbWVyYVtjLmlkXVswXS53aWR0aCwKLSAgICAgICAgICAgIGhlaWdodDogdGhpcy5yZW5kZXJlcnNQZXJDYW1lcmFbYy5pZF1bMF0uaGVpZ2h0Ci0gICAgICAgICAgfQotICAgICAgICApOwotICAgICAgZWxzZQotICAgICAgICBzaWdtYS5taWRkbGV3YXJlcy5jb3B5LmNhbGwoCi0gICAgICAgICAgdGhpcywKLSAgICAgICAgICBhLmxlbmd0aCA/ICdyZWFkeTonIDogJycsCi0gICAgICAgICAgYy5yZWFkUHJlZml4Ci0gICAgICAgICk7Ci0KLSAgICAgIGlmICghb3B0aW9ucy5za2lwSW5kZXhhdGlvbikgewotICAgICAgICAvLyBGaW5kIGdyYXBoIGJvdW5kYXJpZXM6Ci0gICAgICAgIGJvdW5kcyA9IHNpZ21hLnV0aWxzLmdldEJvdW5kYXJpZXMoCi0gICAgICAgICAgdGhpcy5ncmFwaCwKLSAgICAgICAgICBjLnJlYWRQcmVmaXgKLSAgICAgICAgKTsKLQotICAgICAgICAvLyBSZWZyZXNoIHF1YWR0cmVlOgotICAgICAgICBjLnF1YWR0cmVlLmluZGV4KHRoaXMuZ3JhcGgubm9kZXMoKSwgewotICAgICAgICAgIHByZWZpeDogYy5yZWFkUHJlZml4LAotICAgICAgICAgIGJvdW5kczogewotICAgICAgICAgICAgeDogYm91bmRzLm1pblgsCi0gICAgICAgICAgICB5OiBib3VuZHMubWluWSwKLSAgICAgICAgICAgIHdpZHRoOiBib3VuZHMubWF4WCAtIGJvdW5kcy5taW5YLAotICAgICAgICAgICAgaGVpZ2h0OiBib3VuZHMubWF4WSAtIGJvdW5kcy5taW5ZCi0gICAgICAgICAgfQotICAgICAgICB9KTsKLQotICAgICAgICAvLyBSZWZyZXNoIGVkZ2VxdWFkdHJlZToKLSAgICAgICAgaWYgKAotICAgICAgICAgIGMuZWRnZXF1YWR0cmVlICE9PSB1bmRlZmluZWQgJiYKLSAgICAgICAgICBjLnNldHRpbmdzKCdkcmF3RWRnZXMnKSAmJgotICAgICAgICAgIGMuc2V0dGluZ3MoJ2VuYWJsZUVkZ2VIb3ZlcmluZycpCi0gICAgICAgICkgewotICAgICAgICAgIGMuZWRnZXF1YWR0cmVlLmluZGV4KHRoaXMuZ3JhcGgsIHsKLSAgICAgICAgICAgIHByZWZpeDogYy5yZWFkUHJlZml4LAotICAgICAgICAgICAgYm91bmRzOiB7Ci0gICAgICAgICAgICAgIHg6IGJvdW5kcy5taW5YLAotICAgICAgICAgICAgICB5OiBib3VuZHMubWluWSwKLSAgICAgICAgICAgICAgd2lkdGg6IGJvdW5kcy5tYXhYIC0gYm91bmRzLm1pblgsCi0gICAgICAgICAgICAgIGhlaWdodDogYm91bmRzLm1heFkgLSBib3VuZHMubWluWQotICAgICAgICAgICAgfQotICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLy8gQ2FsbCBlYWNoIHJlbmRlcmVyOgotICAgIGEgPSBPYmplY3Qua2V5cyh0aGlzLnJlbmRlcmVycyk7Ci0gICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgaWYgKHRoaXMucmVuZGVyZXJzW2FbaV1dLnByb2Nlc3MpIHsKLSAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MoJ3NraXBFcnJvcnMnKSkKLSAgICAgICAgICB0cnkgewotICAgICAgICAgICAgdGhpcy5yZW5kZXJlcnNbYVtpXV0ucHJvY2VzcygpOwotICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGNvbnNvbGUubG9nKAotICAgICAgICAgICAgICAnV2FybmluZzogVGhlIHJlbmRlcmVyICInICsgYVtpXSArICciIGNyYXNoZWQgb24gIi5wcm9jZXNzKCkiJwotICAgICAgICAgICAgKTsKLSAgICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICB0aGlzLnJlbmRlcmVyc1thW2ldXS5wcm9jZXNzKCk7Ci0gICAgICB9Ci0KLSAgICB0aGlzLnJlbmRlcigpOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGNhbGxzIHRoZSAicmVuZGVyIiBtZXRob2Qgb2YgZWFjaCByZW5kZXJlci4KLSAgICoKLSAgICogQHJldHVybiB7c2lnbWF9IFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIHNpZ21hLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSwKLSAgICAgICAgcHJlZml4ID0gMDsKLQotICAgIC8vIENhbGwgZWFjaCByZW5kZXJlcjoKLSAgICBhID0gT2JqZWN0LmtleXModGhpcy5yZW5kZXJlcnMpOwotICAgIGZvciAoaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgIGlmICh0aGlzLnNldHRpbmdzKCdza2lwRXJyb3JzJykpCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgdGhpcy5yZW5kZXJlcnNbYVtpXV0ucmVuZGVyKCk7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncygndmVyYm9zZScpKQotICAgICAgICAgICAgY29uc29sZS5sb2coCi0gICAgICAgICAgICAgICdXYXJuaW5nOiBUaGUgcmVuZGVyZXIgIicgKyBhW2ldICsgJyIgY3Jhc2hlZCBvbiAiLnJlbmRlcigpIicKLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICAgIGVsc2UKLSAgICAgICAgdGhpcy5yZW5kZXJlcnNbYVtpXV0ucmVuZGVyKCk7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgY2FsbHMgdGhlICJyZW5kZXIiIG1ldGhvZCBvZiBlYWNoIHJlbmRlcmVyIHRoYXQgaXMgYm91bmQgdG8KLSAgICogdGhlIHNwZWNpZmllZCBjYW1lcmEuIFRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlcywgaWYgdGhpcyBtZXRob2QgaXMKLSAgICogY2FsbGVkIHRvbyBvZnRlbiwgdGhlIG51bWJlciBvZiBlZmZlY3RpdmUgcmVuZGVyaW5ncyBpcyBsaW1pdGF0ZWQgdG8gb25lCi0gICAqIHBlciBmcmFtZSwgdW5sZXNzIHlvdSBhcmUgdXNpbmcgdGhlICJmb3JjZSIgZmxhZy4KLSAgICoKLSAgICogQHBhcmFtICB7c2lnbWEuY2xhc3Nlcy5jYW1lcmF9IGNhbWVyYSBUaGUgY2FtZXJhIHRvIHJlbmRlci4KLSAgICogQHBhcmFtICB7P2Jvb2xlYW59ICAgICAgICAgICAgIGZvcmNlICBJZiB0cnVlLCB3aWxsIHJlbmRlciB0aGUgY2FtZXJhCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0bHkuCi0gICAqIEByZXR1cm4ge3NpZ21hfSAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJucyB0aGUgaW5zdGFuY2UgaXRzZWxmLgotICAgKi8KLSAgc2lnbWEucHJvdG90eXBlLnJlbmRlckNhbWVyYSA9IGZ1bmN0aW9uKGNhbWVyYSwgZm9yY2UpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSwKLSAgICAgICAgc2VsZiA9IHRoaXM7Ci0KLSAgICBpZiAoZm9yY2UpIHsKLSAgICAgIGEgPSB0aGlzLnJlbmRlcmVyc1BlckNhbWVyYVtjYW1lcmEuaWRdOwotICAgICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgICBpZiAodGhpcy5zZXR0aW5ncygnc2tpcEVycm9ycycpKQotICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBhW2ldLnJlbmRlcigpOwotICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGlmICh0aGlzLnNldHRpbmdzKCd2ZXJib3NlJykpCi0gICAgICAgICAgICAgIGNvbnNvbGUubG9nKAotICAgICAgICAgICAgICAgICdXYXJuaW5nOiBUaGUgcmVuZGVyZXIgIicgKyBhW2ldLmlkICsgJyIgY3Jhc2hlZCBvbiAiLnJlbmRlcigpIicKLSAgICAgICAgICAgICAgKTsKLSAgICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICBhW2ldLnJlbmRlcigpOwotICAgIH0gZWxzZSB7Ci0gICAgICBpZiAoIXRoaXMuY2FtZXJhRnJhbWVzW2NhbWVyYS5pZF0pIHsKLSAgICAgICAgYSA9IHRoaXMucmVuZGVyZXJzUGVyQ2FtZXJhW2NhbWVyYS5pZF07Ci0gICAgICAgIGZvciAoaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncygnc2tpcEVycm9ycycpKQotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgYVtpXS5yZW5kZXIoKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MoJ3ZlcmJvc2UnKSkKLSAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygKLSAgICAgICAgICAgICAgICAgICdXYXJuaW5nOiBUaGUgcmVuZGVyZXIgIicgKwotICAgICAgICAgICAgICAgICAgICBhW2ldLmlkICsKLSAgICAgICAgICAgICAgICAgICAgJyIgY3Jhc2hlZCBvbiAiLnJlbmRlcigpIicKLSAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAgfQotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFbaV0ucmVuZGVyKCk7Ci0KLSAgICAgICAgdGhpcy5jYW1lcmFGcmFtZXNbY2FtZXJhLmlkXSA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsKLSAgICAgICAgICBkZWxldGUgc2VsZi5jYW1lcmFGcmFtZXNbY2FtZXJhLmlkXTsKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGNhbGxzIHRoZSAia2lsbCIgbWV0aG9kIG9mIGVhY2ggbW9kdWxlIGFuZCBkZXN0cm95cyBhbnkKLSAgICogcmVmZXJlbmNlIGZyb20gdGhlIGluc3RhbmNlLgotICAgKi8KLSAgc2lnbWEucHJvdG90eXBlLmtpbGwgPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgazsKLQotICAgIC8vIERpc3BhdGNoaW5nIGV2ZW50Ci0gICAgdGhpcy5kaXNwYXRjaEV2ZW50KCdraWxsJyk7Ci0KLSAgICAvLyBLaWxsIGdyYXBoOgotICAgIHRoaXMuZ3JhcGgua2lsbCgpOwotCi0gICAgLy8gS2lsbCBtaWRkbGV3YXJlczoKLSAgICBkZWxldGUgdGhpcy5taWRkbGV3YXJlczsKLQotICAgIC8vIEtpbGwgZWFjaCByZW5kZXJlcjoKLSAgICBmb3IgKGsgaW4gdGhpcy5yZW5kZXJlcnMpCi0gICAgICB0aGlzLmtpbGxSZW5kZXJlcih0aGlzLnJlbmRlcmVyc1trXSk7Ci0KLSAgICAvLyBLaWxsIGVhY2ggY2FtZXJhOgotICAgIGZvciAoayBpbiB0aGlzLmNhbWVyYXMpCi0gICAgICB0aGlzLmtpbGxDYW1lcmEodGhpcy5jYW1lcmFzW2tdKTsKLQotICAgIGRlbGV0ZSB0aGlzLnJlbmRlcmVyczsKLSAgICBkZWxldGUgdGhpcy5jYW1lcmFzOwotCi0gICAgLy8gS2lsbCBldmVyeXRoaW5nIGVsc2U6Ci0gICAgZm9yIChrIGluIHRoaXMpCi0gICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShrKSkKLSAgICAgICAgZGVsZXRlIHRoaXNba107Ci0KLSAgICBkZWxldGUgX19pbnN0YW5jZXNbdGhpcy5pZF07Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqIFJldHVybnMgYSBjbG9uZSBvZiB0aGUgaW5zdGFuY2VzIG9iamVjdCBvciBhIHNwZWNpZmljIHJ1bm5pbmcgaW5zdGFuY2UuCi0gICAqCi0gICAqIEBwYXJhbSAgez9zdHJpbmd9IGlkIEV2ZW50dWFsbHkgYW4gaW5zdGFuY2UgSUQuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgIFRoZSByZWxhdGVkIGluc3RhbmNlIG9yIGEgY2xvbmUgb2YgdGhlIGluc3RhbmNlcwotICAgKiAgICAgICAgICAgICAgICAgICAgICBvYmplY3QuCi0gICAqLwotICBzaWdtYS5pbnN0YW5jZXMgPSBmdW5jdGlvbihpZCkgewotICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8KLSAgICAgIF9faW5zdGFuY2VzW2lkXSA6Ci0gICAgICBzaWdtYS51dGlscy5leHRlbmQoe30sIF9faW5zdGFuY2VzKTsKLSAgfTsKLQotCi0KLSAgLyoqCi0gICAqIFRoZSBjdXJyZW50IHZlcnNpb24gb2Ygc2lnbWE6Ci0gICAqLwotICBzaWdtYS52ZXJzaW9uID0gJzEuMS4wJzsKLQotCi0KLQotICAvKioKLSAgICogRVhQT1JUOgotICAgKiAqKioqKioqCi0gICAqLwotICBpZiAodHlwZW9mIHRoaXMuc2lnbWEgIT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdBbiBvYmplY3QgY2FsbGVkIHNpZ21hIGlzIGFscmVhZHkgaW4gdGhlIGdsb2JhbCBzY29wZS4nOwotCi0gIHRoaXMuc2lnbWEgPSBzaWdtYTsKLQotfSkuY2FsbCh0aGlzKTsKLQotLyoqCi0gKiBjb25yYWQuanMgaXMgYSB0aW55IEphdmFTY3JpcHQgam9icyBzY2hlZHVsZXIsCi0gKgotICogVmVyc2lvbjogMC4xLjAKLSAqIFNvdXJjZXM6IGh0dHA6Ly9naXRodWIuY29tL2phY29teWFsL2NvbnJhZC5qcwotICogRG9jOiAgICAgaHR0cDovL2dpdGh1Yi5jb20vamFjb215YWwvY29ucmFkLmpzI3JlYWRtZQotICoKLSAqIExpY2Vuc2U6Ci0gKiAtLS0tLS0tLQotICogQ29weXJpZ2h0IMKpIDIwMTMgQWxleGlzIEphY29teSwgU2NpZW5jZXMtUG8gbcOpZGlhbGFiCi0gKgotICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCi0gKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQotICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCi0gKiBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwotICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLSAqCi0gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgotICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi0gKgotICogVGhlIFNvZnR3YXJlIGlzIHByb3ZpZGVkICJhcyBpcyIsIHdpdGhvdXQgd2FycmFudHkgb2YgYW55IGtpbmQsIGV4cHJlc3Mgb3IKLSAqIGltcGxpZWQsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHdhcnJhbnRpZXMgb2YgbWVyY2hhbnRhYmlsaXR5LAotICogZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UgYW5kIG5vbmluZnJpbmdlbWVudC4gSW4gbm8gZXZlbnQgc2hhbGwgdGhlCi0gKiBhdXRob3JzIG9yIGNvcHlyaWdodCBob2xkZXJzIGJlIGxpYWJsZSBmb3IgYW55IGNsYWltLCBkYW1hZ2VzIG9yIG90aGVyCi0gKiBsaWFiaWxpdHksIHdoZXRoZXIgaW4gYW4gYWN0aW9uIG9mIGNvbnRyYWN0LCB0b3J0IG9yIG90aGVyd2lzZSwgYXJpc2luZwotICogZnJvbSwgb3V0IG9mIG9yIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgc29mdHdhcmUgb3IgdGhlIHVzZSBvciBvdGhlciBkZWFsaW5ncwotICogaW4gdGhlIFNvZnR3YXJlLgotICovCi0oZnVuY3Rpb24oZ2xvYmFsKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICAvLyBDaGVjayB0aGF0IGNvbnJhZC5qcyBoYXMgbm90IGJlZW4gbG9hZGVkIHlldDoKLSAgaWYgKGdsb2JhbC5jb25yYWQpCi0gICAgdGhyb3cgbmV3IEVycm9yKCdjb25yYWQgYWxyZWFkeSBleGlzdHMnKTsKLQotCi0gIC8qKgotICAgKiBQUklWQVRFIFZBUklBQkxFUzoKLSAgICogKioqKioqKioqKioqKioqKioqCi0gICAqLwotCi0gIC8qKgotICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIGNvbnJhZCBpcyBydW5uaW5nIG9yIG5vdC4KLSAgICoKLSAgICogQHR5cGUge051bWJlcn0KLSAgICovCi0gIHZhciBfbGFzdEZyYW1lVGltZTsKLQotICAvKioKLSAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBjb25yYWQgaXMgcnVubmluZyBvciBub3QuCi0gICAqCi0gICAqIEB0eXBlIHtCb29sZWFufQotICAgKi8KLSAgdmFyIF9pc1J1bm5pbmcgPSBmYWxzZTsKLQotICAvKioKLSAgICogVGhlIGhhc2ggb2YgcmVnaXN0ZXJlZCBqb2JzLiBFYWNoIGpvYiBtdXN0IGF0IGxlYXN0IGhhdmUgYSB1bmlxdWUgSUQKLSAgICogdW5kZXIgdGhlIGtleSAiaWQiIGFuZCBhIGZ1bmN0aW9uIHVuZGVyIHRoZSBrZXkgImpvYiIuIFRoaXMgaGFzaAotICAgKiBjb250YWlucyBlYWNoIHJ1bm5pbmcgam9iIGFuZCBlYWNoIHdhaXRpbmcgam9iLgotICAgKgotICAgKiBAdHlwZSB7T2JqZWN0fQotICAgKi8KLSAgdmFyIF9qb2JzID0ge307Ci0KLSAgLyoqCi0gICAqIFRoZSBoYXNoIG9mIGN1cnJlbnRseSBydW5uaW5nIGpvYnMuCi0gICAqCi0gICAqIEB0eXBlIHtPYmplY3R9Ci0gICAqLwotICB2YXIgX3J1bm5pbmdKb2JzID0ge307Ci0KLSAgLyoqCi0gICAqIFRoZSBhcnJheSBvZiBjdXJyZW50bHkgcnVubmluZyBqb2JzLCBzb3J0ZWQgYnkgcHJpb3JpdHkuCi0gICAqCi0gICAqIEB0eXBlIHtBcnJheX0KLSAgICovCi0gIHZhciBfc29ydGVkQnlQcmlvcml0eUpvYnMgPSBbXTsKLQotICAvKioKLSAgICogVGhlIGFycmF5IG9mIGN1cnJlbnRseSB3YWl0aW5nIGpvYnMuCi0gICAqCi0gICAqIEB0eXBlIHtPYmplY3R9Ci0gICAqLwotICB2YXIgX3dhaXRpbmdKb2JzID0ge307Ci0KLSAgLyoqCi0gICAqIFRoZSBhcnJheSBvZiBmaW5pc2hlZCBqb2JzLiBUaGV5IGFyZSBzdG9yZWQgaW4gYW4gYXJyYXksIHNpbmNlIHR3byBqb2JzCi0gICAqIHdpdGggdGhlIHNhbWUgImlkIiBjYW4gaGFwcGVuIGF0IHR3byBkaWZmZXJlbnQgdGltZXMuCi0gICAqCi0gICAqIEB0eXBlIHtBcnJheX0KLSAgICovCi0gIHZhciBfZG9uZUpvYnMgPSBbXTsKLQotICAvKioKLSAgICogQSBkaXJ0eSBmbGFnIHRvIGtlZXAgY29ucmFkIGZyb20gc3RhcnRpbmc6IEluZGVlZCwgd2hlbiBhZGRKb2IoKSBpcyBjYWxsZWQKLSAgICogd2l0aCBzZXZlcmFsIGpvYnMsIGNvbnJhZCBtdXN0IGJlIHN0YXJ0ZWQgb25seSBhdCB0aGUgZW5kLiBUaGlzIGZsYWcga2VlcHMKLSAgICogbWUgZnJvbSBkdXBsaWNhdGluZyB0aGUgY29kZSB0aGF0IGVmZmVjdGl2ZWx5IGFkZHMgYSBqb2IuCi0gICAqCi0gICAqIEB0eXBlIHtCb29sZWFufQotICAgKi8KLSAgdmFyIF9ub1N0YXJ0ID0gZmFsc2U7Ci0KLSAgLyoqCi0gICAqIEFuIGhhc2ggY29udGFpbmluZyBzb21lIGdsb2JhbCBzZXR0aW5ncyBhYm91dCBob3cgY29ucmFkLmpzIHNob3VsZAotICAgKiBiZWhhdmUuCi0gICAqCi0gICAqIEB0eXBlIHtPYmplY3R9Ci0gICAqLwotICB2YXIgX3BhcmFtZXRlcnMgPSB7Ci0gICAgZnJhbWVEdXJhdGlvbjogMjAsCi0gICAgaGlzdG9yeTogdHJ1ZQotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG9iamVjdCBjb250YWlucyBldmVyeSBoYW5kbGVycyBib3VuZCB0byBjb25yYWQgZXZlbnRzLiBJdCBkb2VzIG5vdAotICAgKiByZXF1aXJlYSBhbnkgRE9NIGltcGxlbWVudGF0aW9uLCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBhbGwgSmF2YVNjcmlwdC4KLSAgICoKLSAgICogQHR5cGUge09iamVjdH0KLSAgICovCi0gIHZhciBfaGFuZGxlcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpOwotCi0KLSAgLyoqCi0gICAqIFBSSVZBVEUgRlVOQ1RJT05TOgotICAgKiAqKioqKioqKioqKioqKioqKioKLSAgICovCi0KLSAgLyoqCi0gICAqIFdpbGwgZXhlY3V0ZSB0aGUgaGFuZGxlciBldmVyeXRpbWUgdGhhdCB0aGUgaW5kaWNhdGVkIGV2ZW50IChvciB0aGUKLSAgICogaW5kaWNhdGVkIGV2ZW50cykgd2lsbCBiZSB0cmlnZ2VyZWQuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ3xhcnJheXxvYmplY3R9IGV2ZW50cyAgVGhlIG5hbWUgb2YgdGhlIGV2ZW50IChvciB0aGUgZXZlbnRzCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdGVkIGJ5IHNwYWNlcykuCi0gICAqIEBwYXJhbSAge2Z1bmN0aW9uKE9iamVjdCl9ICAgIGhhbmRsZXIgVGhlIGhhbmRsZXIgdG8gYmluZC4KLSAgICogQHJldHVybiB7T2JqZWN0fSAgICAgICAgICAgICAgICAgICAgICBSZXR1cm5zIGNvbnJhZC4KLSAgICovCi0gIGZ1bmN0aW9uIF9iaW5kKGV2ZW50cywgaGFuZGxlcikgewotICAgIHZhciBpLAotICAgICAgICBpX2VuZCwKLSAgICAgICAgZXZlbnQsCi0gICAgICAgIGVBcnJheTsKLQotICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkKLSAgICAgIHJldHVybjsKLSAgICBlbHNlIGlmICgKLSAgICAgIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYKLSAgICAgIE9iamVjdChhcmd1bWVudHNbMF0pID09PSBhcmd1bWVudHNbMF0KLSAgICApCi0gICAgICBmb3IgKGV2ZW50cyBpbiBhcmd1bWVudHNbMF0pCi0gICAgICAgIF9iaW5kKGV2ZW50cywgYXJndW1lbnRzWzBdW2V2ZW50c10pOwotICAgIGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7Ci0gICAgICBlQXJyYXkgPQotICAgICAgICBBcnJheS5pc0FycmF5KGV2ZW50cykgPwotICAgICAgICAgIGV2ZW50cyA6Ci0gICAgICAgICAgZXZlbnRzLnNwbGl0KC8gLyk7Ci0KLSAgICAgIGZvciAoaSA9IDAsIGlfZW5kID0gZUFycmF5Lmxlbmd0aDsgaSAhPT0gaV9lbmQ7IGkgKz0gMSkgewotICAgICAgICBldmVudCA9IGVBcnJheVtpXTsKLQotICAgICAgICBpZiAoIV9oYW5kbGVyc1tldmVudF0pCi0gICAgICAgICAgX2hhbmRsZXJzW2V2ZW50XSA9IFtdOwotCi0gICAgICAgIC8vIFVzaW5nIGFuIG9iamVjdCBpbnN0ZWFkIG9mIGRpcmVjdGx5IHRoZSBoYW5kbGVyIHdpbGwgbWFrZSBwb3NzaWJsZQotICAgICAgICAvLyBsYXRlciB0byBhZGQgZmxhZ3MKLSAgICAgICAgX2hhbmRsZXJzW2V2ZW50XS5wdXNoKHsKLSAgICAgICAgICBoYW5kbGVyOiBoYW5kbGVyCi0gICAgICAgIH0pOwotICAgICAgfQotICAgIH0KLSAgfQotCi0gIC8qKgotICAgKiBSZW1vdmVzIHRoZSBoYW5kbGVyIGZyb20gYSBzcGVjaWZpZWQgZXZlbnQgKG9yIHNwZWNpZmllZCBldmVudHMpLgotICAgKgotICAgKiBAcGFyYW0gIHs/c3RyaW5nfSAgICAgICAgICAgZXZlbnRzICBUaGUgbmFtZSBvZiB0aGUgZXZlbnQgKG9yIHRoZSBldmVudHMKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdGVkIGJ5IHNwYWNlcykuIElmIHVuZGVmaW5lZCwKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiBhbGwgaGFuZGxlcnMgYXJlIHJlbW92ZWQuCi0gICAqIEBwYXJhbSAgez9mdW5jdGlvbihPYmplY3QpfSBoYW5kbGVyIFRoZSBoYW5kbGVyIHRvIHVuYmluZC4gSWYgdW5kZWZpbmVkLAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIGhhbmRsZXIgYm91bmQgdG8gdGhlIGV2ZW50IG9yIHRoZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHMgd2lsbCBiZSByZW1vdmVkLgotICAgKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICAgUmV0dXJucyBjb25yYWQuCi0gICAqLwotICBmdW5jdGlvbiBfdW5iaW5kKGV2ZW50cywgaGFuZGxlcikgewotICAgIHZhciBpLAotICAgICAgICBpX2VuZCwKLSAgICAgICAgaiwKLSAgICAgICAgal9lbmQsCi0gICAgICAgIGEsCi0gICAgICAgIGV2ZW50LAotICAgICAgICBlQXJyYXkgPSBBcnJheS5pc0FycmF5KGV2ZW50cykgPwotICAgICAgICAgICAgICAgICAgIGV2ZW50cyA6Ci0gICAgICAgICAgICAgICAgICAgZXZlbnRzLnNwbGl0KC8gLyk7Ci0KLSAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpCi0gICAgICBfaGFuZGxlcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpOwotICAgIGVsc2UgaWYgKGhhbmRsZXIpIHsKLSAgICAgIGZvciAoaSA9IDAsIGlfZW5kID0gZUFycmF5Lmxlbmd0aDsgaSAhPT0gaV9lbmQ7IGkgKz0gMSkgewotICAgICAgICBldmVudCA9IGVBcnJheVtpXTsKLSAgICAgICAgaWYgKF9oYW5kbGVyc1tldmVudF0pIHsKLSAgICAgICAgICBhID0gW107Ci0gICAgICAgICAgZm9yIChqID0gMCwgal9lbmQgPSBfaGFuZGxlcnNbZXZlbnRdLmxlbmd0aDsgaiAhPT0gal9lbmQ7IGogKz0gMSkKLSAgICAgICAgICAgIGlmIChfaGFuZGxlcnNbZXZlbnRdW2pdLmhhbmRsZXIgIT09IGhhbmRsZXIpCi0gICAgICAgICAgICAgIGEucHVzaChfaGFuZGxlcnNbZXZlbnRdW2pdKTsKLQotICAgICAgICAgIF9oYW5kbGVyc1tldmVudF0gPSBhOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKF9oYW5kbGVyc1tldmVudF0gJiYgX2hhbmRsZXJzW2V2ZW50XS5sZW5ndGggPT09IDApCi0gICAgICAgICAgZGVsZXRlIF9oYW5kbGVyc1tldmVudF07Ci0gICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICBmb3IgKGkgPSAwLCBpX2VuZCA9IGVBcnJheS5sZW5ndGg7IGkgIT09IGlfZW5kOyBpICs9IDEpCi0gICAgICAgIGRlbGV0ZSBfaGFuZGxlcnNbZUFycmF5W2ldXTsKLSAgfQotCi0gIC8qKgotICAgKiBFeGVjdXRlcyBlYWNoIGhhbmRsZXIgYm91bmQgdG8gdGhlIGV2ZW50LgotICAgKgotICAgKiBAcGFyYW0gIHtzdHJpbmd9ICBldmVudHMgVGhlIG5hbWUgb2YgdGhlIGV2ZW50IChvciB0aGUgZXZlbnRzIHNlcGFyYXRlZAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgc3BhY2VzKS4KLSAgICogQHBhcmFtICB7P09iamVjdH0gZGF0YSAgIFRoZSBjb250ZW50IG9mIHRoZSBldmVudCAob3B0aW9uYWwpLgotICAgKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgUmV0dXJucyBjb25yYWQuCi0gICAqLwotICBmdW5jdGlvbiBfZGlzcGF0Y2goZXZlbnRzLCBkYXRhKSB7Ci0gICAgdmFyIGksCi0gICAgICAgIGosCi0gICAgICAgIGlfZW5kLAotICAgICAgICBqX2VuZCwKLSAgICAgICAgZXZlbnQsCi0gICAgICAgIGV2ZW50TmFtZSwKLSAgICAgICAgZUFycmF5ID0gQXJyYXkuaXNBcnJheShldmVudHMpID8KLSAgICAgICAgICAgICAgICAgICBldmVudHMgOgotICAgICAgICAgICAgICAgICAgIGV2ZW50cy5zcGxpdCgvIC8pOwotCi0gICAgZGF0YSA9IGRhdGEgPT09IHVuZGVmaW5lZCA/IHt9IDogZGF0YTsKLQotICAgIGZvciAoaSA9IDAsIGlfZW5kID0gZUFycmF5Lmxlbmd0aDsgaSAhPT0gaV9lbmQ7IGkgKz0gMSkgewotICAgICAgZXZlbnROYW1lID0gZUFycmF5W2ldOwotCi0gICAgICBpZiAoX2hhbmRsZXJzW2V2ZW50TmFtZV0pIHsKLSAgICAgICAgZXZlbnQgPSB7Ci0gICAgICAgICAgdHlwZTogZXZlbnROYW1lLAotICAgICAgICAgIGRhdGE6IGRhdGEgfHwge30KLSAgICAgICAgfTsKLQotICAgICAgICBmb3IgKGogPSAwLCBqX2VuZCA9IF9oYW5kbGVyc1tldmVudE5hbWVdLmxlbmd0aDsgaiAhPT0gal9lbmQ7IGogKz0gMSkKLSAgICAgICAgICB0cnkgewotICAgICAgICAgICAgX2hhbmRsZXJzW2V2ZW50TmFtZV1bal0uaGFuZGxlcihldmVudCk7Ci0gICAgICAgICAgfSBjYXRjaCAoZSkge30KLSAgICAgIH0KLSAgICB9Ci0gIH0KLQotICAvKioKLSAgICogRXhlY3V0ZXMgdGhlIG1vc3QgcHJpb3JpdGFyeSBqb2Igb25jZSwgYW5kIGRlYWxzIHdpdGggZmlsbGluZyB0aGUgc3RhdHMKLSAgICogKGRvbmUsIHRpbWUsIGF2ZXJhZ2VUaW1lLCBjdXJyZW50VGltZSwgZXRjLi4uKS4KLSAgICoKLSAgICogQHJldHVybiB7P09iamVjdH0gUmV0dXJucyB0aGUgam9iIG9iamVjdCBpZiBpdCBoYXMgdG8gYmUga2lsbGVkLCBudWxsIGVsc2UuCi0gICAqLwotICBmdW5jdGlvbiBfZXhlY3V0ZUZpcnN0Sm9iKCkgewotICAgIHZhciBpLAotICAgICAgICBsLAotICAgICAgICB0ZXN0LAotICAgICAgICBraWxsLAotICAgICAgICBwdXNoZWQgPSBmYWxzZSwKLSAgICAgICAgdGltZSA9IF9fZGF0ZU5vdygpLAotICAgICAgICBqb2IgPSBfc29ydGVkQnlQcmlvcml0eUpvYnMuc2hpZnQoKTsKLQotICAgIC8vIEV4ZWN1dGUgdGhlIGpvYiBhbmQgbG9vayBhdCB0aGUgcmVzdWx0OgotICAgIHRlc3QgPSBqb2Iuam9iKCk7Ci0KLSAgICAvLyBEZWFsIHdpdGggc3RhdHM6Ci0gICAgdGltZSA9IF9fZGF0ZU5vdygpIC0gdGltZTsKLSAgICBqb2IuZG9uZSsrOwotICAgIGpvYi50aW1lICs9IHRpbWU7Ci0gICAgam9iLmN1cnJlbnRUaW1lICs9IHRpbWU7Ci0gICAgam9iLndlaWdodFRpbWUgPSBqb2IuY3VycmVudFRpbWUgLyAoam9iLndlaWdodCB8fCAxKTsKLSAgICBqb2IuYXZlcmFnZVRpbWUgPSBqb2IudGltZSAvIGpvYi5kb25lOwotCi0gICAgLy8gQ2hlY2sgaWYgdGhlIGpvYiBoYXMgdG8gYmUga2lsbGVkOgotICAgIGtpbGwgPSBqb2IuY291bnQgPyAoam9iLmNvdW50IDw9IGpvYi5kb25lKSA6ICF0ZXN0OwotCi0gICAgLy8gUmVzZXQgcHJpb3JpdGllczoKLSAgICBpZiAoIWtpbGwpIHsKLSAgICAgIGZvciAoaSA9IDAsIGwgPSBfc29ydGVkQnlQcmlvcml0eUpvYnMubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgICBpZiAoX3NvcnRlZEJ5UHJpb3JpdHlKb2JzW2ldLndlaWdodFRpbWUgPiBqb2Iud2VpZ2h0VGltZSkgewotICAgICAgICAgIF9zb3J0ZWRCeVByaW9yaXR5Sm9icy5zcGxpY2UoaSwgMCwgam9iKTsKLSAgICAgICAgICBwdXNoZWQgPSB0cnVlOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgIGlmICghcHVzaGVkKQotICAgICAgICBfc29ydGVkQnlQcmlvcml0eUpvYnMucHVzaChqb2IpOwotICAgIH0KLQotICAgIHJldHVybiBraWxsID8gam9iIDogbnVsbDsKLSAgfQotCi0gIC8qKgotICAgKiBBY3RpdmF0ZXMgYSBqb2IsIGJ5IGFkZGluZyBpdCB0byB0aGUgX3J1bm5pbmdKb2JzIG9iamVjdCBhbmQgdGhlCi0gICAqIF9zb3J0ZWRCeVByaW9yaXR5Sm9icyBhcnJheS4gSXQgYWxzbyBpbml0aWFsaXplcyBpdHMgY3VycmVudFRpbWUgdmFsdWUuCi0gICAqCi0gICAqIEBwYXJhbSAge09iamVjdH0gam9iIFRoZSBqb2IgdG8gYWN0aXZhdGUuCi0gICAqLwotICBmdW5jdGlvbiBfYWN0aXZhdGVKb2Ioam9iKSB7Ci0gICAgdmFyIGwgPSBfc29ydGVkQnlQcmlvcml0eUpvYnMubGVuZ3RoOwotCi0gICAgLy8gQWRkIHRoZSBqb2IgdG8gdGhlIHJ1bm5pbmcgam9iczoKLSAgICBfcnVubmluZ0pvYnNbam9iLmlkXSA9IGpvYjsKLSAgICBqb2Iuc3RhdHVzID0gJ3J1bm5pbmcnOwotCi0gICAgLy8gQWRkIHRoZSBqb2IgdG8gdGhlIHByaW9yaXRpZXM6Ci0gICAgaWYgKGwpIHsKLSAgICAgIGpvYi53ZWlnaHRUaW1lID0gX3NvcnRlZEJ5UHJpb3JpdHlKb2JzW2wgLSAxXS53ZWlnaHRUaW1lOwotICAgICAgam9iLmN1cnJlbnRUaW1lID0gam9iLndlaWdodFRpbWUgKiAoam9iLndlaWdodCB8fCAxKTsKLSAgICB9Ci0KLSAgICAvLyBJbml0aWFsaXplIHRoZSBqb2IgYW5kIGRpc3BhdGNoOgotICAgIGpvYi5zdGFydFRpbWUgPSBfX2RhdGVOb3coKTsKLSAgICBfZGlzcGF0Y2goJ2pvYlN0YXJ0ZWQnLCBfX2Nsb25lKGpvYikpOwotCi0gICAgX3NvcnRlZEJ5UHJpb3JpdHlKb2JzLnB1c2goam9iKTsKLSAgfQotCi0gIC8qKgotICAgKiBUaGUgbWFpbiBsb29wIG9mIGNvbnJhZC5qczoKLSAgICogIC4gSXQgZXhlY3V0ZXMgam9iIHN1Y2ggdGhhdCB0aGV5IGFsbCBvY2N1cGF0ZSB0aGUgc2FtZSBwcm9jZXNzaW5nIHRpbWUuCi0gICAqICAuIEl0IHN0b3BzIGpvYnMgdGhhdCBkbyBub3QgbmVlZCB0byBiZSBleGVjdXRlZCBhbnltb3JlLgotICAgKiAgLiBJdCB0cmlnZ2VycyBjYWxsYmFja3Mgd2hlbiBpdCBpcyByZWxldmFudC4KLSAgICogIC4gSXQgc3RhcnRzIHdhaXRpbmcgam9icyB3aGVuIHRoZXkgbmVlZCB0byBiZSBzdGFydGVkLgotICAgKiAgLiBJdCBpbmplY3RzIGZyYW1lcyB0byBrZWVwIGEgY29uc3RhbnQgZnJhcGVzIHBlciBzZWNvbmQgcmF0aW8uCi0gICAqICAuIEl0IHN0b3BzIGl0c2VsZiB3aGVuIHRoZXJlIGFyZSBubyBtb3JlIGpvYnMgdG8gZXhlY3V0ZS4KLSAgICovCi0gIGZ1bmN0aW9uIF9sb29wKCkgewotICAgIHZhciBrLAotICAgICAgICBvLAotICAgICAgICBsLAotICAgICAgICBqb2IsCi0gICAgICAgIHRpbWUsCi0gICAgICAgIGRlYWRKb2I7Ci0KLSAgICAvLyBEZWFsIHdpdGggdGhlIG5ld2x5IGFkZGVkIGpvYnMgKHRoZSBfam9icyBvYmplY3QpOgotICAgIGZvciAoayBpbiBfam9icykgewotICAgICAgam9iID0gX2pvYnNba107Ci0KLSAgICAgIGlmIChqb2IuYWZ0ZXIpCi0gICAgICAgIF93YWl0aW5nSm9ic1trXSA9IGpvYjsKLSAgICAgIGVsc2UKLSAgICAgICAgX2FjdGl2YXRlSm9iKGpvYik7Ci0KLSAgICAgIGRlbGV0ZSBfam9ic1trXTsKLSAgICB9Ci0KLSAgICAvLyBTZXQgdGhlIF9pc1J1bm5pbmcgZmxhZyB0byBmYWxzZSBpZiB0aGVyZSBhcmUgbm8gcnVubmluZyBqb2I6Ci0gICAgX2lzUnVubmluZyA9ICEhX3NvcnRlZEJ5UHJpb3JpdHlKb2JzLmxlbmd0aDsKLQotICAgIC8vIERlYWwgd2l0aCB0aGUgcnVubmluZyBqb2JzICh0aGUgX3J1bm5pbmdKb2JzIG9iamVjdCk6Ci0gICAgd2hpbGUgKAotICAgICAgX3NvcnRlZEJ5UHJpb3JpdHlKb2JzLmxlbmd0aCAmJgotICAgICAgX19kYXRlTm93KCkgLSBfbGFzdEZyYW1lVGltZSA8IF9wYXJhbWV0ZXJzLmZyYW1lRHVyYXRpb24KLSAgICApIHsKLSAgICAgIGRlYWRKb2IgPSBfZXhlY3V0ZUZpcnN0Sm9iKCk7Ci0KLSAgICAgIC8vIERlYWwgd2l0aCB0aGUgY2FzZSB3aGVyZSB0aGUgam9iIGhhcyBlbmRlZDoKLSAgICAgIGlmIChkZWFkSm9iKSB7Ci0gICAgICAgIF9raWxsSm9iKGRlYWRKb2IuaWQpOwotCi0gICAgICAgIC8vIENoZWNrIGZvciB3YWl0aW5nIGpvYnM6Ci0gICAgICAgIGZvciAoayBpbiBfd2FpdGluZ0pvYnMpCi0gICAgICAgICAgaWYgKF93YWl0aW5nSm9ic1trXS5hZnRlciA9PT0gZGVhZEpvYi5pZCkgewotICAgICAgICAgICAgX2FjdGl2YXRlSm9iKF93YWl0aW5nSm9ic1trXSk7Ci0gICAgICAgICAgICBkZWxldGUgX3dhaXRpbmdKb2JzW2tdOwotICAgICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBDaGVjayBpZiBjb25yYWQgc3RpbGwgaGFzIGpvYnMgdG8gZGVhbCB3aXRoLCBhbmQga2lsbCBpdCBpZiBub3Q6Ci0gICAgaWYgKF9pc1J1bm5pbmcpIHsKLSAgICAgIC8vIFVwZGF0ZSB0aGUgX2xhc3RGcmFtZVRpbWU6Ci0gICAgICBfbGFzdEZyYW1lVGltZSA9IF9fZGF0ZU5vdygpOwotCi0gICAgICBfZGlzcGF0Y2goJ2VudGVyRnJhbWUnKTsKLSAgICAgIHNldFRpbWVvdXQoX2xvb3AsIDApOwotICAgIH0gZWxzZQotICAgICAgX2Rpc3BhdGNoKCdzdG9wJyk7Ci0gIH0KLQotICAvKioKLSAgICogQWRkcyBvbmUgb3IgbW9yZSBqb2JzLCBhbmQgc3RhcnRzIHRoZSBsb29wIGlmIG5vIGpvYiB3YXMgcnVubmluZyBiZWZvcmUuIEEKLSAgICogam9iIGlzIGF0IGxlYXN0IGEgdW5pcXVlIHN0cmluZyAiaWQiIGFuZCBhIGZ1bmN0aW9uLCBhbmQgdGhlcmUgYXJlIHNvbWUKLSAgICogcGFyYW1ldGVycyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBmb3IgZWFjaCBqb2IgdG8gbW9kaWZ5IHRoZSB3YXkgY29ucmFkIHdpbGwKLSAgICogZXhlY3V0ZSBpdC4gSWYgYSBqb2IgaXMgYWRkZWQgd2l0aCB0aGUgImlkIiBvZiBhbm90aGVyIGpvYiB0aGF0IGlzIHdhaXRpbmcKLSAgICogb3Igc3RpbGwgcnVubmluZywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uCi0gICAqCi0gICAqIFdoZW4gYSBqb2IgaXMgYWRkZWQsIGl0IGlzIHJlZmVyZW5jZWQgaW4gdGhlIF9qb2JzIG9iamVjdCwgYnkgaXRzIGlkLgotICAgKiBUaGVuLCBpZiBpdCBoYXMgdG8gYmUgZXhlY3V0ZWQgcmlnaHQgbm93LCBpdCB3aWxsIGJlIGFsc28gcmVmZXJlbmNlZCBpbgotICAgKiB0aGUgX3J1bm5pbmdKb2JzIG9iamVjdC4gSWYgaXQgaGFzIHRvIHdhaXQsIHRoZW4gaXQgd2lsbCBiZSBhZGRlZCBpbnRvIHRoZQotICAgKiBfd2FpdGluZ0pvYnMgb2JqZWN0LCB1bnRpbCBpdCBjYW4gc3RhcnQuCi0gICAqCi0gICAqIEtlZXAgcmVhZGluZyB0aGlzIGRvY3VtZW50YXRpb24gdG8gc2VlIGhvdyB0byBjYWxsIHRoaXMgbWV0aG9kLgotICAgKgotICAgKiBAcmV0dXJuIHtPYmplY3R9IFJldHVybnMgY29ucmFkLgotICAgKgotICAgKiBBZGRpbmcgb25lIGpvYjoKLSAgICogKioqKioqKioqKioqKioqCi0gICAqIEJhc2ljYWxseSwgYSBqb2IgaXMgZGVmaW5lZCBieSBpdHMgc3RyaW5nIGlkIGFuZCBhIGZ1bmN0aW9uICh0aGUgam9iKS4gSXQKLSAgICogaXMgYWxzbyBwb3NzaWJsZSB0byBhZGQgc29tZSBwYXJhbWV0ZXJzOgotICAgKgotICAgKiAgPiBjb25yYWQuYWRkSm9iKCdteUpvYklkJywgbXlKb2JGdW5jdGlvbik7Ci0gICAqICA+IGNvbnJhZC5hZGRKb2IoJ215Sm9iSWQnLCB7Ci0gICAqICA+ICAgam9iOiBteUpvYkZ1bmN0aW9uLAotICAgKiAgPiAgIHNvbWVQYXJhbWV0ZXI6IHNvbWVWYWx1ZQotICAgKiAgPiB9KTsKLSAgICogID4gY29ucmFkLmFkZEpvYih7Ci0gICAqICA+ICAgaWQ6ICdteUpvYklkJywKLSAgICogID4gICBqb2I6IG15Sm9iRnVuY3Rpb24sCi0gICAqICA+ICAgc29tZVBhcmFtZXRlcjogc29tZVZhbHVlCi0gICAqICA+IH0pOwotICAgKgotICAgKiBBZGRpbmcgc2V2ZXJhbCBqb2JzOgotICAgKiAqKioqKioqKioqKioqKioqKioqKgotICAgKiBXaGVuIGFkZGluZyBzZXZlcmFsIGpvYnMgYXQgdGhlIHNhbWUgdGltZSwgaXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeQotICAgKiBwYXJhbWV0ZXJzIGZvciBlYWNoIG9uZSBpbmRpdmlkdWFsbHkgb3IgZm9yIGFsbDoKLSAgICoKLSAgICogID4gY29ucmFkLmFkZEpvYihbCi0gICAqICA+ICAgewotICAgKiAgPiAgICAgaWQ6ICdteUpvYklkMScsCi0gICAqICA+ICAgICBqb2I6IG15Sm9iRnVuY3Rpb24xLAotICAgKiAgPiAgICAgc29tZVBhcmFtZXRlcjE6IHNvbWVWYWx1ZTEKLSAgICogID4gICB9LAotICAgKiAgPiAgIHsKLSAgICogID4gICAgIGlkOiAnbXlKb2JJZDInLAotICAgKiAgPiAgICAgam9iOiBteUpvYkZ1bmN0aW9uMiwKLSAgICogID4gICAgIHNvbWVQYXJhbWV0ZXIyOiBzb21lVmFsdWUyCi0gICAqICA+ICAgfQotICAgKiAgPiBdLCB7Ci0gICAqICA+ICAgc29tZUNvbW1vblBhcmFtZXRlcjogc29tZUNvbW1vblZhbHVlCi0gICAqICA+IH0pOwotICAgKiAgPiBjb25yYWQuYWRkSm9iKHsKLSAgICogID4gICBteUpvYklkMTogeywKLSAgICogID4gICAgIGpvYjogbXlKb2JGdW5jdGlvbjEsCi0gICAqICA+ICAgICBzb21lUGFyYW1ldGVyMTogc29tZVZhbHVlMQotICAgKiAgPiAgIH0sCi0gICAqICA+ICAgbXlKb2JJZDI6IHssCi0gICAqICA+ICAgICBqb2I6IG15Sm9iRnVuY3Rpb24yLAotICAgKiAgPiAgICAgc29tZVBhcmFtZXRlcjI6IHNvbWVWYWx1ZTIKLSAgICogID4gICB9Ci0gICAqICA+IH0sIHsKLSAgICogID4gICBzb21lQ29tbW9uUGFyYW1ldGVyOiBzb21lQ29tbW9uVmFsdWUKLSAgICogID4gfSk7Ci0gICAqICA+IGNvbnJhZC5hZGRKb2IoewotICAgKiAgPiAgIG15Sm9iSWQxOiBteUpvYkZ1bmN0aW9uMSwKLSAgICogID4gICBteUpvYklkMjogbXlKb2JGdW5jdGlvbjIKLSAgICogID4gfSwgewotICAgKiAgPiAgIHNvbWVDb21tb25QYXJhbWV0ZXI6IHNvbWVDb21tb25WYWx1ZQotICAgKiAgPiB9KTsKLSAgICoKLSAgICogIFJlY29nbml6ZWQgcGFyYW1ldGVyczoKLSAgICogICoqKioqKioqKioqKioqKioqKioqKioKLSAgICogIEhlcmUgaXMgdGhlIGV4aGF1c3RpdmUgbGlzdCBvZiBldmVyeSBhY2NlcHRlZCBwYXJhbWV0ZXJzOgotICAgKgotICAgKiAgICB7P0Z1bmN0aW9ufSBlbmQgICAgICBBIGNhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiB0aGUgam9iIGlzIGVuZGVkLiBJdCBpcwotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICBub3QgZXhlY3V0ZWQgaWYgdGhlIGpvYiBpcyBraWxsZWQgaW5zdGVhZCBvZiBlbmRlZAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAibmF0dXJhbGx5Ii4KLSAgICogICAgez9JbnRlZ2VyfSAgY291bnQgICAgVGhlIG51bWJlciBvZiB0aW1lIHRoZSBqb2IgaGFzIHRvIGJlIGV4ZWN1dGVkLgotICAgKiAgICB7P051bWJlcn0gICB3ZWlnaHQgICBJZiBzcGVjaWZpZWQsIHRoZSBqb2Igd2lsbCBiZSBleGVjdXRlZCBhcyBpdCB3YXMKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgYWRkZWQgIndlaWdodCIgdGltZXMuCi0gICAqICAgIHs/U3RyaW5nfSAgIGFmdGVyICAgIFRoZSBpZCBvZiBhbm90aGVyIGpvYiAoZXZlbnR1YWxseSBub3QgYWRkZWQgeWV0KS4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgSWYgc3BlY2lmaWVkLCB0aGlzIGpvYiB3aWxsIHN0YXJ0IG9ubHkgd2hlbiB0aGUKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkICJhZnRlciIgam9iIGlzIGVuZGVkLgotICAgKi8KLSAgZnVuY3Rpb24gX2FkZEpvYih2MSwgdjIpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgbzsKLQotICAgIC8vIEFycmF5IG9mIGpvYnM6Ci0gICAgaWYgKEFycmF5LmlzQXJyYXkodjEpKSB7Ci0gICAgICAvLyBLZWVwIGNvbnJhZCB0byBzdGFydCB1bnRpbCB0aGUgbGFzdCBqb2IgaXMgYWRkZWQ6Ci0gICAgICBfbm9TdGFydCA9IHRydWU7Ci0KLSAgICAgIGZvciAoaSA9IDAsIGwgPSB2MS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIF9hZGRKb2IodjFbaV0uaWQsIF9fZXh0ZW5kKHYxW2ldLCB2MikpOwotCi0gICAgICBfbm9TdGFydCA9IGZhbHNlOwotICAgICAgaWYgKCFfaXNSdW5uaW5nKSB7Ci0gICAgICAgIC8vIFVwZGF0ZSB0aGUgX2xhc3RGcmFtZVRpbWU6Ci0gICAgICAgIF9sYXN0RnJhbWVUaW1lID0gX19kYXRlTm93KCk7Ci0KLSAgICAgICAgX2Rpc3BhdGNoKCdzdGFydCcpOwotICAgICAgICBfbG9vcCgpOwotICAgICAgfQotICAgIH0gZWxzZSBpZiAodHlwZW9mIHYxID09PSAnb2JqZWN0JykgewotICAgICAgLy8gT25lIGpvYiAob2JqZWN0KToKLSAgICAgIGlmICh0eXBlb2YgdjEuaWQgPT09ICdzdHJpbmcnKQotICAgICAgICBfYWRkSm9iKHYxLmlkLCB2MSk7Ci0KLSAgICAgIC8vIEhhc2ggb2Ygam9iczoKLSAgICAgIGVsc2UgewotICAgICAgICAvLyBLZWVwIGNvbnJhZCB0byBzdGFydCB1bnRpbCB0aGUgbGFzdCBqb2IgaXMgYWRkZWQ6Ci0gICAgICAgIF9ub1N0YXJ0ID0gdHJ1ZTsKLQotICAgICAgICBmb3IgKGkgaW4gdjEpCi0gICAgICAgICAgaWYgKHR5cGVvZiB2MVtpXSA9PT0gJ2Z1bmN0aW9uJykKLSAgICAgICAgICAgIF9hZGRKb2IoaSwgX19leHRlbmQoewotICAgICAgICAgICAgICBqb2I6IHYxW2ldCi0gICAgICAgICAgICB9LCB2MikpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIF9hZGRKb2IoaSwgX19leHRlbmQodjFbaV0sIHYyKSk7Ci0KLSAgICAgICAgX25vU3RhcnQgPSBmYWxzZTsKLSAgICAgICAgaWYgKCFfaXNSdW5uaW5nKSB7Ci0gICAgICAgICAgLy8gVXBkYXRlIHRoZSBfbGFzdEZyYW1lVGltZToKLSAgICAgICAgICBfbGFzdEZyYW1lVGltZSA9IF9fZGF0ZU5vdygpOwotCi0gICAgICAgICAgX2Rpc3BhdGNoKCdzdGFydCcpOwotICAgICAgICAgIF9sb29wKCk7Ci0gICAgICAgIH0KLSAgICAgIH0KLQotICAgIC8vIE9uZSBqb2IgKHN0cmluZywgKik6Ci0gICAgfSBlbHNlIGlmICh0eXBlb2YgdjEgPT09ICdzdHJpbmcnKSB7Ci0gICAgICBpZiAoX2hhc0pvYih2MSkpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigKLSAgICAgICAgICAnW2NvbnJhZC5hZGRKb2JdIEpvYiB3aXRoIGlkICInICsgdjEgKyAnIiBhbHJlYWR5IGV4aXN0cy4nCi0gICAgICAgICk7Ci0KLSAgICAgIC8vIE9uZSBqb2IgKHN0cmluZywgZnVuY3Rpb24pOgotICAgICAgaWYgKHR5cGVvZiB2MiA9PT0gJ2Z1bmN0aW9uJykgewotICAgICAgICBvID0gewotICAgICAgICAgIGlkOiB2MSwKLSAgICAgICAgICBkb25lOiAwLAotICAgICAgICAgIHRpbWU6IDAsCi0gICAgICAgICAgc3RhdHVzOiAnd2FpdGluZycsCi0gICAgICAgICAgY3VycmVudFRpbWU6IDAsCi0gICAgICAgICAgYXZlcmFnZVRpbWU6IDAsCi0gICAgICAgICAgd2VpZ2h0VGltZTogMCwKLSAgICAgICAgICBqb2I6IHYyCi0gICAgICAgIH07Ci0KLSAgICAgIC8vIE9uZSBqb2IgKHN0cmluZywgb2JqZWN0KToKLSAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHYyID09PSAnb2JqZWN0JykgewotICAgICAgICBvID0gX19leHRlbmQoCi0gICAgICAgICAgewotICAgICAgICAgICAgaWQ6IHYxLAotICAgICAgICAgICAgZG9uZTogMCwKLSAgICAgICAgICAgIHRpbWU6IDAsCi0gICAgICAgICAgICBzdGF0dXM6ICd3YWl0aW5nJywKLSAgICAgICAgICAgIGN1cnJlbnRUaW1lOiAwLAotICAgICAgICAgICAgYXZlcmFnZVRpbWU6IDAsCi0gICAgICAgICAgICB3ZWlnaHRUaW1lOiAwCi0gICAgICAgICAgfSwKLSAgICAgICAgICB2MgotICAgICAgICApOwotCi0gICAgICAvLyBJZiBub25lIG9mIHRob3NlIGNhc2VzLCB0aHJvdyBhbiBlcnJvcjoKLSAgICAgIH0gZWxzZQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tjb25yYWQuYWRkSm9iXSBXcm9uZyBhcmd1bWVudHMuJyk7Ci0KLSAgICAgIC8vIEVmZmVjdGl2ZWx5IGFkZCB0aGUgam9iOgotICAgICAgX2pvYnNbdjFdID0gbzsKLSAgICAgIF9kaXNwYXRjaCgnam9iQWRkZWQnLCBfX2Nsb25lKG8pKTsKLQotICAgICAgLy8gQ2hlY2sgaWYgdGhlIGxvb3AgaGFzIHRvIGJlIHN0YXJ0ZWQ6Ci0gICAgICBpZiAoIV9pc1J1bm5pbmcgJiYgIV9ub1N0YXJ0KSB7Ci0gICAgICAgIC8vIFVwZGF0ZSB0aGUgX2xhc3RGcmFtZVRpbWU6Ci0gICAgICAgIF9sYXN0RnJhbWVUaW1lID0gX19kYXRlTm93KCk7Ci0KLSAgICAgICAgX2Rpc3BhdGNoKCdzdGFydCcpOwotICAgICAgICBfbG9vcCgpOwotICAgICAgfQotCi0gICAgLy8gSWYgbm9uZSBvZiB0aG9zZSBjYXNlcywgdGhyb3cgYW4gZXJyb3I6Ci0gICAgfSBlbHNlCi0gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tjb25yYWQuYWRkSm9iXSBXcm9uZyBhcmd1bWVudHMuJyk7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfQotCi0gIC8qKgotICAgKiBLaWxscyBvbmUgb3IgbW9yZSBqb2JzLCBpbmRpY2F0ZWQgYnkgdGhlaXIgaWRzLiBJdCBpcyBvbmx5IHBvc3NpYmxlIHRvCi0gICAqIGtpbGwgcnVubmluZyBqb2JzIG9yIHdhaXRpbmcgam9icy4gSWYgeW91IHRyeSB0byBraWxsIGEgam9iIHRoYXQgZG9lcyBub3QKLSAgICogZXhpc3Qgb3IgdGhhdCBpcyBhbHJlYWR5IGtpbGxlZCwgYSB3YXJuaW5nIHdpbGwgYmUgdGhyb3duLgotICAgKgotICAgKiBAcGFyYW0gIHtBcnJheXxTdHJpbmd9IHYxIEEgc3RyaW5nIGpvYiBpZCBvciBhbiBhcnJheSBvZiBqb2IgaWRzLgotICAgKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgIFJldHVybnMgY29ucmFkLgotICAgKi8KLSAgZnVuY3Rpb24gX2tpbGxKb2IodjEpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgaywKLSAgICAgICAgYSwKLSAgICAgICAgam9iLAotICAgICAgICBmb3VuZCA9IGZhbHNlOwotCi0gICAgLy8gQXJyYXkgb2Ygam9iIGlkczoKLSAgICBpZiAoQXJyYXkuaXNBcnJheSh2MSkpCi0gICAgICBmb3IgKGkgPSAwLCBsID0gdjEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgICBfa2lsbEpvYih2MVtpXSk7Ci0KLSAgICAvLyBPbmUgam9iJ3MgaWQ6Ci0gICAgZWxzZSBpZiAodHlwZW9mIHYxID09PSAnc3RyaW5nJykgewotICAgICAgYSA9IFtfcnVubmluZ0pvYnMsIF93YWl0aW5nSm9icywgX2pvYnNdOwotCi0gICAgICAvLyBSZW1vdmUgdGhlIGpvYiBmcm9tIHRoZSBoYXNoZXM6Ci0gICAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIGlmICh2MSBpbiBhW2ldKSB7Ci0gICAgICAgICAgam9iID0gYVtpXVt2MV07Ci0KLSAgICAgICAgICBpZiAoX3BhcmFtZXRlcnMuaGlzdG9yeSkgewotICAgICAgICAgICAgam9iLnN0YXR1cyA9ICdkb25lJzsKLSAgICAgICAgICAgIF9kb25lSm9icy5wdXNoKGpvYik7Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgX2Rpc3BhdGNoKCdqb2JFbmRlZCcsIF9fY2xvbmUoam9iKSk7Ci0gICAgICAgICAgZGVsZXRlIGFbaV1bdjFdOwotCi0gICAgICAgICAgaWYgKHR5cGVvZiBqb2IuZW5kID09PSAnZnVuY3Rpb24nKQotICAgICAgICAgICAgam9iLmVuZCgpOwotCi0gICAgICAgICAgZm91bmQgPSB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgIC8vIFJlbW92ZSB0aGUgcHJpb3JpdGllcyBhcnJheToKLSAgICAgIGEgPSBfc29ydGVkQnlQcmlvcml0eUpvYnM7Ci0gICAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIGlmIChhW2ldLmlkID09PSB2MSkgewotICAgICAgICAgIGEuc3BsaWNlKGksIDEpOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgIGlmICghZm91bmQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignW2NvbnJhZC5raWxsSm9iXSBKb2IgIicgKyB2MSArICciIG5vdCBmb3VuZC4nKTsKLQotICAgIC8vIElmIG5vbmUgb2YgdGhvc2UgY2FzZXMsIHRocm93IGFuIGVycm9yOgotICAgIH0gZWxzZQotICAgICAgdGhyb3cgbmV3IEVycm9yKCdbY29ucmFkLmtpbGxKb2JdIFdyb25nIGFyZ3VtZW50cy4nKTsKLQotICAgIHJldHVybiB0aGlzOwotICB9Ci0KLSAgLyoqCi0gICAqIEtpbGxzIGV2ZXJ5IHJ1bm5pbmcsIHdhaXRpbmcsIGFuZCBqdXN0IGFkZGVkIGpvYnMuCi0gICAqCi0gICAqIEByZXR1cm4ge09iamVjdH0gUmV0dXJucyBjb25yYWQuCi0gICAqLwotICBmdW5jdGlvbiBfa2lsbEFsbCgpIHsKLSAgICB2YXIgaywKLSAgICAgICAgam9icyA9IF9fZXh0ZW5kKF9qb2JzLCBfcnVubmluZ0pvYnMsIF93YWl0aW5nSm9icyk7Ci0KLSAgICAvLyBUYWtlIGV2ZXJ5IGpvYnMgYW5kIHB1c2ggdGhlbSBpbnRvIHRoZSBfZG9uZUpvYnMgb2JqZWN0OgotICAgIGlmIChfcGFyYW1ldGVycy5oaXN0b3J5KQotICAgICAgZm9yIChrIGluIGpvYnMpIHsKLSAgICAgICAgam9ic1trXS5zdGF0dXMgPSAnZG9uZSc7Ci0gICAgICAgIF9kb25lSm9icy5wdXNoKGpvYnNba10pOwotCi0gICAgICAgIGlmICh0eXBlb2Ygam9ic1trXS5lbmQgPT09ICdmdW5jdGlvbicpCi0gICAgICAgICAgam9ic1trXS5lbmQoKTsKLSAgICAgIH0KLQotICAgIC8vIFJlaW5pdGlhbGl6ZSB0aGUgZGlmZmVyZW50IGpvYnMgbGlzdHM6Ci0gICAgX2pvYnMgPSB7fTsKLSAgICBfd2FpdGluZ0pvYnMgPSB7fTsKLSAgICBfcnVubmluZ0pvYnMgPSB7fTsKLSAgICBfc29ydGVkQnlQcmlvcml0eUpvYnMgPSBbXTsKLQotICAgIC8vIEluIGNhc2Ugc29tZSBqb2JzIGFyZSBhZGRlZCByaWdodCBhZnRlciB0aGUga2lsbDoKLSAgICBfaXNSdW5uaW5nID0gZmFsc2U7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfQotCi0gIC8qKgotICAgKiBSZXR1cm5zIHRydWUgaWYgYSBqb2Igd2l0aCB0aGUgc3BlY2lmaWVkIGlkIGlzIGN1cnJlbnRseSBydW5uaW5nIG9yCi0gICAqIHdhaXRpbmcsIGFuZCBmYWxzZSBlbHNlLgotICAgKgotICAgKiBAcGFyYW0gIHtTdHJpbmd9ICBpZCBUaGUgaWQgb2YgdGhlIGpvYi4KLSAgICogQHJldHVybiB7P09iamVjdH0gUmV0dXJucyB0aGUgam9iIG9iamVjdCBpZiBpdCBleGlzdHMuCi0gICAqLwotICBmdW5jdGlvbiBfaGFzSm9iKGlkKSB7Ci0gICAgdmFyIGpvYiA9IF9qb2JzW2lkXSB8fCBfcnVubmluZ0pvYnNbaWRdIHx8IF93YWl0aW5nSm9ic1tpZF07Ci0gICAgcmV0dXJuIGpvYiA/IF9fZXh0ZW5kKGpvYikgOiBudWxsOwotICB9Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIHdpbGwgc2V0IHRoZSBzZXR0aW5nIHNwZWNpZmllZCBieSAidjEiIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQKLSAgICogYnkgInYyIiBpZiBib3RoIGFyZSBnaXZlbiwgYW5kIGVsc2UgcmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZQotICAgKiBzZXR0aW5ncyAidjEiLgotICAgKgotICAgKiBAcGFyYW0gIHtTdHJpbmd9ICAgdjEgVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5LgotICAgKiBAcGFyYW0gIHs/Kn0gICAgICAgdjIgRXZlbnR1YWxseSwgYSB2YWx1ZSB0byBzZXQgdG8gdGhlIHNwZWNpZmllZAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkuCi0gICAqIEByZXR1cm4ge09iamVjdHwqfSBSZXR1cm5zIHRoZSBzcGVjaWZpZWQgc2V0dGluZ3MgdmFsdWUgaWYgInYyIiBpcyBub3QKLSAgICogICAgICAgICAgICAgICAgICAgIGdpdmVuLCBhbmQgY29ucmFkIGVsc2UuCi0gICAqLwotICBmdW5jdGlvbiBfc2V0dGluZ3ModjEsIHYyKSB7Ci0gICAgdmFyIG87Ci0KLSAgICBpZiAodHlwZW9mIGExID09PSAnc3RyaW5nJyAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxKQotICAgICAgcmV0dXJuIF9wYXJhbWV0ZXJzW2ExXTsKLSAgICBlbHNlIHsKLSAgICAgIG8gPSAodHlwZW9mIGExID09PSAnb2JqZWN0JyAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxKSA/Ci0gICAgICAgIGExIHx8IHt9IDoKLSAgICAgICAge307Ci0gICAgICBpZiAodHlwZW9mIGExID09PSAnc3RyaW5nJykKLSAgICAgICAgb1thMV0gPSBhMjsKLQotICAgICAgZm9yICh2YXIgayBpbiBvKQotICAgICAgICBpZiAob1trXSAhPT0gdW5kZWZpbmVkKQotICAgICAgICAgIF9wYXJhbWV0ZXJzW2tdID0gb1trXTsKLSAgICAgICAgZWxzZQotICAgICAgICAgIGRlbGV0ZSBfcGFyYW1ldGVyc1trXTsKLQotICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfQotICB9Ci0KLSAgLyoqCi0gICAqIFJldHVybnMgdHJ1ZSBpZiBjb25yYWQgaXMgY3VycmVudGx5IHJ1bm5pbmcsIGFuZCBmYWxzZSBlbHNlLgotICAgKgotICAgKiBAcmV0dXJuIHtCb29sZWFufSBSZXR1cm5zIF9pc1J1bm5pbmcuCi0gICAqLwotICBmdW5jdGlvbiBfZ2V0SXNSdW5uaW5nKCkgewotICAgIHJldHVybiBfaXNSdW5uaW5nOwotICB9Ci0KLSAgLyoqCi0gICAqIFVucmVmZXJlbmNlIGV2ZXJ5IGpvYiB0aGF0IGlzIHN0b3JlZCBpbiB0aGUgX2RvbmVKb2JzIG9iamVjdC4gSXQgd2lsbAotICAgKiBub3QgYmUgcG9zc2libGUgYW55bW9yZSB0byBnZXQgc3RhdHMgYWJvdXQgdGhlc2Ugam9icywgYnV0IGl0IHdpbGwgcmVsZWFzZQotICAgKiB0aGUgbWVtb3J5LgotICAgKgotICAgKiBAcmV0dXJuIHtPYmplY3R9IFJldHVybnMgY29ucmFkLgotICAgKi8KLSAgZnVuY3Rpb24gX2NsZWFySGlzdG9yeSgpIHsKLSAgICBfZG9uZUpvYnMgPSBbXTsKLSAgICByZXR1cm4gdGhpczsKLSAgfQotCi0gIC8qKgotICAgKiBSZXR1cm5zIGEgc25hcHNob3Qgb2YgZXZlcnkgZGF0YSBhYm91dCBqb2JzIHRoYXQgd2FpdCB0byBiZSBzdGFydGVkLCBhcmUKLSAgICogY3VycmVudGx5IHJ1bm5pbmcgb3IgYXJlIGRvbmUuCi0gICAqCi0gICAqIEl0IGlzIHBvc3NpYmxlIHRvIGdldCBvbmx5IHJ1bm5pbmcsIHdhaXRpbmcgb3IgZG9uZSBqb2JzIGJ5IGdpdmluZwotICAgKiAicnVubmluZyIsICJ3YWl0aW5nIiBvciAiZG9uZSIgYXMgZmlzdCBhcmd1bWVudC4KLSAgICoKLSAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBnZXQgZXZlcnkgam9iIHdpdGggYSBzcGVjaWZpZWQgaWQgYnkgZ2l2aW5nIGl0IGFzCi0gICAqIGZpcnN0IGFyZ3VtZW50LiBBbHNvLCB1c2luZyBhIFJlZ0V4cCBpbnN0ZWFkIG9mIGFuIGlkIHdpbGwgcmV0dXJuIGV2ZXJ5Ci0gICAqIGpvYnMgd2hvc2UgaWRzIG1hdGNoIHRoZSBSZWdFeHAuIEFuZCB0aGVzZSB0d28gbGFzdCB1c2UgY2FzZXMgd29yayBhcyB3ZWxsCi0gICAqIGJ5IGdpdmluZyBiZWZvcmUgInJ1bm5pbmciLCAid2FpdGluZyIgb3IgImRvbmUiLgotICAgKgotICAgKiBAcmV0dXJuIHtBcnJheX0gVGhlIGFycmF5IG9mIHRoZSBtYXRjaGluZyBqb2JzLgotICAgKgotICAgKiBTb21lIGNhbGwgZXhhbXBsZXM6Ci0gICAqICoqKioqKioqKioqKioqKioqKioKLSAgICogID4gY29ucmFkLmdldFN0YXRzKCdydW5uaW5nJykKLSAgICogID4gY29ucmFkLmdldFN0YXRzKCd3YWl0aW5nJykKLSAgICogID4gY29ucmFkLmdldFN0YXRzKCdkb25lJykKLSAgICogID4gY29ucmFkLmdldFN0YXRzKCdteUpvYicpCi0gICAqICA+IGNvbnJhZC5nZXRTdGF0cygvdGVzdC8pCi0gICAqICA+IGNvbnJhZC5nZXRTdGF0cygncnVubmluZycsICdteVJ1bm5pbmdKb2InKQotICAgKiAgPiBjb25yYWQuZ2V0U3RhdHMoJ3J1bm5pbmcnLCAvdGVzdC8pCi0gICAqLwotICBmdW5jdGlvbiBfZ2V0U3RhdHModjEsIHYyKSB7Ci0gICAgdmFyIGEsCi0gICAgICAgIGssCi0gICAgICAgIGksCi0gICAgICAgIGwsCi0gICAgICAgIHN0YXRzLAotICAgICAgICBwYXR0ZXJuLAotICAgICAgICBpc1BhdHRlcm5TdHJpbmc7Ci0KLSAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHsKLSAgICAgIHN0YXRzID0gW107Ci0KLSAgICAgIGZvciAoayBpbiBfam9icykKLSAgICAgICAgc3RhdHMucHVzaChfam9ic1trXSk7Ci0KLSAgICAgIGZvciAoayBpbiBfd2FpdGluZ0pvYnMpCi0gICAgICAgIHN0YXRzLnB1c2goX3dhaXRpbmdKb2JzW2tdKTsKLQotICAgICAgZm9yIChrIGluIF9ydW5uaW5nSm9icykKLSAgICAgICAgc3RhdHMucHVzaChfcnVubmluZ0pvYnNba10pOwotCi0gICAgICBzdGF0cyA9IHN0YXRzLmNvbmNhdChfZG9uZUpvYnMpOwotICAgIH0KLQotICAgIGlmICh0eXBlb2YgdjEgPT09ICdzdHJpbmcnKQotICAgICAgc3dpdGNoICh2MSkgewotICAgICAgICBjYXNlICd3YWl0aW5nJzoKLSAgICAgICAgICBzdGF0cyA9IF9fb2JqZWN0VmFsdWVzKF93YWl0aW5nSm9icyk7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ3J1bm5pbmcnOgotICAgICAgICAgIHN0YXRzID0gX19vYmplY3RWYWx1ZXMoX3J1bm5pbmdKb2JzKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnZG9uZSc6Ci0gICAgICAgICAgc3RhdHMgPSBfZG9uZUpvYnM7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgcGF0dGVybiA9IHYxOwotICAgICAgfQotCi0gICAgaWYgKHYxIGluc3RhbmNlb2YgUmVnRXhwKQotICAgICAgcGF0dGVybiA9IHYxOwotCi0gICAgaWYgKCFwYXR0ZXJuICYmICh0eXBlb2YgdjIgPT09ICdzdHJpbmcnIHx8IHYyIGluc3RhbmNlb2YgUmVnRXhwKSkKLSAgICAgIHBhdHRlcm4gPSB2MjsKLQotICAgIC8vIEZpbHRlciBqb2JzIGlmIGEgcGF0dGVybiBpcyBnaXZlbjoKLSAgICBpZiAocGF0dGVybikgewotICAgICAgaXNQYXR0ZXJuU3RyaW5nID0gdHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnOwotCi0gICAgICBpZiAoc3RhdHMgaW5zdGFuY2VvZiBBcnJheSkgewotICAgICAgICBhID0gc3RhdHM7Ci0gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzdGF0cyA9PT0gJ29iamVjdCcpIHsKLSAgICAgICAgYSA9IFtdOwotCi0gICAgICAgIGZvciAoayBpbiBzdGF0cykKLSAgICAgICAgICBhID0gYS5jb25jYXQoc3RhdHNba10pOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgYSA9IFtdOwotCi0gICAgICAgIGZvciAoayBpbiBfam9icykKLSAgICAgICAgICBhLnB1c2goX2pvYnNba10pOwotCi0gICAgICAgIGZvciAoayBpbiBfd2FpdGluZ0pvYnMpCi0gICAgICAgICAgYS5wdXNoKF93YWl0aW5nSm9ic1trXSk7Ci0KLSAgICAgICAgZm9yIChrIGluIF9ydW5uaW5nSm9icykKLSAgICAgICAgICBhLnB1c2goX3J1bm5pbmdKb2JzW2tdKTsKLQotICAgICAgICBhID0gYS5jb25jYXQoX2RvbmVKb2JzKTsKLSAgICAgIH0KLQotICAgICAgc3RhdHMgPSBbXTsKLSAgICAgIGZvciAoaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgICAgaWYgKGlzUGF0dGVyblN0cmluZyA/IGFbaV0uaWQgPT09IHBhdHRlcm4gOiBhW2ldLmlkLm1hdGNoKHBhdHRlcm4pKQotICAgICAgICAgIHN0YXRzLnB1c2goYVtpXSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIF9fY2xvbmUoc3RhdHMpOwotICB9Ci0KLQotICAvKioKLSAgICogVE9PTFMgRlVOQ1RJT05TOgotICAgKiAqKioqKioqKioqKioqKioqCi0gICAqLwotCi0gIC8qKgotICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGFueSBudW1iZXIgb2Ygb2JqZWN0cyBhcyBhcmd1bWVudHMsIGNvcGllcyBmcm9tIGVhY2gKLSAgICogb2YgdGhlc2Ugb2JqZWN0cyBlYWNoIHBhaXIga2V5L3ZhbHVlIGludG8gYSBuZXcgb2JqZWN0LCBhbmQgZmluYWxseQotICAgKiByZXR1cm5zIHRoaXMgb2JqZWN0LgotICAgKgotICAgKiBUaGUgYXJndW1lbnRzIGFyZSBwYXJzZWQgZnJvbSB0aGUgbGFzdCBvbmUgdG8gdGhlIGZpcnN0IG9uZSwgc3VjaCB0aGF0Ci0gICAqIHdoZW4gdHdvIG9iamVjdHMgaGF2ZSBrZXlzIGluIGNvbW1vbiwgdGhlICJlYXJsaWVzdCIgb2JqZWN0IHdpbnMuCi0gICAqCi0gICAqIEV4YW1wbGU6Ci0gICAqICoqKioqKioqCi0gICAqICA+IHZhciBvMSA9IHsKLSAgICogID4gICAgICAgYTogMSwKLSAgICogID4gICAgICAgYjogMiwKLSAgICogID4gICAgICAgYzogJzMnCi0gICAqICA+ICAgICB9LAotICAgKiAgPiAgICAgbzIgPSB7Ci0gICAqICA+ICAgICAgIGM6ICc0JywKLSAgICogID4gICAgICAgZDogWyA1IF0KLSAgICogID4gICAgIH07Ci0gICAqICA+IF9fZXh0ZW5kKG8xLCBvMik7Ci0gICAqICA+IC8vIFJldHVybnM6IHsKLSAgICogID4gLy8gICBhOiAxLAotICAgKiAgPiAvLyAgIGI6IDIsCi0gICAqICA+IC8vICAgYzogJzMnLAotICAgKiAgPiAvLyAgIGQ6IFsgNSBdCi0gICAqICA+IC8vIH07Ci0gICAqCi0gICAqIEBwYXJhbSAge09iamVjdCt9IEFueSBudW1iZXIgb2Ygb2JqZWN0cy4KLSAgICogQHJldHVybiB7T2JqZWN0fSAgVGhlIG1lcmdlZCBvYmplY3QuCi0gICAqLwotICBmdW5jdGlvbiBfX2V4dGVuZCgpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgaywKLSAgICAgICAgcmVzID0ge30sCi0gICAgICAgIGwgPSBhcmd1bWVudHMubGVuZ3RoOwotCi0gICAgZm9yIChpID0gbCAtIDE7IGkgPj0gMDsgaS0tKQotICAgICAgZm9yIChrIGluIGFyZ3VtZW50c1tpXSkKLSAgICAgICAgcmVzW2tdID0gYXJndW1lbnRzW2ldW2tdOwotCi0gICAgcmV0dXJuIHJlczsKLSAgfQotCi0gIC8qKgotICAgKiBUaGlzIGZ1bmN0aW9uIHNpbXBseSBjbG9uZXMgYW4gb2JqZWN0LiBUaGlzIG9iamVjdCBtdXN0IGNvbnRhaW4gb25seQotICAgKiBvYmplY3RzLCBhcnJheXMgYW5kIGltbXV0YWJsZSB2YWx1ZXMuIFNpbmNlIGl0IGlzIG5vdCBwdWJsaWMsIGl0IGRvZXMgbm90Ci0gICAqIGRlYWwgd2l0aCBjeWNsaWMgcmVmZXJlbmNlcywgRE9NIGVsZW1lbnRzIGFuZCBpbnN0YW50aWF0ZWQgb2JqZWN0cyAtIHNvCi0gICAqIHVzZSBpdCBjYXJlZnVsbHkuCi0gICAqCi0gICAqIEBwYXJhbSAge09iamVjdH0gVGhlIG9iamVjdCB0byBjbG9uZS4KLSAgICogQHJldHVybiB7T2JqZWN0fSBUaGUgY2xvbmUuCi0gICAqLwotICBmdW5jdGlvbiBfX2Nsb25lKGl0ZW0pIHsKLSAgICB2YXIgcmVzdWx0LCBpLCBrLCBsOwotCi0gICAgaWYgKCFpdGVtKQotICAgICAgcmV0dXJuIGl0ZW07Ci0KLSAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkgewotICAgICAgcmVzdWx0ID0gW107Ci0gICAgICBmb3IgKGkgPSAwLCBsID0gaXRlbS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIHJlc3VsdC5wdXNoKF9fY2xvbmUoaXRlbVtpXSkpOwotICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7Ci0gICAgICByZXN1bHQgPSB7fTsKLSAgICAgIGZvciAoaSBpbiBpdGVtKQotICAgICAgICByZXN1bHRbaV0gPSBfX2Nsb25lKGl0ZW1baV0pOwotICAgIH0gZWxzZQotICAgICAgcmVzdWx0ID0gaXRlbTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci0gIH0KLQotICAvKioKLSAgICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIHRoZSB2YWx1ZXMgb2YgYW4gb2JqZWN0LgotICAgKgotICAgKiBAcGFyYW0gIHtPYmplY3R9IFRoZSBvYmplY3QuCi0gICAqIEByZXR1cm4ge0FycmF5fSAgVGhlIGFycmF5IG9mIHZhbHVlcy4KLSAgICovCi0gIGZ1bmN0aW9uIF9fb2JqZWN0VmFsdWVzKG8pIHsKLSAgICB2YXIgaywKLSAgICAgICAgYSA9IFtdOwotCi0gICAgZm9yIChrIGluIG8pCi0gICAgICBhLnB1c2gob1trXSk7Ci0KLSAgICByZXR1cm4gYTsKLSAgfQotCi0gIC8qKgotICAgKiBBIHNob3J0ICJEYXRlLm5vdygpIiBwb2x5ZmlsbC4KLSAgICoKLSAgICogQHJldHVybiB7TnVtYmVyfSBUaGUgY3VycmVudCB0aW1lIChpbiBtcykuCi0gICAqLwotICBmdW5jdGlvbiBfX2RhdGVOb3coKSB7Ci0gICAgcmV0dXJuIERhdGUubm93ID8gRGF0ZS5ub3coKSA6IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwotICB9Ci0KLSAgLyoqCi0gICAqIFBvbHlmaWxsIGZvciB0aGUgQXJyYXkuaXNBcnJheSBmdW5jdGlvbjoKLSAgICovCi0gIGlmICghQXJyYXkuaXNBcnJheSkKLSAgICBBcnJheS5pc0FycmF5ID0gZnVuY3Rpb24odikgewotICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2KSA9PT0gJ1tvYmplY3QgQXJyYXldJzsKLSAgICB9OwotCi0KLSAgLyoqCi0gICAqIEVYUE9SVCBQVUJMSUMgQVBJOgotICAgKiAqKioqKioqKioqKioqKioqKioKLSAgICovCi0gIHZhciBjb25yYWQgPSB7Ci0gICAgaGFzSm9iOiBfaGFzSm9iLAotICAgIGFkZEpvYjogX2FkZEpvYiwKLSAgICBraWxsSm9iOiBfa2lsbEpvYiwKLSAgICBraWxsQWxsOiBfa2lsbEFsbCwKLSAgICBzZXR0aW5nczogX3NldHRpbmdzLAotICAgIGdldFN0YXRzOiBfZ2V0U3RhdHMsCi0gICAgaXNSdW5uaW5nOiBfZ2V0SXNSdW5uaW5nLAotICAgIGNsZWFySGlzdG9yeTogX2NsZWFySGlzdG9yeSwKLQotICAgIC8vIEV2ZW50cyBtYW5hZ2VtZW50OgotICAgIGJpbmQ6IF9iaW5kLAotICAgIHVuYmluZDogX3VuYmluZCwKLQotICAgIC8vIFZlcnNpb246Ci0gICAgdmVyc2lvbjogJzAuMS4wJwotICB9OwotCi0gIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpCi0gICAgICBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBjb25yYWQ7Ci0gICAgZXhwb3J0cy5jb25yYWQgPSBjb25yYWQ7Ci0gIH0KLSAgZ2xvYmFsLmNvbnJhZCA9IGNvbnJhZDsKLX0pKHRoaXMpOwotCi0vLyBIYXJkY29kZWQgZXhwb3J0IGZvciB0aGUgbm9kZS5qcyB2ZXJzaW9uOgotdmFyIHNpZ21hID0gdGhpcy5zaWdtYSwKLSAgICBjb25yYWQgPSB0aGlzLmNvbnJhZDsKLQotc2lnbWEuY29ucmFkID0gY29ucmFkOwotCi0vLyBEaXJ0eSBwb2x5ZmlsbHMgdG8gcGVybWl0IHNpZ21hIHVzYWdlIGluIG5vZGUKLWlmIChIVE1MRWxlbWVudCA9PT0gdW5kZWZpbmVkKQotICB2YXIgSFRNTEVsZW1lbnQgPSBmdW5jdGlvbigpIHt9OwotCi1pZiAod2luZG93ID09PSB1bmRlZmluZWQpCi0gIHZhciB3aW5kb3cgPSB7Ci0gICAgYWRkRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24oKSB7fQotICB9OwotCi1pZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7Ci0gIGlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cykKLSAgICBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBzaWdtYTsKLSAgZXhwb3J0cy5zaWdtYSA9IHNpZ21hOwotfQotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgdmFyIF9yb290ID0gdGhpczsKLQotICAvLyBJbml0aWFsaXplIHBhY2thZ2VzOgotICBzaWdtYS51dGlscyA9IHNpZ21hLnV0aWxzIHx8IHt9OwotCi0gIC8qKgotICAgKiBNSVNDIFVUSUxTOgotICAgKi8KLSAgLyoqCi0gICAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgYW55IG51bWJlciBvZiBvYmplY3RzIGFzIGFyZ3VtZW50cywgY29waWVzIGZyb20gZWFjaAotICAgKiBvZiB0aGVzZSBvYmplY3RzIGVhY2ggcGFpciBrZXkvdmFsdWUgaW50byBhIG5ldyBvYmplY3QsIGFuZCBmaW5hbGx5Ci0gICAqIHJldHVybnMgdGhpcyBvYmplY3QuCi0gICAqCi0gICAqIFRoZSBhcmd1bWVudHMgYXJlIHBhcnNlZCBmcm9tIHRoZSBsYXN0IG9uZSB0byB0aGUgZmlyc3Qgb25lLCBzdWNoIHRoYXQKLSAgICogd2hlbiBzZXZlcmFsIG9iamVjdHMgaGF2ZSBrZXlzIGluIGNvbW1vbiwgdGhlICJlYXJsaWVzdCIgb2JqZWN0IHdpbnMuCi0gICAqCi0gICAqIEV4YW1wbGU6Ci0gICAqICoqKioqKioqCi0gICAqICA+IHZhciBvMSA9IHsKLSAgICogID4gICAgICAgYTogMSwKLSAgICogID4gICAgICAgYjogMiwKLSAgICogID4gICAgICAgYzogJzMnCi0gICAqICA+ICAgICB9LAotICAgKiAgPiAgICAgbzIgPSB7Ci0gICAqICA+ICAgICAgIGM6ICc0JywKLSAgICogID4gICAgICAgZDogWyA1IF0KLSAgICogID4gICAgIH07Ci0gICAqICA+IHNpZ21hLnV0aWxzLmV4dGVuZChvMSwgbzIpOwotICAgKiAgPiAvLyBSZXR1cm5zOiB7Ci0gICAqICA+IC8vICAgYTogMSwKLSAgICogID4gLy8gICBiOiAyLAotICAgKiAgPiAvLyAgIGM6ICczJywKLSAgICogID4gLy8gICBkOiBbIDUgXQotICAgKiAgPiAvLyB9OwotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3QrfSBBbnkgbnVtYmVyIG9mIG9iamVjdHMuCi0gICAqIEByZXR1cm4ge29iamVjdH0gIFRoZSBtZXJnZWQgb2JqZWN0LgotICAgKi8KLSAgc2lnbWEudXRpbHMuZXh0ZW5kID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGksCi0gICAgICAgIGssCi0gICAgICAgIHJlcyA9IHt9LAotICAgICAgICBsID0gYXJndW1lbnRzLmxlbmd0aDsKLQotICAgIGZvciAoaSA9IGwgLSAxOyBpID49IDA7IGktLSkKLSAgICAgIGZvciAoayBpbiBhcmd1bWVudHNbaV0pCi0gICAgICAgIHJlc1trXSA9IGFyZ3VtZW50c1tpXVtrXTsKLQotICAgIHJldHVybiByZXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIEEgc2hvcnQgIkRhdGUubm93KCkiIHBvbHlmaWxsLgotICAgKgotICAgKiBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBjdXJyZW50IHRpbWUgKGluIG1zKS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmRhdGVOb3cgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gRGF0ZS5ub3cgPyBEYXRlLm5vdygpIDogbmV3IERhdGUoKS5nZXRUaW1lKCk7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRha2VzIGEgcGFja2FnZSBuYW1lIGFzIHBhcmFtZXRlciBhbmQgY2hlY2tzIGF0IGVhY2ggbGViZWwgaWYgaXQgZXhpc3RzLAotICAgKiBhbmQgaWYgaXQgZG9lcyBub3QsIGNyZWF0ZXMgaXQuCi0gICAqCi0gICAqIEV4YW1wbGU6Ci0gICAqICoqKioqKioqCi0gICAqICA+IHNpZ21hLnV0aWxzLnBrZygnYS5iLmMnKTsKLSAgICogID4gYS5iLmM7Ci0gICAqICA+IC8vIE9iamVjdCB7fTsKLSAgICogID4KLSAgICogID4gc2lnbWEudXRpbHMucGtnKCdhLmIuZCcpOwotICAgKiAgPiBhLmI7Ci0gICAqICA+IC8vIE9iamVjdCB7IGM6IHt9LCBkOiB7fSB9OwotICAgKgotICAgKiBAcGFyYW0gIHtzdHJpbmd9IHBrZ05hbWUgVGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdG8gY3JlYXRlL2ZpbmQuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgICAgICBUaGUgcmVsYXRlZCBwYWNrYWdlLgotICAgKi8KLSAgc2lnbWEudXRpbHMucGtnID0gZnVuY3Rpb24ocGtnTmFtZSkgewotICAgIHJldHVybiAocGtnTmFtZSB8fCAnJykuc3BsaXQoJy4nKS5yZWR1Y2UoZnVuY3Rpb24oY29udGV4dCwgb2JqTmFtZSkgewotICAgICAgcmV0dXJuIChvYmpOYW1lIGluIGNvbnRleHQpID8KLSAgICAgICAgY29udGV4dFtvYmpOYW1lXSA6Ci0gICAgICAgIChjb250ZXh0W29iak5hbWVdID0ge30pOwotICAgIH0sIF9yb290KTsKLSAgfTsKLQotICAvKioKLSAgICogUmV0dXJucyBhIHVuaXF1ZSBpbmNyZW1lbnRhbCBudW1iZXIgSUQuCi0gICAqCi0gICAqIEV4YW1wbGU6Ci0gICAqICoqKioqKioqCi0gICAqICA+IHNpZ21hLnV0aWxzLmlkKCk7Ci0gICAqICA+IC8vIDE7Ci0gICAqICA+Ci0gICAqICA+IHNpZ21hLnV0aWxzLmlkKCk7Ci0gICAqICA+IC8vIDI7Ci0gICAqICA+Ci0gICAqICA+IHNpZ21hLnV0aWxzLmlkKCk7Ci0gICAqICA+IC8vIDM7Ci0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gcGtnTmFtZSBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSB0byBjcmVhdGUvZmluZC4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgIFRoZSByZWxhdGVkIHBhY2thZ2UuCi0gICAqLwotICBzaWdtYS51dGlscy5pZCA9IChmdW5jdGlvbigpIHsKLSAgICB2YXIgaSA9IDA7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAgICAgcmV0dXJuICsraTsKLSAgICB9OwotICB9KSgpOwotCi0gIC8qKgotICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGFuIGhleGEgY29sb3IgKGZvciBpbnN0YW5jZSAiI2ZmY2MwMCIgb3IgIiNmYzAiKSBvciBhCi0gICAqIHJnYiAvIHJnYmEgY29sb3IgKGxpa2UgInJnYigyNTUsMjU1LDEyKSIgb3IgInJnYmEoMjU1LDI1NSwxMiwxKSIpIGFuZAotICAgKiByZXR1cm5zIGFuIGludGVnZXIgZXF1YWwgdG8gInIgKiAyNTUgKiAyNTUgKyBnICogMjU1ICsgYiIsIHRvIGdhaW4gc29tZQotICAgKiBtZW1vcnkgaW4gdGhlIGRhdGEgZ2l2ZW4gdG8gV2ViR0wgc2hhZGVycy4KLSAgICoKLSAgICogTm90ZSB0aGF0IHRoZSBmdW5jdGlvbiBhY3R1YWxseSBjYWNoZXMgaXRzIHJlc3VsdHMgZm9yIGJldHRlciBwZXJmb3JtYW5jZS4KLSAgICoKLSAgICogQHBhcmFtICB7c3RyaW5nfSB2YWwgVGhlIGhleGEgb3IgcmdiYSBjb2xvci4KLSAgICogQHJldHVybiB7bnVtYmVyfSAgICAgVGhlIG51bWJlciB2YWx1ZS4KLSAgICovCi0gIHZhciBmbG9hdENvbG9yQ2FjaGUgPSB7fTsKLQotICBzaWdtYS51dGlscy5mbG9hdENvbG9yID0gZnVuY3Rpb24odmFsKSB7Ci0KLSAgICAvLyBJcyB0aGUgY29sb3IgYWxyZWFkeSBjb21wdXRlZD8KLSAgICBpZiAoZmxvYXRDb2xvckNhY2hlW3ZhbF0pCi0gICAgICByZXR1cm4gZmxvYXRDb2xvckNhY2hlW3ZhbF07Ci0KLSAgICB2YXIgb3JpZ2luYWwgPSB2YWwsCi0gICAgICAgIHIgPSAwLAotICAgICAgICBnID0gMCwKLSAgICAgICAgYiA9IDA7Ci0KLSAgICBpZiAodmFsWzBdID09PSAnIycpIHsKLSAgICAgIHZhbCA9IHZhbC5zbGljZSgxKTsKLQotICAgICAgaWYgKHZhbC5sZW5ndGggPT09IDMpIHsKLSAgICAgICAgciA9IHBhcnNlSW50KHZhbC5jaGFyQXQoMCkgKyB2YWwuY2hhckF0KDApLCAxNik7Ci0gICAgICAgIGcgPSBwYXJzZUludCh2YWwuY2hhckF0KDEpICsgdmFsLmNoYXJBdCgxKSwgMTYpOwotICAgICAgICBiID0gcGFyc2VJbnQodmFsLmNoYXJBdCgyKSArIHZhbC5jaGFyQXQoMiksIDE2KTsKLSAgICAgIH0KLSAgICAgIGVsc2UgewotICAgICAgICByID0gcGFyc2VJbnQodmFsLmNoYXJBdCgwKSArIHZhbC5jaGFyQXQoMSksIDE2KTsKLSAgICAgICAgZyA9IHBhcnNlSW50KHZhbC5jaGFyQXQoMikgKyB2YWwuY2hhckF0KDMpLCAxNik7Ci0gICAgICAgIGIgPSBwYXJzZUludCh2YWwuY2hhckF0KDQpICsgdmFsLmNoYXJBdCg1KSwgMTYpOwotICAgICAgfQotICAgIH0gZWxzZSBpZiAodmFsLm1hdGNoKC9eICpyZ2JhPyAqXCgvKSkgewotICAgICAgdmFsID0gdmFsLm1hdGNoKAotICAgICAgICAvXiAqcmdiYT8gKlwoICooWzAtOV0qKSAqLCAqKFswLTldKikgKiwgKihbMC05XSopICooLC4qKT9cKSAqJC8KLSAgICAgICk7Ci0gICAgICByID0gK3ZhbFsxXTsKLSAgICAgIGcgPSArdmFsWzJdOwotICAgICAgYiA9ICt2YWxbM107Ci0gICAgfQotCi0gICAgdmFyIGNvbG9yID0gKAotICAgICAgciAqIDI1NiAqIDI1NiArCi0gICAgICBnICogMjU2ICsKLSAgICAgIGIKLSAgICApOwotCi0gICAgLy8gQ2FjaGluZyB0aGUgY29sb3IKLSAgICBmbG9hdENvbG9yQ2FjaGVbb3JpZ2luYWxdID0gY29sb3I7Ci0KLSAgICByZXR1cm4gY29sb3I7Ci0gIH07Ci0KLSAgICAvKioKLSAgICogUGVyZm9ybSBhIHpvb20gaW50byBhIGNhbWVyYSwgd2l0aCBvciB3aXRob3V0IGFuaW1hdGlvbiwgdG8gdGhlCi0gICAqIGNvb3JkaW5hdGVzIGluZGljYXRlZCB1c2luZyBhIHNwZWNpZmllZCByYXRpby4KLSAgICoKLSAgICogUmVjb2duaXplZCBwYXJhbWV0ZXJzOgotICAgKiAqKioqKioqKioqKioqKioqKioqKioqCi0gICAqIEhlcmUgaXMgdGhlIGV4aGF1c3RpdmUgbGlzdCBvZiBldmVyeSBhY2NlcHRlZCBwYXJhbWV0ZXJzIGluIHRoZSBhbmltYXRpb24KLSAgICogb2JqZWN0OgotICAgKgotICAgKiAgIHs/bnVtYmVyfSBkdXJhdGlvbiAgICAgQW4gYW1vdW50IG9mIHRpbWUgdGhhdCBtZWFucyB0aGUgZHVyYXRpb24gb2YgdGhlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24uIElmIHRoaXMgcGFyYW1ldGVyIGRvZXNuJ3QgZXhpc3QgdGhlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tIHdpbGwgYmUgcGVyZm9ybWVkIHdpdGhvdXQgYW5pbWF0aW9uLgotICAgKiAgIHs/ZnVuY3Rpb259IG9uQ29tcGxldGUgQSBmdW5jdGlvbiB0byBwZXJmb3JtIGl0IGFmdGVyIHRoZSBhbmltYXRpb24uIEl0Ci0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGJlIHBlcmZvcm1lZCBldmVuIGlmIHRoZXJlIGlzIG5vIGR1cmF0aW9uLgotICAgKgotICAgKiBAcGFyYW0ge2NhbWVyYX0gICAgIFRoZSBjYW1lcmEgd2hlcmUgcGVyZm9ybSB0aGUgem9vbS4KLSAgICogQHBhcmFtIHt4fSAgICAgICAgICBUaGUgWCBjb29yZGlhbnRpb24gd2hlcmUgdGhlIHpvb20gZ29lcy4KLSAgICogQHBhcmFtIHt5fSAgICAgICAgICBUaGUgWSBjb29yZGlhbnRpb24gd2hlcmUgdGhlIHpvb20gZ29lcy4KLSAgICogQHBhcmFtIHtyYXRpb30gICAgICBUaGUgcmF0aW8gdG8gYXBwbHkgaXQgdG8gdGhlIGN1cnJlbnQgY2FtZXJhIHJhdGlvLgotICAgKiBAcGFyYW0gez9hbmltYXRpb259IEEgZGljdGlvbmFyeSB3aXRoIG9wdGlvbnMgZm9yIGEgcG9zc2libGUgYW5pbWF0aW9uLgotICAgKi8KLSAgc2lnbWEudXRpbHMuem9vbVRvID0gZnVuY3Rpb24oY2FtZXJhLCB4LCB5LCByYXRpbywgYW5pbWF0aW9uKSB7Ci0gICAgdmFyIHNldHRpbmdzID0gY2FtZXJhLnNldHRpbmdzLAotICAgICAgICBjb3VudCwKLSAgICAgICAgbmV3UmF0aW8sCi0gICAgICAgIGFuaW1hdGlvblNldHRpbmdzLAotICAgICAgICBjb29yZGluYXRlczsKLQotICAgIC8vIENyZWF0ZSB0aGUgbmV3UmF0aW8gZGVhbGluZyB3aXRoIG1pbiAvIG1heDoKLSAgICBuZXdSYXRpbyA9IE1hdGgubWF4KAotICAgICAgc2V0dGluZ3MoJ3pvb21NaW4nKSwKLSAgICAgIE1hdGgubWluKAotICAgICAgICBzZXR0aW5ncygnem9vbU1heCcpLAotICAgICAgICBjYW1lcmEucmF0aW8gKiByYXRpbwotICAgICAgKQotICAgICk7Ci0KLSAgICAvLyBDaGVjayB0aGF0IHRoZSBuZXcgcmF0aW8gaXMgZGlmZmVyZW50IGZyb20gdGhlIGluaXRpYWwgb25lOgotICAgIGlmIChuZXdSYXRpbyAhPT0gY2FtZXJhLnJhdGlvKSB7Ci0gICAgICAvLyBDcmVhdGUgdGhlIGNvb3JkaW5hdGVzIHZhcmlhYmxlOgotICAgICAgcmF0aW8gPSBuZXdSYXRpbyAvIGNhbWVyYS5yYXRpbzsKLSAgICAgIGNvb3JkaW5hdGVzID0gewotICAgICAgICB4OiB4ICogKDEgLSByYXRpbykgKyBjYW1lcmEueCwKLSAgICAgICAgeTogeSAqICgxIC0gcmF0aW8pICsgY2FtZXJhLnksCi0gICAgICAgIHJhdGlvOiBuZXdSYXRpbwotICAgICAgfTsKLQotICAgICAgaWYgKGFuaW1hdGlvbiAmJiBhbmltYXRpb24uZHVyYXRpb24pIHsKLSAgICAgICAgLy8gQ29tcGxldGUgdGhlIGFuaW1hdGlvbiBzZXRpbmdzOgotICAgICAgICBjb3VudCA9IHNpZ21hLm1pc2MuYW5pbWF0aW9uLmtpbGxBbGwoY2FtZXJhKTsKLSAgICAgICAgYW5pbWF0aW9uID0gc2lnbWEudXRpbHMuZXh0ZW5kKAotICAgICAgICAgIGFuaW1hdGlvbiwKLSAgICAgICAgICB7Ci0gICAgICAgICAgICBlYXNpbmc6IGNvdW50ID8gJ3F1YWRyYXRpY091dCcgOiAncXVhZHJhdGljSW5PdXQnCi0gICAgICAgICAgfQotICAgICAgICApOwotCi0gICAgICAgIHNpZ21hLm1pc2MuYW5pbWF0aW9uLmNhbWVyYShjYW1lcmEsIGNvb3JkaW5hdGVzLCBhbmltYXRpb24pOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgY2FtZXJhLmdvVG8oY29vcmRpbmF0ZXMpOwotICAgICAgICBpZiAoYW5pbWF0aW9uICYmIGFuaW1hdGlvbi5vbkNvbXBsZXRlKQotICAgICAgICAgIGFuaW1hdGlvbi5vbkNvbXBsZXRlKCk7Ci0gICAgICB9Ci0gICAgfQotICB9OwotCi0gIC8qKgotICAgKiBSZXR1cm4gdGhlIGNvbnRyb2wgcG9pbnQgY29vcmRpbmF0ZXMgZm9yIGEgcXVhZHJhdGljIGJlemllciBjdXJ2ZS4KLSAgICoKLSAgICogQHBhcmFtICB7bnVtYmVyfSB4MSAgVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgc3RhcnQgcG9pbnQuCi0gICAqIEBwYXJhbSAge251bWJlcn0geTEgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIHN0YXJ0IHBvaW50LgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHgyICBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBlbmQgcG9pbnQuCi0gICAqIEBwYXJhbSAge251bWJlcn0geTIgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIGVuZCBwb2ludC4KLSAgICogQHJldHVybiB7eCx5fSAgICAgICAgVGhlIGNvbnRyb2wgcG9pbnQgY29vcmRpbmF0ZXMuCi0gICAqLwotICBzaWdtYS51dGlscy5nZXRRdWFkcmF0aWNDb250cm9sUG9pbnQgPSBmdW5jdGlvbih4MSwgeTEsIHgyLCB5MikgewotICAgIHJldHVybiB7Ci0gICAgICB4OiAoeDEgKyB4MikgLyAyICsgKHkyIC0geTEpIC8gNCwKLSAgICAgIHk6ICh5MSArIHkyKSAvIDIgKyAoeDEgLSB4MikgLyA0Ci0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICAqIENvbXB1dGUgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBwb2ludCBwb3NpdGlvbmVkCi0gICAgKiBhdCBsZW5ndGggdCBpbiB0aGUgcXVhZHJhdGljIGJlemllciBjdXJ2ZS4KLSAgICAqCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IHQgIEluIFswLDFdIHRoZSBzdGVwIHBlcmNlbnRhZ2UgdG8gcmVhY2gKLSAgICAqICAgICAgICAgICAgICAgICAgICAgdGhlIHBvaW50IGluIHRoZSBjdXJ2ZSBmcm9tIHRoZSBjb250ZXh0IHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4MSBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBjb250ZXh0IHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSB5MSBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBjb250ZXh0IHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4MiBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBlbmRpbmcgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IHkyIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIGVuZGluZyBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geGkgVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgY29udHJvbCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geWkgVGhlIFkgY29vcmRpbmF0ZSBvZiB0aGUgY29udHJvbCBwb2ludC4KLSAgICAqIEByZXR1cm4ge29iamVjdH0gICAge3gseX0uCi0gICovCi0gIHNpZ21hLnV0aWxzLmdldFBvaW50T25RdWFkcmF0aWNDdXJ2ZSA9IGZ1bmN0aW9uKHQsIHgxLCB5MSwgeDIsIHkyLCB4aSwgeWkpIHsKLSAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NjM0NTI4Ci0gICAgcmV0dXJuIHsKLSAgICAgIHg6IE1hdGgucG93KDEgLSB0LCAyKSAqIHgxICsgMiAqICgxIC0gdCkgKiB0ICogeGkgKyBNYXRoLnBvdyh0LCAyKSAqIHgyLAotICAgICAgeTogTWF0aC5wb3coMSAtIHQsIDIpICogeTEgKyAyICogKDEgLSB0KSAqIHQgKiB5aSArIE1hdGgucG93KHQsIDIpICogeTIKLSAgICB9OwotICB9OwotCi0gIC8qKgotICAgICogQ29tcHV0ZSB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIHBvaW50IHBvc2l0aW9uZWQKLSAgICAqIGF0IGxlbmd0aCB0IGluIHRoZSBjdWJpYyBiZXppZXIgY3VydmUuCi0gICAgKgotICAgICogQHBhcmFtICB7bnVtYmVyfSB0ICBJbiBbMCwxXSB0aGUgc3RlcCBwZXJjZW50YWdlIHRvIHJlYWNoCi0gICAgKiAgICAgICAgICAgICAgICAgICAgIHRoZSBwb2ludCBpbiB0aGUgY3VydmUgZnJvbSB0aGUgY29udGV4dCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geDEgVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgY29udGV4dCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geTEgVGhlIFkgY29vcmRpbmF0ZSBvZiB0aGUgY29udGV4dCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geDIgVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgZW5kIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSB5MiBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBlbmQgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IGN4IFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IGN5IFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIGZpcnN0IGNvbnRyb2wgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IGR4IFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIHNlY29uZCBjb250cm9sIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBkeSBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBzZWNvbmQgY29udHJvbCBwb2ludC4KLSAgICAqIEByZXR1cm4ge29iamVjdH0gICAge3gseX0gVGhlIHBvaW50IGF0IHQuCi0gICovCi0gIHNpZ21hLnV0aWxzLmdldFBvaW50T25CZXppZXJDdXJ2ZSA9Ci0gICAgZnVuY3Rpb24odCwgeDEsIHkxLCB4MiwgeTIsIGN4LCBjeSwgZHgsIGR5KSB7Ci0gICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTUzOTc1OTYKLSAgICAvLyBCbGVuZGluZyBmdW5jdGlvbnM6Ci0gICAgdmFyIEIwX3QgPSBNYXRoLnBvdygxIC0gdCwgMyksCi0gICAgICAgIEIxX3QgPSAzICogdCAqIE1hdGgucG93KDEgLSB0LCAyKSwKLSAgICAgICAgQjJfdCA9IDMgKiBNYXRoLnBvdyh0LCAyKSAqICgxIC0gdCksCi0gICAgICAgIEIzX3QgPSBNYXRoLnBvdyh0LCAzKTsKLQotICAgIHJldHVybiB7Ci0gICAgICB4OiAoQjBfdCAqIHgxKSArIChCMV90ICogY3gpICsgKEIyX3QgKiBkeCkgKyAoQjNfdCAqIHgyKSwKLSAgICAgIHk6IChCMF90ICogeTEpICsgKEIxX3QgKiBjeSkgKyAoQjJfdCAqIGR5KSArIChCM190ICogeTIpCi0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICogUmV0dXJuIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgdHdvIGNvbnRyb2wgcG9pbnRzIGZvciBhIHNlbGYgbG9vcCAoaS5lLgotICAgKiB3aGVyZSB0aGUgc3RhcnQgcG9pbnQgaXMgYWxzbyB0aGUgZW5kIHBvaW50KSBjb21wdXRlZCBhcyBhIGN1YmljIGJlemllcgotICAgKiBjdXJ2ZS4KLSAgICoKLSAgICogQHBhcmFtICB7bnVtYmVyfSB4ICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIG5vZGUuCi0gICAqIEBwYXJhbSAge251bWJlcn0geSAgICBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBub2RlLgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHNpemUgVGhlIG5vZGUgc2l6ZS4KLSAgICogQHJldHVybiB7eDEseTEseDIseTJ9IFRoZSBjb29yZGluYXRlcyBvZiB0aGUgdHdvIGNvbnRyb2wgcG9pbnRzLgotICAgKi8KLSAgc2lnbWEudXRpbHMuZ2V0U2VsZkxvb3BDb250cm9sUG9pbnRzID0gZnVuY3Rpb24oeCAsIHksIHNpemUpIHsKLSAgICByZXR1cm4gewotICAgICAgeDE6IHggLSBzaXplICogNywKLSAgICAgIHkxOiB5LAotICAgICAgeDI6IHgsCi0gICAgICB5MjogeSArIHNpemUgKiA3Ci0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICogUmV0dXJuIHRoZSBldWNsaWRpYW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gcG9pbnRzIG9mIGEgcGxhbmUKLSAgICogd2l0aCBhbiBvcnRob25vcm1hbCBiYXNpcy4KLSAgICoKLSAgICogQHBhcmFtICB7bnVtYmVyfSB4MSAgVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgZmlyc3QgcG9pbnQuCi0gICAqIEBwYXJhbSAge251bWJlcn0geTEgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIGZpcnN0IHBvaW50LgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHgyICBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBzZWNvbmQgcG9pbnQuCi0gICAqIEBwYXJhbSAge251bWJlcn0geTIgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIHNlY29uZCBwb2ludC4KLSAgICogQHJldHVybiB7bnVtYmVyfSAgICAgVGhlIGV1Y2xpZGlhbiBkaXN0YW5jZS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmdldERpc3RhbmNlID0gZnVuY3Rpb24oeDAsIHkwLCB4MSwgeTEpIHsKLSAgICByZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHgxIC0geDAsIDIpICsgTWF0aC5wb3coeTEgLSB5MCwgMikpOwotICB9OwotCi0gIC8qKgotICAgKiBSZXR1cm4gdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBpbnRlcnNlY3Rpb24gcG9pbnRzIG9mIHR3byBjaXJjbGVzLgotICAgKgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHgwICBUaGUgWCBjb29yZGluYXRlIG9mIGNlbnRlciBsb2NhdGlvbiBvZiB0aGUgZmlyc3QKLSAgICogICAgICAgICAgICAgICAgICAgICAgY2lyY2xlLgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHkwICBUaGUgWSBjb29yZGluYXRlIG9mIGNlbnRlciBsb2NhdGlvbiBvZiB0aGUgZmlyc3QKLSAgICogICAgICAgICAgICAgICAgICAgICAgY2lyY2xlLgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHIwICBUaGUgcmFkaXVzIG9mIHRoZSBmaXJzdCBjaXJjbGUuCi0gICAqIEBwYXJhbSAge251bWJlcn0geDEgIFRoZSBYIGNvb3JkaW5hdGUgb2YgY2VudGVyIGxvY2F0aW9uIG9mIHRoZSBzZWNvbmQKLSAgICogICAgICAgICAgICAgICAgICAgICAgY2lyY2xlLgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHkxICBUaGUgWSBjb29yZGluYXRlIG9mIGNlbnRlciBsb2NhdGlvbiBvZiB0aGUgc2Vjb25kCi0gICAqICAgICAgICAgICAgICAgICAgICAgIGNpcmNsZS4KLSAgICogQHBhcmFtICB7bnVtYmVyfSByMSAgVGhlIHJhZGl1cyBvZiB0aGUgc2Vjb25kIGNpcmNsZS4KLSAgICogQHJldHVybiB7eGkseWl9ICAgICAgVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBpbnRlcnNlY3Rpb24gcG9pbnRzLgotICAgKi8KLSAgc2lnbWEudXRpbHMuZ2V0Q2lyY2xlSW50ZXJzZWN0aW9uID0gZnVuY3Rpb24oeDAsIHkwLCByMCwgeDEsIHkxLCByMSkgewotICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEyMjE5ODAyCi0gICAgdmFyIGEsIGR4LCBkeSwgZCwgaCwgcngsIHJ5LCB4MiwgeTI7Ci0KLSAgICAvLyBkeCBhbmQgZHkgYXJlIHRoZSB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBkaXN0YW5jZXMgYmV0d2VlbiB0aGUgY2lyY2xlCi0gICAgLy8gY2VudGVyczoKLSAgICBkeCA9IHgxIC0geDA7Ci0gICAgZHkgPSB5MSAtIHkwOwotCi0gICAgLy8gRGV0ZXJtaW5lIHRoZSBzdHJhaWdodC1saW5lIGRpc3RhbmNlIGJldHdlZW4gdGhlIGNlbnRlcnM6Ci0gICAgZCA9IE1hdGguc3FydCgoZHkgKiBkeSkgKyAoZHggKiBkeCkpOwotCi0gICAgLy8gQ2hlY2sgZm9yIHNvbHZhYmlsaXR5OgotICAgIGlmIChkID4gKHIwICsgcjEpKSB7Ci0gICAgICAgIC8vIE5vIHNvbHV0aW9uLiBjaXJjbGVzIGRvIG5vdCBpbnRlcnNlY3QuCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgaWYgKGQgPCBNYXRoLmFicyhyMCAtIHIxKSkgewotICAgICAgICAvLyBObyBzb2x1dGlvbi4gb25lIGNpcmNsZSBpcyBjb250YWluZWQgaW4gdGhlIG90aGVyLgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgLy8ncG9pbnQgMicgaXMgdGhlIHBvaW50IHdoZXJlIHRoZSBsaW5lIHRocm91Z2ggdGhlIGNpcmNsZSBpbnRlcnNlY3Rpb24KLSAgICAvLyBwb2ludHMgY3Jvc3NlcyB0aGUgbGluZSBiZXR3ZWVuIHRoZSBjaXJjbGUgY2VudGVycy4KLQotICAgIC8vIERldGVybWluZSB0aGUgZGlzdGFuY2UgZnJvbSBwb2ludCAwIHRvIHBvaW50IDI6Ci0gICAgYSA9ICgocjAgKiByMCkgLSAocjEgKiByMSkgKyAoZCAqIGQpKSAvICgyLjAgKiBkKTsKLQotICAgIC8vIERldGVybWluZSB0aGUgY29vcmRpbmF0ZXMgb2YgcG9pbnQgMjoKLSAgICB4MiA9IHgwICsgKGR4ICogYSAvIGQpOwotICAgIHkyID0geTAgKyAoZHkgKiBhIC8gZCk7Ci0KLSAgICAvLyBEZXRlcm1pbmUgdGhlIGRpc3RhbmNlIGZyb20gcG9pbnQgMiB0byBlaXRoZXIgb2YgdGhlIGludGVyc2VjdGlvbgotICAgIC8vIHBvaW50czoKLSAgICBoID0gTWF0aC5zcXJ0KChyMCAqIHIwKSAtIChhICogYSkpOwotCi0gICAgLy8gRGV0ZXJtaW5lIHRoZSBvZmZzZXRzIG9mIHRoZSBpbnRlcnNlY3Rpb24gcG9pbnRzIGZyb20gcG9pbnQgMjoKLSAgICByeCA9IC1keSAqIChoIC8gZCk7Ci0gICAgcnkgPSBkeCAqIChoIC8gZCk7Ci0KLSAgICAvLyBEZXRlcm1pbmUgdGhlIGFic29sdXRlIGludGVyc2VjdGlvbiBwb2ludHM6Ci0gICAgdmFyIHhpID0geDIgKyByeDsKLSAgICB2YXIgeGlfcHJpbWUgPSB4MiAtIHJ4OwotICAgIHZhciB5aSA9IHkyICsgcnk7Ci0gICAgdmFyIHlpX3ByaW1lID0geTIgLSByeTsKLQotICAgIHJldHVybiB7eGk6IHhpLCB4aV9wcmltZTogeGlfcHJpbWUsIHlpOiB5aSwgeWlfcHJpbWU6IHlpX3ByaW1lfTsKLSAgfTsKLQotICAvKioKLSAgICAqIENoZWNrIGlmIGEgcG9pbnQgaXMgb24gYSBsaW5lIHNlZ21lbnQuCi0gICAgKgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4ICAgICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHRvIGNoZWNrLgotICAgICogQHBhcmFtICB7bnVtYmVyfSB5ICAgICAgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHRvIGNoZWNrLgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4MSAgICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIGxpbmUgc3RhcnQgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IHkxICAgICAgVGhlIFkgY29vcmRpbmF0ZSBvZiB0aGUgbGluZSBzdGFydCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geDIgICAgICBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBsaW5lIGVuZCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geTIgICAgICBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBsaW5lIGVuZCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0gZXBzaWxvbiBUaGUgcHJlY2lzaW9uIChjb25zaWRlciB0aGUgbGluZSB0aGlja25lc3MpLgotICAgICogQHJldHVybiB7Ym9vbGVhbn0gICAgICAgIFRydWUgaWYgcG9pbnQgaXMgImNsb3NlIHRvIiB0aGUgbGluZQotICAgICogICAgICAgICAgICAgICAgICAgICAgICAgIHNlZ21lbnQsIGZhbHNlIG90aGVyd2lzZS4KLSAgKi8KLSAgc2lnbWEudXRpbHMuaXNQb2ludE9uU2VnbWVudCA9IGZ1bmN0aW9uKHgsIHksIHgxLCB5MSwgeDIsIHkyLCBlcHNpbG9uKSB7Ci0gICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzI4MTIyCi0gICAgdmFyIGNyb3NzUHJvZHVjdCA9IE1hdGguYWJzKCh5IC0geTEpICogKHgyIC0geDEpIC0gKHggLSB4MSkgKiAoeTIgLSB5MSkpLAotICAgICAgICBkID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeDEsIHkxLCB4MiwgeTIpLAotICAgICAgICBuQ3Jvc3NQcm9kdWN0ID0gY3Jvc3NQcm9kdWN0IC8gZDsgLy8gbm9ybWFsaXplZCBjcm9zcyBwcm9kdWN0Ci0KLSAgICByZXR1cm4gKG5Dcm9zc1Byb2R1Y3QgPCBlcHNpbG9uICYmCi0gICAgIE1hdGgubWluKHgxLCB4MikgPD0geCAmJiB4IDw9IE1hdGgubWF4KHgxLCB4MikgJiYKLSAgICAgTWF0aC5taW4oeTEsIHkyKSA8PSB5ICYmIHkgPD0gTWF0aC5tYXgoeTEsIHkyKSk7Ci0gIH07Ci0KLSAgLyoqCi0gICAgKiBDaGVjayBpZiBhIHBvaW50IGlzIG9uIGEgcXVhZHJhdGljIGJlemllciBjdXJ2ZSBzZWdtZW50IHdpdGggYSB0aGlja25lc3MuCi0gICAgKgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4ICAgICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHRvIGNoZWNrLgotICAgICogQHBhcmFtICB7bnVtYmVyfSB5ICAgICAgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHRvIGNoZWNrLgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4MSAgICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIGN1cnZlIHN0YXJ0IHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSB5MSAgICAgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIGN1cnZlIHN0YXJ0IHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSB4MiAgICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIGN1cnZlIGVuZCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geTIgICAgICBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBjdXJ2ZSBlbmQgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IGNweCAgICAgVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgY3VydmUgY29udHJvbCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0gY3B5ICAgICBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBjdXJ2ZSBjb250cm9sIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBlcHNpbG9uIFRoZSBwcmVjaXNpb24gKGNvbnNpZGVyIHRoZSBsaW5lIHRoaWNrbmVzcykuCi0gICAgKiBAcmV0dXJuIHtib29sZWFufSAgICAgICAgVHJ1ZSBpZiAoeCx5KSBpcyBvbiB0aGUgY3VydmUgc2VnbWVudCwKLSAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSBvdGhlcndpc2UuCi0gICovCi0gIHNpZ21hLnV0aWxzLmlzUG9pbnRPblF1YWRyYXRpY0N1cnZlID0KLSAgICBmdW5jdGlvbih4LCB5LCB4MSwgeTEsIHgyLCB5MiwgY3B4LCBjcHksIGVwc2lsb24pIHsKLSAgICAvLyBGYWlscyBpZiB0aGUgcG9pbnQgaXMgdG9vIGZhciBmcm9tIHRoZSBleHRyZW1pdGllcyBvZiB0aGUgc2VnbWVudCwKLSAgICAvLyBwcmV2ZW50aW5nIGZvciBtb3JlIGNvc3RseSBjb21wdXRhdGlvbjoKLSAgICB2YXIgZFAxUDIgPSBzaWdtYS51dGlscy5nZXREaXN0YW5jZSh4MSwgeTEsIHgyLCB5Mik7Ci0gICAgaWYgKE1hdGguYWJzKHggLSB4MSkgPiBkUDFQMiB8fCBNYXRoLmFicyh5IC0geTEpID4gZFAxUDIpIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB2YXIgZFAxID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeCwgeSwgeDEsIHkxKSwKLSAgICAgICAgZFAyID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeCwgeSwgeDIsIHkyKSwKLSAgICAgICAgdCA9IDAuNSwKLSAgICAgICAgciA9IChkUDEgPCBkUDIpID8gLTAuMDEgOiAwLjAxLAotICAgICAgICByVGhyZXNob2xkID0gMC4wMDEsCi0gICAgICAgIGkgPSAxMDAsCi0gICAgICAgIHB0ID0gc2lnbWEudXRpbHMuZ2V0UG9pbnRPblF1YWRyYXRpY0N1cnZlKHQsIHgxLCB5MSwgeDIsIHkyLCBjcHgsIGNweSksCi0gICAgICAgIGR0ID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeCwgeSwgcHQueCwgcHQueSksCi0gICAgICAgIG9sZF9kdDsKLQotICAgIC8vIFRoaXMgYWxnb3JpdGhtIG1pbmltaXplcyB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgcG9pbnQgdG8gdGhlIGN1cnZlLiBJdAotICAgIC8vIGZpbmQgdGhlIG9wdGltYWwgdCB2YWx1ZSB3aGVyZSB0PTAgaXMgdGhlIHN0YXJ0IHBvaW50IGFuZCB0PTEgaXMgdGhlIGVuZAotICAgIC8vIHBvaW50IG9mIHRoZSBjdXJ2ZSwgc3RhcnRpbmcgZnJvbSB0PTAuNS4KLSAgICAvLyBJdCB0ZXJtaW5hdGVzIGJlY2F1c2UgaXQgcnVucyBhIG1heGltdW0gb2YgaSBpbnRlcmF0aW9ucy4KLSAgICB3aGlsZSAoaS0tID4gMCAmJgotICAgICAgdCA+PSAwICYmIHQgPD0gMSAmJgotICAgICAgKGR0ID4gZXBzaWxvbikgJiYKLSAgICAgIChyID4gclRocmVzaG9sZCB8fCByIDwgLXJUaHJlc2hvbGQpKSB7Ci0gICAgICBvbGRfZHQgPSBkdDsKLSAgICAgIHB0ID0gc2lnbWEudXRpbHMuZ2V0UG9pbnRPblF1YWRyYXRpY0N1cnZlKHQsIHgxLCB5MSwgeDIsIHkyLCBjcHgsIGNweSk7Ci0gICAgICBkdCA9IHNpZ21hLnV0aWxzLmdldERpc3RhbmNlKHgsIHksIHB0LngsIHB0LnkpOwotCi0gICAgICBpZiAoZHQgPiBvbGRfZHQpIHsKLSAgICAgICAgLy8gbm90IHRoZSByaWdodCBkaXJlY3Rpb246Ci0gICAgICAgIC8vIGhhbGZzdGVwIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24KLSAgICAgICAgciA9IC1yIC8gMjsKLSAgICAgICAgdCArPSByOwotICAgICAgfQotICAgICAgZWxzZSBpZiAodCArIHIgPCAwIHx8IHQgKyByID4gMSkgewotICAgICAgICAvLyBvb3BzLCB3ZSd2ZSBnb25lIHRvbyBmYXI6Ci0gICAgICAgIC8vIHJldmVydCB3aXRoIGEgaGFsZnN0ZXAKLSAgICAgICAgciA9IHIgLyAyOwotICAgICAgICBkdCA9IG9sZF9kdDsKLSAgICAgIH0KLSAgICAgIGVsc2UgewotICAgICAgICAvLyBwcm9ncmVzczoKLSAgICAgICAgdCArPSByOwotICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBkdCA8IGVwc2lsb247Ci0gIH07Ci0KLQotICAvKioKLSAgICAqIENoZWNrIGlmIGEgcG9pbnQgaXMgb24gYSBjdWJpYyBiZXppZXIgY3VydmUgc2VnbWVudCB3aXRoIGEgdGhpY2tuZXNzLgotICAgICoKLSAgICAqIEBwYXJhbSAge251bWJlcn0geCAgICAgICBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBwb2ludCB0byBjaGVjay4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geSAgICAgICBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBwb2ludCB0byBjaGVjay4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geDEgICAgICBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBjdXJ2ZSBzdGFydCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geTEgICAgICBUaGUgWSBjb29yZGluYXRlIG9mIHRoZSBjdXJ2ZSBzdGFydCBwb2ludC4KLSAgICAqIEBwYXJhbSAge251bWJlcn0geDIgICAgICBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBjdXJ2ZSBlbmQgcG9pbnQuCi0gICAgKiBAcGFyYW0gIHtudW1iZXJ9IHkyICAgICAgVGhlIFkgY29vcmRpbmF0ZSBvZiB0aGUgY3VydmUgZW5kIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBjcHgxICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIDFzdCBjdXJ2ZSBjb250cm9sIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBjcHkxICAgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIDFzdCBjdXJ2ZSBjb250cm9sIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBjcHgyICAgIFRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIDJuZCBjdXJ2ZSBjb250cm9sIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBjcHkyICAgIFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIDJuZCBjdXJ2ZSBjb250cm9sIHBvaW50LgotICAgICogQHBhcmFtICB7bnVtYmVyfSBlcHNpbG9uIFRoZSBwcmVjaXNpb24gKGNvbnNpZGVyIHRoZSBsaW5lIHRoaWNrbmVzcykuCi0gICAgKiBAcmV0dXJuIHtib29sZWFufSAgICAgICAgVHJ1ZSBpZiAoeCx5KSBpcyBvbiB0aGUgY3VydmUgc2VnbWVudCwKLSAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSBvdGhlcndpc2UuCi0gICovCi0gIHNpZ21hLnV0aWxzLmlzUG9pbnRPbkJlemllckN1cnZlID0KLSAgICBmdW5jdGlvbih4LCB5LCB4MSwgeTEsIHgyLCB5MiwgY3B4MSwgY3B5MSwgY3B4MiwgY3B5MiwgZXBzaWxvbikgewotICAgIC8vIEZhaWxzIGlmIHRoZSBwb2ludCBpcyB0b28gZmFyIGZyb20gdGhlIGV4dHJlbWl0aWVzIG9mIHRoZSBzZWdtZW50LAotICAgIC8vIHByZXZlbnRpbmcgZm9yIG1vcmUgY29zdGx5IGNvbXB1dGF0aW9uOgotICAgIHZhciBkUDFDUDEgPSBzaWdtYS51dGlscy5nZXREaXN0YW5jZSh4MSwgeTEsIGNweDEsIGNweTEpOwotICAgIGlmIChNYXRoLmFicyh4IC0geDEpID4gZFAxQ1AxIHx8IE1hdGguYWJzKHkgLSB5MSkgPiBkUDFDUDEpIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICB2YXIgZFAxID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeCwgeSwgeDEsIHkxKSwKLSAgICAgICAgZFAyID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeCwgeSwgeDIsIHkyKSwKLSAgICAgICAgdCA9IDAuNSwKLSAgICAgICAgciA9IChkUDEgPCBkUDIpID8gLTAuMDEgOiAwLjAxLAotICAgICAgICByVGhyZXNob2xkID0gMC4wMDEsCi0gICAgICAgIGkgPSAxMDAsCi0gICAgICAgIHB0ID0gc2lnbWEudXRpbHMuZ2V0UG9pbnRPbkJlemllckN1cnZlKAotICAgICAgICAgIHQsIHgxLCB5MSwgeDIsIHkyLCBjcHgxLCBjcHkxLCBjcHgyLCBjcHkyKSwKLSAgICAgICAgZHQgPSBzaWdtYS51dGlscy5nZXREaXN0YW5jZSh4LCB5LCBwdC54LCBwdC55KSwKLSAgICAgICAgb2xkX2R0OwotCi0gICAgLy8gVGhpcyBhbGdvcml0aG0gbWluaW1pemVzIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSBwb2ludCB0byB0aGUgY3VydmUuIEl0Ci0gICAgLy8gZmluZCB0aGUgb3B0aW1hbCB0IHZhbHVlIHdoZXJlIHQ9MCBpcyB0aGUgc3RhcnQgcG9pbnQgYW5kIHQ9MSBpcyB0aGUgZW5kCi0gICAgLy8gcG9pbnQgb2YgdGhlIGN1cnZlLCBzdGFydGluZyBmcm9tIHQ9MC41LgotICAgIC8vIEl0IHRlcm1pbmF0ZXMgYmVjYXVzZSBpdCBydW5zIGEgbWF4aW11bSBvZiBpIGludGVyYXRpb25zLgotICAgIHdoaWxlIChpLS0gPiAwICYmCi0gICAgICB0ID49IDAgJiYgdCA8PSAxICYmCi0gICAgICAoZHQgPiBlcHNpbG9uKSAmJgotICAgICAgKHIgPiByVGhyZXNob2xkIHx8IHIgPCAtclRocmVzaG9sZCkpIHsKLSAgICAgIG9sZF9kdCA9IGR0OwotICAgICAgcHQgPSBzaWdtYS51dGlscy5nZXRQb2ludE9uQmV6aWVyQ3VydmUoCi0gICAgICAgIHQsIHgxLCB5MSwgeDIsIHkyLCBjcHgxLCBjcHkxLCBjcHgyLCBjcHkyKTsKLSAgICAgIGR0ID0gc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoeCwgeSwgcHQueCwgcHQueSk7Ci0KLSAgICAgIGlmIChkdCA+IG9sZF9kdCkgewotICAgICAgICAvLyBub3QgdGhlIHJpZ2h0IGRpcmVjdGlvbjoKLSAgICAgICAgLy8gaGFsZnN0ZXAgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbgotICAgICAgICByID0gLXIgLyAyOwotICAgICAgICB0ICs9IHI7Ci0gICAgICB9Ci0gICAgICBlbHNlIGlmICh0ICsgciA8IDAgfHwgdCArIHIgPiAxKSB7Ci0gICAgICAgIC8vIG9vcHMsIHdlJ3ZlIGdvbmUgdG9vIGZhcjoKLSAgICAgICAgLy8gcmV2ZXJ0IHdpdGggYSBoYWxmc3RlcAotICAgICAgICByID0gciAvIDI7Ci0gICAgICAgIGR0ID0gb2xkX2R0OwotICAgICAgfQotICAgICAgZWxzZSB7Ci0gICAgICAgIC8vIHByb2dyZXNzOgotICAgICAgICB0ICs9IHI7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIGR0IDwgZXBzaWxvbjsKLSAgfTsKLQotCi0gIC8qKgotICAgKiAqKioqKioqKioqKioKLSAgICogRVZFTlRTIFVUSUxTOgotICAgKiAqKioqKioqKioqKioKLSAgICovCi0gIC8qKgotICAgKiBIZXJlIGFyZSBzb21lIHVzZWZ1bCBmdW5jdGlvbnMgdG8gdW5pZnkgZXh0cmFjdGlvbiBvZiB0aGUgaW5mb3JtYXRpb24gd2UKLSAgICogbmVlZCB3aXRoIG1vdXNlIGV2ZW50cyBhbmQgdG91Y2ggZXZlbnRzLCBmcm9tIGRpZmZlcmVudCBicm93c2VyczoKLSAgICovCi0KLSAgLyoqCi0gICAqIEV4dHJhY3QgdGhlIGxvY2FsIFggcG9zaXRpb24gZnJvbSBhIG1vdXNlIG9yIHRvdWNoIGV2ZW50LgotICAgKgotICAgKiBAcGFyYW0gIHtldmVudH0gIGUgQSBtb3VzZSBvciB0b3VjaCBldmVudC4KLSAgICogQHJldHVybiB7bnVtYmVyfSAgIFRoZSBsb2NhbCBYIHZhbHVlIG9mIHRoZSBtb3VzZS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmdldFggPSBmdW5jdGlvbihlKSB7Ci0gICAgcmV0dXJuICgKLSAgICAgIChlLm9mZnNldFggIT09IHVuZGVmaW5lZCAmJiBlLm9mZnNldFgpIHx8Ci0gICAgICAoZS5sYXllclggIT09IHVuZGVmaW5lZCAmJiBlLmxheWVyWCkgfHwKLSAgICAgIChlLmNsaWVudFggIT09IHVuZGVmaW5lZCAmJiBlLmNsaWVudFgpCi0gICAgKTsKLSAgfTsKLQotICAvKioKLSAgICogRXh0cmFjdCB0aGUgbG9jYWwgWSBwb3NpdGlvbiBmcm9tIGEgbW91c2Ugb3IgdG91Y2ggZXZlbnQuCi0gICAqCi0gICAqIEBwYXJhbSAge2V2ZW50fSAgZSBBIG1vdXNlIG9yIHRvdWNoIGV2ZW50LgotICAgKiBAcmV0dXJuIHtudW1iZXJ9ICAgVGhlIGxvY2FsIFkgdmFsdWUgb2YgdGhlIG1vdXNlLgotICAgKi8KLSAgc2lnbWEudXRpbHMuZ2V0WSA9IGZ1bmN0aW9uKGUpIHsKLSAgICByZXR1cm4gKAotICAgICAgKGUub2Zmc2V0WSAhPT0gdW5kZWZpbmVkICYmIGUub2Zmc2V0WSkgfHwKLSAgICAgIChlLmxheWVyWSAhPT0gdW5kZWZpbmVkICYmIGUubGF5ZXJZKSB8fAotICAgICAgKGUuY2xpZW50WSAhPT0gdW5kZWZpbmVkICYmIGUuY2xpZW50WSkKLSAgICApOwotICB9OwotCi0gIC8qKgotICAgKiBUaGUgcGl4ZWwgcmF0aW8gb2YgdGhlIHNjcmVlbi4gVGFraW5nIHpvb20gaW50byBhY2NvdW50Ci0gICAqCi0gICAqIEByZXR1cm4ge251bWJlcn0gICAgICAgIFBpeGVsIHJhdGlvIG9mIHRoZSBzY3JlZW4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmdldFBpeGVsUmF0aW8gPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgcmF0aW8gPSAxOwotICAgIGlmICh3aW5kb3cuc2NyZWVuLmRldmljZVhEUEkgIT09IHVuZGVmaW5lZCAmJgotICAgICAgICAgd2luZG93LnNjcmVlbi5sb2dpY2FsWERQSSAhPT0gdW5kZWZpbmVkICYmCi0gICAgICAgICB3aW5kb3cuc2NyZWVuLmRldmljZVhEUEkgPiB3aW5kb3cuc2NyZWVuLmxvZ2ljYWxYRFBJKSB7Ci0gICAgICAgIHJhdGlvID0gd2luZG93LnNjcmVlbi5zeXN0ZW1YRFBJIC8gd2luZG93LnNjcmVlbi5sb2dpY2FsWERQSTsKLSAgICB9Ci0gICAgZWxzZSBpZiAod2luZG93LmRldmljZVBpeGVsUmF0aW8gIT09IHVuZGVmaW5lZCkgewotICAgICAgICByYXRpbyA9IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOwotICAgIH0KLSAgICByZXR1cm4gcmF0aW87Ci0gIH07Ci0KLSAgLyoqCi0gICAqIEV4dHJhY3QgdGhlIHdpZHRoIGZyb20gYSBtb3VzZSBvciB0b3VjaCBldmVudC4KLSAgICoKLSAgICogQHBhcmFtICB7ZXZlbnR9ICBlIEEgbW91c2Ugb3IgdG91Y2ggZXZlbnQuCi0gICAqIEByZXR1cm4ge251bWJlcn0gICBUaGUgd2lkdGggb2YgdGhlIGV2ZW50J3MgdGFyZ2V0LgotICAgKi8KLSAgc2lnbWEudXRpbHMuZ2V0V2lkdGggPSBmdW5jdGlvbihlKSB7Ci0gICAgdmFyIHcgPSAoIWUudGFyZ2V0Lm93bmVyU1ZHRWxlbWVudCkgPwotICAgICAgICAgICAgICBlLnRhcmdldC53aWR0aCA6Ci0gICAgICAgICAgICAgIGUudGFyZ2V0Lm93bmVyU1ZHRWxlbWVudC53aWR0aDsKLQotICAgIHJldHVybiAoCi0gICAgICAodHlwZW9mIHcgPT09ICdudW1iZXInICYmIHcpIHx8Ci0gICAgICAodyAhPT0gdW5kZWZpbmVkICYmIHcuYmFzZVZhbCAhPT0gdW5kZWZpbmVkICYmIHcuYmFzZVZhbC52YWx1ZSkKLSAgICApOwotICB9OwotCi0gIC8qKgotICAgKiBFeHRyYWN0IHRoZSBjZW50ZXIgZnJvbSBhIG1vdXNlIG9yIHRvdWNoIGV2ZW50LgotICAgKgotICAgKiBAcGFyYW0gIHtldmVudH0gIGUgQSBtb3VzZSBvciB0b3VjaCBldmVudC4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgIFRoZSBjZW50ZXIgb2YgdGhlIGV2ZW50J3MgdGFyZ2V0LgotICAgKi8KLSAgc2lnbWEudXRpbHMuZ2V0Q2VudGVyID0gZnVuY3Rpb24oZSkgewotICAgIHZhciByYXRpbyA9IGUudGFyZ2V0Lm5hbWVzcGFjZVVSSS5pbmRleE9mKCdzdmcnKSAhPT0gLTEgPyAxIDoKLSAgICAgICAgc2lnbWEudXRpbHMuZ2V0UGl4ZWxSYXRpbygpOwotICAgIHJldHVybiB7Ci0gICAgICB4OiBzaWdtYS51dGlscy5nZXRXaWR0aChlKSAvICgyICogcmF0aW8pLAotICAgICAgeTogc2lnbWEudXRpbHMuZ2V0SGVpZ2h0KGUpIC8gKDIgKiByYXRpbyksCi0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICogQ29udmVydCBtb3VzZSBjb29yZHMgdG8gc2lnbWEgY29vcmRzCi0gICAqCi0gICAqIEBwYXJhbSAge2V2ZW50fSAgIGUgQSBtb3VzZSBvciB0b3VjaCBldmVudC4KLSAgICogQHBhcmFtICB7bnVtYmVyP30geCBUaGUgeCBjb29yZCB0byBjb252ZXJ0Ci0gICAqIEBwYXJhbSAge251bWJlcj99IHggVGhlIHkgY29vcmQgdG8gY29udmVydAotICAgKgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgIFRoZSBzdGFuZGFyZGl6ZWQgZXZlbnQKLSAgICovCi0gIHNpZ21hLnV0aWxzLm1vdXNlQ29vcmRzID0gZnVuY3Rpb24oZSwgeCwgeSkgewotICAgIHggPSB4IHx8IHNpZ21hLnV0aWxzLmdldFgoZSk7Ci0gICAgeSA9IHkgfHwgc2lnbWEudXRpbHMuZ2V0WShlKTsKLSAgICByZXR1cm4gewotICAgICAgICB4OiB4IC0gc2lnbWEudXRpbHMuZ2V0Q2VudGVyKGUpLngsCi0gICAgICAgIHk6IHkgLSBzaWdtYS51dGlscy5nZXRDZW50ZXIoZSkueSwKLSAgICAgICAgY2xpZW50WDogZS5jbGllbnRYLAotICAgICAgICBjbGllbnRZOiBlLmNsaWVudFksCi0gICAgICAgIGN0cmxLZXk6IGUuY3RybEtleSwKLSAgICAgICAgbWV0YUtleTogZS5tZXRhS2V5LAotICAgICAgICBhbHRLZXk6IGUuYWx0S2V5LAotICAgICAgICBzaGlmdEtleTogZS5zaGlmdEtleQotICAgIH07Ci0gIH07Ci0KLSAgLyoqCi0gICAqIEV4dHJhY3QgdGhlIGhlaWdodCBmcm9tIGEgbW91c2Ugb3IgdG91Y2ggZXZlbnQuCi0gICAqCi0gICAqIEBwYXJhbSAge2V2ZW50fSAgZSBBIG1vdXNlIG9yIHRvdWNoIGV2ZW50LgotICAgKiBAcmV0dXJuIHtudW1iZXJ9ICAgVGhlIGhlaWdodCBvZiB0aGUgZXZlbnQncyB0YXJnZXQuCi0gICAqLwotICBzaWdtYS51dGlscy5nZXRIZWlnaHQgPSBmdW5jdGlvbihlKSB7Ci0gICAgdmFyIGggPSAoIWUudGFyZ2V0Lm93bmVyU1ZHRWxlbWVudCkgPwotICAgICAgICAgICAgICBlLnRhcmdldC5oZWlnaHQgOgotICAgICAgICAgICAgICBlLnRhcmdldC5vd25lclNWR0VsZW1lbnQuaGVpZ2h0OwotCi0gICAgcmV0dXJuICgKLSAgICAgICh0eXBlb2YgaCA9PT0gJ251bWJlcicgJiYgaCkgfHwKLSAgICAgIChoICE9PSB1bmRlZmluZWQgJiYgaC5iYXNlVmFsICE9PSB1bmRlZmluZWQgJiYgaC5iYXNlVmFsLnZhbHVlKQotICAgICk7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIEV4dHJhY3QgdGhlIHdoZWVsIGRlbHRhIGZyb20gYSBtb3VzZSBvciB0b3VjaCBldmVudC4KLSAgICoKLSAgICogQHBhcmFtICB7ZXZlbnR9ICBlIEEgbW91c2Ugb3IgdG91Y2ggZXZlbnQuCi0gICAqIEByZXR1cm4ge251bWJlcn0gICBUaGUgd2hlZWwgZGVsdGEgb2YgdGhlIG1vdXNlLgotICAgKi8KLSAgc2lnbWEudXRpbHMuZ2V0RGVsdGEgPSBmdW5jdGlvbihlKSB7Ci0gICAgcmV0dXJuICgKLSAgICAgIChlLndoZWVsRGVsdGEgIT09IHVuZGVmaW5lZCAmJiBlLndoZWVsRGVsdGEpIHx8Ci0gICAgICAoZS5kZXRhaWwgIT09IHVuZGVmaW5lZCAmJiAtZS5kZXRhaWwpCi0gICAgKTsKLSAgfTsKLQotICAvKioKLSAgICogUmV0dXJucyB0aGUgb2Zmc2V0IG9mIGEgRE9NIGVsZW1lbnQuCi0gICAqCi0gICAqIEBwYXJhbSAge0RPTUVsZW1lbnR9IGRvbSBUaGUgZWxlbWVudCB0byByZXRyaWV2ZSB0aGUgcG9zaXRpb24uCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgICAgICBUaGUgb2Zmc2V0IG9mIHRoZSBET00gZWxlbWVudCAodG9wLCBsZWZ0KS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmdldE9mZnNldCA9IGZ1bmN0aW9uKGRvbSkgewotICAgIHZhciBsZWZ0ID0gMCwKLSAgICAgICAgdG9wID0gMDsKLQotICAgIHdoaWxlIChkb20pIHsKLSAgICAgIHRvcCA9IHRvcCArIHBhcnNlSW50KGRvbS5vZmZzZXRUb3ApOwotICAgICAgbGVmdCA9IGxlZnQgKyBwYXJzZUludChkb20ub2Zmc2V0TGVmdCk7Ci0gICAgICBkb20gPSBkb20ub2Zmc2V0UGFyZW50OwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICB0b3A6IHRvcCwKLSAgICAgIGxlZnQ6IGxlZnQKLSAgICB9OwotICB9OwotCi0gIC8qKgotICAgKiBTaW11bGF0ZXMgYSAiZG91YmxlIGNsaWNrIiBldmVudC4KLSAgICoKLSAgICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IHRhcmdldCAgIFRoZSBldmVudCB0YXJnZXQuCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICAgICB0eXBlICAgICBUaGUgZXZlbnQgdHlwZS4KLSAgICogQHBhcmFtICB7ZnVuY3Rpb259ICAgIGNhbGxiYWNrIFRoZSBjYWxsYmFjayB0byBleGVjdXRlLgotICAgKi8KLSAgc2lnbWEudXRpbHMuZG91YmxlQ2xpY2sgPSBmdW5jdGlvbih0YXJnZXQsIHR5cGUsIGNhbGxiYWNrKSB7Ci0gICAgdmFyIGNsaWNrcyA9IDAsCi0gICAgICAgIHNlbGYgPSB0aGlzLAotICAgICAgICBoYW5kbGVyczsKLQotICAgIHRhcmdldC5fZG91YmxlQ2xpY2tIYW5kbGVyID0gdGFyZ2V0Ll9kb3VibGVDbGlja0hhbmRsZXIgfHwge307Ci0gICAgdGFyZ2V0Ll9kb3VibGVDbGlja0hhbmRsZXJbdHlwZV0gPSB0YXJnZXQuX2RvdWJsZUNsaWNrSGFuZGxlclt0eXBlXSB8fCBbXTsKLSAgICBoYW5kbGVycyA9IHRhcmdldC5fZG91YmxlQ2xpY2tIYW5kbGVyW3R5cGVdOwotCi0gICAgaGFuZGxlcnMucHVzaChmdW5jdGlvbihlKSB7Ci0gICAgICBjbGlja3MrKzsKLQotICAgICAgaWYgKGNsaWNrcyA9PT0gMikgewotICAgICAgICBjbGlja3MgPSAwOwotICAgICAgICByZXR1cm4gY2FsbGJhY2soZSk7Ci0gICAgICB9IGVsc2UgaWYgKGNsaWNrcyA9PT0gMSkgewotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgIGNsaWNrcyA9IDA7Ci0gICAgICAgIH0sIHNpZ21hLnNldHRpbmdzLmRvdWJsZUNsaWNrVGltZW91dCk7Ci0gICAgICB9Ci0gICAgfSk7Ci0KLSAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBoYW5kbGVyc1toYW5kbGVycy5sZW5ndGggLSAxXSwgZmFsc2UpOwotICB9OwotCi0gIC8qKgotICAgKiBVbmJpbmQgc2ltdWxhdGVkICJkb3VibGUgY2xpY2siIGV2ZW50cy4KLSAgICoKLSAgICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IHRhcmdldCAgIFRoZSBldmVudCB0YXJnZXQuCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICAgICB0eXBlICAgICBUaGUgZXZlbnQgdHlwZS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLnVuYmluZERvdWJsZUNsaWNrID0gZnVuY3Rpb24odGFyZ2V0LCB0eXBlKSB7Ci0gICAgdmFyIGhhbmRsZXIsCi0gICAgICAgIGhhbmRsZXJzID0gKHRhcmdldC5fZG91YmxlQ2xpY2tIYW5kbGVyIHx8IHt9KVt0eXBlXSB8fCBbXTsKLQotICAgIHdoaWxlICgoaGFuZGxlciA9IGhhbmRsZXJzLnBvcCgpKSkgewotICAgICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgaGFuZGxlcik7Ci0gICAgfQotCi0gICAgZGVsZXRlICh0YXJnZXQuX2RvdWJsZUNsaWNrSGFuZGxlciB8fCB7fSlbdHlwZV07Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqIEhlcmUgYXJlIGp1c3Qgc29tZSBvZiB0aGUgbW9zdCBiYXNpYyBlYXNpbmcgZnVuY3Rpb25zLCB1c2VkIGZvciB0aGUKLSAgICogYW5pbWF0ZWQgY2FtZXJhICJnb1RvIiBjYWxscy4KLSAgICoKLSAgICogSWYgeW91IG5lZWQgc29tZSBtb3JlIGVhc2luZ3MgZnVuY3Rpb25zLCBkb24ndCBoZXNpdGF0ZSB0byBhZGQgdGhlbSB0bwotICAgKiBzaWdtYS51dGlscy5lYXNpbmdzLiBCdXQgSSB3aWxsIG5vdCBhZGQgc29tZSBtb3JlIGhlcmUgb3IgbWVyZ2UgUFJzCi0gICAqIGNvbnRhaW5pbmcsIGJlY2F1c2UgSSBkbyBub3Qgd2FudCBzaWdtYSBzb3VyY2VzIGZ1bGwgb2Ygb3ZlcmtpbGwgYW5kIG5ldmVyCi0gICAqIHVzZWQgc3R1ZmYuLi4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmVhc2luZ3MgPSBzaWdtYS51dGlscy5lYXNpbmdzIHx8IHt9OwotICBzaWdtYS51dGlscy5lYXNpbmdzLmxpbmVhck5vbmUgPSBmdW5jdGlvbihrKSB7Ci0gICAgcmV0dXJuIGs7Ci0gIH07Ci0gIHNpZ21hLnV0aWxzLmVhc2luZ3MucXVhZHJhdGljSW4gPSBmdW5jdGlvbihrKSB7Ci0gICAgcmV0dXJuIGsgKiBrOwotICB9OwotICBzaWdtYS51dGlscy5lYXNpbmdzLnF1YWRyYXRpY091dCA9IGZ1bmN0aW9uKGspIHsKLSAgICByZXR1cm4gayAqICgyIC0gayk7Ci0gIH07Ci0gIHNpZ21hLnV0aWxzLmVhc2luZ3MucXVhZHJhdGljSW5PdXQgPSBmdW5jdGlvbihrKSB7Ci0gICAgaWYgKChrICo9IDIpIDwgMSkKLSAgICAgIHJldHVybiAwLjUgKiBrICogazsKLSAgICByZXR1cm4gLSAwLjUgKiAoLS1rICogKGsgLSAyKSAtIDEpOwotICB9OwotICBzaWdtYS51dGlscy5lYXNpbmdzLmN1YmljSW4gPSBmdW5jdGlvbihrKSB7Ci0gICAgcmV0dXJuIGsgKiBrICogazsKLSAgfTsKLSAgc2lnbWEudXRpbHMuZWFzaW5ncy5jdWJpY091dCA9IGZ1bmN0aW9uKGspIHsKLSAgICByZXR1cm4gLS1rICogayAqIGsgKyAxOwotICB9OwotICBzaWdtYS51dGlscy5lYXNpbmdzLmN1YmljSW5PdXQgPSBmdW5jdGlvbihrKSB7Ci0gICAgaWYgKChrICo9IDIpIDwgMSkKLSAgICAgIHJldHVybiAwLjUgKiBrICogayAqIGs7Ci0gICAgcmV0dXJuIDAuNSAqICgoayAtPSAyKSAqIGsgKiBrICsgMik7Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqICoqKioqKioqKioqKgotICAgKiBXRUJHTCBVVElMUzoKLSAgICogKioqKioqKioqKioqCi0gICAqLwotICAvKioKLSAgICogTG9hZHMgYSBXZWJHTCBzaGFkZXIgYW5kIHJldHVybnMgaXQuCi0gICAqCi0gICAqIEBwYXJhbSAge1dlYkdMQ29udGV4dH0gICAgICAgICAgIGdsICAgICAgICAgICBUaGUgV2ViR0xDb250ZXh0IHRvIHVzZS4KLSAgICogQHBhcmFtICB7c3RyaW5nfSAgICAgICAgICAgICAgICAgc2hhZGVyU291cmNlIFRoZSBzaGFkZXIgc291cmNlLgotICAgKiBAcGFyYW0gIHtudW1iZXJ9ICAgICAgICAgICAgICAgICBzaGFkZXJUeXBlICAgVGhlIHR5cGUgb2Ygc2hhZGVyLgotICAgKiBAcGFyYW0gIHtmdW5jdGlvbihzdHJpbmcpOiB2b2lkfSBlcnJvciAgICAgICAgQ2FsbGJhY2sgZm9yIGVycm9ycy4KLSAgICogQHJldHVybiB7V2ViR0xTaGFkZXJ9ICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBjcmVhdGVkIHNoYWRlci4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmxvYWRTaGFkZXIgPSBmdW5jdGlvbihnbCwgc2hhZGVyU291cmNlLCBzaGFkZXJUeXBlLCBlcnJvcikgewotICAgIHZhciBjb21waWxlZCwKLSAgICAgICAgc2hhZGVyID0gZ2wuY3JlYXRlU2hhZGVyKHNoYWRlclR5cGUpOwotCi0gICAgLy8gTG9hZCB0aGUgc2hhZGVyIHNvdXJjZQotICAgIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsIHNoYWRlclNvdXJjZSk7Ci0KLSAgICAvLyBDb21waWxlIHRoZSBzaGFkZXIKLSAgICBnbC5jb21waWxlU2hhZGVyKHNoYWRlcik7Ci0KLSAgICAvLyBDaGVjayB0aGUgY29tcGlsZSBzdGF0dXMKLSAgICBjb21waWxlZCA9IGdsLmdldFNoYWRlclBhcmFtZXRlcihzaGFkZXIsIGdsLkNPTVBJTEVfU1RBVFVTKTsKLQotICAgIC8vIElmIHNvbWV0aGluZyB3ZW50IHdyb25nOgotICAgIGlmICghY29tcGlsZWQpIHsKLSAgICAgIGlmIChlcnJvcikgewotICAgICAgICBlcnJvcigKLSAgICAgICAgICAnRXJyb3IgY29tcGlsaW5nIHNoYWRlciAiJyArIHNoYWRlciArICciOicgKwotICAgICAgICAgIGdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKQotICAgICAgICApOwotICAgICAgfQotCi0gICAgICBnbC5kZWxldGVTaGFkZXIoc2hhZGVyKTsKLSAgICAgIHJldHVybiBudWxsOwotICAgIH0KLQotICAgIHJldHVybiBzaGFkZXI7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIENyZWF0ZXMgYSBwcm9ncmFtLCBhdHRhY2hlcyBzaGFkZXJzLCBiaW5kcyBhdHRyaWIgbG9jYXRpb25zLCBsaW5rcyB0aGUKLSAgICogcHJvZ3JhbSBhbmQgY2FsbHMgdXNlUHJvZ3JhbS4KLSAgICoKLSAgICogQHBhcmFtICB7QXJyYXkuPFdlYkdMU2hhZGVyPn0gICAgc2hhZGVycyAgIFRoZSBzaGFkZXJzIHRvIGF0dGFjaC4KLSAgICogQHBhcmFtICB7QXJyYXkuPHN0cmluZz59ICAgICAgICAgYXR0cmlicyAgIFRoZSBhdHRyaWJzIG5hbWVzLgotICAgKiBAcGFyYW0gIHtBcnJheS48bnVtYmVyPn0gICAgICAgICBsb2NhdGlvbnMgVGhlIGxvY2F0aW9ucyBmb3IgdGhlIGF0dHJpYnMuCi0gICAqIEBwYXJhbSAge2Z1bmN0aW9uKHN0cmluZyk6IHZvaWR9IGVycm9yICAgICBDYWxsYmFjayBmb3IgZXJyb3JzLgotICAgKiBAcmV0dXJuIHtXZWJHTFByb2dyYW19ICAgICAgICAgICAgICAgICAgICAgVGhlIGNyZWF0ZWQgcHJvZ3JhbS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLmxvYWRQcm9ncmFtID0gZnVuY3Rpb24oZ2wsIHNoYWRlcnMsIGF0dHJpYnMsIGxvYywgZXJyb3IpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbGlua2VkLAotICAgICAgICBwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOwotCi0gICAgZm9yIChpID0gMDsgaSA8IHNoYWRlcnMubGVuZ3RoOyArK2kpCi0gICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgc2hhZGVyc1tpXSk7Ci0KLSAgICBpZiAoYXR0cmlicykKLSAgICAgIGZvciAoaSA9IDA7IGkgPCBhdHRyaWJzLmxlbmd0aDsgKytpKQotICAgICAgICBnbC5iaW5kQXR0cmliTG9jYXRpb24oCi0gICAgICAgICAgcHJvZ3JhbSwKLSAgICAgICAgICBsb2NhdGlvbnMgPyBsb2NhdGlvbnNbaV0gOiBpLAotICAgICAgICAgIG9wdF9hdHRyaWJzW2ldCi0gICAgICAgICk7Ci0KLSAgICBnbC5saW5rUHJvZ3JhbShwcm9ncmFtKTsKLQotICAgIC8vIENoZWNrIHRoZSBsaW5rIHN0YXR1cwotICAgIGxpbmtlZCA9IGdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpOwotICAgIGlmICghbGlua2VkKSB7Ci0gICAgICBpZiAoZXJyb3IpCi0gICAgICAgIGVycm9yKCdFcnJvciBpbiBwcm9ncmFtIGxpbmtpbmc6ICcgKyBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSk7Ci0KLSAgICAgIGdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7Ci0gICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0KLSAgICByZXR1cm4gcHJvZ3JhbTsKLSAgfTsKLQotCi0KLQotICAvKioKLSAgICogKioqKioqKioqCi0gICAqIE1BVFJJQ0VTOgotICAgKiAqKioqKioqKioKLSAgICogVGhlIGZvbGxvd2luZyB1dGlscyBhcmUganVzdCBoZXJlIHRvIGhlbHAgZ2VuZXJhdGluZyB0aGUgdHJhbnNmb3JtYXRpb24KLSAgICogbWF0cmljZXMgZm9yIHRoZSBXZWJHTCByZW5kZXJlcnMuCi0gICAqLwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnV0aWxzLm1hdHJpY2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoZSByZXR1cm5zIGEgM3gzIHRyYW5zbGF0aW9uIG1hdHJpeC4KLSAgICoKLSAgICogQHBhcmFtICB7bnVtYmVyfSBkeCBUaGUgWCB0cmFuc2xhdGlvbi4KLSAgICogQHBhcmFtICB7bnVtYmVyfSBkeSBUaGUgWSB0cmFuc2xhdGlvbi4KLSAgICogQHJldHVybiB7YXJyYXl9ICAgICBSZXR1cm5zIHRoZSBtYXRyaXguCi0gICAqLwotICBzaWdtYS51dGlscy5tYXRyaWNlcy50cmFuc2xhdGlvbiA9IGZ1bmN0aW9uKGR4LCBkeSkgewotICAgIHJldHVybiBbCi0gICAgICAxLCAwLCAwLAotICAgICAgMCwgMSwgMCwKLSAgICAgIGR4LCBkeSwgMQotICAgIF07Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoZSByZXR1cm5zIGEgM3gzIG9yIDJ4MiByb3RhdGlvbiBtYXRyaXguCi0gICAqCi0gICAqIEBwYXJhbSAge251bWJlcn0gIGFuZ2xlIFRoZSByb3RhdGlvbiBhbmdsZS4KLSAgICogQHBhcmFtICB7Ym9vbGVhbn0gbTIgICAgSWYgdHJ1ZSwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMngyIG1hdHJpeC4KLSAgICogQHJldHVybiB7YXJyYXl9ICAgICAgICAgUmV0dXJucyB0aGUgbWF0cml4LgotICAgKi8KLSAgc2lnbWEudXRpbHMubWF0cmljZXMucm90YXRpb24gPSBmdW5jdGlvbihhbmdsZSwgbTIpIHsKLSAgICB2YXIgY29zID0gTWF0aC5jb3MoYW5nbGUpLAotICAgICAgICBzaW4gPSBNYXRoLnNpbihhbmdsZSk7Ci0KLSAgICByZXR1cm4gbTIgPyBbCi0gICAgICBjb3MsIC1zaW4sCi0gICAgICBzaW4sIGNvcwotICAgIF0gOiBbCi0gICAgICBjb3MsIC1zaW4sIDAsCi0gICAgICBzaW4sIGNvcywgMCwKLSAgICAgIDAsIDAsIDEKLSAgICBdOwotICB9OwotCi0gIC8qKgotICAgKiBUaGUgcmV0dXJucyBhIDN4MyBvciAyeDIgaG9tb3RoZXRpYyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguCi0gICAqCi0gICAqIEBwYXJhbSAge251bWJlcn0gIHJhdGlvIFRoZSBzY2FsaW5nIHJhdGlvLgotICAgKiBAcGFyYW0gIHtib29sZWFufSBtMiAgICBJZiB0cnVlLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSAyeDIgbWF0cml4LgotICAgKiBAcmV0dXJuIHthcnJheX0gICAgICAgICBSZXR1cm5zIHRoZSBtYXRyaXguCi0gICAqLwotICBzaWdtYS51dGlscy5tYXRyaWNlcy5zY2FsZSA9IGZ1bmN0aW9uKHJhdGlvLCBtMikgewotICAgIHJldHVybiBtMiA/IFsKLSAgICAgIHJhdGlvLCAwLAotICAgICAgMCwgcmF0aW8KLSAgICBdIDogWwotICAgICAgcmF0aW8sIDAsIDAsCi0gICAgICAwLCByYXRpbywgMCwKLSAgICAgIDAsIDAsIDEKLSAgICBdOwotICB9OwotCi0gIC8qKgotICAgKiBUaGUgcmV0dXJucyBhIDN4MyBvciAyeDIgaG9tb3RoZXRpYyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguCi0gICAqCi0gICAqIEBwYXJhbSAge2FycmF5fSAgIGEgIFRoZSBmaXJzdCBtYXRyaXguCi0gICAqIEBwYXJhbSAge2FycmF5fSAgIGIgIFRoZSBzZWNvbmQgbWF0cml4LgotICAgKiBAcGFyYW0gIHtib29sZWFufSBtMiBJZiB0cnVlLCB0aGUgZnVuY3Rpb24gd2lsbCBhc3N1bWUgYm90aCBtYXRyaWNlcyBhcmUKLSAgICogICAgICAgICAgICAgICAgICAgICAgMngyLgotICAgKiBAcmV0dXJuIHthcnJheX0gICAgICBSZXR1cm5zIHRoZSBtYXRyaXguCi0gICAqLwotICBzaWdtYS51dGlscy5tYXRyaWNlcy5tdWx0aXBseSA9IGZ1bmN0aW9uKGEsIGIsIG0yKSB7Ci0gICAgdmFyIGwgPSBtMiA/IDIgOiAzLAotICAgICAgICBhMDAgPSBhWzAgKiBsICsgMF0sCi0gICAgICAgIGEwMSA9IGFbMCAqIGwgKyAxXSwKLSAgICAgICAgYTAyID0gYVswICogbCArIDJdLAotICAgICAgICBhMTAgPSBhWzEgKiBsICsgMF0sCi0gICAgICAgIGExMSA9IGFbMSAqIGwgKyAxXSwKLSAgICAgICAgYTEyID0gYVsxICogbCArIDJdLAotICAgICAgICBhMjAgPSBhWzIgKiBsICsgMF0sCi0gICAgICAgIGEyMSA9IGFbMiAqIGwgKyAxXSwKLSAgICAgICAgYTIyID0gYVsyICogbCArIDJdLAotICAgICAgICBiMDAgPSBiWzAgKiBsICsgMF0sCi0gICAgICAgIGIwMSA9IGJbMCAqIGwgKyAxXSwKLSAgICAgICAgYjAyID0gYlswICogbCArIDJdLAotICAgICAgICBiMTAgPSBiWzEgKiBsICsgMF0sCi0gICAgICAgIGIxMSA9IGJbMSAqIGwgKyAxXSwKLSAgICAgICAgYjEyID0gYlsxICogbCArIDJdLAotICAgICAgICBiMjAgPSBiWzIgKiBsICsgMF0sCi0gICAgICAgIGIyMSA9IGJbMiAqIGwgKyAxXSwKLSAgICAgICAgYjIyID0gYlsyICogbCArIDJdOwotCi0gICAgcmV0dXJuIG0yID8gWwotICAgICAgYTAwICogYjAwICsgYTAxICogYjEwLAotICAgICAgYTAwICogYjAxICsgYTAxICogYjExLAotICAgICAgYTEwICogYjAwICsgYTExICogYjEwLAotICAgICAgYTEwICogYjAxICsgYTExICogYjExCi0gICAgXSA6IFsKLSAgICAgIGEwMCAqIGIwMCArIGEwMSAqIGIxMCArIGEwMiAqIGIyMCwKLSAgICAgIGEwMCAqIGIwMSArIGEwMSAqIGIxMSArIGEwMiAqIGIyMSwKLSAgICAgIGEwMCAqIGIwMiArIGEwMSAqIGIxMiArIGEwMiAqIGIyMiwKLSAgICAgIGExMCAqIGIwMCArIGExMSAqIGIxMCArIGExMiAqIGIyMCwKLSAgICAgIGExMCAqIGIwMSArIGExMSAqIGIxMSArIGExMiAqIGIyMSwKLSAgICAgIGExMCAqIGIwMiArIGExMSAqIGIxMiArIGExMiAqIGIyMiwKLSAgICAgIGEyMCAqIGIwMCArIGEyMSAqIGIxMCArIGEyMiAqIGIyMCwKLSAgICAgIGEyMCAqIGIwMSArIGEyMSAqIGIxMSArIGEyMiAqIGIyMSwKLSAgICAgIGEyMCAqIGIwMiArIGEyMSAqIGIxMiArIGEyMiAqIGIyMgotICAgIF07Ci0gIH07Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKGdsb2JhbCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgLyoqCi0gICAqIGh0dHA6Ly9wYXVsaXJpc2guY29tLzIwMTEvcmVxdWVzdGFuaW1hdGlvbmZyYW1lLWZvci1zbWFydC1hbmltYXRpbmcvCi0gICAqIGh0dHA6Ly9teS5vcGVyYS5jb20vZW1vbGxlci9ibG9nLzIwMTEvMTIvMjAvcmVxdWVzdGFuaW1hdGlvbmZyYW1lLWZvci1zbWFydC1lci1hbmltYXRpbmcKLSAgICogcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHBvbHlmaWxsIGJ5IEVyaWsgTcO2bGxlci4KLSAgICogZml4ZXMgZnJvbSBQYXVsIElyaXNoIGFuZCBUaW5vIFppamRlbAotICAgKiBNSVQgbGljZW5zZQotICAgKi8KLSAgdmFyIHgsCi0gICAgICBsYXN0VGltZSA9IDAsCi0gICAgICB2ZW5kb3JzID0gWydtcycsICdtb3onLCAnd2Via2l0JywgJ28nXTsKLQotICBmb3IgKHggPSAwOyB4IDwgdmVuZG9ycy5sZW5ndGggJiYgIWdsb2JhbC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7IHgrKykgewotICAgIGdsb2JhbC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPQotICAgICAgZ2xvYmFsW3ZlbmRvcnNbeF0gKyAnUmVxdWVzdEFuaW1hdGlvbkZyYW1lJ107Ci0gICAgZ2xvYmFsLmNhbmNlbEFuaW1hdGlvbkZyYW1lID0KLSAgICAgIGdsb2JhbFt2ZW5kb3JzW3hdICsgJ0NhbmNlbEFuaW1hdGlvbkZyYW1lJ10gfHwKLSAgICAgIGdsb2JhbFt2ZW5kb3JzW3hdICsgJ0NhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSddOwotICB9Ci0KLSAgaWYgKCFnbG9iYWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKQotICAgIGdsb2JhbC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihjYWxsYmFjaywgZWxlbWVudCkgewotICAgICAgdmFyIGN1cnJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCksCi0gICAgICAgICAgdGltZVRvQ2FsbCA9IE1hdGgubWF4KDAsIDE2IC0gKGN1cnJUaW1lIC0gbGFzdFRpbWUpKSwKLSAgICAgICAgICBpZCA9IGdsb2JhbC5zZXRUaW1lb3V0KAotICAgICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIGNhbGxiYWNrKGN1cnJUaW1lICsgdGltZVRvQ2FsbCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgdGltZVRvQ2FsbAotICAgICAgICAgICk7Ci0KLSAgICAgIGxhc3RUaW1lID0gY3VyclRpbWUgKyB0aW1lVG9DYWxsOwotICAgICAgcmV0dXJuIGlkOwotICAgIH07Ci0KLSAgaWYgKCFnbG9iYWwuY2FuY2VsQW5pbWF0aW9uRnJhbWUpCi0gICAgZ2xvYmFsLmNhbmNlbEFuaW1hdGlvbkZyYW1lID0gZnVuY3Rpb24oaWQpIHsKLSAgICAgIGNsZWFyVGltZW91dChpZCk7Ci0gICAgfTsKLQotICAvKioKLSAgICogRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgcG9seWZpbGwgZm91bmQgb24gTUROLgotICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9GdW5jdGlvbi9iaW5kI0NvbXBhdGliaWxpdHkKLSAgICogUHVibGljIGRvbWFpbgotICAgKi8KLSAgaWYgKCFGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkKLSAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKG9UaGlzKSB7Ci0gICAgICBpZiAodHlwZW9mIHRoaXMgIT09ICdmdW5jdGlvbicpCi0gICAgICAgIC8vIENsb3Nlc3QgdGhpbmcgcG9zc2libGUgdG8gdGhlIEVDTUFTY3JpcHQgNSBpbnRlcm5hbCBJc0NhbGxhYmxlCi0gICAgICAgIC8vIGZ1bmN0aW9uOgotICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAotICAgICAgICAgICdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIHdoYXQgaXMgdHJ5aW5nIHRvIGJlIGJvdW5kIGlzIG5vdCBjYWxsYWJsZScKLSAgICAgICAgKTsKLQotICAgICAgdmFyIGFBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSwKLSAgICAgICAgICBmVG9CaW5kID0gdGhpcywKLSAgICAgICAgICBmTk9QLAotICAgICAgICAgIGZCb3VuZDsKLQotICAgICAgZk5PUCA9IGZ1bmN0aW9uKCkge307Ci0gICAgICBmQm91bmQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIGZUb0JpbmQuYXBwbHkoCi0gICAgICAgICAgdGhpcyBpbnN0YW5jZW9mIGZOT1AgJiYgb1RoaXMgPwotICAgICAgICAgICAgdGhpcyA6Ci0gICAgICAgICAgICBvVGhpcywKLSAgICAgICAgICBhQXJncy5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSkKLSAgICAgICAgKTsKLSAgICAgIH07Ci0KLSAgICAgIGZOT1AucHJvdG90eXBlID0gdGhpcy5wcm90b3R5cGU7Ci0gICAgICBmQm91bmQucHJvdG90eXBlID0gbmV3IGZOT1AoKTsKLQotICAgICAgcmV0dXJuIGZCb3VuZDsKLSAgICB9OwotfSkodGhpcyk7Ci0KLTsoZnVuY3Rpb24odW5kZWZpbmVkKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBpZiAodHlwZW9mIHNpZ21hID09PSAndW5kZWZpbmVkJykKLSAgICB0aHJvdyAnc2lnbWEgaXMgbm90IGRlY2xhcmVkJzsKLQotICAvLyBQYWNrYWdlcyBpbml0aWFsaXphdGlvbjoKLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5zZXR0aW5ncycpOwotCi0gIHZhciBzZXR0aW5ncyA9IHsKLSAgICAvKioKLSAgICAgKiBHUkFQSCBTRVRUSU5HUzoKLSAgICAgKiAqKioqKioqKioqKioqKioKLSAgICAgKi8KLSAgICAvLyB7Ym9vbGVhbn0gSW5kaWNhdGVzIGlmIHRoZSBkYXRhIGhhdmUgdG8gYmUgY2xvbmVkIGluIG1ldGhvZHMgdG8gYWRkCi0gICAgLy8gICAgICAgICAgIG5vZGVzIG9yIGVkZ2VzLgotICAgIGNsb25lOiB0cnVlLAotICAgIC8vIHtib29sZWFufSBJbmRpY2F0ZXMgaWYgbm9kZXMgImlkIiB2YWx1ZXMgYW5kIGVkZ2VzICJpZCIsICJzb3VyY2UiIGFuZAotICAgIC8vICAgICAgICAgICAidGFyZ2V0IiB2YWx1ZXMgbXVzdCBiZSBzZXQgYXMgaW1tdXRhYmxlLgotICAgIGltbXV0YWJsZTogdHJ1ZSwKLSAgICAvLyB7Ym9vbGVhbn0gSW5kaWNhdGVzIGlmIHNpZ21hIGNhbiBsb2cgaXRzIGVycm9ycyBhbmQgd2FybmluZ3MuCi0gICAgdmVyYm9zZTogZmFsc2UsCi0KLQotICAgIC8qKgotICAgICAqIFJFTkRFUkVSUyBTRVRUSU5HUzoKLSAgICAgKiAqKioqKioqKioqKioqKioqKioqCi0gICAgICovCi0gICAgLy8ge3N0cmluZ30KLSAgICBjbGFzc1ByZWZpeDogJ3NpZ21hJywKLSAgICAvLyB7c3RyaW5nfQotICAgIGRlZmF1bHROb2RlVHlwZTogJ2RlZicsCi0gICAgLy8ge3N0cmluZ30KLSAgICBkZWZhdWx0RWRnZVR5cGU6ICdkZWYnLAotICAgIC8vIHtzdHJpbmd9Ci0gICAgZGVmYXVsdExhYmVsQ29sb3I6ICcjMDAwJywKLSAgICAvLyB7c3RyaW5nfQotICAgIGRlZmF1bHRFZGdlQ29sb3I6ICcjMDAwJywKLSAgICAvLyB7c3RyaW5nfQotICAgIGRlZmF1bHROb2RlQ29sb3I6ICcjMDAwJywKLSAgICAvLyB7c3RyaW5nfQotICAgIGRlZmF1bHRMYWJlbFNpemU6IDE0LAotICAgIC8vIHtzdHJpbmd9IEluZGljYXRlcyBob3cgdG8gY2hvb3NlIHRoZSBlZGdlcyBjb2xvci4gQXZhaWxhYmxlIHZhbHVlczoKLSAgICAvLyAgICAgICAgICAic291cmNlIiwgInRhcmdldCIsICJkZWZhdWx0IgotICAgIGVkZ2VDb2xvcjogJ3NvdXJjZScsCi0gICAgLy8ge251bWJlcn0gRGVmaW5lcyB0aGUgbWluaW1hbCBlZGdlJ3MgYXJyb3cgZGlzcGxheSBzaXplLgotICAgIG1pbkFycm93U2l6ZTogMCwKLSAgICAvLyB7c3RyaW5nfQotICAgIGZvbnQ6ICdhcmlhbCcsCi0gICAgLy8ge3N0cmluZ30gRXhhbXBsZTogJ2JvbGQnCi0gICAgZm9udFN0eWxlOiAnJywKLSAgICAvLyB7c3RyaW5nfSBJbmRpY2F0ZXMgaG93IHRvIGNob29zZSB0aGUgbGFiZWxzIGNvbG9yLiBBdmFpbGFibGUgdmFsdWVzOgotICAgIC8vICAgICAgICAgICJub2RlIiwgImRlZmF1bHQiCi0gICAgbGFiZWxDb2xvcjogJ2RlZmF1bHQnLAotICAgIC8vIHtzdHJpbmd9IEluZGljYXRlcyBob3cgdG8gY2hvb3NlIHRoZSBsYWJlbHMgc2l6ZS4gQXZhaWxhYmxlIHZhbHVlczoKLSAgICAvLyAgICAgICAgICAiZml4ZWQiLCAicHJvcG9ydGlvbmFsIgotICAgIGxhYmVsU2l6ZTogJ2ZpeGVkJywKLSAgICAvLyB7c3RyaW5nfSBUaGUgcmF0aW8gYmV0d2VlbiB0aGUgZm9udCBzaXplIG9mIHRoZSBsYWJlbCBhbmQgdGhlIG5vZGUgc2l6ZS4KLSAgICBsYWJlbFNpemVSYXRpbzogMSwKLSAgICAvLyB7bnVtYmVyfSBUaGUgbWluaW11bSBzaXplIGEgbm9kZSBtdXN0IGhhdmUgdG8gc2VlIGl0cyBsYWJlbCBkaXNwbGF5ZWQuCi0gICAgbGFiZWxUaHJlc2hvbGQ6IDgsCi0gICAgLy8ge251bWJlcn0gVGhlIG92ZXJzYW1wbGluZyBmYWN0b3IgdXNlZCBpbiBXZWJHTCByZW5kZXJlci4KLSAgICB3ZWJnbE92ZXJzYW1wbGluZ1JhdGlvOiAyLAotICAgIC8vIHtudW1iZXJ9IFRoZSBzaXplIG9mIHRoZSBib3JkZXIgb2YgaG92ZXJlZCBub2Rlcy4KLSAgICBib3JkZXJTaXplOiAwLAotICAgIC8vIHtudW1iZXJ9IFRoZSBkZWZhdWx0IGhvdmVyZWQgbm9kZSBib3JkZXIncyBjb2xvci4KLSAgICBkZWZhdWx0Tm9kZUJvcmRlckNvbG9yOiAnIzAwMCcsCi0gICAgLy8ge251bWJlcn0gVGhlIGhvdmVyZWQgbm9kZSdzIGxhYmVsIGZvbnQuIElmIG5vdCBzcGVjaWZpZWQsIHdpbGwgaGVyaXRhdGUKLSAgICAvLyAgICAgICAgICB0aGUgImZvbnQiIHZhbHVlLgotICAgIGhvdmVyRm9udDogJycsCi0gICAgLy8ge2Jvb2xlYW59IElmIHRydWUsIHRoZW4gb25seSBvbmUgbm9kZSBjYW4gYmUgaG92ZXJlZCBhdCBhIHRpbWUuCi0gICAgc2luZ2xlSG92ZXI6IHRydWUsCi0gICAgLy8ge3N0cmluZ30gRXhhbXBsZTogJ2JvbGQnCi0gICAgaG92ZXJGb250U3R5bGU6ICcnLAotICAgIC8vIHtzdHJpbmd9IEluZGljYXRlcyBob3cgdG8gY2hvb3NlIHRoZSBob3ZlcmVkIG5vZGVzIHNoYWRvdyBjb2xvci4KLSAgICAvLyAgICAgICAgICBBdmFpbGFibGUgdmFsdWVzOiAibm9kZSIsICJkZWZhdWx0IgotICAgIGxhYmVsSG92ZXJTaGFkb3c6ICdkZWZhdWx0JywKLSAgICAvLyB7c3RyaW5nfQotICAgIGxhYmVsSG92ZXJTaGFkb3dDb2xvcjogJyMwMDAnLAotICAgIC8vIHtzdHJpbmd9IEluZGljYXRlcyBob3cgdG8gY2hvb3NlIHRoZSBob3ZlcmVkIG5vZGVzIGNvbG9yLgotICAgIC8vICAgICAgICAgIEF2YWlsYWJsZSB2YWx1ZXM6ICJub2RlIiwgImRlZmF1bHQiCi0gICAgbm9kZUhvdmVyQ29sb3I6ICdub2RlJywKLSAgICAvLyB7c3RyaW5nfQotICAgIGRlZmF1bHROb2RlSG92ZXJDb2xvcjogJyMwMDAnLAotICAgIC8vIHtzdHJpbmd9IEluZGljYXRlcyBob3cgdG8gY2hvb3NlIHRoZSBob3ZlcmVkIG5vZGVzIGJhY2tncm91bmQgY29sb3IuCi0gICAgLy8gICAgICAgICAgQXZhaWxhYmxlIHZhbHVlczogIm5vZGUiLCAiZGVmYXVsdCIKLSAgICBsYWJlbEhvdmVyQkdDb2xvcjogJ2RlZmF1bHQnLAotICAgIC8vIHtzdHJpbmd9Ci0gICAgZGVmYXVsdEhvdmVyTGFiZWxCR0NvbG9yOiAnI2ZmZicsCi0gICAgLy8ge3N0cmluZ30gSW5kaWNhdGVzIGhvdyB0byBjaG9vc2UgdGhlIGhvdmVyZWQgbGFiZWxzIGNvbG9yLgotICAgIC8vICAgICAgICAgIEF2YWlsYWJsZSB2YWx1ZXM6ICJub2RlIiwgImRlZmF1bHQiCi0gICAgbGFiZWxIb3ZlckNvbG9yOiAnZGVmYXVsdCcsCi0gICAgLy8ge3N0cmluZ30KLSAgICBkZWZhdWx0TGFiZWxIb3ZlckNvbG9yOiAnIzAwMCcsCi0gICAgLy8ge3N0cmluZ30gSW5kaWNhdGVzIGhvdyB0byBjaG9vc2UgdGhlIGVkZ2VzIGhvdmVyIGNvbG9yLiBBdmFpbGFibGUgdmFsdWVzOgotICAgIC8vICAgICAgICAgICJlZGdlIiwgImRlZmF1bHQiCi0gICAgZWRnZUhvdmVyQ29sb3I6ICdlZGdlJywKLSAgICAvLyB7bnVtYmVyfSBUaGUgc2l6ZSBtdWx0aXBsaWNhdG9yIG9mIGhvdmVyZWQgZWRnZXMuCi0gICAgZWRnZUhvdmVyU2l6ZVJhdGlvOiAxLAotICAgIC8vIHtzdHJpbmd9Ci0gICAgZGVmYXVsdEVkZ2VIb3ZlckNvbG9yOiAnIzAwMCcsCi0gICAgLy8ge2Jvb2xlYW59IEluZGljYXRlcyBpZiB0aGUgZWRnZSBleHRyZW1pdGllcyBtdXN0IGJlIGhvdmVyZWQgd2hlbiB0aGUKLSAgICAvLyAgICAgICAgICAgZWRnZSBpcyBob3ZlcmVkLgotICAgIGVkZ2VIb3ZlckV4dHJlbWl0aWVzOiBmYWxzZSwKLSAgICAvLyB7Ym9vbGVhbnN9IFRoZSBkaWZmZXJlbnQgZHJhd2luZyBtb2RlczoKLSAgICAvLyAgICAgICAgICAgZmFsc2U6IExheWVyZWQgbm90IGRpc3BsYXllZC4KLSAgICAvLyAgICAgICAgICAgdHJ1ZTogTGF5ZXJlZCBkaXNwbGF5ZWQuCi0gICAgZHJhd0VkZ2VzOiB0cnVlLAotICAgIGRyYXdOb2RlczogdHJ1ZSwKLSAgICBkcmF3TGFiZWxzOiB0cnVlLAotICAgIGRyYXdFZGdlTGFiZWxzOiBmYWxzZSwKLSAgICAvLyB7Ym9vbGVhbn0gSW5kaWNhdGVzIGlmIHRoZSBlZGdlcyBtdXN0IGJlIGRyYXduIGluIHNldmVyYWwgZnJhbWVzIG9yIGluCi0gICAgLy8gICAgICAgICAgIG9uZSBmcmFtZSwgYXMgdGhlIG5vZGVzIGFuZCBsYWJlbHMgYXJlIGRyYXduLgotICAgIGJhdGNoRWRnZXNEcmF3aW5nOiBmYWxzZSwKLSAgICAvLyB7Ym9vbGVhbn0gSW5kaWNhdGVzIGlmIHRoZSBlZGdlcyBtdXN0IGJlIGhpZGRlbiBkdXJpbmcgZHJhZ2dpbmcgYW5kCi0gICAgLy8gICAgICAgICAgIGFuaW1hdGlvbnMuCi0gICAgaGlkZUVkZ2VzT25Nb3ZlOiBmYWxzZSwKLSAgICAvLyB7bnVtYmVyc30gVGhlIGRpZmZlcmVudCBiYXRjaCBzaXplcywgd2hlbiBlbGVtZW50cyBhcmUgZGlzcGxheWVkIGluCi0gICAgLy8gICAgICAgICAgIHNldmVyYWwgZnJhbWVzLgotICAgIGNhbnZhc0VkZ2VzQmF0Y2hTaXplOiA1MDAsCi0gICAgd2ViZ2xFZGdlc0JhdGNoU2l6ZTogMTAwMCwKLQotCi0KLQotICAgIC8qKgotICAgICAqIFJFU0NBTEUgU0VUVElOR1M6Ci0gICAgICogKioqKioqKioqKioqKioqKioKLSAgICAgKi8KLSAgICAvLyB7c3RyaW5nfSBJbmRpY2F0ZXMgb2YgdG8gc2NhbGUgdGhlIGdyYXBoIHJlbGF0aXZlbHkgdG8gaXRzIGNvbnRhaW5lci4KLSAgICAvLyAgICAgICAgICBBdmFpbGFibGUgdmFsdWVzOiAiaW5zaWRlIiwgIm91dHNpZGUiCi0gICAgc2NhbGluZ01vZGU6ICdpbnNpZGUnLAotICAgIC8vIHtudW1iZXJ9IFRoZSBtYXJnaW4gdG8ga2VlcCBhcm91bmQgdGhlIGdyYXBoLgotICAgIHNpZGVNYXJnaW46IDAsCi0gICAgLy8ge251bWJlcn0gRGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoZSBzbWFsbGVzdCBhbmQgdGhlIGJpZ2dlc3Qgbm9kZSAvIGVkZ2VzCi0gICAgLy8gICAgICAgICAgb24gdGhlIHNjcmVlbi4gVGhpcyBtYXBwaW5nIG1ha2VzIGVhc2llciB0byBkaXNwbGF5IHRoZSBncmFwaCwKLSAgICAvLyAgICAgICAgICBhdm9pZGluZyB0b28gYmlnIG5vZGVzIHRoYXQgdGFrZSBoYWxmIG9mIHRoZSBzY3JlZW4sIG9yIHRvbwotICAgIC8vICAgICAgICAgIHNtYWxsIG9uZXMgdGhhdCBhcmUgbm90IHJlYWRhYmxlLiBJZiB0aGUgdHdvIHBhcmFtZXRlcnMgYXJlCi0gICAgLy8gICAgICAgICAgZXF1YWxzLCB0aGVuIHRoZSBtaW5pbWFsIGRpc3BsYXkgc2l6ZSB3aWxsIGJlIDAuIEFuZCBpZiB0aGV5Ci0gICAgLy8gICAgICAgICAgYXJlIGJvdGggZXF1YWwgdG8gMCwgdGhlbiB0aGVyZSBpcyBubyBtYXBwaW5nLCBhbmQgdGhlIHJhZGl1cwotICAgIC8vICAgICAgICAgIG9mIHRoZSBub2RlcyB3aWxsIGJlIHRoZWlyIHNpemUuCi0gICAgbWluRWRnZVNpemU6IDAuNSwKLSAgICBtYXhFZGdlU2l6ZTogMSwKLSAgICBtaW5Ob2RlU2l6ZTogMSwKLSAgICBtYXhOb2RlU2l6ZTogOCwKLQotCi0KLQotICAgIC8qKgotICAgICAqIENBUFRPUlMgU0VUVElOR1M6Ci0gICAgICogKioqKioqKioqKioqKioqKioKLSAgICAgKi8KLSAgICAvLyB7Ym9vbGVhbn0KLSAgICB0b3VjaEVuYWJsZWQ6IHRydWUsCi0gICAgLy8ge2Jvb2xlYW59Ci0gICAgbW91c2VFbmFibGVkOiB0cnVlLAotICAgIC8vIHtib29sZWFufQotICAgIG1vdXNlV2hlZWxFbmFibGVkOiB0cnVlLAotICAgIC8vIHtib29sZWFufQotICAgIGRvdWJsZUNsaWNrRW5hYmxlZDogdHJ1ZSwKLSAgICAvLyB7Ym9vbGVhbn0gRGVmaW5lcyB3aGV0aGVyIHRoZSBjdXN0b20gZXZlbnRzIHN1Y2ggYXMgImNsaWNrTm9kZSIgY2FuIGJlCi0gICAgLy8gICAgICAgICAgIHVzZWQuCi0gICAgZXZlbnRzRW5hYmxlZDogdHJ1ZSwKLSAgICAvLyB7bnVtYmVyfSBEZWZpbmVzIGJ5IGhvdyBtdWNoIG11bHRpcGxpY2F0aW5nIHRoZSB6b29taW5nIGxldmVsIHdoZW4gdGhlCi0gICAgLy8gICAgICAgICAgdXNlciB6b29tcyB3aXRoIHRoZSBtb3VzZS13aGVlbC4KLSAgICB6b29taW5nUmF0aW86IDEuNywKLSAgICAvLyB7bnVtYmVyfSBEZWZpbmVzIGJ5IGhvdyBtdWNoIG11bHRpcGxpY2F0aW5nIHRoZSB6b29taW5nIGxldmVsIHdoZW4gdGhlCi0gICAgLy8gICAgICAgICAgdXNlciB6b29tcyBieSBkb3VibGUgY2xpY2tpbmcuCi0gICAgZG91YmxlQ2xpY2tab29taW5nUmF0aW86IDIuMiwKLSAgICAvLyB7bnVtYmVyfSBUaGUgbWluaW11bSB6b29taW5nIGxldmVsLgotICAgIHpvb21NaW46IDAuMDYyNSwKLSAgICAvLyB7bnVtYmVyfSBUaGUgbWF4aW11bSB6b29taW5nIGxldmVsLgotICAgIHpvb21NYXg6IDIsCi0gICAgLy8ge251bWJlcn0gVGhlIGR1cmF0aW9uIG9mIGFuaW1hdGlvbnMgZm9sbG93aW5nIGEgbW91c2Ugc2Nyb2xsaW5nLgotICAgIG1vdXNlWm9vbUR1cmF0aW9uOiAyMDAsCi0gICAgLy8ge251bWJlcn0gVGhlIGR1cmF0aW9uIG9mIGFuaW1hdGlvbnMgZm9sbG93aW5nIGEgbW91c2UgZG91YmxlIGNsaWNrLgotICAgIGRvdWJsZUNsaWNrWm9vbUR1cmF0aW9uOiAyMDAsCi0gICAgLy8ge251bWJlcn0gVGhlIGR1cmF0aW9uIG9mIGFuaW1hdGlvbnMgZm9sbG93aW5nIGEgbW91c2UgZHJvcHBpbmcuCi0gICAgbW91c2VJbmVydGlhRHVyYXRpb246IDIwMCwKLSAgICAvLyB7bnVtYmVyfSBUaGUgaW5lcnRpYSBwb3dlciAobW91c2UgY2FwdG9yKS4KLSAgICBtb3VzZUluZXJ0aWFSYXRpbzogMywKLSAgICAvLyB7bnVtYmVyfSBUaGUgZHVyYXRpb24gb2YgYW5pbWF0aW9ucyBmb2xsb3dpbmcgYSB0b3VjaCBkcm9wcGluZy4KLSAgICB0b3VjaEluZXJ0aWFEdXJhdGlvbjogMjAwLAotICAgIC8vIHtudW1iZXJ9IFRoZSBpbmVydGlhIHBvd2VyICh0b3VjaCBjYXB0b3IpLgotICAgIHRvdWNoSW5lcnRpYVJhdGlvOiAzLAotICAgIC8vIHtudW1iZXJ9IFRoZSBtYXhpbXVtIHRpbWUgYmV0d2VlbiB0d28gY2xpY2tzIHRvIG1ha2UgaXQgYSBkb3VibGUgY2xpY2suCi0gICAgZG91YmxlQ2xpY2tUaW1lb3V0OiAzMDAsCi0gICAgLy8ge251bWJlcn0gVGhlIG1heGltdW0gdGltZSBiZXR3ZWVuIHR3byB0YXBzIHRvIG1ha2UgaXQgYSBkb3VibGUgdGFwLgotICAgIGRvdWJsZVRhcFRpbWVvdXQ6IDMwMCwKLSAgICAvLyB7bnVtYmVyfSBUaGUgbWF4aW11bSB0aW1lIG9mIGRyYWdnaW5nIHRvIHRyaWdnZXIgaW50ZXJ0aWEuCi0gICAgZHJhZ1RpbWVvdXQ6IDIwMCwKLQotCi0KLQotICAgIC8qKgotICAgICAqIEdMT0JBTCBTRVRUSU5HUzoKLSAgICAgKiAqKioqKioqKioqKioqKioqCi0gICAgICovCi0gICAgLy8ge2Jvb2xlYW59IERldGVybWluZXMgd2hldGhlciB0aGUgaW5zdGFuY2UgaGFzIHRvIHJlZnJlc2ggaXRzZWxmCi0gICAgLy8gICAgICAgICAgIGF1dG9tYXRpY2FsbHkgd2hlbiBhICJyZXNpemUiIGV2ZW50IGlzIGRpc3BhdGNoZWQgZnJvbSB0aGUKLSAgICAvLyAgICAgICAgICAgd2luZG93IG9iamVjdC4KLSAgICBhdXRvUmVzaXplOiB0cnVlLAotICAgIC8vIHtib29sZWFufSBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlICJyZXNjYWxlIiBtaWRkbGV3YXJlIGhhcyB0byBiZSBjYWxsZWQKLSAgICAvLyAgICAgICAgICAgYXV0b21hdGljYWxseSBmb3IgZWFjaCBjYW1lcmEgb24gcmVmcmVzaC4KLSAgICBhdXRvUmVzY2FsZTogdHJ1ZSwKLSAgICAvLyB7Ym9vbGVhbn0gSWYgc2V0IHRvIGZhbHNlLCB0aGUgY2FtZXJhIG1ldGhvZCAiZ29UbyIgd2lsbCBiYXNpY2FsbHkgZG8KLSAgICAvLyAgICAgICAgICAgbm90aGluZy4KLSAgICBlbmFibGVDYW1lcmE6IHRydWUsCi0gICAgLy8ge2Jvb2xlYW59IElmIHNldCB0byBmYWxzZSwgdGhlIG5vZGVzIGNhbm5vdCBiZSBob3ZlcmVkLgotICAgIGVuYWJsZUhvdmVyaW5nOiB0cnVlLAotICAgIC8vIHtib29sZWFufSBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGVkZ2VzIGNhbiBiZSBob3ZlcmVkLgotICAgIGVuYWJsZUVkZ2VIb3ZlcmluZzogZmFsc2UsCi0gICAgLy8ge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGFyZWEgYXJvdW5kIHRoZSBlZGdlcyB0byBhY3RpdmF0ZSBob3ZlcmluZy4KLSAgICBlZGdlSG92ZXJQcmVjaXNpb246IDUsCi0gICAgLy8ge2Jvb2xlYW59IElmIHNldCB0byB0cnVlLCB0aGUgcmVzY2FsZSBtaWRkbGV3YXJlIHdpbGwgaWdub3JlIG5vZGUgc2l6ZXMKLSAgICAvLyAgICAgICAgICAgdG8gZGV0ZXJtaW5lIHRoZSBncmFwaHMgYm91bmRpbmdzLgotICAgIHJlc2NhbGVJZ25vcmVTaXplOiBmYWxzZSwKLSAgICAvLyB7Ym9vbGVhbn0gRGV0ZXJtaW5lcyBpZiB0aGUgY29yZSBoYXMgdG8gdHJ5IHRvIGNhdGNoIGVycm9ycyBvbgotICAgIC8vICAgICAgICAgICByZW5kZXJpbmcuCi0gICAgc2tpcEVycm9yczogZmFsc2UsCi0KLQotCi0KLSAgICAvKioKLSAgICAgKiBDQU1FUkEgU0VUVElOR1M6Ci0gICAgICogKioqKioqKioqKioqKioqKgotICAgICAqLwotICAgIC8vIHtudW1iZXJ9IFRoZSBwb3dlciBkZWdyZWVzIGFwcGxpZWQgdG8gdGhlIG5vZGVzL2VkZ2VzIHNpemUgcmVsYXRpdmVseSB0bwotICAgIC8vICAgICAgICAgIHRoZSB6b29taW5nIGxldmVsLiBCYXNpY2FsbHk6Ci0gICAgLy8gICAgICAgICAgID4gb25TY3JlZW5SID0gTWF0aC5wb3coem9vbSwgbm9kZXNQb3dSYXRpbykgKiBSCi0gICAgLy8gICAgICAgICAgID4gb25TY3JlZW5UID0gTWF0aC5wb3coem9vbSwgZWRnZXNQb3dSYXRpbykgKiBUCi0gICAgbm9kZXNQb3dSYXRpbzogMC41LAotICAgIGVkZ2VzUG93UmF0aW86IDAuNSwKLQotCi0KLQotICAgIC8qKgotICAgICAqIEFOSU1BVElPTlMgU0VUVElOR1M6Ci0gICAgICogKioqKioqKioqKioqKioqKioqKioKLSAgICAgKi8KLSAgICAvLyB7bnVtYmVyfSBUaGUgZGVmYXVsdCBhbmltYXRpb24gdGltZS4KLSAgICBhbmltYXRpb25zVGltZTogMjAwCi0gIH07Ci0KLSAgLy8gRXhwb3J0IHRoZSBwcmV2aW91c2x5IGRlc2lnbmVkIHNldHRpbmdzOgotICBzaWdtYS5zZXR0aW5ncyA9IHNpZ21hLnV0aWxzLmV4dGVuZChzaWdtYS5zZXR0aW5ncyB8fCB7fSwgc2V0dGluZ3MpOwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIC8qKgotICAgKiBEaXNwYXRjaGVyIGNvbnN0cnVjdG9yLgotICAgKgotICAgKiBAcmV0dXJuIHtkaXNwYXRjaGVyfSBUaGUgbmV3IGRpc3BhdGNoZXIgaW5zdGFuY2UuCi0gICAqLwotICB2YXIgZGlzcGF0Y2hlciA9IGZ1bmN0aW9uKCkgewotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnX2hhbmRsZXJzJywgewotICAgICAgdmFsdWU6IHt9Ci0gICAgfSk7Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqIFdpbGwgZXhlY3V0ZSB0aGUgaGFuZGxlciBldmVyeXRpbWUgdGhhdCB0aGUgaW5kaWNhdGVkIGV2ZW50IChvciB0aGUKLSAgICogaW5kaWNhdGVkIGV2ZW50cykgd2lsbCBiZSB0cmlnZ2VyZWQuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICAgICAgICAgIGV2ZW50cyAgVGhlIG5hbWUgb2YgdGhlIGV2ZW50IChvciB0aGUgZXZlbnRzCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdGVkIGJ5IHNwYWNlcykuCi0gICAqIEBwYXJhbSAge2Z1bmN0aW9uKE9iamVjdCl9IGhhbmRsZXIgVGhlIGhhbmRsZXIgdG8gYmluZC4KLSAgICogQHJldHVybiB7ZGlzcGF0Y2hlcn0gICAgICAgICAgICAgICBSZXR1cm5zIHRoZSBpbnN0YW5jZSBpdHNlbGYuCi0gICAqLwotICBkaXNwYXRjaGVyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24oZXZlbnRzLCBoYW5kbGVyKSB7Ci0gICAgdmFyIGksCi0gICAgICAgIGwsCi0gICAgICAgIGV2ZW50LAotICAgICAgICBlQXJyYXk7Ci0KLSAgICBpZiAoCi0gICAgICBhcmd1bWVudHMubGVuZ3RoID09PSAxICYmCi0gICAgICB0eXBlb2YgYXJndW1lbnRzWzBdID09PSAnb2JqZWN0JwotICAgICkKLSAgICAgIGZvciAoZXZlbnRzIGluIGFyZ3VtZW50c1swXSkKLSAgICAgICAgdGhpcy5iaW5kKGV2ZW50cywgYXJndW1lbnRzWzBdW2V2ZW50c10pOwotICAgIGVsc2UgaWYgKAotICAgICAgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJgotICAgICAgdHlwZW9mIGFyZ3VtZW50c1sxXSA9PT0gJ2Z1bmN0aW9uJwotICAgICkgewotICAgICAgZUFycmF5ID0gdHlwZW9mIGV2ZW50cyA9PT0gJ3N0cmluZycgPyBldmVudHMuc3BsaXQoJyAnKSA6IGV2ZW50czsKLQotICAgICAgZm9yIChpID0gMCwgbCA9IGVBcnJheS5sZW5ndGg7IGkgIT09IGw7IGkgKz0gMSkgewotICAgICAgICBldmVudCA9IGVBcnJheVtpXTsKLQotICAgICAgICAvLyBDaGVjayB0aGF0IGV2ZW50IGlzIG5vdCAnJzoKLSAgICAgICAgaWYgKCFldmVudCkKLSAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoIXRoaXMuX2hhbmRsZXJzW2V2ZW50XSkKLSAgICAgICAgICB0aGlzLl9oYW5kbGVyc1tldmVudF0gPSBbXTsKLQotICAgICAgICAvLyBVc2luZyBhbiBvYmplY3QgaW5zdGVhZCBvZiBkaXJlY3RseSB0aGUgaGFuZGxlciB3aWxsIG1ha2UgcG9zc2libGUKLSAgICAgICAgLy8gbGF0ZXIgdG8gYWRkIGZsYWdzCi0gICAgICAgIHRoaXMuX2hhbmRsZXJzW2V2ZW50XS5wdXNoKHsKLSAgICAgICAgICBoYW5kbGVyOiBoYW5kbGVyCi0gICAgICAgIH0pOwotICAgICAgfQotICAgIH0gZWxzZQotICAgICAgdGhyb3cgJ2JpbmQ6IFdyb25nIGFyZ3VtZW50cy4nOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFJlbW92ZXMgdGhlIGhhbmRsZXIgZnJvbSBhIHNwZWNpZmllZCBldmVudCAob3Igc3BlY2lmaWVkIGV2ZW50cykuCi0gICAqCi0gICAqIEBwYXJhbSAgez9zdHJpbmd9ICAgICAgICAgICBldmVudHMgIFRoZSBuYW1lIG9mIHRoZSBldmVudCAob3IgdGhlIGV2ZW50cwotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0ZWQgYnkgc3BhY2VzKS4gSWYgdW5kZWZpbmVkLAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIGFsbCBoYW5kbGVycyBhcmUgcmVtb3ZlZC4KLSAgICogQHBhcmFtICB7P2Z1bmN0aW9uKG9iamVjdCl9IGhhbmRsZXIgVGhlIGhhbmRsZXIgdG8gdW5iaW5kLiBJZiB1bmRlZmluZWQsCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2ggaGFuZGxlciBib3VuZCB0byB0aGUgZXZlbnQgb3IgdGhlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cyB3aWxsIGJlIHJlbW92ZWQuCi0gICAqIEByZXR1cm4ge2Rpc3BhdGNoZXJ9ICAgICAgICAgICAgICAgIFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIGRpc3BhdGNoZXIucHJvdG90eXBlLnVuYmluZCA9IGZ1bmN0aW9uKGV2ZW50cywgaGFuZGxlcikgewotICAgIHZhciBpLAotICAgICAgICBuLAotICAgICAgICBqLAotICAgICAgICBtLAotICAgICAgICBrLAotICAgICAgICBhLAotICAgICAgICBldmVudCwKLSAgICAgICAgZUFycmF5ID0gdHlwZW9mIGV2ZW50cyA9PT0gJ3N0cmluZycgPyBldmVudHMuc3BsaXQoJyAnKSA6IGV2ZW50czsKLQotICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkgewotICAgICAgZm9yIChrIGluIHRoaXMuX2hhbmRsZXJzKQotICAgICAgICBkZWxldGUgdGhpcy5faGFuZGxlcnNba107Ci0gICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0KLSAgICBpZiAoaGFuZGxlcikgewotICAgICAgZm9yIChpID0gMCwgbiA9IGVBcnJheS5sZW5ndGg7IGkgIT09IG47IGkgKz0gMSkgewotICAgICAgICBldmVudCA9IGVBcnJheVtpXTsKLSAgICAgICAgaWYgKHRoaXMuX2hhbmRsZXJzW2V2ZW50XSkgewotICAgICAgICAgIGEgPSBbXTsKLSAgICAgICAgICBmb3IgKGogPSAwLCBtID0gdGhpcy5faGFuZGxlcnNbZXZlbnRdLmxlbmd0aDsgaiAhPT0gbTsgaiArPSAxKQotICAgICAgICAgICAgaWYgKHRoaXMuX2hhbmRsZXJzW2V2ZW50XVtqXS5oYW5kbGVyICE9PSBoYW5kbGVyKQotICAgICAgICAgICAgICBhLnB1c2godGhpcy5faGFuZGxlcnNbZXZlbnRdW2pdKTsKLQotICAgICAgICAgIHRoaXMuX2hhbmRsZXJzW2V2ZW50XSA9IGE7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodGhpcy5faGFuZGxlcnNbZXZlbnRdICYmIHRoaXMuX2hhbmRsZXJzW2V2ZW50XS5sZW5ndGggPT09IDApCi0gICAgICAgICAgZGVsZXRlIHRoaXMuX2hhbmRsZXJzW2V2ZW50XTsKLSAgICAgIH0KLSAgICB9IGVsc2UKLSAgICAgIGZvciAoaSA9IDAsIG4gPSBlQXJyYXkubGVuZ3RoOyBpICE9PSBuOyBpICs9IDEpCi0gICAgICAgIGRlbGV0ZSB0aGlzLl9oYW5kbGVyc1tlQXJyYXlbaV1dOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIEV4ZWN1dGVzIGVhY2ggaGFuZGxlciBib3VuZCB0byB0aGUgZXZlbnQKLSAgICoKLSAgICogQHBhcmFtICB7c3RyaW5nfSAgICAgZXZlbnRzIFRoZSBuYW1lIG9mIHRoZSBldmVudCAob3IgdGhlIGV2ZW50cyBzZXBhcmF0ZWQKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHNwYWNlcykuCi0gICAqIEBwYXJhbSAgez9vYmplY3R9ICAgIGRhdGEgICBUaGUgY29udGVudCBvZiB0aGUgZXZlbnQgKG9wdGlvbmFsKS4KLSAgICogQHJldHVybiB7ZGlzcGF0Y2hlcn0gICAgICAgIFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIGRpc3BhdGNoZXIucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgPSBmdW5jdGlvbihldmVudHMsIGRhdGEpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbiwKLSAgICAgICAgaiwKLSAgICAgICAgbSwKLSAgICAgICAgYSwKLSAgICAgICAgZXZlbnQsCi0gICAgICAgIGV2ZW50TmFtZSwKLSAgICAgICAgc2VsZiA9IHRoaXMsCi0gICAgICAgIGVBcnJheSA9IHR5cGVvZiBldmVudHMgPT09ICdzdHJpbmcnID8gZXZlbnRzLnNwbGl0KCcgJykgOiBldmVudHM7Ci0KLSAgICBkYXRhID0gZGF0YSA9PT0gdW5kZWZpbmVkID8ge30gOiBkYXRhOwotCi0gICAgZm9yIChpID0gMCwgbiA9IGVBcnJheS5sZW5ndGg7IGkgIT09IG47IGkgKz0gMSkgewotICAgICAgZXZlbnROYW1lID0gZUFycmF5W2ldOwotCi0gICAgICBpZiAodGhpcy5faGFuZGxlcnNbZXZlbnROYW1lXSkgewotICAgICAgICBldmVudCA9IHNlbGYuZ2V0RXZlbnQoZXZlbnROYW1lLCBkYXRhKTsKLSAgICAgICAgYSA9IFtdOwotCi0gICAgICAgIGZvciAoaiA9IDAsIG0gPSB0aGlzLl9oYW5kbGVyc1tldmVudE5hbWVdLmxlbmd0aDsgaiAhPT0gbTsgaiArPSAxKSB7Ci0gICAgICAgICAgdGhpcy5faGFuZGxlcnNbZXZlbnROYW1lXVtqXS5oYW5kbGVyKGV2ZW50KTsKLSAgICAgICAgICBpZiAoIXRoaXMuX2hhbmRsZXJzW2V2ZW50TmFtZV1bal0ub25lKQotICAgICAgICAgICAgYS5wdXNoKHRoaXMuX2hhbmRsZXJzW2V2ZW50TmFtZV1bal0pOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5faGFuZGxlcnNbZXZlbnROYW1lXSA9IGE7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFJldHVybiBhbiBldmVudCBvYmplY3QuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gIGV2ZW50cyBUaGUgbmFtZSBvZiB0aGUgZXZlbnQuCi0gICAqIEBwYXJhbSAgez9vYmplY3R9IGRhdGEgICBUaGUgY29udGVudCBvZiB0aGUgZXZlbnQgKG9wdGlvbmFsKS4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgIFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIGRpc3BhdGNoZXIucHJvdG90eXBlLmdldEV2ZW50ID0gZnVuY3Rpb24oZXZlbnQsIGRhdGEpIHsKLSAgICByZXR1cm4gewotICAgICAgdHlwZTogZXZlbnQsCi0gICAgICBkYXRhOiBkYXRhIHx8IHt9LAotICAgICAgdGFyZ2V0OiB0aGlzCi0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICogQSB1c2VmdWwgZnVuY3Rpb24gdG8gZGVhbCB3aXRoIGluaGVyaXRhbmNlLiBJdCB3aWxsIG1ha2UgdGhlIHRhcmdldAotICAgKiBpbmhlcml0IHRoZSBwcm90b3R5cGUgb2YgdGhlIGNsYXNzIGRpc3BhdGNoZXIgYXMgd2VsbCBhcyBpdHMgY29uc3RydWN0b3IuCi0gICAqCi0gICAqIEBwYXJhbSB7b2JqZWN0fSB0YXJnZXQgVGhlIHRhcmdldC4KLSAgICovCi0gIGRpc3BhdGNoZXIuZXh0ZW5kID0gZnVuY3Rpb24odGFyZ2V0LCBhcmdzKSB7Ci0gICAgdmFyIGs7Ci0KLSAgICBmb3IgKGsgaW4gZGlzcGF0Y2hlci5wcm90b3R5cGUpCi0gICAgICBpZiAoZGlzcGF0Y2hlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoaykpCi0gICAgICAgIHRhcmdldFtrXSA9IGRpc3BhdGNoZXIucHJvdG90eXBlW2tdOwotCi0gICAgZGlzcGF0Y2hlci5hcHBseSh0YXJnZXQsIGFyZ3MpOwotICB9OwotCi0KLQotCi0gIC8qKgotICAgKiBFWFBPUlQ6Ci0gICAqICoqKioqKioKLSAgICovCi0gIGlmICh0eXBlb2YgdGhpcy5zaWdtYSAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICB0aGlzLnNpZ21hLmNsYXNzZXMgPSB0aGlzLnNpZ21hLmNsYXNzZXMgfHwge307Ci0gICAgdGhpcy5zaWdtYS5jbGFzc2VzLmRpc3BhdGNoZXIgPSBkaXNwYXRjaGVyOwotICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykgewotICAgIGlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiBtb2R1bGUuZXhwb3J0cykKLSAgICAgIGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGRpc3BhdGNoZXI7Ci0gICAgZXhwb3J0cy5kaXNwYXRjaGVyID0gZGlzcGF0Y2hlcjsKLSAgfSBlbHNlCi0gICAgdGhpcy5kaXNwYXRjaGVyID0gZGlzcGF0Y2hlcjsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICAvKioKLSAgICogVGhpcyB1dGlscyBhaW1zIHRvIGZhY2lsaXRhdGUgdGhlIG1hbmlwdWxhdGlvbiBvZiBlYWNoIGluc3RhbmNlIHNldHRpbmcuCi0gICAqIFVzaW5nIGEgZnVuY3Rpb24gaW5zdGVhZCBvZiBhbiBvYmplY3QgYnJpbmdzIHR3byBtYWluIGFkdmFudGFnZXM6IEZpcnN0LAotICAgKiBpdCB3aWxsIGJlIGVhc2llciBpbiB0aGUgZnV0dXJlIHRvIGNhdGNoIHNldHRpbmdzIHVwZGF0ZXMgdGhyb3VnaCBhCi0gICAqIGZ1bmN0aW9uIHRoYW4gYW4gb2JqZWN0LiBTZWNvbmQsIGdpdmluZyBpdCBhIGZ1bGwgb2JqZWN0IHdpbGwgIm1lcmdlIiBpdAotICAgKiB0byB0aGUgc2V0dGluZ3Mgb2JqZWN0IHByb3Blcmx5LCBrZWVwaW5nIHVzIHRvIGhhdmUgdG8gYWx3YXlzIGFkZCBhIGxvb3AuCi0gICAqCi0gICAqIEByZXR1cm4ge2NvbmZpZ3VyYWJsZX0gVGhlICJzZXR0aW5ncyIgZnVuY3Rpb24uCi0gICAqLwotICB2YXIgY29uZmlndXJhYmxlID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGksCi0gICAgICAgIGwsCi0gICAgICAgIGRhdGEgPSB7fSwKLSAgICAgICAgZGF0YXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOwotCi0gICAgLyoqCi0gICAgICogVGhlIG1ldGhvZCB0byB1c2UgdG8gc2V0IG9yIGdldCBhbnkgcHJvcGVydHkgb2YgdGhpcyBpbnN0YW5jZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge3N0cmluZ3xvYmplY3R9ICAgIGExIElmIGl0IGlzIGEgc3RyaW5nIGFuZCBpZiBhMiBpcyB1bmRlZmluZWQsCi0gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiBpdCB3aWxsIHJldHVybiB0aGUgY29ycmVzcG9uZGluZwotICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5LiBJZiBpdCBpcyBhIHN0cmluZyBhbmQgaWYgYTIgaXMKLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQsIHRoZW4gaXQgd2lsbCBzZXQgYTIgYXMgdGhlIHByb3BlcnR5Ci0gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyB0byBhMSwgYW5kIHJldHVybiB0aGlzLiBJZgotICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0IGlzIGFuIG9iamVjdCwgdGhlbiBlYWNoIHBhaXIgc3RyaW5nICsKLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Qob3IgYW55IG90aGVyIHR5cGUpIHdpbGwgYmUgc2V0IGFzIGEKLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eS4KLSAgICAgKiBAcGFyYW0gIHsqP30gICAgICAgICAgICAgICBhMiBUaGUgbmV3IHByb3BlcnR5IGNvcnJlc3BvbmRpbmcgdG8gYTEgaWYgYTEKLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBhIHN0cmluZy4KLSAgICAgKiBAcmV0dXJuIHsqfGNvbmZpZ3VyYWJsZX0gICAgICBSZXR1cm5zIGl0c2VsZiBvciB0aGUgY29ycmVzcG9uZGluZwotICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5LgotICAgICAqCi0gICAgICogUG9seW1vcnBoaXNtOgotICAgICAqICoqKioqKioqKioqKioKLSAgICAgKiBIZXJlIGFyZSBzb21lIGJhc2ljIHVzZSBleGFtcGxlczoKLSAgICAgKgotICAgICAqICA+IHNldHRpbmdzID0gbmV3IGNvbmZpZ3VyYWJsZSgpOwotICAgICAqICA+IHNldHRpbmdzKCdteVNldHRpbmcnLCA0Mik7Ci0gICAgICogID4gc2V0dGluZ3MoJ215U2V0dGluZycpOyAvLyBMb2dzOiA0MgotICAgICAqICA+IHNldHRpbmdzKCdteVNldHRpbmcnLCAxMjMpOwotICAgICAqICA+IHNldHRpbmdzKCdteVNldHRpbmcnKTsgLy8gTG9nczogMTIzCi0gICAgICogID4gc2V0dGluZ3Moe215U2V0dGluZzogNDU2fSk7Ci0gICAgICogID4gc2V0dGluZ3MoJ215U2V0dGluZycpOyAvLyBMb2dzOiA0NTYKLSAgICAgKgotICAgICAqIEFsc28sIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgZnVuY3Rpb24gYXMgYSBmYWxsYmFjazoKLSAgICAgKiAgPiBzZXR0aW5ncyh7bXlTZXR0aW5nOiAnYWJjJ30sICdteVNldHRpbmcnKTsgIC8vIExvZ3M6ICdhYmMnCi0gICAgICogID4gc2V0dGluZ3Moe2hpc1NldHRpbmc6ICdhYmMnfSwgJ215U2V0dGluZycpOyAvLyBMb2dzOiA0NTYKLSAgICAgKi8KLSAgICB2YXIgc2V0dGluZ3MgPSBmdW5jdGlvbihhMSwgYTIpIHsKLSAgICAgIHZhciBvLAotICAgICAgICAgIGksCi0gICAgICAgICAgbCwKLSAgICAgICAgICBrOwotCi0gICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2YgYTEgPT09ICdzdHJpbmcnKSB7Ci0gICAgICAgIGlmIChkYXRhW2ExXSAhPT0gdW5kZWZpbmVkKQotICAgICAgICAgIHJldHVybiBkYXRhW2ExXTsKLSAgICAgICAgZm9yIChpID0gMCwgbCA9IGRhdGFzLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgICAgICBpZiAoZGF0YXNbaV1bYTFdICE9PSB1bmRlZmluZWQpCi0gICAgICAgICAgICByZXR1cm4gZGF0YXNbaV1bYTFdOwotICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwotICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYTEgPT09ICdvYmplY3QnICYmIHR5cGVvZiBhMiA9PT0gJ3N0cmluZycpIHsKLSAgICAgICAgcmV0dXJuIChhMSB8fCB7fSlbYTJdICE9PSB1bmRlZmluZWQgPyBhMVthMl0gOiBzZXR0aW5ncyhhMik7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBvID0gKHR5cGVvZiBhMSA9PT0gJ29iamVjdCcgJiYgYTIgPT09IHVuZGVmaW5lZCkgPyBhMSA6IHt9OwotCi0gICAgICAgIGlmICh0eXBlb2YgYTEgPT09ICdzdHJpbmcnKQotICAgICAgICAgIG9bYTFdID0gYTI7Ci0KLSAgICAgICAgZm9yIChpID0gMCwgayA9IE9iamVjdC5rZXlzKG8pLCBsID0gay5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgICAgZGF0YVtrW2ldXSA9IG9ba1tpXV07Ci0KLSAgICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgICB9Ci0gICAgfTsKLQotICAgIC8qKgotICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgY29uZmlndXJhYmxlIGZ1bmN0aW9uLCB3aXRoIG5ldyBvYmplY3RzCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3QqfSAgQW55IG51bWJlciBvZiBvYmplY3RzIHRvIHNlYXJjaCBpbi4KLSAgICAgKiBAcmV0dXJuIHtmdW5jdGlvbn0gUmV0dXJucyB0aGUgZnVuY3Rpb24uIENoZWNrIGl0cyBkb2N1bWVudGF0aW9uIHRvIGtub3cKLSAgICAgKiAgICAgICAgICAgICAgICAgICAgbW9yZSBhYm91dCBob3cgaXQgd29ya3MuCi0gICAgICovCi0gICAgc2V0dGluZ3MuZW1iZWRPYmplY3RzID0gZnVuY3Rpb24oKSB7Ci0gICAgICB2YXIgYXJncyA9IGRhdGFzLmNvbmNhdCgKLSAgICAgICAgZGF0YQotICAgICAgKS5jb25jYXQoCi0gICAgICAgIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhcmd1bWVudHMsIDApCi0gICAgICApOwotCi0gICAgICByZXR1cm4gY29uZmlndXJhYmxlLmFwcGx5KHt9LCBhcmdzKTsKLSAgICB9OwotCi0gICAgLy8gSW5pdGlhbGl6ZQotICAgIGZvciAoaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgc2V0dGluZ3MoYXJndW1lbnRzW2ldKTsKLQotICAgIHJldHVybiBzZXR0aW5nczsKLSAgfTsKLQotICAvKioKLSAgICogRVhQT1JUOgotICAgKiAqKioqKioqCi0gICAqLwotICBpZiAodHlwZW9mIHRoaXMuc2lnbWEgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgdGhpcy5zaWdtYS5jbGFzc2VzID0gdGhpcy5zaWdtYS5jbGFzc2VzIHx8IHt9OwotICAgIHRoaXMuc2lnbWEuY2xhc3Nlcy5jb25maWd1cmFibGUgPSBjb25maWd1cmFibGU7Ci0gIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzKQotICAgICAgZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gY29uZmlndXJhYmxlOwotICAgIGV4cG9ydHMuY29uZmlndXJhYmxlID0gY29uZmlndXJhYmxlOwotICB9IGVsc2UKLSAgICB0aGlzLmNvbmZpZ3VyYWJsZSA9IGNvbmZpZ3VyYWJsZTsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24odW5kZWZpbmVkKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICB2YXIgX21ldGhvZHMgPSBPYmplY3QuY3JlYXRlKG51bGwpLAotICAgICAgX2luZGV4ZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpLAotICAgICAgX2luaXRCaW5kaW5ncyA9IE9iamVjdC5jcmVhdGUobnVsbCksCi0gICAgICBfbWV0aG9kQmluZGluZ3MgPSBPYmplY3QuY3JlYXRlKG51bGwpLAotICAgICAgX21ldGhvZEJlZm9yZUJpbmRpbmdzID0gT2JqZWN0LmNyZWF0ZShudWxsKSwKLSAgICAgIF9kZWZhdWx0U2V0dGluZ3MgPSB7Ci0gICAgICAgIGltbXV0YWJsZTogdHJ1ZSwKLSAgICAgICAgY2xvbmU6IHRydWUKLSAgICAgIH0sCi0gICAgICBfZGVmYXVsdFNldHRpbmdzRnVuY3Rpb24gPSBmdW5jdGlvbihrZXkpIHsKLSAgICAgICAgcmV0dXJuIF9kZWZhdWx0U2V0dGluZ3Nba2V5XTsKLSAgICAgIH07Ci0KLSAgLyoqCi0gICAqIFRoZSBncmFwaCBjb25zdHJ1Y3Rvci4gSXQgaW5pdGlhbGl6ZXMgdGhlIGRhdGEgYW5kIHRoZSBpbmRleGVzLCBhbmQgYmluZHMKLSAgICogdGhlIGN1c3RvbSBpbmRleGVzIGFuZCBtZXRob2RzIHRvIGl0cyBvd24gc2NvcGUuCi0gICAqCi0gICAqIFJlY29nbml6ZWQgcGFyYW1ldGVyczoKLSAgICogKioqKioqKioqKioqKioqKioqKioqKgotICAgKiBIZXJlIGlzIHRoZSBleGhhdXN0aXZlIGxpc3Qgb2YgZXZlcnkgYWNjZXB0ZWQgcGFyYW1ldGVycyBpbiB0aGUgc2V0dGluZ3MKLSAgICogb2JqZWN0OgotICAgKgotICAgKiAgIHtib29sZWFufSBjbG9uZSAgICAgSW5kaWNhdGVzIGlmIHRoZSBkYXRhIGhhdmUgdG8gYmUgY2xvbmVkIGluIG1ldGhvZHMKLSAgICogICAgICAgICAgICAgICAgICAgICAgIHRvIGFkZCBub2RlcyBvciBlZGdlcy4KLSAgICogICB7Ym9vbGVhbn0gaW1tdXRhYmxlIEluZGljYXRlcyBpZiBub2RlcyAiaWQiIHZhbHVlcyBhbmQgZWRnZXMgImlkIiwKLSAgICogICAgICAgICAgICAgICAgICAgICAgICJzb3VyY2UiIGFuZCAidGFyZ2V0IiB2YWx1ZXMgbXVzdCBiZSBzZXQgYXMKLSAgICogICAgICAgICAgICAgICAgICAgICAgIGltbXV0YWJsZS4KLSAgICoKLSAgICogQHBhcmFtICB7P2NvbmZpZ3VyYWJsZX0gc2V0dGluZ3MgRXZlbnR1YWxseSBhIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKiBAcmV0dXJuIHtncmFwaH0gICAgICAgICAgICAgICAgICBUaGUgbmV3IGdyYXBoIGluc3RhbmNlLgotICAgKi8KLSAgdmFyIGdyYXBoID0gZnVuY3Rpb24oc2V0dGluZ3MpIHsKLSAgICB2YXIgaywKLSAgICAgICAgZm4sCi0gICAgICAgIGRhdGE7Ci0KLSAgICAvKioKLSAgICAgKiBEQVRBOgotICAgICAqICoqKioqCi0gICAgICogRXZlcnkgZGF0YSB0aGF0IGlzIGNhbGxhYmxlIGZyb20gZ3JhcGggbWV0aG9kcyBhcmUgc3RvcmVkIGluIHRoaXMgImRhdGEiCi0gICAgICogb2JqZWN0LiBUaGlzIG9iamVjdCB3aWxsIGJlIHNlcnZlZCBhcyBjb250ZXh0IGZvciBhbGwgdGhlc2UgbWV0aG9kcywKLSAgICAgKiBhbmQgaXQgaXMgcG9zc2libGUgdG8gYWRkIG90aGVyIHR5cGUgb2YgZGF0YSBpbiBpdC4KLSAgICAgKi8KLSAgICBkYXRhID0gewotICAgICAgLyoqCi0gICAgICAgKiBTRVRUSU5HUyBGVU5DVElPTjoKLSAgICAgICAqICoqKioqKioqKioqKioqKioqKgotICAgICAgICovCi0gICAgICBzZXR0aW5nczogc2V0dGluZ3MgfHwgX2RlZmF1bHRTZXR0aW5nc0Z1bmN0aW9uLAotCi0gICAgICAvKioKLSAgICAgICAqIE1BSU4gREFUQToKLSAgICAgICAqICoqKioqKioqKioKLSAgICAgICAqLwotICAgICAgbm9kZXNBcnJheTogW10sCi0gICAgICBlZGdlc0FycmF5OiBbXSwKLQotICAgICAgLyoqCi0gICAgICAgKiBHTE9CQUwgSU5ERVhFUzoKLSAgICAgICAqICoqKioqKioqKioqKioqKgotICAgICAgICogVGhlc2UgaW5kZXhlcyBqdXN0IGluZGV4IGRhdGEgYnkgaWRzLgotICAgICAgICovCi0gICAgICBub2Rlc0luZGV4OiBPYmplY3QuY3JlYXRlKG51bGwpLAotICAgICAgZWRnZXNJbmRleDogT2JqZWN0LmNyZWF0ZShudWxsKSwKLQotICAgICAgLyoqCi0gICAgICAgKiBMT0NBTCBJTkRFWEVTOgotICAgICAgICogKioqKioqKioqKioqKioKLSAgICAgICAqIFRoZXNlIGluZGV4ZXMgcmVmZXIgZnJvbSBub2RlIHRvIG5vZGVzLiBFYWNoIGtleSBpcyBhbiBpZCwgYW5kIGVhY2gKLSAgICAgICAqIHZhbHVlIGlzIHRoZSBhcnJheSBvZiB0aGUgaWRzIG9mIHJlbGF0ZWQgbm9kZXMuCi0gICAgICAgKi8KLSAgICAgIGluTmVpZ2hib3JzSW5kZXg6IE9iamVjdC5jcmVhdGUobnVsbCksCi0gICAgICBvdXROZWlnaGJvcnNJbmRleDogT2JqZWN0LmNyZWF0ZShudWxsKSwKLSAgICAgIGFsbE5laWdoYm9yc0luZGV4OiBPYmplY3QuY3JlYXRlKG51bGwpLAotCi0gICAgICBpbk5laWdoYm9yc0NvdW50OiBPYmplY3QuY3JlYXRlKG51bGwpLAotICAgICAgb3V0TmVpZ2hib3JzQ291bnQ6IE9iamVjdC5jcmVhdGUobnVsbCksCi0gICAgICBhbGxOZWlnaGJvcnNDb3VudDogT2JqZWN0LmNyZWF0ZShudWxsKQotICAgIH07Ci0KLSAgICAvLyBFeGVjdXRlIGJpbmRpbmdzOgotICAgIGZvciAoayBpbiBfaW5pdEJpbmRpbmdzKQotICAgICAgX2luaXRCaW5kaW5nc1trXS5jYWxsKGRhdGEpOwotCi0gICAgLy8gQWRkIG1ldGhvZHMgdG8gYm90aCB0aGUgc2NvcGUgYW5kIHRoZSBkYXRhIG9iamVjdHM6Ci0gICAgZm9yIChrIGluIF9tZXRob2RzKSB7Ci0gICAgICBmbiA9IF9fYmluZEdyYXBoTWV0aG9kKGssIGRhdGEsIF9tZXRob2RzW2tdKTsKLSAgICAgIHRoaXNba10gPSBmbjsKLSAgICAgIGRhdGFba10gPSBmbjsKLSAgICB9Ci0gIH07Ci0KLQotCi0KLSAgLyoqCi0gICAqIEEgY3VzdG9tIHRvb2wgdG8gYmluZCBtZXRob2RzIHN1Y2ggdGhhdCBmdW5jdGlvbiB0aGF0IGFyZSBib3VuZCB0byBpdCB3aWxsCi0gICAqIGJlIGV4ZWN1dGVkIGFueXRpbWUgdGhlIG1ldGhvZCBpcyBjYWxsZWQuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICBtZXRob2ROYW1lIFRoZSBuYW1lIG9mIHRoZSBtZXRob2QgdG8gYmluZC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgIHNjb3BlICAgICAgVGhlIHNjb3BlIHdoZXJlIHRoZSBtZXRob2QgbXVzdCBiZSBleGVjdXRlZC4KLSAgICogQHBhcmFtICB7ZnVuY3Rpb259IGZuICAgICAgICAgVGhlIG1ldGhvZCBpdHNlbGYuCi0gICAqIEByZXR1cm4ge2Z1bmN0aW9ufSAgICAgICAgICAgIFRoZSBuZXcgbWV0aG9kLgotICAgKi8KLSAgZnVuY3Rpb24gX19iaW5kR3JhcGhNZXRob2QobWV0aG9kTmFtZSwgc2NvcGUsIGZuKSB7Ci0gICAgdmFyIHJlc3VsdCA9IGZ1bmN0aW9uKCkgewotICAgICAgdmFyIGssCi0gICAgICAgICAgcmVzOwotCi0gICAgICAvLyBFeGVjdXRlICJiZWZvcmUiIGJvdW5kIGZ1bmN0aW9uczoKLSAgICAgIGZvciAoayBpbiBfbWV0aG9kQmVmb3JlQmluZGluZ3NbbWV0aG9kTmFtZV0pCi0gICAgICAgIF9tZXRob2RCZWZvcmVCaW5kaW5nc1ttZXRob2ROYW1lXVtrXS5hcHBseShzY29wZSwgYXJndW1lbnRzKTsKLQotICAgICAgLy8gQXBwbHkgdGhlIG1ldGhvZDoKLSAgICAgIHJlcyA9IGZuLmFwcGx5KHNjb3BlLCBhcmd1bWVudHMpOwotCi0gICAgICAvLyBFeGVjdXRlIGJvdW5kIGZ1bmN0aW9uczoKLSAgICAgIGZvciAoayBpbiBfbWV0aG9kQmluZGluZ3NbbWV0aG9kTmFtZV0pCi0gICAgICAgIF9tZXRob2RCaW5kaW5nc1ttZXRob2ROYW1lXVtrXS5hcHBseShzY29wZSwgYXJndW1lbnRzKTsKLQotICAgICAgLy8gUmV0dXJuIHJlczoKLSAgICAgIHJldHVybiByZXM7Ci0gICAgfTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci0gIH0KLQotICAvKioKLSAgICogVGhpcyBjdXN0b20gdG9vbCBmdW5jdGlvbiByZW1vdmVzIGV2ZXJ5IHBhaXIga2V5L3ZhbHVlIGZyb20gYW4gaGFzaC4gVGhlCi0gICAqIGdvYWwgaXMgdG8gYXZvaWQgY3JlYXRpbmcgYSBuZXcgb2JqZWN0IHdoaWxlIHNvbWUgb3RoZXIgcmVmZXJlbmNlcyBhcmUKLSAgICogc3RpbGwgaGFuZ2luZyBpbiBzb21lIHNjb3Blcy4uLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9IG9iaiBUaGUgb2JqZWN0IHRvIGVtcHR5LgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICBUaGUgZW1wdHkgb2JqZWN0LgotICAgKi8KLSAgZnVuY3Rpb24gX19lbXB0eU9iamVjdChvYmopIHsKLSAgICB2YXIgazsKLQotICAgIGZvciAoayBpbiBvYmopCi0gICAgICBpZiAoISgnaGFzT3duUHJvcGVydHknIGluIG9iaikgfHwgb2JqLmhhc093blByb3BlcnR5KGspKQotICAgICAgICBkZWxldGUgb2JqW2tdOwotCi0gICAgcmV0dXJuIG9iajsKLSAgfQotCi0KLQotCi0gIC8qKgotICAgKiBUaGlzIGdsb2JhbCBtZXRob2QgYWRkcyBhIG1ldGhvZCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gdGhlIGZ1dHVybHkgY3JlYXRlZAotICAgKiBncmFwaCBpbnN0YW5jZXMuCi0gICAqCi0gICAqIFNpbmNlIHRoZXNlIG1ldGhvZHMgd2lsbCBiZSBib3VuZCB0byB0aGVpciBzY29wZSB3aGVuIHRoZSBpbnN0YW5jZXMgYXJlCi0gICAqIGNyZWF0ZWQsIGl0IGRvZXMgbm90IHVzZSB0aGUgcHJvdG90eXBlLiBCZWNhdXNlIG9mIHRoYXQsIG1ldGhvZHMgaGF2ZSB0bwotICAgKiBiZSBhZGRlZCBiZWZvcmUgaW5zdGFuY2VzIGFyZSBjcmVhdGVkIHRvIG1ha2UgdGhlbSBhdmFpbGFibGUuCi0gICAqCi0gICAqIEhlcmUgaXMgYW4gZXhhbXBsZToKLSAgICoKLSAgICogID4gZ3JhcGguYWRkTWV0aG9kKCdnZXROb2Rlc0NvdW50JywgZnVuY3Rpb24oKSB7Ci0gICAqICA+ICAgcmV0dXJuIHRoaXMubm9kZXNBcnJheS5sZW5ndGg7Ci0gICAqICA+IH0pOwotICAgKiAgPgotICAgKiAgPiB2YXIgbXlHcmFwaCA9IG5ldyBncmFwaCgpOwotICAgKiAgPiBjb25zb2xlLmxvZyhteUdyYXBoLmdldE5vZGVzQ291bnQoKSk7IC8vIG91dHB1dHMgMAotICAgKgotICAgKiBAcGFyYW0gIHtzdHJpbmd9ICAgbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgbWV0aG9kLgotICAgKiBAcGFyYW0gIHtmdW5jdGlvbn0gZm4gICAgICAgICBUaGUgbWV0aG9kIGl0c2VsZi4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgICAgICAgVGhlIGdsb2JhbCBncmFwaCBjb25zdHJ1Y3Rvci4KLSAgICovCi0gIGdyYXBoLmFkZE1ldGhvZCA9IGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGZuKSB7Ci0gICAgaWYgKAotICAgICAgdHlwZW9mIG1ldGhvZE5hbWUgIT09ICdzdHJpbmcnIHx8Ci0gICAgICB0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicgfHwKLSAgICAgIGFyZ3VtZW50cy5sZW5ndGggIT09IDIKLSAgICApCi0gICAgICB0aHJvdyAnYWRkTWV0aG9kOiBXcm9uZyBhcmd1bWVudHMuJzsKLQotICAgIGlmIChfbWV0aG9kc1ttZXRob2ROYW1lXSB8fCBncmFwaFttZXRob2ROYW1lXSkKLSAgICAgIHRocm93ICdUaGUgbWV0aG9kICInICsgbWV0aG9kTmFtZSArICciIGFscmVhZHkgZXhpc3RzLic7Ci0KLSAgICBfbWV0aG9kc1ttZXRob2ROYW1lXSA9IGZuOwotICAgIF9tZXRob2RCaW5kaW5nc1ttZXRob2ROYW1lXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7Ci0gICAgX21ldGhvZEJlZm9yZUJpbmRpbmdzW21ldGhvZE5hbWVdID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKLQotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIGdsb2JhbCBtZXRob2QgcmV0dXJucyB0cnVlIGlmIHRoZSBtZXRob2QgaGFzIGFscmVhZHkgYmVlbiBhZGRlZCwgYW5kCi0gICAqIGZhbHNlIGVsc2UuCi0gICAqCi0gICAqIEhlcmUgYXJlIHNvbWUgZXhhbXBsZXM6Ci0gICAqCi0gICAqICA+IGdyYXBoLmhhc01ldGhvZCgnYWRkTm9kZScpOyAvLyByZXR1cm5zIHRydWUKLSAgICogID4gZ3JhcGguaGFzTWV0aG9kKCdoYXNNZXRob2QnKTsgLy8gcmV0dXJucyB0cnVlCi0gICAqICA+IGdyYXBoLmhhc01ldGhvZCgndW5leGlzdGluZ01ldGhvZCcpOyAvLyByZXR1cm5zIGZhbHNlCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gIG1ldGhvZE5hbWUgVGhlIG5hbWUgb2YgdGhlIG1ldGhvZC4KLSAgICogQHJldHVybiB7Ym9vbGVhbn0gICAgICAgICAgICBUaGUgcmVzdWx0LgotICAgKi8KLSAgZ3JhcGguaGFzTWV0aG9kID0gZnVuY3Rpb24obWV0aG9kTmFtZSkgewotICAgIHJldHVybiAhIShfbWV0aG9kc1ttZXRob2ROYW1lXSB8fCBncmFwaFttZXRob2ROYW1lXSk7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgZ2xvYmFsIG1ldGhvZHMgYXR0YWNoZXMgYSBmdW5jdGlvbiB0byBhIG1ldGhvZC4gQW55dGltZSB0aGUgc3BlY2lmaWVkCi0gICAqIG1ldGhvZCBpcyBjYWxsZWQsIHRoZSBhdHRhY2hlZCBmdW5jdGlvbiBpcyBjYWxsZWQgcmlnaHQgYWZ0ZXIsIHdpdGggdGhlCi0gICAqIHNhbWUgYXJndW1lbnRzIGFuZCBpbiB0aGUgc2FtZSBzY29wZS4gVGhlIGF0dGFjaGVkIGZ1bmN0aW9uIGlzIGNhbGxlZAotICAgKiByaWdodCBiZWZvcmUgaWYgdGhlIGxhc3QgYXJndW1lbnQgaXMgdHJ1ZSwgdW5sZXNzIHRoZSBtZXRob2QgaXMgdGhlIGdyYXBoCi0gICAqIGNvbnN0cnVjdG9yLgotICAgKgotICAgKiBUbyBhdHRhY2ggYSBmdW5jdGlvbiB0byB0aGUgZ3JhcGggY29uc3RydWN0b3IsIHVzZSAnY29uc3RydWN0b3InIGFzIHRoZQotICAgKiBtZXRob2QgbmFtZSAoZmlyc3QgYXJndW1lbnQpLgotICAgKgotICAgKiBUaGUgbWFpbiBpZGVhIGlzIHRvIGhhdmUgYSBjbGVhbiB3YXkgdG8ga2VlcCBjdXN0b20gaW5kZXhlcyB1cCB0byBkYXRlLAotICAgKiBmb3IgaW5zdGFuY2U6Ci0gICAqCi0gICAqICA+IHZhciB0aW1lc0FkZE5vZGVDYWxsZWQgPSAwOwotICAgKiAgPiBncmFwaC5hdHRhY2goJ2FkZE5vZGUnLCAndGltZXNBZGROb2RlQ2FsbGVkSW5jJywgZnVuY3Rpb24oKSB7Ci0gICAqICA+ICAgdGltZXNBZGROb2RlQ2FsbGVkKys7Ci0gICAqICA+IH0pOwotICAgKiAgPgotICAgKiAgPiB2YXIgbXlHcmFwaCA9IG5ldyBncmFwaCgpOwotICAgKiAgPiBjb25zb2xlLmxvZyh0aW1lc0FkZE5vZGVDYWxsZWQpOyAvLyBvdXRwdXRzIDAKLSAgICogID4KLSAgICogID4gbXlHcmFwaC5hZGROb2RlKHsgaWQ6ICcxJyB9KS5hZGROb2RlKHsgaWQ6ICcyJyB9KTsKLSAgICogID4gY29uc29sZS5sb2codGltZXNBZGROb2RlQ2FsbGVkKTsgLy8gb3V0cHV0cyAyCi0gICAqCi0gICAqIFRoZSBpZGVhIGZvciBjYWxsaW5nIGEgZnVuY3Rpb24gYmVmb3JlIGlzIHRvIHByb3ZpZGUgcHJlLXByb2Nlc3NvcnMsIGZvcgotICAgKiBpbnN0YW5jZToKLSAgICoKLSAgICogID4gdmFyIGNvbG9yUGFsZXR0ZSA9IHsgUGVyc29uOiAnI0MzQ0JFMScsIFBsYWNlOiAnIzlCREVCRCcgfTsKLSAgICogID4gZ3JhcGguYXR0YWNoKCdhZGROb2RlJywgJ2FwcGx5Tm9kZUNvbG9yUGFsZXR0ZScsIGZ1bmN0aW9uKG4pIHsKLSAgICogID4gICBuLmNvbG9yID0gY29sb3JQYWxldHRlW24uY2F0ZWdvcnldOwotICAgKiAgPiB9LCB0cnVlKTsKLSAgICogID4KLSAgICogID4gdmFyIG15R3JhcGggPSBuZXcgZ3JhcGgoKTsKLSAgICogID4gbXlHcmFwaC5hZGROb2RlKHsgaWQ6ICduMCcsIGNhdGVnb3J5OiAnUGVyc29uJyB9KTsKLSAgICogID4gY29uc29sZS5sb2cobXlHcmFwaC5ub2RlcygnbjAnKS5jb2xvcik7IC8vIG91dHB1dHMgJyNDM0NCRTEnCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICBtZXRob2ROYW1lIFRoZSBuYW1lIG9mIHRoZSByZWxhdGVkIG1ldGhvZCBvcgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29uc3RydWN0b3IiLgotICAgKiBAcGFyYW0gIHtzdHJpbmd9ICAga2V5ICAgICAgICBUaGUga2V5IHRvIGlkZW50aWZ5IHRoZSBmdW5jdGlvbiB0byBhdHRhY2guCi0gICAqIEBwYXJhbSAge2Z1bmN0aW9ufSBmbiAgICAgICAgIFRoZSBmdW5jdGlvbiB0byBiaW5kLgotICAgKiBAcGFyYW0gIHtib29sZWFufSAgYmVmb3JlICAgICBJZiB0cnVlIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgcmlnaHQgYmVmb3JlLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgICAgICAgICBUaGUgZ2xvYmFsIGdyYXBoIGNvbnN0cnVjdG9yLgotICAgKi8KLSAgZ3JhcGguYXR0YWNoID0gZnVuY3Rpb24obWV0aG9kTmFtZSwga2V5LCBmbiwgYmVmb3JlKSB7Ci0gICAgaWYgKAotICAgICAgdHlwZW9mIG1ldGhvZE5hbWUgIT09ICdzdHJpbmcnIHx8Ci0gICAgICB0eXBlb2Yga2V5ICE9PSAnc3RyaW5nJyB8fAotICAgICAgdHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nIHx8Ci0gICAgICBhcmd1bWVudHMubGVuZ3RoIDwgMyB8fAotICAgICAgYXJndW1lbnRzLmxlbmd0aCA+IDQKLSAgICApCi0gICAgICB0aHJvdyAnYXR0YWNoOiBXcm9uZyBhcmd1bWVudHMuJzsKLQotICAgIHZhciBiaW5kaW5nczsKLQotICAgIGlmIChtZXRob2ROYW1lID09PSAnY29uc3RydWN0b3InKQotICAgICAgYmluZGluZ3MgPSBfaW5pdEJpbmRpbmdzOwotICAgIGVsc2UgewotICAgICAgaWYgKGJlZm9yZSkgewotICAgICAgICBpZiAoIV9tZXRob2RCZWZvcmVCaW5kaW5nc1ttZXRob2ROYW1lXSkKLSAgICAgICAgdGhyb3cgJ1RoZSBtZXRob2QgIicgKyBtZXRob2ROYW1lICsgJyIgZG9lcyBub3QgZXhpc3QuJzsKLQotICAgICAgICBiaW5kaW5ncyA9IF9tZXRob2RCZWZvcmVCaW5kaW5nc1ttZXRob2ROYW1lXTsKLSAgICAgIH0KLSAgICAgIGVsc2UgewotICAgICAgICBpZiAoIV9tZXRob2RCaW5kaW5nc1ttZXRob2ROYW1lXSkKLSAgICAgICAgICB0aHJvdyAnVGhlIG1ldGhvZCAiJyArIG1ldGhvZE5hbWUgKyAnIiBkb2VzIG5vdCBleGlzdC4nOwotCi0gICAgICAgIGJpbmRpbmdzID0gX21ldGhvZEJpbmRpbmdzW21ldGhvZE5hbWVdOwotICAgICAgfQotICAgIH0KLQotICAgIGlmIChiaW5kaW5nc1trZXldKQotICAgICAgdGhyb3cgJ0EgZnVuY3Rpb24gIicgKyBrZXkgKyAnIiBpcyBhbHJlYWR5IGF0dGFjaGVkICcgKwotICAgICAgICAgICAgJ3RvIHRoZSBtZXRob2QgIicgKyBtZXRob2ROYW1lICsgJyIuJzsKLQotICAgIGJpbmRpbmdzW2tleV0gPSBmbjsKLQotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0gIC8qKgotICAgKiBBbGlhcyBvZiBhdHRhY2gobWV0aG9kTmFtZSwga2V5LCBmbiwgdHJ1ZSkuCi0gICAqLwotICBncmFwaC5hdHRhY2hCZWZvcmUgPSBmdW5jdGlvbihtZXRob2ROYW1lLCBrZXksIGZuKSB7Ci0gICAgcmV0dXJuIHRoaXMuYXR0YWNoKG1ldGhvZE5hbWUsIGtleSwgZm4sIHRydWUpOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZHMgaXMganVzdCBhbiBoZWxwZXIgdG8gZGVhbCB3aXRoIGN1c3RvbSBpbmRleGVzLiBJdCB0YWtlcyBhcwotICAgKiBhcmd1bWVudHMgdGhlIG5hbWUgb2YgdGhlIGluZGV4IGFuZCBhbiBvYmplY3QgY29udGFpbmluZyBhbGwgdGhlIGRpZmZlcmVudAotICAgKiBmdW5jdGlvbnMgdG8gYmluZCB0byB0aGUgbWV0aG9kcy4KLSAgICoKLSAgICogSGVyZSBpcyBhIGJhc2ljIGV4YW1wbGUsIHRoYXQgY3JlYXRlcyBhbiBpbmRleCB0byBrZWVwIHRoZSBudW1iZXIgb2Ygbm9kZXMKLSAgICogaW4gdGhlIGN1cnJlbnQgZ3JhcGguIEl0IGFsc28gYWRkcyBhIG1ldGhvZCB0byBwcm92aWRlIGEgZ2V0dGVyIG9uIHRoYXQKLSAgICogbmV3IGluZGV4OgotICAgKgotICAgKiAgPiBzaWdtYS5jbGFzc2VzLmdyYXBoLmFkZEluZGV4KCdub2Rlc0NvdW50JywgewotICAgKiAgPiAgIGNvbnN0cnVjdG9yOiBmdW5jdGlvbigpIHsKLSAgICogID4gICAgIHRoaXMubm9kZXNDb3VudCA9IDA7Ci0gICAqICA+ICAgfSwKLSAgICogID4gICBhZGROb2RlOiBmdW5jdGlvbigpIHsKLSAgICogID4gICAgIHRoaXMubm9kZXNDb3VudCsrOwotICAgKiAgPiAgIH0sCi0gICAqICA+ICAgZHJvcE5vZGU6IGZ1bmN0aW9uKCkgewotICAgKiAgPiAgICAgdGhpcy5ub2Rlc0NvdW50LS07Ci0gICAqICA+ICAgfQotICAgKiAgPiB9KTsKLSAgICogID4KLSAgICogID4gc2lnbWEuY2xhc3Nlcy5ncmFwaC5hZGRNZXRob2QoJ2dldE5vZGVzQ291bnQnLCBmdW5jdGlvbigpIHsKLSAgICogID4gICByZXR1cm4gdGhpcy5ub2Rlc0NvdW50OwotICAgKiAgPiB9KTsKLSAgICogID4KLSAgICogID4gdmFyIG15R3JhcGggPSBuZXcgc2lnbWEuY2xhc3Nlcy5ncmFwaCgpOwotICAgKiAgPiBjb25zb2xlLmxvZyhteUdyYXBoLmdldE5vZGVzQ291bnQoKSk7IC8vIG91dHB1dHMgMAotICAgKiAgPgotICAgKiAgPiBteUdyYXBoLmFkZE5vZGUoeyBpZDogJzEnIH0pLmFkZE5vZGUoeyBpZDogJzInIH0pOwotICAgKiAgPiBjb25zb2xlLmxvZyhteUdyYXBoLmdldE5vZGVzQ291bnQoKSk7IC8vIG91dHB1dHMgMgotICAgKgotICAgKiBAcGFyYW0gIHtzdHJpbmd9IG5hbWUgICAgIFRoZSBuYW1lIG9mIHRoZSBpbmRleC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSBiaW5kaW5ncyBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9ucyB0byBiaW5kLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgICAgIFRoZSBnbG9iYWwgZ3JhcGggY29uc3RydWN0b3IuCi0gICAqLwotICBncmFwaC5hZGRJbmRleCA9IGZ1bmN0aW9uKG5hbWUsIGJpbmRpbmdzKSB7Ci0gICAgaWYgKAotICAgICAgdHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnIHx8Ci0gICAgICBPYmplY3QoYmluZGluZ3MpICE9PSBiaW5kaW5ncyB8fAotICAgICAgYXJndW1lbnRzLmxlbmd0aCAhPT0gMgotICAgICkKLSAgICAgIHRocm93ICdhZGRJbmRleDogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICBpZiAoX2luZGV4ZXNbbmFtZV0pCi0gICAgICB0aHJvdyAnVGhlIGluZGV4ICInICsgbmFtZSArICciIGFscmVhZHkgZXhpc3RzLic7Ci0KLSAgICB2YXIgazsKLQotICAgIC8vIFN0b3JlIHRoZSBiaW5kaW5nczoKLSAgICBfaW5kZXhlc1tuYW1lXSA9IGJpbmRpbmdzOwotCi0gICAgLy8gQXR0YWNoIHRoZSBiaW5kaW5nczoKLSAgICBmb3IgKGsgaW4gYmluZGluZ3MpCi0gICAgICBpZiAodHlwZW9mIGJpbmRpbmdzW2tdICE9PSAnZnVuY3Rpb24nKQotICAgICAgICB0aHJvdyAnVGhlIGJpbmRpbmdzIG11c3QgYmUgZnVuY3Rpb25zLic7Ci0gICAgICBlbHNlCi0gICAgICAgIGdyYXBoLmF0dGFjaChrLCBuYW1lLCBiaW5kaW5nc1trXSk7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfTsKLQotCi0KLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgYWRkcyBhIG5vZGUgdG8gdGhlIGdyYXBoLiBUaGUgbm9kZSBtdXN0IGJlIGFuIG9iamVjdCwgd2l0aCBhCi0gICAqIHN0cmluZyB1bmRlciB0aGUga2V5ICJpZCIuIEV4Y2VwdCBmb3IgdGhpcywgaXQgaXMgcG9zc2libGUgdG8gYWRkIGFueQotICAgKiBvdGhlciBhdHRyaWJ1dGUsIHRoYXQgd2lsbCBiZSBwcmVzZXJ2ZWQgYWxsIGFsb25nIHRoZSBtYW5pcHVsYXRpb25zLgotICAgKgotICAgKiBJZiB0aGUgZ3JhcGggb3B0aW9uICJjbG9uZSIgaGFzIGEgdHJ1dGh5IHZhbHVlLCB0aGUgbm9kZSB3aWxsIGJlIGNsb25lZAotICAgKiB3aGVuIGFkZGVkIHRvIHRoZSBncmFwaC4gQWxzbywgaWYgdGhlIGdyYXBoIG9wdGlvbiAiaW1tdXRhYmxlIiBoYXMgYQotICAgKiB0cnV0aHkgdmFsdWUsIGl0cyBpZCB3aWxsIGJlIGRlZmluZWQgYXMgaW1tdXRhYmxlLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9IG5vZGUgVGhlIG5vZGUgdG8gYWRkLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgVGhlIGdyYXBoIGluc3RhbmNlLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdhZGROb2RlJywgZnVuY3Rpb24obm9kZSkgewotICAgIC8vIENoZWNrIHRoYXQgdGhlIG5vZGUgaXMgYW4gb2JqZWN0IGFuZCBoYXMgYW4gaWQ6Ci0gICAgaWYgKE9iamVjdChub2RlKSAhPT0gbm9kZSB8fCBhcmd1bWVudHMubGVuZ3RoICE9PSAxKQotICAgICAgdGhyb3cgJ2FkZE5vZGU6IFdyb25nIGFyZ3VtZW50cy4nOwotCi0gICAgaWYgKHR5cGVvZiBub2RlLmlkICE9PSAnc3RyaW5nJyAmJiB0eXBlb2Ygbm9kZS5pZCAhPT0gJ251bWJlcicpCi0gICAgICB0aHJvdyAnVGhlIG5vZGUgbXVzdCBoYXZlIGEgc3RyaW5nIG9yIG51bWJlciBpZC4nOwotCi0gICAgaWYgKHRoaXMubm9kZXNJbmRleFtub2RlLmlkXSkKLSAgICAgIHRocm93ICdUaGUgbm9kZSAiJyArIG5vZGUuaWQgKyAnIiBhbHJlYWR5IGV4aXN0cy4nOwotCi0gICAgdmFyIGssCi0gICAgICAgIGlkID0gbm9kZS5pZCwKLSAgICAgICAgdmFsaWROb2RlID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKLQotICAgIC8vIENoZWNrIHRoZSAiY2xvbmUiIG9wdGlvbjoKLSAgICBpZiAodGhpcy5zZXR0aW5ncygnY2xvbmUnKSkgewotICAgICAgZm9yIChrIGluIG5vZGUpCi0gICAgICAgIGlmIChrICE9PSAnaWQnKQotICAgICAgICAgIHZhbGlkTm9kZVtrXSA9IG5vZGVba107Ci0gICAgfSBlbHNlCi0gICAgICB2YWxpZE5vZGUgPSBub2RlOwotCi0gICAgLy8gQ2hlY2sgdGhlICJpbW11dGFibGUiIG9wdGlvbjoKLSAgICBpZiAodGhpcy5zZXR0aW5ncygnaW1tdXRhYmxlJykpCi0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsaWROb2RlLCAnaWQnLCB7Ci0gICAgICAgIHZhbHVlOiBpZCwKLSAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQotICAgICAgfSk7Ci0gICAgZWxzZQotICAgICAgdmFsaWROb2RlLmlkID0gaWQ7Ci0KLSAgICAvLyBBZGQgZW1wdHkgY29udGFpbmVycyBmb3IgZWRnZXMgaW5kZXhlczoKLSAgICB0aGlzLmluTmVpZ2hib3JzSW5kZXhbaWRdID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKLSAgICB0aGlzLm91dE5laWdoYm9yc0luZGV4W2lkXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7Ci0gICAgdGhpcy5hbGxOZWlnaGJvcnNJbmRleFtpZF0gPSBPYmplY3QuY3JlYXRlKG51bGwpOwotCi0gICAgdGhpcy5pbk5laWdoYm9yc0NvdW50W2lkXSA9IDA7Ci0gICAgdGhpcy5vdXROZWlnaGJvcnNDb3VudFtpZF0gPSAwOwotICAgIHRoaXMuYWxsTmVpZ2hib3JzQ291bnRbaWRdID0gMDsKLQotICAgIC8vIEFkZCB0aGUgbm9kZSB0byBpbmRleGVzOgotICAgIHRoaXMubm9kZXNBcnJheS5wdXNoKHZhbGlkTm9kZSk7Ci0gICAgdGhpcy5ub2Rlc0luZGV4W3ZhbGlkTm9kZS5pZF0gPSB2YWxpZE5vZGU7Ci0KLSAgICAvLyBSZXR1cm4gdGhlIGN1cnJlbnQgaW5zdGFuY2U6Ci0gICAgcmV0dXJuIHRoaXM7Ci0gIH0pOwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBhZGRzIGFuIGVkZ2UgdG8gdGhlIGdyYXBoLiBUaGUgZWRnZSBtdXN0IGJlIGFuIG9iamVjdCwgd2l0aCBhCi0gICAqIHN0cmluZyB1bmRlciB0aGUga2V5ICJpZCIsIGFuZCBzdHJpbmdzIHVuZGVyIHRoZSBrZXlzICJzb3VyY2UiIGFuZAotICAgKiAidGFyZ2V0IiB0aGF0IGRlc2lnbiBleGlzdGluZyBub2Rlcy4gRXhjZXB0IGZvciB0aGlzLCBpdCBpcyBwb3NzaWJsZSB0bwotICAgKiBhZGQgYW55IG90aGVyIGF0dHJpYnV0ZSwgdGhhdCB3aWxsIGJlIHByZXNlcnZlZCBhbGwgYWxvbmcgdGhlCi0gICAqIG1hbmlwdWxhdGlvbnMuCi0gICAqCi0gICAqIElmIHRoZSBncmFwaCBvcHRpb24gImNsb25lIiBoYXMgYSB0cnV0aHkgdmFsdWUsIHRoZSBlZGdlIHdpbGwgYmUgY2xvbmVkCi0gICAqIHdoZW4gYWRkZWQgdG8gdGhlIGdyYXBoLiBBbHNvLCBpZiB0aGUgZ3JhcGggb3B0aW9uICJpbW11dGFibGUiIGhhcyBhCi0gICAqIHRydXRoeSB2YWx1ZSwgaXRzIGlkLCBzb3VyY2UgYW5kIHRhcmdldCB3aWxsIGJlIGRlZmluZWQgYXMgaW1tdXRhYmxlLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9IGVkZ2UgVGhlIGVkZ2UgdG8gYWRkLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgVGhlIGdyYXBoIGluc3RhbmNlLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdhZGRFZGdlJywgZnVuY3Rpb24oZWRnZSkgewotICAgIC8vIENoZWNrIHRoYXQgdGhlIGVkZ2UgaXMgYW4gb2JqZWN0IGFuZCBoYXMgYW4gaWQ6Ci0gICAgaWYgKE9iamVjdChlZGdlKSAhPT0gZWRnZSB8fCBhcmd1bWVudHMubGVuZ3RoICE9PSAxKQotICAgICAgdGhyb3cgJ2FkZEVkZ2U6IFdyb25nIGFyZ3VtZW50cy4nOwotCi0gICAgaWYgKHR5cGVvZiBlZGdlLmlkICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgZWRnZS5pZCAhPT0gJ251bWJlcicpCi0gICAgICB0aHJvdyAnVGhlIGVkZ2UgbXVzdCBoYXZlIGEgc3RyaW5nIG9yIG51bWJlciBpZC4nOwotCi0gICAgaWYgKCh0eXBlb2YgZWRnZS5zb3VyY2UgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBlZGdlLnNvdXJjZSAhPT0gJ251bWJlcicpIHx8Ci0gICAgICAgICF0aGlzLm5vZGVzSW5kZXhbZWRnZS5zb3VyY2VdKQotICAgICAgdGhyb3cgJ1RoZSBlZGdlIHNvdXJjZSBtdXN0IGhhdmUgYW4gZXhpc3Rpbmcgbm9kZSBpZC4nOwotCi0gICAgaWYgKCh0eXBlb2YgZWRnZS50YXJnZXQgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBlZGdlLnRhcmdldCAhPT0gJ251bWJlcicpIHx8Ci0gICAgICAgICF0aGlzLm5vZGVzSW5kZXhbZWRnZS50YXJnZXRdKQotICAgICAgdGhyb3cgJ1RoZSBlZGdlIHRhcmdldCBtdXN0IGhhdmUgYW4gZXhpc3Rpbmcgbm9kZSBpZC4nOwotCi0gICAgaWYgKHRoaXMuZWRnZXNJbmRleFtlZGdlLmlkXSkKLSAgICAgIHRocm93ICdUaGUgZWRnZSAiJyArIGVkZ2UuaWQgKyAnIiBhbHJlYWR5IGV4aXN0cy4nOwotCi0gICAgdmFyIGssCi0gICAgICAgIHZhbGlkRWRnZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7Ci0KLSAgICAvLyBDaGVjayB0aGUgImNsb25lIiBvcHRpb246Ci0gICAgaWYgKHRoaXMuc2V0dGluZ3MoJ2Nsb25lJykpIHsKLSAgICAgIGZvciAoayBpbiBlZGdlKQotICAgICAgICBpZiAoayAhPT0gJ2lkJyAmJiBrICE9PSAnc291cmNlJyAmJiBrICE9PSAndGFyZ2V0JykKLSAgICAgICAgICB2YWxpZEVkZ2Vba10gPSBlZGdlW2tdOwotICAgIH0gZWxzZQotICAgICAgdmFsaWRFZGdlID0gZWRnZTsKLQotICAgIC8vIENoZWNrIHRoZSAiaW1tdXRhYmxlIiBvcHRpb246Ci0gICAgaWYgKHRoaXMuc2V0dGluZ3MoJ2ltbXV0YWJsZScpKSB7Ci0gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsaWRFZGdlLCAnaWQnLCB7Ci0gICAgICAgIHZhbHVlOiBlZGdlLmlkLAotICAgICAgICBlbnVtZXJhYmxlOiB0cnVlCi0gICAgICB9KTsKLQotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbGlkRWRnZSwgJ3NvdXJjZScsIHsKLSAgICAgICAgdmFsdWU6IGVkZ2Uuc291cmNlLAotICAgICAgICBlbnVtZXJhYmxlOiB0cnVlCi0gICAgICB9KTsKLQotICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbGlkRWRnZSwgJ3RhcmdldCcsIHsKLSAgICAgICAgdmFsdWU6IGVkZ2UudGFyZ2V0LAotICAgICAgICBlbnVtZXJhYmxlOiB0cnVlCi0gICAgICB9KTsKLSAgICB9IGVsc2UgewotICAgICAgdmFsaWRFZGdlLmlkID0gZWRnZS5pZDsKLSAgICAgIHZhbGlkRWRnZS5zb3VyY2UgPSBlZGdlLnNvdXJjZTsKLSAgICAgIHZhbGlkRWRnZS50YXJnZXQgPSBlZGdlLnRhcmdldDsKLSAgICB9Ci0KLSAgICAvLyBBZGQgdGhlIGVkZ2UgdG8gaW5kZXhlczoKLSAgICB0aGlzLmVkZ2VzQXJyYXkucHVzaCh2YWxpZEVkZ2UpOwotICAgIHRoaXMuZWRnZXNJbmRleFt2YWxpZEVkZ2UuaWRdID0gdmFsaWRFZGdlOwotCi0gICAgaWYgKCF0aGlzLmluTmVpZ2hib3JzSW5kZXhbdmFsaWRFZGdlLnRhcmdldF1bdmFsaWRFZGdlLnNvdXJjZV0pCi0gICAgICB0aGlzLmluTmVpZ2hib3JzSW5kZXhbdmFsaWRFZGdlLnRhcmdldF1bdmFsaWRFZGdlLnNvdXJjZV0gPQotICAgICAgICBPYmplY3QuY3JlYXRlKG51bGwpOwotICAgIHRoaXMuaW5OZWlnaGJvcnNJbmRleFt2YWxpZEVkZ2UudGFyZ2V0XVt2YWxpZEVkZ2Uuc291cmNlXVt2YWxpZEVkZ2UuaWRdID0KLSAgICAgIHZhbGlkRWRnZTsKLQotICAgIGlmICghdGhpcy5vdXROZWlnaGJvcnNJbmRleFt2YWxpZEVkZ2Uuc291cmNlXVt2YWxpZEVkZ2UudGFyZ2V0XSkKLSAgICAgIHRoaXMub3V0TmVpZ2hib3JzSW5kZXhbdmFsaWRFZGdlLnNvdXJjZV1bdmFsaWRFZGdlLnRhcmdldF0gPQotICAgICAgICBPYmplY3QuY3JlYXRlKG51bGwpOwotICAgIHRoaXMub3V0TmVpZ2hib3JzSW5kZXhbdmFsaWRFZGdlLnNvdXJjZV1bdmFsaWRFZGdlLnRhcmdldF1bdmFsaWRFZGdlLmlkXSA9Ci0gICAgICB2YWxpZEVkZ2U7Ci0KLSAgICBpZiAoIXRoaXMuYWxsTmVpZ2hib3JzSW5kZXhbdmFsaWRFZGdlLnNvdXJjZV1bdmFsaWRFZGdlLnRhcmdldF0pCi0gICAgICB0aGlzLmFsbE5laWdoYm9yc0luZGV4W3ZhbGlkRWRnZS5zb3VyY2VdW3ZhbGlkRWRnZS50YXJnZXRdID0KLSAgICAgICAgT2JqZWN0LmNyZWF0ZShudWxsKTsKLSAgICB0aGlzLmFsbE5laWdoYm9yc0luZGV4W3ZhbGlkRWRnZS5zb3VyY2VdW3ZhbGlkRWRnZS50YXJnZXRdW3ZhbGlkRWRnZS5pZF0gPQotICAgICAgdmFsaWRFZGdlOwotCi0gICAgaWYgKHZhbGlkRWRnZS50YXJnZXQgIT09IHZhbGlkRWRnZS5zb3VyY2UpIHsKLSAgICAgIGlmICghdGhpcy5hbGxOZWlnaGJvcnNJbmRleFt2YWxpZEVkZ2UudGFyZ2V0XVt2YWxpZEVkZ2Uuc291cmNlXSkKLSAgICAgICAgdGhpcy5hbGxOZWlnaGJvcnNJbmRleFt2YWxpZEVkZ2UudGFyZ2V0XVt2YWxpZEVkZ2Uuc291cmNlXSA9Ci0gICAgICAgICAgT2JqZWN0LmNyZWF0ZShudWxsKTsKLSAgICAgIHRoaXMuYWxsTmVpZ2hib3JzSW5kZXhbdmFsaWRFZGdlLnRhcmdldF1bdmFsaWRFZGdlLnNvdXJjZV1bdmFsaWRFZGdlLmlkXSA9Ci0gICAgICAgIHZhbGlkRWRnZTsKLSAgICB9Ci0KLSAgICAvLyBLZWVwIGNvdW50cyB1cCB0byBkYXRlOgotICAgIHRoaXMuaW5OZWlnaGJvcnNDb3VudFt2YWxpZEVkZ2UudGFyZ2V0XSsrOwotICAgIHRoaXMub3V0TmVpZ2hib3JzQ291bnRbdmFsaWRFZGdlLnNvdXJjZV0rKzsKLSAgICB0aGlzLmFsbE5laWdoYm9yc0NvdW50W3ZhbGlkRWRnZS50YXJnZXRdKys7Ci0gICAgdGhpcy5hbGxOZWlnaGJvcnNDb3VudFt2YWxpZEVkZ2Uuc291cmNlXSsrOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH0pOwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBkcm9wcyBhIG5vZGUgZnJvbSB0aGUgZ3JhcGguIEl0IGFsc28gcmVtb3ZlcyBlYWNoIGVkZ2UgdGhhdCBpcwotICAgKiBib3VuZCB0byBpdCwgdGhyb3VnaCB0aGUgZHJvcEVkZ2UgbWV0aG9kLiBBbiBlcnJvciBpcyB0aHJvd24gaWYgdGhlIG5vZGUKLSAgICogZG9lcyBub3QgZXhpc3QuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gaWQgVGhlIG5vZGUgaWQuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgVGhlIGdyYXBoIGluc3RhbmNlLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdkcm9wTm9kZScsIGZ1bmN0aW9uKGlkKSB7Ci0gICAgLy8gQ2hlY2sgdGhhdCB0aGUgYXJndW1lbnRzIGFyZSB2YWxpZDoKLSAgICBpZiAoKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIGlkICE9PSAnbnVtYmVyJykgfHwKLSAgICAgICAgYXJndW1lbnRzLmxlbmd0aCAhPT0gMSkKLSAgICAgIHRocm93ICdkcm9wTm9kZTogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICBpZiAoIXRoaXMubm9kZXNJbmRleFtpZF0pCi0gICAgICB0aHJvdyAnVGhlIG5vZGUgIicgKyBpZCArICciIGRvZXMgbm90IGV4aXN0Lic7Ci0KLSAgICB2YXIgaSwgaywgbDsKLQotICAgIC8vIFJlbW92ZSB0aGUgbm9kZSBmcm9tIGluZGV4ZXM6Ci0gICAgZGVsZXRlIHRoaXMubm9kZXNJbmRleFtpZF07Ci0gICAgZm9yIChpID0gMCwgbCA9IHRoaXMubm9kZXNBcnJheS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICBpZiAodGhpcy5ub2Rlc0FycmF5W2ldLmlkID09PSBpZCkgewotICAgICAgICB0aGlzLm5vZGVzQXJyYXkuc3BsaWNlKGksIDEpOwotICAgICAgICBicmVhazsKLSAgICAgIH0KLQotICAgIC8vIFJlbW92ZSByZWxhdGVkIGVkZ2VzOgotICAgIGZvciAoaSA9IHRoaXMuZWRnZXNBcnJheS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkKLSAgICAgIGlmICh0aGlzLmVkZ2VzQXJyYXlbaV0uc291cmNlID09PSBpZCB8fCB0aGlzLmVkZ2VzQXJyYXlbaV0udGFyZ2V0ID09PSBpZCkKLSAgICAgICAgdGhpcy5kcm9wRWRnZSh0aGlzLmVkZ2VzQXJyYXlbaV0uaWQpOwotCi0gICAgLy8gUmVtb3ZlIHJlbGF0ZWQgZWRnZSBpbmRleGVzOgotICAgIGRlbGV0ZSB0aGlzLmluTmVpZ2hib3JzSW5kZXhbaWRdOwotICAgIGRlbGV0ZSB0aGlzLm91dE5laWdoYm9yc0luZGV4W2lkXTsKLSAgICBkZWxldGUgdGhpcy5hbGxOZWlnaGJvcnNJbmRleFtpZF07Ci0KLSAgICBkZWxldGUgdGhpcy5pbk5laWdoYm9yc0NvdW50W2lkXTsKLSAgICBkZWxldGUgdGhpcy5vdXROZWlnaGJvcnNDb3VudFtpZF07Ci0gICAgZGVsZXRlIHRoaXMuYWxsTmVpZ2hib3JzQ291bnRbaWRdOwotCi0gICAgZm9yIChrIGluIHRoaXMubm9kZXNJbmRleCkgewotICAgICAgZGVsZXRlIHRoaXMuaW5OZWlnaGJvcnNJbmRleFtrXVtpZF07Ci0gICAgICBkZWxldGUgdGhpcy5vdXROZWlnaGJvcnNJbmRleFtrXVtpZF07Ci0gICAgICBkZWxldGUgdGhpcy5hbGxOZWlnaGJvcnNJbmRleFtrXVtpZF07Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH0pOwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBkcm9wcyBhbiBlZGdlIGZyb20gdGhlIGdyYXBoLiBBbiBlcnJvciBpcyB0aHJvd24gaWYgdGhlIGVkZ2UKLSAgICogZG9lcyBub3QgZXhpc3QuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gaWQgVGhlIGVkZ2UgaWQuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgVGhlIGdyYXBoIGluc3RhbmNlLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdkcm9wRWRnZScsIGZ1bmN0aW9uKGlkKSB7Ci0gICAgLy8gQ2hlY2sgdGhhdCB0aGUgYXJndW1lbnRzIGFyZSB2YWxpZDoKLSAgICBpZiAoKHR5cGVvZiBpZCAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIGlkICE9PSAnbnVtYmVyJykgfHwKLSAgICAgICAgYXJndW1lbnRzLmxlbmd0aCAhPT0gMSkKLSAgICAgIHRocm93ICdkcm9wRWRnZTogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICBpZiAoIXRoaXMuZWRnZXNJbmRleFtpZF0pCi0gICAgICB0aHJvdyAnVGhlIGVkZ2UgIicgKyBpZCArICciIGRvZXMgbm90IGV4aXN0Lic7Ci0KLSAgICB2YXIgaSwgbCwgZWRnZTsKLQotICAgIC8vIFJlbW92ZSB0aGUgZWRnZSBmcm9tIGluZGV4ZXM6Ci0gICAgZWRnZSA9IHRoaXMuZWRnZXNJbmRleFtpZF07Ci0gICAgZGVsZXRlIHRoaXMuZWRnZXNJbmRleFtpZF07Ci0gICAgZm9yIChpID0gMCwgbCA9IHRoaXMuZWRnZXNBcnJheS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICBpZiAodGhpcy5lZGdlc0FycmF5W2ldLmlkID09PSBpZCkgewotICAgICAgICB0aGlzLmVkZ2VzQXJyYXkuc3BsaWNlKGksIDEpOwotICAgICAgICBicmVhazsKLSAgICAgIH0KLQotICAgIGRlbGV0ZSB0aGlzLmluTmVpZ2hib3JzSW5kZXhbZWRnZS50YXJnZXRdW2VkZ2Uuc291cmNlXVtlZGdlLmlkXTsKLSAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMuaW5OZWlnaGJvcnNJbmRleFtlZGdlLnRhcmdldF1bZWRnZS5zb3VyY2VdKS5sZW5ndGgpCi0gICAgICBkZWxldGUgdGhpcy5pbk5laWdoYm9yc0luZGV4W2VkZ2UudGFyZ2V0XVtlZGdlLnNvdXJjZV07Ci0KLSAgICBkZWxldGUgdGhpcy5vdXROZWlnaGJvcnNJbmRleFtlZGdlLnNvdXJjZV1bZWRnZS50YXJnZXRdW2VkZ2UuaWRdOwotICAgIGlmICghT2JqZWN0LmtleXModGhpcy5vdXROZWlnaGJvcnNJbmRleFtlZGdlLnNvdXJjZV1bZWRnZS50YXJnZXRdKS5sZW5ndGgpCi0gICAgICBkZWxldGUgdGhpcy5vdXROZWlnaGJvcnNJbmRleFtlZGdlLnNvdXJjZV1bZWRnZS50YXJnZXRdOwotCi0gICAgZGVsZXRlIHRoaXMuYWxsTmVpZ2hib3JzSW5kZXhbZWRnZS5zb3VyY2VdW2VkZ2UudGFyZ2V0XVtlZGdlLmlkXTsKLSAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMuYWxsTmVpZ2hib3JzSW5kZXhbZWRnZS5zb3VyY2VdW2VkZ2UudGFyZ2V0XSkubGVuZ3RoKQotICAgICAgZGVsZXRlIHRoaXMuYWxsTmVpZ2hib3JzSW5kZXhbZWRnZS5zb3VyY2VdW2VkZ2UudGFyZ2V0XTsKLQotICAgIGlmIChlZGdlLnRhcmdldCAhPT0gZWRnZS5zb3VyY2UpIHsKLSAgICAgIGRlbGV0ZSB0aGlzLmFsbE5laWdoYm9yc0luZGV4W2VkZ2UudGFyZ2V0XVtlZGdlLnNvdXJjZV1bZWRnZS5pZF07Ci0gICAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMuYWxsTmVpZ2hib3JzSW5kZXhbZWRnZS50YXJnZXRdW2VkZ2Uuc291cmNlXSkubGVuZ3RoKQotICAgICAgICBkZWxldGUgdGhpcy5hbGxOZWlnaGJvcnNJbmRleFtlZGdlLnRhcmdldF1bZWRnZS5zb3VyY2VdOwotICAgIH0KLQotICAgIHRoaXMuaW5OZWlnaGJvcnNDb3VudFtlZGdlLnRhcmdldF0tLTsKLSAgICB0aGlzLm91dE5laWdoYm9yc0NvdW50W2VkZ2Uuc291cmNlXS0tOwotICAgIHRoaXMuYWxsTmVpZ2hib3JzQ291bnRbZWRnZS5zb3VyY2VdLS07Ci0gICAgdGhpcy5hbGxOZWlnaGJvcnNDb3VudFtlZGdlLnRhcmdldF0tLTsKLQotICAgIHJldHVybiB0aGlzOwotICB9KTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgZGVzdHJveXMgdGhlIGN1cnJlbnQgaW5zdGFuY2UuIEl0IGJhc2ljYWxseSBlbXB0aWVzIGVhY2ggaW5kZXgKLSAgICogYW5kIG1ldGhvZHMgYXR0YWNoZWQgdG8gdGhlIGdyYXBoLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdraWxsJywgZnVuY3Rpb24oKSB7Ci0gICAgLy8gRGVsZXRlIGFycmF5czoKLSAgICB0aGlzLm5vZGVzQXJyYXkubGVuZ3RoID0gMDsKLSAgICB0aGlzLmVkZ2VzQXJyYXkubGVuZ3RoID0gMDsKLSAgICBkZWxldGUgdGhpcy5ub2Rlc0FycmF5OwotICAgIGRlbGV0ZSB0aGlzLmVkZ2VzQXJyYXk7Ci0KLSAgICAvLyBEZWxldGUgaW5kZXhlczoKLSAgICBkZWxldGUgdGhpcy5ub2Rlc0luZGV4OwotICAgIGRlbGV0ZSB0aGlzLmVkZ2VzSW5kZXg7Ci0gICAgZGVsZXRlIHRoaXMuaW5OZWlnaGJvcnNJbmRleDsKLSAgICBkZWxldGUgdGhpcy5vdXROZWlnaGJvcnNJbmRleDsKLSAgICBkZWxldGUgdGhpcy5hbGxOZWlnaGJvcnNJbmRleDsKLSAgICBkZWxldGUgdGhpcy5pbk5laWdoYm9yc0NvdW50OwotICAgIGRlbGV0ZSB0aGlzLm91dE5laWdoYm9yc0NvdW50OwotICAgIGRlbGV0ZSB0aGlzLmFsbE5laWdoYm9yc0NvdW50OwotICB9KTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgZW1wdGllcyB0aGUgbm9kZXMgYW5kIGVkZ2VzIGFycmF5cywgYXMgd2VsbCBhcyB0aGUgZGlmZmVyZW50Ci0gICAqIGluZGV4ZXMuCi0gICAqCi0gICAqIEByZXR1cm4ge29iamVjdH0gVGhlIGdyYXBoIGluc3RhbmNlLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdjbGVhcicsIGZ1bmN0aW9uKCkgewotICAgIHRoaXMubm9kZXNBcnJheS5sZW5ndGggPSAwOwotICAgIHRoaXMuZWRnZXNBcnJheS5sZW5ndGggPSAwOwotCi0gICAgLy8gRHVlIHRvIEdDIGlzc3VlcywgSSBwcmVmZXIgbm90IHRvIGNyZWF0ZSBuZXcgb2JqZWN0LiBUaGVzZSBvYmplY3RzIGFyZQotICAgIC8vIG9ubHkgYXZhaWxhYmxlIGZyb20gdGhlIG1ldGhvZHMgYW5kIGF0dGFjaGVkIGZ1bmN0aW9ucywgYnV0IHN0aWxsLCBpdCBpcwotICAgIC8vIGJldHRlciB0byBwcmV2ZW50IGdob3N0IHJlZmVyZW5jZXMgdG8gdW5yZWxldmFudCBkYXRhLi4uCi0gICAgX19lbXB0eU9iamVjdCh0aGlzLm5vZGVzSW5kZXgpOwotICAgIF9fZW1wdHlPYmplY3QodGhpcy5lZGdlc0luZGV4KTsKLSAgICBfX2VtcHR5T2JqZWN0KHRoaXMubm9kZXNJbmRleCk7Ci0gICAgX19lbXB0eU9iamVjdCh0aGlzLmluTmVpZ2hib3JzSW5kZXgpOwotICAgIF9fZW1wdHlPYmplY3QodGhpcy5vdXROZWlnaGJvcnNJbmRleCk7Ci0gICAgX19lbXB0eU9iamVjdCh0aGlzLmFsbE5laWdoYm9yc0luZGV4KTsKLSAgICBfX2VtcHR5T2JqZWN0KHRoaXMuaW5OZWlnaGJvcnNDb3VudCk7Ci0gICAgX19lbXB0eU9iamVjdCh0aGlzLm91dE5laWdoYm9yc0NvdW50KTsKLSAgICBfX2VtcHR5T2JqZWN0KHRoaXMuYWxsTmVpZ2hib3JzQ291bnQpOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH0pOwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCByZWFkcyBhbiBvYmplY3QgYW5kIGFkZHMgdGhlIG5vZGVzIGFuZCBlZGdlcywgdGhyb3VnaCB0aGUKLSAgICogcHJvcGVyIG1ldGhvZHMgImFkZE5vZGUiIGFuZCAiYWRkRWRnZSIuCi0gICAqCi0gICAqIEhlcmUgaXMgYW4gZXhhbXBsZToKLSAgICoKLSAgICogID4gdmFyIG15R3JhcGggPSBuZXcgZ3JhcGgoKTsKLSAgICogID4gbXlHcmFwaC5yZWFkKHsKLSAgICogID4gICBub2RlczogWwotICAgKiAgPiAgICAgeyBpZDogJ24wJyB9LAotICAgKiAgPiAgICAgeyBpZDogJ24xJyB9Ci0gICAqICA+ICAgXSwKLSAgICogID4gICBlZGdlczogWwotICAgKiAgPiAgICAgewotICAgKiAgPiAgICAgICBpZDogJ2UwJywKLSAgICogID4gICAgICAgc291cmNlOiAnbjAnLAotICAgKiAgPiAgICAgICB0YXJnZXQ6ICduMScKLSAgICogID4gICAgIH0KLSAgICogID4gICBdCi0gICAqICA+IH0pOwotICAgKiAgPgotICAgKiAgPiBjb25zb2xlLmxvZygKLSAgICogID4gICBteUdyYXBoLm5vZGVzKCkubGVuZ3RoLAotICAgKiAgPiAgIG15R3JhcGguZWRnZXMoKS5sZW5ndGgKLSAgICogID4gKTsgLy8gb3V0cHV0cyAyIDEKLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSBnIFRoZSBncmFwaCBvYmplY3QuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICBUaGUgZ3JhcGggaW5zdGFuY2UuCi0gICAqLwotICBncmFwaC5hZGRNZXRob2QoJ3JlYWQnLCBmdW5jdGlvbihnKSB7Ci0gICAgdmFyIGksCi0gICAgICAgIGEsCi0gICAgICAgIGw7Ci0KLSAgICBhID0gZy5ub2RlcyB8fCBbXTsKLSAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICB0aGlzLmFkZE5vZGUoYVtpXSk7Ci0KLSAgICBhID0gZy5lZGdlcyB8fCBbXTsKLSAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICB0aGlzLmFkZEVkZ2UoYVtpXSk7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfSk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kcyByZXR1cm5zIG9uZSBvciBzZXZlcmFsIG5vZGVzLCBkZXBlbmRpbmcgb24gaG93IGl0IGlzIGNhbGxlZC4KLSAgICoKLSAgICogVG8gZ2V0IHRoZSBhcnJheSBvZiBub2RlcywgY2FsbCAibm9kZXMiIHdpdGhvdXQgYXJndW1lbnQuIFRvIGdldCBhCi0gICAqIHNwZWNpZmljIG5vZGUsIGNhbGwgaXQgd2l0aCB0aGUgaWQgb2YgdGhlIG5vZGUuIFRoZSBnZXQgbXVsdGlwbGUgbm9kZSwKLSAgICogY2FsbCBpdCB3aXRoIGFuIGFycmF5IG9mIGlkcywgYW5kIGl0IHdpbGwgcmV0dXJuIHRoZSBhcnJheSBvZiBub2RlcywgaW4KLSAgICogdGhlIHNhbWUgb3JkZXIuCi0gICAqCi0gICAqIEBwYXJhbSAgez8oc3RyaW5nfGFycmF5KX0gdiBFdmVudHVhbGx5IG9uZSBpZCwgYW4gYXJyYXkgb2YgaWRzLgotICAgKiBAcmV0dXJuIHtvYmplY3R8YXJyYXl9ICAgICAgVGhlIHJlbGF0ZWQgbm9kZSBvciBhcnJheSBvZiBub2Rlcy4KLSAgICovCi0gIGdyYXBoLmFkZE1ldGhvZCgnbm9kZXMnLCBmdW5jdGlvbih2KSB7Ci0gICAgLy8gQ2xvbmUgdGhlIGFycmF5IG9mIG5vZGVzIGFuZCByZXR1cm4gaXQ6Ci0gICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKQotICAgICAgcmV0dXJuIHRoaXMubm9kZXNBcnJheS5zbGljZSgwKTsKLQotICAgIC8vIFJldHVybiB0aGUgcmVsYXRlZCBub2RlOgotICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmCi0gICAgICAgICh0eXBlb2YgdiA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHYgPT09ICdudW1iZXInKSkKLSAgICAgIHJldHVybiB0aGlzLm5vZGVzSW5kZXhbdl07Ci0KLSAgICAvLyBSZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHJlbGF0ZWQgbm9kZToKLSAgICBpZiAoCi0gICAgICBhcmd1bWVudHMubGVuZ3RoID09PSAxICYmCi0gICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodikgPT09ICdbb2JqZWN0IEFycmF5XScKLSAgICApIHsKLSAgICAgIHZhciBpLAotICAgICAgICAgIGwsCi0gICAgICAgICAgYSA9IFtdOwotCi0gICAgICBmb3IgKGkgPSAwLCBsID0gdi5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIGlmICh0eXBlb2YgdltpXSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZbaV0gPT09ICdudW1iZXInKQotICAgICAgICAgIGEucHVzaCh0aGlzLm5vZGVzSW5kZXhbdltpXV0pOwotICAgICAgICBlbHNlCi0gICAgICAgICAgdGhyb3cgJ25vZGVzOiBXcm9uZyBhcmd1bWVudHMuJzsKLQotICAgICAgcmV0dXJuIGE7Ci0gICAgfQotCi0gICAgdGhyb3cgJ25vZGVzOiBXcm9uZyBhcmd1bWVudHMuJzsKLSAgfSk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kcyByZXR1cm5zIHRoZSBkZWdyZWUgb2Ygb25lIG9yIHNldmVyYWwgbm9kZXMsIGRlcGVuZGluZyBvbiBob3cKLSAgICogaXQgaXMgY2FsbGVkLiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGdldCBpbmNvbWluZyBvciBvdXRjb21pbmcgZGVncmVlcwotICAgKiBpbnN0ZWFkIGJ5IHNwZWNpZnlpbmcgJ2luJyBvciAnb3V0JyBhcyBhIHNlY29uZCBhcmd1bWVudC4KLSAgICoKLSAgICogQHBhcmFtICB7c3RyaW5nfGFycmF5fSB2ICAgICBPbmUgaWQsIGFuIGFycmF5IG9mIGlkcy4KLSAgICogQHBhcmFtICB7P3N0cmluZ30gICAgICB3aGljaCBXaGljaCBkZWdyZWUgaXMgcmVxdWlyZWQuIFZhbHVlcyBhcmUgJ2luJywKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3V0JywgYW5kIGJ5IGRlZmF1bHQgdGhlIG5vcm1hbCBkZWdyZWUuCi0gICAqIEByZXR1cm4ge251bWJlcnxhcnJheX0gICAgICAgVGhlIHJlbGF0ZWQgZGVncmVlIG9yIGFycmF5IG9mIGRlZ3JlZXMuCi0gICAqLwotICBncmFwaC5hZGRNZXRob2QoJ2RlZ3JlZScsIGZ1bmN0aW9uKHYsIHdoaWNoKSB7Ci0gICAgLy8gQ2hlY2sgd2hpY2ggZGVncmVlIGlzIHJlcXVpcmVkOgotICAgIHdoaWNoID0gewotICAgICAgJ2luJzogdGhpcy5pbk5laWdoYm9yc0NvdW50LAotICAgICAgJ291dCc6IHRoaXMub3V0TmVpZ2hib3JzQ291bnQKLSAgICB9W3doaWNoIHx8ICcnXSB8fCB0aGlzLmFsbE5laWdoYm9yc0NvdW50OwotCi0gICAgLy8gUmV0dXJuIHRoZSByZWxhdGVkIG5vZGU6Ci0gICAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdiA9PT0gJ251bWJlcicpCi0gICAgICByZXR1cm4gd2hpY2hbdl07Ci0KLSAgICAvLyBSZXR1cm4gYW4gYXJyYXkgb2YgdGhlIHJlbGF0ZWQgbm9kZToKLSAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHYpID09PSAnW29iamVjdCBBcnJheV0nKSB7Ci0gICAgICB2YXIgaSwKLSAgICAgICAgICBsLAotICAgICAgICAgIGEgPSBbXTsKLQotICAgICAgZm9yIChpID0gMCwgbCA9IHYubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgICBpZiAodHlwZW9mIHZbaV0gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2W2ldID09PSAnbnVtYmVyJykKLSAgICAgICAgICBhLnB1c2god2hpY2hbdltpXV0pOwotICAgICAgICBlbHNlCi0gICAgICAgICAgdGhyb3cgJ2RlZ3JlZTogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICAgIHJldHVybiBhOwotICAgIH0KLQotICAgIHRocm93ICdkZWdyZWU6IFdyb25nIGFyZ3VtZW50cy4nOwotICB9KTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2RzIHJldHVybnMgb25lIG9yIHNldmVyYWwgZWRnZXMsIGRlcGVuZGluZyBvbiBob3cgaXQgaXMgY2FsbGVkLgotICAgKgotICAgKiBUbyBnZXQgdGhlIGFycmF5IG9mIGVkZ2VzLCBjYWxsICJlZGdlcyIgd2l0aG91dCBhcmd1bWVudC4gVG8gZ2V0IGEKLSAgICogc3BlY2lmaWMgZWRnZSwgY2FsbCBpdCB3aXRoIHRoZSBpZCBvZiB0aGUgZWRnZS4gVGhlIGdldCBtdWx0aXBsZSBlZGdlLAotICAgKiBjYWxsIGl0IHdpdGggYW4gYXJyYXkgb2YgaWRzLCBhbmQgaXQgd2lsbCByZXR1cm4gdGhlIGFycmF5IG9mIGVkZ2VzLCBpbgotICAgKiB0aGUgc2FtZSBvcmRlci4KLSAgICoKLSAgICogQHBhcmFtICB7PyhzdHJpbmd8YXJyYXkpfSB2IEV2ZW50dWFsbHkgb25lIGlkLCBhbiBhcnJheSBvZiBpZHMuCi0gICAqIEByZXR1cm4ge29iamVjdHxhcnJheX0gICAgICBUaGUgcmVsYXRlZCBlZGdlIG9yIGFycmF5IG9mIGVkZ2VzLgotICAgKi8KLSAgZ3JhcGguYWRkTWV0aG9kKCdlZGdlcycsIGZ1bmN0aW9uKHYpIHsKLSAgICAvLyBDbG9uZSB0aGUgYXJyYXkgb2YgZWRnZXMgYW5kIHJldHVybiBpdDoKLSAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpCi0gICAgICByZXR1cm4gdGhpcy5lZGdlc0FycmF5LnNsaWNlKDApOwotCi0gICAgLy8gUmV0dXJuIHRoZSByZWxhdGVkIGVkZ2U6Ci0gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYKLSAgICAgICAgKHR5cGVvZiB2ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdiA9PT0gJ251bWJlcicpKQotICAgICAgcmV0dXJuIHRoaXMuZWRnZXNJbmRleFt2XTsKLQotICAgIC8vIFJldHVybiBhbiBhcnJheSBvZiB0aGUgcmVsYXRlZCBlZGdlOgotICAgIGlmICgKLSAgICAgIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYKLSAgICAgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2KSA9PT0gJ1tvYmplY3QgQXJyYXldJwotICAgICkgewotICAgICAgdmFyIGksCi0gICAgICAgICAgbCwKLSAgICAgICAgICBhID0gW107Ci0KLSAgICAgIGZvciAoaSA9IDAsIGwgPSB2Lmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgICAgaWYgKHR5cGVvZiB2W2ldID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdltpXSA9PT0gJ251bWJlcicpCi0gICAgICAgICAgYS5wdXNoKHRoaXMuZWRnZXNJbmRleFt2W2ldXSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICB0aHJvdyAnZWRnZXM6IFdyb25nIGFyZ3VtZW50cy4nOwotCi0gICAgICByZXR1cm4gYTsKLSAgICB9Ci0KLSAgICB0aHJvdyAnZWRnZXM6IFdyb25nIGFyZ3VtZW50cy4nOwotICB9KTsKLQotCi0gIC8qKgotICAgKiBFWFBPUlQ6Ci0gICAqICoqKioqKioKLSAgICovCi0gIGlmICh0eXBlb2Ygc2lnbWEgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgc2lnbWEuY2xhc3NlcyA9IHNpZ21hLmNsYXNzZXMgfHwgT2JqZWN0LmNyZWF0ZShudWxsKTsKLSAgICBzaWdtYS5jbGFzc2VzLmdyYXBoID0gZ3JhcGg7Ci0gIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzKQotICAgICAgZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZ3JhcGg7Ci0gICAgZXhwb3J0cy5ncmFwaCA9IGdyYXBoOwotICB9IGVsc2UKLSAgICB0aGlzLmdyYXBoID0gZ3JhcGg7Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5jbGFzc2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoZSBjYW1lcmEgY29uc3RydWN0b3IuIEl0IGp1c3QgaW5pdGlhbGl6ZXMgaXRzIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICAgICAgaWQgICAgICAgVGhlIGlkLgotICAgKiBAcGFyYW0gIHtzaWdtYS5jbGFzc2VzLmdyYXBofSAgZ3JhcGggICAgVGhlIGdyYXBoLgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9IHNldHRpbmdzIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICogQHBhcmFtICB7P29iamVjdH0gICAgICBvcHRpb25zICBFdmVudHVhbGx5IHNvbWUgb3ZlcnJpZGluZyBvcHRpb25zLgotICAgKiBAcmV0dXJuIHtjYW1lcmF9ICAgICAgICAgICAgICAgIFJldHVybnMgdGhlIGZyZXNoIG5ldyBjYW1lcmEgaW5zdGFuY2UuCi0gICAqLwotICBzaWdtYS5jbGFzc2VzLmNhbWVyYSA9IGZ1bmN0aW9uKGlkLCBncmFwaCwgc2V0dGluZ3MsIG9wdGlvbnMpIHsKLSAgICBzaWdtYS5jbGFzc2VzLmRpc3BhdGNoZXIuZXh0ZW5kKHRoaXMpOwotCi0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdncmFwaCcsIHsKLSAgICAgIHZhbHVlOiBncmFwaAotICAgIH0pOwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnaWQnLCB7Ci0gICAgICB2YWx1ZTogaWQKLSAgICB9KTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3JlYWRQcmVmaXgnLCB7Ci0gICAgICB2YWx1ZTogJ3JlYWRfY2FtJyArIGlkICsgJzonCi0gICAgfSk7Ci0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdwcmVmaXgnLCB7Ci0gICAgICB2YWx1ZTogJ2NhbScgKyBpZCArICc6JwotICAgIH0pOwotCi0gICAgdGhpcy54ID0gMDsKLSAgICB0aGlzLnkgPSAwOwotICAgIHRoaXMucmF0aW8gPSAxOwotICAgIHRoaXMuYW5nbGUgPSAwOwotICAgIHRoaXMuaXNBbmltYXRlZCA9IGZhbHNlOwotICAgIHRoaXMuc2V0dGluZ3MgPSAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMpID8KLSAgICAgIHNldHRpbmdzLmVtYmVkT2JqZWN0KG9wdGlvbnMpIDoKLSAgICAgIHNldHRpbmdzOwotICB9OwotCi0gIC8qKgotICAgKiBVcGRhdGVzIHRoZSBjYW1lcmEgcG9zaXRpb24uCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gY29vcmRpbmF0ZXMgVGhlIG5ldyBjb29yZGluYXRlcyBvYmplY3QuCi0gICAqIEByZXR1cm4ge2NhbWVyYX0gICAgICAgICAgICAgUmV0dXJucyB0aGUgY2FtZXJhLgotICAgKi8KLSAgc2lnbWEuY2xhc3Nlcy5jYW1lcmEucHJvdG90eXBlLmdvVG8gPSBmdW5jdGlvbihjb29yZGluYXRlcykgewotICAgIGlmICghdGhpcy5zZXR0aW5ncygnZW5hYmxlQ2FtZXJhJykpCi0gICAgICByZXR1cm4gdGhpczsKLQotICAgIHZhciBpLAotICAgICAgICBsLAotICAgICAgICBjID0gY29vcmRpbmF0ZXMgfHwge30sCi0gICAgICAgIGtleXMgPSBbJ3gnLCAneScsICdyYXRpbycsICdhbmdsZSddOwotCi0gICAgZm9yIChpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgaWYgKGNba2V5c1tpXV0gIT09IHVuZGVmaW5lZCkgewotICAgICAgICBpZiAodHlwZW9mIGNba2V5c1tpXV0gPT09ICdudW1iZXInICYmICFpc05hTihjW2tleXNbaV1dKSkKLSAgICAgICAgICB0aGlzW2tleXNbaV1dID0gY1trZXlzW2ldXTsKLSAgICAgICAgZWxzZQotICAgICAgICAgIHRocm93ICdWYWx1ZSBmb3IgIicgKyBrZXlzW2ldICsgJyIgaXMgbm90IGEgbnVtYmVyLic7Ci0gICAgICB9Ci0KLSAgICB0aGlzLmRpc3BhdGNoRXZlbnQoJ2Nvb3JkaW5hdGVzVXBkYXRlZCcpOwotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCB0YWtlcyBhIGdyYXBoIGFuZCBjb21wdXRlcyBmb3IgZWFjaCBub2RlIGFuZCBlZGdlcyBpdHMKLSAgICogY29vcmRpbmF0ZXMgcmVsYXRpdmVseSB0byB0aGUgY2VudGVyIG9mIHRoZSBjYW1lcmEuIEJhc2ljYWxseSwgaXQgd2lsbAotICAgKiBjb21wdXRlIHRoZSBjb29yZGluYXRlcyB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGUgZ3JhcGhpYyByZW5kZXJlcnMuCi0gICAqCi0gICAqIFNpbmNlIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IGNhbWVyYXMgYW5kIGRpZmZlcmVudAotICAgKiByZW5kZXJlcnMsIGl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgYSBwcmVmaXggdG8gcHV0IGJlZm9yZSB0aGUgbmV3Ci0gICAqIGNvb3JkaW5hdGVzICh0byBnZXQgc29tZXRoaW5nIGxpa2UgIm5vZGUuY2FtZXJhMV94IikKLSAgICoKLSAgICogQHBhcmFtICB7P3N0cmluZ30gcmVhZCAgICBUaGUgcHJlZml4IG9mIHRoZSBjb29yZGluYXRlcyB0byByZWFkLgotICAgKiBAcGFyYW0gIHs/c3RyaW5nfSB3cml0ZSAgIFRoZSBwcmVmaXggb2YgdGhlIGNvb3JkaW5hdGVzIHRvIHdyaXRlLgotICAgKiBAcGFyYW0gIHs/b2JqZWN0fSBvcHRpb25zIEV2ZW50dWFsbHkgYW4gb2JqZWN0IG9mIG9wdGlvbnMuIFRob3NlIGNhbiBiZToKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAtIEEgcmVzdHJpY3RlZCBub2RlcyBhcnJheS4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAtIEEgcmVzdHJpY3RlZCBlZGdlcyBhcnJheS4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAtIEEgd2lkdGguCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBBIGhlaWdodC4KLSAgICogQHJldHVybiB7Y2FtZXJhfSAgICAgICAgUmV0dXJucyB0aGUgY2FtZXJhLgotICAgKi8KLSAgc2lnbWEuY2xhc3Nlcy5jYW1lcmEucHJvdG90eXBlLmFwcGx5VmlldyA9IGZ1bmN0aW9uKHJlYWQsIHdyaXRlLCBvcHRpb25zKSB7Ci0gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307Ci0gICAgd3JpdGUgPSB3cml0ZSAhPT0gdW5kZWZpbmVkID8gd3JpdGUgOiB0aGlzLnByZWZpeDsKLSAgICByZWFkID0gcmVhZCAhPT0gdW5kZWZpbmVkID8gcmVhZCA6IHRoaXMucmVhZFByZWZpeDsKLQotICAgIHZhciBub2RlcyA9IG9wdGlvbnMubm9kZXMgfHwgdGhpcy5ncmFwaC5ub2RlcygpLAotICAgICAgICBlZGdlcyA9IG9wdGlvbnMuZWRnZXMgfHwgdGhpcy5ncmFwaC5lZGdlcygpOwotCi0gICAgdmFyIGksCi0gICAgICAgIGwsCi0gICAgICAgIG5vZGUsCi0gICAgICAgIGNvcyA9IE1hdGguY29zKHRoaXMuYW5nbGUpLAotICAgICAgICBzaW4gPSBNYXRoLnNpbih0aGlzLmFuZ2xlKSwKLSAgICAgICAgbm9kZVJhdGlvID0gTWF0aC5wb3codGhpcy5yYXRpbywgdGhpcy5zZXR0aW5ncygnbm9kZXNQb3dSYXRpbycpKSwKLSAgICAgICAgZWRnZVJhdGlvID0gTWF0aC5wb3codGhpcy5yYXRpbywgdGhpcy5zZXR0aW5ncygnZWRnZXNQb3dSYXRpbycpKSwKLSAgICAgICAgeE9mZnNldCA9IChvcHRpb25zLndpZHRoIHx8IDApIC8gMiwKLSAgICAgICAgeU9mZnNldCA9IChvcHRpb25zLmhlaWdodCB8fCAwKSAvIDI7Ci0KLSAgICBmb3IgKGkgPSAwLCBsID0gbm9kZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICBub2RlID0gbm9kZXNbaV07Ci0gICAgICBub2RlW3dyaXRlICsgJ3gnXSA9Ci0gICAgICAgICgKLSAgICAgICAgICAoKG5vZGVbcmVhZCArICd4J10gfHwgMCkgLSB0aGlzLngpICogY29zICsKLSAgICAgICAgICAoKG5vZGVbcmVhZCArICd5J10gfHwgMCkgLSB0aGlzLnkpICogc2luCi0gICAgICAgICkgLyB0aGlzLnJhdGlvICsgeE9mZnNldDsKLSAgICAgIG5vZGVbd3JpdGUgKyAneSddID0KLSAgICAgICAgKAotICAgICAgICAgICgobm9kZVtyZWFkICsgJ3knXSB8fCAwKSAtIHRoaXMueSkgKiBjb3MgLQotICAgICAgICAgICgobm9kZVtyZWFkICsgJ3gnXSB8fCAwKSAtIHRoaXMueCkgKiBzaW4KLSAgICAgICAgKSAvIHRoaXMucmF0aW8gKyB5T2Zmc2V0OwotICAgICAgbm9kZVt3cml0ZSArICdzaXplJ10gPQotICAgICAgICAobm9kZVtyZWFkICsgJ3NpemUnXSB8fCAwKSAvCi0gICAgICAgIG5vZGVSYXRpbzsKLSAgICB9Ci0KLSAgICBmb3IgKGkgPSAwLCBsID0gZWRnZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICBlZGdlc1tpXVt3cml0ZSArICdzaXplJ10gPQotICAgICAgICAoZWRnZXNbaV1bcmVhZCArICdzaXplJ10gfHwgMCkgLwotICAgICAgICBlZGdlUmF0aW87Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgZnVuY3Rpb24gY29udmVydHMgdGhlIGNvb3JkaW5hdGVzIG9mIGEgcG9pbnQgZnJvbSB0aGUgZnJhbWUgb2YgdGhlCi0gICAqIGNhbWVyYSB0byB0aGUgZnJhbWUgb2YgdGhlIGdyYXBoLgotICAgKgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHggVGhlIFggY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQgaW4gdGhlIGZyYW1lIG9mIHRoZQotICAgKiAgICAgICAgICAgICAgICAgICAgY2FtZXJhLgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IHkgVGhlIFkgY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQgaW4gdGhlIGZyYW1lIG9mIHRoZQotICAgKiAgICAgICAgICAgICAgICAgICAgY2FtZXJhLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgVGhlIHBvaW50IGNvb3JkaW5hdGVzIGluIHRoZSBmcmFtZSBvZiB0aGUgZ3JhcGguCi0gICAqLwotICBzaWdtYS5jbGFzc2VzLmNhbWVyYS5wcm90b3R5cGUuZ3JhcGhQb3NpdGlvbiA9IGZ1bmN0aW9uKHgsIHksIHZlY3RvcikgewotICAgIHZhciBYID0gMCwKLSAgICAgICAgWSA9IDAsCi0gICAgICAgIGNvcyA9IE1hdGguY29zKHRoaXMuYW5nbGUpLAotICAgICAgICBzaW4gPSBNYXRoLnNpbih0aGlzLmFuZ2xlKTsKLQotICAgIC8vIFJldmVydCB0aGUgb3JpZ2luIGRpZmZlcmVudGlhbCB2ZWN0b3I6Ci0gICAgaWYgKCF2ZWN0b3IpIHsKLSAgICAgIFggPSAtICh0aGlzLnggKiBjb3MgKyB0aGlzLnkgKiBzaW4pIC8gdGhpcy5yYXRpbzsKLSAgICAgIFkgPSAtICh0aGlzLnkgKiBjb3MgLSB0aGlzLnggKiBzaW4pIC8gdGhpcy5yYXRpbzsKLSAgICB9Ci0KLSAgICByZXR1cm4gewotICAgICAgeDogKHggKiBjb3MgKyB5ICogc2luKSAvIHRoaXMucmF0aW8gKyBYLAotICAgICAgeTogKHkgKiBjb3MgLSB4ICogc2luKSAvIHRoaXMucmF0aW8gKyBZCi0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgY29vcmRpbmF0ZXMgb2YgYSBwb2ludCBmcm9tIHRoZSBmcmFtZSBvZiB0aGUKLSAgICogZ3JhcGggdG8gdGhlIGZyYW1lIG9mIHRoZSBjYW1lcmEuCi0gICAqCi0gICAqIEBwYXJhbSAge251bWJlcn0geCBUaGUgWCBjb29yZGluYXRlIG9mIHRoZSBwb2ludCBpbiB0aGUgZnJhbWUgb2YgdGhlCi0gICAqICAgICAgICAgICAgICAgICAgICBncmFwaC4KLSAgICogQHBhcmFtICB7bnVtYmVyfSB5IFRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IGluIHRoZSBmcmFtZSBvZiB0aGUKLSAgICogICAgICAgICAgICAgICAgICAgIGdyYXBoLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgVGhlIHBvaW50IGNvb3JkaW5hdGVzIGluIHRoZSBmcmFtZSBvZiB0aGUgY2FtZXJhLgotICAgKi8KLSAgc2lnbWEuY2xhc3Nlcy5jYW1lcmEucHJvdG90eXBlLmNhbWVyYVBvc2l0aW9uID0gZnVuY3Rpb24oeCwgeSwgdmVjdG9yKSB7Ci0gICAgdmFyIFggPSAwLAotICAgICAgICBZID0gMCwKLSAgICAgICAgY29zID0gTWF0aC5jb3ModGhpcy5hbmdsZSksCi0gICAgICAgIHNpbiA9IE1hdGguc2luKHRoaXMuYW5nbGUpOwotCi0gICAgLy8gUmV2ZXJ0IHRoZSBvcmlnaW4gZGlmZmVyZW50aWFsIHZlY3RvcjoKLSAgICBpZiAoIXZlY3RvcikgewotICAgICAgWCA9IC0gKHRoaXMueCAqIGNvcyArIHRoaXMueSAqIHNpbikgLyB0aGlzLnJhdGlvOwotICAgICAgWSA9IC0gKHRoaXMueSAqIGNvcyAtIHRoaXMueCAqIHNpbikgLyB0aGlzLnJhdGlvOwotICAgIH0KLQotICAgIHJldHVybiB7Ci0gICAgICB4OiAoKHggLSBYKSAqIGNvcyAtICh5IC0gWSkgKiBzaW4pICogdGhpcy5yYXRpbywKLSAgICAgIHk6ICgoeSAtIFkpICogY29zICsgKHggLSBYKSAqIHNpbikgKiB0aGlzLnJhdGlvCi0gICAgfTsKLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IG9mIHRoZSBjYW1lcmEuIFRoaXMgaXMKLSAgICogZXNwZWNpYWxseSB1c2VmdWwgdG8gYXBwbHkgdGhlIGNhbWVyYSB2aWV3IGRpcmVjdGx5IGluIHNoYWRlcnMsIGluIGNhc2Ugb2YKLSAgICogV2ViR0wgcmVuZGVyaW5nLgotICAgKgotICAgKiBAcmV0dXJuIHthcnJheX0gVGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4KLSAgICovCi0gIHNpZ21hLmNsYXNzZXMuY2FtZXJhLnByb3RvdHlwZS5nZXRNYXRyaXggPSBmdW5jdGlvbigpIHsKLSAgICB2YXIgc2NhbGUgPSBzaWdtYS51dGlscy5tYXRyaWNlcy5zY2FsZSgxIC8gdGhpcy5yYXRpbyksCi0gICAgICAgIHJvdGF0aW9uID0gc2lnbWEudXRpbHMubWF0cmljZXMucm90YXRpb24odGhpcy5hbmdsZSksCi0gICAgICAgIHRyYW5zbGF0aW9uID0gc2lnbWEudXRpbHMubWF0cmljZXMudHJhbnNsYXRpb24oLXRoaXMueCwgLXRoaXMueSksCi0gICAgICAgIG1hdHJpeCA9IHNpZ21hLnV0aWxzLm1hdHJpY2VzLm11bHRpcGx5KAotICAgICAgICAgIHRyYW5zbGF0aW9uLAotICAgICAgICAgIHNpZ21hLnV0aWxzLm1hdHJpY2VzLm11bHRpcGx5KAotICAgICAgICAgICAgcm90YXRpb24sCi0gICAgICAgICAgICBzY2FsZQotICAgICAgICAgICkKLSAgICAgICAgKTsKLQotICAgIHJldHVybiBtYXRyaXg7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRha2luZyBhIHdpZHRoIGFuZCBhIGhlaWdodCBhcyBwYXJhbWV0ZXJzLCB0aGlzIG1ldGhvZCByZXR1cm5zIHRoZQotICAgKiBjb29yZGluYXRlcyBvZiB0aGUgcmVjdGFuZ2xlIHJlcHJlc2VudGluZyB0aGUgY2FtZXJhIG9uIHNjcmVlbiwgaW4gdGhlCi0gICAqIGdyYXBoJ3MgcmVmZXJlbnRpZWwuCi0gICAqCi0gICAqIFRvIGtlZXAgZGlzcGxheWluZyBsYWJlbHMgb2Ygbm9kZXMgZ29pbmcgb3V0IG9mIHRoZSBzY3JlZW4sIHRoZSBtZXRob2QKLSAgICoga2VlcHMgYSBtYXJnaW4gYXJvdW5kIHRoZSBzY3JlZW4gaW4gdGhlIHJldHVybmVkIHJlY3RhbmdsZS4KLSAgICoKLSAgICogQHBhcmFtICB7bnVtYmVyfSB3aWR0aCAgVGhlIHdpZHRoIG9mIHRoZSBzY3JlZW4uCi0gICAqIEBwYXJhbSAge251bWJlcn0gaGVpZ2h0IFRoZSBoZWlnaHQgb2YgdGhlIHNjcmVlbi4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgVGhlIHJlY3RhbmdsZSBhcyB4MSwgeTEsIHgyIGFuZCB5MiwgcmVwcmVzZW50aW5nCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgIHR3byBvcHBvc2l0ZSBwb2ludHMuCi0gICAqLwotICBzaWdtYS5jbGFzc2VzLmNhbWVyYS5wcm90b3R5cGUuZ2V0UmVjdGFuZ2xlID0gZnVuY3Rpb24od2lkdGgsIGhlaWdodCkgewotICAgIHZhciB3aWR0aFZlY3QgPSB0aGlzLmNhbWVyYVBvc2l0aW9uKHdpZHRoLCAwLCB0cnVlKSwKLSAgICAgICAgaGVpZ2h0VmVjdCA9IHRoaXMuY2FtZXJhUG9zaXRpb24oMCwgaGVpZ2h0LCB0cnVlKSwKLSAgICAgICAgY2VudGVyVmVjdCA9IHRoaXMuY2FtZXJhUG9zaXRpb24od2lkdGggLyAyLCBoZWlnaHQgLyAyLCB0cnVlKSwKLSAgICAgICAgbWFyZ2luWCA9IHRoaXMuY2FtZXJhUG9zaXRpb24od2lkdGggLyA0LCAwLCB0cnVlKS54LAotICAgICAgICBtYXJnaW5ZID0gdGhpcy5jYW1lcmFQb3NpdGlvbigwLCBoZWlnaHQgLyA0LCB0cnVlKS55OwotCi0gICAgcmV0dXJuIHsKLSAgICAgIHgxOiB0aGlzLnggLSBjZW50ZXJWZWN0LnggLSBtYXJnaW5YLAotICAgICAgeTE6IHRoaXMueSAtIGNlbnRlclZlY3QueSAtIG1hcmdpblksCi0gICAgICB4MjogdGhpcy54IC0gY2VudGVyVmVjdC54ICsgbWFyZ2luWCArIHdpZHRoVmVjdC54LAotICAgICAgeTI6IHRoaXMueSAtIGNlbnRlclZlY3QueSAtIG1hcmdpblkgKyB3aWR0aFZlY3QueSwKLSAgICAgIGhlaWdodDogTWF0aC5zcXJ0KAotICAgICAgICBNYXRoLnBvdyhoZWlnaHRWZWN0LngsIDIpICsKLSAgICAgICAgTWF0aC5wb3coaGVpZ2h0VmVjdC55ICsgMiAqIG1hcmdpblksIDIpCi0gICAgICApCi0gICAgfTsKLSAgfTsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24odW5kZWZpbmVkKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICAvKioKLSAgICogU2lnbWEgUXVhZHRyZWUgTW9kdWxlCi0gICAqID09PT09PT09PT09PT09PT09PT09PQotICAgKgotICAgKiBBdXRob3I6IEd1aWxsYXVtZSBQbGlxdWUgKFlvbWd1aXRoZXJlYWwpCi0gICAqIFZlcnNpb246IDAuMgotICAgKi8KLQotCi0KLSAgLyoqCi0gICAqIFF1YWQgR2VvbWV0cmljIE9wZXJhdGlvbnMKLSAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgKgotICAgKiBBIHVzZWZ1bCBiYXRjaCBvZiBnZW9tZXRyaWMgb3BlcmF0aW9ucyB1c2VkIGJ5IHRoZSBxdWFkdHJlZS4KLSAgICovCi0KLSAgdmFyIF9nZW9tID0gewotCi0gICAgLyoqCi0gICAgICogVHJhbnNmb3JtcyBhIGdyYXBoIG5vZGUgd2l0aCB4LCB5IGFuZCBzaXplIGludG8gYW4KLSAgICAgKiBheGlzLWFsaWduZWQgc3F1YXJlLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBIGdyYXBoIG5vZGUgd2l0aCBhdCBsZWFzdCBhIHBvaW50ICh4LCB5KSBhbmQgYSBzaXplLgotICAgICAqIEByZXR1cm4ge29iamVjdH0gQSBzcXVhcmU6IHR3byBwb2ludHMgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAgICovCi0gICAgcG9pbnRUb1NxdWFyZTogZnVuY3Rpb24obikgewotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDE6IG4ueCAtIG4uc2l6ZSwKLSAgICAgICAgeTE6IG4ueSAtIG4uc2l6ZSwKLSAgICAgICAgeDI6IG4ueCArIG4uc2l6ZSwKLSAgICAgICAgeTI6IG4ueSAtIG4uc2l6ZSwKLSAgICAgICAgaGVpZ2h0OiBuLnNpemUgKiAyCi0gICAgICB9OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBDaGVja3Mgd2hldGhlciBhIHJlY3RhbmdsZSBpcyBheGlzLWFsaWduZWQuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9ICBBIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IHR3byBwb2ludHMKLSAgICAgKiAgICAgICAgICAgICAgICAgICAoeDEsIHkxKSBhbmQgKHgyLCB5MikuCi0gICAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcmVjdGFuZ2xlIGlzIGF4aXMtYWxpZ25lZC4KLSAgICAgKi8KLSAgICBpc0F4aXNBbGlnbmVkOiBmdW5jdGlvbihyKSB7Ci0gICAgICByZXR1cm4gci54MSA9PT0gci54MiB8fCByLnkxID09PSByLnkyOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBDb21wdXRlIHRvcCBwb2ludHMgb2YgYW4gYXhpcy1hbGlnbmVkIHJlY3RhbmdsZS4gVGhpcyBpcyB1c2VmdWwgaW4KLSAgICAgKiBjYXNlcyB3aGVuIHRoZSByZWN0YW5nbGUgaGFzIGJlZW4gcm90YXRlZCAobGVmdCwgcmlnaHQgb3IgYm90dG9tIHVwKSBhbmQKLSAgICAgKiBsYXRlciBvcGVyYXRpb25zIG5lZWQgdG8ga25vdyB0aGUgdG9wIHBvaW50cy4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gQW4gYXhpcy1hbGlnbmVkIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IHR3byBwb2ludHMKLSAgICAgKiAgICAgICAgICAgICAgICAgICh4MSwgeTEpLCAoeDIsIHkyKSBhbmQgaGVpZ2h0LgotICAgICAqIEByZXR1cm4ge29iamVjdH0gQSByZWN0YW5nbGU6IHR3byBwb2ludHMgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAgICovCi0gICAgYXhpc0FsaWduZWRUb3BQb2ludHM6IGZ1bmN0aW9uKHIpIHsKLQotICAgICAgLy8gQmFzaWMKLSAgICAgIGlmIChyLnkxID09PSByLnkyICYmIHIueDEgPCByLngyKQotICAgICAgICByZXR1cm4gcjsKLQotICAgICAgLy8gUm90YXRlZCB0byByaWdodAotICAgICAgaWYgKHIueDEgPT09IHIueDIgJiYgci55MiA+IHIueTEpCi0gICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgeDE6IHIueDEgLSByLmhlaWdodCwgeTE6IHIueTEsCi0gICAgICAgICAgeDI6IHIueDEsIHkyOiByLnkxLAotICAgICAgICAgIGhlaWdodDogci5oZWlnaHQKLSAgICAgICAgfTsKLQotICAgICAgLy8gUm90YXRlZCB0byBsZWZ0Ci0gICAgICBpZiAoci54MSA9PT0gci54MiAmJiByLnkyIDwgci55MSkKLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICB4MTogci54MSwgeTE6IHIueTIsCi0gICAgICAgICAgeDI6IHIueDIgKyByLmhlaWdodCwgeTI6IHIueTIsCi0gICAgICAgICAgaGVpZ2h0OiByLmhlaWdodAotICAgICAgICB9OwotCi0gICAgICAvLyBCb3R0b20ncyB1cAotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDE6IHIueDIsIHkxOiByLnkxIC0gci5oZWlnaHQsCi0gICAgICAgIHgyOiByLngxLCB5Mjogci55MSAtIHIuaGVpZ2h0LAotICAgICAgICBoZWlnaHQ6IHIuaGVpZ2h0Ci0gICAgICB9OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBHZXQgY29vcmRpbmF0ZXMgb2YgYSByZWN0YW5nbGUncyBsb3dlciBsZWZ0IGNvcm5lciBmcm9tIGl0cyB0b3AgcG9pbnRzLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IHR3byBwb2ludHMgKHgxLCB5MSkgYW5kICh4MiwgeTIpLgotICAgICAqIEByZXR1cm4ge29iamVjdH0gQ29vcmRpbmF0ZXMgb2YgdGhlIGNvcm5lciAoeCwgeSkuCi0gICAgICovCi0gICAgbG93ZXJMZWZ0Q29vcjogZnVuY3Rpb24ocikgewotICAgICAgdmFyIHdpZHRoID0gKAotICAgICAgICBNYXRoLnNxcnQoCi0gICAgICAgICAgTWF0aC5wb3coci54MiAtIHIueDEsIDIpICsKLSAgICAgICAgICBNYXRoLnBvdyhyLnkyIC0gci55MSwgMikKLSAgICAgICAgKQotICAgICAgKTsKLQotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDogci54MSAtIChyLnkyIC0gci55MSkgKiByLmhlaWdodCAvIHdpZHRoLAotICAgICAgICB5OiByLnkxICsgKHIueDIgLSByLngxKSAqIHIuaGVpZ2h0IC8gd2lkdGgKLSAgICAgIH07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEdldCBjb29yZGluYXRlcyBvZiBhIHJlY3RhbmdsZSdzIGxvd2VyIHJpZ2h0IGNvcm5lciBmcm9tIGl0cyB0b3AgcG9pbnRzCi0gICAgICogYW5kIGl0cyBsb3dlciBsZWZ0IGNvcm5lci4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gQSByZWN0YW5nbGUgZGVmaW5lZCBieSB0d28gcG9pbnRzICh4MSwgeTEpIGFuZCAoeDIsIHkyKS4KLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9IEEgY29ybmVyJ3MgY29vcmRpbmF0ZXMgKHgsIHkpLgotICAgICAqIEByZXR1cm4ge29iamVjdH0gQ29vcmRpbmF0ZXMgb2YgdGhlIGNvcm5lciAoeCwgeSkuCi0gICAgICovCi0gICAgbG93ZXJSaWdodENvb3I6IGZ1bmN0aW9uKHIsIGxsYykgewotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDogbGxjLnggLSByLngxICsgci54MiwKLSAgICAgICAgeTogbGxjLnkgLSByLnkxICsgci55MgotICAgICAgfTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogR2V0IHRoZSBjb29yZGluYXRlcyBvZiBhbGwgdGhlIGNvcm5lcnMgb2YgYSByZWN0YW5nbGUgZnJvbSBpdHMgdG9wIHBvaW50LgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IHR3byBwb2ludHMgKHgxLCB5MSkgYW5kICh4MiwgeTIpLgotICAgICAqIEByZXR1cm4ge2FycmF5fSAgQW4gYXJyYXkgb2YgdGhlIGZvdXIgY29ybmVycycgY29vcmRpbmF0ZXMgKHgsIHkpLgotICAgICAqLwotICAgIHJlY3RhbmdsZUNvcm5lcnM6IGZ1bmN0aW9uKHIpIHsKLSAgICAgIHZhciBsbGMgPSB0aGlzLmxvd2VyTGVmdENvb3IociksCi0gICAgICAgICAgbHJjID0gdGhpcy5sb3dlclJpZ2h0Q29vcihyLCBsbGMpOwotCi0gICAgICByZXR1cm4gWwotICAgICAgICB7eDogci54MSwgeTogci55MX0sCi0gICAgICAgIHt4OiByLngyLCB5OiByLnkyfSwKLSAgICAgICAge3g6IGxsYy54LCB5OiBsbGMueX0sCi0gICAgICAgIHt4OiBscmMueCwgeTogbHJjLnl9Ci0gICAgICBdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBTcGxpdCBhIHNxdWFyZSBkZWZpbmVkIGJ5IGl0cyBib3VuZGFyaWVzIGludG8gZm91ci4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gQm91bmRhcmllcyBvZiB0aGUgc3F1YXJlICh4LCB5LCB3aWR0aCwgaGVpZ2h0KS4KLSAgICAgKiBAcmV0dXJuIHthcnJheX0gIEFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGZvdXIgbmV3IHNxdWFyZXMsIHRoZW1zZWx2ZXMKLSAgICAgKiAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkgYW4gYXJyYXkgb2YgdGhlaXIgZm91ciBjb3JuZXJzICh4LCB5KS4KLSAgICAgKi8KLSAgICBzcGxpdFNxdWFyZTogZnVuY3Rpb24oYikgewotICAgICAgcmV0dXJuIFsKLSAgICAgICAgWwotICAgICAgICAgIHt4OiBiLngsIHk6IGIueX0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGggLyAyLCB5OiBiLnl9LAotICAgICAgICAgIHt4OiBiLngsIHk6IGIueSArIGIuaGVpZ2h0IC8gMn0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGggLyAyLCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9Ci0gICAgICAgIF0sCi0gICAgICAgIFsKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCAvIDIsIHk6IGIueX0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGgsIHk6IGIueX0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGggLyAyLCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9LAotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoLCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9Ci0gICAgICAgIF0sCi0gICAgICAgIFsKLSAgICAgICAgICB7eDogYi54LCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9LAotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoIC8gMiwgeTogYi55ICsgYi5oZWlnaHQgLyAyfSwKLSAgICAgICAgICB7eDogYi54LCB5OiBiLnkgKyBiLmhlaWdodH0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGggLyAyLCB5OiBiLnkgKyBiLmhlaWdodH0KLSAgICAgICAgXSwKLSAgICAgICAgWwotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoIC8gMiwgeTogYi55ICsgYi5oZWlnaHQgLyAyfSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCwgeTogYi55ICsgYi5oZWlnaHQgLyAyfSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCAvIDIsIHk6IGIueSArIGIuaGVpZ2h0fSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCwgeTogYi55ICsgYi5oZWlnaHR9Ci0gICAgICAgIF0KLSAgICAgIF07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIENvbXB1dGUgdGhlIGZvdXIgYXhpcyBiZXR3ZWVuIGNvcm5lcnMgb2YgcmVjdGFuZ2xlIEEgYW5kIGNvcm5lcnMgb2YKLSAgICAgKiByZWN0YW5nbGUgQi4gVGhpcyBpcyBuZWVkZWQgbGF0ZXIgdG8gY2hlY2sgYW4gZXZlbnR1YWwgY29sbGlzaW9uLgotICAgICAqCi0gICAgICogQHBhcmFtICB7YXJyYXl9IEFuIGFycmF5IG9mIHJlY3RhbmdsZSBBJ3MgZm91ciBjb3JuZXJzICh4LCB5KS4KLSAgICAgKiBAcGFyYW0gIHthcnJheX0gQW4gYXJyYXkgb2YgcmVjdGFuZ2xlIEIncyBmb3VyIGNvcm5lcnMgKHgsIHkpLgotICAgICAqIEByZXR1cm4ge2FycmF5fSBBbiBhcnJheSBvZiBmb3VyIGF4aXMgZGVmaW5lZCBieSB0aGVpciBjb29yZGluYXRlcyAoeCx5KS4KLSAgICAgKi8KLSAgICBheGlzOiBmdW5jdGlvbihjMSwgYzIpIHsKLSAgICAgIHJldHVybiBbCi0gICAgICAgIHt4OiBjMVsxXS54IC0gYzFbMF0ueCwgeTogYzFbMV0ueSAtIGMxWzBdLnl9LAotICAgICAgICB7eDogYzFbMV0ueCAtIGMxWzNdLngsIHk6IGMxWzFdLnkgLSBjMVszXS55fSwKLSAgICAgICAge3g6IGMyWzBdLnggLSBjMlsyXS54LCB5OiBjMlswXS55IC0gYzJbMl0ueX0sCi0gICAgICAgIHt4OiBjMlswXS54IC0gYzJbMV0ueCwgeTogYzJbMF0ueSAtIGMyWzFdLnl9Ci0gICAgICBdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBQcm9qZWN0IGEgcmVjdGFuZ2xlJ3MgY29ybmVyIG9uIGFuIGF4aXMuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9IENvb3JkaW5hdGVzIG9mIGEgY29ybmVyICh4LCB5KS4KLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9IENvb3JkaW5hdGVzIG9mIGFuIGF4aXMgKHgsIHkpLgotICAgICAqIEByZXR1cm4ge29iamVjdH0gVGhlIHByb2plY3Rpb24gZGVmaW5lZCBieSBjb29yZGluYXRlcyAoeCwgeSkuCi0gICAgICovCi0gICAgcHJvamVjdGlvbjogZnVuY3Rpb24oYywgYSkgewotICAgICAgdmFyIGwgPSAoCi0gICAgICAgIChjLnggKiBhLnggKyBjLnkgKiBhLnkpIC8KLSAgICAgICAgKE1hdGgucG93KGEueCwgMikgKyBNYXRoLnBvdyhhLnksIDIpKQotICAgICAgKTsKLQotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDogbCAqIGEueCwKLSAgICAgICAgeTogbCAqIGEueQotICAgICAgfTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQ2hlY2sgd2hldGhlciB0d28gcmVjdGFuZ2xlcyBjb2xsaWRlIG9uIG9uZSBwYXJ0aWN1bGFyIGF4aXMuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgQW4gYXhpcycgY29vcmRpbmF0ZXMgKHgsIHkpLgotICAgICAqIEBwYXJhbSAge2FycmF5fSAgICBSZWN0YW5nbGUgQSdzIGNvcm5lcnMuCi0gICAgICogQHBhcmFtICB7YXJyYXl9ICAgIFJlY3RhbmdsZSBCJ3MgY29ybmVycy4KLSAgICAgKiBAcmV0dXJuIHtib29sZWFufSAgVHJ1ZSBpZiB0aGUgcmVjdGFuZ2xlcyBjb2xsaWRlIG9uIHRoZSBheGlzLgotICAgICAqLwotICAgIGF4aXNDb2xsaXNpb246IGZ1bmN0aW9uKGEsIGMxLCBjMikgewotICAgICAgdmFyIHNjMSA9IFtdLAotICAgICAgICAgIHNjMiA9IFtdOwotCi0gICAgICBmb3IgKHZhciBjaSA9IDA7IGNpIDwgNDsgY2krKykgewotICAgICAgICB2YXIgcDEgPSB0aGlzLnByb2plY3Rpb24oYzFbY2ldLCBhKSwKLSAgICAgICAgICAgIHAyID0gdGhpcy5wcm9qZWN0aW9uKGMyW2NpXSwgYSk7Ci0KLSAgICAgICAgc2MxLnB1c2gocDEueCAqIGEueCArIHAxLnkgKiBhLnkpOwotICAgICAgICBzYzIucHVzaChwMi54ICogYS54ICsgcDIueSAqIGEueSk7Ci0gICAgICB9Ci0KLSAgICAgIHZhciBtYXhjMSA9IE1hdGgubWF4LmFwcGx5KE1hdGgsIHNjMSksCi0gICAgICAgICAgbWF4YzIgPSBNYXRoLm1heC5hcHBseShNYXRoLCBzYzIpLAotICAgICAgICAgIG1pbmMxID0gTWF0aC5taW4uYXBwbHkoTWF0aCwgc2MxKSwKLSAgICAgICAgICBtaW5jMiA9IE1hdGgubWluLmFwcGx5KE1hdGgsIHNjMik7Ci0KLSAgICAgIHJldHVybiAobWluYzIgPD0gbWF4YzEgJiYgbWF4YzIgPj0gbWluYzEpOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBDaGVjayB3aGV0aGVyIHR3byByZWN0YW5nbGVzIGNvbGxpZGUgb24gZWFjaCBvbmUgb2YgdGhlaXIgZm91ciBheGlzLiBJZgotICAgICAqIGFsbCBheGlzIGNvbGxpZGUsIHRoZW4gdGhlIHR3byByZWN0YW5nbGVzIGRvIGNvbGxpZGUgb24gdGhlIHBsYW5lLgotICAgICAqCi0gICAgICogQHBhcmFtICB7YXJyYXl9ICAgIFJlY3RhbmdsZSBBJ3MgY29ybmVycy4KLSAgICAgKiBAcGFyYW0gIHthcnJheX0gICAgUmVjdGFuZ2xlIEIncyBjb3JuZXJzLgotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59ICBUcnVlIGlmIHRoZSByZWN0YW5nbGVzIGNvbGxpZGUuCi0gICAgICovCi0gICAgY29sbGlzaW9uOiBmdW5jdGlvbihjMSwgYzIpIHsKLSAgICAgIHZhciBheGlzID0gdGhpcy5heGlzKGMxLCBjMiksCi0gICAgICAgICAgY29sID0gdHJ1ZTsKLQotICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspCi0gICAgICAgIGNvbCA9IGNvbCAmJiB0aGlzLmF4aXNDb2xsaXNpb24oYXhpc1tpXSwgYzEsIGMyKTsKLQotICAgICAgcmV0dXJuIGNvbDsKLSAgICB9Ci0gIH07Ci0KLQotICAvKioKLSAgICogUXVhZCBGdW5jdGlvbnMKLSAgICogLS0tLS0tLS0tLS0tCi0gICAqCi0gICAqIFRoZSBRdWFkdHJlZSBmdW5jdGlvbnMgdGhlbXNlbHZlcy4KLSAgICogRm9yIGVhY2ggb2YgdGhvc2UgZnVuY3Rpb25zLCB3ZSBjb25zaWRlciB0aGF0IGluIGEgc3BsaXR0ZWQgcXVhZCwgdGhlCi0gICAqIGluZGV4IG9mIGVhY2ggbm9kZSBpcyB0aGUgZm9sbG93aW5nOgotICAgKiAwOiB0b3AgbGVmdAotICAgKiAxOiB0b3AgcmlnaHQKLSAgICogMjogYm90dG9tIGxlZnQKLSAgICogMzogYm90dG9tIHJpZ2h0Ci0gICAqCi0gICAqIE1vcmVvdmVyLCB0aGUgaGVyZWFmdGVyIHF1YWQncyBwaGlsb3NvcGh5IGlzIHRvIGNvbnNpZGVyIHRoYXQgaWYgYW4gZWxlbWVudAotICAgKiBjb2xsaWRlcyB3aXRoIG1vcmUgdGhhbiBvbmUgbm9kZXMsIHRoaXMgZWxlbWVudCBiZWxvbmdzIHRvIGVhY2ggb2YgdGhlCi0gICAqIG5vZGVzIGl0IGNvbGxpZGVzIHdpdGggd2hlcmUgb3RoZXIgd291bGQgbGV0IGl0IGxpZSBvbiBhIGhpZ2hlciBub2RlLgotICAgKi8KLQotICAvKioKLSAgICogR2V0IHRoZSBpbmRleCBvZiB0aGUgbm9kZSBjb250YWluaW5nIHRoZSBwb2ludCBpbiB0aGUgcXVhZAotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICBwb2ludCAgICAgIEEgcG9pbnQgZGVmaW5lZCBieSBjb29yZGluYXRlcyAoeCwgeSkuCi0gICAqIEBwYXJhbSAge29iamVjdH0gIHF1YWRCb3VuZHMgQm91bmRhcmllcyBvZiB0aGUgcXVhZCAoeCwgeSwgd2lkdGgsIGhlaWd0aCkuCi0gICAqIEByZXR1cm4ge2ludGVnZXJ9ICAgICAgICAgICAgVGhlIGluZGV4IG9mIHRoZSBub2RlIGNvbnRhaW5pbmcgdGhlIHBvaW50LgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRJbmRleChwb2ludCwgcXVhZEJvdW5kcykgewotICAgIHZhciB4bXAgPSBxdWFkQm91bmRzLnggKyBxdWFkQm91bmRzLndpZHRoIC8gMiwKLSAgICAgICAgeW1wID0gcXVhZEJvdW5kcy55ICsgcXVhZEJvdW5kcy5oZWlnaHQgLyAyLAotICAgICAgICB0b3AgPSAocG9pbnQueSA8IHltcCksCi0gICAgICAgIGxlZnQgPSAocG9pbnQueCA8IHhtcCk7Ci0KLSAgICBpZiAodG9wKSB7Ci0gICAgICBpZiAobGVmdCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICBlbHNlCi0gICAgICAgIHJldHVybiAxOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIGlmIChsZWZ0KQotICAgICAgICByZXR1cm4gMjsKLSAgICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIDM7Ci0gICAgfQotICB9Ci0KLSAgLyoqCi0gICAqIEdldCBhIGxpc3Qgb2YgaW5kZXhlcyBvZiBub2RlcyBjb250YWluaW5nIGFuIGF4aXMtYWxpZ25lZCByZWN0YW5nbGUKLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgcmVjdGFuZ2xlICAgQSByZWN0YW5nbGUgZGVmaW5lZCBieSB0d28gcG9pbnRzICh4MSwgeTEpLAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeDIsIHkyKSBhbmQgaGVpZ2h0LgotICAgKiBAcGFyYW0gIHthcnJheX0gICBxdWFkQ29ybmVycyBBbiBhcnJheSBvZiB0aGUgcXVhZCBub2RlcycgY29ybmVycy4KLSAgICogQHJldHVybiB7YXJyYXl9ICAgICAgICAgICAgICAgQW4gYXJyYXkgb2YgaW5kZXhlcyBjb250YWluaW5nIG9uZSB0bwotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VyIGludGVnZXJzLgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRJbmRleGVzKHJlY3RhbmdsZSwgcXVhZENvcm5lcnMpIHsKLSAgICB2YXIgaW5kZXhlcyA9IFtdOwotCi0gICAgLy8gSXRlcmF0aW5nIHRocm91Z2ggcXVhZHMKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykKLSAgICAgIGlmICgocmVjdGFuZ2xlLngyID49IHF1YWRDb3JuZXJzW2ldWzBdLngpICYmCi0gICAgICAgICAgKHJlY3RhbmdsZS54MSA8PSBxdWFkQ29ybmVyc1tpXVsxXS54KSAmJgotICAgICAgICAgIChyZWN0YW5nbGUueTEgKyByZWN0YW5nbGUuaGVpZ2h0ID49IHF1YWRDb3JuZXJzW2ldWzBdLnkpICYmCi0gICAgICAgICAgKHJlY3RhbmdsZS55MSA8PSBxdWFkQ29ybmVyc1tpXVsyXS55KSkKLSAgICAgICAgaW5kZXhlcy5wdXNoKGkpOwotCi0gICAgcmV0dXJuIGluZGV4ZXM7Ci0gIH0KLQotICAvKioKLSAgICogR2V0IGEgbGlzdCBvZiBpbmRleGVzIG9mIG5vZGVzIGNvbnRhaW5pbmcgYSBub24tYXhpcy1hbGlnbmVkIHJlY3RhbmdsZQotICAgKgotICAgKiBAcGFyYW0gIHthcnJheX0gIGNvcm5lcnMgICAgICBBbiBhcnJheSBjb250YWluaW5nIGVhY2ggY29ybmVyIG9mIHRoZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0YW5nbGUgZGVmaW5lZCBieSBpdHMgY29vcmRpbmF0ZXMgKHgsIHkpLgotICAgKiBAcGFyYW0gIHthcnJheX0gIHF1YWRDb3JuZXJzICBBbiBhcnJheSBvZiB0aGUgcXVhZCBub2RlcycgY29ybmVycy4KLSAgICogQHJldHVybiB7YXJyYXl9ICAgICAgICAgICAgICAgQW4gYXJyYXkgb2YgaW5kZXhlcyBjb250YWluaW5nIG9uZSB0bwotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VyIGludGVnZXJzLgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRDb2xsaXNpb24oY29ybmVycywgcXVhZENvcm5lcnMpIHsKLSAgICB2YXIgaW5kZXhlcyA9IFtdOwotCi0gICAgLy8gSXRlcmF0aW5nIHRocm91Z2ggcXVhZHMKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykKLSAgICAgIGlmIChfZ2VvbS5jb2xsaXNpb24oY29ybmVycywgcXVhZENvcm5lcnNbaV0pKQotICAgICAgICBpbmRleGVzLnB1c2goaSk7Ci0KLSAgICByZXR1cm4gaW5kZXhlczsKLSAgfQotCi0gIC8qKgotICAgKiBTdWJkaXZpZGUgYSBxdWFkIGJ5IGNyZWF0aW5nIGEgbm9kZSBhdCBhIHByZWNpc2UgaW5kZXguIFRoZSBmdW5jdGlvbiBkb2VzCi0gICAqIG5vdCBnZW5lcmF0ZSBhbGwgZm91ciBub2RlcyBub3QgdG8gcG90ZW50aWFsbHkgY3JlYXRlIHVudXNlZCBub2Rlcy4KLSAgICoKLSAgICogQHBhcmFtICB7aW50ZWdlcn0gIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgbm9kZSB0byBjcmVhdGUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICBxdWFkICBUaGUgcXVhZCBvYmplY3QgdG8gc3ViZGl2aWRlLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgICAgQSBuZXcgcXVhZCByZXByZXNlbnRpbmcgdGhlIG5vZGUgY3JlYXRlZC4KLSAgICovCi0gIGZ1bmN0aW9uIF9xdWFkU3ViZGl2aWRlKGluZGV4LCBxdWFkKSB7Ci0gICAgdmFyIG5leHQgPSBxdWFkLmxldmVsICsgMSwKLSAgICAgICAgc3VidyA9IE1hdGgucm91bmQocXVhZC5ib3VuZHMud2lkdGggLyAyKSwKLSAgICAgICAgc3ViaCA9IE1hdGgucm91bmQocXVhZC5ib3VuZHMuaGVpZ2h0IC8gMiksCi0gICAgICAgIHF4ID0gTWF0aC5yb3VuZChxdWFkLmJvdW5kcy54KSwKLSAgICAgICAgcXkgPSBNYXRoLnJvdW5kKHF1YWQuYm91bmRzLnkpLAotICAgICAgICB4LAotICAgICAgICB5OwotCi0gICAgc3dpdGNoIChpbmRleCkgewotICAgICAgY2FzZSAwOgotICAgICAgICB4ID0gcXg7Ci0gICAgICAgIHkgPSBxeTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDE6Ci0gICAgICAgIHggPSBxeCArIHN1Ync7Ci0gICAgICAgIHkgPSBxeTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDI6Ci0gICAgICAgIHggPSBxeDsKLSAgICAgICAgeSA9IHF5ICsgc3ViaDsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIDM6Ci0gICAgICAgIHggPSBxeCArIHN1Ync7Ci0gICAgICAgIHkgPSBxeSArIHN1Ymg7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIHJldHVybiBfcXVhZFRyZWUoCi0gICAgICB7eDogeCwgeTogeSwgd2lkdGg6IHN1YncsIGhlaWdodDogc3ViaH0sCi0gICAgICBuZXh0LAotICAgICAgcXVhZC5tYXhFbGVtZW50cywKLSAgICAgIHF1YWQubWF4TGV2ZWwKLSAgICApOwotICB9Ci0KLSAgLyoqCi0gICAqIFJlY3Vyc2l2ZWx5IGluc2VydCBhbiBlbGVtZW50IGludG8gdGhlIHF1YWR0cmVlLiBPbmx5IHBvaW50cwotICAgKiB3aXRoIHNpemUsIGkuZS4gYXhpcy1hbGlnbmVkIHNxdWFyZXMsIG1heSBiZSBpbnNlcnRlZCB3aXRoIHRoaXMKLSAgICogbWV0aG9kLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICBlbCAgICAgICAgIFRoZSBlbGVtZW50IHRvIGluc2VydCBpbiB0aGUgcXVhZHRyZWUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gIHNpemVkUG9pbnQgQSBzaXplZCBwb2ludCBkZWZpbmVkIGJ5IHR3byB0b3AgcG9pbnRzCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAqIEBwYXJhbSAge29iamVjdH0gIHF1YWQgICAgICAgVGhlIHF1YWQgaW4gd2hpY2ggdG8gaW5zZXJ0IHRoZSBlbGVtZW50LgotICAgKiBAcmV0dXJuIHt1bmRlZmluZWR9ICAgICAgICAgIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55dGhpbmcuCi0gICAqLwotICBmdW5jdGlvbiBfcXVhZEluc2VydChlbCwgc2l6ZWRQb2ludCwgcXVhZCkgewotICAgIGlmIChxdWFkLmxldmVsIDwgcXVhZC5tYXhMZXZlbCkgewotCi0gICAgICAvLyBTZWFyY2hpbmcgYXBwcm9wcmlhdGUgcXVhZHMKLSAgICAgIHZhciBpbmRleGVzID0gX3F1YWRJbmRleGVzKHNpemVkUG9pbnQsIHF1YWQuY29ybmVycyk7Ci0KLSAgICAgIC8vIEl0ZXJhdGluZwotICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBpbmRleGVzLmxlbmd0aDsgaSA8IGw7IGkrKykgewotCi0gICAgICAgIC8vIFN1YmRpdmlkaW5nIGlmIG5lY2Vzc2FyeQotICAgICAgICBpZiAocXVhZC5ub2Rlc1tpbmRleGVzW2ldXSA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgIHF1YWQubm9kZXNbaW5kZXhlc1tpXV0gPSBfcXVhZFN1YmRpdmlkZShpbmRleGVzW2ldLCBxdWFkKTsKLQotICAgICAgICAvLyBSZWN1cnNpb24KLSAgICAgICAgX3F1YWRJbnNlcnQoZWwsIHNpemVkUG9pbnQsIHF1YWQubm9kZXNbaW5kZXhlc1tpXV0pOwotICAgICAgfQotICAgIH0KLSAgICBlbHNlIHsKLQotICAgICAgLy8gUHVzaGluZyB0aGUgZWxlbWVudCBpbiBhIGxlYWYgbm9kZQotICAgICAgcXVhZC5lbGVtZW50cy5wdXNoKGVsKTsKLSAgICB9Ci0gIH0KLQotICAvKioKLSAgICogUmVjdXJzaXZlbHkgcmV0cmlldmUgZXZlcnkgZWxlbWVudHMgaGVsZCBieSB0aGUgbm9kZSBjb250YWluaW5nIHRoZQotICAgKiBzZWFyY2hlZCBwb2ludC4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgcG9pbnQgVGhlIHNlYXJjaGVkIHBvaW50ICh4LCB5KS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgcXVhZCAgVGhlIHNlYXJjaGVkIHF1YWQuCi0gICAqIEByZXR1cm4ge2FycmF5fSAgICAgICAgIEFuIGFycmF5IG9mIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiB0aGUgcmVsZXZhbnQKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS4KLSAgICovCi0gIGZ1bmN0aW9uIF9xdWFkUmV0cmlldmVQb2ludChwb2ludCwgcXVhZCkgewotICAgIGlmIChxdWFkLmxldmVsIDwgcXVhZC5tYXhMZXZlbCkgewotICAgICAgdmFyIGluZGV4ID0gX3F1YWRJbmRleChwb2ludCwgcXVhZC5ib3VuZHMpOwotCi0gICAgICAvLyBJZiBub2RlIGRvZXMgbm90IGV4aXN0IHdlIHJldHVybiBhbiBlbXB0eSBsaXN0Ci0gICAgICBpZiAocXVhZC5ub2Rlc1tpbmRleF0gIT09IHVuZGVmaW5lZCkgewotICAgICAgICByZXR1cm4gX3F1YWRSZXRyaWV2ZVBvaW50KHBvaW50LCBxdWFkLm5vZGVzW2luZGV4XSk7Ci0gICAgICB9Ci0gICAgICBlbHNlIHsKLSAgICAgICAgcmV0dXJuIFtdOwotICAgICAgfQotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIHJldHVybiBxdWFkLmVsZW1lbnRzOwotICAgIH0KLSAgfQotCi0gIC8qKgotICAgKiBSZWN1cnNpdmVseSByZXRyaWV2ZSBldmVyeSBlbGVtZW50cyBjb250YWluZWQgd2l0aGluIGFuIHJlY3Rhbmd1bGFyIGFyZWEKLSAgICogdGhhdCBtYXkgb3IgbWF5IG5vdCBiZSBheGlzLWFsaWduZWQuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdHxhcnJheX0gcmVjdERhdGEgICAgICAgVGhlIHNlYXJjaGVkIGFyZWEgZGVmaW5lZCBlaXRoZXIgYnkKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbiBhcnJheSBvZiBmb3VyIGNvcm5lcnMgKHgsIHkpIGluCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNhc2Ugb2YgYSBub24tYXhpcy1hbGlnbmVkCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdGFuZ2xlIG9yIGFuIG9iamVjdCB3aXRoIHR3byB0b3AKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHMgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgcXVhZCAgICAgICAgICAgVGhlIHNlYXJjaGVkIHF1YWQuCi0gICAqIEBwYXJhbSAge2Z1bmN0aW9ufSAgICAgY29sbGlzaW9uRnVuYyAgVGhlIGNvbGxpc2lvbiBmdW5jdGlvbiB1c2VkIHRvIHNlYXJjaAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBub2RlIGluZGV4ZXMuCi0gICAqIEBwYXJhbSAge2FycmF5P30gICAgICAgZWxzICAgICAgICAgICAgVGhlIHJldHJpZXZlZCBlbGVtZW50cy4KLSAgICogQHJldHVybiB7YXJyYXl9ICAgICAgICAgICAgICAgICAgICAgICBBbiBhcnJheSBvZiBlbGVtZW50cyBjb250YWluZWQgaW4gdGhlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlYS4KLSAgICovCi0gIGZ1bmN0aW9uIF9xdWFkUmV0cmlldmVBcmVhKHJlY3REYXRhLCBxdWFkLCBjb2xsaXNpb25GdW5jLCBlbHMpIHsKLSAgICBlbHMgPSBlbHMgfHwge307Ci0KLSAgICBpZiAocXVhZC5sZXZlbCA8IHF1YWQubWF4TGV2ZWwpIHsKLSAgICAgIHZhciBpbmRleGVzID0gY29sbGlzaW9uRnVuYyhyZWN0RGF0YSwgcXVhZC5jb3JuZXJzKTsKLQotICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBpbmRleGVzLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgICAgaWYgKHF1YWQubm9kZXNbaW5kZXhlc1tpXV0gIT09IHVuZGVmaW5lZCkKLSAgICAgICAgICBfcXVhZFJldHJpZXZlQXJlYSgKLSAgICAgICAgICAgIHJlY3REYXRhLAotICAgICAgICAgICAgcXVhZC5ub2Rlc1tpbmRleGVzW2ldXSwKLSAgICAgICAgICAgIGNvbGxpc2lvbkZ1bmMsCi0gICAgICAgICAgICBlbHMKLSAgICAgICAgICApOwotICAgIH0gZWxzZQotICAgICAgZm9yICh2YXIgaiA9IDAsIG0gPSBxdWFkLmVsZW1lbnRzLmxlbmd0aDsgaiA8IG07IGorKykKLSAgICAgICAgaWYgKGVsc1txdWFkLmVsZW1lbnRzW2pdLmlkXSA9PT0gdW5kZWZpbmVkKQotICAgICAgICAgIGVsc1txdWFkLmVsZW1lbnRzW2pdLmlkXSA9IHF1YWQuZWxlbWVudHNbal07Ci0KLSAgICByZXR1cm4gZWxzOwotICB9Ci0KLSAgLyoqCi0gICAqIENyZWF0ZXMgdGhlIHF1YWR0cmVlIG9iamVjdCBpdHNlbGYuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gICBib3VuZHMgICAgICAgVGhlIGJvdW5kYXJpZXMgb2YgdGhlIHF1YWQgZGVmaW5lZCBieSBhbgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbiAoeCwgeSksIHdpZHRoIGFuZCBoZWlndGguCi0gICAqIEBwYXJhbSAge2ludGVnZXJ9ICBsZXZlbCAgICAgICAgVGhlIGxldmVsIG9mIHRoZSBxdWFkIGluIHRoZSB0cmVlLgotICAgKiBAcGFyYW0gIHtpbnRlZ2VyfSAgbWF4RWxlbWVudHMgIFRoZSBtYXggbnVtYmVyIG9mIGVsZW1lbnQgaW4gYSBsZWFmIG5vZGUuCi0gICAqIEBwYXJhbSAge2ludGVnZXJ9ICBtYXhMZXZlbCAgICAgVGhlIG1heCByZWN1cnNpb24gbGV2ZWwgb2YgdGhlIHRyZWUuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgICAgICAgICAgICAgVGhlIHF1YWR0cmVlIG9iamVjdC4KLSAgICovCi0gIGZ1bmN0aW9uIF9xdWFkVHJlZShib3VuZHMsIGxldmVsLCBtYXhFbGVtZW50cywgbWF4TGV2ZWwpIHsKLSAgICByZXR1cm4gewotICAgICAgbGV2ZWw6IGxldmVsIHx8IDAsCi0gICAgICBib3VuZHM6IGJvdW5kcywKLSAgICAgIGNvcm5lcnM6IF9nZW9tLnNwbGl0U3F1YXJlKGJvdW5kcyksCi0gICAgICBtYXhFbGVtZW50czogbWF4RWxlbWVudHMgfHwgMjAsCi0gICAgICBtYXhMZXZlbDogbWF4TGV2ZWwgfHwgNCwKLSAgICAgIGVsZW1lbnRzOiBbXSwKLSAgICAgIG5vZGVzOiBbXQotICAgIH07Ci0gIH0KLQotCi0gIC8qKgotICAgKiBTaWdtYSBRdWFkIENvbnN0cnVjdG9yCi0gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICoKLSAgICogVGhlIHF1YWQgQVBJIGFzIGV4cG9zZWQgdG8gc2lnbWEuCi0gICAqLwotCi0gIC8qKgotICAgKiBUaGUgcXVhZCBjb3JlIHRoYXQgd2lsbCBiZWNvbWUgdGhlIHNpZ21hIGludGVyZmFjZSB3aXRoIHRoZSBxdWFkdHJlZS4KLSAgICoKLSAgICogcHJvcGVydHkge29iamVjdH0gX3RyZWUgIFByb3BlcnR5IGhvbGRpbmcgdGhlIHF1YWR0cmVlIG9iamVjdC4KLSAgICogcHJvcGVydHkge29iamVjdH0gX2dlb20gIEV4cG9zaXRpb24gb2YgdGhlIF9nZW9tIG5hbWVzcGFjZSBmb3IgdGVzdGluZy4KLSAgICogcHJvcGVydHkge29iamVjdH0gX2NhY2hlIENhY2hlIGZvciB0aGUgYXJlYSBtZXRob2QuCi0gICAqLwotICB2YXIgcXVhZCA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuX2dlb20gPSBfZ2VvbTsKLSAgICB0aGlzLl90cmVlID0gbnVsbDsKLSAgICB0aGlzLl9jYWNoZSA9IHsKLSAgICAgIHF1ZXJ5OiBmYWxzZSwKLSAgICAgIHJlc3VsdDogZmFsc2UKLSAgICB9OwotICB9OwotCi0gIC8qKgotICAgKiBJbmRleCBhIGdyYXBoIGJ5IGluc2VydGluZyBpdHMgbm9kZXMgaW50byB0aGUgcXVhZHRyZWUuCi0gICAqCi0gICAqIEBwYXJhbSAge2FycmF5fSAgbm9kZXMgICBBbiBhcnJheSBvZiBub2RlcyB0byBpbmRleC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSBwYXJhbXMgIEFuIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHdpdGggYXQgbGVhc3QgdGhlIHF1YWQKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgIGJvdW5kcy4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgIFRoZSBxdWFkdHJlZSBvYmplY3QuCi0gICAqCi0gICAqIFBhcmFtZXRlcnM6Ci0gICAqIC0tLS0tLS0tLS0KLSAgICogYm91bmRzOiAgICAgIHtvYmplY3R9ICAgYm91bmRhcmllcyBvZiB0aGUgcXVhZCBkZWZpbmVkIGJ5IGl0cyBvcmlnaW4gKHgsIHkpCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIGFuZCBoZWlndGguCi0gICAqIHByZWZpeDogICAgICB7c3RyaW5nP30gIGEgcHJlZml4IGZvciBub2RlIGdlb21ldHJpYyBhdHRyaWJ1dGVzLgotICAgKiBtYXhFbGVtZW50czoge2ludGVnZXI/fSB0aGUgbWF4IG51bWJlciBvZiBlbGVtZW50cyBpbiBhIGxlYWYgbm9kZS4KLSAgICogbWF4TGV2ZWw6ICAgIHtpbnRlZ2VyP30gdGhlIG1heCByZWN1cnNpb24gbGV2ZWwgb2YgdGhlIHRyZWUuCi0gICAqLwotICBxdWFkLnByb3RvdHlwZS5pbmRleCA9IGZ1bmN0aW9uKG5vZGVzLCBwYXJhbXMpIHsKLQotICAgIC8vIEVuZm9yY2luZyBwcmVzZW5jZSBvZiBib3VuZGFyaWVzCi0gICAgaWYgKCFwYXJhbXMuYm91bmRzKQotICAgICAgdGhyb3cgJ3NpZ21hLmNsYXNzZXMucXVhZC5pbmRleDogYm91bmRzIGluZm9ybWF0aW9uIG5vdCBnaXZlbi4nOwotCi0gICAgLy8gUHJlZml4Ci0gICAgdmFyIHByZWZpeCA9IHBhcmFtcy5wcmVmaXggfHwgJyc7Ci0KLSAgICAvLyBCdWlsZGluZyB0aGUgdHJlZQotICAgIHRoaXMuX3RyZWUgPSBfcXVhZFRyZWUoCi0gICAgICBwYXJhbXMuYm91bmRzLAotICAgICAgMCwKLSAgICAgIHBhcmFtcy5tYXhFbGVtZW50cywKLSAgICAgIHBhcmFtcy5tYXhMZXZlbAotICAgICk7Ci0KLSAgICAvLyBJbnNlcnRpbmcgZ3JhcGggbm9kZXMgaW50byB0aGUgdHJlZQotICAgIGZvciAodmFyIGkgPSAwLCBsID0gbm9kZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0KLSAgICAgIC8vIEluc2VydGluZyBub2RlCi0gICAgICBfcXVhZEluc2VydCgKLSAgICAgICAgbm9kZXNbaV0sCi0gICAgICAgIF9nZW9tLnBvaW50VG9TcXVhcmUoewotICAgICAgICAgIHg6IG5vZGVzW2ldW3ByZWZpeCArICd4J10sCi0gICAgICAgICAgeTogbm9kZXNbaV1bcHJlZml4ICsgJ3knXSwKLSAgICAgICAgICBzaXplOiBub2Rlc1tpXVtwcmVmaXggKyAnc2l6ZSddCi0gICAgICAgIH0pLAotICAgICAgICB0aGlzLl90cmVlCi0gICAgICApOwotICAgIH0KLQotICAgIC8vIFJlc2V0IGNhY2hlOgotICAgIHRoaXMuX2NhY2hlID0gewotICAgICAgcXVlcnk6IGZhbHNlLAotICAgICAgcmVzdWx0OiBmYWxzZQotICAgIH07Ci0KLSAgICAvLyByZW1vdmU/Ci0gICAgcmV0dXJuIHRoaXMuX3RyZWU7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFJldHJpZXZlIGV2ZXJ5IGdyYXBoIG5vZGVzIGhlbGQgYnkgdGhlIHF1YWR0cmVlIG5vZGUgY29udGFpbmluZyB0aGUKLSAgICogc2VhcmNoZWQgcG9pbnQuCi0gICAqCi0gICAqIEBwYXJhbSAge251bWJlcn0geCBvZiB0aGUgcG9pbnQuCi0gICAqIEBwYXJhbSAge251bWJlcn0geSBvZiB0aGUgcG9pbnQuCi0gICAqIEByZXR1cm4ge2FycmF5fSAgQW4gYXJyYXkgb2Ygbm9kZXMgcmV0cmlldmVkLgotICAgKi8KLSAgcXVhZC5wcm90b3R5cGUucG9pbnQgPSBmdW5jdGlvbih4LCB5KSB7Ci0gICAgcmV0dXJuIHRoaXMuX3RyZWUgPwotICAgICAgX3F1YWRSZXRyaWV2ZVBvaW50KHt4OiB4LCB5OiB5fSwgdGhpcy5fdHJlZSkgfHwgW10gOgotICAgICAgW107Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFJldHJpZXZlIGV2ZXJ5IGdyYXBoIG5vZGVzIHdpdGhpbiBhIHJlY3Rhbmd1bGFyIGFyZWEuIFRoZSBtZXRob2RzIGtlZXAgdGhlCi0gICAqIGxhc3QgYXJlYSBxdWVyaWVkIGluIGNhY2hlIGZvciBvcHRpbWl6YXRpb24gcmVhc29uIGFuZCB3aWxsIGFjdCBkaWZmZXJlbnRseQotICAgKiBmb3IgdGhlIHNhbWUgcmVhc29uIGlmIHRoZSBhcmVhIGlzIGF4aXMtYWxpZ25lZCBvciBub3QuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gQSByZWN0YW5nbGUgZGVmaW5lZCBieSB0d28gdG9wIHBvaW50cyAoeDEsIHkxKSwgKHgyLCB5MikKLSAgICogICAgICAgICAgICAgICAgICBhbmQgaGVpZ2h0LgotICAgKiBAcmV0dXJuIHthcnJheX0gIEFuIGFycmF5IG9mIG5vZGVzIHJldHJpZXZlZC4KLSAgICovCi0gIHF1YWQucHJvdG90eXBlLmFyZWEgPSBmdW5jdGlvbihyZWN0KSB7Ci0gICAgdmFyIHNlcmlhbGl6ZWQgPSBKU09OLnN0cmluZ2lmeShyZWN0KSwKLSAgICAgICAgY29sbGlzaW9uRnVuYywKLSAgICAgICAgcmVjdERhdGE7Ci0KLSAgICAvLyBSZXR1cm5pbmcgY2FjaGU/Ci0gICAgaWYgKHRoaXMuX2NhY2hlLnF1ZXJ5ID09PSBzZXJpYWxpemVkKQotICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlLnJlc3VsdDsKLQotICAgIC8vIEF4aXMgYWxpZ25lZCA/Ci0gICAgaWYgKF9nZW9tLmlzQXhpc0FsaWduZWQocmVjdCkpIHsKLSAgICAgIGNvbGxpc2lvbkZ1bmMgPSBfcXVhZEluZGV4ZXM7Ci0gICAgICByZWN0RGF0YSA9IF9nZW9tLmF4aXNBbGlnbmVkVG9wUG9pbnRzKHJlY3QpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIGNvbGxpc2lvbkZ1bmMgPSBfcXVhZENvbGxpc2lvbjsKLSAgICAgIHJlY3REYXRhID0gX2dlb20ucmVjdGFuZ2xlQ29ybmVycyhyZWN0KTsKLSAgICB9Ci0KLSAgICAvLyBSZXRyaWV2aW5nIG5vZGVzCi0gICAgdmFyIG5vZGVzID0gdGhpcy5fdHJlZSA/Ci0gICAgICBfcXVhZFJldHJpZXZlQXJlYSgKLSAgICAgICAgcmVjdERhdGEsCi0gICAgICAgIHRoaXMuX3RyZWUsCi0gICAgICAgIGNvbGxpc2lvbkZ1bmMKLSAgICAgICkgOgotICAgICAgW107Ci0KLSAgICAvLyBPYmplY3QgdG8gYXJyYXkKLSAgICB2YXIgbm9kZXNBcnJheSA9IFtdOwotICAgIGZvciAodmFyIGkgaW4gbm9kZXMpCi0gICAgICBub2Rlc0FycmF5LnB1c2gobm9kZXNbaV0pOwotCi0gICAgLy8gQ2FjaGluZwotICAgIHRoaXMuX2NhY2hlLnF1ZXJ5ID0gc2VyaWFsaXplZDsKLSAgICB0aGlzLl9jYWNoZS5yZXN1bHQgPSBub2Rlc0FycmF5OwotCi0gICAgcmV0dXJuIG5vZGVzQXJyYXk7Ci0gIH07Ci0KLQotICAvKioKLSAgICogRVhQT1JUOgotICAgKiAqKioqKioqCi0gICAqLwotICBpZiAodHlwZW9mIHRoaXMuc2lnbWEgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgdGhpcy5zaWdtYS5jbGFzc2VzID0gdGhpcy5zaWdtYS5jbGFzc2VzIHx8IHt9OwotICAgIHRoaXMuc2lnbWEuY2xhc3Nlcy5xdWFkID0gcXVhZDsKLSAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpCi0gICAgICBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBxdWFkOwotICAgIGV4cG9ydHMucXVhZCA9IHF1YWQ7Ci0gIH0gZWxzZQotICAgIHRoaXMucXVhZCA9IHF1YWQ7Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgLyoqCi0gICAqIFNpZ21hIFF1YWR0cmVlIE1vZHVsZSBmb3IgZWRnZXMKLSAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgKgotICAgKiBBdXRob3I6IFPDqWJhc3RpZW4gSGV5bWFubiwKLSAgICogICBmcm9tIHRoZSBxdWFkIG9mIEd1aWxsYXVtZSBQbGlxdWUgKFlvbWd1aXRoZXJlYWwpCi0gICAqIFZlcnNpb246IDAuMgotICAgKi8KLQotCi0KLSAgLyoqCi0gICAqIFF1YWQgR2VvbWV0cmljIE9wZXJhdGlvbnMKLSAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgKgotICAgKiBBIHVzZWZ1bCBiYXRjaCBvZiBnZW9tZXRyaWMgb3BlcmF0aW9ucyB1c2VkIGJ5IHRoZSBxdWFkdHJlZS4KLSAgICovCi0KLSAgdmFyIF9nZW9tID0gewotCi0gICAgLyoqCi0gICAgICogVHJhbnNmb3JtcyBhIGdyYXBoIG5vZGUgd2l0aCB4LCB5IGFuZCBzaXplIGludG8gYW4KLSAgICAgKiBheGlzLWFsaWduZWQgc3F1YXJlLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBIGdyYXBoIG5vZGUgd2l0aCBhdCBsZWFzdCBhIHBvaW50ICh4LCB5KSBhbmQgYSBzaXplLgotICAgICAqIEByZXR1cm4ge29iamVjdH0gQSBzcXVhcmU6IHR3byBwb2ludHMgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAgICovCi0gICAgcG9pbnRUb1NxdWFyZTogZnVuY3Rpb24obikgewotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDE6IG4ueCAtIG4uc2l6ZSwKLSAgICAgICAgeTE6IG4ueSAtIG4uc2l6ZSwKLSAgICAgICAgeDI6IG4ueCArIG4uc2l6ZSwKLSAgICAgICAgeTI6IG4ueSAtIG4uc2l6ZSwKLSAgICAgICAgaGVpZ2h0OiBuLnNpemUgKiAyCi0gICAgICB9OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBUcmFuc2Zvcm1zIGEgZ3JhcGggZWRnZSB3aXRoIHgxLCB5MSwgeDIsIHkyIGFuZCBzaXplIGludG8gYW4KLSAgICAgKiBheGlzLWFsaWduZWQgc3F1YXJlLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBIGdyYXBoIGVkZ2Ugd2l0aCBhdCBsZWFzdCB0d28gcG9pbnRzCi0gICAgICogICAgICAgICAgICAgICAgICAoeDEsIHkxKSwgKHgyLCB5MikgYW5kIGEgc2l6ZS4KLSAgICAgKiBAcmV0dXJuIHtvYmplY3R9IEEgc3F1YXJlOiB0d28gcG9pbnRzICh4MSwgeTEpLCAoeDIsIHkyKSBhbmQgaGVpZ2h0LgotICAgICAqLwotICAgIGxpbmVUb1NxdWFyZTogZnVuY3Rpb24oZSkgewotICAgICAgaWYgKGUueTEgPCBlLnkyKSB7Ci0gICAgICAgIC8vIChlLngxLCBlLnkxKSBvbiB0b3AKLSAgICAgICAgaWYgKGUueDEgPCBlLngyKSB7Ci0gICAgICAgICAgLy8gKGUueDEsIGUueTEpIG9uIGxlZnQKLSAgICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgeDE6IGUueDEgLSBlLnNpemUsCi0gICAgICAgICAgICB5MTogZS55MSAtIGUuc2l6ZSwKLSAgICAgICAgICAgIHgyOiBlLngyICsgZS5zaXplLAotICAgICAgICAgICAgeTI6IGUueTEgLSBlLnNpemUsCi0gICAgICAgICAgICBoZWlnaHQ6IGUueTIgLSBlLnkxICsgZS5zaXplICogMgotICAgICAgICAgIH07Ci0gICAgICAgIH0KLSAgICAgICAgLy8gKGUueDEsIGUueTEpIG9uIHJpZ2h0Ci0gICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgeDE6IGUueDIgLSBlLnNpemUsCi0gICAgICAgICAgeTE6IGUueTEgLSBlLnNpemUsCi0gICAgICAgICAgeDI6IGUueDEgKyBlLnNpemUsCi0gICAgICAgICAgeTI6IGUueTEgLSBlLnNpemUsCi0gICAgICAgICAgaGVpZ2h0OiBlLnkyIC0gZS55MSArIGUuc2l6ZSAqIDIKLSAgICAgICAgfTsKLSAgICAgIH0KLQotICAgICAgLy8gKGUueDIsIGUueTIpIG9uIHRvcAotICAgICAgaWYgKGUueDEgPCBlLngyKSB7Ci0gICAgICAgIC8vIChlLngxLCBlLnkxKSBvbiBsZWZ0Ci0gICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgeDE6IGUueDEgLSBlLnNpemUsCi0gICAgICAgICAgeTE6IGUueTIgLSBlLnNpemUsCi0gICAgICAgICAgeDI6IGUueDIgKyBlLnNpemUsCi0gICAgICAgICAgeTI6IGUueTIgLSBlLnNpemUsCi0gICAgICAgICAgaGVpZ2h0OiBlLnkxIC0gZS55MiArIGUuc2l6ZSAqIDIKLSAgICAgICAgfTsKLSAgICAgIH0KLSAgICAgIC8vIChlLngyLCBlLnkyKSBvbiByaWdodAotICAgICAgcmV0dXJuIHsKLSAgICAgICAgeDE6IGUueDIgLSBlLnNpemUsCi0gICAgICAgIHkxOiBlLnkyIC0gZS5zaXplLAotICAgICAgICB4MjogZS54MSArIGUuc2l6ZSwKLSAgICAgICAgeTI6IGUueTIgLSBlLnNpemUsCi0gICAgICAgIGhlaWdodDogZS55MSAtIGUueTIgKyBlLnNpemUgKiAyCi0gICAgICB9OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBUcmFuc2Zvcm1zIGEgZ3JhcGggZWRnZSBvZiB0eXBlICdjdXJ2ZScgd2l0aCB4MSwgeTEsIHgyLCB5MiwKLSAgICAgKiBjb250cm9sIHBvaW50IGFuZCBzaXplIGludG8gYW4gYXhpcy1hbGlnbmVkIHNxdWFyZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gZSAgQSBncmFwaCBlZGdlIHdpdGggYXQgbGVhc3QgdHdvIHBvaW50cwotICAgICAqICAgICAgICAgICAgICAgICAgICAgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBhIHNpemUuCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBjcCBBIGNvbnRyb2wgcG9pbnQgKHgseSkuCi0gICAgICogQHJldHVybiB7b2JqZWN0fSAgICBBIHNxdWFyZTogdHdvIHBvaW50cyAoeDEsIHkxKSwgKHgyLCB5MikgYW5kIGhlaWdodC4KLSAgICAgKi8KLSAgICBxdWFkcmF0aWNDdXJ2ZVRvU3F1YXJlOiBmdW5jdGlvbihlLCBjcCkgewotICAgICAgdmFyIHB0ID0gc2lnbWEudXRpbHMuZ2V0UG9pbnRPblF1YWRyYXRpY0N1cnZlKAotICAgICAgICAwLjUsCi0gICAgICAgIGUueDEsCi0gICAgICAgIGUueTEsCi0gICAgICAgIGUueDIsCi0gICAgICAgIGUueTIsCi0gICAgICAgIGNwLngsCi0gICAgICAgIGNwLnkKLSAgICAgICk7Ci0KLSAgICAgIC8vIEJvdW5kaW5nIGJveCBvZiB0aGUgdHdvIHBvaW50cyBhbmQgdGhlIHBvaW50IGF0IHRoZSBtaWRkbGUgb2YgdGhlCi0gICAgICAvLyBjdXJ2ZToKLSAgICAgIHZhciBtaW5YID0gTWF0aC5taW4oZS54MSwgZS54MiwgcHQueCksCi0gICAgICAgICAgbWF4WCA9IE1hdGgubWF4KGUueDEsIGUueDIsIHB0LngpLAotICAgICAgICAgIG1pblkgPSBNYXRoLm1pbihlLnkxLCBlLnkyLCBwdC55KSwKLSAgICAgICAgICBtYXhZID0gTWF0aC5tYXgoZS55MSwgZS55MiwgcHQueSk7Ci0KLSAgICAgIHJldHVybiB7Ci0gICAgICAgIHgxOiBtaW5YIC0gZS5zaXplLAotICAgICAgICB5MTogbWluWSAtIGUuc2l6ZSwKLSAgICAgICAgeDI6IG1heFggKyBlLnNpemUsCi0gICAgICAgIHkyOiBtaW5ZIC0gZS5zaXplLAotICAgICAgICBoZWlnaHQ6IG1heFkgLSBtaW5ZICsgZS5zaXplICogMgotICAgICAgfTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogVHJhbnNmb3JtcyBhIGdyYXBoIHNlbGYgbG9vcCBpbnRvIGFuIGF4aXMtYWxpZ25lZCBzcXVhcmUuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9IG4gQSBncmFwaCBub2RlIHdpdGggYSBwb2ludCAoeCwgeSkgYW5kIGEgc2l6ZS4KLSAgICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgQSBzcXVhcmU6IHR3byBwb2ludHMgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAgICovCi0gICAgc2VsZkxvb3BUb1NxdWFyZTogZnVuY3Rpb24obikgewotICAgICAgLy8gRml0dGluZyB0byB0aGUgY3VydmUgaXMgdG9vIGNvc3RseSwgd2UgY29tcHV0ZSBhIGxhcmdlciBib3VuZGluZyBib3gKLSAgICAgIC8vIHVzaW5nIHRoZSBjb250cm9sIHBvaW50czoKLSAgICAgIHZhciBjcCA9IHNpZ21hLnV0aWxzLmdldFNlbGZMb29wQ29udHJvbFBvaW50cyhuLngsIG4ueSwgbi5zaXplKTsKLQotICAgICAgLy8gQm91bmRpbmcgYm94IG9mIHRoZSBwb2ludCBhbmQgdGhlIHR3byBjb250cm9sIHBvaW50czoKLSAgICAgIHZhciBtaW5YID0gTWF0aC5taW4obi54LCBjcC54MSwgY3AueDIpLAotICAgICAgICAgIG1heFggPSBNYXRoLm1heChuLngsIGNwLngxLCBjcC54MiksCi0gICAgICAgICAgbWluWSA9IE1hdGgubWluKG4ueSwgY3AueTEsIGNwLnkyKSwKLSAgICAgICAgICBtYXhZID0gTWF0aC5tYXgobi55LCBjcC55MSwgY3AueTIpOwotCi0gICAgICByZXR1cm4gewotICAgICAgICB4MTogbWluWCAtIG4uc2l6ZSwKLSAgICAgICAgeTE6IG1pblkgLSBuLnNpemUsCi0gICAgICAgIHgyOiBtYXhYICsgbi5zaXplLAotICAgICAgICB5MjogbWluWSAtIG4uc2l6ZSwKLSAgICAgICAgaGVpZ2h0OiBtYXhZIC0gbWluWSArIG4uc2l6ZSAqIDIKLSAgICAgIH07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIENoZWNrcyB3aGV0aGVyIGEgcmVjdGFuZ2xlIGlzIGF4aXMtYWxpZ25lZC4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gIEEgcmVjdGFuZ2xlIGRlZmluZWQgYnkgdHdvIHBvaW50cwotICAgICAqICAgICAgICAgICAgICAgICAgICh4MSwgeTEpIGFuZCAoeDIsIHkyKS4KLSAgICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSByZWN0YW5nbGUgaXMgYXhpcy1hbGlnbmVkLgotICAgICAqLwotICAgIGlzQXhpc0FsaWduZWQ6IGZ1bmN0aW9uKHIpIHsKLSAgICAgIHJldHVybiByLngxID09PSByLngyIHx8IHIueTEgPT09IHIueTI7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIENvbXB1dGUgdG9wIHBvaW50cyBvZiBhbiBheGlzLWFsaWduZWQgcmVjdGFuZ2xlLiBUaGlzIGlzIHVzZWZ1bCBpbgotICAgICAqIGNhc2VzIHdoZW4gdGhlIHJlY3RhbmdsZSBoYXMgYmVlbiByb3RhdGVkIChsZWZ0LCByaWdodCBvciBib3R0b20gdXApIGFuZAotICAgICAqIGxhdGVyIG9wZXJhdGlvbnMgbmVlZCB0byBrbm93IHRoZSB0b3AgcG9pbnRzLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBbiBheGlzLWFsaWduZWQgcmVjdGFuZ2xlIGRlZmluZWQgYnkgdHdvIHBvaW50cwotICAgICAqICAgICAgICAgICAgICAgICAgKHgxLCB5MSksICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAgICogQHJldHVybiB7b2JqZWN0fSBBIHJlY3RhbmdsZTogdHdvIHBvaW50cyAoeDEsIHkxKSwgKHgyLCB5MikgYW5kIGhlaWdodC4KLSAgICAgKi8KLSAgICBheGlzQWxpZ25lZFRvcFBvaW50czogZnVuY3Rpb24ocikgewotCi0gICAgICAvLyBCYXNpYwotICAgICAgaWYgKHIueTEgPT09IHIueTIgJiYgci54MSA8IHIueDIpCi0gICAgICAgIHJldHVybiByOwotCi0gICAgICAvLyBSb3RhdGVkIHRvIHJpZ2h0Ci0gICAgICBpZiAoci54MSA9PT0gci54MiAmJiByLnkyID4gci55MSkKLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICB4MTogci54MSAtIHIuaGVpZ2h0LCB5MTogci55MSwKLSAgICAgICAgICB4Mjogci54MSwgeTI6IHIueTEsCi0gICAgICAgICAgaGVpZ2h0OiByLmhlaWdodAotICAgICAgICB9OwotCi0gICAgICAvLyBSb3RhdGVkIHRvIGxlZnQKLSAgICAgIGlmIChyLngxID09PSByLngyICYmIHIueTIgPCByLnkxKQotICAgICAgICByZXR1cm4gewotICAgICAgICAgIHgxOiByLngxLCB5MTogci55MiwKLSAgICAgICAgICB4Mjogci54MiArIHIuaGVpZ2h0LCB5Mjogci55MiwKLSAgICAgICAgICBoZWlnaHQ6IHIuaGVpZ2h0Ci0gICAgICAgIH07Ci0KLSAgICAgIC8vIEJvdHRvbSdzIHVwCi0gICAgICByZXR1cm4gewotICAgICAgICB4MTogci54MiwgeTE6IHIueTEgLSByLmhlaWdodCwKLSAgICAgICAgeDI6IHIueDEsIHkyOiByLnkxIC0gci5oZWlnaHQsCi0gICAgICAgIGhlaWdodDogci5oZWlnaHQKLSAgICAgIH07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEdldCBjb29yZGluYXRlcyBvZiBhIHJlY3RhbmdsZSdzIGxvd2VyIGxlZnQgY29ybmVyIGZyb20gaXRzIHRvcCBwb2ludHMuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9IEEgcmVjdGFuZ2xlIGRlZmluZWQgYnkgdHdvIHBvaW50cyAoeDEsIHkxKSBhbmQgKHgyLCB5MikuCi0gICAgICogQHJldHVybiB7b2JqZWN0fSBDb29yZGluYXRlcyBvZiB0aGUgY29ybmVyICh4LCB5KS4KLSAgICAgKi8KLSAgICBsb3dlckxlZnRDb29yOiBmdW5jdGlvbihyKSB7Ci0gICAgICB2YXIgd2lkdGggPSAoCi0gICAgICAgIE1hdGguc3FydCgKLSAgICAgICAgICBNYXRoLnBvdyhyLngyIC0gci54MSwgMikgKwotICAgICAgICAgIE1hdGgucG93KHIueTIgLSByLnkxLCAyKQotICAgICAgICApCi0gICAgICApOwotCi0gICAgICByZXR1cm4gewotICAgICAgICB4OiByLngxIC0gKHIueTIgLSByLnkxKSAqIHIuaGVpZ2h0IC8gd2lkdGgsCi0gICAgICAgIHk6IHIueTEgKyAoci54MiAtIHIueDEpICogci5oZWlnaHQgLyB3aWR0aAotICAgICAgfTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogR2V0IGNvb3JkaW5hdGVzIG9mIGEgcmVjdGFuZ2xlJ3MgbG93ZXIgcmlnaHQgY29ybmVyIGZyb20gaXRzIHRvcCBwb2ludHMKLSAgICAgKiBhbmQgaXRzIGxvd2VyIGxlZnQgY29ybmVyLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBBIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IHR3byBwb2ludHMgKHgxLCB5MSkgYW5kICh4MiwgeTIpLgotICAgICAqIEBwYXJhbSAge29iamVjdH0gQSBjb3JuZXIncyBjb29yZGluYXRlcyAoeCwgeSkuCi0gICAgICogQHJldHVybiB7b2JqZWN0fSBDb29yZGluYXRlcyBvZiB0aGUgY29ybmVyICh4LCB5KS4KLSAgICAgKi8KLSAgICBsb3dlclJpZ2h0Q29vcjogZnVuY3Rpb24ociwgbGxjKSB7Ci0gICAgICByZXR1cm4gewotICAgICAgICB4OiBsbGMueCAtIHIueDEgKyByLngyLAotICAgICAgICB5OiBsbGMueSAtIHIueTEgKyByLnkyCi0gICAgICB9OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBHZXQgdGhlIGNvb3JkaW5hdGVzIG9mIGFsbCB0aGUgY29ybmVycyBvZiBhIHJlY3RhbmdsZSBmcm9tIGl0cyB0b3AgcG9pbnQuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9IEEgcmVjdGFuZ2xlIGRlZmluZWQgYnkgdHdvIHBvaW50cyAoeDEsIHkxKSBhbmQgKHgyLCB5MikuCi0gICAgICogQHJldHVybiB7YXJyYXl9ICBBbiBhcnJheSBvZiB0aGUgZm91ciBjb3JuZXJzJyBjb29yZGluYXRlcyAoeCwgeSkuCi0gICAgICovCi0gICAgcmVjdGFuZ2xlQ29ybmVyczogZnVuY3Rpb24ocikgewotICAgICAgdmFyIGxsYyA9IHRoaXMubG93ZXJMZWZ0Q29vcihyKSwKLSAgICAgICAgICBscmMgPSB0aGlzLmxvd2VyUmlnaHRDb29yKHIsIGxsYyk7Ci0KLSAgICAgIHJldHVybiBbCi0gICAgICAgIHt4OiByLngxLCB5OiByLnkxfSwKLSAgICAgICAge3g6IHIueDIsIHk6IHIueTJ9LAotICAgICAgICB7eDogbGxjLngsIHk6IGxsYy55fSwKLSAgICAgICAge3g6IGxyYy54LCB5OiBscmMueX0KLSAgICAgIF07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIFNwbGl0IGEgc3F1YXJlIGRlZmluZWQgYnkgaXRzIGJvdW5kYXJpZXMgaW50byBmb3VyLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSBCb3VuZGFyaWVzIG9mIHRoZSBzcXVhcmUgKHgsIHksIHdpZHRoLCBoZWlnaHQpLgotICAgICAqIEByZXR1cm4ge2FycmF5fSAgQW4gYXJyYXkgY29udGFpbmluZyB0aGUgZm91ciBuZXcgc3F1YXJlcywgdGhlbXNlbHZlcwotICAgICAqICAgICAgICAgICAgICAgICAgZGVmaW5lZCBieSBhbiBhcnJheSBvZiB0aGVpciBmb3VyIGNvcm5lcnMgKHgsIHkpLgotICAgICAqLwotICAgIHNwbGl0U3F1YXJlOiBmdW5jdGlvbihiKSB7Ci0gICAgICByZXR1cm4gWwotICAgICAgICBbCi0gICAgICAgICAge3g6IGIueCwgeTogYi55fSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCAvIDIsIHk6IGIueX0sCi0gICAgICAgICAge3g6IGIueCwgeTogYi55ICsgYi5oZWlnaHQgLyAyfSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCAvIDIsIHk6IGIueSArIGIuaGVpZ2h0IC8gMn0KLSAgICAgICAgXSwKLSAgICAgICAgWwotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoIC8gMiwgeTogYi55fSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCwgeTogYi55fSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCAvIDIsIHk6IGIueSArIGIuaGVpZ2h0IC8gMn0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGgsIHk6IGIueSArIGIuaGVpZ2h0IC8gMn0KLSAgICAgICAgXSwKLSAgICAgICAgWwotICAgICAgICAgIHt4OiBiLngsIHk6IGIueSArIGIuaGVpZ2h0IC8gMn0sCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGggLyAyLCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9LAotICAgICAgICAgIHt4OiBiLngsIHk6IGIueSArIGIuaGVpZ2h0fSwKLSAgICAgICAgICB7eDogYi54ICsgYi53aWR0aCAvIDIsIHk6IGIueSArIGIuaGVpZ2h0fQotICAgICAgICBdLAotICAgICAgICBbCi0gICAgICAgICAge3g6IGIueCArIGIud2lkdGggLyAyLCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9LAotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoLCB5OiBiLnkgKyBiLmhlaWdodCAvIDJ9LAotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoIC8gMiwgeTogYi55ICsgYi5oZWlnaHR9LAotICAgICAgICAgIHt4OiBiLnggKyBiLndpZHRoLCB5OiBiLnkgKyBiLmhlaWdodH0KLSAgICAgICAgXQotICAgICAgXTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQ29tcHV0ZSB0aGUgZm91ciBheGlzIGJldHdlZW4gY29ybmVycyBvZiByZWN0YW5nbGUgQSBhbmQgY29ybmVycyBvZgotICAgICAqIHJlY3RhbmdsZSBCLiBUaGlzIGlzIG5lZWRlZCBsYXRlciB0byBjaGVjayBhbiBldmVudHVhbCBjb2xsaXNpb24uCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHthcnJheX0gQW4gYXJyYXkgb2YgcmVjdGFuZ2xlIEEncyBmb3VyIGNvcm5lcnMgKHgsIHkpLgotICAgICAqIEBwYXJhbSAge2FycmF5fSBBbiBhcnJheSBvZiByZWN0YW5nbGUgQidzIGZvdXIgY29ybmVycyAoeCwgeSkuCi0gICAgICogQHJldHVybiB7YXJyYXl9IEFuIGFycmF5IG9mIGZvdXIgYXhpcyBkZWZpbmVkIGJ5IHRoZWlyIGNvb3JkaW5hdGVzICh4LHkpLgotICAgICAqLwotICAgIGF4aXM6IGZ1bmN0aW9uKGMxLCBjMikgewotICAgICAgcmV0dXJuIFsKLSAgICAgICAge3g6IGMxWzFdLnggLSBjMVswXS54LCB5OiBjMVsxXS55IC0gYzFbMF0ueX0sCi0gICAgICAgIHt4OiBjMVsxXS54IC0gYzFbM10ueCwgeTogYzFbMV0ueSAtIGMxWzNdLnl9LAotICAgICAgICB7eDogYzJbMF0ueCAtIGMyWzJdLngsIHk6IGMyWzBdLnkgLSBjMlsyXS55fSwKLSAgICAgICAge3g6IGMyWzBdLnggLSBjMlsxXS54LCB5OiBjMlswXS55IC0gYzJbMV0ueX0KLSAgICAgIF07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIFByb2plY3QgYSByZWN0YW5nbGUncyBjb3JuZXIgb24gYW4gYXhpcy4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gQ29vcmRpbmF0ZXMgb2YgYSBjb3JuZXIgKHgsIHkpLgotICAgICAqIEBwYXJhbSAge29iamVjdH0gQ29vcmRpbmF0ZXMgb2YgYW4gYXhpcyAoeCwgeSkuCi0gICAgICogQHJldHVybiB7b2JqZWN0fSBUaGUgcHJvamVjdGlvbiBkZWZpbmVkIGJ5IGNvb3JkaW5hdGVzICh4LCB5KS4KLSAgICAgKi8KLSAgICBwcm9qZWN0aW9uOiBmdW5jdGlvbihjLCBhKSB7Ci0gICAgICB2YXIgbCA9ICgKLSAgICAgICAgKGMueCAqIGEueCArIGMueSAqIGEueSkgLwotICAgICAgICAoTWF0aC5wb3coYS54LCAyKSArIE1hdGgucG93KGEueSwgMikpCi0gICAgICApOwotCi0gICAgICByZXR1cm4gewotICAgICAgICB4OiBsICogYS54LAotICAgICAgICB5OiBsICogYS55Ci0gICAgICB9OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBDaGVjayB3aGV0aGVyIHR3byByZWN0YW5nbGVzIGNvbGxpZGUgb24gb25lIHBhcnRpY3VsYXIgYXhpcy4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICBBbiBheGlzJyBjb29yZGluYXRlcyAoeCwgeSkuCi0gICAgICogQHBhcmFtICB7YXJyYXl9ICAgIFJlY3RhbmdsZSBBJ3MgY29ybmVycy4KLSAgICAgKiBAcGFyYW0gIHthcnJheX0gICAgUmVjdGFuZ2xlIEIncyBjb3JuZXJzLgotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59ICBUcnVlIGlmIHRoZSByZWN0YW5nbGVzIGNvbGxpZGUgb24gdGhlIGF4aXMuCi0gICAgICovCi0gICAgYXhpc0NvbGxpc2lvbjogZnVuY3Rpb24oYSwgYzEsIGMyKSB7Ci0gICAgICB2YXIgc2MxID0gW10sCi0gICAgICAgICAgc2MyID0gW107Ci0KLSAgICAgIGZvciAodmFyIGNpID0gMDsgY2kgPCA0OyBjaSsrKSB7Ci0gICAgICAgIHZhciBwMSA9IHRoaXMucHJvamVjdGlvbihjMVtjaV0sIGEpLAotICAgICAgICAgICAgcDIgPSB0aGlzLnByb2plY3Rpb24oYzJbY2ldLCBhKTsKLQotICAgICAgICBzYzEucHVzaChwMS54ICogYS54ICsgcDEueSAqIGEueSk7Ci0gICAgICAgIHNjMi5wdXNoKHAyLnggKiBhLnggKyBwMi55ICogYS55KTsKLSAgICAgIH0KLQotICAgICAgdmFyIG1heGMxID0gTWF0aC5tYXguYXBwbHkoTWF0aCwgc2MxKSwKLSAgICAgICAgICBtYXhjMiA9IE1hdGgubWF4LmFwcGx5KE1hdGgsIHNjMiksCi0gICAgICAgICAgbWluYzEgPSBNYXRoLm1pbi5hcHBseShNYXRoLCBzYzEpLAotICAgICAgICAgIG1pbmMyID0gTWF0aC5taW4uYXBwbHkoTWF0aCwgc2MyKTsKLQotICAgICAgcmV0dXJuIChtaW5jMiA8PSBtYXhjMSAmJiBtYXhjMiA+PSBtaW5jMSk7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIENoZWNrIHdoZXRoZXIgdHdvIHJlY3RhbmdsZXMgY29sbGlkZSBvbiBlYWNoIG9uZSBvZiB0aGVpciBmb3VyIGF4aXMuIElmCi0gICAgICogYWxsIGF4aXMgY29sbGlkZSwgdGhlbiB0aGUgdHdvIHJlY3RhbmdsZXMgZG8gY29sbGlkZSBvbiB0aGUgcGxhbmUuCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHthcnJheX0gICAgUmVjdGFuZ2xlIEEncyBjb3JuZXJzLgotICAgICAqIEBwYXJhbSAge2FycmF5fSAgICBSZWN0YW5nbGUgQidzIGNvcm5lcnMuCi0gICAgICogQHJldHVybiB7Ym9vbGVhbn0gIFRydWUgaWYgdGhlIHJlY3RhbmdsZXMgY29sbGlkZS4KLSAgICAgKi8KLSAgICBjb2xsaXNpb246IGZ1bmN0aW9uKGMxLCBjMikgewotICAgICAgdmFyIGF4aXMgPSB0aGlzLmF4aXMoYzEsIGMyKSwKLSAgICAgICAgICBjb2wgPSB0cnVlOwotCi0gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykKLSAgICAgICAgY29sID0gY29sICYmIHRoaXMuYXhpc0NvbGxpc2lvbihheGlzW2ldLCBjMSwgYzIpOwotCi0gICAgICByZXR1cm4gY29sOwotICAgIH0KLSAgfTsKLQotCi0gIC8qKgotICAgKiBRdWFkIEZ1bmN0aW9ucwotICAgKiAtLS0tLS0tLS0tLS0KLSAgICoKLSAgICogVGhlIFF1YWR0cmVlIGZ1bmN0aW9ucyB0aGVtc2VsdmVzLgotICAgKiBGb3IgZWFjaCBvZiB0aG9zZSBmdW5jdGlvbnMsIHdlIGNvbnNpZGVyIHRoYXQgaW4gYSBzcGxpdHRlZCBxdWFkLCB0aGUKLSAgICogaW5kZXggb2YgZWFjaCBub2RlIGlzIHRoZSBmb2xsb3dpbmc6Ci0gICAqIDA6IHRvcCBsZWZ0Ci0gICAqIDE6IHRvcCByaWdodAotICAgKiAyOiBib3R0b20gbGVmdAotICAgKiAzOiBib3R0b20gcmlnaHQKLSAgICoKLSAgICogTW9yZW92ZXIsIHRoZSBoZXJlYWZ0ZXIgcXVhZCdzIHBoaWxvc29waHkgaXMgdG8gY29uc2lkZXIgdGhhdCBpZiBhbiBlbGVtZW50Ci0gICAqIGNvbGxpZGVzIHdpdGggbW9yZSB0aGFuIG9uZSBub2RlcywgdGhpcyBlbGVtZW50IGJlbG9uZ3MgdG8gZWFjaCBvZiB0aGUKLSAgICogbm9kZXMgaXQgY29sbGlkZXMgd2l0aCB3aGVyZSBvdGhlciB3b3VsZCBsZXQgaXQgbGllIG9uIGEgaGlnaGVyIG5vZGUuCi0gICAqLwotCi0gIC8qKgotICAgKiBHZXQgdGhlIGluZGV4IG9mIHRoZSBub2RlIGNvbnRhaW5pbmcgdGhlIHBvaW50IGluIHRoZSBxdWFkCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gIHBvaW50ICAgICAgQSBwb2ludCBkZWZpbmVkIGJ5IGNvb3JkaW5hdGVzICh4LCB5KS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgcXVhZEJvdW5kcyBCb3VuZGFyaWVzIG9mIHRoZSBxdWFkICh4LCB5LCB3aWR0aCwgaGVpZ3RoKS4KLSAgICogQHJldHVybiB7aW50ZWdlcn0gICAgICAgICAgICBUaGUgaW5kZXggb2YgdGhlIG5vZGUgY29udGFpbmluZyB0aGUgcG9pbnQuCi0gICAqLwotICBmdW5jdGlvbiBfcXVhZEluZGV4KHBvaW50LCBxdWFkQm91bmRzKSB7Ci0gICAgdmFyIHhtcCA9IHF1YWRCb3VuZHMueCArIHF1YWRCb3VuZHMud2lkdGggLyAyLAotICAgICAgICB5bXAgPSBxdWFkQm91bmRzLnkgKyBxdWFkQm91bmRzLmhlaWdodCAvIDIsCi0gICAgICAgIHRvcCA9IChwb2ludC55IDwgeW1wKSwKLSAgICAgICAgbGVmdCA9IChwb2ludC54IDwgeG1wKTsKLQotICAgIGlmICh0b3ApIHsKLSAgICAgIGlmIChsZWZ0KQotICAgICAgICByZXR1cm4gMDsKLSAgICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgaWYgKGxlZnQpCi0gICAgICAgIHJldHVybiAyOwotICAgICAgZWxzZQotICAgICAgICByZXR1cm4gMzsKLSAgICB9Ci0gIH0KLQotICAvKioKLSAgICogR2V0IGEgbGlzdCBvZiBpbmRleGVzIG9mIG5vZGVzIGNvbnRhaW5pbmcgYW4gYXhpcy1hbGlnbmVkIHJlY3RhbmdsZQotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICByZWN0YW5nbGUgICBBIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IHR3byBwb2ludHMgKHgxLCB5MSksCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4MiwgeTIpIGFuZCBoZWlnaHQuCi0gICAqIEBwYXJhbSAge2FycmF5fSAgIHF1YWRDb3JuZXJzIEFuIGFycmF5IG9mIHRoZSBxdWFkIG5vZGVzJyBjb3JuZXJzLgotICAgKiBAcmV0dXJuIHthcnJheX0gICAgICAgICAgICAgICBBbiBhcnJheSBvZiBpbmRleGVzIGNvbnRhaW5pbmcgb25lIHRvCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdXIgaW50ZWdlcnMuCi0gICAqLwotICBmdW5jdGlvbiBfcXVhZEluZGV4ZXMocmVjdGFuZ2xlLCBxdWFkQ29ybmVycykgewotICAgIHZhciBpbmRleGVzID0gW107Ci0KLSAgICAvLyBJdGVyYXRpbmcgdGhyb3VnaCBxdWFkcwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKQotICAgICAgaWYgKChyZWN0YW5nbGUueDIgPj0gcXVhZENvcm5lcnNbaV1bMF0ueCkgJiYKLSAgICAgICAgICAocmVjdGFuZ2xlLngxIDw9IHF1YWRDb3JuZXJzW2ldWzFdLngpICYmCi0gICAgICAgICAgKHJlY3RhbmdsZS55MSArIHJlY3RhbmdsZS5oZWlnaHQgPj0gcXVhZENvcm5lcnNbaV1bMF0ueSkgJiYKLSAgICAgICAgICAocmVjdGFuZ2xlLnkxIDw9IHF1YWRDb3JuZXJzW2ldWzJdLnkpKQotICAgICAgICBpbmRleGVzLnB1c2goaSk7Ci0KLSAgICByZXR1cm4gaW5kZXhlczsKLSAgfQotCi0gIC8qKgotICAgKiBHZXQgYSBsaXN0IG9mIGluZGV4ZXMgb2Ygbm9kZXMgY29udGFpbmluZyBhIG5vbi1heGlzLWFsaWduZWQgcmVjdGFuZ2xlCi0gICAqCi0gICAqIEBwYXJhbSAge2FycmF5fSAgY29ybmVycyAgICAgIEFuIGFycmF5IGNvbnRhaW5pbmcgZWFjaCBjb3JuZXIgb2YgdGhlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3RhbmdsZSBkZWZpbmVkIGJ5IGl0cyBjb29yZGluYXRlcyAoeCwgeSkuCi0gICAqIEBwYXJhbSAge2FycmF5fSAgcXVhZENvcm5lcnMgIEFuIGFycmF5IG9mIHRoZSBxdWFkIG5vZGVzJyBjb3JuZXJzLgotICAgKiBAcmV0dXJuIHthcnJheX0gICAgICAgICAgICAgICBBbiBhcnJheSBvZiBpbmRleGVzIGNvbnRhaW5pbmcgb25lIHRvCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdXIgaW50ZWdlcnMuCi0gICAqLwotICBmdW5jdGlvbiBfcXVhZENvbGxpc2lvbihjb3JuZXJzLCBxdWFkQ29ybmVycykgewotICAgIHZhciBpbmRleGVzID0gW107Ci0KLSAgICAvLyBJdGVyYXRpbmcgdGhyb3VnaCBxdWFkcwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKQotICAgICAgaWYgKF9nZW9tLmNvbGxpc2lvbihjb3JuZXJzLCBxdWFkQ29ybmVyc1tpXSkpCi0gICAgICAgIGluZGV4ZXMucHVzaChpKTsKLQotICAgIHJldHVybiBpbmRleGVzOwotICB9Ci0KLSAgLyoqCi0gICAqIFN1YmRpdmlkZSBhIHF1YWQgYnkgY3JlYXRpbmcgYSBub2RlIGF0IGEgcHJlY2lzZSBpbmRleC4gVGhlIGZ1bmN0aW9uIGRvZXMKLSAgICogbm90IGdlbmVyYXRlIGFsbCBmb3VyIG5vZGVzIG5vdCB0byBwb3RlbnRpYWxseSBjcmVhdGUgdW51c2VkIG5vZGVzLgotICAgKgotICAgKiBAcGFyYW0gIHtpbnRlZ2VyfSAgaW5kZXggVGhlIGluZGV4IG9mIHRoZSBub2RlIHRvIGNyZWF0ZS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgIHF1YWQgIFRoZSBxdWFkIG9iamVjdCB0byBzdWJkaXZpZGUuCi0gICAqIEByZXR1cm4ge29iamVjdH0gICAgICAgICBBIG5ldyBxdWFkIHJlcHJlc2VudGluZyB0aGUgbm9kZSBjcmVhdGVkLgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRTdWJkaXZpZGUoaW5kZXgsIHF1YWQpIHsKLSAgICB2YXIgbmV4dCA9IHF1YWQubGV2ZWwgKyAxLAotICAgICAgICBzdWJ3ID0gTWF0aC5yb3VuZChxdWFkLmJvdW5kcy53aWR0aCAvIDIpLAotICAgICAgICBzdWJoID0gTWF0aC5yb3VuZChxdWFkLmJvdW5kcy5oZWlnaHQgLyAyKSwKLSAgICAgICAgcXggPSBNYXRoLnJvdW5kKHF1YWQuYm91bmRzLngpLAotICAgICAgICBxeSA9IE1hdGgucm91bmQocXVhZC5ib3VuZHMueSksCi0gICAgICAgIHgsCi0gICAgICAgIHk7Ci0KLSAgICBzd2l0Y2ggKGluZGV4KSB7Ci0gICAgICBjYXNlIDA6Ci0gICAgICAgIHggPSBxeDsKLSAgICAgICAgeSA9IHF5OwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMToKLSAgICAgICAgeCA9IHF4ICsgc3VidzsKLSAgICAgICAgeSA9IHF5OwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMjoKLSAgICAgICAgeCA9IHF4OwotICAgICAgICB5ID0gcXkgKyBzdWJoOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgMzoKLSAgICAgICAgeCA9IHF4ICsgc3VidzsKLSAgICAgICAgeSA9IHF5ICsgc3ViaDsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIF9xdWFkVHJlZSgKLSAgICAgIHt4OiB4LCB5OiB5LCB3aWR0aDogc3VidywgaGVpZ2h0OiBzdWJofSwKLSAgICAgIG5leHQsCi0gICAgICBxdWFkLm1heEVsZW1lbnRzLAotICAgICAgcXVhZC5tYXhMZXZlbAotICAgICk7Ci0gIH0KLQotICAvKioKLSAgICogUmVjdXJzaXZlbHkgaW5zZXJ0IGFuIGVsZW1lbnQgaW50byB0aGUgcXVhZHRyZWUuIE9ubHkgcG9pbnRzCi0gICAqIHdpdGggc2l6ZSwgaS5lLiBheGlzLWFsaWduZWQgc3F1YXJlcywgbWF5IGJlIGluc2VydGVkIHdpdGggdGhpcwotICAgKiBtZXRob2QuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gIGVsICAgICAgICAgVGhlIGVsZW1lbnQgdG8gaW5zZXJ0IGluIHRoZSBxdWFkdHJlZS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgc2l6ZWRQb2ludCBBIHNpemVkIHBvaW50IGRlZmluZWQgYnkgdHdvIHRvcCBwb2ludHMKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeDEsIHkxKSwgKHgyLCB5MikgYW5kIGhlaWdodC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgcXVhZCAgICAgICBUaGUgcXVhZCBpbiB3aGljaCB0byBpbnNlcnQgdGhlIGVsZW1lbnQuCi0gICAqIEByZXR1cm4ge3VuZGVmaW5lZH0gICAgICAgICAgVGhlIGZ1bmN0aW9uIGRvZXMgbm90IHJldHVybiBhbnl0aGluZy4KLSAgICovCi0gIGZ1bmN0aW9uIF9xdWFkSW5zZXJ0KGVsLCBzaXplZFBvaW50LCBxdWFkKSB7Ci0gICAgaWYgKHF1YWQubGV2ZWwgPCBxdWFkLm1heExldmVsKSB7Ci0KLSAgICAgIC8vIFNlYXJjaGluZyBhcHByb3ByaWF0ZSBxdWFkcwotICAgICAgdmFyIGluZGV4ZXMgPSBfcXVhZEluZGV4ZXMoc2l6ZWRQb2ludCwgcXVhZC5jb3JuZXJzKTsKLQotICAgICAgLy8gSXRlcmF0aW5nCi0gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGluZGV4ZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0KLSAgICAgICAgLy8gU3ViZGl2aWRpbmcgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIGlmIChxdWFkLm5vZGVzW2luZGV4ZXNbaV1dID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgcXVhZC5ub2Rlc1tpbmRleGVzW2ldXSA9IF9xdWFkU3ViZGl2aWRlKGluZGV4ZXNbaV0sIHF1YWQpOwotCi0gICAgICAgIC8vIFJlY3Vyc2lvbgotICAgICAgICBfcXVhZEluc2VydChlbCwgc2l6ZWRQb2ludCwgcXVhZC5ub2Rlc1tpbmRleGVzW2ldXSk7Ci0gICAgICB9Ci0gICAgfQotICAgIGVsc2UgewotCi0gICAgICAvLyBQdXNoaW5nIHRoZSBlbGVtZW50IGluIGEgbGVhZiBub2RlCi0gICAgICBxdWFkLmVsZW1lbnRzLnB1c2goZWwpOwotICAgIH0KLSAgfQotCi0gIC8qKgotICAgKiBSZWN1cnNpdmVseSByZXRyaWV2ZSBldmVyeSBlbGVtZW50cyBoZWxkIGJ5IHRoZSBub2RlIGNvbnRhaW5pbmcgdGhlCi0gICAqIHNlYXJjaGVkIHBvaW50LgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICBwb2ludCBUaGUgc2VhcmNoZWQgcG9pbnQgKHgsIHkpLgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICBxdWFkICBUaGUgc2VhcmNoZWQgcXVhZC4KLSAgICogQHJldHVybiB7YXJyYXl9ICAgICAgICAgQW4gYXJyYXkgb2YgZWxlbWVudHMgY29udGFpbmVkIGluIHRoZSByZWxldmFudAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRSZXRyaWV2ZVBvaW50KHBvaW50LCBxdWFkKSB7Ci0gICAgaWYgKHF1YWQubGV2ZWwgPCBxdWFkLm1heExldmVsKSB7Ci0gICAgICB2YXIgaW5kZXggPSBfcXVhZEluZGV4KHBvaW50LCBxdWFkLmJvdW5kcyk7Ci0KLSAgICAgIC8vIElmIG5vZGUgZG9lcyBub3QgZXhpc3Qgd2UgcmV0dXJuIGFuIGVtcHR5IGxpc3QKLSAgICAgIGlmIChxdWFkLm5vZGVzW2luZGV4XSAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHJldHVybiBfcXVhZFJldHJpZXZlUG9pbnQocG9pbnQsIHF1YWQubm9kZXNbaW5kZXhdKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgewotICAgICAgICByZXR1cm4gW107Ci0gICAgICB9Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgcmV0dXJuIHF1YWQuZWxlbWVudHM7Ci0gICAgfQotICB9Ci0KLSAgLyoqCi0gICAqIFJlY3Vyc2l2ZWx5IHJldHJpZXZlIGV2ZXJ5IGVsZW1lbnRzIGNvbnRhaW5lZCB3aXRoaW4gYW4gcmVjdGFuZ3VsYXIgYXJlYQotICAgKiB0aGF0IG1heSBvciBtYXkgbm90IGJlIGF4aXMtYWxpZ25lZC4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fGFycmF5fSByZWN0RGF0YSAgICAgICBUaGUgc2VhcmNoZWQgYXJlYSBkZWZpbmVkIGVpdGhlciBieQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuIGFycmF5IG9mIGZvdXIgY29ybmVycyAoeCwgeSkgaW4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2FzZSBvZiBhIG5vbi1heGlzLWFsaWduZWQKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0YW5nbGUgb3IgYW4gb2JqZWN0IHdpdGggdHdvIHRvcAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50cyAoeDEsIHkxKSwgKHgyLCB5MikgYW5kIGhlaWdodC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICBxdWFkICAgICAgICAgICBUaGUgc2VhcmNoZWQgcXVhZC4KLSAgICogQHBhcmFtICB7ZnVuY3Rpb259ICAgICBjb2xsaXNpb25GdW5jICBUaGUgY29sbGlzaW9uIGZ1bmN0aW9uIHVzZWQgdG8gc2VhcmNoCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG5vZGUgaW5kZXhlcy4KLSAgICogQHBhcmFtICB7YXJyYXk/fSAgICAgICBlbHMgICAgICAgICAgICBUaGUgcmV0cmlldmVkIGVsZW1lbnRzLgotICAgKiBAcmV0dXJuIHthcnJheX0gICAgICAgICAgICAgICAgICAgICAgIEFuIGFycmF5IG9mIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiB0aGUKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmVhLgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRSZXRyaWV2ZUFyZWEocmVjdERhdGEsIHF1YWQsIGNvbGxpc2lvbkZ1bmMsIGVscykgewotICAgIGVscyA9IGVscyB8fCB7fTsKLQotICAgIGlmIChxdWFkLmxldmVsIDwgcXVhZC5tYXhMZXZlbCkgewotICAgICAgdmFyIGluZGV4ZXMgPSBjb2xsaXNpb25GdW5jKHJlY3REYXRhLCBxdWFkLmNvcm5lcnMpOwotCi0gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGluZGV4ZXMubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgICBpZiAocXVhZC5ub2Rlc1tpbmRleGVzW2ldXSAhPT0gdW5kZWZpbmVkKQotICAgICAgICAgIF9xdWFkUmV0cmlldmVBcmVhKAotICAgICAgICAgICAgcmVjdERhdGEsCi0gICAgICAgICAgICBxdWFkLm5vZGVzW2luZGV4ZXNbaV1dLAotICAgICAgICAgICAgY29sbGlzaW9uRnVuYywKLSAgICAgICAgICAgIGVscwotICAgICAgICAgICk7Ci0gICAgfSBlbHNlCi0gICAgICBmb3IgKHZhciBqID0gMCwgbSA9IHF1YWQuZWxlbWVudHMubGVuZ3RoOyBqIDwgbTsgaisrKQotICAgICAgICBpZiAoZWxzW3F1YWQuZWxlbWVudHNbal0uaWRdID09PSB1bmRlZmluZWQpCi0gICAgICAgICAgZWxzW3F1YWQuZWxlbWVudHNbal0uaWRdID0gcXVhZC5lbGVtZW50c1tqXTsKLQotICAgIHJldHVybiBlbHM7Ci0gIH0KLQotICAvKioKLSAgICogQ3JlYXRlcyB0aGUgcXVhZHRyZWUgb2JqZWN0IGl0c2VsZi4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgIGJvdW5kcyAgICAgICBUaGUgYm91bmRhcmllcyBvZiB0aGUgcXVhZCBkZWZpbmVkIGJ5IGFuCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luICh4LCB5KSwgd2lkdGggYW5kIGhlaWd0aC4KLSAgICogQHBhcmFtICB7aW50ZWdlcn0gIGxldmVsICAgICAgICBUaGUgbGV2ZWwgb2YgdGhlIHF1YWQgaW4gdGhlIHRyZWUuCi0gICAqIEBwYXJhbSAge2ludGVnZXJ9ICBtYXhFbGVtZW50cyAgVGhlIG1heCBudW1iZXIgb2YgZWxlbWVudCBpbiBhIGxlYWYgbm9kZS4KLSAgICogQHBhcmFtICB7aW50ZWdlcn0gIG1heExldmVsICAgICBUaGUgbWF4IHJlY3Vyc2lvbiBsZXZlbCBvZiB0aGUgdHJlZS4KLSAgICogQHJldHVybiB7b2JqZWN0fSAgICAgICAgICAgICAgICBUaGUgcXVhZHRyZWUgb2JqZWN0LgotICAgKi8KLSAgZnVuY3Rpb24gX3F1YWRUcmVlKGJvdW5kcywgbGV2ZWwsIG1heEVsZW1lbnRzLCBtYXhMZXZlbCkgewotICAgIHJldHVybiB7Ci0gICAgICBsZXZlbDogbGV2ZWwgfHwgMCwKLSAgICAgIGJvdW5kczogYm91bmRzLAotICAgICAgY29ybmVyczogX2dlb20uc3BsaXRTcXVhcmUoYm91bmRzKSwKLSAgICAgIG1heEVsZW1lbnRzOiBtYXhFbGVtZW50cyB8fCA0MCwKLSAgICAgIG1heExldmVsOiBtYXhMZXZlbCB8fCA4LAotICAgICAgZWxlbWVudHM6IFtdLAotICAgICAgbm9kZXM6IFtdCi0gICAgfTsKLSAgfQotCi0KLSAgLyoqCi0gICAqIFNpZ21hIFF1YWQgQ29uc3RydWN0b3IKLSAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgKgotICAgKiBUaGUgZWRnZXF1YWQgQVBJIGFzIGV4cG9zZWQgdG8gc2lnbWEuCi0gICAqLwotCi0gIC8qKgotICAgKiBUaGUgZWRnZXF1YWQgY29yZSB0aGF0IHdpbGwgYmVjb21lIHRoZSBzaWdtYSBpbnRlcmZhY2Ugd2l0aCB0aGUgcXVhZHRyZWUuCi0gICAqCi0gICAqIHByb3BlcnR5IHtvYmplY3R9IF90cmVlICAgICBQcm9wZXJ0eSBob2xkaW5nIHRoZSBxdWFkdHJlZSBvYmplY3QuCi0gICAqIHByb3BlcnR5IHtvYmplY3R9IF9nZW9tICAgICBFeHBvc2l0aW9uIG9mIHRoZSBfZ2VvbSBuYW1lc3BhY2UgZm9yIHRlc3RpbmcuCi0gICAqIHByb3BlcnR5IHtvYmplY3R9IF9jYWNoZSAgICBDYWNoZSBmb3IgdGhlIGFyZWEgbWV0aG9kLgotICAgKiBwcm9wZXJ0eSB7Ym9vbGVhbn0gX2VuYWJsZWQgQ2FuIGluZGV4IGFuZCByZXRyZWl2ZSBlbGVtZW50cy4KLSAgICovCi0gIHZhciBlZGdlcXVhZCA9IGZ1bmN0aW9uKCkgewotICAgIHRoaXMuX2dlb20gPSBfZ2VvbTsKLSAgICB0aGlzLl90cmVlID0gbnVsbDsKLSAgICB0aGlzLl9jYWNoZSA9IHsKLSAgICAgIHF1ZXJ5OiBmYWxzZSwKLSAgICAgIHJlc3VsdDogZmFsc2UKLSAgICB9OwotICAgIHRoaXMuX2VuYWJsZWQgPSB0cnVlOwotICB9OwotCi0gIC8qKgotICAgKiBJbmRleCBhIGdyYXBoIGJ5IGluc2VydGluZyBpdHMgZWRnZXMgaW50byB0aGUgcXVhZHRyZWUuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gZ3JhcGggICBBIGdyYXBoIGluc3RhbmNlLgotICAgKiBAcGFyYW0gIHtvYmplY3R9IHBhcmFtcyAgQW4gb2JqZWN0IG9mIHBhcmFtZXRlcnMgd2l0aCBhdCBsZWFzdCB0aGUgcXVhZAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRzLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICAgICAgVGhlIHF1YWR0cmVlIG9iamVjdC4KLSAgICoKLSAgICogUGFyYW1ldGVyczoKLSAgICogLS0tLS0tLS0tLQotICAgKiBib3VuZHM6ICAgICAge29iamVjdH0gICBib3VuZGFyaWVzIG9mIHRoZSBxdWFkIGRlZmluZWQgYnkgaXRzIG9yaWdpbiAoeCwgeSkKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggYW5kIGhlaWd0aC4KLSAgICogcHJlZml4OiAgICAgIHtzdHJpbmc/fSAgYSBwcmVmaXggZm9yIGVkZ2UgZ2VvbWV0cmljIGF0dHJpYnV0ZXMuCi0gICAqIG1heEVsZW1lbnRzOiB7aW50ZWdlcj99IHRoZSBtYXggbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgbGVhZiBub2RlLgotICAgKiBtYXhMZXZlbDogICAge2ludGVnZXI/fSB0aGUgbWF4IHJlY3Vyc2lvbiBsZXZlbCBvZiB0aGUgdHJlZS4KLSAgICovCi0gIGVkZ2VxdWFkLnByb3RvdHlwZS5pbmRleCA9IGZ1bmN0aW9uKGdyYXBoLCBwYXJhbXMpIHsKLSAgICBpZiAoIXRoaXMuX2VuYWJsZWQpCi0gICAgICByZXR1cm4gdGhpcy5fdHJlZTsKLQotICAgIC8vIEVuZm9yY2luZyBwcmVzZW5jZSBvZiBib3VuZGFyaWVzCi0gICAgaWYgKCFwYXJhbXMuYm91bmRzKQotICAgICAgdGhyb3cgJ3NpZ21hLmNsYXNzZXMuZWRnZXF1YWQuaW5kZXg6IGJvdW5kcyBpbmZvcm1hdGlvbiBub3QgZ2l2ZW4uJzsKLQotICAgIC8vIFByZWZpeAotICAgIHZhciBwcmVmaXggPSBwYXJhbXMucHJlZml4IHx8ICcnLAotICAgICAgICBjcCwKLSAgICAgICAgc291cmNlLAotICAgICAgICB0YXJnZXQsCi0gICAgICAgIG4sCi0gICAgICAgIGU7Ci0KLSAgICAvLyBCdWlsZGluZyB0aGUgdHJlZQotICAgIHRoaXMuX3RyZWUgPSBfcXVhZFRyZWUoCi0gICAgICBwYXJhbXMuYm91bmRzLAotICAgICAgMCwKLSAgICAgIHBhcmFtcy5tYXhFbGVtZW50cywKLSAgICAgIHBhcmFtcy5tYXhMZXZlbAotICAgICk7Ci0KLSAgICB2YXIgZWRnZXMgPSBncmFwaC5lZGdlcygpOwotCi0gICAgLy8gSW5zZXJ0aW5nIGdyYXBoIGVkZ2VzIGludG8gdGhlIHRyZWUKLSAgICBmb3IgKHZhciBpID0gMCwgbCA9IGVkZ2VzLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgc291cmNlID0gZ3JhcGgubm9kZXMoZWRnZXNbaV0uc291cmNlKTsKLSAgICAgIHRhcmdldCA9IGdyYXBoLm5vZGVzKGVkZ2VzW2ldLnRhcmdldCk7Ci0gICAgICBlID0gewotICAgICAgICB4MTogc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgIHkxOiBzb3VyY2VbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgeDI6IHRhcmdldFtwcmVmaXggKyAneCddLAotICAgICAgICB5MjogdGFyZ2V0W3ByZWZpeCArICd5J10sCi0gICAgICAgIHNpemU6IGVkZ2VzW2ldW3ByZWZpeCArICdzaXplJ10gfHwgMAotICAgICAgfTsKLQotICAgICAgLy8gSW5zZXJ0aW5nIGVkZ2UKLSAgICAgIGlmIChlZGdlc1tpXS50eXBlID09PSAnY3VydmUnIHx8IGVkZ2VzW2ldLnR5cGUgPT09ICdjdXJ2ZWRBcnJvdycpIHsKLSAgICAgICAgaWYgKHNvdXJjZS5pZCA9PT0gdGFyZ2V0LmlkKSB7Ci0gICAgICAgICAgbiA9IHsKLSAgICAgICAgICAgIHg6IHNvdXJjZVtwcmVmaXggKyAneCddLAotICAgICAgICAgICAgeTogc291cmNlW3ByZWZpeCArICd5J10sCi0gICAgICAgICAgICBzaXplOiBzb3VyY2VbcHJlZml4ICsgJ3NpemUnXSB8fCAwCi0gICAgICAgICAgfTsKLSAgICAgICAgICBfcXVhZEluc2VydCgKLSAgICAgICAgICAgIGVkZ2VzW2ldLAotICAgICAgICAgICAgX2dlb20uc2VsZkxvb3BUb1NxdWFyZShuKSwKLSAgICAgICAgICAgIHRoaXMuX3RyZWUpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgIGNwID0gc2lnbWEudXRpbHMuZ2V0UXVhZHJhdGljQ29udHJvbFBvaW50KGUueDEsIGUueTEsIGUueDIsIGUueTIpOwotICAgICAgICAgIF9xdWFkSW5zZXJ0KAotICAgICAgICAgICAgZWRnZXNbaV0sCi0gICAgICAgICAgICBfZ2VvbS5xdWFkcmF0aWNDdXJ2ZVRvU3F1YXJlKGUsIGNwKSwKLSAgICAgICAgICAgIHRoaXMuX3RyZWUpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBlbHNlIHsKLSAgICAgICAgX3F1YWRJbnNlcnQoCi0gICAgICAgICAgZWRnZXNbaV0sCi0gICAgICAgICAgX2dlb20ubGluZVRvU3F1YXJlKGUpLAotICAgICAgICAgIHRoaXMuX3RyZWUpOwotICAgICAgfQotICAgIH0KLQotICAgIC8vIFJlc2V0IGNhY2hlOgotICAgIHRoaXMuX2NhY2hlID0gewotICAgICAgcXVlcnk6IGZhbHNlLAotICAgICAgcmVzdWx0OiBmYWxzZQotICAgIH07Ci0KLSAgICAvLyByZW1vdmU/Ci0gICAgcmV0dXJuIHRoaXMuX3RyZWU7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFJldHJpZXZlIGV2ZXJ5IGdyYXBoIGVkZ2VzIGhlbGQgYnkgdGhlIHF1YWR0cmVlIG5vZGUgY29udGFpbmluZyB0aGUKLSAgICogc2VhcmNoZWQgcG9pbnQuCi0gICAqCi0gICAqIEBwYXJhbSAge251bWJlcn0geCBvZiB0aGUgcG9pbnQuCi0gICAqIEBwYXJhbSAge251bWJlcn0geSBvZiB0aGUgcG9pbnQuCi0gICAqIEByZXR1cm4ge2FycmF5fSAgQW4gYXJyYXkgb2YgZWRnZXMgcmV0cmlldmVkLgotICAgKi8KLSAgZWRnZXF1YWQucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24oeCwgeSkgewotICAgIGlmICghdGhpcy5fZW5hYmxlZCkKLSAgICAgIHJldHVybiBbXTsKLQotICAgIHJldHVybiB0aGlzLl90cmVlID8KLSAgICAgIF9xdWFkUmV0cmlldmVQb2ludCh7eDogeCwgeTogeX0sIHRoaXMuX3RyZWUpIHx8IFtdIDoKLSAgICAgIFtdOwotICB9OwotCi0gIC8qKgotICAgKiBSZXRyaWV2ZSBldmVyeSBncmFwaCBlZGdlcyB3aXRoaW4gYSByZWN0YW5ndWxhciBhcmVhLiBUaGUgbWV0aG9kcyBrZWVwIHRoZQotICAgKiBsYXN0IGFyZWEgcXVlcmllZCBpbiBjYWNoZSBmb3Igb3B0aW1pemF0aW9uIHJlYXNvbiBhbmQgd2lsbCBhY3QgZGlmZmVyZW50bHkKLSAgICogZm9yIHRoZSBzYW1lIHJlYXNvbiBpZiB0aGUgYXJlYSBpcyBheGlzLWFsaWduZWQgb3Igbm90LgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9IEEgcmVjdGFuZ2xlIGRlZmluZWQgYnkgdHdvIHRvcCBwb2ludHMgKHgxLCB5MSksICh4MiwgeTIpCi0gICAqICAgICAgICAgICAgICAgICAgYW5kIGhlaWdodC4KLSAgICogQHJldHVybiB7YXJyYXl9ICBBbiBhcnJheSBvZiBlZGdlcyByZXRyaWV2ZWQuCi0gICAqLwotICBlZGdlcXVhZC5wcm90b3R5cGUuYXJlYSA9IGZ1bmN0aW9uKHJlY3QpIHsKLSAgICBpZiAoIXRoaXMuX2VuYWJsZWQpCi0gICAgICByZXR1cm4gW107Ci0KLSAgICB2YXIgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHJlY3QpLAotICAgICAgICBjb2xsaXNpb25GdW5jLAotICAgICAgICByZWN0RGF0YTsKLQotICAgIC8vIFJldHVybmluZyBjYWNoZT8KLSAgICBpZiAodGhpcy5fY2FjaGUucXVlcnkgPT09IHNlcmlhbGl6ZWQpCi0gICAgICByZXR1cm4gdGhpcy5fY2FjaGUucmVzdWx0OwotCi0gICAgLy8gQXhpcyBhbGlnbmVkID8KLSAgICBpZiAoX2dlb20uaXNBeGlzQWxpZ25lZChyZWN0KSkgewotICAgICAgY29sbGlzaW9uRnVuYyA9IF9xdWFkSW5kZXhlczsKLSAgICAgIHJlY3REYXRhID0gX2dlb20uYXhpc0FsaWduZWRUb3BQb2ludHMocmVjdCk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgY29sbGlzaW9uRnVuYyA9IF9xdWFkQ29sbGlzaW9uOwotICAgICAgcmVjdERhdGEgPSBfZ2VvbS5yZWN0YW5nbGVDb3JuZXJzKHJlY3QpOwotICAgIH0KLQotICAgIC8vIFJldHJpZXZpbmcgZWRnZXMKLSAgICB2YXIgZWRnZXMgPSB0aGlzLl90cmVlID8KLSAgICAgIF9xdWFkUmV0cmlldmVBcmVhKAotICAgICAgICByZWN0RGF0YSwKLSAgICAgICAgdGhpcy5fdHJlZSwKLSAgICAgICAgY29sbGlzaW9uRnVuYwotICAgICAgKSA6Ci0gICAgICBbXTsKLQotICAgIC8vIE9iamVjdCB0byBhcnJheQotICAgIHZhciBlZGdlc0FycmF5ID0gW107Ci0gICAgZm9yICh2YXIgaSBpbiBlZGdlcykKLSAgICAgIGVkZ2VzQXJyYXkucHVzaChlZGdlc1tpXSk7Ci0KLSAgICAvLyBDYWNoaW5nCi0gICAgdGhpcy5fY2FjaGUucXVlcnkgPSBzZXJpYWxpemVkOwotICAgIHRoaXMuX2NhY2hlLnJlc3VsdCA9IGVkZ2VzQXJyYXk7Ci0KLSAgICByZXR1cm4gZWRnZXNBcnJheTsKLSAgfTsKLQotCi0gIC8qKgotICAgKiBFWFBPUlQ6Ci0gICAqICoqKioqKioKLSAgICovCi0gIGlmICh0eXBlb2YgdGhpcy5zaWdtYSAhPT0gJ3VuZGVmaW5lZCcpIHsKLSAgICB0aGlzLnNpZ21hLmNsYXNzZXMgPSB0aGlzLnNpZ21hLmNsYXNzZXMgfHwge307Ci0gICAgdGhpcy5zaWdtYS5jbGFzc2VzLmVkZ2VxdWFkID0gZWRnZXF1YWQ7Ci0gIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzKQotICAgICAgZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gZWRnZXF1YWQ7Ci0gICAgZXhwb3J0cy5lZGdlcXVhZCA9IGVkZ2VxdWFkOwotICB9IGVsc2UKLSAgICB0aGlzLmVkZ2VxdWFkID0gZWRnZXF1YWQ7Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgLy8gSW5pdGlhbGl6ZSBwYWNrYWdlczoKLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5jYXB0b3JzJyk7Ci0KLSAgLyoqCi0gICAqIFRoZSB1c2VyIGlucHV0cyBkZWZhdWx0IGNhcHRvci4gSXQgZGVhbHMgd2l0aCBtb3VzZSBldmVudHMsIGtleWJvYXJkcwotICAgKiBldmVudHMgYW5kIHRvdWNoIGV2ZW50cy4KLSAgICoKLSAgICogQHBhcmFtICB7RE9NRWxlbWVudH0gICB0YXJnZXQgICBUaGUgRE9NIGVsZW1lbnQgd2hlcmUgdGhlIGxpc3RlbmVycyB3aWxsIGJlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm91bmQuCi0gICAqIEBwYXJhbSAge2NhbWVyYX0gICAgICAgY2FtZXJhICAgVGhlIGNhbWVyYSByZWxhdGVkIHRvIHRoZSB0YXJnZXQuCi0gICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gc2V0dGluZ3MgVGhlIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKiBAcmV0dXJuIHtzaWdtYS5jYXB0b3J9ICAgICAgICAgIFRoZSBmcmVzaCBuZXcgY2FwdG9yIGluc3RhbmNlLgotICAgKi8KLSAgc2lnbWEuY2FwdG9ycy5tb3VzZSA9IGZ1bmN0aW9uKHRhcmdldCwgY2FtZXJhLCBzZXR0aW5ncykgewotICAgIHZhciBfc2VsZiA9IHRoaXMsCi0gICAgICAgIF90YXJnZXQgPSB0YXJnZXQsCi0gICAgICAgIF9jYW1lcmEgPSBjYW1lcmEsCi0gICAgICAgIF9zZXR0aW5ncyA9IHNldHRpbmdzLAotCi0gICAgICAgIC8vIENBTUVSQSBNQU5BR0VNRU5UOgotICAgICAgICAvLyAqKioqKioqKioqKioqKioqKioKLSAgICAgICAgLy8gVGhlIGNhbWVyYSBwb3NpdGlvbiB3aGVuIHRoZSB1c2VyIHN0YXJ0cyBkcmFnZ2luZzoKLSAgICAgICAgX3N0YXJ0Q2FtZXJhWCwKLSAgICAgICAgX3N0YXJ0Q2FtZXJhWSwKLSAgICAgICAgX3N0YXJ0Q2FtZXJhQW5nbGUsCi0KLSAgICAgICAgLy8gVGhlIGxhdGVzdCBzdGFnZSBwb3NpdGlvbjoKLSAgICAgICAgX2xhc3RDYW1lcmFYLAotICAgICAgICBfbGFzdENhbWVyYVksCi0gICAgICAgIF9sYXN0Q2FtZXJhQW5nbGUsCi0gICAgICAgIF9sYXN0Q2FtZXJhUmF0aW8sCi0KLSAgICAgICAgLy8gTU9VU0UgTUFOQUdFTUVOVDoKLSAgICAgICAgLy8gKioqKioqKioqKioqKioqKioKLSAgICAgICAgLy8gVGhlIG1vdXNlIHBvc2l0aW9uIHdoZW4gdGhlIHVzZXIgc3RhcnRzIGRyYWdnaW5nOgotICAgICAgICBfc3RhcnRNb3VzZVgsCi0gICAgICAgIF9zdGFydE1vdXNlWSwKLQotICAgICAgICBfaXNNb3VzZURvd24sCi0gICAgICAgIF9pc01vdmluZywKLSAgICAgICAgX2hhc0RyYWdnZWQsCi0gICAgICAgIF9kb3duU3RhcnRUaW1lLAotICAgICAgICBfbW92aW5nVGltZW91dElkOwotCi0gICAgc2lnbWEuY2xhc3Nlcy5kaXNwYXRjaGVyLmV4dGVuZCh0aGlzKTsKLQotICAgIHNpZ21hLnV0aWxzLmRvdWJsZUNsaWNrKF90YXJnZXQsICdjbGljaycsIF9kb3VibGVDbGlja0hhbmRsZXIpOwotICAgIF90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignRE9NTW91c2VTY3JvbGwnLCBfd2hlZWxIYW5kbGVyLCBmYWxzZSk7Ci0gICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXdoZWVsJywgX3doZWVsSGFuZGxlciwgZmFsc2UpOwotICAgIF90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgX21vdmVIYW5kbGVyLCBmYWxzZSk7Ci0gICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBfZG93bkhhbmRsZXIsIGZhbHNlKTsKLSAgICBfdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgX2NsaWNrSGFuZGxlciwgZmFsc2UpOwotICAgIF90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCBfb3V0SGFuZGxlciwgZmFsc2UpOwotICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBfdXBIYW5kbGVyLCBmYWxzZSk7Ci0KLQotCi0KLSAgICAvKioKLSAgICAgKiBUaGlzIG1ldGhvZCB1bmJpbmRzIGV2ZXJ5IGhhbmRsZXJzIHRoYXQgbWFrZXMgdGhlIGNhcHRvciB3b3JrLgotICAgICAqLwotICAgIHRoaXMua2lsbCA9IGZ1bmN0aW9uKCkgewotICAgICAgc2lnbWEudXRpbHMudW5iaW5kRG91YmxlQ2xpY2soX3RhcmdldCwgJ2NsaWNrJyk7Ci0gICAgICBfdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTU1vdXNlU2Nyb2xsJywgX3doZWVsSGFuZGxlcik7Ci0gICAgICBfdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNld2hlZWwnLCBfd2hlZWxIYW5kbGVyKTsKLSAgICAgIF90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgX21vdmVIYW5kbGVyKTsKLSAgICAgIF90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgX2Rvd25IYW5kbGVyKTsKLSAgICAgIF90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBfY2xpY2tIYW5kbGVyKTsKLSAgICAgIF90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCBfb3V0SGFuZGxlcik7Ci0gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgX3VwSGFuZGxlcik7Ci0gICAgfTsKLQotCi0KLQotICAgIC8vIE1PVVNFIEVWRU5UUzoKLSAgICAvLyAqKioqKioqKioqKioqCi0KLSAgICAvKioKLSAgICAgKiBUaGUgaGFuZGxlciBsaXN0ZW5pbmcgdG8gdGhlICdtb3ZlJyBtb3VzZSBldmVudC4gSXQgd2lsbCBlZmZlY3RpdmVseQotICAgICAqIGRyYWcgdGhlIGdyYXBoLgotICAgICAqCi0gICAgICogQHBhcmFtIHtldmVudH0gZSBBIG1vdXNlIGV2ZW50LgotICAgICAqLwotICAgIGZ1bmN0aW9uIF9tb3ZlSGFuZGxlcihlKSB7Ci0gICAgICB2YXIgeCwKLSAgICAgICAgICB5LAotICAgICAgICAgIHBvczsKLQotICAgICAgLy8gRGlzcGF0Y2ggZXZlbnQ6Ci0gICAgICBpZiAoX3NldHRpbmdzKCdtb3VzZUVuYWJsZWQnKSkgewotICAgICAgICBfc2VsZi5kaXNwYXRjaEV2ZW50KCdtb3VzZW1vdmUnLAotICAgICAgICAgIHNpZ21hLnV0aWxzLm1vdXNlQ29vcmRzKGUpKTsKLQotICAgICAgICBpZiAoX2lzTW91c2VEb3duKSB7Ci0gICAgICAgICAgX2lzTW92aW5nID0gdHJ1ZTsKLSAgICAgICAgICBfaGFzRHJhZ2dlZCA9IHRydWU7Ci0KLSAgICAgICAgICBpZiAoX21vdmluZ1RpbWVvdXRJZCkKLSAgICAgICAgICAgIGNsZWFyVGltZW91dChfbW92aW5nVGltZW91dElkKTsKLQotICAgICAgICAgIF9tb3ZpbmdUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgX2lzTW92aW5nID0gZmFsc2U7Ci0gICAgICAgICAgfSwgX3NldHRpbmdzKCdkcmFnVGltZW91dCcpKTsKLQotICAgICAgICAgIHNpZ21hLm1pc2MuYW5pbWF0aW9uLmtpbGxBbGwoX2NhbWVyYSk7Ci0KLSAgICAgICAgICBfY2FtZXJhLmlzTW92aW5nID0gdHJ1ZTsKLSAgICAgICAgICBwb3MgPSBfY2FtZXJhLmNhbWVyYVBvc2l0aW9uKAotICAgICAgICAgICAgc2lnbWEudXRpbHMuZ2V0WChlKSAtIF9zdGFydE1vdXNlWCwKLSAgICAgICAgICAgIHNpZ21hLnV0aWxzLmdldFkoZSkgLSBfc3RhcnRNb3VzZVksCi0gICAgICAgICAgICB0cnVlCi0gICAgICAgICAgKTsKLQotICAgICAgICAgIHggPSBfc3RhcnRDYW1lcmFYIC0gcG9zLng7Ci0gICAgICAgICAgeSA9IF9zdGFydENhbWVyYVkgLSBwb3MueTsKLQotICAgICAgICAgIGlmICh4ICE9PSBfY2FtZXJhLnggfHwgeSAhPT0gX2NhbWVyYS55KSB7Ci0gICAgICAgICAgICBfbGFzdENhbWVyYVggPSBfY2FtZXJhLng7Ci0gICAgICAgICAgICBfbGFzdENhbWVyYVkgPSBfY2FtZXJhLnk7Ci0KLSAgICAgICAgICAgIF9jYW1lcmEuZ29Ubyh7Ci0gICAgICAgICAgICAgIHg6IHgsCi0gICAgICAgICAgICAgIHk6IHkKLSAgICAgICAgICAgIH0pOwotICAgICAgICAgIH0KLQotICAgICAgICAgIGlmIChlLnByZXZlbnREZWZhdWx0KQotICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKLQotICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAndXAnIG1vdXNlIGV2ZW50LiBJdCB3aWxsIHN0b3AgZHJhZ2dpbmcgdGhlCi0gICAgICogZ3JhcGguCi0gICAgICoKLSAgICAgKiBAcGFyYW0ge2V2ZW50fSBlIEEgbW91c2UgZXZlbnQuCi0gICAgICovCi0gICAgZnVuY3Rpb24gX3VwSGFuZGxlcihlKSB7Ci0gICAgICBpZiAoX3NldHRpbmdzKCdtb3VzZUVuYWJsZWQnKSAmJiBfaXNNb3VzZURvd24pIHsKLSAgICAgICAgX2lzTW91c2VEb3duID0gZmFsc2U7Ci0gICAgICAgIGlmIChfbW92aW5nVGltZW91dElkKQotICAgICAgICAgIGNsZWFyVGltZW91dChfbW92aW5nVGltZW91dElkKTsKLQotICAgICAgICBfY2FtZXJhLmlzTW92aW5nID0gZmFsc2U7Ci0KLSAgICAgICAgdmFyIHggPSBzaWdtYS51dGlscy5nZXRYKGUpLAotICAgICAgICAgICAgeSA9IHNpZ21hLnV0aWxzLmdldFkoZSk7Ci0KLSAgICAgICAgaWYgKF9pc01vdmluZykgewotICAgICAgICAgIHNpZ21hLm1pc2MuYW5pbWF0aW9uLmtpbGxBbGwoX2NhbWVyYSk7Ci0gICAgICAgICAgc2lnbWEubWlzYy5hbmltYXRpb24uY2FtZXJhKAotICAgICAgICAgICAgX2NhbWVyYSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgeDogX2NhbWVyYS54ICsKLSAgICAgICAgICAgICAgICBfc2V0dGluZ3MoJ21vdXNlSW5lcnRpYVJhdGlvJykgKiAoX2NhbWVyYS54IC0gX2xhc3RDYW1lcmFYKSwKLSAgICAgICAgICAgICAgeTogX2NhbWVyYS55ICsKLSAgICAgICAgICAgICAgICBfc2V0dGluZ3MoJ21vdXNlSW5lcnRpYVJhdGlvJykgKiAoX2NhbWVyYS55IC0gX2xhc3RDYW1lcmFZKQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgZWFzaW5nOiAncXVhZHJhdGljT3V0JywKLSAgICAgICAgICAgICAgZHVyYXRpb246IF9zZXR0aW5ncygnbW91c2VJbmVydGlhRHVyYXRpb24nKQotICAgICAgICAgICAgfQotICAgICAgICAgICk7Ci0gICAgICAgIH0gZWxzZSBpZiAoCi0gICAgICAgICAgX3N0YXJ0TW91c2VYICE9PSB4IHx8Ci0gICAgICAgICAgX3N0YXJ0TW91c2VZICE9PSB5Ci0gICAgICAgICkKLSAgICAgICAgICBfY2FtZXJhLmdvVG8oewotICAgICAgICAgICAgeDogX2NhbWVyYS54LAotICAgICAgICAgICAgeTogX2NhbWVyYS55Ci0gICAgICAgICAgfSk7Ci0KLSAgICAgICAgX3NlbGYuZGlzcGF0Y2hFdmVudCgnbW91c2V1cCcsCi0gICAgICAgICAgc2lnbWEudXRpbHMubW91c2VDb29yZHMoZSkpOwotCi0gICAgICAgIC8vIFVwZGF0ZSBfaXNNb3ZpbmcgZmxhZzoKLSAgICAgICAgX2lzTW92aW5nID0gZmFsc2U7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAnZG93bicgbW91c2UgZXZlbnQuIEl0IHdpbGwgc3RhcnQgb2JzZXJ2aW5nCi0gICAgICogdGhlIG1vdXNlIHBvc2l0aW9uIGZvciBkcmFnZ2luZyB0aGUgZ3JhcGguCi0gICAgICoKLSAgICAgKiBAcGFyYW0ge2V2ZW50fSBlIEEgbW91c2UgZXZlbnQuCi0gICAgICovCi0gICAgZnVuY3Rpb24gX2Rvd25IYW5kbGVyKGUpIHsKLSAgICAgIGlmIChfc2V0dGluZ3MoJ21vdXNlRW5hYmxlZCcpKSB7Ci0gICAgICAgIF9zdGFydENhbWVyYVggPSBfY2FtZXJhLng7Ci0gICAgICAgIF9zdGFydENhbWVyYVkgPSBfY2FtZXJhLnk7Ci0KLSAgICAgICAgX2xhc3RDYW1lcmFYID0gX2NhbWVyYS54OwotICAgICAgICBfbGFzdENhbWVyYVkgPSBfY2FtZXJhLnk7Ci0KLSAgICAgICAgX3N0YXJ0TW91c2VYID0gc2lnbWEudXRpbHMuZ2V0WChlKTsKLSAgICAgICAgX3N0YXJ0TW91c2VZID0gc2lnbWEudXRpbHMuZ2V0WShlKTsKLQotICAgICAgICBfaGFzRHJhZ2dlZCA9IGZhbHNlOwotICAgICAgICBfZG93blN0YXJ0VGltZSA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7Ci0KLSAgICAgICAgc3dpdGNoIChlLndoaWNoKSB7Ci0gICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgLy8gTWlkZGxlIG1vdXNlIGJ1dHRvbiBwcmVzc2VkCi0gICAgICAgICAgICAvLyBEbyBub3RoaW5nLgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgLy8gUmlnaHQgbW91c2UgYnV0dG9uIHByZXNzZWQKLSAgICAgICAgICAgIF9zZWxmLmRpc3BhdGNoRXZlbnQoJ3JpZ2h0Y2xpY2snLAotICAgICAgICAgICAgICBzaWdtYS51dGlscy5tb3VzZUNvb3JkcyhlLCBfc3RhcnRNb3VzZVgsIF9zdGFydE1vdXNlWSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgLy8gY2FzZSAxOgotICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAvLyBMZWZ0IG1vdXNlIGJ1dHRvbiBwcmVzc2VkCi0gICAgICAgICAgICBfaXNNb3VzZURvd24gPSB0cnVlOwotCi0gICAgICAgICAgICBfc2VsZi5kaXNwYXRjaEV2ZW50KCdtb3VzZWRvd24nLAotICAgICAgICAgICAgICBzaWdtYS51dGlscy5tb3VzZUNvb3JkcyhlLCBfc3RhcnRNb3VzZVgsIF9zdGFydE1vdXNlWSkpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAnb3V0JyBtb3VzZSBldmVudC4gSXQgd2lsbCBqdXN0IHJlZGlzcGF0Y2gKLSAgICAgKiB0aGUgZXZlbnQuCi0gICAgICoKLSAgICAgKiBAcGFyYW0ge2V2ZW50fSBlIEEgbW91c2UgZXZlbnQuCi0gICAgICovCi0gICAgZnVuY3Rpb24gX291dEhhbmRsZXIoZSkgewotICAgICAgaWYgKF9zZXR0aW5ncygnbW91c2VFbmFibGVkJykpCi0gICAgICAgIF9zZWxmLmRpc3BhdGNoRXZlbnQoJ21vdXNlb3V0Jyk7Ci0gICAgfQotCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAnY2xpY2snIG1vdXNlIGV2ZW50LiBJdCB3aWxsIHJlZGlzcGF0Y2ggdGhlCi0gICAgICogY2xpY2sgZXZlbnQsIGJ1dCB3aXRoIG5vcm1hbGl6ZWQgWCBhbmQgWSBjb29yZGluYXRlcy4KLSAgICAgKgotICAgICAqIEBwYXJhbSB7ZXZlbnR9IGUgQSBtb3VzZSBldmVudC4KLSAgICAgKi8KLSAgICBmdW5jdGlvbiBfY2xpY2tIYW5kbGVyKGUpIHsKLSAgICAgIGlmIChfc2V0dGluZ3MoJ21vdXNlRW5hYmxlZCcpKSB7Ci0gICAgICAgIHZhciBldmVudCA9IHNpZ21hLnV0aWxzLm1vdXNlQ29vcmRzKGUpOwotICAgICAgICBldmVudC5pc0RyYWdnaW5nID0KLSAgICAgICAgICAoKChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSBfZG93blN0YXJ0VGltZSkgPiAxMDApICYmIF9oYXNEcmFnZ2VkOwotICAgICAgICBfc2VsZi5kaXNwYXRjaEV2ZW50KCdjbGljaycsIGV2ZW50KTsKLSAgICAgIH0KLQotICAgICAgaWYgKGUucHJldmVudERlZmF1bHQpCi0gICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICAgIGVsc2UKLSAgICAgICAgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOwotCi0gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIC8qKgotICAgICAqIFRoZSBoYW5kbGVyIGxpc3RlbmluZyB0byB0aGUgZG91YmxlIGNsaWNrIGN1c3RvbSBldmVudC4gSXQgd2lsbAotICAgICAqIGJhc2ljYWxseSB6b29tIGludG8gdGhlIGdyYXBoLgotICAgICAqCi0gICAgICogQHBhcmFtIHtldmVudH0gZSBBIG1vdXNlIGV2ZW50LgotICAgICAqLwotICAgIGZ1bmN0aW9uIF9kb3VibGVDbGlja0hhbmRsZXIoZSkgewotICAgICAgdmFyIHBvcywKLSAgICAgICAgICByYXRpbywKLSAgICAgICAgICBhbmltYXRpb247Ci0KLSAgICAgIGlmIChfc2V0dGluZ3MoJ21vdXNlRW5hYmxlZCcpKSB7Ci0gICAgICAgIHJhdGlvID0gMSAvIF9zZXR0aW5ncygnZG91YmxlQ2xpY2tab29taW5nUmF0aW8nKTsKLQotICAgICAgICBfc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVjbGljaycsCi0gICAgICAgICAgICBzaWdtYS51dGlscy5tb3VzZUNvb3JkcyhlLCBfc3RhcnRNb3VzZVgsIF9zdGFydE1vdXNlWSkpOwotCi0gICAgICAgIGlmIChfc2V0dGluZ3MoJ2RvdWJsZUNsaWNrRW5hYmxlZCcpKSB7Ci0gICAgICAgICAgcG9zID0gX2NhbWVyYS5jYW1lcmFQb3NpdGlvbigKLSAgICAgICAgICAgIHNpZ21hLnV0aWxzLmdldFgoZSkgLSBzaWdtYS51dGlscy5nZXRDZW50ZXIoZSkueCwKLSAgICAgICAgICAgIHNpZ21hLnV0aWxzLmdldFkoZSkgLSBzaWdtYS51dGlscy5nZXRDZW50ZXIoZSkueSwKLSAgICAgICAgICAgIHRydWUKLSAgICAgICAgICApOwotCi0gICAgICAgICAgYW5pbWF0aW9uID0gewotICAgICAgICAgICAgZHVyYXRpb246IF9zZXR0aW5ncygnZG91YmxlQ2xpY2tab29tRHVyYXRpb24nKQotICAgICAgICAgIH07Ci0KLSAgICAgICAgICBzaWdtYS51dGlscy56b29tVG8oX2NhbWVyYSwgcG9zLngsIHBvcy55LCByYXRpbywgYW5pbWF0aW9uKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChlLnByZXZlbnREZWZhdWx0KQotICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKLQotICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAnd2hlZWwnIG1vdXNlIGV2ZW50LiBJdCB3aWxsIGJhc2ljYWxseSB6b29tCi0gICAgICogaW4gb3Igbm90IGludG8gdGhlIGdyYXBoLgotICAgICAqCi0gICAgICogQHBhcmFtIHtldmVudH0gZSBBIG1vdXNlIGV2ZW50LgotICAgICAqLwotICAgIGZ1bmN0aW9uIF93aGVlbEhhbmRsZXIoZSkgewotICAgICAgdmFyIHBvcywKLSAgICAgICAgICByYXRpbywKLSAgICAgICAgICBhbmltYXRpb247Ci0KLSAgICAgIGlmIChfc2V0dGluZ3MoJ21vdXNlRW5hYmxlZCcpICYmIF9zZXR0aW5ncygnbW91c2VXaGVlbEVuYWJsZWQnKSkgewotICAgICAgICByYXRpbyA9IHNpZ21hLnV0aWxzLmdldERlbHRhKGUpID4gMCA/Ci0gICAgICAgICAgMSAvIF9zZXR0aW5ncygnem9vbWluZ1JhdGlvJykgOgotICAgICAgICAgIF9zZXR0aW5ncygnem9vbWluZ1JhdGlvJyk7Ci0KLSAgICAgICAgcG9zID0gX2NhbWVyYS5jYW1lcmFQb3NpdGlvbigKLSAgICAgICAgICBzaWdtYS51dGlscy5nZXRYKGUpIC0gc2lnbWEudXRpbHMuZ2V0Q2VudGVyKGUpLngsCi0gICAgICAgICAgc2lnbWEudXRpbHMuZ2V0WShlKSAtIHNpZ21hLnV0aWxzLmdldENlbnRlcihlKS55LAotICAgICAgICAgIHRydWUKLSAgICAgICAgKTsKLQotICAgICAgICBhbmltYXRpb24gPSB7Ci0gICAgICAgICAgZHVyYXRpb246IF9zZXR0aW5ncygnbW91c2Vab29tRHVyYXRpb24nKQotICAgICAgICB9OwotCi0gICAgICAgIHNpZ21hLnV0aWxzLnpvb21UbyhfY2FtZXJhLCBwb3MueCwgcG9zLnksIHJhdGlvLCBhbmltYXRpb24pOwotCi0gICAgICAgIGlmIChlLnByZXZlbnREZWZhdWx0KQotICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKLQotICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgfQotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FwdG9ycycpOwotCi0gIC8qKgotICAgKiBUaGUgdXNlciBpbnB1dHMgZGVmYXVsdCBjYXB0b3IuIEl0IGRlYWxzIHdpdGggbW91c2UgZXZlbnRzLCBrZXlib2FyZHMKLSAgICogZXZlbnRzIGFuZCB0b3VjaCBldmVudHMuCi0gICAqCi0gICAqIEBwYXJhbSAge0RPTUVsZW1lbnR9ICAgdGFyZ2V0ICAgVGhlIERPTSBlbGVtZW50IHdoZXJlIHRoZSBsaXN0ZW5lcnMgd2lsbCBiZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdW5kLgotICAgKiBAcGFyYW0gIHtjYW1lcmF9ICAgICAgIGNhbWVyYSAgIFRoZSBjYW1lcmEgcmVsYXRlZCB0byB0aGUgdGFyZ2V0LgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9IHNldHRpbmdzIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICogQHJldHVybiB7c2lnbWEuY2FwdG9yfSAgICAgICAgICBUaGUgZnJlc2ggbmV3IGNhcHRvciBpbnN0YW5jZS4KLSAgICovCi0gIHNpZ21hLmNhcHRvcnMudG91Y2ggPSBmdW5jdGlvbih0YXJnZXQsIGNhbWVyYSwgc2V0dGluZ3MpIHsKLSAgICB2YXIgX3NlbGYgPSB0aGlzLAotICAgICAgICBfdGFyZ2V0ID0gdGFyZ2V0LAotICAgICAgICBfY2FtZXJhID0gY2FtZXJhLAotICAgICAgICBfc2V0dGluZ3MgPSBzZXR0aW5ncywKLQotICAgICAgICAvLyBDQU1FUkEgTUFOQUdFTUVOVDoKLSAgICAgICAgLy8gKioqKioqKioqKioqKioqKioqCi0gICAgICAgIC8vIFRoZSBjYW1lcmEgcG9zaXRpb24gd2hlbiB0aGUgdXNlciBzdGFydHMgZHJhZ2dpbmc6Ci0gICAgICAgIF9zdGFydENhbWVyYVgsCi0gICAgICAgIF9zdGFydENhbWVyYVksCi0gICAgICAgIF9zdGFydENhbWVyYUFuZ2xlLAotICAgICAgICBfc3RhcnRDYW1lcmFSYXRpbywKLQotICAgICAgICAvLyBUaGUgbGF0ZXN0IHN0YWdlIHBvc2l0aW9uOgotICAgICAgICBfbGFzdENhbWVyYVgsCi0gICAgICAgIF9sYXN0Q2FtZXJhWSwKLSAgICAgICAgX2xhc3RDYW1lcmFBbmdsZSwKLSAgICAgICAgX2xhc3RDYW1lcmFSYXRpbywKLQotICAgICAgICAvLyBUT1VDSCBNQU5BR0VNRU5UOgotICAgICAgICAvLyAqKioqKioqKioqKioqKioqKgotICAgICAgICAvLyBUb3VjaGVzIHRoYXQgYXJlIGRvd246Ci0gICAgICAgIF9kb3duVG91Y2hlcyA9IFtdLAotCi0gICAgICAgIF9zdGFydFRvdWNoWDAsCi0gICAgICAgIF9zdGFydFRvdWNoWTAsCi0gICAgICAgIF9zdGFydFRvdWNoWDEsCi0gICAgICAgIF9zdGFydFRvdWNoWTEsCi0gICAgICAgIF9zdGFydFRvdWNoQW5nbGUsCi0gICAgICAgIF9zdGFydFRvdWNoRGlzdGFuY2UsCi0KLSAgICAgICAgX3RvdWNoTW9kZSwKLQotICAgICAgICBfaXNNb3ZpbmcsCi0gICAgICAgIF9kb3VibGVUYXAsCi0gICAgICAgIF9tb3ZpbmdUaW1lb3V0SWQ7Ci0KLSAgICBzaWdtYS5jbGFzc2VzLmRpc3BhdGNoZXIuZXh0ZW5kKHRoaXMpOwotCi0gICAgc2lnbWEudXRpbHMuZG91YmxlQ2xpY2soX3RhcmdldCwgJ3RvdWNoc3RhcnQnLCBfZG91YmxlVGFwSGFuZGxlcik7Ci0gICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgX2hhbmRsZVN0YXJ0LCBmYWxzZSk7Ci0gICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIF9oYW5kbGVMZWF2ZSwgZmFsc2UpOwotICAgIF90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hjYW5jZWwnLCBfaGFuZGxlTGVhdmUsIGZhbHNlKTsKLSAgICBfdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobGVhdmUnLCBfaGFuZGxlTGVhdmUsIGZhbHNlKTsKLSAgICBfdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIF9oYW5kbGVNb3ZlLCBmYWxzZSk7Ci0KLSAgICBmdW5jdGlvbiBwb3NpdGlvbihlKSB7Ci0gICAgICB2YXIgb2Zmc2V0ID0gc2lnbWEudXRpbHMuZ2V0T2Zmc2V0KF90YXJnZXQpOwotCi0gICAgICByZXR1cm4gewotICAgICAgICB4OiBlLnBhZ2VYIC0gb2Zmc2V0LmxlZnQsCi0gICAgICAgIHk6IGUucGFnZVkgLSBvZmZzZXQudG9wCi0gICAgICB9OwotICAgIH0KLQotICAgIC8qKgotICAgICAqIFRoaXMgbWV0aG9kIHVuYmluZHMgZXZlcnkgaGFuZGxlcnMgdGhhdCBtYWtlcyB0aGUgY2FwdG9yIHdvcmsuCi0gICAgICovCi0gICAgdGhpcy5raWxsID0gZnVuY3Rpb24oKSB7Ci0gICAgICBzaWdtYS51dGlscy51bmJpbmREb3VibGVDbGljayhfdGFyZ2V0LCAndG91Y2hzdGFydCcpOwotICAgICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgX2hhbmRsZVN0YXJ0KTsKLSAgICAgIF90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBfaGFuZGxlTGVhdmUpOwotICAgICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGNhbmNlbCcsIF9oYW5kbGVMZWF2ZSk7Ci0gICAgICBfdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobGVhdmUnLCBfaGFuZGxlTGVhdmUpOwotICAgICAgX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBfaGFuZGxlTW92ZSk7Ci0gICAgfTsKLQotICAgIC8vIFRPVUNIIEVWRU5UUzoKLSAgICAvLyAqKioqKioqKioqKioqCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAndG91Y2hzdGFydCcgZXZlbnQuIEl0IHdpbGwgc2V0IHRoZSB0b3VjaAotICAgICAqIG1vZGUgKCJfdG91Y2hNb2RlIikgYW5kIHN0YXJ0IG9ic2VydmluZyB0aGUgdXNlciB0b3VjaCBtb3Zlcy4KLSAgICAgKgotICAgICAqIEBwYXJhbSB7ZXZlbnR9IGUgQSB0b3VjaCBldmVudC4KLSAgICAgKi8KLSAgICBmdW5jdGlvbiBfaGFuZGxlU3RhcnQoZSkgewotICAgICAgaWYgKF9zZXR0aW5ncygndG91Y2hFbmFibGVkJykpIHsKLSAgICAgICAgdmFyIHgwLAotICAgICAgICAgICAgeDEsCi0gICAgICAgICAgICB5MCwKLSAgICAgICAgICAgIHkxLAotICAgICAgICAgICAgcG9zMCwKLSAgICAgICAgICAgIHBvczE7Ci0KLSAgICAgICAgX2Rvd25Ub3VjaGVzID0gZS50b3VjaGVzOwotCi0gICAgICAgIHN3aXRjaCAoX2Rvd25Ub3VjaGVzLmxlbmd0aCkgewotICAgICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIF9jYW1lcmEuaXNNb3ZpbmcgPSB0cnVlOwotICAgICAgICAgICAgX3RvdWNoTW9kZSA9IDE7Ci0KLSAgICAgICAgICAgIF9zdGFydENhbWVyYVggPSBfY2FtZXJhLng7Ci0gICAgICAgICAgICBfc3RhcnRDYW1lcmFZID0gX2NhbWVyYS55OwotCi0gICAgICAgICAgICBfbGFzdENhbWVyYVggPSBfY2FtZXJhLng7Ci0gICAgICAgICAgICBfbGFzdENhbWVyYVkgPSBfY2FtZXJhLnk7Ci0KLSAgICAgICAgICAgIHBvczAgPSBwb3NpdGlvbihfZG93blRvdWNoZXNbMF0pOwotICAgICAgICAgICAgX3N0YXJ0VG91Y2hYMCA9IHBvczAueDsKLSAgICAgICAgICAgIF9zdGFydFRvdWNoWTAgPSBwb3MwLnk7Ci0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIF9jYW1lcmEuaXNNb3ZpbmcgPSB0cnVlOwotICAgICAgICAgICAgX3RvdWNoTW9kZSA9IDI7Ci0KLSAgICAgICAgICAgIHBvczAgPSBwb3NpdGlvbihfZG93blRvdWNoZXNbMF0pOwotICAgICAgICAgICAgcG9zMSA9IHBvc2l0aW9uKF9kb3duVG91Y2hlc1sxXSk7Ci0gICAgICAgICAgICB4MCA9IHBvczAueDsKLSAgICAgICAgICAgIHkwID0gcG9zMC55OwotICAgICAgICAgICAgeDEgPSBwb3MxLng7Ci0gICAgICAgICAgICB5MSA9IHBvczEueTsKLQotICAgICAgICAgICAgX2xhc3RDYW1lcmFYID0gX2NhbWVyYS54OwotICAgICAgICAgICAgX2xhc3RDYW1lcmFZID0gX2NhbWVyYS55OwotCi0gICAgICAgICAgICBfc3RhcnRDYW1lcmFBbmdsZSA9IF9jYW1lcmEuYW5nbGU7Ci0gICAgICAgICAgICBfc3RhcnRDYW1lcmFSYXRpbyA9IF9jYW1lcmEucmF0aW87Ci0KLSAgICAgICAgICAgIF9zdGFydENhbWVyYVggPSBfY2FtZXJhLng7Ci0gICAgICAgICAgICBfc3RhcnRDYW1lcmFZID0gX2NhbWVyYS55OwotCi0gICAgICAgICAgICBfc3RhcnRUb3VjaFgwID0geDA7Ci0gICAgICAgICAgICBfc3RhcnRUb3VjaFkwID0geTA7Ci0gICAgICAgICAgICBfc3RhcnRUb3VjaFgxID0geDE7Ci0gICAgICAgICAgICBfc3RhcnRUb3VjaFkxID0geTE7Ci0KLSAgICAgICAgICAgIF9zdGFydFRvdWNoQW5nbGUgPSBNYXRoLmF0YW4yKAotICAgICAgICAgICAgICBfc3RhcnRUb3VjaFkxIC0gX3N0YXJ0VG91Y2hZMCwKLSAgICAgICAgICAgICAgX3N0YXJ0VG91Y2hYMSAtIF9zdGFydFRvdWNoWDAKLSAgICAgICAgICAgICk7Ci0gICAgICAgICAgICBfc3RhcnRUb3VjaERpc3RhbmNlID0gTWF0aC5zcXJ0KAotICAgICAgICAgICAgICAoX3N0YXJ0VG91Y2hZMSAtIF9zdGFydFRvdWNoWTApICoKLSAgICAgICAgICAgICAgICAoX3N0YXJ0VG91Y2hZMSAtIF9zdGFydFRvdWNoWTApICsKLSAgICAgICAgICAgICAgKF9zdGFydFRvdWNoWDEgLSBfc3RhcnRUb3VjaFgwKSAqCi0gICAgICAgICAgICAgICAgKF9zdGFydFRvdWNoWDEgLSBfc3RhcnRUb3VjaFgwKQotICAgICAgICAgICAgKTsKLQotICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLyoqCi0gICAgICogVGhlIGhhbmRsZXIgbGlzdGVuaW5nIHRvIHRoZSAndG91Y2hlbmQnLCAndG91Y2hjYW5jZWwnIGFuZCAndG91Y2hsZWF2ZScKLSAgICAgKiBldmVudC4gSXQgd2lsbCB1cGRhdGUgdGhlIHRvdWNoIG1vZGUgaWYgdGhlcmUgYXJlIHN0aWxsIGF0IGxlYXN0IG9uZQotICAgICAqIGZpbmdlciwgYW5kIHN0b3AgZHJhZ2dpbmcgZWxzZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSB7ZXZlbnR9IGUgQSB0b3VjaCBldmVudC4KLSAgICAgKi8KLSAgICBmdW5jdGlvbiBfaGFuZGxlTGVhdmUoZSkgewotICAgICAgaWYgKF9zZXR0aW5ncygndG91Y2hFbmFibGVkJykpIHsKLSAgICAgICAgX2Rvd25Ub3VjaGVzID0gZS50b3VjaGVzOwotICAgICAgICB2YXIgaW5lcnRpYVJhdGlvID0gX3NldHRpbmdzKCd0b3VjaEluZXJ0aWFSYXRpbycpOwotCi0gICAgICAgIGlmIChfbW92aW5nVGltZW91dElkKSB7Ci0gICAgICAgICAgX2lzTW92aW5nID0gZmFsc2U7Ci0gICAgICAgICAgY2xlYXJUaW1lb3V0KF9tb3ZpbmdUaW1lb3V0SWQpOwotICAgICAgICB9Ci0KLSAgICAgICAgc3dpdGNoIChfdG91Y2hNb2RlKSB7Ci0gICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaWYgKGUudG91Y2hlcy5sZW5ndGggPT09IDEpIHsKLSAgICAgICAgICAgICAgX2hhbmRsZVN0YXJ0KGUpOwotCi0gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCi0gICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgX2NhbWVyYS5pc01vdmluZyA9IGZhbHNlOwotICAgICAgICAgICAgX3NlbGYuZGlzcGF0Y2hFdmVudCgnc3RvcERyYWcnKTsKLQotICAgICAgICAgICAgaWYgKF9pc01vdmluZykgewotICAgICAgICAgICAgICBfZG91YmxlVGFwID0gZmFsc2U7Ci0gICAgICAgICAgICAgIHNpZ21hLm1pc2MuYW5pbWF0aW9uLmNhbWVyYSgKLSAgICAgICAgICAgICAgICBfY2FtZXJhLAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgIHg6IF9jYW1lcmEueCArCi0gICAgICAgICAgICAgICAgICAgIGluZXJ0aWFSYXRpbyAqIChfY2FtZXJhLnggLSBfbGFzdENhbWVyYVgpLAotICAgICAgICAgICAgICAgICAgeTogX2NhbWVyYS55ICsKLSAgICAgICAgICAgICAgICAgICAgaW5lcnRpYVJhdGlvICogKF9jYW1lcmEueSAtIF9sYXN0Q2FtZXJhWSkKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgIGVhc2luZzogJ3F1YWRyYXRpY091dCcsCi0gICAgICAgICAgICAgICAgICBkdXJhdGlvbjogX3NldHRpbmdzKCd0b3VjaEluZXJ0aWFEdXJhdGlvbicpCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICApOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBfaXNNb3ZpbmcgPSBmYWxzZTsKLSAgICAgICAgICAgIF90b3VjaE1vZGUgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvKioKLSAgICAgKiBUaGUgaGFuZGxlciBsaXN0ZW5pbmcgdG8gdGhlICd0b3VjaG1vdmUnIGV2ZW50LiBJdCB3aWxsIGVmZmVjdGl2ZWx5IGRyYWcKLSAgICAgKiB0aGUgZ3JhcGgsIGFuZCBldmVudHVhbGx5IHpvb21zIGFuZCB0dXJuIGl0IGlmIHRoZSB1c2VyIGlzIHVzaW5nIHR3bwotICAgICAqIGZpbmdlcnMuCi0gICAgICoKLSAgICAgKiBAcGFyYW0ge2V2ZW50fSBlIEEgdG91Y2ggZXZlbnQuCi0gICAgICovCi0gICAgZnVuY3Rpb24gX2hhbmRsZU1vdmUoZSkgewotICAgICAgaWYgKCFfZG91YmxlVGFwICYmIF9zZXR0aW5ncygndG91Y2hFbmFibGVkJykpIHsKLSAgICAgICAgdmFyIHgwLAotICAgICAgICAgICAgeDEsCi0gICAgICAgICAgICB5MCwKLSAgICAgICAgICAgIHkxLAotICAgICAgICAgICAgY29zLAotICAgICAgICAgICAgc2luLAotICAgICAgICAgICAgZW5kLAotICAgICAgICAgICAgcG9zMCwKLSAgICAgICAgICAgIHBvczEsCi0gICAgICAgICAgICBkaWZmLAotICAgICAgICAgICAgc3RhcnQsCi0gICAgICAgICAgICBkQW5nbGUsCi0gICAgICAgICAgICBkUmF0aW8sCi0gICAgICAgICAgICBuZXdTdGFnZVgsCi0gICAgICAgICAgICBuZXdTdGFnZVksCi0gICAgICAgICAgICBuZXdTdGFnZVJhdGlvLAotICAgICAgICAgICAgbmV3U3RhZ2VBbmdsZTsKLQotICAgICAgICBfZG93blRvdWNoZXMgPSBlLnRvdWNoZXM7Ci0gICAgICAgIF9pc01vdmluZyA9IHRydWU7Ci0KLSAgICAgICAgaWYgKF9tb3ZpbmdUaW1lb3V0SWQpCi0gICAgICAgICAgY2xlYXJUaW1lb3V0KF9tb3ZpbmdUaW1lb3V0SWQpOwotCi0gICAgICAgIF9tb3ZpbmdUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgIF9pc01vdmluZyA9IGZhbHNlOwotICAgICAgICB9LCBfc2V0dGluZ3MoJ2RyYWdUaW1lb3V0JykpOwotCi0gICAgICAgIHN3aXRjaCAoX3RvdWNoTW9kZSkgewotICAgICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIHBvczAgPSBwb3NpdGlvbihfZG93blRvdWNoZXNbMF0pOwotICAgICAgICAgICAgeDAgPSBwb3MwLng7Ci0gICAgICAgICAgICB5MCA9IHBvczAueTsKLQotICAgICAgICAgICAgZGlmZiA9IF9jYW1lcmEuY2FtZXJhUG9zaXRpb24oCi0gICAgICAgICAgICAgIHgwIC0gX3N0YXJ0VG91Y2hYMCwKLSAgICAgICAgICAgICAgeTAgLSBfc3RhcnRUb3VjaFkwLAotICAgICAgICAgICAgICB0cnVlCi0gICAgICAgICAgICApOwotCi0gICAgICAgICAgICBuZXdTdGFnZVggPSBfc3RhcnRDYW1lcmFYIC0gZGlmZi54OwotICAgICAgICAgICAgbmV3U3RhZ2VZID0gX3N0YXJ0Q2FtZXJhWSAtIGRpZmYueTsKLQotICAgICAgICAgICAgaWYgKG5ld1N0YWdlWCAhPT0gX2NhbWVyYS54IHx8IG5ld1N0YWdlWSAhPT0gX2NhbWVyYS55KSB7Ci0gICAgICAgICAgICAgIF9sYXN0Q2FtZXJhWCA9IF9jYW1lcmEueDsKLSAgICAgICAgICAgICAgX2xhc3RDYW1lcmFZID0gX2NhbWVyYS55OwotCi0gICAgICAgICAgICAgIF9jYW1lcmEuZ29Ubyh7Ci0gICAgICAgICAgICAgICAgeDogbmV3U3RhZ2VYLAotICAgICAgICAgICAgICAgIHk6IG5ld1N0YWdlWQotICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICBfc2VsZi5kaXNwYXRjaEV2ZW50KCdtb3VzZW1vdmUnLAotICAgICAgICAgICAgICAgIHNpZ21hLnV0aWxzLm1vdXNlQ29vcmRzKGUsIHBvczAueCwgcG9zMC55KSk7Ci0KLSAgICAgICAgICAgICAgX3NlbGYuZGlzcGF0Y2hFdmVudCgnZHJhZycpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgcG9zMCA9IHBvc2l0aW9uKF9kb3duVG91Y2hlc1swXSk7Ci0gICAgICAgICAgICBwb3MxID0gcG9zaXRpb24oX2Rvd25Ub3VjaGVzWzFdKTsKLSAgICAgICAgICAgIHgwID0gcG9zMC54OwotICAgICAgICAgICAgeTAgPSBwb3MwLnk7Ci0gICAgICAgICAgICB4MSA9IHBvczEueDsKLSAgICAgICAgICAgIHkxID0gcG9zMS55OwotCi0gICAgICAgICAgICBzdGFydCA9IF9jYW1lcmEuY2FtZXJhUG9zaXRpb24oCi0gICAgICAgICAgICAgIChfc3RhcnRUb3VjaFgwICsgX3N0YXJ0VG91Y2hYMSkgLyAyIC0KLSAgICAgICAgICAgICAgICBzaWdtYS51dGlscy5nZXRDZW50ZXIoZSkueCwKLSAgICAgICAgICAgICAgKF9zdGFydFRvdWNoWTAgKyBfc3RhcnRUb3VjaFkxKSAvIDIgLQotICAgICAgICAgICAgICAgIHNpZ21hLnV0aWxzLmdldENlbnRlcihlKS55LAotICAgICAgICAgICAgICB0cnVlCi0gICAgICAgICAgICApOwotICAgICAgICAgICAgZW5kID0gX2NhbWVyYS5jYW1lcmFQb3NpdGlvbigKLSAgICAgICAgICAgICAgKHgwICsgeDEpIC8gMiAtIHNpZ21hLnV0aWxzLmdldENlbnRlcihlKS54LAotICAgICAgICAgICAgICAoeTAgKyB5MSkgLyAyIC0gc2lnbWEudXRpbHMuZ2V0Q2VudGVyKGUpLnksCi0gICAgICAgICAgICAgIHRydWUKLSAgICAgICAgICAgICk7Ci0KLSAgICAgICAgICAgIGRBbmdsZSA9IE1hdGguYXRhbjIoeTEgLSB5MCwgeDEgLSB4MCkgLSBfc3RhcnRUb3VjaEFuZ2xlOwotICAgICAgICAgICAgZFJhdGlvID0gTWF0aC5zcXJ0KAotICAgICAgICAgICAgICAoeTEgLSB5MCkgKiAoeTEgLSB5MCkgKyAoeDEgLSB4MCkgKiAoeDEgLSB4MCkKLSAgICAgICAgICAgICkgLyBfc3RhcnRUb3VjaERpc3RhbmNlOwotCi0gICAgICAgICAgICAvLyBUcmFuc2xhdGlvbjoKLSAgICAgICAgICAgIHgwID0gc3RhcnQueDsKLSAgICAgICAgICAgIHkwID0gc3RhcnQueTsKLQotICAgICAgICAgICAgLy8gSG9tb3RoZXRpYyB0cmFuc2Zvcm1hdGlvbjoKLSAgICAgICAgICAgIG5ld1N0YWdlUmF0aW8gPSBfc3RhcnRDYW1lcmFSYXRpbyAvIGRSYXRpbzsKLSAgICAgICAgICAgIHgwID0geDAgKiBkUmF0aW87Ci0gICAgICAgICAgICB5MCA9IHkwICogZFJhdGlvOwotCi0gICAgICAgICAgICAvLyBSb3RhdGlvbjoKLSAgICAgICAgICAgIG5ld1N0YWdlQW5nbGUgPSBfc3RhcnRDYW1lcmFBbmdsZSAtIGRBbmdsZTsKLSAgICAgICAgICAgIGNvcyA9IE1hdGguY29zKC1kQW5nbGUpOwotICAgICAgICAgICAgc2luID0gTWF0aC5zaW4oLWRBbmdsZSk7Ci0gICAgICAgICAgICB4MSA9IHgwICogY29zICsgeTAgKiBzaW47Ci0gICAgICAgICAgICB5MSA9IHkwICogY29zIC0geDAgKiBzaW47Ci0gICAgICAgICAgICB4MCA9IHgxOwotICAgICAgICAgICAgeTAgPSB5MTsKLQotICAgICAgICAgICAgLy8gRmluYWxpemU6Ci0gICAgICAgICAgICBuZXdTdGFnZVggPSB4MCAtIGVuZC54ICsgX3N0YXJ0Q2FtZXJhWDsKLSAgICAgICAgICAgIG5ld1N0YWdlWSA9IHkwIC0gZW5kLnkgKyBfc3RhcnRDYW1lcmFZOwotCi0gICAgICAgICAgICBpZiAoCi0gICAgICAgICAgICAgIG5ld1N0YWdlUmF0aW8gIT09IF9jYW1lcmEucmF0aW8gfHwKLSAgICAgICAgICAgICAgbmV3U3RhZ2VBbmdsZSAhPT0gX2NhbWVyYS5hbmdsZSB8fAotICAgICAgICAgICAgICBuZXdTdGFnZVggIT09IF9jYW1lcmEueCB8fAotICAgICAgICAgICAgICBuZXdTdGFnZVkgIT09IF9jYW1lcmEueQotICAgICAgICAgICAgKSB7Ci0gICAgICAgICAgICAgIF9sYXN0Q2FtZXJhWCA9IF9jYW1lcmEueDsKLSAgICAgICAgICAgICAgX2xhc3RDYW1lcmFZID0gX2NhbWVyYS55OwotICAgICAgICAgICAgICBfbGFzdENhbWVyYUFuZ2xlID0gX2NhbWVyYS5hbmdsZTsKLSAgICAgICAgICAgICAgX2xhc3RDYW1lcmFSYXRpbyA9IF9jYW1lcmEucmF0aW87Ci0KLSAgICAgICAgICAgICAgX2NhbWVyYS5nb1RvKHsKLSAgICAgICAgICAgICAgICB4OiBuZXdTdGFnZVgsCi0gICAgICAgICAgICAgICAgeTogbmV3U3RhZ2VZLAotICAgICAgICAgICAgICAgIGFuZ2xlOiBuZXdTdGFnZUFuZ2xlLAotICAgICAgICAgICAgICAgIHJhdGlvOiBuZXdTdGFnZVJhdGlvCi0gICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgIF9zZWxmLmRpc3BhdGNoRXZlbnQoJ2RyYWcnKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvKioKLSAgICAgKiBUaGUgaGFuZGxlciBsaXN0ZW5pbmcgdG8gdGhlIGRvdWJsZSB0YXAgY3VzdG9tIGV2ZW50LiBJdCB3aWxsCi0gICAgICogYmFzaWNhbGx5IHpvb20gaW50byB0aGUgZ3JhcGguCi0gICAgICoKLSAgICAgKiBAcGFyYW0ge2V2ZW50fSBlIEEgdG91Y2ggZXZlbnQuCi0gICAgICovCi0gICAgZnVuY3Rpb24gX2RvdWJsZVRhcEhhbmRsZXIoZSkgewotICAgICAgdmFyIHBvcywKLSAgICAgICAgICByYXRpbywKLSAgICAgICAgICBhbmltYXRpb247Ci0KLSAgICAgIGlmIChlLnRvdWNoZXMgJiYgZS50b3VjaGVzLmxlbmd0aCA9PT0gMSAmJiBfc2V0dGluZ3MoJ3RvdWNoRW5hYmxlZCcpKSB7Ci0gICAgICAgIF9kb3VibGVUYXAgPSB0cnVlOwotCi0gICAgICAgIHJhdGlvID0gMSAvIF9zZXR0aW5ncygnZG91YmxlQ2xpY2tab29taW5nUmF0aW8nKTsKLQotICAgICAgICBwb3MgPSBwb3NpdGlvbihlLnRvdWNoZXNbMF0pOwotICAgICAgICBfc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVjbGljaycsCi0gICAgICAgICAgc2lnbWEudXRpbHMubW91c2VDb29yZHMoZSwgcG9zLngsIHBvcy55KSk7Ci0KLSAgICAgICAgaWYgKF9zZXR0aW5ncygnZG91YmxlQ2xpY2tFbmFibGVkJykpIHsKLSAgICAgICAgICBwb3MgPSBfY2FtZXJhLmNhbWVyYVBvc2l0aW9uKAotICAgICAgICAgICAgcG9zLnggLSBzaWdtYS51dGlscy5nZXRDZW50ZXIoZSkueCwKLSAgICAgICAgICAgIHBvcy55IC0gc2lnbWEudXRpbHMuZ2V0Q2VudGVyKGUpLnksCi0gICAgICAgICAgICB0cnVlCi0gICAgICAgICAgKTsKLQotICAgICAgICAgIGFuaW1hdGlvbiA9IHsKLSAgICAgICAgICAgIGR1cmF0aW9uOiBfc2V0dGluZ3MoJ2RvdWJsZUNsaWNrWm9vbUR1cmF0aW9uJyksCi0gICAgICAgICAgICBvbkNvbXBsZXRlOiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgX2RvdWJsZVRhcCA9IGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICAgIH07Ci0KLSAgICAgICAgICBzaWdtYS51dGlscy56b29tVG8oX2NhbWVyYSwgcG9zLngsIHBvcy55LCByYXRpbywgYW5pbWF0aW9uKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChlLnByZXZlbnREZWZhdWx0KQotICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKLQotICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgfQotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIGlmICh0eXBlb2YgY29ucmFkID09PSAndW5kZWZpbmVkJykKLSAgICB0aHJvdyAnY29ucmFkIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgLy8gSW5pdGlhbGl6ZSBwYWNrYWdlczoKLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5yZW5kZXJlcnMnKTsKLQotICAvKioKLSAgICogVGhpcyBmdW5jdGlvbiBpcyB0aGUgY29uc3RydWN0b3Igb2YgdGhlIGNhbnZhcyBzaWdtYSdzIHJlbmRlcmVyLgotICAgKgotICAgKiBAcGFyYW0gIHtzaWdtYS5jbGFzc2VzLmdyYXBofSAgICAgICAgICAgIGdyYXBoICAgIFRoZSBncmFwaCB0byByZW5kZXIuCi0gICAqIEBwYXJhbSAge3NpZ21hLmNsYXNzZXMuY2FtZXJhfSAgICAgICAgICAgY2FtZXJhICAgVGhlIGNhbWVyYS4KLSAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgc2V0dGluZ3MgVGhlIHNpZ21hIGluc3RhbmNlIHNldHRpbmdzCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uLgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICBvYmplY3QgICBUaGUgb3B0aW9ucyBvYmplY3QuCi0gICAqIEByZXR1cm4ge3NpZ21hLnJlbmRlcmVycy5jYW52YXN9ICAgICAgICAgIFRoZSByZW5kZXJlciBpbnN0YW5jZS4KLSAgICovCi0gIHNpZ21hLnJlbmRlcmVycy5jYW52YXMgPSBmdW5jdGlvbihncmFwaCwgY2FtZXJhLCBzZXR0aW5ncywgb3B0aW9ucykgewotICAgIGlmICh0eXBlb2Ygb3B0aW9ucyAhPT0gJ29iamVjdCcpCi0gICAgICB0aHJvdyAnc2lnbWEucmVuZGVyZXJzLmNhbnZhczogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICBpZiAoIShvcHRpb25zLmNvbnRhaW5lciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkKLSAgICAgIHRocm93ICdDb250YWluZXIgbm90IGZvdW5kLic7Ci0KLSAgICB2YXIgaywKLSAgICAgICAgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSwKLSAgICAgICAgZm4sCi0gICAgICAgIHNlbGYgPSB0aGlzOwotCi0gICAgc2lnbWEuY2xhc3Nlcy5kaXNwYXRjaGVyLmV4dGVuZCh0aGlzKTsKLQotICAgIC8vIEluaXRpYWxpemUgbWFpbiBhdHRyaWJ1dGVzOgotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY29ucmFkSWQnLCB7Ci0gICAgICB2YWx1ZTogc2lnbWEudXRpbHMuaWQoKQotICAgIH0pOwotICAgIHRoaXMuZ3JhcGggPSBncmFwaDsKLSAgICB0aGlzLmNhbWVyYSA9IGNhbWVyYTsKLSAgICB0aGlzLmNvbnRleHRzID0ge307Ci0gICAgdGhpcy5kb21FbGVtZW50cyA9IHt9OwotICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7Ci0gICAgdGhpcy5jb250YWluZXIgPSB0aGlzLm9wdGlvbnMuY29udGFpbmVyOwotICAgIHRoaXMuc2V0dGluZ3MgPSAoCi0gICAgICAgIHR5cGVvZiBvcHRpb25zLnNldHRpbmdzID09PSAnb2JqZWN0JyAmJgotICAgICAgICBvcHRpb25zLnNldHRpbmdzCi0gICAgICApID8KLSAgICAgICAgc2V0dGluZ3MuZW1iZWRPYmplY3RzKG9wdGlvbnMuc2V0dGluZ3MpIDoKLSAgICAgICAgc2V0dGluZ3M7Ci0KLSAgICAvLyBOb2RlIGluZGV4ZXM6Ci0gICAgdGhpcy5ub2Rlc09uU2NyZWVuID0gW107Ci0gICAgdGhpcy5lZGdlc09uU2NyZWVuID0gW107Ci0KLSAgICAvLyBDb25yYWQgcmVsYXRlZCBhdHRyaWJ1dGVzOgotICAgIHRoaXMuam9icyA9IHt9OwotCi0gICAgLy8gRmluZCB0aGUgcHJlZml4OgotICAgIHRoaXMub3B0aW9ucy5wcmVmaXggPSAncmVuZGVyZXInICsgdGhpcy5jb25yYWRJZCArICc6JzsKLQotICAgIC8vIEluaXRpYWxpemUgdGhlIERPTSBlbGVtZW50czoKLSAgICBpZiAoCi0gICAgICAhdGhpcy5zZXR0aW5ncygnYmF0Y2hFZGdlc0RyYXdpbmcnKQotICAgICkgewotICAgICAgdGhpcy5pbml0RE9NKCdjYW52YXMnLCAnc2NlbmUnKTsKLSAgICAgIHRoaXMuY29udGV4dHMuZWRnZXMgPSB0aGlzLmNvbnRleHRzLnNjZW5lOwotICAgICAgdGhpcy5jb250ZXh0cy5ub2RlcyA9IHRoaXMuY29udGV4dHMuc2NlbmU7Ci0gICAgICB0aGlzLmNvbnRleHRzLmxhYmVscyA9IHRoaXMuY29udGV4dHMuc2NlbmU7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRoaXMuaW5pdERPTSgnY2FudmFzJywgJ2VkZ2VzJyk7Ci0gICAgICB0aGlzLmluaXRET00oJ2NhbnZhcycsICdzY2VuZScpOwotICAgICAgdGhpcy5jb250ZXh0cy5ub2RlcyA9IHRoaXMuY29udGV4dHMuc2NlbmU7Ci0gICAgICB0aGlzLmNvbnRleHRzLmxhYmVscyA9IHRoaXMuY29udGV4dHMuc2NlbmU7Ci0gICAgfQotCi0gICAgdGhpcy5pbml0RE9NKCdjYW52YXMnLCAnbW91c2UnKTsKLSAgICB0aGlzLmNvbnRleHRzLmhvdmVyID0gdGhpcy5jb250ZXh0cy5tb3VzZTsKLQotICAgIC8vIEluaXRpYWxpemUgY2FwdG9yczoKLSAgICB0aGlzLmNhcHRvcnMgPSBbXTsKLSAgICBhID0gdGhpcy5vcHRpb25zLmNhcHRvcnMgfHwgW3NpZ21hLmNhcHRvcnMubW91c2UsIHNpZ21hLmNhcHRvcnMudG91Y2hdOwotICAgIGZvciAoaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgZm4gPSB0eXBlb2YgYVtpXSA9PT0gJ2Z1bmN0aW9uJyA/IGFbaV0gOiBzaWdtYS5jYXB0b3JzW2FbaV1dOwotICAgICAgdGhpcy5jYXB0b3JzLnB1c2goCi0gICAgICAgIG5ldyBmbigKLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLm1vdXNlLAotICAgICAgICAgIHRoaXMuY2FtZXJhLAotICAgICAgICAgIHRoaXMuc2V0dGluZ3MKLSAgICAgICAgKQotICAgICAgKTsKLSAgICB9Ci0KLSAgICAvLyBEZWFsIHdpdGggc2lnbWEgZXZlbnRzOgotICAgIHNpZ21hLm1pc2MuYmluZEV2ZW50cy5jYWxsKHRoaXMsIHRoaXMub3B0aW9ucy5wcmVmaXgpOwotICAgIHNpZ21hLm1pc2MuZHJhd0hvdmVycy5jYWxsKHRoaXMsIHRoaXMub3B0aW9ucy5wcmVmaXgpOwotCi0gICAgdGhpcy5yZXNpemUoZmFsc2UpOwotICB9OwotCi0KLQotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCByZW5kZXJzIHRoZSBncmFwaCBvbiB0aGUgY2FudmFzZXMuCi0gICAqCi0gICAqIEBwYXJhbSAgez9vYmplY3R9ICAgICAgICAgICAgICAgIG9wdGlvbnMgRXZlbnR1YWxseSBhbiBvYmplY3Qgb2Ygb3B0aW9ucy4KLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLmNhbnZhc30gICAgICAgICBSZXR1cm5zIHRoZSBpbnN0YW5jZSBpdHNlbGYuCi0gICAqLwotICBzaWdtYS5yZW5kZXJlcnMuY2FudmFzLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbihvcHRpb25zKSB7Ci0gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307Ci0KLSAgICB2YXIgYSwKLSAgICAgICAgaSwKLSAgICAgICAgaywKLSAgICAgICAgbCwKLSAgICAgICAgbywKLSAgICAgICAgaWQsCi0gICAgICAgIGVuZCwKLSAgICAgICAgam9iLAotICAgICAgICBzdGFydCwKLSAgICAgICAgZWRnZXMsCi0gICAgICAgIHJlbmRlcmVycywKLSAgICAgICAgcmVuZGVyZXJUeXBlLAotICAgICAgICBiYXRjaFNpemUsCi0gICAgICAgIHRlbXBHQ08sCi0gICAgICAgIGluZGV4ID0ge30sCi0gICAgICAgIGdyYXBoID0gdGhpcy5ncmFwaCwKLSAgICAgICAgbm9kZXMgPSB0aGlzLmdyYXBoLm5vZGVzLAotICAgICAgICBwcmVmaXggPSB0aGlzLm9wdGlvbnMucHJlZml4IHx8ICcnLAotICAgICAgICBkcmF3RWRnZXMgPSB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkcmF3RWRnZXMnKSwKLSAgICAgICAgZHJhd05vZGVzID0gdGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnZHJhd05vZGVzJyksCi0gICAgICAgIGRyYXdMYWJlbHMgPSB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkcmF3TGFiZWxzJyksCi0gICAgICAgIGRyYXdFZGdlTGFiZWxzID0gdGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnZHJhd0VkZ2VMYWJlbHMnKSwKLSAgICAgICAgZW1iZWRTZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MuZW1iZWRPYmplY3RzKG9wdGlvbnMsIHsKLSAgICAgICAgICBwcmVmaXg6IHRoaXMub3B0aW9ucy5wcmVmaXgKLSAgICAgICAgfSk7Ci0KLSAgICAvLyBDYWxsIHRoZSByZXNpemUgZnVuY3Rpb246Ci0gICAgdGhpcy5yZXNpemUoZmFsc2UpOwotCi0gICAgLy8gQ2hlY2sgdGhlICdoaWRlRWRnZXNPbk1vdmUnIHNldHRpbmc6Ci0gICAgaWYgKHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2hpZGVFZGdlc09uTW92ZScpKQotICAgICAgaWYgKHRoaXMuY2FtZXJhLmlzQW5pbWF0ZWQgfHwgdGhpcy5jYW1lcmEuaXNNb3ZpbmcpCi0gICAgICAgIGRyYXdFZGdlcyA9IGZhbHNlOwotCi0gICAgLy8gQXBwbHkgdGhlIGNhbWVyYSdzIHZpZXc6Ci0gICAgdGhpcy5jYW1lcmEuYXBwbHlWaWV3KAotICAgICAgdW5kZWZpbmVkLAotICAgICAgdGhpcy5vcHRpb25zLnByZWZpeCwKLSAgICAgIHsKLSAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsCi0gICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQKLSAgICAgIH0KLSAgICApOwotCi0gICAgLy8gQ2xlYXIgY2FudmFzZXM6Ci0gICAgdGhpcy5jbGVhcigpOwotCi0gICAgLy8gS2lsbCBydW5uaW5nIGpvYnM6Ci0gICAgZm9yIChrIGluIHRoaXMuam9icykKLSAgICAgIGlmIChjb25yYWQuaGFzSm9iKGspKQotICAgICAgICBjb25yYWQua2lsbEpvYihrKTsKLQotICAgIC8vIEZpbmQgd2hpY2ggbm9kZXMgYXJlIG9uIHNjcmVlbjoKLSAgICB0aGlzLmVkZ2VzT25TY3JlZW4gPSBbXTsKLSAgICB0aGlzLm5vZGVzT25TY3JlZW4gPSB0aGlzLmNhbWVyYS5xdWFkdHJlZS5hcmVhKAotICAgICAgdGhpcy5jYW1lcmEuZ2V0UmVjdGFuZ2xlKHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KQotICAgICk7Ci0KLSAgICBmb3IgKGEgPSB0aGlzLm5vZGVzT25TY3JlZW4sIGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICBpbmRleFthW2ldLmlkXSA9IGFbaV07Ci0KLSAgICAvLyBEcmF3IGVkZ2VzOgotICAgIC8vIC0gSWYgc2V0dGluZ3MoJ2JhdGNoRWRnZXNEcmF3aW5nJykgaXMgdHJ1ZSwgdGhlIGVkZ2VzIGFyZSBkaXNwbGF5ZWQgcGVyCi0gICAgLy8gICBiYXRjaGVzLiBJZiBub3QsIHRoZXkgYXJlIGRyYXduIGluIG9uZSBmcmFtZS4KLSAgICBpZiAoZHJhd0VkZ2VzKSB7Ci0gICAgICAvLyBGaXJzdCwgbGV0J3MgaWRlbnRpZnkgd2hpY2ggZWRnZXMgdG8gZHJhdy4gVG8gZG8gdGhpcywgd2UganVzdCBrZWVwCi0gICAgICAvLyBldmVyeSBlZGdlcyB0aGF0IGhhdmUgYXQgbGVhc3Qgb25lIGV4dHJlbWl0eSBkaXNwbGF5ZWQgYWNjb3JkaW5nIHRvCi0gICAgICAvLyB0aGUgcXVhZHRyZWUgYW5kIHRoZSAiaGlkZGVuIiBhdHRyaWJ1dGUuIFdlIGFsc28gZG8gbm90IGtlZXAgaGlkZGVuCi0gICAgICAvLyBlZGdlcy4KLSAgICAgIGZvciAoYSA9IGdyYXBoLmVkZ2VzKCksIGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspIHsKLSAgICAgICAgbyA9IGFbaV07Ci0gICAgICAgIGlmICgKLSAgICAgICAgICAoaW5kZXhbby5zb3VyY2VdIHx8IGluZGV4W28udGFyZ2V0XSkgJiYKLSAgICAgICAgICAoIW8uaGlkZGVuICYmICFub2RlcyhvLnNvdXJjZSkuaGlkZGVuICYmICFub2RlcyhvLnRhcmdldCkuaGlkZGVuKQotICAgICAgICApCi0gICAgICAgICAgdGhpcy5lZGdlc09uU2NyZWVuLnB1c2gobyk7Ci0gICAgICB9Ci0KLSAgICAgIC8vIElmIHRoZSAiYmF0Y2hFZGdlc0RyYXdpbmciIHNldHRpbmdzIGlzIHRydWUsIGVkZ2VzIGFyZSBiYXRjaGVkOgotICAgICAgaWYgKHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2JhdGNoRWRnZXNEcmF3aW5nJykpIHsKLSAgICAgICAgaWQgPSAnZWRnZXNfJyArIHRoaXMuY29ucmFkSWQ7Ci0gICAgICAgIGJhdGNoU2l6ZSA9IGVtYmVkU2V0dGluZ3MoJ2NhbnZhc0VkZ2VzQmF0Y2hTaXplJyk7Ci0KLSAgICAgICAgZWRnZXMgPSB0aGlzLmVkZ2VzT25TY3JlZW47Ci0gICAgICAgIGwgPSBlZGdlcy5sZW5ndGg7Ci0KLSAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICBlbmQgPSBNYXRoLm1pbihlZGdlcy5sZW5ndGgsIHN0YXJ0ICsgYmF0Y2hTaXplKTsKLQotICAgICAgICBqb2IgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICB0ZW1wR0NPID0gdGhpcy5jb250ZXh0cy5lZGdlcy5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb247Ci0gICAgICAgICAgdGhpcy5jb250ZXh0cy5lZGdlcy5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnZGVzdGluYXRpb24tb3Zlcic7Ci0KLSAgICAgICAgICByZW5kZXJlcnMgPSBzaWdtYS5jYW52YXMuZWRnZXM7Ci0gICAgICAgICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKykgewotICAgICAgICAgICAgbyA9IGVkZ2VzW2ldOwotICAgICAgICAgICAgKHJlbmRlcmVyc1sKLSAgICAgICAgICAgICAgby50eXBlIHx8IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2RlZmF1bHRFZGdlVHlwZScpCi0gICAgICAgICAgICBdIHx8IHJlbmRlcmVycy5kZWYpKAotICAgICAgICAgICAgICBvLAotICAgICAgICAgICAgICBncmFwaC5ub2RlcyhvLnNvdXJjZSksCi0gICAgICAgICAgICAgIGdyYXBoLm5vZGVzKG8udGFyZ2V0KSwKLSAgICAgICAgICAgICAgdGhpcy5jb250ZXh0cy5lZGdlcywKLSAgICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICAgKTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICAvLyBEcmF3IGVkZ2UgbGFiZWxzOgotICAgICAgICAgIGlmIChkcmF3RWRnZUxhYmVscykgewotICAgICAgICAgICAgcmVuZGVyZXJzID0gc2lnbWEuY2FudmFzLmVkZ2VzLmxhYmVsczsKLSAgICAgICAgICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHsKLSAgICAgICAgICAgICAgbyA9IGVkZ2VzW2ldOwotICAgICAgICAgICAgICBpZiAoIW8uaGlkZGVuKQotICAgICAgICAgICAgICAgIChyZW5kZXJlcnNbCi0gICAgICAgICAgICAgICAgICBvLnR5cGUgfHwgdGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnZGVmYXVsdEVkZ2VUeXBlJykKLSAgICAgICAgICAgICAgICBdIHx8IHJlbmRlcmVycy5kZWYpKAotICAgICAgICAgICAgICAgICAgbywKLSAgICAgICAgICAgICAgICAgIGdyYXBoLm5vZGVzKG8uc291cmNlKSwKLSAgICAgICAgICAgICAgICAgIGdyYXBoLm5vZGVzKG8udGFyZ2V0KSwKLSAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dHMubGFiZWxzLAotICAgICAgICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBnbG9iYWxDb21wb3NpdGVPcGVyYXRpb246Ci0gICAgICAgICAgdGhpcy5jb250ZXh0cy5lZGdlcy5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSB0ZW1wR0NPOwotCi0gICAgICAgICAgLy8gQ2F0Y2ggam9iJ3MgZW5kOgotICAgICAgICAgIGlmIChlbmQgPT09IGVkZ2VzLmxlbmd0aCkgewotICAgICAgICAgICAgZGVsZXRlIHRoaXMuam9ic1tpZF07Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotCi0gICAgICAgICAgc3RhcnQgPSBlbmQgKyAxOwotICAgICAgICAgIGVuZCA9IE1hdGgubWluKGVkZ2VzLmxlbmd0aCwgc3RhcnQgKyBiYXRjaFNpemUpOwotICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9OwotCi0gICAgICAgIHRoaXMuam9ic1tpZF0gPSBqb2I7Ci0gICAgICAgIGNvbnJhZC5hZGRKb2IoaWQsIGpvYi5iaW5kKHRoaXMpKTsKLQotICAgICAgLy8gSWYgbm90LCB0aGV5IGFyZSBkcmF3biBpbiBvbmUgZnJhbWU6Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZW5kZXJlcnMgPSBzaWdtYS5jYW52YXMuZWRnZXM7Ci0gICAgICAgIGZvciAoYSA9IHRoaXMuZWRnZXNPblNjcmVlbiwgaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgICAgIG8gPSBhW2ldOwotICAgICAgICAgIChyZW5kZXJlcnNbCi0gICAgICAgICAgICBvLnR5cGUgfHwgdGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnZGVmYXVsdEVkZ2VUeXBlJykKLSAgICAgICAgICBdIHx8IHJlbmRlcmVycy5kZWYpKAotICAgICAgICAgICAgbywKLSAgICAgICAgICAgIGdyYXBoLm5vZGVzKG8uc291cmNlKSwKLSAgICAgICAgICAgIGdyYXBoLm5vZGVzKG8udGFyZ2V0KSwKLSAgICAgICAgICAgIHRoaXMuY29udGV4dHMuZWRnZXMsCi0gICAgICAgICAgICBlbWJlZFNldHRpbmdzCi0gICAgICAgICAgKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIERyYXcgZWRnZSBsYWJlbHM6Ci0gICAgICAgIC8vIC0gTm8gYmF0Y2hpbmcKLSAgICAgICAgaWYgKGRyYXdFZGdlTGFiZWxzKSB7Ci0gICAgICAgICAgcmVuZGVyZXJzID0gc2lnbWEuY2FudmFzLmVkZ2VzLmxhYmVsczsKLSAgICAgICAgICBmb3IgKGEgPSB0aGlzLmVkZ2VzT25TY3JlZW4sIGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgICAgICBpZiAoIWFbaV0uaGlkZGVuKQotICAgICAgICAgICAgICAocmVuZGVyZXJzWwotICAgICAgICAgICAgICAgIGFbaV0udHlwZSB8fCB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkZWZhdWx0RWRnZVR5cGUnKQotICAgICAgICAgICAgICBdIHx8IHJlbmRlcmVycy5kZWYpKAotICAgICAgICAgICAgICAgIGFbaV0sCi0gICAgICAgICAgICAgICAgZ3JhcGgubm9kZXMoYVtpXS5zb3VyY2UpLAotICAgICAgICAgICAgICAgIGdyYXBoLm5vZGVzKGFbaV0udGFyZ2V0KSwKLSAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRzLmxhYmVscywKLSAgICAgICAgICAgICAgICBlbWJlZFNldHRpbmdzCi0gICAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBEcmF3IG5vZGVzOgotICAgIC8vIC0gTm8gYmF0Y2hpbmcKLSAgICBpZiAoZHJhd05vZGVzKSB7Ci0gICAgICByZW5kZXJlcnMgPSBzaWdtYS5jYW52YXMubm9kZXM7Ci0gICAgICBmb3IgKGEgPSB0aGlzLm5vZGVzT25TY3JlZW4sIGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIGlmICghYVtpXS5oaWRkZW4pCi0gICAgICAgICAgKHJlbmRlcmVyc1sKLSAgICAgICAgICAgIGFbaV0udHlwZSB8fCB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkZWZhdWx0Tm9kZVR5cGUnKQotICAgICAgICAgIF0gfHwgcmVuZGVyZXJzLmRlZikoCi0gICAgICAgICAgICBhW2ldLAotICAgICAgICAgICAgdGhpcy5jb250ZXh0cy5ub2RlcywKLSAgICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgICApOwotICAgIH0KLQotICAgIC8vIERyYXcgbGFiZWxzOgotICAgIC8vIC0gTm8gYmF0Y2hpbmcKLSAgICBpZiAoZHJhd0xhYmVscykgewotICAgICAgcmVuZGVyZXJzID0gc2lnbWEuY2FudmFzLmxhYmVsczsKLSAgICAgIGZvciAoYSA9IHRoaXMubm9kZXNPblNjcmVlbiwgaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgICAgaWYgKCFhW2ldLmhpZGRlbikKLSAgICAgICAgICAocmVuZGVyZXJzWwotICAgICAgICAgICAgYVtpXS50eXBlIHx8IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2RlZmF1bHROb2RlVHlwZScpCi0gICAgICAgICAgXSB8fCByZW5kZXJlcnMuZGVmKSgKLSAgICAgICAgICAgIGFbaV0sCi0gICAgICAgICAgICB0aGlzLmNvbnRleHRzLmxhYmVscywKLSAgICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgICApOwotICAgIH0KLQotICAgIHRoaXMuZGlzcGF0Y2hFdmVudCgncmVuZGVyJyk7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIERPTSBlbGVtZW50IG9mIHRoZSBzcGVjaWZpZWQgdHlwZSwgc3dpdGNoZXMgaXRzCi0gICAqIHBvc2l0aW9uIHRvICJhYnNvbHV0ZSIsIHJlZmVyZW5jZXMgaXQgdG8gdGhlIGRvbUVsZW1lbnRzIGF0dHJpYnV0ZSwgYW5kCi0gICAqIGZpbmFsbHkgYXBwZW5kcyBpdCB0byB0aGUgY29udGFpbmVyLgotICAgKgotICAgKiBAcGFyYW0gIHtzdHJpbmd9IHRhZyBUaGUgbGFiZWwgdGFnLgotICAgKiBAcGFyYW0gIHtzdHJpbmd9IGlkICBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgKHRvIHN0b3JlIGl0IGluICJkb21FbGVtZW50cyIpLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLmNhbnZhcy5wcm90b3R5cGUuaW5pdERPTSA9IGZ1bmN0aW9uKHRhZywgaWQpIHsKLSAgICB2YXIgZG9tID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpOwotCi0gICAgZG9tLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKLSAgICBkb20uc2V0QXR0cmlidXRlKCdjbGFzcycsICdzaWdtYS0nICsgaWQpOwotCi0gICAgdGhpcy5kb21FbGVtZW50c1tpZF0gPSBkb207Ci0gICAgdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoZG9tKTsKLQotICAgIGlmICh0YWcudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbnZhcycpCi0gICAgICB0aGlzLmNvbnRleHRzW2lkXSA9IGRvbS5nZXRDb250ZXh0KCcyZCcpOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCByZXNpemVzIGVhY2ggRE9NIGVsZW1lbnRzIGluIHRoZSBjb250YWluZXIgYW5kIHN0b3JlcyB0aGUgbmV3Ci0gICAqIGRpbWVuc2lvbnMuIFRoZW4sIGl0IHJlbmRlcnMgdGhlIGdyYXBoLgotICAgKgotICAgKiBAcGFyYW0gIHs/bnVtYmVyfSAgICAgICAgICAgICAgICB3aWR0aCAgVGhlIG5ldyB3aWR0aCBvZiB0aGUgY29udGFpbmVyLgotICAgKiBAcGFyYW0gIHs/bnVtYmVyfSAgICAgICAgICAgICAgICBoZWlnaHQgVGhlIG5ldyBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lci4KLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLmNhbnZhc30gICAgICAgIFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIHNpZ21hLnJlbmRlcmVycy5jYW52YXMucHJvdG90eXBlLnJlc2l6ZSA9IGZ1bmN0aW9uKHcsIGgpIHsKLSAgICB2YXIgaywKLSAgICAgICAgb2xkV2lkdGggPSB0aGlzLndpZHRoLAotICAgICAgICBvbGRIZWlnaHQgPSB0aGlzLmhlaWdodCwKLSAgICAgICAgcGl4ZWxSYXRpbyA9IHNpZ21hLnV0aWxzLmdldFBpeGVsUmF0aW8oKTsKLQotICAgIGlmICh3ICE9PSB1bmRlZmluZWQgJiYgaCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICB0aGlzLndpZHRoID0gdzsKLSAgICAgIHRoaXMuaGVpZ2h0ID0gaDsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy53aWR0aCA9IHRoaXMuY29udGFpbmVyLm9mZnNldFdpZHRoOwotICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7Ci0KLSAgICAgIHcgPSB0aGlzLndpZHRoOwotICAgICAgaCA9IHRoaXMuaGVpZ2h0OwotICAgIH0KLQotICAgIGlmIChvbGRXaWR0aCAhPT0gdGhpcy53aWR0aCB8fCBvbGRIZWlnaHQgIT09IHRoaXMuaGVpZ2h0KSB7Ci0gICAgICBmb3IgKGsgaW4gdGhpcy5kb21FbGVtZW50cykgewotICAgICAgICB0aGlzLmRvbUVsZW1lbnRzW2tdLnN0eWxlLndpZHRoID0gdyArICdweCc7Ci0gICAgICAgIHRoaXMuZG9tRWxlbWVudHNba10uc3R5bGUuaGVpZ2h0ID0gaCArICdweCc7Ci0KLSAgICAgICAgaWYgKHRoaXMuZG9tRWxlbWVudHNba10udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnY2FudmFzJykgewotICAgICAgICAgIHRoaXMuZG9tRWxlbWVudHNba10uc2V0QXR0cmlidXRlKCd3aWR0aCcsICh3ICogcGl4ZWxSYXRpbykgKyAncHgnKTsKLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzW2tdLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgKGggKiBwaXhlbFJhdGlvKSArICdweCcpOwotCi0gICAgICAgICAgaWYgKHBpeGVsUmF0aW8gIT09IDEpCi0gICAgICAgICAgICB0aGlzLmNvbnRleHRzW2tdLnNjYWxlKHBpeGVsUmF0aW8sIHBpeGVsUmF0aW8pOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGNsZWFycyBlYWNoIGNhbnZhcy4KLSAgICoKLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLmNhbnZhc30gUmV0dXJucyB0aGUgaW5zdGFuY2UgaXRzZWxmLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLmNhbnZhcy5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBrIGluIHRoaXMuY29udGV4dHMpIHsKLSAgICAgIHRoaXMuY29udGV4dHNba10uY2xlYXJSZWN0KDAsIDAsIHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2Qga2lsbHMgY29udGV4dHMgYW5kIG90aGVyIGF0dHJpYnV0ZXMuCi0gICAqLwotICBzaWdtYS5yZW5kZXJlcnMuY2FudmFzLnByb3RvdHlwZS5raWxsID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGssCi0gICAgICAgIGNhcHRvcjsKLQotICAgIC8vIEtpbGwgY2FwdG9yczoKLSAgICB3aGlsZSAoKGNhcHRvciA9IHRoaXMuY2FwdG9ycy5wb3AoKSkpCi0gICAgICBjYXB0b3Iua2lsbCgpOwotICAgIGRlbGV0ZSB0aGlzLmNhcHRvcnM7Ci0KLSAgICAvLyBLaWxsIGNvbnRleHRzOgotICAgIGZvciAoayBpbiB0aGlzLmRvbUVsZW1lbnRzKSB7Ci0gICAgICB0aGlzLmRvbUVsZW1lbnRzW2tdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kb21FbGVtZW50c1trXSk7Ci0gICAgICBkZWxldGUgdGhpcy5kb21FbGVtZW50c1trXTsKLSAgICAgIGRlbGV0ZSB0aGlzLmNvbnRleHRzW2tdOwotICAgIH0KLSAgICBkZWxldGUgdGhpcy5kb21FbGVtZW50czsKLSAgICBkZWxldGUgdGhpcy5jb250ZXh0czsKLSAgfTsKLQotCi0KLQotICAvKioKLSAgICogVGhlIGxhYmVscywgbm9kZXMgYW5kIGVkZ2VzIHJlbmRlcmVycyBhcmUgc3RvcmVkIGluIHRoZSB0aHJlZSBmb2xsb3dpbmcKLSAgICogb2JqZWN0cy4gV2hlbiBhbiBlbGVtZW50IGlzIGRyYXduLCBpdHMgdHlwZSB3aWxsIGJlIGNoZWNrZWQgYW5kIGlmIGEKLSAgICogcmVuZGVyZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZSB1c2VkLiBJZiBub3QgZm91bmQsIHRoZQotICAgKiBkZWZhdWx0IHJlbmRlcmVyIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgotICAgKgotICAgKiBUaGV5IGFyZSBzdG9yZWQgaW4gZGlmZmVyZW50IGZpbGVzLCBpbiB0aGUgIi4vY2FudmFzIiBmb2xkZXIuCi0gICAqLwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5ub2RlcycpOwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5lZGdlcycpOwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5sYWJlbHMnKTsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24odW5kZWZpbmVkKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBpZiAodHlwZW9mIHNpZ21hID09PSAndW5kZWZpbmVkJykKLSAgICB0aHJvdyAnc2lnbWEgaXMgbm90IGRlY2xhcmVkJzsKLQotICAvLyBJbml0aWFsaXplIHBhY2thZ2VzOgotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnJlbmRlcmVycycpOwotCi0gIC8qKgotICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgY2FudmFzIHNpZ21hJ3MgcmVuZGVyZXIuCi0gICAqCi0gICAqIEBwYXJhbSAge3NpZ21hLmNsYXNzZXMuZ3JhcGh9ICAgICAgICAgICAgZ3JhcGggICAgVGhlIGdyYXBoIHRvIHJlbmRlci4KLSAgICogQHBhcmFtICB7c2lnbWEuY2xhc3Nlcy5jYW1lcmF9ICAgICAgICAgICBjYW1lcmEgICBUaGUgY2FtZXJhLgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICAgICAgICBzZXR0aW5ncyBUaGUgc2lnbWEgaW5zdGFuY2Ugc2V0dGluZ3MKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24uCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgIG9iamVjdCAgIFRoZSBvcHRpb25zIG9iamVjdC4KLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLmNhbnZhc30gICAgICAgICAgVGhlIHJlbmRlcmVyIGluc3RhbmNlLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLndlYmdsID0gZnVuY3Rpb24oZ3JhcGgsIGNhbWVyYSwgc2V0dGluZ3MsIG9wdGlvbnMpIHsKLSAgICBpZiAodHlwZW9mIG9wdGlvbnMgIT09ICdvYmplY3QnKQotICAgICAgdGhyb3cgJ3NpZ21hLnJlbmRlcmVycy53ZWJnbDogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICBpZiAoIShvcHRpb25zLmNvbnRhaW5lciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkKLSAgICAgIHRocm93ICdDb250YWluZXIgbm90IGZvdW5kLic7Ci0KLSAgICB2YXIgaywKLSAgICAgICAgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSwKLSAgICAgICAgZm4sCi0gICAgICAgIF9zZWxmID0gdGhpczsKLQotICAgIHNpZ21hLmNsYXNzZXMuZGlzcGF0Y2hlci5leHRlbmQodGhpcyk7Ci0KLSAgICAvLyBDb25yYWQgcmVsYXRlZCBhdHRyaWJ1dGVzOgotICAgIHRoaXMuam9icyA9IHt9OwotCi0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb25yYWRJZCcsIHsKLSAgICAgIHZhbHVlOiBzaWdtYS51dGlscy5pZCgpCi0gICAgfSk7Ci0KLSAgICAvLyBJbml0aWFsaXplIG1haW4gYXR0cmlidXRlczoKLSAgICB0aGlzLmdyYXBoID0gZ3JhcGg7Ci0gICAgdGhpcy5jYW1lcmEgPSBjYW1lcmE7Ci0gICAgdGhpcy5jb250ZXh0cyA9IHt9OwotICAgIHRoaXMuZG9tRWxlbWVudHMgPSB7fTsKLSAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwotICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5vcHRpb25zLmNvbnRhaW5lcjsKLSAgICB0aGlzLnNldHRpbmdzID0gKAotICAgICAgICB0eXBlb2Ygb3B0aW9ucy5zZXR0aW5ncyA9PT0gJ29iamVjdCcgJiYKLSAgICAgICAgb3B0aW9ucy5zZXR0aW5ncwotICAgICAgKSA/Ci0gICAgICAgIHNldHRpbmdzLmVtYmVkT2JqZWN0cyhvcHRpb25zLnNldHRpbmdzKSA6Ci0gICAgICAgIHNldHRpbmdzOwotCi0gICAgLy8gRmluZCB0aGUgcHJlZml4OgotICAgIHRoaXMub3B0aW9ucy5wcmVmaXggPSB0aGlzLmNhbWVyYS5yZWFkUHJlZml4OwotCi0gICAgLy8gSW5pdGlhbGl6ZSBwcm9ncmFtcyBoYXNoCi0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdub2RlUHJvZ3JhbXMnLCB7Ci0gICAgICB2YWx1ZToge30KLSAgICB9KTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VkZ2VQcm9ncmFtcycsIHsKLSAgICAgIHZhbHVlOiB7fQotICAgIH0pOwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbm9kZUZsb2F0QXJyYXlzJywgewotICAgICAgdmFsdWU6IHt9Ci0gICAgfSk7Ci0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdlZGdlRmxvYXRBcnJheXMnLCB7Ci0gICAgICB2YWx1ZToge30KLSAgICB9KTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VkZ2VJbmRpY2VzQXJyYXlzJywgewotICAgICAgdmFsdWU6IHt9Ci0gICAgfSk7Ci0KLSAgICAvLyBJbml0aWFsaXplIHRoZSBET00gZWxlbWVudHM6Ci0gICAgaWYgKHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2JhdGNoRWRnZXNEcmF3aW5nJykpIHsKLSAgICAgIHRoaXMuaW5pdERPTSgnY2FudmFzJywgJ2VkZ2VzJywgdHJ1ZSk7Ci0gICAgICB0aGlzLmluaXRET00oJ2NhbnZhcycsICdub2RlcycsIHRydWUpOwotICAgIH0gZWxzZSB7Ci0gICAgICB0aGlzLmluaXRET00oJ2NhbnZhcycsICdzY2VuZScsIHRydWUpOwotICAgICAgdGhpcy5jb250ZXh0cy5ub2RlcyA9IHRoaXMuY29udGV4dHMuc2NlbmU7Ci0gICAgICB0aGlzLmNvbnRleHRzLmVkZ2VzID0gdGhpcy5jb250ZXh0cy5zY2VuZTsKLSAgICB9Ci0KLSAgICB0aGlzLmluaXRET00oJ2NhbnZhcycsICdsYWJlbHMnKTsKLSAgICB0aGlzLmluaXRET00oJ2NhbnZhcycsICdtb3VzZScpOwotICAgIHRoaXMuY29udGV4dHMuaG92ZXIgPSB0aGlzLmNvbnRleHRzLm1vdXNlOwotCi0gICAgLy8gSW5pdGlhbGl6ZSBjYXB0b3JzOgotICAgIHRoaXMuY2FwdG9ycyA9IFtdOwotICAgIGEgPSB0aGlzLm9wdGlvbnMuY2FwdG9ycyB8fCBbc2lnbWEuY2FwdG9ycy5tb3VzZSwgc2lnbWEuY2FwdG9ycy50b3VjaF07Ci0gICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICBmbiA9IHR5cGVvZiBhW2ldID09PSAnZnVuY3Rpb24nID8gYVtpXSA6IHNpZ21hLmNhcHRvcnNbYVtpXV07Ci0gICAgICB0aGlzLmNhcHRvcnMucHVzaCgKLSAgICAgICAgbmV3IGZuKAotICAgICAgICAgIHRoaXMuZG9tRWxlbWVudHMubW91c2UsCi0gICAgICAgICAgdGhpcy5jYW1lcmEsCi0gICAgICAgICAgdGhpcy5zZXR0aW5ncwotICAgICAgICApCi0gICAgICApOwotICAgIH0KLQotICAgIC8vIERlYWwgd2l0aCBzaWdtYSBldmVudHM6Ci0gICAgc2lnbWEubWlzYy5iaW5kRXZlbnRzLmNhbGwodGhpcywgdGhpcy5jYW1lcmEucHJlZml4KTsKLSAgICBzaWdtYS5taXNjLmRyYXdIb3ZlcnMuY2FsbCh0aGlzLCB0aGlzLmNhbWVyYS5wcmVmaXgpOwotCi0gICAgdGhpcy5yZXNpemUoKTsKLSAgfTsKLQotCi0KLQotICAvKioKLSAgICogVGhpcyBtZXRob2Qgd2lsbCBnZW5lcmF0ZSB0aGUgbm9kZXMgYW5kIGVkZ2VzIGZsb2F0IGFycmF5cy4gVGhpcyBzdGVwIGlzCi0gICAqIHNlcGFyYXRlZCBmcm9tIHRoZSAicmVuZGVyIiBtZXRob2QsIGJlY2F1c2UgdG8ga2VlcCBXZWJHTCBlZmZpY2llbnQsIHNpbmNlCi0gICAqIGFsbCB0aGUgY2FtZXJhIGFuZCBtaWRkbGV3YXJlcyBhcmUgbW9kZWxpc2VkIGFzIG1hdHJpY2VzIGFuZCB0aGV5IGRvIG5vdAotICAgKiByZXF1aXJlIHRoZSBmbG9hdCBhcnJheXMgdG8gYmUgcmVnZW5lcmF0ZWQuCi0gICAqCi0gICAqIEJhc2ljYWxseSwgd2hlbiB0aGUgdXNlciBtb3ZlcyB0aGUgY2FtZXJhIG9yIGFwcGxpZXMgc29tZSBzcGVjaWZpYyBsaW5lYXIKLSAgICogdHJhbnNmb3JtYXRpb25zLCB0aGlzIHByb2Nlc3Mgc3RlcCB3aWxsIGJlIHNraXBwZWQsIGFuZCB0aGUgInJlbmRlciIKLSAgICogbWV0aG9kIHdpbGwgZWZmaWNpZW50bHkgcmVmcmVzaCB0aGUgcmVuZGVyaW5nLgotICAgKgotICAgKiBBbmQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZ3JhcGggY29sb3JzIG9yIHBvc2l0aW9ucyAoYXBwbHlpbmcgYSBuZXcKLSAgICogbGF5b3V0IG9yIGZpbHRlcmluZyB0aGUgY29sb3JzLCBmb3IgaW5zdGFuY2UpLCB0aGlzICJwcm9jZXNzIiBzdGVwIHdpbGwgYmUKLSAgICogcmVxdWlyZWQgdG8gcmVnZW5lcmF0ZSB0aGUgZmxvYXQgYXJyYXlzLgotICAgKgotICAgKiBAcmV0dXJuIHtzaWdtYS5yZW5kZXJlcnMud2ViZ2x9IFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIHNpZ21hLnJlbmRlcmVycy53ZWJnbC5wcm90b3R5cGUucHJvY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgIHZhciBhLAotICAgICAgICBpLAotICAgICAgICBsLAotICAgICAgICBrLAotICAgICAgICB0eXBlLAotICAgICAgICByZW5kZXJlciwKLSAgICAgICAgZ3JhcGggPSB0aGlzLmdyYXBoLAotICAgICAgICBvcHRpb25zID0gc2lnbWEudXRpbHMuZXh0ZW5kKG9wdGlvbnMsIHRoaXMub3B0aW9ucyksCi0gICAgICAgIGRlZmF1bHRFZGdlVHlwZSA9IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2RlZmF1bHRFZGdlVHlwZScpLAotICAgICAgICBkZWZhdWx0Tm9kZVR5cGUgPSB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkZWZhdWx0Tm9kZVR5cGUnKTsKLQotICAgIC8vIEVtcHR5IGZsb2F0IGFycmF5czoKLSAgICBmb3IgKGsgaW4gdGhpcy5ub2RlRmxvYXRBcnJheXMpCi0gICAgICBkZWxldGUgdGhpcy5ub2RlRmxvYXRBcnJheXNba107Ci0KLSAgICBmb3IgKGsgaW4gdGhpcy5lZGdlRmxvYXRBcnJheXMpCi0gICAgICBkZWxldGUgdGhpcy5lZGdlRmxvYXRBcnJheXNba107Ci0KLSAgICBmb3IgKGsgaW4gdGhpcy5lZGdlSW5kaWNlc0FycmF5cykKLSAgICAgIGRlbGV0ZSB0aGlzLmVkZ2VJbmRpY2VzQXJyYXlzW2tdOwotCi0gICAgLy8gU29ydCBlZGdlcyBhbmQgbm9kZXMgcGVyIHR5cGVzOgotICAgIGZvciAoYSA9IGdyYXBoLmVkZ2VzKCksIGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspIHsKLSAgICAgIHR5cGUgPSBhW2ldLnR5cGUgfHwgZGVmYXVsdEVkZ2VUeXBlOwotICAgICAgayA9ICh0eXBlICYmIHNpZ21hLndlYmdsLmVkZ2VzW3R5cGVdKSA/IHR5cGUgOiAnZGVmJzsKLQotICAgICAgaWYgKCF0aGlzLmVkZ2VGbG9hdEFycmF5c1trXSkKLSAgICAgICAgdGhpcy5lZGdlRmxvYXRBcnJheXNba10gPSB7Ci0gICAgICAgICAgZWRnZXM6IFtdCi0gICAgICAgIH07Ci0KLSAgICAgIHRoaXMuZWRnZUZsb2F0QXJyYXlzW2tdLmVkZ2VzLnB1c2goYVtpXSk7Ci0gICAgfQotCi0gICAgZm9yIChhID0gZ3JhcGgubm9kZXMoKSwgaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgdHlwZSA9IGFbaV0udHlwZSB8fCBkZWZhdWx0Tm9kZVR5cGU7Ci0gICAgICBrID0gKHR5cGUgJiYgc2lnbWEud2ViZ2wubm9kZXNbdHlwZV0pID8gdHlwZSA6ICdkZWYnOwotCi0gICAgICBpZiAoIXRoaXMubm9kZUZsb2F0QXJyYXlzW2tdKQotICAgICAgICB0aGlzLm5vZGVGbG9hdEFycmF5c1trXSA9IHsKLSAgICAgICAgICBub2RlczogW10KLSAgICAgICAgfTsKLQotICAgICAgdGhpcy5ub2RlRmxvYXRBcnJheXNba10ubm9kZXMucHVzaChhW2ldKTsKLSAgICB9Ci0KLSAgICAvLyBQdXNoIGVkZ2VzOgotICAgIGZvciAoayBpbiB0aGlzLmVkZ2VGbG9hdEFycmF5cykgewotICAgICAgcmVuZGVyZXIgPSBzaWdtYS53ZWJnbC5lZGdlc1trXTsKLSAgICAgIGEgPSB0aGlzLmVkZ2VGbG9hdEFycmF5c1trXS5lZGdlczsKLQotICAgICAgLy8gQ3JlYXRpbmcgdGhlIG5lY2Vzc2FyeSBhcnJheXMKLSAgICAgIHRoaXMuZWRnZUZsb2F0QXJyYXlzW2tdLmFycmF5ID0gbmV3IEZsb2F0MzJBcnJheSgKLSAgICAgICAgYS5sZW5ndGggKiByZW5kZXJlci5QT0lOVFMgKiByZW5kZXJlci5BVFRSSUJVVEVTCi0gICAgICApOwotCi0gICAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspIHsKLQotICAgICAgICAvLyBKdXN0IGNoZWNrIHRoYXQgdGhlIGVkZ2UgYW5kIGJvdGggaXRzIGV4dHJlbWl0aWVzIGFyZSB2aXNpYmxlOgotICAgICAgICBpZiAoCi0gICAgICAgICAgIWFbaV0uaGlkZGVuICYmCi0gICAgICAgICAgIWdyYXBoLm5vZGVzKGFbaV0uc291cmNlKS5oaWRkZW4gJiYKLSAgICAgICAgICAhZ3JhcGgubm9kZXMoYVtpXS50YXJnZXQpLmhpZGRlbgotICAgICAgICApCi0gICAgICAgICAgcmVuZGVyZXIuYWRkRWRnZSgKLSAgICAgICAgICAgIGFbaV0sCi0gICAgICAgICAgICBncmFwaC5ub2RlcyhhW2ldLnNvdXJjZSksCi0gICAgICAgICAgICBncmFwaC5ub2RlcyhhW2ldLnRhcmdldCksCi0gICAgICAgICAgICB0aGlzLmVkZ2VGbG9hdEFycmF5c1trXS5hcnJheSwKLSAgICAgICAgICAgIGkgKiByZW5kZXJlci5QT0lOVFMgKiByZW5kZXJlci5BVFRSSUJVVEVTLAotICAgICAgICAgICAgb3B0aW9ucy5wcmVmaXgsCi0gICAgICAgICAgICB0aGlzLnNldHRpbmdzCi0gICAgICAgICAgKTsKLSAgICAgIH0KLQotICAgICAgaWYgKHR5cGVvZiByZW5kZXJlci5jb21wdXRlSW5kaWNlcyA9PT0gJ2Z1bmN0aW9uJykKLSAgICAgICAgdGhpcy5lZGdlSW5kaWNlc0FycmF5c1trXSA9IHJlbmRlcmVyLmNvbXB1dGVJbmRpY2VzKAotICAgICAgICAgIHRoaXMuZWRnZUZsb2F0QXJyYXlzW2tdLmFycmF5Ci0gICAgICAgICk7Ci0gICAgfQotCi0gICAgLy8gUHVzaCBub2RlczoKLSAgICBmb3IgKGsgaW4gdGhpcy5ub2RlRmxvYXRBcnJheXMpIHsKLSAgICAgIHJlbmRlcmVyID0gc2lnbWEud2ViZ2wubm9kZXNba107Ci0gICAgICBhID0gdGhpcy5ub2RlRmxvYXRBcnJheXNba10ubm9kZXM7Ci0KLSAgICAgIC8vIENyZWF0aW5nIHRoZSBuZWNlc3NhcnkgYXJyYXlzCi0gICAgICB0aGlzLm5vZGVGbG9hdEFycmF5c1trXS5hcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoCi0gICAgICAgIGEubGVuZ3RoICogcmVuZGVyZXIuUE9JTlRTICogcmVuZGVyZXIuQVRUUklCVVRFUwotICAgICAgKTsKLQotICAgICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICAgIGlmICghdGhpcy5ub2RlRmxvYXRBcnJheXNba10uYXJyYXkpCi0gICAgICAgICAgdGhpcy5ub2RlRmxvYXRBcnJheXNba10uYXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KAotICAgICAgICAgICAgYS5sZW5ndGggKiByZW5kZXJlci5QT0lOVFMgKiByZW5kZXJlci5BVFRSSUJVVEVTCi0gICAgICAgICAgKTsKLQotICAgICAgICAvLyBKdXN0IGNoZWNrIHRoYXQgdGhlIGVkZ2UgYW5kIGJvdGggaXRzIGV4dHJlbWl0aWVzIGFyZSB2aXNpYmxlOgotICAgICAgICBpZiAoCi0gICAgICAgICAgIWFbaV0uaGlkZGVuCi0gICAgICAgICkKLSAgICAgICAgICByZW5kZXJlci5hZGROb2RlKAotICAgICAgICAgICAgYVtpXSwKLSAgICAgICAgICAgIHRoaXMubm9kZUZsb2F0QXJyYXlzW2tdLmFycmF5LAotICAgICAgICAgICAgaSAqIHJlbmRlcmVyLlBPSU5UUyAqIHJlbmRlcmVyLkFUVFJJQlVURVMsCi0gICAgICAgICAgICBvcHRpb25zLnByZWZpeCwKLSAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MKLSAgICAgICAgICApOwotICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0KLQotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCByZW5kZXJzIHRoZSBncmFwaC4gSXQgYmFzaWNhbGx5IGNhbGxzIGVhY2ggcHJvZ3JhbSAoYW5kCi0gICAqIGdlbmVyYXRlIHRoZW0gaWYgdGhleSBkbyBub3QgZXhpc3QgeWV0KSB0byByZW5kZXIgbm9kZXMgYW5kIGVkZ2VzLCBiYXRjaGVkCi0gICAqIHBlciByZW5kZXJlci4KLSAgICoKLSAgICogQXMgaW4gdGhlIGNhbnZhcyByZW5kZXJlciwgaXQgaXMgcG9zc2libGUgdG8gZGlzcGxheSBlZGdlcywgbm9kZXMgYW5kIC8gb3IKLSAgICogbGFiZWxzIGluIGJhdGNoZXMsIHRvIG1ha2UgdGhlIHdob2xlIHRoaW5nIHdheSBtb3JlIHNjYWxhYmxlLgotICAgKgotICAgKiBAcGFyYW0gIHs/b2JqZWN0fSAgICAgICAgICAgICAgIHBhcmFtcyBFdmVudHVhbGx5IGFuIG9iamVjdCBvZiBvcHRpb25zLgotICAgKiBAcmV0dXJuIHtzaWdtYS5yZW5kZXJlcnMud2ViZ2x9ICAgICAgICBSZXR1cm5zIHRoZSBpbnN0YW5jZSBpdHNlbGYuCi0gICAqLwotICBzaWdtYS5yZW5kZXJlcnMud2ViZ2wucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uKHBhcmFtcykgewotICAgIHZhciBhLAotICAgICAgICBpLAotICAgICAgICBsLAotICAgICAgICBrLAotICAgICAgICBvLAotICAgICAgICBwcm9ncmFtLAotICAgICAgICByZW5kZXJlciwKLSAgICAgICAgc2VsZiA9IHRoaXMsCi0gICAgICAgIGdyYXBoID0gdGhpcy5ncmFwaCwKLSAgICAgICAgbm9kZXNHbCA9IHRoaXMuY29udGV4dHMubm9kZXMsCi0gICAgICAgIGVkZ2VzR2wgPSB0aGlzLmNvbnRleHRzLmVkZ2VzLAotICAgICAgICBtYXRyaXggPSB0aGlzLmNhbWVyYS5nZXRNYXRyaXgoKSwKLSAgICAgICAgb3B0aW9ucyA9IHNpZ21hLnV0aWxzLmV4dGVuZChwYXJhbXMsIHRoaXMub3B0aW9ucyksCi0gICAgICAgIGRyYXdMYWJlbHMgPSB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkcmF3TGFiZWxzJyksCi0gICAgICAgIGRyYXdFZGdlcyA9IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2RyYXdFZGdlcycpLAotICAgICAgICBkcmF3Tm9kZXMgPSB0aGlzLnNldHRpbmdzKG9wdGlvbnMsICdkcmF3Tm9kZXMnKTsKLQotICAgIC8vIENhbGwgdGhlIHJlc2l6ZSBmdW5jdGlvbjoKLSAgICB0aGlzLnJlc2l6ZShmYWxzZSk7Ci0KLSAgICAvLyBDaGVjayB0aGUgJ2hpZGVFZGdlc09uTW92ZScgc2V0dGluZzoKLSAgICBpZiAodGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnaGlkZUVkZ2VzT25Nb3ZlJykpCi0gICAgICBpZiAodGhpcy5jYW1lcmEuaXNBbmltYXRlZCB8fCB0aGlzLmNhbWVyYS5pc01vdmluZykKLSAgICAgICAgZHJhd0VkZ2VzID0gZmFsc2U7Ci0KLSAgICAvLyBDbGVhciBjYW52YXNlczoKLSAgICB0aGlzLmNsZWFyKCk7Ci0KLSAgICAvLyBUcmFuc2xhdGUgbWF0cml4IHRvIFt3aWR0aC8yLCBoZWlnaHQvMl06Ci0gICAgbWF0cml4ID0gc2lnbWEudXRpbHMubWF0cmljZXMubXVsdGlwbHkoCi0gICAgICBtYXRyaXgsCi0gICAgICBzaWdtYS51dGlscy5tYXRyaWNlcy50cmFuc2xhdGlvbih0aGlzLndpZHRoIC8gMiwgdGhpcy5oZWlnaHQgLyAyKQotICAgICk7Ci0KLSAgICAvLyBLaWxsIHJ1bm5pbmcgam9iczoKLSAgICBmb3IgKGsgaW4gdGhpcy5qb2JzKQotICAgICAgaWYgKGNvbnJhZC5oYXNKb2IoaykpCi0gICAgICAgIGNvbnJhZC5raWxsSm9iKGspOwotCi0gICAgaWYgKGRyYXdFZGdlcykgewotICAgICAgaWYgKHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2JhdGNoRWRnZXNEcmF3aW5nJykpCi0gICAgICAgIChmdW5jdGlvbigpIHsKLSAgICAgICAgICB2YXIgYSwKLSAgICAgICAgICAgICAgaywKLSAgICAgICAgICAgICAgaSwKLSAgICAgICAgICAgICAgaWQsCi0gICAgICAgICAgICAgIGpvYiwKLSAgICAgICAgICAgICAgYXJyLAotICAgICAgICAgICAgICBlbmQsCi0gICAgICAgICAgICAgIHN0YXJ0LAotICAgICAgICAgICAgICBpbmRpY2VzLAotICAgICAgICAgICAgICByZW5kZXJlciwKLSAgICAgICAgICAgICAgYmF0Y2hTaXplLAotICAgICAgICAgICAgICBjdXJyZW50UHJvZ3JhbTsKLQotICAgICAgICAgIGlkID0gJ2VkZ2VzXycgKyB0aGlzLmNvbnJhZElkOwotICAgICAgICAgIGJhdGNoU2l6ZSA9IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ3dlYmdsRWRnZXNCYXRjaFNpemUnKTsKLSAgICAgICAgICBhID0gT2JqZWN0LmtleXModGhpcy5lZGdlRmxvYXRBcnJheXMpOwotCi0gICAgICAgICAgaWYgKCFhLmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICBpID0gMDsKLSAgICAgICAgICByZW5kZXJlciA9IHNpZ21hLndlYmdsLmVkZ2VzW2FbaV1dOwotICAgICAgICAgIGFyciA9IHRoaXMuZWRnZUZsb2F0QXJyYXlzW2FbaV1dLmFycmF5OwotICAgICAgICAgIGluZGljZXMgPSB0aGlzLmVkZ2VJbmRpY2VzQXJyYXlzW2FbaV1dOwotICAgICAgICAgIHN0YXJ0ID0gMDsKLSAgICAgICAgICBlbmQgPSBNYXRoLm1pbigKLSAgICAgICAgICAgIHN0YXJ0ICsgYmF0Y2hTaXplICogcmVuZGVyZXIuUE9JTlRTLAotICAgICAgICAgICAgYXJyLmxlbmd0aCAvIHJlbmRlcmVyLkFUVFJJQlVURVMKLSAgICAgICAgICApOwotCi0gICAgICAgICAgam9iID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAvLyBDaGVjayBwcm9ncmFtOgotICAgICAgICAgICAgaWYgKCF0aGlzLmVkZ2VQcm9ncmFtc1thW2ldXSkKLSAgICAgICAgICAgICAgdGhpcy5lZGdlUHJvZ3JhbXNbYVtpXV0gPSByZW5kZXJlci5pbml0UHJvZ3JhbShlZGdlc0dsKTsKLQotICAgICAgICAgICAgaWYgKHN0YXJ0IDwgZW5kKSB7Ci0gICAgICAgICAgICAgIGVkZ2VzR2wudXNlUHJvZ3JhbSh0aGlzLmVkZ2VQcm9ncmFtc1thW2ldXSk7Ci0gICAgICAgICAgICAgIHJlbmRlcmVyLnJlbmRlcigKLSAgICAgICAgICAgICAgICBlZGdlc0dsLAotICAgICAgICAgICAgICAgIHRoaXMuZWRnZVByb2dyYW1zW2FbaV1dLAotICAgICAgICAgICAgICAgIGFyciwKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICBzZXR0aW5nczogdGhpcy5zZXR0aW5ncywKLSAgICAgICAgICAgICAgICAgIG1hdHJpeDogbWF0cml4LAotICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsCi0gICAgICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgcmF0aW86IHRoaXMuY2FtZXJhLnJhdGlvLAotICAgICAgICAgICAgICAgICAgc2NhbGluZ1JhdGlvOiB0aGlzLnNldHRpbmdzKAotICAgICAgICAgICAgICAgICAgICBvcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAnd2ViZ2xPdmVyc2FtcGxpbmdSYXRpbycKLSAgICAgICAgICAgICAgICAgICksCi0gICAgICAgICAgICAgICAgICBzdGFydDogc3RhcnQsCi0gICAgICAgICAgICAgICAgICBjb3VudDogZW5kIC0gc3RhcnQsCi0gICAgICAgICAgICAgICAgICBpbmRpY2VzRGF0YTogaW5kaWNlcwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gQ2F0Y2ggam9iJ3MgZW5kOgotICAgICAgICAgICAgaWYgKAotICAgICAgICAgICAgICBlbmQgPj0gYXJyLmxlbmd0aCAvIHJlbmRlcmVyLkFUVFJJQlVURVMgJiYKLSAgICAgICAgICAgICAgaSA9PT0gYS5sZW5ndGggLSAxCi0gICAgICAgICAgICApIHsKLSAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuam9ic1tpZF07Ci0gICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKGVuZCA+PSBhcnIubGVuZ3RoIC8gcmVuZGVyZXIuQVRUUklCVVRFUykgewotICAgICAgICAgICAgICBpKys7Ci0gICAgICAgICAgICAgIGFyciA9IHRoaXMuZWRnZUZsb2F0QXJyYXlzW2FbaV1dLmFycmF5OwotICAgICAgICAgICAgICByZW5kZXJlciA9IHNpZ21hLndlYmdsLmVkZ2VzW2FbaV1dOwotICAgICAgICAgICAgICBzdGFydCA9IDA7Ci0gICAgICAgICAgICAgIGVuZCA9IE1hdGgubWluKAotICAgICAgICAgICAgICAgIHN0YXJ0ICsgYmF0Y2hTaXplICogcmVuZGVyZXIuUE9JTlRTLAotICAgICAgICAgICAgICAgIGFyci5sZW5ndGggLyByZW5kZXJlci5BVFRSSUJVVEVTCi0gICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICBzdGFydCA9IGVuZDsKLSAgICAgICAgICAgICAgZW5kID0gTWF0aC5taW4oCi0gICAgICAgICAgICAgICAgc3RhcnQgKyBiYXRjaFNpemUgKiByZW5kZXJlci5QT0lOVFMsCi0gICAgICAgICAgICAgICAgYXJyLmxlbmd0aCAvIHJlbmRlcmVyLkFUVFJJQlVURVMKLSAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgfTsKLQotICAgICAgICAgIHRoaXMuam9ic1tpZF0gPSBqb2I7Ci0gICAgICAgICAgY29ucmFkLmFkZEpvYihpZCwgam9iLmJpbmQodGhpcykpOwotICAgICAgICB9KS5jYWxsKHRoaXMpOwotICAgICAgZWxzZSB7Ci0gICAgICAgIGZvciAoayBpbiB0aGlzLmVkZ2VGbG9hdEFycmF5cykgewotICAgICAgICAgIHJlbmRlcmVyID0gc2lnbWEud2ViZ2wuZWRnZXNba107Ci0KLSAgICAgICAgICAvLyBDaGVjayBwcm9ncmFtOgotICAgICAgICAgIGlmICghdGhpcy5lZGdlUHJvZ3JhbXNba10pCi0gICAgICAgICAgICB0aGlzLmVkZ2VQcm9ncmFtc1trXSA9IHJlbmRlcmVyLmluaXRQcm9ncmFtKGVkZ2VzR2wpOwotCi0gICAgICAgICAgLy8gUmVuZGVyCi0gICAgICAgICAgaWYgKHRoaXMuZWRnZUZsb2F0QXJyYXlzW2tdKSB7Ci0gICAgICAgICAgICBlZGdlc0dsLnVzZVByb2dyYW0odGhpcy5lZGdlUHJvZ3JhbXNba10pOwotICAgICAgICAgICAgcmVuZGVyZXIucmVuZGVyKAotICAgICAgICAgICAgICBlZGdlc0dsLAotICAgICAgICAgICAgICB0aGlzLmVkZ2VQcm9ncmFtc1trXSwKLSAgICAgICAgICAgICAgdGhpcy5lZGdlRmxvYXRBcnJheXNba10uYXJyYXksCi0gICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBzZXR0aW5nczogdGhpcy5zZXR0aW5ncywKLSAgICAgICAgICAgICAgICBtYXRyaXg6IG1hdHJpeCwKLSAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCwKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LAotICAgICAgICAgICAgICAgIHJhdGlvOiB0aGlzLmNhbWVyYS5yYXRpbywKLSAgICAgICAgICAgICAgICBzY2FsaW5nUmF0aW86IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ3dlYmdsT3ZlcnNhbXBsaW5nUmF0aW8nKSwKLSAgICAgICAgICAgICAgICBpbmRpY2VzRGF0YTogdGhpcy5lZGdlSW5kaWNlc0FycmF5c1trXQotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0KLQotICAgIGlmIChkcmF3Tm9kZXMpIHsKLSAgICAgIC8vIEVuYWJsZSBibGVuZGluZzoKLSAgICAgIG5vZGVzR2wuYmxlbmRGdW5jKG5vZGVzR2wuU1JDX0FMUEhBLCBub2Rlc0dsLk9ORV9NSU5VU19TUkNfQUxQSEEpOwotICAgICAgbm9kZXNHbC5lbmFibGUobm9kZXNHbC5CTEVORCk7Ci0KLSAgICAgIGZvciAoayBpbiB0aGlzLm5vZGVGbG9hdEFycmF5cykgewotICAgICAgICByZW5kZXJlciA9IHNpZ21hLndlYmdsLm5vZGVzW2tdOwotCi0gICAgICAgIC8vIENoZWNrIHByb2dyYW06Ci0gICAgICAgIGlmICghdGhpcy5ub2RlUHJvZ3JhbXNba10pCi0gICAgICAgICAgdGhpcy5ub2RlUHJvZ3JhbXNba10gPSByZW5kZXJlci5pbml0UHJvZ3JhbShub2Rlc0dsKTsKLQotICAgICAgICAvLyBSZW5kZXIKLSAgICAgICAgaWYgKHRoaXMubm9kZUZsb2F0QXJyYXlzW2tdKSB7Ci0gICAgICAgICAgbm9kZXNHbC51c2VQcm9ncmFtKHRoaXMubm9kZVByb2dyYW1zW2tdKTsKLSAgICAgICAgICByZW5kZXJlci5yZW5kZXIoCi0gICAgICAgICAgICBub2Rlc0dsLAotICAgICAgICAgICAgdGhpcy5ub2RlUHJvZ3JhbXNba10sCi0gICAgICAgICAgICB0aGlzLm5vZGVGbG9hdEFycmF5c1trXS5hcnJheSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgc2V0dGluZ3M6IHRoaXMuc2V0dGluZ3MsCi0gICAgICAgICAgICAgIG1hdHJpeDogbWF0cml4LAotICAgICAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCwKLSAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCwKLSAgICAgICAgICAgICAgcmF0aW86IHRoaXMuY2FtZXJhLnJhdGlvLAotICAgICAgICAgICAgICBzY2FsaW5nUmF0aW86IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ3dlYmdsT3ZlcnNhbXBsaW5nUmF0aW8nKQotICAgICAgICAgICAgfQotICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoZHJhd0xhYmVscykgewotICAgICAgYSA9IHRoaXMuY2FtZXJhLnF1YWR0cmVlLmFyZWEoCi0gICAgICAgIHRoaXMuY2FtZXJhLmdldFJlY3RhbmdsZSh0aGlzLndpZHRoLCB0aGlzLmhlaWdodCkKLSAgICAgICk7Ci0KLSAgICAgIC8vIEFwcGx5IGNhbWVyYSB2aWV3IHRvIHRoZXNlIG5vZGVzOgotICAgICAgdGhpcy5jYW1lcmEuYXBwbHlWaWV3KAotICAgICAgICB1bmRlZmluZWQsCi0gICAgICAgIHVuZGVmaW5lZCwKLSAgICAgICAgewotICAgICAgICAgIG5vZGVzOiBhLAotICAgICAgICAgIGVkZ2VzOiBbXSwKLSAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCwKLSAgICAgICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0Ci0gICAgICAgIH0KLSAgICAgICk7Ci0KLSAgICAgIG8gPSBmdW5jdGlvbihrZXkpIHsKLSAgICAgICAgcmV0dXJuIHNlbGYuc2V0dGluZ3MoewotICAgICAgICAgIHByZWZpeDogc2VsZi5jYW1lcmEucHJlZml4Ci0gICAgICAgIH0sIGtleSk7Ci0gICAgICB9OwotCi0gICAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIGlmICghYVtpXS5oaWRkZW4pCi0gICAgICAgICAgKAotICAgICAgICAgICAgc2lnbWEuY2FudmFzLmxhYmVsc1sKLSAgICAgICAgICAgICAgYVtpXS50eXBlIHx8Ci0gICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2RlZmF1bHROb2RlVHlwZScpCi0gICAgICAgICAgICBdIHx8IHNpZ21hLmNhbnZhcy5sYWJlbHMuZGVmCi0gICAgICAgICAgKShhW2ldLCB0aGlzLmNvbnRleHRzLmxhYmVscywgbyk7Ci0gICAgfQotCi0gICAgdGhpcy5kaXNwYXRjaEV2ZW50KCdyZW5kZXInKTsKLQotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0KLQotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgRE9NIGVsZW1lbnQgb2YgdGhlIHNwZWNpZmllZCB0eXBlLCBzd2l0Y2hlcyBpdHMKLSAgICogcG9zaXRpb24gdG8gImFic29sdXRlIiwgcmVmZXJlbmNlcyBpdCB0byB0aGUgZG9tRWxlbWVudHMgYXR0cmlidXRlLCBhbmQKLSAgICogZmluYWxseSBhcHBlbmRzIGl0IHRvIHRoZSBjb250YWluZXIuCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ30gICB0YWcgICBUaGUgbGFiZWwgdGFnLgotICAgKiBAcGFyYW0gIHtzdHJpbmd9ICAgaWQgICAgVGhlIGlkIG9mIHRoZSBlbGVtZW50ICh0byBzdG9yZSBpdCBpbgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgImRvbUVsZW1lbnRzIikuCi0gICAqIEBwYXJhbSAgez9ib29sZWFufSB3ZWJnbCBXaWxsIGluaXQgdGhlIFdlYkdMIGNvbnRleHQgaWYgdHJ1ZS4KLSAgICovCi0gIHNpZ21hLnJlbmRlcmVycy53ZWJnbC5wcm90b3R5cGUuaW5pdERPTSA9IGZ1bmN0aW9uKHRhZywgaWQsIHdlYmdsKSB7Ci0gICAgdmFyIGdsLAotICAgICAgICBkb20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyksCi0gICAgICAgIHNlbGYgPSB0aGlzOwotCi0gICAgZG9tLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKLSAgICBkb20uc2V0QXR0cmlidXRlKCdjbGFzcycsICdzaWdtYS0nICsgaWQpOwotCi0gICAgdGhpcy5kb21FbGVtZW50c1tpZF0gPSBkb207Ci0gICAgdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoZG9tKTsKLQotICAgIGlmICh0YWcudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbnZhcycpIHsKLSAgICAgIHRoaXMuY29udGV4dHNbaWRdID0gZG9tLmdldENvbnRleHQod2ViZ2wgPyAnZXhwZXJpbWVudGFsLXdlYmdsJyA6ICcyZCcsIHsKLSAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlCi0gICAgICB9KTsKLQotICAgICAgLy8gQWRkaW5nIHdlYmdsIGNvbnRleHQgbG9zcyBsaXN0ZW5lcnMKLSAgICAgIGlmICh3ZWJnbCkgewotICAgICAgICBkb20uYWRkRXZlbnRMaXN0ZW5lcignd2ViZ2xjb250ZXh0bG9zdCcsIGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICAgIH0sIGZhbHNlKTsKLQotICAgICAgICBkb20uYWRkRXZlbnRMaXN0ZW5lcignd2ViZ2xjb250ZXh0cmVzdG9yZWQnLCBmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgc2VsZi5yZW5kZXIoKTsKLSAgICAgICAgfSwgZmFsc2UpOwotICAgICAgfQotICAgIH0KLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgcmVzaXplcyBlYWNoIERPTSBlbGVtZW50cyBpbiB0aGUgY29udGFpbmVyIGFuZCBzdG9yZXMgdGhlIG5ldwotICAgKiBkaW1lbnNpb25zLiBUaGVuLCBpdCByZW5kZXJzIHRoZSBncmFwaC4KLSAgICoKLSAgICogQHBhcmFtICB7P251bWJlcn0gICAgICAgICAgICAgICB3aWR0aCAgVGhlIG5ldyB3aWR0aCBvZiB0aGUgY29udGFpbmVyLgotICAgKiBAcGFyYW0gIHs/bnVtYmVyfSAgICAgICAgICAgICAgIGhlaWdodCBUaGUgbmV3IGhlaWdodCBvZiB0aGUgY29udGFpbmVyLgotICAgKiBAcmV0dXJuIHtzaWdtYS5yZW5kZXJlcnMud2ViZ2x9ICAgICAgICBSZXR1cm5zIHRoZSBpbnN0YW5jZSBpdHNlbGYuCi0gICAqLwotICBzaWdtYS5yZW5kZXJlcnMud2ViZ2wucHJvdG90eXBlLnJlc2l6ZSA9IGZ1bmN0aW9uKHcsIGgpIHsKLSAgICB2YXIgaywKLSAgICAgICAgb2xkV2lkdGggPSB0aGlzLndpZHRoLAotICAgICAgICBvbGRIZWlnaHQgPSB0aGlzLmhlaWdodCwKLSAgICAgICAgcGl4ZWxSYXRpbyA9IHNpZ21hLnV0aWxzLmdldFBpeGVsUmF0aW8oKTsKLQotICAgIGlmICh3ICE9PSB1bmRlZmluZWQgJiYgaCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICB0aGlzLndpZHRoID0gdzsKLSAgICAgIHRoaXMuaGVpZ2h0ID0gaDsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy53aWR0aCA9IHRoaXMuY29udGFpbmVyLm9mZnNldFdpZHRoOwotICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7Ci0KLSAgICAgIHcgPSB0aGlzLndpZHRoOwotICAgICAgaCA9IHRoaXMuaGVpZ2h0OwotICAgIH0KLQotICAgIGlmIChvbGRXaWR0aCAhPT0gdGhpcy53aWR0aCB8fCBvbGRIZWlnaHQgIT09IHRoaXMuaGVpZ2h0KSB7Ci0gICAgICBmb3IgKGsgaW4gdGhpcy5kb21FbGVtZW50cykgewotICAgICAgICB0aGlzLmRvbUVsZW1lbnRzW2tdLnN0eWxlLndpZHRoID0gdyArICdweCc7Ci0gICAgICAgIHRoaXMuZG9tRWxlbWVudHNba10uc3R5bGUuaGVpZ2h0ID0gaCArICdweCc7Ci0KLSAgICAgICAgaWYgKHRoaXMuZG9tRWxlbWVudHNba10udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnY2FudmFzJykgewotICAgICAgICAgIC8vIElmIHNpbXBsZSAyRCBjYW52YXM6Ci0gICAgICAgICAgaWYgKHRoaXMuY29udGV4dHNba10gJiYgdGhpcy5jb250ZXh0c1trXS5zY2FsZSkgewotICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50c1trXS5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgKHcgKiBwaXhlbFJhdGlvKSArICdweCcpOwotICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50c1trXS5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIChoICogcGl4ZWxSYXRpbykgKyAncHgnKTsKLQotICAgICAgICAgICAgaWYgKHBpeGVsUmF0aW8gIT09IDEpCi0gICAgICAgICAgICAgIHRoaXMuY29udGV4dHNba10uc2NhbGUocGl4ZWxSYXRpbywgcGl4ZWxSYXRpbyk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudHNba10uc2V0QXR0cmlidXRlKAotICAgICAgICAgICAgICAnd2lkdGgnLAotICAgICAgICAgICAgICAodyAqIHRoaXMuc2V0dGluZ3MoJ3dlYmdsT3ZlcnNhbXBsaW5nUmF0aW8nKSkgKyAncHgnCi0gICAgICAgICAgICApOwotICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50c1trXS5zZXRBdHRyaWJ1dGUoCi0gICAgICAgICAgICAgICdoZWlnaHQnLAotICAgICAgICAgICAgICAoaCAqIHRoaXMuc2V0dGluZ3MoJ3dlYmdsT3ZlcnNhbXBsaW5nUmF0aW8nKSkgKyAncHgnCi0gICAgICAgICAgICApOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0KLQotICAgIC8vIFNjYWxlOgotICAgIGZvciAoayBpbiB0aGlzLmNvbnRleHRzKQotICAgICAgaWYgKHRoaXMuY29udGV4dHNba10gJiYgdGhpcy5jb250ZXh0c1trXS52aWV3cG9ydCkKLSAgICAgICAgdGhpcy5jb250ZXh0c1trXS52aWV3cG9ydCgKLSAgICAgICAgICAwLAotICAgICAgICAgIDAsCi0gICAgICAgICAgdGhpcy53aWR0aCAqIHRoaXMuc2V0dGluZ3MoJ3dlYmdsT3ZlcnNhbXBsaW5nUmF0aW8nKSwKLSAgICAgICAgICB0aGlzLmhlaWdodCAqIHRoaXMuc2V0dGluZ3MoJ3dlYmdsT3ZlcnNhbXBsaW5nUmF0aW8nKQotICAgICAgICApOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGNsZWFycyBlYWNoIGNhbnZhcy4KLSAgICoKLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLndlYmdsfSBSZXR1cm5zIHRoZSBpbnN0YW5jZSBpdHNlbGYuCi0gICAqLwotICBzaWdtYS5yZW5kZXJlcnMud2ViZ2wucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24oKSB7Ci0gICAgdGhpcy5jb250ZXh0cy5sYWJlbHMuY2xlYXJSZWN0KDAsIDAsIHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTsKLSAgICB0aGlzLmNvbnRleHRzLm5vZGVzLmNsZWFyKHRoaXMuY29udGV4dHMubm9kZXMuQ09MT1JfQlVGRkVSX0JJVCk7Ci0gICAgdGhpcy5jb250ZXh0cy5lZGdlcy5jbGVhcih0aGlzLmNvbnRleHRzLmVkZ2VzLkNPTE9SX0JVRkZFUl9CSVQpOwotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIGtpbGxzIGNvbnRleHRzIGFuZCBvdGhlciBhdHRyaWJ1dGVzLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLndlYmdsLnByb3RvdHlwZS5raWxsID0gZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGssCi0gICAgICAgIGNhcHRvcjsKLQotICAgIC8vIEtpbGwgY2FwdG9yczoKLSAgICB3aGlsZSAoKGNhcHRvciA9IHRoaXMuY2FwdG9ycy5wb3AoKSkpCi0gICAgICBjYXB0b3Iua2lsbCgpOwotICAgIGRlbGV0ZSB0aGlzLmNhcHRvcnM7Ci0KLSAgICAvLyBLaWxsIGNvbnRleHRzOgotICAgIGZvciAoayBpbiB0aGlzLmRvbUVsZW1lbnRzKSB7Ci0gICAgICB0aGlzLmRvbUVsZW1lbnRzW2tdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kb21FbGVtZW50c1trXSk7Ci0gICAgICBkZWxldGUgdGhpcy5kb21FbGVtZW50c1trXTsKLSAgICAgIGRlbGV0ZSB0aGlzLmNvbnRleHRzW2tdOwotICAgIH0KLSAgICBkZWxldGUgdGhpcy5kb21FbGVtZW50czsKLSAgICBkZWxldGUgdGhpcy5jb250ZXh0czsKLSAgfTsKLQotCi0KLQotICAvKioKLSAgICogVGhlIG9iamVjdCAic2lnbWEud2ViZ2wubm9kZXMiIGNvbnRhaW5zIHRoZSBkaWZmZXJlbnQgV2ViR0wgbm9kZQotICAgKiByZW5kZXJlcnMuIFRoZSBkZWZhdWx0IG9uZSBkcmF3IG5vZGVzIGFzIGRpc2NzLiBIZXJlIGFyZSB0aGUgYXR0cmlidXRlcwotICAgKiBhbnkgbm9kZSByZW5kZXJlciBtdXN0IGhhdmU6Ci0gICAqCi0gICAqIHtudW1iZXJ9ICAgUE9JTlRTICAgICAgVGhlIG51bWJlciBvZiBwb2ludHMgcmVxdWlyZWQgdG8gZHJhdyBhIG5vZGUuCi0gICAqIHtudW1iZXJ9ICAgQVRUUklCVVRFUyAgVGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG5lZWRlZCB0byBkcmF3IG9uZSBwb2ludC4KLSAgICoge2Z1bmN0aW9ufSBhZGROb2RlICAgICBBIGZ1bmN0aW9uIHRoYXQgYWRkcyBhIG5vZGUgdG8gdGhlIGRhdGEgc3RhY2sgdGhhdAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIGJ1ZmZlci4gSGVyZSBpcyB0aGUgYXJndW1lbnRzOgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgID4ge29iamVjdH0gICAgICAgbm9kZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgID4ge251bWJlcn0gICAgICAgaW5kZXggICBUaGUgbm9kZSBpbmRleCBpbiB0aGUKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMgYXJyYXkuCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7RmxvYXQzMkFycmF5fSBkYXRhICAgIFRoZSBzdGFjay4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICA+IHtvYmplY3R9ICAgICAgIG9wdGlvbnMgU29tZSBvcHRpb25zLgotICAgKiB7ZnVuY3Rpb259IHJlbmRlciAgICAgIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgZWZmZWN0aXZlbHkgcmVuZGVyIHRoZSBub2RlcwotICAgKiAgICAgICAgICAgICAgICAgICAgICAgIGludG8gdGhlIGJ1ZmZlci4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICA+IHtXZWJHTFJlbmRlcmluZ0NvbnRleHR9IGdsCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7V2ViR0xQcm9ncmFtfSAgICAgICAgICBwcm9ncmFtCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7RmxvYXQzMkFycmF5fSBkYXRhICAgIFRoZSBzdGFjayB0byBnaXZlIHRvIHRoZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIuCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7b2JqZWN0fSAgICAgICBwYXJhbXMgIEFuIG9iamVjdCBjb250YWluaW5nIHNvbWUKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucywgbGlrZSB3aWR0aCwKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0LCB0aGUgY2FtZXJhIHJhdGlvLgotICAgKiB7ZnVuY3Rpb259IGluaXRQcm9ncmFtIFRoZSBmdW5jdGlvbiB0aGF0IHdpbGwgaW5pdGlhdGUgdGhlIHByb2dyYW0sIHdpdGgKLSAgICogICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmVsZXZhbnQgc2hhZGVycyBhbmQgcGFyYW1ldGVycy4gSXQgbXVzdCByZXR1cm4KLSAgICogICAgICAgICAgICAgICAgICAgICAgICB0aGUgbmV3bHkgY3JlYXRlZCBwcm9ncmFtLgotICAgKgotICAgKiBDaGVjayBzaWdtYS53ZWJnbC5ub2Rlcy5kZWYgb3Igc2lnbWEud2ViZ2wubm9kZXMuZmFzdCB0byBzZWUgaG93IGl0Ci0gICAqIHdvcmtzIG1vcmUgcHJlY2lzZWx5LgotICAgKi8KLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS53ZWJnbC5ub2RlcycpOwotCi0KLQotCi0gIC8qKgotICAgKiBUaGUgb2JqZWN0ICJzaWdtYS53ZWJnbC5lZGdlcyIgY29udGFpbnMgdGhlIGRpZmZlcmVudCBXZWJHTCBlZGdlCi0gICAqIHJlbmRlcmVycy4gVGhlIGRlZmF1bHQgb25lIGRyYXcgZWRnZXMgYXMgZGlyZWN0IGxpbmVzLiBIZXJlIGFyZSB0aGUKLSAgICogYXR0cmlidXRlcyBhbnkgZWRnZSByZW5kZXJlciBtdXN0IGhhdmU6Ci0gICAqCi0gICAqIHtudW1iZXJ9ICAgUE9JTlRTICAgICAgVGhlIG51bWJlciBvZiBwb2ludHMgcmVxdWlyZWQgdG8gZHJhdyBhbiBlZGdlLgotICAgKiB7bnVtYmVyfSAgIEFUVFJJQlVURVMgIFRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBuZWVkZWQgdG8gZHJhdyBvbmUgcG9pbnQuCi0gICAqIHtmdW5jdGlvbn0gYWRkRWRnZSAgICAgQSBmdW5jdGlvbiB0aGF0IGFkZHMgYW4gZWRnZSB0byB0aGUgZGF0YSBzdGFjayB0aGF0Ci0gICAqICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBiZSBnaXZlbiB0byB0aGUgYnVmZmVyLiBIZXJlIGlzIHRoZSBhcmd1bWVudHM6Ci0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7b2JqZWN0fSAgICAgICBlZGdlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7b2JqZWN0fSAgICAgICBzb3VyY2UKLSAgICogICAgICAgICAgICAgICAgICAgICAgICA+IHtvYmplY3R9ICAgICAgIHRhcmdldAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgID4ge0Zsb2F0MzJBcnJheX0gZGF0YSAgICBUaGUgc3RhY2suCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7b2JqZWN0fSAgICAgICBvcHRpb25zIFNvbWUgb3B0aW9ucy4KLSAgICoge2Z1bmN0aW9ufSByZW5kZXIgICAgICBUaGUgZnVuY3Rpb24gdGhhdCB3aWxsIGVmZmVjdGl2ZWx5IHJlbmRlciB0aGUgZWRnZXMKLSAgICogICAgICAgICAgICAgICAgICAgICAgICBpbnRvIHRoZSBidWZmZXIuCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgPiB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgID4ge1dlYkdMUHJvZ3JhbX0gICAgICAgICAgcHJvZ3JhbQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgID4ge0Zsb2F0MzJBcnJheX0gZGF0YSAgICBUaGUgc3RhY2sgdG8gZ2l2ZSB0byB0aGUKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgID4ge29iamVjdH0gICAgICAgcGFyYW1zICBBbiBvYmplY3QgY29udGFpbmluZyBzb21lCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsIGxpa2Ugd2lkdGgsCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCwgdGhlIGNhbWVyYSByYXRpby4KLSAgICoge2Z1bmN0aW9ufSBpbml0UHJvZ3JhbSBUaGUgZnVuY3Rpb24gdGhhdCB3aWxsIGluaXRpYXRlIHRoZSBwcm9ncmFtLCB3aXRoCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJlbGV2YW50IHNoYWRlcnMgYW5kIHBhcmFtZXRlcnMuIEl0IG11c3QgcmV0dXJuCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG5ld2x5IGNyZWF0ZWQgcHJvZ3JhbS4KLSAgICoKLSAgICogQ2hlY2sgc2lnbWEud2ViZ2wuZWRnZXMuZGVmIG9yIHNpZ21hLndlYmdsLmVkZ2VzLmZhc3QgdG8gc2VlIGhvdyBpdAotICAgKiB3b3JrcyBtb3JlIHByZWNpc2VseS4KLSAgICovCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEud2ViZ2wuZWRnZXMnKTsKLQotCi0KLQotICAvKioKLSAgICogVGhlIG9iamVjdCAic2lnbWEuY2FudmFzLmxhYmVscyIgY29udGFpbnMgdGhlIGRpZmZlcmVudAotICAgKiBsYWJlbCByZW5kZXJlcnMgZm9yIHRoZSBXZWJHTCByZW5kZXJlci4gU2luY2UgZGlzcGxheWluZyB0ZXh0cyBpbiBXZWJHTCBpcwotICAgKiBkZWZpbml0ZWx5IHBhaW5mdWwgYW5kIHNpbmNlIHRoZXJlIGEgd2F5IGxlc3MgbGFiZWxzIHRvIGRpc3BsYXkgdGhhbiBub2RlcwotICAgKiBvciBlZGdlcywgdGhlIGRlZmF1bHQgcmVuZGVyZXIgc2ltcGx5IHJlbmRlcnMgdGhlbSBpbiBhIGNhbnZhcy4KLSAgICoKLSAgICogQSBsYWJlbHMgcmVuZGVyZXIgaXMgYSBzaW1wbGUgZnVuY3Rpb24sIHRha2luZyBhcyBhcmd1bWVudHMgdGhlIHJlbGF0ZWQKLSAgICogbm9kZSwgdGhlIHJlbmRlcmVyIGFuZCBhIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKi8KLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5jYW52YXMubGFiZWxzJyk7Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgaWYgKHR5cGVvZiBjb25yYWQgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdjb25yYWQgaXMgbm90IGRlY2xhcmVkJzsKLQotICAvLyBJbml0aWFsaXplIHBhY2thZ2VzOgotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnJlbmRlcmVycycpOwotCi0gIC8qKgotICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgc3ZnIHNpZ21hJ3MgcmVuZGVyZXIuCi0gICAqCi0gICAqIEBwYXJhbSAge3NpZ21hLmNsYXNzZXMuZ3JhcGh9ICAgICAgICAgICAgZ3JhcGggICAgVGhlIGdyYXBoIHRvIHJlbmRlci4KLSAgICogQHBhcmFtICB7c2lnbWEuY2xhc3Nlcy5jYW1lcmF9ICAgICAgICAgICBjYW1lcmEgICBUaGUgY2FtZXJhLgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICAgICAgICBzZXR0aW5ncyBUaGUgc2lnbWEgaW5zdGFuY2Ugc2V0dGluZ3MKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24uCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgIG9iamVjdCAgIFRoZSBvcHRpb25zIG9iamVjdC4KLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLnN2Z30gICAgICAgICAgICAgVGhlIHJlbmRlcmVyIGluc3RhbmNlLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLnN2ZyA9IGZ1bmN0aW9uKGdyYXBoLCBjYW1lcmEsIHNldHRpbmdzLCBvcHRpb25zKSB7Ci0gICAgaWYgKHR5cGVvZiBvcHRpb25zICE9PSAnb2JqZWN0JykKLSAgICAgIHRocm93ICdzaWdtYS5yZW5kZXJlcnMuc3ZnOiBXcm9uZyBhcmd1bWVudHMuJzsKLQotICAgIGlmICghKG9wdGlvbnMuY29udGFpbmVyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKQotICAgICAgdGhyb3cgJ0NvbnRhaW5lciBub3QgZm91bmQuJzsKLQotICAgIHZhciBpLAotICAgICAgICBsLAotICAgICAgICBhLAotICAgICAgICBmbiwKLSAgICAgICAgc2VsZiA9IHRoaXM7Ci0KLSAgICBzaWdtYS5jbGFzc2VzLmRpc3BhdGNoZXIuZXh0ZW5kKHRoaXMpOwotCi0gICAgLy8gSW5pdGlhbGl6ZSBtYWluIGF0dHJpYnV0ZXM6Ci0gICAgdGhpcy5ncmFwaCA9IGdyYXBoOwotICAgIHRoaXMuY2FtZXJhID0gY2FtZXJhOwotICAgIHRoaXMuZG9tRWxlbWVudHMgPSB7Ci0gICAgICBncmFwaDogbnVsbCwKLSAgICAgIGdyb3Vwczoge30sCi0gICAgICBub2Rlczoge30sCi0gICAgICBlZGdlczoge30sCi0gICAgICBsYWJlbHM6IHt9LAotICAgICAgaG92ZXJzOiB7fQotICAgIH07Ci0gICAgdGhpcy5tZWFzdXJlbWVudENhbnZhcyA9IG51bGw7Ci0gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uczsKLSAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMub3B0aW9ucy5jb250YWluZXI7Ci0gICAgdGhpcy5zZXR0aW5ncyA9ICgKLSAgICAgICAgdHlwZW9mIG9wdGlvbnMuc2V0dGluZ3MgPT09ICdvYmplY3QnICYmCi0gICAgICAgIG9wdGlvbnMuc2V0dGluZ3MKLSAgICAgICkgPwotICAgICAgICBzZXR0aW5ncy5lbWJlZE9iamVjdHMob3B0aW9ucy5zZXR0aW5ncykgOgotICAgICAgICBzZXR0aW5nczsKLQotICAgIC8vIElzIHRoZSByZW5kZXJlciBtZWFudCB0byBiZSBmcmVlc3R5bGU/Ci0gICAgdGhpcy5zZXR0aW5ncygnZnJlZVN0eWxlJywgISF0aGlzLm9wdGlvbnMuZnJlZVN0eWxlKTsKLQotICAgIC8vIFNWRyB4bWxucwotICAgIHRoaXMuc2V0dGluZ3MoJ3htbG5zJywgJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyk7Ci0KLSAgICAvLyBJbmRleGVzOgotICAgIHRoaXMubm9kZXNPblNjcmVlbiA9IFtdOwotICAgIHRoaXMuZWRnZXNPblNjcmVlbiA9IFtdOwotCi0gICAgLy8gRmluZCB0aGUgcHJlZml4OgotICAgIHRoaXMub3B0aW9ucy5wcmVmaXggPSAncmVuZGVyZXInICsgc2lnbWEudXRpbHMuaWQoKSArICc6JzsKLQotICAgIC8vIEluaXRpYWxpemUgdGhlIERPTSBlbGVtZW50cwotICAgIHRoaXMuaW5pdERPTSgnc3ZnJyk7Ci0KLSAgICAvLyBJbml0aWFsaXplIGNhcHRvcnM6Ci0gICAgdGhpcy5jYXB0b3JzID0gW107Ci0gICAgYSA9IHRoaXMub3B0aW9ucy5jYXB0b3JzIHx8IFtzaWdtYS5jYXB0b3JzLm1vdXNlLCBzaWdtYS5jYXB0b3JzLnRvdWNoXTsKLSAgICBmb3IgKGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspIHsKLSAgICAgIGZuID0gdHlwZW9mIGFbaV0gPT09ICdmdW5jdGlvbicgPyBhW2ldIDogc2lnbWEuY2FwdG9yc1thW2ldXTsKLSAgICAgIHRoaXMuY2FwdG9ycy5wdXNoKAotICAgICAgICBuZXcgZm4oCi0gICAgICAgICAgdGhpcy5kb21FbGVtZW50cy5ncmFwaCwKLSAgICAgICAgICB0aGlzLmNhbWVyYSwKLSAgICAgICAgICB0aGlzLnNldHRpbmdzCi0gICAgICAgICkKLSAgICAgICk7Ci0gICAgfQotCi0gICAgLy8gQmluZCByZXNpemU6Ci0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCkgewotICAgICAgc2VsZi5yZXNpemUoKTsKLSAgICB9KTsKLQotICAgIC8vIERlYWwgd2l0aCBzaWdtYSBldmVudHM6Ci0gICAgLy8gVE9ETzoga2VlcCBhbiBvcHRpb24gdG8gb3ZlcnJpZGUgdGhlIERPTSBldmVudHM/Ci0gICAgc2lnbWEubWlzYy5iaW5kRE9NRXZlbnRzLmNhbGwodGhpcywgdGhpcy5kb21FbGVtZW50cy5ncmFwaCk7Ci0gICAgdGhpcy5iaW5kSG92ZXJzKHRoaXMub3B0aW9ucy5wcmVmaXgpOwotCi0gICAgLy8gUmVzaXplCi0gICAgdGhpcy5yZXNpemUoZmFsc2UpOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCByZW5kZXJzIHRoZSBncmFwaCBvbiB0aGUgc3ZnIHNjZW5lLgotICAgKgotICAgKiBAcGFyYW0gIHs/b2JqZWN0fSAgICAgICAgICAgICAgICBvcHRpb25zIEV2ZW50dWFsbHkgYW4gb2JqZWN0IG9mIG9wdGlvbnMuCi0gICAqIEByZXR1cm4ge3NpZ21hLnJlbmRlcmVycy5zdmd9ICAgICAgICAgICAgUmV0dXJucyB0aGUgaW5zdGFuY2UgaXRzZWxmLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLnN2Zy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24ob3B0aW9ucykgewotICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwotCi0gICAgdmFyIGEsCi0gICAgICAgIGksCi0gICAgICAgIGssCi0gICAgICAgIGUsCi0gICAgICAgIGwsCi0gICAgICAgIG8sCi0gICAgICAgIHNvdXJjZSwKLSAgICAgICAgdGFyZ2V0LAotICAgICAgICBzdGFydCwKLSAgICAgICAgZWRnZXMsCi0gICAgICAgIHJlbmRlcmVycywKLSAgICAgICAgc3VicmVuZGVyZXJzLAotICAgICAgICBpbmRleCA9IHt9LAotICAgICAgICBncmFwaCA9IHRoaXMuZ3JhcGgsCi0gICAgICAgIG5vZGVzID0gdGhpcy5ncmFwaC5ub2RlcywKLSAgICAgICAgcHJlZml4ID0gdGhpcy5vcHRpb25zLnByZWZpeCB8fCAnJywKLSAgICAgICAgZHJhd0VkZ2VzID0gdGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnZHJhd0VkZ2VzJyksCi0gICAgICAgIGRyYXdOb2RlcyA9IHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2RyYXdOb2RlcycpLAotICAgICAgICBkcmF3TGFiZWxzID0gdGhpcy5zZXR0aW5ncyhvcHRpb25zLCAnZHJhd0xhYmVscycpLAotICAgICAgICBlbWJlZFNldHRpbmdzID0gdGhpcy5zZXR0aW5ncy5lbWJlZE9iamVjdHMob3B0aW9ucywgewotICAgICAgICAgIHByZWZpeDogdGhpcy5vcHRpb25zLnByZWZpeCwKLSAgICAgICAgICBmb3JjZUxhYmVsczogdGhpcy5vcHRpb25zLmZvcmNlTGFiZWxzCi0gICAgICAgIH0pOwotCi0gICAgLy8gQ2hlY2sgdGhlICdoaWRlRWRnZXNPbk1vdmUnIHNldHRpbmc6Ci0gICAgaWYgKHRoaXMuc2V0dGluZ3Mob3B0aW9ucywgJ2hpZGVFZGdlc09uTW92ZScpKQotICAgICAgaWYgKHRoaXMuY2FtZXJhLmlzQW5pbWF0ZWQgfHwgdGhpcy5jYW1lcmEuaXNNb3ZpbmcpCi0gICAgICAgIGRyYXdFZGdlcyA9IGZhbHNlOwotCi0gICAgLy8gQXBwbHkgdGhlIGNhbWVyYSdzIHZpZXc6Ci0gICAgdGhpcy5jYW1lcmEuYXBwbHlWaWV3KAotICAgICAgdW5kZWZpbmVkLAotICAgICAgdGhpcy5vcHRpb25zLnByZWZpeCwKLSAgICAgIHsKLSAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsCi0gICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQKLSAgICAgIH0KLSAgICApOwotCi0gICAgLy8gSGlkaW5nIGV2ZXJ5dGhpbmcKLSAgICAvLyBUT0RPOiBmaW5kIGEgbW9yZSBzZW5zaWJsZSB3YXkgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbgotICAgIHRoaXMuaGlkZURPTUVsZW1lbnRzKHRoaXMuZG9tRWxlbWVudHMubm9kZXMpOwotICAgIHRoaXMuaGlkZURPTUVsZW1lbnRzKHRoaXMuZG9tRWxlbWVudHMuZWRnZXMpOwotICAgIHRoaXMuaGlkZURPTUVsZW1lbnRzKHRoaXMuZG9tRWxlbWVudHMubGFiZWxzKTsKLQotICAgIC8vIEZpbmQgd2hpY2ggbm9kZXMgYXJlIG9uIHNjcmVlbgotICAgIHRoaXMuZWRnZXNPblNjcmVlbiA9IFtdOwotICAgIHRoaXMubm9kZXNPblNjcmVlbiA9IHRoaXMuY2FtZXJhLnF1YWR0cmVlLmFyZWEoCi0gICAgICB0aGlzLmNhbWVyYS5nZXRSZWN0YW5nbGUodGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpCi0gICAgKTsKLQotICAgIC8vIE5vZGUgaW5kZXgKLSAgICBmb3IgKGEgPSB0aGlzLm5vZGVzT25TY3JlZW4sIGkgPSAwLCBsID0gYS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICBpbmRleFthW2ldLmlkXSA9IGFbaV07Ci0KLSAgICAvLyBGaW5kIHdoaWNoIGVkZ2VzIGFyZSBvbiBzY3JlZW4KLSAgICBmb3IgKGEgPSBncmFwaC5lZGdlcygpLCBpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICBvID0gYVtpXTsKLSAgICAgIGlmICgKLSAgICAgICAgKGluZGV4W28uc291cmNlXSB8fCBpbmRleFtvLnRhcmdldF0pICYmCi0gICAgICAgICghby5oaWRkZW4gJiYgIW5vZGVzKG8uc291cmNlKS5oaWRkZW4gJiYgIW5vZGVzKG8udGFyZ2V0KS5oaWRkZW4pCi0gICAgICApCi0gICAgICAgIHRoaXMuZWRnZXNPblNjcmVlbi5wdXNoKG8pOwotICAgIH0KLQotICAgIC8vIERpc3BsYXkgbm9kZXMKLSAgICAvLy0tLS0tLS0tLS0tLS0tLQotICAgIHJlbmRlcmVycyA9IHNpZ21hLnN2Zy5ub2RlczsKLSAgICBzdWJyZW5kZXJlcnMgPSBzaWdtYS5zdmcubGFiZWxzOwotCi0gICAgLy8tLSBGaXJzdCB3ZSBjcmVhdGUgdGhlIG5vZGVzIHdoaWNoIGFyZSBub3QgYWxyZWFkeSBjcmVhdGVkCi0gICAgaWYgKGRyYXdOb2RlcykKLSAgICAgIGZvciAoYSA9IHRoaXMubm9kZXNPblNjcmVlbiwgaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgICBpZiAoIWFbaV0uaGlkZGVuICYmICF0aGlzLmRvbUVsZW1lbnRzLm5vZGVzW2FbaV0uaWRdKSB7Ci0KLSAgICAgICAgICAvLyBOb2RlCi0gICAgICAgICAgZSA9IChyZW5kZXJlcnNbYVtpXS50eXBlXSB8fCByZW5kZXJlcnMuZGVmKS5jcmVhdGUoCi0gICAgICAgICAgICBhW2ldLAotICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICk7Ci0KLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLm5vZGVzW2FbaV0uaWRdID0gZTsKLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLmdyb3Vwcy5ub2Rlcy5hcHBlbmRDaGlsZChlKTsKLQotICAgICAgICAgIC8vIExhYmVsCi0gICAgICAgICAgZSA9IChzdWJyZW5kZXJlcnNbYVtpXS50eXBlXSB8fCBzdWJyZW5kZXJlcnMuZGVmKS5jcmVhdGUoCi0gICAgICAgICAgICBhW2ldLAotICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICk7Ci0KLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLmxhYmVsc1thW2ldLmlkXSA9IGU7Ci0gICAgICAgICAgdGhpcy5kb21FbGVtZW50cy5ncm91cHMubGFiZWxzLmFwcGVuZENoaWxkKGUpOwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAvLy0tIFNlY29uZCB3ZSB1cGRhdGUgdGhlIG5vZGVzCi0gICAgaWYgKGRyYXdOb2RlcykKLSAgICAgIGZvciAoYSA9IHRoaXMubm9kZXNPblNjcmVlbiwgaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotCi0gICAgICAgIGlmIChhW2ldLmhpZGRlbikKLSAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAvLyBOb2RlCi0gICAgICAgIChyZW5kZXJlcnNbYVtpXS50eXBlXSB8fCByZW5kZXJlcnMuZGVmKS51cGRhdGUoCi0gICAgICAgICAgYVtpXSwKLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLm5vZGVzW2FbaV0uaWRdLAotICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgKTsKLQotICAgICAgICAvLyBMYWJlbAotICAgICAgICAoc3VicmVuZGVyZXJzW2FbaV0udHlwZV0gfHwgc3VicmVuZGVyZXJzLmRlZikudXBkYXRlKAotICAgICAgICAgIGFbaV0sCi0gICAgICAgICAgdGhpcy5kb21FbGVtZW50cy5sYWJlbHNbYVtpXS5pZF0sCi0gICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICApOwotICAgICAgfQotCi0gICAgLy8gRGlzcGxheSBlZGdlcwotICAgIC8vLS0tLS0tLS0tLS0tLS0tCi0gICAgcmVuZGVyZXJzID0gc2lnbWEuc3ZnLmVkZ2VzOwotCi0gICAgLy8tLSBGaXJzdCB3ZSBjcmVhdGUgdGhlIGVkZ2VzIHdoaWNoIGFyZSBub3QgYWxyZWFkeSBjcmVhdGVkCi0gICAgaWYgKGRyYXdFZGdlcykKLSAgICAgIGZvciAoYSA9IHRoaXMuZWRnZXNPblNjcmVlbiwgaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgICBpZiAoIXRoaXMuZG9tRWxlbWVudHMuZWRnZXNbYVtpXS5pZF0pIHsKLSAgICAgICAgICBzb3VyY2UgPSBub2RlcyhhW2ldLnNvdXJjZSk7Ci0gICAgICAgICAgdGFyZ2V0ID0gbm9kZXMoYVtpXS50YXJnZXQpOwotCi0gICAgICAgICAgZSA9IChyZW5kZXJlcnNbYVtpXS50eXBlXSB8fCByZW5kZXJlcnMuZGVmKS5jcmVhdGUoCi0gICAgICAgICAgICBhW2ldLAotICAgICAgICAgICAgc291cmNlLAotICAgICAgICAgICAgdGFyZ2V0LAotICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICk7Ci0KLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLmVkZ2VzW2FbaV0uaWRdID0gZTsKLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLmdyb3Vwcy5lZGdlcy5hcHBlbmRDaGlsZChlKTsKLSAgICAgICAgfQotICAgICAgIH0KLQotICAgIC8vLS0gU2Vjb25kIHdlIHVwZGF0ZSB0aGUgZWRnZXMKLSAgICBpZiAoZHJhd0VkZ2VzKQotICAgICAgZm9yIChhID0gdGhpcy5lZGdlc09uU2NyZWVuLCBpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICAgIHNvdXJjZSA9IG5vZGVzKGFbaV0uc291cmNlKTsKLSAgICAgICAgdGFyZ2V0ID0gbm9kZXMoYVtpXS50YXJnZXQpOwotCi0gICAgICAgIChyZW5kZXJlcnNbYVtpXS50eXBlXSB8fCByZW5kZXJlcnMuZGVmKS51cGRhdGUoCi0gICAgICAgICAgYVtpXSwKLSAgICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLmVkZ2VzW2FbaV0uaWRdLAotICAgICAgICAgIHNvdXJjZSwKLSAgICAgICAgICB0YXJnZXQsCi0gICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICApOwotICAgICAgIH0KLQotICAgIHRoaXMuZGlzcGF0Y2hFdmVudCgncmVuZGVyJyk7Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfTsKLQotICAvKioKLSAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIERPTSBlbGVtZW50IG9mIHRoZSBzcGVjaWZpZWQgdHlwZSwgc3dpdGNoZXMgaXRzCi0gICAqIHBvc2l0aW9uIHRvICJhYnNvbHV0ZSIsIHJlZmVyZW5jZXMgaXQgdG8gdGhlIGRvbUVsZW1lbnRzIGF0dHJpYnV0ZSwgYW5kCi0gICAqIGZpbmFsbHkgYXBwZW5kcyBpdCB0byB0aGUgY29udGFpbmVyLgotICAgKgotICAgKiBAcGFyYW0gIHtzdHJpbmd9IHRhZyBUaGUgbGFiZWwgdGFnLgotICAgKiBAcGFyYW0gIHtzdHJpbmd9IGlkICBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgKHRvIHN0b3JlIGl0IGluICJkb21FbGVtZW50cyIpLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLnN2Zy5wcm90b3R5cGUuaW5pdERPTSA9IGZ1bmN0aW9uKHRhZykgewotICAgIHZhciBkb20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlModGhpcy5zZXR0aW5ncygneG1sbnMnKSwgdGFnKSwKLSAgICAgICAgYyA9IHRoaXMuc2V0dGluZ3MoJ2NsYXNzUHJlZml4JyksCi0gICAgICAgIGcsCi0gICAgICAgIGwsCi0gICAgICAgIGk7Ci0KLSAgICBkb20uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwotICAgIGRvbS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgYyArICctc3ZnJyk7Ci0KLSAgICAvLyBTZXR0aW5nIFNWRyBuYW1lc3BhY2UKLSAgICBkb20uc2V0QXR0cmlidXRlKCd4bWxucycsIHRoaXMuc2V0dGluZ3MoJ3htbG5zJykpOwotICAgIGRvbS5zZXRBdHRyaWJ1dGUoJ3htbG5zOnhsaW5rJywgJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnKTsKLSAgICBkb20uc2V0QXR0cmlidXRlKCd2ZXJzaW9uJywgJzEuMScpOwotCi0gICAgLy8gQ3JlYXRpbmcgdGhlIG1lYXN1cmVtZW50IGNhbnZhcwotICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKLSAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdjbGFzcycsIGMgKyAnLW1lYXN1cmVtZW50LWNhbnZhcycpOwotCi0gICAgLy8gQXBwZW5kaW5nIGVsZW1lbnRzCi0gICAgdGhpcy5kb21FbGVtZW50cy5ncmFwaCA9IHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGRvbSk7Ci0KLSAgICAvLyBDcmVhdGluZyBncm91cHMKLSAgICB2YXIgZ3JvdXBzID0gWydlZGdlcycsICdub2RlcycsICdsYWJlbHMnLCAnaG92ZXJzJ107Ci0gICAgZm9yIChpID0gMCwgbCA9IGdyb3Vwcy5sZW5ndGg7IGkgPCBsOyBpKyspIHsKLSAgICAgIGcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlModGhpcy5zZXR0aW5ncygneG1sbnMnKSwgJ2cnKTsKLQotICAgICAgZy5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnaWQnLCBjICsgJy1ncm91cC0nICsgZ3JvdXBzW2ldKTsKLSAgICAgIGcuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2NsYXNzJywgYyArICctZ3JvdXAnKTsKLQotICAgICAgdGhpcy5kb21FbGVtZW50cy5ncm91cHNbZ3JvdXBzW2ldXSA9Ci0gICAgICAgIHRoaXMuZG9tRWxlbWVudHMuZ3JhcGguYXBwZW5kQ2hpbGQoZyk7Ci0gICAgfQotCi0gICAgLy8gQXBwZW5kaW5nIG1lYXN1cmVtZW50IGNhbnZhcwotICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGNhbnZhcyk7Ci0gICAgdGhpcy5tZWFzdXJlbWVudENhbnZhcyA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBoaWRlcyBhIGJhdGNoIG9mIFNWRyBET00gZWxlbWVudHMuCi0gICAqCi0gICAqIEBwYXJhbSAge2FycmF5fSAgICAgICAgICAgICAgICAgIGVsZW1lbnRzICBBbiBhcnJheSBvZiBlbGVtZW50cyB0byBoaWRlLgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICByZW5kZXJlciAgVGhlIHJlbmRlcmVyIHRvIHVzZS4KLSAgICogQHJldHVybiB7c2lnbWEucmVuZGVyZXJzLnN2Z30gICAgICAgICAgICAgIFJldHVybnMgdGhlIGluc3RhbmNlIGl0c2VsZi4KLSAgICovCi0gIHNpZ21hLnJlbmRlcmVycy5zdmcucHJvdG90eXBlLmhpZGVET01FbGVtZW50cyA9IGZ1bmN0aW9uKGVsZW1lbnRzKSB7Ci0gICAgdmFyIG8sCi0gICAgICAgIGk7Ci0KLSAgICBmb3IgKGkgaW4gZWxlbWVudHMpIHsKLSAgICAgIG8gPSBlbGVtZW50c1tpXTsKLSAgICAgIHNpZ21hLnN2Zy51dGlscy5oaWRlKG8pOwotICAgIH0KLQotICAgIHJldHVybiB0aGlzOwotICB9OwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBiaW5kcyB0aGUgaG92ZXIgZXZlbnRzIHRvIHRoZSByZW5kZXJlci4KLSAgICoKLSAgICogQHBhcmFtICB7c3RyaW5nfSBwcmVmaXggVGhlIHJlbmRlcmVyIHByZWZpeC4KLSAgICovCi0gIC8vIFRPRE86IGFkZCBvcHRpb24gYWJvdXQgd2hldGhlciB0byBkaXNwbGF5IGhvdmVycyBvciBub3QKLSAgc2lnbWEucmVuZGVyZXJzLnN2Zy5wcm90b3R5cGUuYmluZEhvdmVycyA9IGZ1bmN0aW9uKHByZWZpeCkgewotICAgIHZhciByZW5kZXJlcnMgPSBzaWdtYS5zdmcuaG92ZXJzLAotICAgICAgICBzZWxmID0gdGhpcywKLSAgICAgICAgaG92ZXJlZE5vZGU7Ci0KLSAgICBmdW5jdGlvbiBvdmVyTm9kZShlKSB7Ci0gICAgICB2YXIgbm9kZSA9IGUuZGF0YS5ub2RlLAotICAgICAgICAgIGVtYmVkU2V0dGluZ3MgPSBzZWxmLnNldHRpbmdzLmVtYmVkT2JqZWN0cyh7Ci0gICAgICAgICAgICBwcmVmaXg6IHByZWZpeAotICAgICAgICAgIH0pOwotCi0gICAgICBpZiAoIWVtYmVkU2V0dGluZ3MoJ2VuYWJsZUhvdmVyaW5nJykpCi0gICAgICAgIHJldHVybjsKLQotICAgICAgdmFyIGhvdmVyID0gKHJlbmRlcmVyc1tub2RlLnR5cGVdIHx8IHJlbmRlcmVycy5kZWYpLmNyZWF0ZSgKLSAgICAgICAgbm9kZSwKLSAgICAgICAgc2VsZi5kb21FbGVtZW50cy5ub2Rlc1tub2RlLmlkXSwKLSAgICAgICAgc2VsZi5tZWFzdXJlbWVudENhbnZhcywKLSAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgKTsKLQotICAgICAgc2VsZi5kb21FbGVtZW50cy5ob3ZlcnNbbm9kZS5pZF0gPSBob3ZlcjsKLQotICAgICAgLy8gSW5zZXJ0aW5nIHRoZSBob3ZlciBpbiB0aGUgZG9tCi0gICAgICBzZWxmLmRvbUVsZW1lbnRzLmdyb3Vwcy5ob3ZlcnMuYXBwZW5kQ2hpbGQoaG92ZXIpOwotICAgICAgaG92ZXJlZE5vZGUgPSBub2RlOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIG91dE5vZGUoZSkgewotICAgICAgdmFyIG5vZGUgPSBlLmRhdGEubm9kZSwKLSAgICAgICAgICBlbWJlZFNldHRpbmdzID0gc2VsZi5zZXR0aW5ncy5lbWJlZE9iamVjdHMoewotICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgKLSAgICAgICAgICB9KTsKLQotICAgICAgaWYgKCFlbWJlZFNldHRpbmdzKCdlbmFibGVIb3ZlcmluZycpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAgIC8vIERlbGV0aW5nIGVsZW1lbnQKLSAgICAgIHNlbGYuZG9tRWxlbWVudHMuZ3JvdXBzLmhvdmVycy5yZW1vdmVDaGlsZCgKLSAgICAgICAgc2VsZi5kb21FbGVtZW50cy5ob3ZlcnNbbm9kZS5pZF0KLSAgICAgICk7Ci0gICAgICBob3ZlcmVkTm9kZSA9IG51bGw7Ci0gICAgICBkZWxldGUgc2VsZi5kb21FbGVtZW50cy5ob3ZlcnNbbm9kZS5pZF07Ci0KLSAgICAgIC8vIFJlaW5zdGF0ZQotICAgICAgc2VsZi5kb21FbGVtZW50cy5ncm91cHMubm9kZXMuYXBwZW5kQ2hpbGQoCi0gICAgICAgIHNlbGYuZG9tRWxlbWVudHMubm9kZXNbbm9kZS5pZF0KLSAgICAgICk7Ci0gICAgfQotCi0gICAgLy8gT1BUSU1JWkU6IHBlcmZvcm0gYSByZWFsIHVwZGF0ZSByYXRoZXIgdGhhbiBhIGRlbGV0aW9uCi0gICAgZnVuY3Rpb24gdXBkYXRlKCkgewotICAgICAgaWYgKCFob3ZlcmVkTm9kZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgICB2YXIgZW1iZWRTZXR0aW5ncyA9IHNlbGYuc2V0dGluZ3MuZW1iZWRPYmplY3RzKHsKLSAgICAgICAgICAgIHByZWZpeDogcHJlZml4Ci0gICAgICAgICAgfSk7Ci0KLSAgICAgIC8vIERlbGV0aW5nIGVsZW1lbnQgYmVmb3JlIHVwZGF0ZQotICAgICAgc2VsZi5kb21FbGVtZW50cy5ncm91cHMuaG92ZXJzLnJlbW92ZUNoaWxkKAotICAgICAgICBzZWxmLmRvbUVsZW1lbnRzLmhvdmVyc1tob3ZlcmVkTm9kZS5pZF0KLSAgICAgICk7Ci0gICAgICBkZWxldGUgc2VsZi5kb21FbGVtZW50cy5ob3ZlcnNbaG92ZXJlZE5vZGUuaWRdOwotCi0gICAgICB2YXIgaG92ZXIgPSAocmVuZGVyZXJzW2hvdmVyZWROb2RlLnR5cGVdIHx8IHJlbmRlcmVycy5kZWYpLmNyZWF0ZSgKLSAgICAgICAgaG92ZXJlZE5vZGUsCi0gICAgICAgIHNlbGYuZG9tRWxlbWVudHMubm9kZXNbaG92ZXJlZE5vZGUuaWRdLAotICAgICAgICBzZWxmLm1lYXN1cmVtZW50Q2FudmFzLAotICAgICAgICBlbWJlZFNldHRpbmdzCi0gICAgICApOwotCi0gICAgICBzZWxmLmRvbUVsZW1lbnRzLmhvdmVyc1tob3ZlcmVkTm9kZS5pZF0gPSBob3ZlcjsKLQotICAgICAgLy8gSW5zZXJ0aW5nIHRoZSBob3ZlciBpbiB0aGUgZG9tCi0gICAgICBzZWxmLmRvbUVsZW1lbnRzLmdyb3Vwcy5ob3ZlcnMuYXBwZW5kQ2hpbGQoaG92ZXIpOwotICAgIH0KLQotICAgIC8vIEJpbmRpbmcgZXZlbnRzCi0gICAgdGhpcy5iaW5kKCdvdmVyTm9kZScsIG92ZXJOb2RlKTsKLSAgICB0aGlzLmJpbmQoJ291dE5vZGUnLCBvdXROb2RlKTsKLQotICAgIC8vIFVwZGF0ZSBvbiByZW5kZXIKLSAgICB0aGlzLmJpbmQoJ3JlbmRlcicsIHVwZGF0ZSk7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWV0aG9kIHJlc2l6ZXMgZWFjaCBET00gZWxlbWVudHMgaW4gdGhlIGNvbnRhaW5lciBhbmQgc3RvcmVzIHRoZSBuZXcKLSAgICogZGltZW5zaW9ucy4gVGhlbiwgaXQgcmVuZGVycyB0aGUgZ3JhcGguCi0gICAqCi0gICAqIEBwYXJhbSAgez9udW1iZXJ9ICAgICAgICAgICAgICAgIHdpZHRoICBUaGUgbmV3IHdpZHRoIG9mIHRoZSBjb250YWluZXIuCi0gICAqIEBwYXJhbSAgez9udW1iZXJ9ICAgICAgICAgICAgICAgIGhlaWdodCBUaGUgbmV3IGhlaWdodCBvZiB0aGUgY29udGFpbmVyLgotICAgKiBAcmV0dXJuIHtzaWdtYS5yZW5kZXJlcnMuc3ZnfSAgICAgICAgICAgUmV0dXJucyB0aGUgaW5zdGFuY2UgaXRzZWxmLgotICAgKi8KLSAgc2lnbWEucmVuZGVyZXJzLnN2Zy5wcm90b3R5cGUucmVzaXplID0gZnVuY3Rpb24odywgaCkgewotICAgIHZhciBvbGRXaWR0aCA9IHRoaXMud2lkdGgsCi0gICAgICAgIG9sZEhlaWdodCA9IHRoaXMuaGVpZ2h0LAotICAgICAgICBwaXhlbFJhdGlvID0gMTsKLQotICAgIGlmICh3ICE9PSB1bmRlZmluZWQgJiYgaCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICB0aGlzLndpZHRoID0gdzsKLSAgICAgIHRoaXMuaGVpZ2h0ID0gaDsKLSAgICB9IGVsc2UgewotICAgICAgdGhpcy53aWR0aCA9IHRoaXMuY29udGFpbmVyLm9mZnNldFdpZHRoOwotICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7Ci0KLSAgICAgIHcgPSB0aGlzLndpZHRoOwotICAgICAgaCA9IHRoaXMuaGVpZ2h0OwotICAgIH0KLQotICAgIGlmIChvbGRXaWR0aCAhPT0gdGhpcy53aWR0aCB8fCBvbGRIZWlnaHQgIT09IHRoaXMuaGVpZ2h0KSB7Ci0gICAgICB0aGlzLmRvbUVsZW1lbnRzLmdyYXBoLnN0eWxlLndpZHRoID0gdyArICdweCc7Ci0gICAgICB0aGlzLmRvbUVsZW1lbnRzLmdyYXBoLnN0eWxlLmhlaWdodCA9IGggKyAncHgnOwotCi0gICAgICBpZiAodGhpcy5kb21FbGVtZW50cy5ncmFwaC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdzdmcnKSB7Ci0gICAgICAgIHRoaXMuZG9tRWxlbWVudHMuZ3JhcGguc2V0QXR0cmlidXRlKCd3aWR0aCcsICh3ICogcGl4ZWxSYXRpbykpOwotICAgICAgICB0aGlzLmRvbUVsZW1lbnRzLmdyYXBoLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgKGggKiBwaXhlbFJhdGlvKSk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIHRoaXM7Ci0gIH07Ci0KLQotICAvKioKLSAgICogVGhlIGxhYmVscywgbm9kZXMgYW5kIGVkZ2VzIHJlbmRlcmVycyBhcmUgc3RvcmVkIGluIHRoZSB0aHJlZSBmb2xsb3dpbmcKLSAgICogb2JqZWN0cy4gV2hlbiBhbiBlbGVtZW50IGlzIGRyYXduLCBpdHMgdHlwZSB3aWxsIGJlIGNoZWNrZWQgYW5kIGlmIGEKLSAgICogcmVuZGVyZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZSB1c2VkLiBJZiBub3QgZm91bmQsIHRoZQotICAgKiBkZWZhdWx0IHJlbmRlcmVyIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgotICAgKgotICAgKiBUaGV5IGFyZSBzdG9yZWQgaW4gZGlmZmVyZW50IGZpbGVzLCBpbiB0aGUgIi4vc3ZnIiBmb2xkZXIuCi0gICAqLwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnN2Zy5ub2RlcycpOwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnN2Zy5lZGdlcycpOwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnN2Zy5sYWJlbHMnKTsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24oZ2xvYmFsKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBpZiAodHlwZW9mIHNpZ21hID09PSAndW5kZWZpbmVkJykKLSAgICB0aHJvdyAnc2lnbWEgaXMgbm90IGRlY2xhcmVkJzsKLQotICAvLyBJbml0aWFsaXplIHBhY2thZ2VzOgotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnJlbmRlcmVycycpOwotCi0gIC8vIENoZWNrIGlmIFdlYkdMIGlzIGVuYWJsZWQ6Ci0gIHZhciBjYW52YXMsCi0gICAgICB3ZWJnbCA9ICEhZ2xvYmFsLldlYkdMUmVuZGVyaW5nQ29udGV4dDsKLSAgaWYgKHdlYmdsKSB7Ci0gICAgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci0gICAgdHJ5IHsKLSAgICAgIHdlYmdsID0gISEoCi0gICAgICAgIGNhbnZhcy5nZXRDb250ZXh0KCd3ZWJnbCcpIHx8Ci0gICAgICAgIGNhbnZhcy5nZXRDb250ZXh0KCdleHBlcmltZW50YWwtd2ViZ2wnKQotICAgICAgKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICB3ZWJnbCA9IGZhbHNlOwotICAgIH0KLSAgfQotCi0gIC8vIENvcHkgdGhlIGdvb2QgcmVuZGVyZXI6Ci0gIHNpZ21hLnJlbmRlcmVycy5kZWYgPSB3ZWJnbCA/Ci0gICAgc2lnbWEucmVuZGVyZXJzLndlYmdsIDoKLSAgICBzaWdtYS5yZW5kZXJlcnMuY2FudmFzOwotfSkodGhpcyk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLndlYmdsLm5vZGVzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgbm9kZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgbm9kZXMgYXMgZGlzY3MsIHNoYXBlZCBpbiB0cmlhbmdsZXMgd2l0aAotICAgKiB0aGUgZ2wuVFJJQU5HTEVTIGRpc3BsYXkgbW9kZS4gU28sIHRvIGJlIG1vcmUgcHJlY2lzZSwgdG8gZHJhdyBvbmUgbm9kZSwKLSAgICogaXQgd2lsbCBzdG9yZSB0aHJlZSB0aW1lcyB0aGUgY2VudGVyIG9mIG5vZGUsIHdpdGggdGhlIGNvbG9yIGFuZCB0aGUgc2l6ZSwKLSAgICogYW5kIGFuIGFuZ2xlIGluZGljYXRpbmcgd2hpY2ggImNvcm5lciIgb2YgdGhlIHRyaWFuZ2xlIHRvIGRyYXcuCi0gICAqCi0gICAqIFRoZSBmcmFnbWVudCBzaGFkZXIgZG9lcyBub3QgZGVhbCB3aXRoIGFudGktYWxpYXNpbmcsIHNvIG1ha2Ugc3VyZSB0aGF0Ci0gICAqIHlvdSBkZWFsIHdpdGggaXQgc29tZXdoZXJlIGVsc2UgaW4gdGhlIGNvZGUgKGJ5IGRlZmF1bHQsIHRoZSBXZWJHTAotICAgKiByZW5kZXJlciB3aWxsIG92ZXJzYW1wbGUgdGhlIHJlbmRlcmluZyB0aHJvdWdoIHRoZSB3ZWJnbE92ZXJzYW1wbGluZ1JhdGlvCi0gICAqIHZhbHVlKS4KLSAgICovCi0gIHNpZ21hLndlYmdsLm5vZGVzLmRlZiA9IHsKLSAgICBQT0lOVFM6IDMsCi0gICAgQVRUUklCVVRFUzogNSwKLSAgICBhZGROb2RlOiBmdW5jdGlvbihub2RlLCBkYXRhLCBpLCBwcmVmaXgsIHNldHRpbmdzKSB7Ci0gICAgICB2YXIgY29sb3IgPSBzaWdtYS51dGlscy5mbG9hdENvbG9yKAotICAgICAgICBub2RlLmNvbG9yIHx8IHNldHRpbmdzKCdkZWZhdWx0Tm9kZUNvbG9yJykKLSAgICAgICk7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IG5vZGVbcHJlZml4ICsgJ3gnXTsKLSAgICAgIGRhdGFbaSsrXSA9IG5vZGVbcHJlZml4ICsgJ3knXTsKLSAgICAgIGRhdGFbaSsrXSA9IG5vZGVbcHJlZml4ICsgJ3NpemUnXTsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotICAgICAgZGF0YVtpKytdID0gMDsKLQotICAgICAgZGF0YVtpKytdID0gbm9kZVtwcmVmaXggKyAneCddOwotICAgICAgZGF0YVtpKytdID0gbm9kZVtwcmVmaXggKyAneSddOwotICAgICAgZGF0YVtpKytdID0gbm9kZVtwcmVmaXggKyAnc2l6ZSddOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0gICAgICBkYXRhW2krK10gPSAyICogTWF0aC5QSSAvIDM7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IG5vZGVbcHJlZml4ICsgJ3gnXTsKLSAgICAgIGRhdGFbaSsrXSA9IG5vZGVbcHJlZml4ICsgJ3knXTsKLSAgICAgIGRhdGFbaSsrXSA9IG5vZGVbcHJlZml4ICsgJ3NpemUnXTsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotICAgICAgZGF0YVtpKytdID0gNCAqIE1hdGguUEkgLyAzOwotICAgIH0sCi0gICAgcmVuZGVyOiBmdW5jdGlvbihnbCwgcHJvZ3JhbSwgZGF0YSwgcGFyYW1zKSB7Ci0gICAgICB2YXIgYnVmZmVyOwotCi0gICAgICAvLyBEZWZpbmUgYXR0cmlidXRlczoKLSAgICAgIHZhciBwb3NpdGlvbkxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3Bvc2l0aW9uJyksCi0gICAgICAgICAgc2l6ZUxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3NpemUnKSwKLSAgICAgICAgICBjb2xvckxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX2NvbG9yJyksCi0gICAgICAgICAgYW5nbGVMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9hbmdsZScpLAotICAgICAgICAgIHJlc29sdXRpb25Mb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfcmVzb2x1dGlvbicpLAotICAgICAgICAgIG1hdHJpeExvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9tYXRyaXgnKSwKLSAgICAgICAgICByYXRpb0xvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9yYXRpbycpLAotICAgICAgICAgIHNjYWxlTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3NjYWxlJyk7Ci0KLSAgICAgIGJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOwotICAgICAgZ2wuYmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGJ1ZmZlcik7Ci0gICAgICBnbC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgZGF0YSwgZ2wuRFlOQU1JQ19EUkFXKTsKLQotICAgICAgZ2wudW5pZm9ybTJmKHJlc29sdXRpb25Mb2NhdGlvbiwgcGFyYW1zLndpZHRoLCBwYXJhbXMuaGVpZ2h0KTsKLSAgICAgIGdsLnVuaWZvcm0xZigKLSAgICAgICAgcmF0aW9Mb2NhdGlvbiwKLSAgICAgICAgMSAvIE1hdGgucG93KHBhcmFtcy5yYXRpbywgcGFyYW1zLnNldHRpbmdzKCdub2Rlc1Bvd1JhdGlvJykpCi0gICAgICApOwotICAgICAgZ2wudW5pZm9ybTFmKHNjYWxlTG9jYXRpb24sIHBhcmFtcy5zY2FsaW5nUmF0aW8pOwotICAgICAgZ2wudW5pZm9ybU1hdHJpeDNmdihtYXRyaXhMb2NhdGlvbiwgZmFsc2UsIHBhcmFtcy5tYXRyaXgpOwotCi0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uKTsKLSAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHNpemVMb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvY2F0aW9uKTsKLSAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGFuZ2xlTG9jYXRpb24pOwotCi0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKAotICAgICAgICBwb3NpdGlvbkxvY2F0aW9uLAotICAgICAgICAyLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMAotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoCi0gICAgICAgIHNpemVMb2NhdGlvbiwKLSAgICAgICAgMSwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDgKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKAotICAgICAgICBjb2xvckxvY2F0aW9uLAotICAgICAgICAxLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMTIKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKAotICAgICAgICBhbmdsZUxvY2F0aW9uLAotICAgICAgICAxLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMTYKLSAgICAgICk7Ci0KLSAgICAgIGdsLmRyYXdBcnJheXMoCi0gICAgICAgIGdsLlRSSUFOR0xFUywKLSAgICAgICAgcGFyYW1zLnN0YXJ0IHx8IDAsCi0gICAgICAgIHBhcmFtcy5jb3VudCB8fCAoZGF0YS5sZW5ndGggLyB0aGlzLkFUVFJJQlVURVMpCi0gICAgICApOwotICAgIH0sCi0gICAgaW5pdFByb2dyYW06IGZ1bmN0aW9uKGdsKSB7Ci0gICAgICB2YXIgdmVydGV4U2hhZGVyLAotICAgICAgICAgIGZyYWdtZW50U2hhZGVyLAotICAgICAgICAgIHByb2dyYW07Ci0KLSAgICAgIHZlcnRleFNoYWRlciA9IHNpZ21hLnV0aWxzLmxvYWRTaGFkZXIoCi0gICAgICAgIGdsLAotICAgICAgICBbCi0gICAgICAgICAgJ2F0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb247JywKLSAgICAgICAgICAnYXR0cmlidXRlIGZsb2F0IGFfc2l6ZTsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9jb2xvcjsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9hbmdsZTsnLAotCi0gICAgICAgICAgJ3VuaWZvcm0gdmVjMiB1X3Jlc29sdXRpb247JywKLSAgICAgICAgICAndW5pZm9ybSBmbG9hdCB1X3JhdGlvOycsCi0gICAgICAgICAgJ3VuaWZvcm0gZmxvYXQgdV9zY2FsZTsnLAotICAgICAgICAgICd1bmlmb3JtIG1hdDMgdV9tYXRyaXg7JywKLQotICAgICAgICAgICd2YXJ5aW5nIHZlYzQgY29sb3I7JywKLSAgICAgICAgICAndmFyeWluZyB2ZWMyIGNlbnRlcjsnLAotICAgICAgICAgICd2YXJ5aW5nIGZsb2F0IHJhZGl1czsnLAotCi0gICAgICAgICAgJ3ZvaWQgbWFpbigpIHsnLAotICAgICAgICAgICAgLy8gTXVsdGlwbHkgdGhlIHBvaW50IHNpemUgdHdpY2U6Ci0gICAgICAgICAgICAncmFkaXVzID0gYV9zaXplICogdV9yYXRpbzsnLAotCi0gICAgICAgICAgICAvLyBTY2FsZSBmcm9tIFtbLTEgMV0gWy0xIDFdXSB0byB0aGUgY29udGFpbmVyOgotICAgICAgICAgICAgJ3ZlYzIgcG9zaXRpb24gPSAodV9tYXRyaXggKiB2ZWMzKGFfcG9zaXRpb24sIDEpKS54eTsnLAotICAgICAgICAgICAgLy8gJ2NlbnRlciA9IChwb3NpdGlvbiAvIHVfcmVzb2x1dGlvbiAqIDIuMCAtIDEuMCkgKiB2ZWMyKDEsIC0xKTsnLAotICAgICAgICAgICAgJ2NlbnRlciA9IHBvc2l0aW9uICogdV9zY2FsZTsnLAotICAgICAgICAgICAgJ2NlbnRlciA9IHZlYzIoY2VudGVyLngsIHVfc2NhbGUgKiB1X3Jlc29sdXRpb24ueSAtIGNlbnRlci55KTsnLAotCi0gICAgICAgICAgICAncG9zaXRpb24gPSBwb3NpdGlvbiArJywKLSAgICAgICAgICAgICAgJzIuMCAqIHJhZGl1cyAqIHZlYzIoY29zKGFfYW5nbGUpLCBzaW4oYV9hbmdsZSkpOycsCi0gICAgICAgICAgICAncG9zaXRpb24gPSAocG9zaXRpb24gLyB1X3Jlc29sdXRpb24gKiAyLjAgLSAxLjApICogdmVjMigxLCAtMSk7JywKLQotICAgICAgICAgICAgJ3JhZGl1cyA9IHJhZGl1cyAqIHVfc2NhbGU7JywKLQotICAgICAgICAgICAgJ2dsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiwgMCwgMSk7JywKLQotICAgICAgICAgICAgLy8gRXh0cmFjdCB0aGUgY29sb3I6Ci0gICAgICAgICAgICAnZmxvYXQgYyA9IGFfY29sb3I7JywKLSAgICAgICAgICAgICdjb2xvci5iID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7JywKLSAgICAgICAgICAgICdjb2xvci5nID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7JywKLSAgICAgICAgICAgICdjb2xvci5yID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7IGNvbG9yIC89IDI1NS4wOycsCi0gICAgICAgICAgICAnY29sb3IuYSA9IDEuMDsnLAotICAgICAgICAgICd9JwotICAgICAgICBdLmpvaW4oJ1xuJyksCi0gICAgICAgIGdsLlZFUlRFWF9TSEFERVIKLSAgICAgICk7Ci0KLSAgICAgIGZyYWdtZW50U2hhZGVyID0gc2lnbWEudXRpbHMubG9hZFNoYWRlcigKLSAgICAgICAgZ2wsCi0gICAgICAgIFsKLSAgICAgICAgICAncHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7JywKLQotICAgICAgICAgICd2YXJ5aW5nIHZlYzQgY29sb3I7JywKLSAgICAgICAgICAndmFyeWluZyB2ZWMyIGNlbnRlcjsnLAotICAgICAgICAgICd2YXJ5aW5nIGZsb2F0IHJhZGl1czsnLAotCi0gICAgICAgICAgJ3ZvaWQgbWFpbih2b2lkKSB7JywKLSAgICAgICAgICAgICd2ZWM0IGNvbG9yMCA9IHZlYzQoMC4wLCAwLjAsIDAuMCwgMC4wKTsnLAotCi0gICAgICAgICAgICAndmVjMiBtID0gZ2xfRnJhZ0Nvb3JkLnh5IC0gY2VudGVyOycsCi0gICAgICAgICAgICAnZmxvYXQgZGlmZiA9IHJhZGl1cyAtIHNxcnQobS54ICogbS54ICsgbS55ICogbS55KTsnLAotCi0gICAgICAgICAgICAvLyBIZXJlIGlzIGhvdyB3ZSBkcmF3IGEgZGlzYyBpbnN0ZWFkIG9mIGEgc3F1YXJlOgotICAgICAgICAgICAgJ2lmIChkaWZmID4gMC4wKScsCi0gICAgICAgICAgICAgICdnbF9GcmFnQ29sb3IgPSBjb2xvcjsnLAotICAgICAgICAgICAgJ2Vsc2UnLAotICAgICAgICAgICAgICAnZ2xfRnJhZ0NvbG9yID0gY29sb3IwOycsCi0gICAgICAgICAgJ30nCi0gICAgICAgIF0uam9pbignXG4nKSwKLSAgICAgICAgZ2wuRlJBR01FTlRfU0hBREVSCi0gICAgICApOwotCi0gICAgICBwcm9ncmFtID0gc2lnbWEudXRpbHMubG9hZFByb2dyYW0oZ2wsIFt2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyXSk7Ci0KLSAgICAgIHJldHVybiBwcm9ncmFtOwotICAgIH0KLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLndlYmdsLm5vZGVzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgbm9kZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgbm9kZXMgaW4gdGhlIGZhc3Rlc3Qgd2F5OiBOb2RlcyBhcmUgYmFzaWMKLSAgICogc3F1YXJlcywgZHJhd24gdGhyb3VnaCB0aGUgZ2wuUE9JTlRTIGRyYXdpbmcgbWV0aG9kLiBUaGUgc2l6ZSBvZiB0aGUgbm9kZXMKLSAgICogYXJlIHJlcHJlc2VudGVkIHdpdGggdGhlICJnbF9Qb2ludFNpemUiIHZhbHVlIGluIHRoZSB2ZXJ0ZXggc2hhZGVyLgotICAgKgotICAgKiBJdCBpcyB0aGUgZmFzdGVzdCBub2RlIHJlbmRlcmVyIGhlcmUgc2luY2UgdGhlIGJ1ZmZlciBqdXN0IHRha2VzIG9uZSBsaW5lCi0gICAqIHRvIGRyYXcgZWFjaCBub2RlICh3aXRoIGF0dHJpYnV0ZXMgIngiLCAieSIsICJzaXplIiBhbmQgImNvbG9yIikuCi0gICAqCi0gICAqIE5ldmVydGhlbGVzcywgdGhpcyBtZXRob2QgaGFzIHNvbWUgcHJvYmxlbXMsIGVzcGVjaWFsbHkgZHVlIHRvIHNvbWUgaXNzdWVzCi0gICAqIHdpdGggdGhlIGdsLlBPSU5UUzoKLSAgICogIC0gRmlyc3QsIGlmIHRoZSBjZW50ZXIgb2YgYSBub2RlIGlzIG91dHNpZGUgdGhlIHNjZW5lLCB0aGUgcG9pbnQgd2lsbCBub3QKLSAgICogICAgYmUgZHJhd24sIGV2ZW4gaWYgaXQgc2hvdWxkIGJlIHBhcnRseSBvbiBzY3JlZW4uCi0gICAqICAtIEkgdHJpZWQgYXBwbHlpbmcgYSBmcmFnbWVudCBzaGFkZXIgc2ltaWxhciB0byB0aGUgb25lIGluIHRoZSBkZWZhdWx0Ci0gICAqICAgIG5vZGUgcmVuZGVyZXIgdG8gZGlzcGxheSB0aGVtIGFzIGRpc2NzLCBidXQgaXQgZGlkIG5vdCB3b3JrIGZpbmUgb24KLSAgICogICAgc29tZSBjb21wdXRlcnMgc2V0dGluZ3MsIGZpbGxpbmcgdGhlIGRpc2NzIHdpdGggd2VpcmQgZ3JhZGllbnRzIG5vdAotICAgKiAgICBkZXBlbmRpbmcgb24gdGhlIGFjdHVhbCBjb2xvci4KLSAgICovCi0gIHNpZ21hLndlYmdsLm5vZGVzLmZhc3QgPSB7Ci0gICAgUE9JTlRTOiAxLAotICAgIEFUVFJJQlVURVM6IDQsCi0gICAgYWRkTm9kZTogZnVuY3Rpb24obm9kZSwgZGF0YSwgaSwgcHJlZml4LCBzZXR0aW5ncykgewotICAgICAgZGF0YVtpKytdID0gbm9kZVtwcmVmaXggKyAneCddOwotICAgICAgZGF0YVtpKytdID0gbm9kZVtwcmVmaXggKyAneSddOwotICAgICAgZGF0YVtpKytdID0gbm9kZVtwcmVmaXggKyAnc2l6ZSddOwotICAgICAgZGF0YVtpKytdID0gc2lnbWEudXRpbHMuZmxvYXRDb2xvcigKLSAgICAgICAgbm9kZS5jb2xvciB8fCBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpCi0gICAgICApOwotICAgIH0sCi0gICAgcmVuZGVyOiBmdW5jdGlvbihnbCwgcHJvZ3JhbSwgZGF0YSwgcGFyYW1zKSB7Ci0gICAgICB2YXIgYnVmZmVyOwotCi0gICAgICAvLyBEZWZpbmUgYXR0cmlidXRlczoKLSAgICAgIHZhciBwb3NpdGlvbkxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3Bvc2l0aW9uJyksCi0gICAgICAgICAgc2l6ZUxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3NpemUnKSwKLSAgICAgICAgICBjb2xvckxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX2NvbG9yJyksCi0gICAgICAgICAgcmVzb2x1dGlvbkxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9yZXNvbHV0aW9uJyksCi0gICAgICAgICAgbWF0cml4TG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X21hdHJpeCcpLAotICAgICAgICAgIHJhdGlvTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3JhdGlvJyksCi0gICAgICAgICAgc2NhbGVMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3Vfc2NhbGUnKTsKLQotICAgICAgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7Ci0gICAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKLSAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBkYXRhLCBnbC5EWU5BTUlDX0RSQVcpOwotCi0gICAgICBnbC51bmlmb3JtMmYocmVzb2x1dGlvbkxvY2F0aW9uLCBwYXJhbXMud2lkdGgsIHBhcmFtcy5oZWlnaHQpOwotICAgICAgZ2wudW5pZm9ybTFmKAotICAgICAgICByYXRpb0xvY2F0aW9uLAotICAgICAgICAxIC8gTWF0aC5wb3cocGFyYW1zLnJhdGlvLCBwYXJhbXMuc2V0dGluZ3MoJ25vZGVzUG93UmF0aW8nKSkKLSAgICAgICk7Ci0gICAgICBnbC51bmlmb3JtMWYoc2NhbGVMb2NhdGlvbiwgcGFyYW1zLnNjYWxpbmdSYXRpbyk7Ci0gICAgICBnbC51bmlmb3JtTWF0cml4M2Z2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgcGFyYW1zLm1hdHJpeCk7Ci0KLSAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9uTG9jYXRpb24pOwotICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoc2l6ZUxvY2F0aW9uKTsKLSAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGNvbG9yTG9jYXRpb24pOwotCi0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKAotICAgICAgICBwb3NpdGlvbkxvY2F0aW9uLAotICAgICAgICAyLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMAotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoCi0gICAgICAgIHNpemVMb2NhdGlvbiwKLSAgICAgICAgMSwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDgKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKAotICAgICAgICBjb2xvckxvY2F0aW9uLAotICAgICAgICAxLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMTIKLSAgICAgICk7Ci0KLSAgICAgIGdsLmRyYXdBcnJheXMoCi0gICAgICAgIGdsLlBPSU5UUywKLSAgICAgICAgcGFyYW1zLnN0YXJ0IHx8IDAsCi0gICAgICAgIHBhcmFtcy5jb3VudCB8fCAoZGF0YS5sZW5ndGggLyB0aGlzLkFUVFJJQlVURVMpCi0gICAgICApOwotICAgIH0sCi0gICAgaW5pdFByb2dyYW06IGZ1bmN0aW9uKGdsKSB7Ci0gICAgICB2YXIgdmVydGV4U2hhZGVyLAotICAgICAgICAgIGZyYWdtZW50U2hhZGVyLAotICAgICAgICAgIHByb2dyYW07Ci0KLSAgICAgIHZlcnRleFNoYWRlciA9IHNpZ21hLnV0aWxzLmxvYWRTaGFkZXIoCi0gICAgICAgIGdsLAotICAgICAgICBbCi0gICAgICAgICAgJ2F0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb247JywKLSAgICAgICAgICAnYXR0cmlidXRlIGZsb2F0IGFfc2l6ZTsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9jb2xvcjsnLAotCi0gICAgICAgICAgJ3VuaWZvcm0gdmVjMiB1X3Jlc29sdXRpb247JywKLSAgICAgICAgICAndW5pZm9ybSBmbG9hdCB1X3JhdGlvOycsCi0gICAgICAgICAgJ3VuaWZvcm0gZmxvYXQgdV9zY2FsZTsnLAotICAgICAgICAgICd1bmlmb3JtIG1hdDMgdV9tYXRyaXg7JywKLQotICAgICAgICAgICd2YXJ5aW5nIHZlYzQgY29sb3I7JywKLQotICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKLSAgICAgICAgICAgIC8vIFNjYWxlIGZyb20gW1stMSAxXSBbLTEgMV1dIHRvIHRoZSBjb250YWluZXI6Ci0gICAgICAgICAgICAnZ2xfUG9zaXRpb24gPSB2ZWM0KCcsCi0gICAgICAgICAgICAgICcoKHVfbWF0cml4ICogdmVjMyhhX3Bvc2l0aW9uLCAxKSkueHkgLycsCi0gICAgICAgICAgICAgICAgJ3VfcmVzb2x1dGlvbiAqIDIuMCAtIDEuMCkgKiB2ZWMyKDEsIC0xKSwnLAotICAgICAgICAgICAgICAnMCwnLAotICAgICAgICAgICAgICAnMScsCi0gICAgICAgICAgICAnKTsnLAotCi0gICAgICAgICAgICAvLyBNdWx0aXBseSB0aGUgcG9pbnQgc2l6ZSB0d2ljZToKLSAgICAgICAgICAgIC8vICAtIHggU0NBTElOR19SQVRJTyB0byBjb3JyZWN0IHRoZSBjYW52YXMgc2NhbGluZwotICAgICAgICAgICAgLy8gIC0geCAyIHRvIGNvcnJlY3QgdGhlIGZvcm11bGFlCi0gICAgICAgICAgICAnZ2xfUG9pbnRTaXplID0gYV9zaXplICogdV9yYXRpbyAqIHVfc2NhbGUgKiAyLjA7JywKLQotICAgICAgICAgICAgLy8gRXh0cmFjdCB0aGUgY29sb3I6Ci0gICAgICAgICAgICAnZmxvYXQgYyA9IGFfY29sb3I7JywKLSAgICAgICAgICAgICdjb2xvci5iID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7JywKLSAgICAgICAgICAgICdjb2xvci5nID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7JywKLSAgICAgICAgICAgICdjb2xvci5yID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7IGNvbG9yIC89IDI1NS4wOycsCi0gICAgICAgICAgICAnY29sb3IuYSA9IDEuMDsnLAotICAgICAgICAgICd9JwotICAgICAgICBdLmpvaW4oJ1xuJyksCi0gICAgICAgIGdsLlZFUlRFWF9TSEFERVIKLSAgICAgICk7Ci0KLSAgICAgIGZyYWdtZW50U2hhZGVyID0gc2lnbWEudXRpbHMubG9hZFNoYWRlcigKLSAgICAgICAgZ2wsCi0gICAgICAgIFsKLSAgICAgICAgICAncHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7JywKLQotICAgICAgICAgICd2YXJ5aW5nIHZlYzQgY29sb3I7JywKLQotICAgICAgICAgICd2b2lkIG1haW4odm9pZCkgeycsCi0gICAgICAgICAgICAnZmxvYXQgYm9yZGVyID0gMC4wMTsnLAotICAgICAgICAgICAgJ2Zsb2F0IHJhZGl1cyA9IDAuNTsnLAotCi0gICAgICAgICAgICAndmVjNCBjb2xvcjAgPSB2ZWM0KDAuMCwgMC4wLCAwLjAsIDAuMCk7JywKLSAgICAgICAgICAgICd2ZWMyIG0gPSBnbF9Qb2ludENvb3JkIC0gdmVjMigwLjUsIDAuNSk7JywKLSAgICAgICAgICAgICdmbG9hdCBkaXN0ID0gcmFkaXVzIC0gc3FydChtLnggKiBtLnggKyBtLnkgKiBtLnkpOycsCi0KLSAgICAgICAgICAgICdmbG9hdCB0ID0gMC4wOycsCi0gICAgICAgICAgICAnaWYgKGRpc3QgPiBib3JkZXIpJywKLSAgICAgICAgICAgICAgJ3QgPSAxLjA7JywKLSAgICAgICAgICAgICdlbHNlIGlmIChkaXN0ID4gMC4wKScsCi0gICAgICAgICAgICAgICd0ID0gZGlzdCAvIGJvcmRlcjsnLAotCi0gICAgICAgICAgICAnZ2xfRnJhZ0NvbG9yID0gbWl4KGNvbG9yMCwgY29sb3IsIHQpOycsCi0gICAgICAgICAgJ30nCi0gICAgICAgIF0uam9pbignXG4nKSwKLSAgICAgICAgZ2wuRlJBR01FTlRfU0hBREVSCi0gICAgICApOwotCi0gICAgICBwcm9ncmFtID0gc2lnbWEudXRpbHMubG9hZFByb2dyYW0oZ2wsIFt2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyXSk7Ci0KLSAgICAgIHJldHVybiBwcm9ncmFtOwotICAgIH0KLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLndlYmdsLmVkZ2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgZWRnZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgZWRnZXMgYXMgbGluZXMgZ29pbmcgZnJvbSB0aGUgc291cmNlIG5vZGUKLSAgICogdG8gdGhlIHRhcmdldCBub2RlLiBUbyBkZWFsIHdpdGggZWRnZSB0aGlja25lc3NlcywgdGhlIGxpbmVzIGFyZSBtYWRlIG9mCi0gICAqIHR3byB0cmlhbmdsZXMgZm9ybWluZyByZWN0YW5nbGVzLCB3aXRoIHRoZSBnbC5UUklBTkdMRVMgZHJhd2luZyBtb2RlLgotICAgKgotICAgKiBJdCBpcyBleHBlbnNpdmUsIHNpbmNlIGRyYXdpbmcgYSBzaW5nbGUgZWRnZSByZXF1aXJlcyA2IHBvaW50cywgZWFjaAotICAgKiBoYXZpbmcgNyBhdHRyaWJ1dGVzIChzb3VyY2UgcG9zaXRpb24sIHRhcmdldCBwb3NpdGlvbiwgdGhpY2tuZXNzLCBjb2xvcgotICAgKiBhbmQgYSBmbGFnIGluZGljYXRpbmcgd2hpY2ggdmVydGljZSBvZiB0aGUgcmVjdGFuZ2xlIGl0IGlzKS4KLSAgICovCi0gIHNpZ21hLndlYmdsLmVkZ2VzLmRlZiA9IHsKLSAgICBQT0lOVFM6IDYsCi0gICAgQVRUUklCVVRFUzogNywKLSAgICBhZGRFZGdlOiBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgZGF0YSwgaSwgcHJlZml4LCBzZXR0aW5ncykgewotICAgICAgdmFyIHcgPSAoZWRnZVtwcmVmaXggKyAnc2l6ZSddIHx8IDEpIC8gMiwKLSAgICAgICAgICB4MSA9IHNvdXJjZVtwcmVmaXggKyAneCddLAotICAgICAgICAgIHkxID0gc291cmNlW3ByZWZpeCArICd5J10sCi0gICAgICAgICAgeDIgPSB0YXJnZXRbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgICB5MiA9IHRhcmdldFtwcmVmaXggKyAneSddLAotICAgICAgICAgIGNvbG9yID0gZWRnZS5jb2xvcjsKLQotICAgICAgaWYgKCFjb2xvcikKLSAgICAgICAgc3dpdGNoIChzZXR0aW5ncygnZWRnZUNvbG9yJykpIHsKLSAgICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgICAgY29sb3IgPSBzb3VyY2UuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgICBjb2xvciA9IHRhcmdldC5jb2xvciB8fCBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHRFZGdlQ29sb3InKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgIC8vIE5vcm1hbGl6ZSBjb2xvcjoKLSAgICAgIGNvbG9yID0gc2lnbWEudXRpbHMuZmxvYXRDb2xvcihjb2xvcik7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IHgxOwotICAgICAgZGF0YVtpKytdID0geTE7Ci0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0gdzsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotCi0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IHc7Ci0gICAgICBkYXRhW2krK10gPSAxLjA7Ci0gICAgICBkYXRhW2krK10gPSBjb2xvcjsKLQotICAgICAgZGF0YVtpKytdID0geDI7Ci0gICAgICBkYXRhW2krK10gPSB5MjsKLSAgICAgIGRhdGFbaSsrXSA9IHgxOwotICAgICAgZGF0YVtpKytdID0geTE7Ci0gICAgICBkYXRhW2krK10gPSB3OwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IHgyOwotICAgICAgZGF0YVtpKytdID0geTI7Ci0gICAgICBkYXRhW2krK10gPSB4MTsKLSAgICAgIGRhdGFbaSsrXSA9IHkxOwotICAgICAgZGF0YVtpKytdID0gdzsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotCi0gICAgICBkYXRhW2krK10gPSB4MTsKLSAgICAgIGRhdGFbaSsrXSA9IHkxOwotICAgICAgZGF0YVtpKytdID0geDI7Ci0gICAgICBkYXRhW2krK10gPSB5MjsKLSAgICAgIGRhdGFbaSsrXSA9IHc7Ci0gICAgICBkYXRhW2krK10gPSAxLjA7Ci0gICAgICBkYXRhW2krK10gPSBjb2xvcjsKLQotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IHgyOwotICAgICAgZGF0YVtpKytdID0geTI7Ci0gICAgICBkYXRhW2krK10gPSB3OwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0gICAgfSwKLSAgICByZW5kZXI6IGZ1bmN0aW9uKGdsLCBwcm9ncmFtLCBkYXRhLCBwYXJhbXMpIHsKLSAgICAgIHZhciBidWZmZXI7Ci0KLSAgICAgIC8vIERlZmluZSBhdHRyaWJ1dGVzOgotICAgICAgdmFyIGNvbG9yTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfY29sb3InKSwKLSAgICAgICAgICBwb3NpdGlvbkxvY2F0aW9uMSA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9wb3NpdGlvbjEnKSwKLSAgICAgICAgICBwb3NpdGlvbkxvY2F0aW9uMiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9wb3NpdGlvbjInKSwKLSAgICAgICAgICB0aGlja25lc3NMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV90aGlja25lc3MnKSwKLSAgICAgICAgICBtaW51c0xvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX21pbnVzJyksCi0gICAgICAgICAgcmVzb2x1dGlvbkxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9yZXNvbHV0aW9uJyksCi0gICAgICAgICAgbWF0cml4TG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X21hdHJpeCcpLAotICAgICAgICAgIG1hdHJpeEhhbGZQaUxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9tYXRyaXhIYWxmUGknKSwKLSAgICAgICAgICBtYXRyaXhIYWxmUGlNaW51c0xvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9tYXRyaXhIYWxmUGlNaW51cycpLAotICAgICAgICAgIHJhdGlvTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X3JhdGlvJyksCi0gICAgICAgICAgc2NhbGVMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3Vfc2NhbGUnKTsKLQotICAgICAgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7Ci0gICAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKLSAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBkYXRhLCBnbC5TVEFUSUNfRFJBVyk7Ci0KLSAgICAgIGdsLnVuaWZvcm0yZihyZXNvbHV0aW9uTG9jYXRpb24sIHBhcmFtcy53aWR0aCwgcGFyYW1zLmhlaWdodCk7Ci0gICAgICBnbC51bmlmb3JtMWYoCi0gICAgICAgIHJhdGlvTG9jYXRpb24sCi0gICAgICAgIHBhcmFtcy5yYXRpbyAvIE1hdGgucG93KHBhcmFtcy5yYXRpbywgcGFyYW1zLnNldHRpbmdzKCdlZGdlc1Bvd1JhdGlvJykpCi0gICAgICApOwotICAgICAgZ2wudW5pZm9ybTFmKHNjYWxlTG9jYXRpb24sIHBhcmFtcy5zY2FsaW5nUmF0aW8pOwotICAgICAgZ2wudW5pZm9ybU1hdHJpeDNmdihtYXRyaXhMb2NhdGlvbiwgZmFsc2UsIHBhcmFtcy5tYXRyaXgpOwotICAgICAgZ2wudW5pZm9ybU1hdHJpeDJmdigKLSAgICAgICAgbWF0cml4SGFsZlBpTG9jYXRpb24sCi0gICAgICAgIGZhbHNlLAotICAgICAgICBzaWdtYS51dGlscy5tYXRyaWNlcy5yb3RhdGlvbihNYXRoLlBJIC8gMiwgdHJ1ZSkKLSAgICAgICk7Ci0gICAgICBnbC51bmlmb3JtTWF0cml4MmZ2KAotICAgICAgICBtYXRyaXhIYWxmUGlNaW51c0xvY2F0aW9uLAotICAgICAgICBmYWxzZSwKLSAgICAgICAgc2lnbWEudXRpbHMubWF0cmljZXMucm90YXRpb24oLU1hdGguUEkgLyAyLCB0cnVlKQotICAgICAgKTsKLQotICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uMSk7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uMik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0aGlja25lc3NMb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShtaW51c0xvY2F0aW9uKTsKLQotICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxvY2F0aW9uMSwKLSAgICAgICAgMiwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDAKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24yLAotICAgICAgICAyLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgOAotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodGhpY2tuZXNzTG9jYXRpb24sCi0gICAgICAgIDEsCi0gICAgICAgIGdsLkZMT0FULAotICAgICAgICBmYWxzZSwKLSAgICAgICAgdGhpcy5BVFRSSUJVVEVTICogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULAotICAgICAgICAxNgotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobWludXNMb2NhdGlvbiwKLSAgICAgICAgMSwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDIwCi0gICAgICApOwotICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihjb2xvckxvY2F0aW9uLAotICAgICAgICAxLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMjQKLSAgICAgICk7Ci0KLSAgICAgIGdsLmRyYXdBcnJheXMoCi0gICAgICAgIGdsLlRSSUFOR0xFUywKLSAgICAgICAgcGFyYW1zLnN0YXJ0IHx8IDAsCi0gICAgICAgIHBhcmFtcy5jb3VudCB8fCAoZGF0YS5sZW5ndGggLyB0aGlzLkFUVFJJQlVURVMpCi0gICAgICApOwotICAgIH0sCi0gICAgaW5pdFByb2dyYW06IGZ1bmN0aW9uKGdsKSB7Ci0gICAgICB2YXIgdmVydGV4U2hhZGVyLAotICAgICAgICAgIGZyYWdtZW50U2hhZGVyLAotICAgICAgICAgIHByb2dyYW07Ci0KLSAgICAgIHZlcnRleFNoYWRlciA9IHNpZ21hLnV0aWxzLmxvYWRTaGFkZXIoCi0gICAgICAgIGdsLAotICAgICAgICBbCi0gICAgICAgICAgJ2F0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb24xOycsCi0gICAgICAgICAgJ2F0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb24yOycsCi0gICAgICAgICAgJ2F0dHJpYnV0ZSBmbG9hdCBhX3RoaWNrbmVzczsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9taW51czsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9jb2xvcjsnLAotCi0gICAgICAgICAgJ3VuaWZvcm0gdmVjMiB1X3Jlc29sdXRpb247JywKLSAgICAgICAgICAndW5pZm9ybSBmbG9hdCB1X3JhdGlvOycsCi0gICAgICAgICAgJ3VuaWZvcm0gZmxvYXQgdV9zY2FsZTsnLAotICAgICAgICAgICd1bmlmb3JtIG1hdDMgdV9tYXRyaXg7JywKLSAgICAgICAgICAndW5pZm9ybSBtYXQyIHVfbWF0cml4SGFsZlBpOycsCi0gICAgICAgICAgJ3VuaWZvcm0gbWF0MiB1X21hdHJpeEhhbGZQaU1pbnVzOycsCi0KLSAgICAgICAgICAndmFyeWluZyB2ZWM0IGNvbG9yOycsCi0KLSAgICAgICAgICAndm9pZCBtYWluKCkgeycsCi0gICAgICAgICAgICAvLyBGaW5kIHRoZSBnb29kIHBvaW50OgotICAgICAgICAgICAgJ3ZlYzIgcG9zaXRpb24gPSBhX3RoaWNrbmVzcyAqIHVfcmF0aW8gKicsCi0gICAgICAgICAgICAgICdub3JtYWxpemUoYV9wb3NpdGlvbjIgLSBhX3Bvc2l0aW9uMSk7JywKLQotICAgICAgICAgICAgJ21hdDIgbWF0cml4ID0gYV9taW51cyAqIHVfbWF0cml4SGFsZlBpTWludXMgKycsCi0gICAgICAgICAgICAgICcoMS4wIC0gYV9taW51cykgKiB1X21hdHJpeEhhbGZQaTsnLAotCi0gICAgICAgICAgICAncG9zaXRpb24gPSBtYXRyaXggKiBwb3NpdGlvbiArIGFfcG9zaXRpb24xOycsCi0KLSAgICAgICAgICAgIC8vIFNjYWxlIGZyb20gW1stMSAxXSBbLTEgMV1dIHRvIHRoZSBjb250YWluZXI6Ci0gICAgICAgICAgICAnZ2xfUG9zaXRpb24gPSB2ZWM0KCcsCi0gICAgICAgICAgICAgICcoKHVfbWF0cml4ICogdmVjMyhwb3NpdGlvbiwgMSkpLnh5IC8nLAotICAgICAgICAgICAgICAgICd1X3Jlc29sdXRpb24gKiAyLjAgLSAxLjApICogdmVjMigxLCAtMSksJywKLSAgICAgICAgICAgICAgJzAsJywKLSAgICAgICAgICAgICAgJzEnLAotICAgICAgICAgICAgJyk7JywKLQotICAgICAgICAgICAgLy8gRXh0cmFjdCB0aGUgY29sb3I6Ci0gICAgICAgICAgICAnZmxvYXQgYyA9IGFfY29sb3I7JywKLSAgICAgICAgICAgICdjb2xvci5iID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7JywKLSAgICAgICAgICAgICdjb2xvci5nID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7JywKLSAgICAgICAgICAgICdjb2xvci5yID0gbW9kKGMsIDI1Ni4wKTsgYyA9IGZsb29yKGMgLyAyNTYuMCk7IGNvbG9yIC89IDI1NS4wOycsCi0gICAgICAgICAgICAnY29sb3IuYSA9IDEuMDsnLAotICAgICAgICAgICd9JwotICAgICAgICBdLmpvaW4oJ1xuJyksCi0gICAgICAgIGdsLlZFUlRFWF9TSEFERVIKLSAgICAgICk7Ci0KLSAgICAgIGZyYWdtZW50U2hhZGVyID0gc2lnbWEudXRpbHMubG9hZFNoYWRlcigKLSAgICAgICAgZ2wsCi0gICAgICAgIFsKLSAgICAgICAgICAncHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7JywKLQotICAgICAgICAgICd2YXJ5aW5nIHZlYzQgY29sb3I7JywKLQotICAgICAgICAgICd2b2lkIG1haW4odm9pZCkgeycsCi0gICAgICAgICAgICAnZ2xfRnJhZ0NvbG9yID0gY29sb3I7JywKLSAgICAgICAgICAnfScKLSAgICAgICAgXS5qb2luKCdcbicpLAotICAgICAgICBnbC5GUkFHTUVOVF9TSEFERVIKLSAgICAgICk7Ci0KLSAgICAgIHByb2dyYW0gPSBzaWdtYS51dGlscy5sb2FkUHJvZ3JhbShnbCwgW3ZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXJdKTsKLQotICAgICAgcmV0dXJuIHByb2dyYW07Ci0gICAgfQotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEud2ViZ2wuZWRnZXMnKTsKLQotICAvKioKLSAgICogVGhpcyBlZGdlIHJlbmRlcmVyIHdpbGwgZGlzcGxheSBlZGdlcyBhcyBsaW5lcyB3aXRoIHRoZSBnbC5MSU5FUyBkaXNwbGF5Ci0gICAqIG1vZGUuIFNpbmNlIHRoaXMgbW9kZSBkb2VzIG5vdCBzdXBwb3J0IHdlbGwgdGhpY2tuZXNzLCBlZGdlcyBhcmUgYWxsIGRyYXduCi0gICAqIHdpdGggdGhlIHNhbWUgdGhpY2tuZXNzICgzcHgpLCBpbmRlcGVuZGFudGx5IG9mIHRoZSBlZGdlIGF0dHJpYnV0ZXMgb3IgdGhlCi0gICAqIHpvb21pbmcgcmF0aW8uCi0gICAqLwotICBzaWdtYS53ZWJnbC5lZGdlcy5mYXN0ID0gewotICAgIFBPSU5UUzogMiwKLSAgICBBVFRSSUJVVEVTOiAzLAotICAgIGFkZEVkZ2U6IGZ1bmN0aW9uKGVkZ2UsIHNvdXJjZSwgdGFyZ2V0LCBkYXRhLCBpLCBwcmVmaXgsIHNldHRpbmdzKSB7Ci0gICAgICB2YXIgdyA9IChlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSkgLyAyLAotICAgICAgICAgIHgxID0gc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgICAgeTEgPSBzb3VyY2VbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgICB4MiA9IHRhcmdldFtwcmVmaXggKyAneCddLAotICAgICAgICAgIHkyID0gdGFyZ2V0W3ByZWZpeCArICd5J10sCi0gICAgICAgICAgY29sb3IgPSBlZGdlLmNvbG9yOwotCi0gICAgICBpZiAoIWNvbG9yKQotICAgICAgICBzd2l0Y2ggKHNldHRpbmdzKCdlZGdlQ29sb3InKSkgewotICAgICAgICAgIGNhc2UgJ3NvdXJjZSc6Ci0gICAgICAgICAgICBjb2xvciA9IHNvdXJjZS5jb2xvciB8fCBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgY2FzZSAndGFyZ2V0JzoKLSAgICAgICAgICAgIGNvbG9yID0gdGFyZ2V0LmNvbG9yIHx8IHNldHRpbmdzKCdkZWZhdWx0Tm9kZUNvbG9yJyk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgY29sb3IgPSBzZXR0aW5ncygnZGVmYXVsdEVkZ2VDb2xvcicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgLy8gTm9ybWFsaXplIGNvbG9yOgotICAgICAgY29sb3IgPSBzaWdtYS51dGlscy5mbG9hdENvbG9yKGNvbG9yKTsKLQotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotCi0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0gICAgfSwKLSAgICByZW5kZXI6IGZ1bmN0aW9uKGdsLCBwcm9ncmFtLCBkYXRhLCBwYXJhbXMpIHsKLSAgICAgIHZhciBidWZmZXI7Ci0KLSAgICAgIC8vIERlZmluZSBhdHRyaWJ1dGVzOgotICAgICAgdmFyIGNvbG9yTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfY29sb3InKSwKLSAgICAgICAgICBwb3NpdGlvbkxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3Bvc2l0aW9uJyksCi0gICAgICAgICAgcmVzb2x1dGlvbkxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9yZXNvbHV0aW9uJyksCi0gICAgICAgICAgbWF0cml4TG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICd1X21hdHJpeCcpOwotCi0gICAgICBidWZmZXIgPSBnbC5jcmVhdGVCdWZmZXIoKTsKLSAgICAgIGdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIpOwotICAgICAgZ2wuYnVmZmVyRGF0YShnbC5BUlJBWV9CVUZGRVIsIGRhdGEsIGdsLkRZTkFNSUNfRFJBVyk7Ci0KLSAgICAgIGdsLnVuaWZvcm0yZihyZXNvbHV0aW9uTG9jYXRpb24sIHBhcmFtcy53aWR0aCwgcGFyYW1zLmhlaWdodCk7Ci0gICAgICBnbC51bmlmb3JtTWF0cml4M2Z2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgcGFyYW1zLm1hdHJpeCk7Ci0KLSAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KHBvc2l0aW9uTG9jYXRpb24pOwotICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoY29sb3JMb2NhdGlvbik7Ci0KLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIocG9zaXRpb25Mb2NhdGlvbiwKLSAgICAgICAgMiwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDAKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGNvbG9yTG9jYXRpb24sCi0gICAgICAgIDEsCi0gICAgICAgIGdsLkZMT0FULAotICAgICAgICBmYWxzZSwKLSAgICAgICAgdGhpcy5BVFRSSUJVVEVTICogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULAotICAgICAgICA4Ci0gICAgICApOwotCi0gICAgICBnbC5saW5lV2lkdGgoMyk7Ci0gICAgICBnbC5kcmF3QXJyYXlzKAotICAgICAgICBnbC5MSU5FUywKLSAgICAgICAgcGFyYW1zLnN0YXJ0IHx8IDAsCi0gICAgICAgIHBhcmFtcy5jb3VudCB8fCAoZGF0YS5sZW5ndGggLyB0aGlzLkFUVFJJQlVURVMpCi0gICAgICApOwotICAgIH0sCi0gICAgaW5pdFByb2dyYW06IGZ1bmN0aW9uKGdsKSB7Ci0gICAgICB2YXIgdmVydGV4U2hhZGVyLAotICAgICAgICAgIGZyYWdtZW50U2hhZGVyLAotICAgICAgICAgIHByb2dyYW07Ci0KLSAgICAgIHZlcnRleFNoYWRlciA9IHNpZ21hLnV0aWxzLmxvYWRTaGFkZXIoCi0gICAgICAgIGdsLAotICAgICAgICBbCi0gICAgICAgICAgJ2F0dHJpYnV0ZSB2ZWMyIGFfcG9zaXRpb247JywKLSAgICAgICAgICAnYXR0cmlidXRlIGZsb2F0IGFfY29sb3I7JywKLQotICAgICAgICAgICd1bmlmb3JtIHZlYzIgdV9yZXNvbHV0aW9uOycsCi0gICAgICAgICAgJ3VuaWZvcm0gbWF0MyB1X21hdHJpeDsnLAotCi0gICAgICAgICAgJ3ZhcnlpbmcgdmVjNCBjb2xvcjsnLAotCi0gICAgICAgICAgJ3ZvaWQgbWFpbigpIHsnLAotICAgICAgICAgICAgLy8gU2NhbGUgZnJvbSBbWy0xIDFdIFstMSAxXV0gdG8gdGhlIGNvbnRhaW5lcjoKLSAgICAgICAgICAgICdnbF9Qb3NpdGlvbiA9IHZlYzQoJywKLSAgICAgICAgICAgICAgJygodV9tYXRyaXggKiB2ZWMzKGFfcG9zaXRpb24sIDEpKS54eSAvJywKLSAgICAgICAgICAgICAgICAndV9yZXNvbHV0aW9uICogMi4wIC0gMS4wKSAqIHZlYzIoMSwgLTEpLCcsCi0gICAgICAgICAgICAgICcwLCcsCi0gICAgICAgICAgICAgICcxJywKLSAgICAgICAgICAgICcpOycsCi0KLSAgICAgICAgICAgIC8vIEV4dHJhY3QgdGhlIGNvbG9yOgotICAgICAgICAgICAgJ2Zsb2F0IGMgPSBhX2NvbG9yOycsCi0gICAgICAgICAgICAnY29sb3IuYiA9IG1vZChjLCAyNTYuMCk7IGMgPSBmbG9vcihjIC8gMjU2LjApOycsCi0gICAgICAgICAgICAnY29sb3IuZyA9IG1vZChjLCAyNTYuMCk7IGMgPSBmbG9vcihjIC8gMjU2LjApOycsCi0gICAgICAgICAgICAnY29sb3IuciA9IG1vZChjLCAyNTYuMCk7IGMgPSBmbG9vcihjIC8gMjU2LjApOyBjb2xvciAvPSAyNTUuMDsnLAotICAgICAgICAgICAgJ2NvbG9yLmEgPSAxLjA7JywKLSAgICAgICAgICAnfScKLSAgICAgICAgXS5qb2luKCdcbicpLAotICAgICAgICBnbC5WRVJURVhfU0hBREVSCi0gICAgICApOwotCi0gICAgICBmcmFnbWVudFNoYWRlciA9IHNpZ21hLnV0aWxzLmxvYWRTaGFkZXIoCi0gICAgICAgIGdsLAotICAgICAgICBbCi0gICAgICAgICAgJ3ByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OycsCi0KLSAgICAgICAgICAndmFyeWluZyB2ZWM0IGNvbG9yOycsCi0KLSAgICAgICAgICAndm9pZCBtYWluKHZvaWQpIHsnLAotICAgICAgICAgICAgJ2dsX0ZyYWdDb2xvciA9IGNvbG9yOycsCi0gICAgICAgICAgJ30nCi0gICAgICAgIF0uam9pbignXG4nKSwKLSAgICAgICAgZ2wuRlJBR01FTlRfU0hBREVSCi0gICAgICApOwotCi0gICAgICBwcm9ncmFtID0gc2lnbWEudXRpbHMubG9hZFByb2dyYW0oZ2wsIFt2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyXSk7Ci0KLSAgICAgIHJldHVybiBwcm9ncmFtOwotICAgIH0KLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLndlYmdsLmVkZ2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgZWRnZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgZWRnZXMgYXMgYXJyb3dzIGdvaW5nIGZyb20gdGhlIHNvdXJjZSBub2RlCi0gICAqIHRvIHRoZSB0YXJnZXQgbm9kZS4gVG8gZGVhbCB3aXRoIGVkZ2UgdGhpY2tuZXNzZXMsIHRoZSBsaW5lcyBhcmUgbWFkZSBvZgotICAgKiB0aHJlZSB0cmlhbmdsZXM6IHR3byBmb3JtaW5nIHJlY3RhbmdsZXMsIHdpdGggdGhlIGdsLlRSSUFOR0xFUyBkcmF3aW5nCi0gICAqIG1vZGUuCi0gICAqCi0gICAqIEl0IGlzIGV4cGVuc2l2ZSwgc2luY2UgZHJhd2luZyBhIHNpbmdsZSBlZGdlIHJlcXVpcmVzIDkgcG9pbnRzLCBlYWNoCi0gICAqIGhhdmluZyBhIGxvdCBvZiBhdHRyaWJ1dGVzLgotICAgKi8KLSAgc2lnbWEud2ViZ2wuZWRnZXMuYXJyb3cgPSB7Ci0gICAgUE9JTlRTOiA5LAotICAgIEFUVFJJQlVURVM6IDExLAotICAgIGFkZEVkZ2U6IGZ1bmN0aW9uKGVkZ2UsIHNvdXJjZSwgdGFyZ2V0LCBkYXRhLCBpLCBwcmVmaXgsIHNldHRpbmdzKSB7Ci0gICAgICB2YXIgdyA9IChlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSkgLyAyLAotICAgICAgICAgIHgxID0gc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgICAgeTEgPSBzb3VyY2VbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgICB4MiA9IHRhcmdldFtwcmVmaXggKyAneCddLAotICAgICAgICAgIHkyID0gdGFyZ2V0W3ByZWZpeCArICd5J10sCi0gICAgICAgICAgdGFyZ2V0U2l6ZSA9IHRhcmdldFtwcmVmaXggKyAnc2l6ZSddLAotICAgICAgICAgIGNvbG9yID0gZWRnZS5jb2xvcjsKLQotICAgICAgaWYgKCFjb2xvcikKLSAgICAgICAgc3dpdGNoIChzZXR0aW5ncygnZWRnZUNvbG9yJykpIHsKLSAgICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgICAgY29sb3IgPSBzb3VyY2UuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgICBjb2xvciA9IHRhcmdldC5jb2xvciB8fCBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHRFZGdlQ29sb3InKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgIC8vIE5vcm1hbGl6ZSBjb2xvcjoKLSAgICAgIGNvbG9yID0gc2lnbWEudXRpbHMuZmxvYXRDb2xvcihjb2xvcik7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IHgxOwotICAgICAgZGF0YVtpKytdID0geTE7Ci0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0gdzsKLSAgICAgIGRhdGFbaSsrXSA9IHRhcmdldFNpemU7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSBjb2xvcjsKLQotICAgICAgZGF0YVtpKytdID0geDI7Ci0gICAgICBkYXRhW2krK10gPSB5MjsKLSAgICAgIGRhdGFbaSsrXSA9IHgxOwotICAgICAgZGF0YVtpKytdID0geTE7Ci0gICAgICBkYXRhW2krK10gPSB3OwotICAgICAgZGF0YVtpKytdID0gdGFyZ2V0U2l6ZTsKLSAgICAgIGRhdGFbaSsrXSA9IDEuMDsKLSAgICAgIGRhdGFbaSsrXSA9IDEuMDsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotCi0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IHc7Ci0gICAgICBkYXRhW2krK10gPSB0YXJnZXRTaXplOwotICAgICAgZGF0YVtpKytdID0gMS4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IHgyOwotICAgICAgZGF0YVtpKytdID0geTI7Ci0gICAgICBkYXRhW2krK10gPSB4MTsKLSAgICAgIGRhdGFbaSsrXSA9IHkxOwotICAgICAgZGF0YVtpKytdID0gdzsKLSAgICAgIGRhdGFbaSsrXSA9IHRhcmdldFNpemU7Ci0gICAgICBkYXRhW2krK10gPSAxLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSBjb2xvcjsKLQotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IHgyOwotICAgICAgZGF0YVtpKytdID0geTI7Ci0gICAgICBkYXRhW2krK10gPSB3OwotICAgICAgZGF0YVtpKytdID0gdGFyZ2V0U2l6ZTsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IDEuMDsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IDAuMDsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotCi0gICAgICBkYXRhW2krK10gPSB4MTsKLSAgICAgIGRhdGFbaSsrXSA9IHkxOwotICAgICAgZGF0YVtpKytdID0geDI7Ci0gICAgICBkYXRhW2krK10gPSB5MjsKLSAgICAgIGRhdGFbaSsrXSA9IHc7Ci0gICAgICBkYXRhW2krK10gPSB0YXJnZXRTaXplOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0KLSAgICAgIC8vIEFycm93IGhlYWQ6Ci0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IHc7Ci0gICAgICBkYXRhW2krK10gPSB0YXJnZXRTaXplOwotICAgICAgZGF0YVtpKytdID0gMS4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMS4wOwotICAgICAgZGF0YVtpKytdID0gLTEuMDsKLSAgICAgIGRhdGFbaSsrXSA9IGNvbG9yOwotCi0gICAgICBkYXRhW2krK10gPSB4MjsKLSAgICAgIGRhdGFbaSsrXSA9IHkyOwotICAgICAgZGF0YVtpKytdID0geDE7Ci0gICAgICBkYXRhW2krK10gPSB5MTsKLSAgICAgIGRhdGFbaSsrXSA9IHc7Ci0gICAgICBkYXRhW2krK10gPSB0YXJnZXRTaXplOwotICAgICAgZGF0YVtpKytdID0gMS4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gMS4wOwotICAgICAgZGF0YVtpKytdID0gMC4wOwotICAgICAgZGF0YVtpKytdID0gY29sb3I7Ci0KLSAgICAgIGRhdGFbaSsrXSA9IHgyOwotICAgICAgZGF0YVtpKytdID0geTI7Ci0gICAgICBkYXRhW2krK10gPSB4MTsKLSAgICAgIGRhdGFbaSsrXSA9IHkxOwotICAgICAgZGF0YVtpKytdID0gdzsKLSAgICAgIGRhdGFbaSsrXSA9IHRhcmdldFNpemU7Ci0gICAgICBkYXRhW2krK10gPSAxLjA7Ci0gICAgICBkYXRhW2krK10gPSAwLjA7Ci0gICAgICBkYXRhW2krK10gPSAxLjA7Ci0gICAgICBkYXRhW2krK10gPSAxLjA7Ci0gICAgICBkYXRhW2krK10gPSBjb2xvcjsKLSAgICB9LAotICAgIHJlbmRlcjogZnVuY3Rpb24oZ2wsIHByb2dyYW0sIGRhdGEsIHBhcmFtcykgewotICAgICAgdmFyIGJ1ZmZlcjsKLQotICAgICAgLy8gRGVmaW5lIGF0dHJpYnV0ZXM6Ci0gICAgICB2YXIgcG9zaXRpb25Mb2NhdGlvbjEgPQotICAgICAgICAgICAgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfcG9zMScpLAotICAgICAgICAgIHBvc2l0aW9uTG9jYXRpb24yID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX3BvczInKSwKLSAgICAgICAgICB0aGlja25lc3NMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV90aGlja25lc3MnKSwKLSAgICAgICAgICB0YXJnZXRTaXplTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfdFNpemUnKSwKLSAgICAgICAgICBkZWxheUxvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICdhX2RlbGF5JyksCi0gICAgICAgICAgbWludXNMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9taW51cycpLAotICAgICAgICAgIGhlYWRMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9oZWFkJyksCi0gICAgICAgICAgaGVhZFBvc2l0aW9uTG9jYXRpb24gPQotICAgICAgICAgICAgZ2wuZ2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgJ2FfaGVhZFBvc2l0aW9uJyksCi0gICAgICAgICAgY29sb3JMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRBdHRyaWJMb2NhdGlvbihwcm9ncmFtLCAnYV9jb2xvcicpLAotICAgICAgICAgIHJlc29sdXRpb25Mb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfcmVzb2x1dGlvbicpLAotICAgICAgICAgIG1hdHJpeExvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9tYXRyaXgnKSwKLSAgICAgICAgICBtYXRyaXhIYWxmUGlMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfbWF0cml4SGFsZlBpJyksCi0gICAgICAgICAgbWF0cml4SGFsZlBpTWludXNMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfbWF0cml4SGFsZlBpTWludXMnKSwKLSAgICAgICAgICByYXRpb0xvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9yYXRpbycpLAotICAgICAgICAgIG5vZGVSYXRpb0xvY2F0aW9uID0KLSAgICAgICAgICAgIGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAndV9ub2RlUmF0aW8nKSwKLSAgICAgICAgICBhcnJvd0hlYWRMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3VfYXJyb3dIZWFkJyksCi0gICAgICAgICAgc2NhbGVMb2NhdGlvbiA9Ci0gICAgICAgICAgICBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgJ3Vfc2NhbGUnKTsKLQotICAgICAgYnVmZmVyID0gZ2wuY3JlYXRlQnVmZmVyKCk7Ci0gICAgICBnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKTsKLSAgICAgIGdsLmJ1ZmZlckRhdGEoZ2wuQVJSQVlfQlVGRkVSLCBkYXRhLCBnbC5TVEFUSUNfRFJBVyk7Ci0KLSAgICAgIGdsLnVuaWZvcm0yZihyZXNvbHV0aW9uTG9jYXRpb24sIHBhcmFtcy53aWR0aCwgcGFyYW1zLmhlaWdodCk7Ci0gICAgICBnbC51bmlmb3JtMWYoCi0gICAgICAgIHJhdGlvTG9jYXRpb24sCi0gICAgICAgIHBhcmFtcy5yYXRpbyAvIE1hdGgucG93KHBhcmFtcy5yYXRpbywgcGFyYW1zLnNldHRpbmdzKCdlZGdlc1Bvd1JhdGlvJykpCi0gICAgICApOwotICAgICAgZ2wudW5pZm9ybTFmKAotICAgICAgICBub2RlUmF0aW9Mb2NhdGlvbiwKLSAgICAgICAgTWF0aC5wb3cocGFyYW1zLnJhdGlvLCBwYXJhbXMuc2V0dGluZ3MoJ25vZGVzUG93UmF0aW8nKSkgLwotICAgICAgICBwYXJhbXMucmF0aW8KLSAgICAgICk7Ci0gICAgICBnbC51bmlmb3JtMWYoYXJyb3dIZWFkTG9jYXRpb24sIDUuMCk7Ci0gICAgICBnbC51bmlmb3JtMWYoc2NhbGVMb2NhdGlvbiwgcGFyYW1zLnNjYWxpbmdSYXRpbyk7Ci0gICAgICBnbC51bmlmb3JtTWF0cml4M2Z2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgcGFyYW1zLm1hdHJpeCk7Ci0gICAgICBnbC51bmlmb3JtTWF0cml4MmZ2KAotICAgICAgICBtYXRyaXhIYWxmUGlMb2NhdGlvbiwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHNpZ21hLnV0aWxzLm1hdHJpY2VzLnJvdGF0aW9uKE1hdGguUEkgLyAyLCB0cnVlKQotICAgICAgKTsKLSAgICAgIGdsLnVuaWZvcm1NYXRyaXgyZnYoCi0gICAgICAgIG1hdHJpeEhhbGZQaU1pbnVzTG9jYXRpb24sCi0gICAgICAgIGZhbHNlLAotICAgICAgICBzaWdtYS51dGlscy5tYXRyaWNlcy5yb3RhdGlvbigtTWF0aC5QSSAvIDIsIHRydWUpCi0gICAgICApOwotCi0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uMSk7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShwb3NpdGlvbkxvY2F0aW9uMik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0aGlja25lc3NMb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0YXJnZXRTaXplTG9jYXRpb24pOwotICAgICAgZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoZGVsYXlMb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShtaW51c0xvY2F0aW9uKTsKLSAgICAgIGdsLmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KGhlYWRMb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShoZWFkUG9zaXRpb25Mb2NhdGlvbik7Ci0gICAgICBnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShjb2xvckxvY2F0aW9uKTsKLQotICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihwb3NpdGlvbkxvY2F0aW9uMSwKLSAgICAgICAgMiwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDAKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKHBvc2l0aW9uTG9jYXRpb24yLAotICAgICAgICAyLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgOAotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodGhpY2tuZXNzTG9jYXRpb24sCi0gICAgICAgIDEsCi0gICAgICAgIGdsLkZMT0FULAotICAgICAgICBmYWxzZSwKLSAgICAgICAgdGhpcy5BVFRSSUJVVEVTICogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULAotICAgICAgICAxNgotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIodGFyZ2V0U2l6ZUxvY2F0aW9uLAotICAgICAgICAxLAotICAgICAgICBnbC5GTE9BVCwKLSAgICAgICAgZmFsc2UsCi0gICAgICAgIHRoaXMuQVRUUklCVVRFUyAqIEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCwKLSAgICAgICAgMjAKLSAgICAgICk7Ci0gICAgICBnbC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGRlbGF5TG9jYXRpb24sCi0gICAgICAgIDEsCi0gICAgICAgIGdsLkZMT0FULAotICAgICAgICBmYWxzZSwKLSAgICAgICAgdGhpcy5BVFRSSUJVVEVTICogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULAotICAgICAgICAyNAotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIobWludXNMb2NhdGlvbiwKLSAgICAgICAgMSwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDI4Ci0gICAgICApOwotICAgICAgZ2wudmVydGV4QXR0cmliUG9pbnRlcihoZWFkTG9jYXRpb24sCi0gICAgICAgIDEsCi0gICAgICAgIGdsLkZMT0FULAotICAgICAgICBmYWxzZSwKLSAgICAgICAgdGhpcy5BVFRSSUJVVEVTICogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULAotICAgICAgICAzMgotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoaGVhZFBvc2l0aW9uTG9jYXRpb24sCi0gICAgICAgIDEsCi0gICAgICAgIGdsLkZMT0FULAotICAgICAgICBmYWxzZSwKLSAgICAgICAgdGhpcy5BVFRSSUJVVEVTICogRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULAotICAgICAgICAzNgotICAgICAgKTsKLSAgICAgIGdsLnZlcnRleEF0dHJpYlBvaW50ZXIoY29sb3JMb2NhdGlvbiwKLSAgICAgICAgMSwKLSAgICAgICAgZ2wuRkxPQVQsCi0gICAgICAgIGZhbHNlLAotICAgICAgICB0aGlzLkFUVFJJQlVURVMgKiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsCi0gICAgICAgIDQwCi0gICAgICApOwotCi0gICAgICBnbC5kcmF3QXJyYXlzKAotICAgICAgICBnbC5UUklBTkdMRVMsCi0gICAgICAgIHBhcmFtcy5zdGFydCB8fCAwLAotICAgICAgICBwYXJhbXMuY291bnQgfHwgKGRhdGEubGVuZ3RoIC8gdGhpcy5BVFRSSUJVVEVTKQotICAgICAgKTsKLSAgICB9LAotICAgIGluaXRQcm9ncmFtOiBmdW5jdGlvbihnbCkgewotICAgICAgdmFyIHZlcnRleFNoYWRlciwKLSAgICAgICAgICBmcmFnbWVudFNoYWRlciwKLSAgICAgICAgICBwcm9ncmFtOwotCi0gICAgICB2ZXJ0ZXhTaGFkZXIgPSBzaWdtYS51dGlscy5sb2FkU2hhZGVyKAotICAgICAgICBnbCwKLSAgICAgICAgWwotICAgICAgICAgICdhdHRyaWJ1dGUgdmVjMiBhX3BvczE7JywKLSAgICAgICAgICAnYXR0cmlidXRlIHZlYzIgYV9wb3MyOycsCi0gICAgICAgICAgJ2F0dHJpYnV0ZSBmbG9hdCBhX3RoaWNrbmVzczsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV90U2l6ZTsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9kZWxheTsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9taW51czsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9oZWFkOycsCi0gICAgICAgICAgJ2F0dHJpYnV0ZSBmbG9hdCBhX2hlYWRQb3NpdGlvbjsnLAotICAgICAgICAgICdhdHRyaWJ1dGUgZmxvYXQgYV9jb2xvcjsnLAotCi0gICAgICAgICAgJ3VuaWZvcm0gdmVjMiB1X3Jlc29sdXRpb247JywKLSAgICAgICAgICAndW5pZm9ybSBmbG9hdCB1X3JhdGlvOycsCi0gICAgICAgICAgJ3VuaWZvcm0gZmxvYXQgdV9ub2RlUmF0aW87JywKLSAgICAgICAgICAndW5pZm9ybSBmbG9hdCB1X2Fycm93SGVhZDsnLAotICAgICAgICAgICd1bmlmb3JtIGZsb2F0IHVfc2NhbGU7JywKLSAgICAgICAgICAndW5pZm9ybSBtYXQzIHVfbWF0cml4OycsCi0gICAgICAgICAgJ3VuaWZvcm0gbWF0MiB1X21hdHJpeEhhbGZQaTsnLAotICAgICAgICAgICd1bmlmb3JtIG1hdDIgdV9tYXRyaXhIYWxmUGlNaW51czsnLAotCi0gICAgICAgICAgJ3ZhcnlpbmcgdmVjNCBjb2xvcjsnLAotCi0gICAgICAgICAgJ3ZvaWQgbWFpbigpIHsnLAotICAgICAgICAgICAgLy8gRmluZCB0aGUgZ29vZCBwb2ludDoKLSAgICAgICAgICAgICd2ZWMyIHBvcyA9IG5vcm1hbGl6ZShhX3BvczIgLSBhX3BvczEpOycsCi0KLSAgICAgICAgICAgICdtYXQyIG1hdHJpeCA9ICgxLjAgLSBhX2hlYWQpIConLAotICAgICAgICAgICAgICAnKCcsCi0gICAgICAgICAgICAgICAgJ2FfbWludXMgKiB1X21hdHJpeEhhbGZQaU1pbnVzICsnLAotICAgICAgICAgICAgICAgICcoMS4wIC0gYV9taW51cykgKiB1X21hdHJpeEhhbGZQaScsCi0gICAgICAgICAgICAgICcpICsgYV9oZWFkICogKCcsCi0gICAgICAgICAgICAgICAgJ2FfaGVhZFBvc2l0aW9uICogdV9tYXRyaXhIYWxmUGlNaW51cyAqIDAuNiArJywKLSAgICAgICAgICAgICAgICAnKGFfaGVhZFBvc2l0aW9uICogYV9oZWFkUG9zaXRpb24gLSAxLjApICogbWF0MigxLjApJywKLSAgICAgICAgICAgICAgJyk7JywKLQotICAgICAgICAgICAgJ3BvcyA9IGFfcG9zMSArICgnLAotICAgICAgICAgICAgICAvLyBEZWFsIHdpdGggYm9keToKLSAgICAgICAgICAgICAgJygxLjAgLSBhX2hlYWQpICogYV90aGlja25lc3MgKiB1X3JhdGlvICogbWF0cml4ICogcG9zICsnLAotICAgICAgICAgICAgICAvLyBEZWFsIHdpdGggaGVhZDoKLSAgICAgICAgICAgICAgJ2FfaGVhZCAqIHVfYXJyb3dIZWFkICogYV90aGlja25lc3MgKiB1X3JhdGlvICogbWF0cml4ICogcG9zICsnLAotICAgICAgICAgICAgICAvLyBEZWFsIHdpdGggZGVsYXk6Ci0gICAgICAgICAgICAgICdhX2RlbGF5ICogcG9zICogKCcsCi0gICAgICAgICAgICAgICAgJ2FfdFNpemUgLyB1X25vZGVSYXRpbyArJywKLSAgICAgICAgICAgICAgICAndV9hcnJvd0hlYWQgKiBhX3RoaWNrbmVzcyAqIHVfcmF0aW8nLAotICAgICAgICAgICAgICAnKScsCi0gICAgICAgICAgICAnKTsnLAotCi0gICAgICAgICAgICAvLyBTY2FsZSBmcm9tIFtbLTEgMV0gWy0xIDFdXSB0byB0aGUgY29udGFpbmVyOgotICAgICAgICAgICAgJ2dsX1Bvc2l0aW9uID0gdmVjNCgnLAotICAgICAgICAgICAgICAnKCh1X21hdHJpeCAqIHZlYzMocG9zLCAxKSkueHkgLycsCi0gICAgICAgICAgICAgICAgJ3VfcmVzb2x1dGlvbiAqIDIuMCAtIDEuMCkgKiB2ZWMyKDEsIC0xKSwnLAotICAgICAgICAgICAgICAnMCwnLAotICAgICAgICAgICAgICAnMScsCi0gICAgICAgICAgICAnKTsnLAotCi0gICAgICAgICAgICAvLyBFeHRyYWN0IHRoZSBjb2xvcjoKLSAgICAgICAgICAgICdmbG9hdCBjID0gYV9jb2xvcjsnLAotICAgICAgICAgICAgJ2NvbG9yLmIgPSBtb2QoYywgMjU2LjApOyBjID0gZmxvb3IoYyAvIDI1Ni4wKTsnLAotICAgICAgICAgICAgJ2NvbG9yLmcgPSBtb2QoYywgMjU2LjApOyBjID0gZmxvb3IoYyAvIDI1Ni4wKTsnLAotICAgICAgICAgICAgJ2NvbG9yLnIgPSBtb2QoYywgMjU2LjApOyBjID0gZmxvb3IoYyAvIDI1Ni4wKTsgY29sb3IgLz0gMjU1LjA7JywKLSAgICAgICAgICAgICdjb2xvci5hID0gMS4wOycsCi0gICAgICAgICAgJ30nCi0gICAgICAgIF0uam9pbignXG4nKSwKLSAgICAgICAgZ2wuVkVSVEVYX1NIQURFUgotICAgICAgKTsKLQotICAgICAgZnJhZ21lbnRTaGFkZXIgPSBzaWdtYS51dGlscy5sb2FkU2hhZGVyKAotICAgICAgICBnbCwKLSAgICAgICAgWwotICAgICAgICAgICdwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsnLAotCi0gICAgICAgICAgJ3ZhcnlpbmcgdmVjNCBjb2xvcjsnLAotCi0gICAgICAgICAgJ3ZvaWQgbWFpbih2b2lkKSB7JywKLSAgICAgICAgICAgICdnbF9GcmFnQ29sb3IgPSBjb2xvcjsnLAotICAgICAgICAgICd9JwotICAgICAgICBdLmpvaW4oJ1xuJyksCi0gICAgICAgIGdsLkZSQUdNRU5UX1NIQURFUgotICAgICAgKTsKLQotICAgICAgcHJvZ3JhbSA9IHNpZ21hLnV0aWxzLmxvYWRQcm9ncmFtKGdsLCBbdmVydGV4U2hhZGVyLCBmcmFnbWVudFNoYWRlcl0pOwotCi0gICAgICByZXR1cm4gcHJvZ3JhbTsKLSAgICB9Ci0gIH07Ci19KSgpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgLy8gSW5pdGlhbGl6ZSBwYWNrYWdlczoKLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5jYW52YXMubGFiZWxzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgbGFiZWwgcmVuZGVyZXIgd2lsbCBqdXN0IGRpc3BsYXkgdGhlIGxhYmVsIG9uIHRoZSByaWdodCBvZiB0aGUgbm9kZS4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBub2RlICAgICBUaGUgbm9kZSBvYmplY3QuCi0gICAqIEBwYXJhbSAge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gY29udGV4dCAgVGhlIGNhbnZhcyBjb250ZXh0LgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICAgICAgICAgIHNldHRpbmdzIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICovCi0gIHNpZ21hLmNhbnZhcy5sYWJlbHMuZGVmID0gZnVuY3Rpb24obm9kZSwgY29udGV4dCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgZm9udFNpemUsCi0gICAgICAgIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgc2l6ZSA9IG5vZGVbcHJlZml4ICsgJ3NpemUnXTsKLQotICAgIGlmIChzaXplIDwgc2V0dGluZ3MoJ2xhYmVsVGhyZXNob2xkJykpCi0gICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW5vZGUubGFiZWwgfHwgdHlwZW9mIG5vZGUubGFiZWwgIT09ICdzdHJpbmcnKQotICAgICAgcmV0dXJuOwotCi0gICAgZm9udFNpemUgPSAoc2V0dGluZ3MoJ2xhYmVsU2l6ZScpID09PSAnZml4ZWQnKSA/Ci0gICAgICBzZXR0aW5ncygnZGVmYXVsdExhYmVsU2l6ZScpIDoKLSAgICAgIHNldHRpbmdzKCdsYWJlbFNpemVSYXRpbycpICogc2l6ZTsKLQotICAgIGNvbnRleHQuZm9udCA9IChzZXR0aW5ncygnZm9udFN0eWxlJykgPyBzZXR0aW5ncygnZm9udFN0eWxlJykgKyAnICcgOiAnJykgKwotICAgICAgZm9udFNpemUgKyAncHggJyArIHNldHRpbmdzKCdmb250Jyk7Ci0gICAgY29udGV4dC5maWxsU3R5bGUgPSAoc2V0dGluZ3MoJ2xhYmVsQ29sb3InKSA9PT0gJ25vZGUnKSA/Ci0gICAgICAobm9kZS5jb2xvciB8fCBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpKSA6Ci0gICAgICBzZXR0aW5ncygnZGVmYXVsdExhYmVsQ29sb3InKTsKLQotICAgIGNvbnRleHQuZmlsbFRleHQoCi0gICAgICBub2RlLmxhYmVsLAotICAgICAgTWF0aC5yb3VuZChub2RlW3ByZWZpeCArICd4J10gKyBzaXplICsgMyksCi0gICAgICBNYXRoLnJvdW5kKG5vZGVbcHJlZml4ICsgJ3knXSArIGZvbnRTaXplIC8gMykKLSAgICApOwotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FudmFzLmhvdmVycycpOwotCi0gIC8qKgotICAgKiBUaGlzIGhvdmVyIHJlbmRlcmVyIHdpbGwgYmFzaWNhbGx5IGRpc3BsYXkgdGhlIGxhYmVsIHdpdGggYSBiYWNrZ3JvdW5kLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIG5vZGUgICAgIFRoZSBub2RlIG9iamVjdC4KLSAgICogQHBhcmFtICB7Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEfSBjb250ZXh0ICBUaGUgY2FudmFzIGNvbnRleHQuCi0gICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgVGhlIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKi8KLSAgc2lnbWEuY2FudmFzLmhvdmVycy5kZWYgPSBmdW5jdGlvbihub2RlLCBjb250ZXh0LCBzZXR0aW5ncykgewotICAgIHZhciB4LAotICAgICAgICB5LAotICAgICAgICB3LAotICAgICAgICBoLAotICAgICAgICBlLAotICAgICAgICBmb250U3R5bGUgPSBzZXR0aW5ncygnaG92ZXJGb250U3R5bGUnKSB8fCBzZXR0aW5ncygnZm9udFN0eWxlJyksCi0gICAgICAgIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgc2l6ZSA9IG5vZGVbcHJlZml4ICsgJ3NpemUnXSwKLSAgICAgICAgZm9udFNpemUgPSAoc2V0dGluZ3MoJ2xhYmVsU2l6ZScpID09PSAnZml4ZWQnKSA/Ci0gICAgICAgICAgc2V0dGluZ3MoJ2RlZmF1bHRMYWJlbFNpemUnKSA6Ci0gICAgICAgICAgc2V0dGluZ3MoJ2xhYmVsU2l6ZVJhdGlvJykgKiBzaXplOwotCi0gICAgLy8gTGFiZWwgYmFja2dyb3VuZDoKLSAgICBjb250ZXh0LmZvbnQgPSAoZm9udFN0eWxlID8gZm9udFN0eWxlICsgJyAnIDogJycpICsKLSAgICAgIGZvbnRTaXplICsgJ3B4ICcgKyAoc2V0dGluZ3MoJ2hvdmVyRm9udCcpIHx8IHNldHRpbmdzKCdmb250JykpOwotCi0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0LmZpbGxTdHlsZSA9IHNldHRpbmdzKCdsYWJlbEhvdmVyQkdDb2xvcicpID09PSAnbm9kZScgPwotICAgICAgKG5vZGUuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSkgOgotICAgICAgc2V0dGluZ3MoJ2RlZmF1bHRIb3ZlckxhYmVsQkdDb2xvcicpOwotCi0gICAgaWYgKG5vZGUubGFiZWwgJiYgc2V0dGluZ3MoJ2xhYmVsSG92ZXJTaGFkb3cnKSkgewotICAgICAgY29udGV4dC5zaGFkb3dPZmZzZXRYID0gMDsKLSAgICAgIGNvbnRleHQuc2hhZG93T2Zmc2V0WSA9IDA7Ci0gICAgICBjb250ZXh0LnNoYWRvd0JsdXIgPSA4OwotICAgICAgY29udGV4dC5zaGFkb3dDb2xvciA9IHNldHRpbmdzKCdsYWJlbEhvdmVyU2hhZG93Q29sb3InKTsKLSAgICB9Ci0KLSAgICBpZiAobm9kZS5sYWJlbCAmJiB0eXBlb2Ygbm9kZS5sYWJlbCA9PT0gJ3N0cmluZycpIHsKLSAgICAgIHggPSBNYXRoLnJvdW5kKG5vZGVbcHJlZml4ICsgJ3gnXSAtIGZvbnRTaXplIC8gMiAtIDIpOwotICAgICAgeSA9IE1hdGgucm91bmQobm9kZVtwcmVmaXggKyAneSddIC0gZm9udFNpemUgLyAyIC0gMik7Ci0gICAgICB3ID0gTWF0aC5yb3VuZCgKLSAgICAgICAgY29udGV4dC5tZWFzdXJlVGV4dChub2RlLmxhYmVsKS53aWR0aCArIGZvbnRTaXplIC8gMiArIHNpemUgKyA3Ci0gICAgICApOwotICAgICAgaCA9IE1hdGgucm91bmQoZm9udFNpemUgKyA0KTsKLSAgICAgIGUgPSBNYXRoLnJvdW5kKGZvbnRTaXplIC8gMiArIDIpOwotCi0gICAgICBjb250ZXh0Lm1vdmVUbyh4LCB5ICsgZSk7Ci0gICAgICBjb250ZXh0LmFyY1RvKHgsIHksIHggKyBlLCB5LCBlKTsKLSAgICAgIGNvbnRleHQubGluZVRvKHggKyB3LCB5KTsKLSAgICAgIGNvbnRleHQubGluZVRvKHggKyB3LCB5ICsgaCk7Ci0gICAgICBjb250ZXh0LmxpbmVUbyh4ICsgZSwgeSArIGgpOwotICAgICAgY29udGV4dC5hcmNUbyh4LCB5ICsgaCwgeCwgeSArIGggLSBlLCBlKTsKLSAgICAgIGNvbnRleHQubGluZVRvKHgsIHkgKyBlKTsKLQotICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKLSAgICAgIGNvbnRleHQuZmlsbCgpOwotCi0gICAgICBjb250ZXh0LnNoYWRvd09mZnNldFggPSAwOwotICAgICAgY29udGV4dC5zaGFkb3dPZmZzZXRZID0gMDsKLSAgICAgIGNvbnRleHQuc2hhZG93Qmx1ciA9IDA7Ci0gICAgfQotCi0gICAgLy8gTm9kZSBib3JkZXI6Ci0gICAgaWYgKHNldHRpbmdzKCdib3JkZXJTaXplJykgPiAwKSB7Ci0gICAgICBjb250ZXh0LmJlZ2luUGF0aCgpOwotICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBzZXR0aW5ncygnbm9kZUJvcmRlckNvbG9yJykgPT09ICdub2RlJyA/Ci0gICAgICAgIChub2RlLmNvbG9yIHx8IHNldHRpbmdzKCdkZWZhdWx0Tm9kZUNvbG9yJykpIDoKLSAgICAgICAgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQm9yZGVyQ29sb3InKTsKLSAgICAgIGNvbnRleHQuYXJjKAotICAgICAgICBub2RlW3ByZWZpeCArICd4J10sCi0gICAgICAgIG5vZGVbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgc2l6ZSArIHNldHRpbmdzKCdib3JkZXJTaXplJyksCi0gICAgICAgIDAsCi0gICAgICAgIE1hdGguUEkgKiAyLAotICAgICAgICB0cnVlCi0gICAgICApOwotICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTsKLSAgICAgIGNvbnRleHQuZmlsbCgpOwotICAgIH0KLQotICAgIC8vIE5vZGU6Ci0gICAgdmFyIG5vZGVSZW5kZXJlciA9IHNpZ21hLmNhbnZhcy5ub2Rlc1tub2RlLnR5cGVdIHx8IHNpZ21hLmNhbnZhcy5ub2Rlcy5kZWY7Ci0gICAgbm9kZVJlbmRlcmVyKG5vZGUsIGNvbnRleHQsIHNldHRpbmdzKTsKLQotICAgIC8vIERpc3BsYXkgdGhlIGxhYmVsOgotICAgIGlmIChub2RlLmxhYmVsICYmIHR5cGVvZiBub2RlLmxhYmVsID09PSAnc3RyaW5nJykgewotICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAoc2V0dGluZ3MoJ2xhYmVsSG92ZXJDb2xvcicpID09PSAnbm9kZScpID8KLSAgICAgICAgKG5vZGUuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSkgOgotICAgICAgICBzZXR0aW5ncygnZGVmYXVsdExhYmVsSG92ZXJDb2xvcicpOwotCi0gICAgICBjb250ZXh0LmZpbGxUZXh0KAotICAgICAgICBub2RlLmxhYmVsLAotICAgICAgICBNYXRoLnJvdW5kKG5vZGVbcHJlZml4ICsgJ3gnXSArIHNpemUgKyAzKSwKLSAgICAgICAgTWF0aC5yb3VuZChub2RlW3ByZWZpeCArICd5J10gKyBmb250U2l6ZSAvIDMpCi0gICAgICApOwotICAgIH0KLSAgfTsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5ub2RlcycpOwotCi0gIC8qKgotICAgKiBUaGUgZGVmYXVsdCBub2RlIHJlbmRlcmVyLiBJdCByZW5kZXJzIHRoZSBub2RlIGFzIGEgc2ltcGxlIGRpc2MuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgbm9kZSAgICAgVGhlIG5vZGUgb2JqZWN0LgotICAgKiBAcGFyYW0gIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQgIFRoZSBjYW52YXMgY29udGV4dC4KLSAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgICBzZXR0aW5ncyBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAqLwotICBzaWdtYS5jYW52YXMubm9kZXMuZGVmID0gZnVuY3Rpb24obm9kZSwgY29udGV4dCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgcHJlZml4ID0gc2V0dGluZ3MoJ3ByZWZpeCcpIHx8ICcnOwotCi0gICAgY29udGV4dC5maWxsU3R5bGUgPSBub2RlLmNvbG9yIHx8IHNldHRpbmdzKCdkZWZhdWx0Tm9kZUNvbG9yJyk7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0LmFyYygKLSAgICAgIG5vZGVbcHJlZml4ICsgJ3gnXSwKLSAgICAgIG5vZGVbcHJlZml4ICsgJ3knXSwKLSAgICAgIG5vZGVbcHJlZml4ICsgJ3NpemUnXSwKLSAgICAgIDAsCi0gICAgICBNYXRoLlBJICogMiwKLSAgICAgIHRydWUKLSAgICApOwotCi0gICAgY29udGV4dC5jbG9zZVBhdGgoKTsKLSAgICBjb250ZXh0LmZpbGwoKTsKLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5lZGdlcycpOwotCi0gIC8qKgotICAgKiBUaGUgZGVmYXVsdCBlZGdlIHJlbmRlcmVyLiBJdCByZW5kZXJzIHRoZSBlZGdlIGFzIGEgc2ltcGxlIGxpbmUuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgZWRnZSAgICAgICAgIFRoZSBlZGdlIG9iamVjdC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBzb3VyY2Ugbm9kZSAgVGhlIGVkZ2Ugc291cmNlIG5vZGUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0IG5vZGUgIFRoZSBlZGdlIHRhcmdldCBub2RlLgotICAgKiBAcGFyYW0gIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQgICAgICBUaGUgY2FudmFzIGNvbnRleHQuCi0gICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICAgIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICovCi0gIHNpZ21hLmNhbnZhcy5lZGdlcy5kZWYgPSBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgY29udGV4dCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgY29sb3IgPSBlZGdlLmNvbG9yLAotICAgICAgICBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJycsCi0gICAgICAgIHNpemUgPSBlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSwKLSAgICAgICAgZWRnZUNvbG9yID0gc2V0dGluZ3MoJ2VkZ2VDb2xvcicpLAotICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgZGVmYXVsdEVkZ2VDb2xvciA9IHNldHRpbmdzKCdkZWZhdWx0RWRnZUNvbG9yJyk7Ci0KLSAgICBpZiAoIWNvbG9yKQotICAgICAgc3dpdGNoIChlZGdlQ29sb3IpIHsKLSAgICAgICAgY2FzZSAnc291cmNlJzoKLSAgICAgICAgICBjb2xvciA9IHNvdXJjZS5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICd0YXJnZXQnOgotICAgICAgICAgIGNvbG9yID0gdGFyZ2V0LmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgY29sb3IgPSBkZWZhdWx0RWRnZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGNvbG9yOwotICAgIGNvbnRleHQubGluZVdpZHRoID0gc2l6ZTsKLSAgICBjb250ZXh0LmJlZ2luUGF0aCgpOwotICAgIGNvbnRleHQubW92ZVRvKAotICAgICAgc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICBzb3VyY2VbcHJlZml4ICsgJ3knXQotICAgICk7Ci0gICAgY29udGV4dC5saW5lVG8oCi0gICAgICB0YXJnZXRbcHJlZml4ICsgJ3gnXSwKLSAgICAgIHRhcmdldFtwcmVmaXggKyAneSddCi0gICAgKTsKLSAgICBjb250ZXh0LnN0cm9rZSgpOwotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FudmFzLmVkZ2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgZWRnZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgZWRnZXMgYXMgY3VydmVzLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIGVkZ2UgICAgICAgICBUaGUgZWRnZSBvYmplY3QuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgc291cmNlIG5vZGUgIFRoZSBlZGdlIHNvdXJjZSBub2RlLgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIHRhcmdldCBub2RlICBUaGUgZWRnZSB0YXJnZXQgbm9kZS4KLSAgICogQHBhcmFtICB7Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEfSBjb250ZXh0ICAgICAgVGhlIGNhbnZhcyBjb250ZXh0LgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICAgICAgICAgIHNldHRpbmdzICAgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAqLwotICBzaWdtYS5jYW52YXMuZWRnZXMuY3VydmUgPSBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgY29udGV4dCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgY29sb3IgPSBlZGdlLmNvbG9yLAotICAgICAgICBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJycsCi0gICAgICAgIHNpemUgPSBlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSwKLSAgICAgICAgZWRnZUNvbG9yID0gc2V0dGluZ3MoJ2VkZ2VDb2xvcicpLAotICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgZGVmYXVsdEVkZ2VDb2xvciA9IHNldHRpbmdzKCdkZWZhdWx0RWRnZUNvbG9yJyksCi0gICAgICAgIGNwID0ge30sCi0gICAgICAgIHNTaXplID0gc291cmNlW3ByZWZpeCArICdzaXplJ10sCi0gICAgICAgIHNYID0gc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgIHNZID0gc291cmNlW3ByZWZpeCArICd5J10sCi0gICAgICAgIHRYID0gdGFyZ2V0W3ByZWZpeCArICd4J10sCi0gICAgICAgIHRZID0gdGFyZ2V0W3ByZWZpeCArICd5J107Ci0KLSAgICBjcCA9IChzb3VyY2UuaWQgPT09IHRhcmdldC5pZCkgPwotICAgICAgc2lnbWEudXRpbHMuZ2V0U2VsZkxvb3BDb250cm9sUG9pbnRzKHNYLCBzWSwgc1NpemUpIDoKLSAgICAgIHNpZ21hLnV0aWxzLmdldFF1YWRyYXRpY0NvbnRyb2xQb2ludChzWCwgc1ksIHRYLCB0WSk7Ci0KLSAgICBpZiAoIWNvbG9yKQotICAgICAgc3dpdGNoIChlZGdlQ29sb3IpIHsKLSAgICAgICAgY2FzZSAnc291cmNlJzoKLSAgICAgICAgICBjb2xvciA9IHNvdXJjZS5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICd0YXJnZXQnOgotICAgICAgICAgIGNvbG9yID0gdGFyZ2V0LmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgY29sb3IgPSBkZWZhdWx0RWRnZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGNvbG9yOwotICAgIGNvbnRleHQubGluZVdpZHRoID0gc2l6ZTsKLSAgICBjb250ZXh0LmJlZ2luUGF0aCgpOwotICAgIGNvbnRleHQubW92ZVRvKHNYLCBzWSk7Ci0gICAgaWYgKHNvdXJjZS5pZCA9PT0gdGFyZ2V0LmlkKSB7Ci0gICAgICBjb250ZXh0LmJlemllckN1cnZlVG8oY3AueDEsIGNwLnkxLCBjcC54MiwgY3AueTIsIHRYLCB0WSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGNvbnRleHQucXVhZHJhdGljQ3VydmVUbyhjcC54LCBjcC55LCB0WCwgdFkpOwotICAgIH0KLSAgICBjb250ZXh0LnN0cm9rZSgpOwotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FudmFzLmVkZ2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgZWRnZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgZWRnZXMgYXMgYXJyb3dzIGdvaW5nIGZyb20gdGhlIHNvdXJjZSBub2RlCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgZWRnZSAgICAgICAgIFRoZSBlZGdlIG9iamVjdC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBzb3VyY2Ugbm9kZSAgVGhlIGVkZ2Ugc291cmNlIG5vZGUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0IG5vZGUgIFRoZSBlZGdlIHRhcmdldCBub2RlLgotICAgKiBAcGFyYW0gIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQgICAgICBUaGUgY2FudmFzIGNvbnRleHQuCi0gICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICAgIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICovCi0gIHNpZ21hLmNhbnZhcy5lZGdlcy5hcnJvdyA9IGZ1bmN0aW9uKGVkZ2UsIHNvdXJjZSwgdGFyZ2V0LCBjb250ZXh0LCBzZXR0aW5ncykgewotICAgIHZhciBjb2xvciA9IGVkZ2UuY29sb3IsCi0gICAgICAgIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgZWRnZUNvbG9yID0gc2V0dGluZ3MoJ2VkZ2VDb2xvcicpLAotICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgZGVmYXVsdEVkZ2VDb2xvciA9IHNldHRpbmdzKCdkZWZhdWx0RWRnZUNvbG9yJyksCi0gICAgICAgIHNpemUgPSBlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSwKLSAgICAgICAgdFNpemUgPSB0YXJnZXRbcHJlZml4ICsgJ3NpemUnXSwKLSAgICAgICAgc1ggPSBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgc1kgPSBzb3VyY2VbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgdFggPSB0YXJnZXRbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgdFkgPSB0YXJnZXRbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgYVNpemUgPSBNYXRoLm1heChzaXplICogMi41LCBzZXR0aW5ncygnbWluQXJyb3dTaXplJykpLAotICAgICAgICBkID0gTWF0aC5zcXJ0KE1hdGgucG93KHRYIC0gc1gsIDIpICsgTWF0aC5wb3codFkgLSBzWSwgMikpLAotICAgICAgICBhWCA9IHNYICsgKHRYIC0gc1gpICogKGQgLSBhU2l6ZSAtIHRTaXplKSAvIGQsCi0gICAgICAgIGFZID0gc1kgKyAodFkgLSBzWSkgKiAoZCAtIGFTaXplIC0gdFNpemUpIC8gZCwKLSAgICAgICAgdlggPSAodFggLSBzWCkgKiBhU2l6ZSAvIGQsCi0gICAgICAgIHZZID0gKHRZIC0gc1kpICogYVNpemUgLyBkOwotCi0gICAgaWYgKCFjb2xvcikKLSAgICAgIHN3aXRjaCAoZWRnZUNvbG9yKSB7Ci0gICAgICAgIGNhc2UgJ3NvdXJjZSc6Ci0gICAgICAgICAgY29sb3IgPSBzb3VyY2UuY29sb3IgfHwgZGVmYXVsdE5vZGVDb2xvcjsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAndGFyZ2V0JzoKLSAgICAgICAgICBjb2xvciA9IHRhcmdldC5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgIGNvbG9yID0gZGVmYXVsdEVkZ2VDb2xvcjsKLSAgICAgICAgICBicmVhazsKLSAgICAgIH0KLQotICAgIGNvbnRleHQuc3Ryb2tlU3R5bGUgPSBjb2xvcjsKLSAgICBjb250ZXh0LmxpbmVXaWR0aCA9IHNpemU7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhzWCwgc1kpOwotICAgIGNvbnRleHQubGluZVRvKAotICAgICAgYVgsCi0gICAgICBhWQotICAgICk7Ci0gICAgY29udGV4dC5zdHJva2UoKTsKLQotICAgIGNvbnRleHQuZmlsbFN0eWxlID0gY29sb3I7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhhWCArIHZYLCBhWSArIHZZKTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCArIHZZICogMC42LCBhWSAtIHZYICogMC42KTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCAtIHZZICogMC42LCBhWSArIHZYICogMC42KTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCArIHZYLCBhWSArIHZZKTsKLSAgICBjb250ZXh0LmNsb3NlUGF0aCgpOwotICAgIGNvbnRleHQuZmlsbCgpOwotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FudmFzLmVkZ2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgZWRnZSByZW5kZXJlciB3aWxsIGRpc3BsYXkgZWRnZXMgYXMgY3VydmVzIHdpdGggYXJyb3cgaGVhZGluZy4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBlZGdlICAgICAgICAgVGhlIGVkZ2Ugb2JqZWN0LgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIHNvdXJjZSBub2RlICBUaGUgZWRnZSBzb3VyY2Ugbm9kZS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICB0YXJnZXQgbm9kZSAgVGhlIGVkZ2UgdGFyZ2V0IG5vZGUuCi0gICAqIEBwYXJhbSAge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gY29udGV4dCAgICAgIFRoZSBjYW52YXMgY29udGV4dC4KLSAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgICBzZXR0aW5ncyAgICAgVGhlIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKi8KLSAgc2lnbWEuY2FudmFzLmVkZ2VzLmN1cnZlZEFycm93ID0KLSAgICBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgY29udGV4dCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgY29sb3IgPSBlZGdlLmNvbG9yLAotICAgICAgICBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJycsCi0gICAgICAgIGVkZ2VDb2xvciA9IHNldHRpbmdzKCdlZGdlQ29sb3InKSwKLSAgICAgICAgZGVmYXVsdE5vZGVDb2xvciA9IHNldHRpbmdzKCdkZWZhdWx0Tm9kZUNvbG9yJyksCi0gICAgICAgIGRlZmF1bHRFZGdlQ29sb3IgPSBzZXR0aW5ncygnZGVmYXVsdEVkZ2VDb2xvcicpLAotICAgICAgICBjcCA9IHt9LAotICAgICAgICBzaXplID0gZWRnZVtwcmVmaXggKyAnc2l6ZSddIHx8IDEsCi0gICAgICAgIHRTaXplID0gdGFyZ2V0W3ByZWZpeCArICdzaXplJ10sCi0gICAgICAgIHNYID0gc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgIHNZID0gc291cmNlW3ByZWZpeCArICd5J10sCi0gICAgICAgIHRYID0gdGFyZ2V0W3ByZWZpeCArICd4J10sCi0gICAgICAgIHRZID0gdGFyZ2V0W3ByZWZpeCArICd5J10sCi0gICAgICAgIGFTaXplID0gTWF0aC5tYXgoc2l6ZSAqIDIuNSwgc2V0dGluZ3MoJ21pbkFycm93U2l6ZScpKSwKLSAgICAgICAgZCwKLSAgICAgICAgYVgsCi0gICAgICAgIGFZLAotICAgICAgICB2WCwKLSAgICAgICAgdlk7Ci0KLSAgICBjcCA9IChzb3VyY2UuaWQgPT09IHRhcmdldC5pZCkgPwotICAgICAgc2lnbWEudXRpbHMuZ2V0U2VsZkxvb3BDb250cm9sUG9pbnRzKHNYLCBzWSwgdFNpemUpIDoKLSAgICAgIHNpZ21hLnV0aWxzLmdldFF1YWRyYXRpY0NvbnRyb2xQb2ludChzWCwgc1ksIHRYLCB0WSk7Ci0KLSAgICBpZiAoc291cmNlLmlkID09PSB0YXJnZXQuaWQpIHsKLSAgICAgIGQgPSBNYXRoLnNxcnQoTWF0aC5wb3codFggLSBjcC54MSwgMikgKyBNYXRoLnBvdyh0WSAtIGNwLnkxLCAyKSk7Ci0gICAgICBhWCA9IGNwLngxICsgKHRYIC0gY3AueDEpICogKGQgLSBhU2l6ZSAtIHRTaXplKSAvIGQ7Ci0gICAgICBhWSA9IGNwLnkxICsgKHRZIC0gY3AueTEpICogKGQgLSBhU2l6ZSAtIHRTaXplKSAvIGQ7Ci0gICAgICB2WCA9ICh0WCAtIGNwLngxKSAqIGFTaXplIC8gZDsKLSAgICAgIHZZID0gKHRZIC0gY3AueTEpICogYVNpemUgLyBkOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIGQgPSBNYXRoLnNxcnQoTWF0aC5wb3codFggLSBjcC54LCAyKSArIE1hdGgucG93KHRZIC0gY3AueSwgMikpOwotICAgICAgYVggPSBjcC54ICsgKHRYIC0gY3AueCkgKiAoZCAtIGFTaXplIC0gdFNpemUpIC8gZDsKLSAgICAgIGFZID0gY3AueSArICh0WSAtIGNwLnkpICogKGQgLSBhU2l6ZSAtIHRTaXplKSAvIGQ7Ci0gICAgICB2WCA9ICh0WCAtIGNwLngpICogYVNpemUgLyBkOwotICAgICAgdlkgPSAodFkgLSBjcC55KSAqIGFTaXplIC8gZDsKLSAgICB9Ci0KLSAgICBpZiAoIWNvbG9yKQotICAgICAgc3dpdGNoIChlZGdlQ29sb3IpIHsKLSAgICAgICAgY2FzZSAnc291cmNlJzoKLSAgICAgICAgICBjb2xvciA9IHNvdXJjZS5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICd0YXJnZXQnOgotICAgICAgICAgIGNvbG9yID0gdGFyZ2V0LmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgY29sb3IgPSBkZWZhdWx0RWRnZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgY29udGV4dC5zdHJva2VTdHlsZSA9IGNvbG9yOwotICAgIGNvbnRleHQubGluZVdpZHRoID0gc2l6ZTsKLSAgICBjb250ZXh0LmJlZ2luUGF0aCgpOwotICAgIGNvbnRleHQubW92ZVRvKHNYLCBzWSk7Ci0gICAgaWYgKHNvdXJjZS5pZCA9PT0gdGFyZ2V0LmlkKSB7Ci0gICAgICBjb250ZXh0LmJlemllckN1cnZlVG8oY3AueDIsIGNwLnkyLCBjcC54MSwgY3AueTEsIGFYLCBhWSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGNvbnRleHQucXVhZHJhdGljQ3VydmVUbyhjcC54LCBjcC55LCBhWCwgYVkpOwotICAgIH0KLSAgICBjb250ZXh0LnN0cm9rZSgpOwotCi0gICAgY29udGV4dC5maWxsU3R5bGUgPSBjb2xvcjsKLSAgICBjb250ZXh0LmJlZ2luUGF0aCgpOwotICAgIGNvbnRleHQubW92ZVRvKGFYICsgdlgsIGFZICsgdlkpOwotICAgIGNvbnRleHQubGluZVRvKGFYICsgdlkgKiAwLjYsIGFZIC0gdlggKiAwLjYpOwotICAgIGNvbnRleHQubGluZVRvKGFYIC0gdlkgKiAwLjYsIGFZICsgdlggKiAwLjYpOwotICAgIGNvbnRleHQubGluZVRvKGFYICsgdlgsIGFZICsgdlkpOwotICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7Ci0gICAgY29udGV4dC5maWxsKCk7Ci0gIH07Ci19KSgpOwotCi07KGZ1bmN0aW9uKCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5jYW52YXMuZWRnZWhvdmVycycpOwotCi0gIC8qKgotICAgKiBUaGlzIGhvdmVyIHJlbmRlcmVyIHdpbGwgZGlzcGxheSB0aGUgZWRnZSB3aXRoIGEgZGlmZmVyZW50IGNvbG9yIG9yIHNpemUuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgZWRnZSAgICAgICAgIFRoZSBlZGdlIG9iamVjdC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBzb3VyY2Ugbm9kZSAgVGhlIGVkZ2Ugc291cmNlIG5vZGUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0IG5vZGUgIFRoZSBlZGdlIHRhcmdldCBub2RlLgotICAgKiBAcGFyYW0gIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQgICAgICBUaGUgY2FudmFzIGNvbnRleHQuCi0gICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICAgIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICovCi0gIHNpZ21hLmNhbnZhcy5lZGdlaG92ZXJzLmRlZiA9Ci0gICAgZnVuY3Rpb24oZWRnZSwgc291cmNlLCB0YXJnZXQsIGNvbnRleHQsIHNldHRpbmdzKSB7Ci0gICAgICB2YXIgY29sb3IgPSBlZGdlLmNvbG9yLAotICAgICAgICBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJycsCi0gICAgICAgIHNpemUgPSBlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSwKLSAgICAgICAgZWRnZUNvbG9yID0gc2V0dGluZ3MoJ2VkZ2VDb2xvcicpLAotICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgZGVmYXVsdEVkZ2VDb2xvciA9IHNldHRpbmdzKCdkZWZhdWx0RWRnZUNvbG9yJyk7Ci0KLSAgICBpZiAoIWNvbG9yKQotICAgICAgc3dpdGNoIChlZGdlQ29sb3IpIHsKLSAgICAgICAgY2FzZSAnc291cmNlJzoKLSAgICAgICAgICBjb2xvciA9IHNvdXJjZS5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICd0YXJnZXQnOgotICAgICAgICAgIGNvbG9yID0gdGFyZ2V0LmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgY29sb3IgPSBkZWZhdWx0RWRnZUNvbG9yOwotICAgICAgICAgIGJyZWFrOwotICAgICAgfQotCi0gICAgaWYgKHNldHRpbmdzKCdlZGdlSG92ZXJDb2xvcicpID09PSAnZWRnZScpIHsKLSAgICAgIGNvbG9yID0gZWRnZS5ob3Zlcl9jb2xvciB8fCBjb2xvcjsKLSAgICB9IGVsc2UgewotICAgICAgY29sb3IgPSBlZGdlLmhvdmVyX2NvbG9yIHx8IHNldHRpbmdzKCdkZWZhdWx0RWRnZUhvdmVyQ29sb3InKSB8fCBjb2xvcjsKLSAgICB9Ci0gICAgc2l6ZSAqPSBzZXR0aW5ncygnZWRnZUhvdmVyU2l6ZVJhdGlvJyk7Ci0KLSAgICBjb250ZXh0LnN0cm9rZVN0eWxlID0gY29sb3I7Ci0gICAgY29udGV4dC5saW5lV2lkdGggPSBzaXplOwotICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7Ci0gICAgY29udGV4dC5tb3ZlVG8oCi0gICAgICBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgIHNvdXJjZVtwcmVmaXggKyAneSddCi0gICAgKTsKLSAgICBjb250ZXh0LmxpbmVUbygKLSAgICAgIHRhcmdldFtwcmVmaXggKyAneCddLAotICAgICAgdGFyZ2V0W3ByZWZpeCArICd5J10KLSAgICApOwotICAgIGNvbnRleHQuc3Ryb2tlKCk7Ci0gIH07Ci19KSgpOwotCi07KGZ1bmN0aW9uKCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5jYW52YXMuZWRnZWhvdmVycycpOwotCi0gIC8qKgotICAgKiBUaGlzIGhvdmVyIHJlbmRlcmVyIHdpbGwgZGlzcGxheSB0aGUgZWRnZSB3aXRoIGEgZGlmZmVyZW50IGNvbG9yIG9yIHNpemUuCi0gICAqCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgZWRnZSAgICAgICAgIFRoZSBlZGdlIG9iamVjdC4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBzb3VyY2Ugbm9kZSAgVGhlIGVkZ2Ugc291cmNlIG5vZGUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0IG5vZGUgIFRoZSBlZGdlIHRhcmdldCBub2RlLgotICAgKiBAcGFyYW0gIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQgICAgICBUaGUgY2FudmFzIGNvbnRleHQuCi0gICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICAgIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICovCi0gIHNpZ21hLmNhbnZhcy5lZGdlaG92ZXJzLmN1cnZlID0KLSAgICBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgY29udGV4dCwgc2V0dGluZ3MpIHsKLSAgICB2YXIgY29sb3IgPSBlZGdlLmNvbG9yLAotICAgICAgICBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJycsCi0gICAgICAgIHNpemUgPSBzZXR0aW5ncygnZWRnZUhvdmVyU2l6ZVJhdGlvJykgKiAoZWRnZVtwcmVmaXggKyAnc2l6ZSddIHx8IDEpLAotICAgICAgICBlZGdlQ29sb3IgPSBzZXR0aW5ncygnZWRnZUNvbG9yJyksCi0gICAgICAgIGRlZmF1bHROb2RlQ29sb3IgPSBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpLAotICAgICAgICBkZWZhdWx0RWRnZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHRFZGdlQ29sb3InKSwKLSAgICAgICAgY3AgPSB7fSwKLSAgICAgICAgc1NpemUgPSBzb3VyY2VbcHJlZml4ICsgJ3NpemUnXSwKLSAgICAgICAgc1ggPSBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgc1kgPSBzb3VyY2VbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgdFggPSB0YXJnZXRbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgdFkgPSB0YXJnZXRbcHJlZml4ICsgJ3knXTsKLQotICAgIGNwID0gKHNvdXJjZS5pZCA9PT0gdGFyZ2V0LmlkKSA/Ci0gICAgICBzaWdtYS51dGlscy5nZXRTZWxmTG9vcENvbnRyb2xQb2ludHMoc1gsIHNZLCBzU2l6ZSkgOgotICAgICAgc2lnbWEudXRpbHMuZ2V0UXVhZHJhdGljQ29udHJvbFBvaW50KHNYLCBzWSwgdFgsIHRZKTsKLQotICAgIGlmICghY29sb3IpCi0gICAgICBzd2l0Y2ggKGVkZ2VDb2xvcikgewotICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgIGNvbG9yID0gc291cmNlLmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgY29sb3IgPSB0YXJnZXQuY29sb3IgfHwgZGVmYXVsdE5vZGVDb2xvcjsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICBjb2xvciA9IGRlZmF1bHRFZGdlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KLSAgICBpZiAoc2V0dGluZ3MoJ2VkZ2VIb3ZlckNvbG9yJykgPT09ICdlZGdlJykgewotICAgICAgY29sb3IgPSBlZGdlLmhvdmVyX2NvbG9yIHx8IGNvbG9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb2xvciA9IGVkZ2UuaG92ZXJfY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHRFZGdlSG92ZXJDb2xvcicpIHx8IGNvbG9yOwotICAgIH0KLQotICAgIGNvbnRleHQuc3Ryb2tlU3R5bGUgPSBjb2xvcjsKLSAgICBjb250ZXh0LmxpbmVXaWR0aCA9IHNpemU7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhzWCwgc1kpOwotICAgIGlmIChzb3VyY2UuaWQgPT09IHRhcmdldC5pZCkgewotICAgICAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKGNwLngxLCBjcC55MSwgY3AueDIsIGNwLnkyLCB0WCwgdFkpOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb250ZXh0LnF1YWRyYXRpY0N1cnZlVG8oY3AueCwgY3AueSwgdFgsIHRZKTsKLSAgICB9Ci0gICAgY29udGV4dC5zdHJva2UoKTsKLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLmNhbnZhcy5lZGdlaG92ZXJzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgaG92ZXIgcmVuZGVyZXIgd2lsbCBkaXNwbGF5IHRoZSBlZGdlIHdpdGggYSBkaWZmZXJlbnQgY29sb3Igb3Igc2l6ZS4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBlZGdlICAgICAgICAgVGhlIGVkZ2Ugb2JqZWN0LgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIHNvdXJjZSBub2RlICBUaGUgZWRnZSBzb3VyY2Ugbm9kZS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICB0YXJnZXQgbm9kZSAgVGhlIGVkZ2UgdGFyZ2V0IG5vZGUuCi0gICAqIEBwYXJhbSAge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gY29udGV4dCAgICAgIFRoZSBjYW52YXMgY29udGV4dC4KLSAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgICBzZXR0aW5ncyAgICAgVGhlIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKi8KLSAgc2lnbWEuY2FudmFzLmVkZ2Vob3ZlcnMuYXJyb3cgPQotICAgIGZ1bmN0aW9uKGVkZ2UsIHNvdXJjZSwgdGFyZ2V0LCBjb250ZXh0LCBzZXR0aW5ncykgewotICAgIHZhciBjb2xvciA9IGVkZ2UuY29sb3IsCi0gICAgICAgIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgZWRnZUNvbG9yID0gc2V0dGluZ3MoJ2VkZ2VDb2xvcicpLAotICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgZGVmYXVsdEVkZ2VDb2xvciA9IHNldHRpbmdzKCdkZWZhdWx0RWRnZUNvbG9yJyksCi0gICAgICAgIHNpemUgPSBlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSwKLSAgICAgICAgdFNpemUgPSB0YXJnZXRbcHJlZml4ICsgJ3NpemUnXSwKLSAgICAgICAgc1ggPSBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgc1kgPSBzb3VyY2VbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgdFggPSB0YXJnZXRbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgdFkgPSB0YXJnZXRbcHJlZml4ICsgJ3knXTsKLQotICAgIHNpemUgPSAoZWRnZS5ob3ZlcikgPwotICAgICAgc2V0dGluZ3MoJ2VkZ2VIb3ZlclNpemVSYXRpbycpICogc2l6ZSA6IHNpemU7Ci0gICAgdmFyIGFTaXplID0gc2l6ZSAqIDIuNSwKLSAgICAgICAgZCA9IE1hdGguc3FydChNYXRoLnBvdyh0WCAtIHNYLCAyKSArIE1hdGgucG93KHRZIC0gc1ksIDIpKSwKLSAgICAgICAgYVggPSBzWCArICh0WCAtIHNYKSAqIChkIC0gYVNpemUgLSB0U2l6ZSkgLyBkLAotICAgICAgICBhWSA9IHNZICsgKHRZIC0gc1kpICogKGQgLSBhU2l6ZSAtIHRTaXplKSAvIGQsCi0gICAgICAgIHZYID0gKHRYIC0gc1gpICogYVNpemUgLyBkLAotICAgICAgICB2WSA9ICh0WSAtIHNZKSAqIGFTaXplIC8gZDsKLQotICAgIGlmICghY29sb3IpCi0gICAgICBzd2l0Y2ggKGVkZ2VDb2xvcikgewotICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgIGNvbG9yID0gc291cmNlLmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgY29sb3IgPSB0YXJnZXQuY29sb3IgfHwgZGVmYXVsdE5vZGVDb2xvcjsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICBjb2xvciA9IGRlZmF1bHRFZGdlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KLSAgICBpZiAoc2V0dGluZ3MoJ2VkZ2VIb3ZlckNvbG9yJykgPT09ICdlZGdlJykgewotICAgICAgY29sb3IgPSBlZGdlLmhvdmVyX2NvbG9yIHx8IGNvbG9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb2xvciA9IGVkZ2UuaG92ZXJfY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHRFZGdlSG92ZXJDb2xvcicpIHx8IGNvbG9yOwotICAgIH0KLQotICAgIGNvbnRleHQuc3Ryb2tlU3R5bGUgPSBjb2xvcjsKLSAgICBjb250ZXh0LmxpbmVXaWR0aCA9IHNpemU7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhzWCwgc1kpOwotICAgIGNvbnRleHQubGluZVRvKAotICAgICAgYVgsCi0gICAgICBhWQotICAgICk7Ci0gICAgY29udGV4dC5zdHJva2UoKTsKLQotICAgIGNvbnRleHQuZmlsbFN0eWxlID0gY29sb3I7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhhWCArIHZYLCBhWSArIHZZKTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCArIHZZICogMC42LCBhWSAtIHZYICogMC42KTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCAtIHZZICogMC42LCBhWSArIHZYICogMC42KTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCArIHZYLCBhWSArIHZZKTsKLSAgICBjb250ZXh0LmNsb3NlUGF0aCgpOwotICAgIGNvbnRleHQuZmlsbCgpOwotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FudmFzLmVkZ2Vob3ZlcnMnKTsKLQotICAvKioKLSAgICogVGhpcyBob3ZlciByZW5kZXJlciB3aWxsIGRpc3BsYXkgdGhlIGVkZ2Ugd2l0aCBhIGRpZmZlcmVudCBjb2xvciBvciBzaXplLgotICAgKgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIGVkZ2UgICAgICAgICBUaGUgZWRnZSBvYmplY3QuCi0gICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgc291cmNlIG5vZGUgIFRoZSBlZGdlIHNvdXJjZSBub2RlLgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIHRhcmdldCBub2RlICBUaGUgZWRnZSB0YXJnZXQgbm9kZS4KLSAgICogQHBhcmFtICB7Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEfSBjb250ZXh0ICAgICAgVGhlIGNhbnZhcyBjb250ZXh0LgotICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICAgICAgICAgIHNldHRpbmdzICAgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAqLwotICBzaWdtYS5jYW52YXMuZWRnZWhvdmVycy5jdXJ2ZWRBcnJvdyA9Ci0gICAgZnVuY3Rpb24oZWRnZSwgc291cmNlLCB0YXJnZXQsIGNvbnRleHQsIHNldHRpbmdzKSB7Ci0gICAgdmFyIGNvbG9yID0gZWRnZS5jb2xvciwKLSAgICAgICAgcHJlZml4ID0gc2V0dGluZ3MoJ3ByZWZpeCcpIHx8ICcnLAotICAgICAgICBlZGdlQ29sb3IgPSBzZXR0aW5ncygnZWRnZUNvbG9yJyksCi0gICAgICAgIGRlZmF1bHROb2RlQ29sb3IgPSBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpLAotICAgICAgICBkZWZhdWx0RWRnZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHRFZGdlQ29sb3InKSwKLSAgICAgICAgY3AgPSB7fSwKLSAgICAgICAgc2l6ZSA9IHNldHRpbmdzKCdlZGdlSG92ZXJTaXplUmF0aW8nKSAqIChlZGdlW3ByZWZpeCArICdzaXplJ10gfHwgMSksCi0gICAgICAgIHRTaXplID0gdGFyZ2V0W3ByZWZpeCArICdzaXplJ10sCi0gICAgICAgIHNYID0gc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgIHNZID0gc291cmNlW3ByZWZpeCArICd5J10sCi0gICAgICAgIHRYID0gdGFyZ2V0W3ByZWZpeCArICd4J10sCi0gICAgICAgIHRZID0gdGFyZ2V0W3ByZWZpeCArICd5J10sCi0gICAgICAgIGQsCi0gICAgICAgIGFTaXplLAotICAgICAgICBhWCwKLSAgICAgICAgYVksCi0gICAgICAgIHZYLAotICAgICAgICB2WTsKLQotICAgIGNwID0gKHNvdXJjZS5pZCA9PT0gdGFyZ2V0LmlkKSA/Ci0gICAgICBzaWdtYS51dGlscy5nZXRTZWxmTG9vcENvbnRyb2xQb2ludHMoc1gsIHNZLCB0U2l6ZSkgOgotICAgICAgc2lnbWEudXRpbHMuZ2V0UXVhZHJhdGljQ29udHJvbFBvaW50KHNYLCBzWSwgdFgsIHRZKTsKLQotICAgIGlmIChzb3VyY2UuaWQgPT09IHRhcmdldC5pZCkgewotICAgICAgZCA9IE1hdGguc3FydChNYXRoLnBvdyh0WCAtIGNwLngxLCAyKSArIE1hdGgucG93KHRZIC0gY3AueTEsIDIpKTsKLSAgICAgIGFTaXplID0gc2l6ZSAqIDIuNTsKLSAgICAgIGFYID0gY3AueDEgKyAodFggLSBjcC54MSkgKiAoZCAtIGFTaXplIC0gdFNpemUpIC8gZDsKLSAgICAgIGFZID0gY3AueTEgKyAodFkgLSBjcC55MSkgKiAoZCAtIGFTaXplIC0gdFNpemUpIC8gZDsKLSAgICAgIHZYID0gKHRYIC0gY3AueDEpICogYVNpemUgLyBkOwotICAgICAgdlkgPSAodFkgLSBjcC55MSkgKiBhU2l6ZSAvIGQ7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgZCA9IE1hdGguc3FydChNYXRoLnBvdyh0WCAtIGNwLngsIDIpICsgTWF0aC5wb3codFkgLSBjcC55LCAyKSk7Ci0gICAgICBhU2l6ZSA9IHNpemUgKiAyLjU7Ci0gICAgICBhWCA9IGNwLnggKyAodFggLSBjcC54KSAqIChkIC0gYVNpemUgLSB0U2l6ZSkgLyBkOwotICAgICAgYVkgPSBjcC55ICsgKHRZIC0gY3AueSkgKiAoZCAtIGFTaXplIC0gdFNpemUpIC8gZDsKLSAgICAgIHZYID0gKHRYIC0gY3AueCkgKiBhU2l6ZSAvIGQ7Ci0gICAgICB2WSA9ICh0WSAtIGNwLnkpICogYVNpemUgLyBkOwotICAgIH0KLQotICAgIGlmICghY29sb3IpCi0gICAgICBzd2l0Y2ggKGVkZ2VDb2xvcikgewotICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgIGNvbG9yID0gc291cmNlLmNvbG9yIHx8IGRlZmF1bHROb2RlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgY29sb3IgPSB0YXJnZXQuY29sb3IgfHwgZGVmYXVsdE5vZGVDb2xvcjsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICBjb2xvciA9IGRlZmF1bHRFZGdlQ29sb3I7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KLSAgICBpZiAoc2V0dGluZ3MoJ2VkZ2VIb3ZlckNvbG9yJykgPT09ICdlZGdlJykgewotICAgICAgY29sb3IgPSBlZGdlLmhvdmVyX2NvbG9yIHx8IGNvbG9yOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb2xvciA9IGVkZ2UuaG92ZXJfY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHRFZGdlSG92ZXJDb2xvcicpIHx8IGNvbG9yOwotICAgIH0KLQotICAgIGNvbnRleHQuc3Ryb2tlU3R5bGUgPSBjb2xvcjsKLSAgICBjb250ZXh0LmxpbmVXaWR0aCA9IHNpemU7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhzWCwgc1kpOwotICAgIGlmIChzb3VyY2UuaWQgPT09IHRhcmdldC5pZCkgewotICAgICAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKGNwLngyLCBjcC55MiwgY3AueDEsIGNwLnkxLCBhWCwgYVkpOwotICAgIH0gZWxzZSB7Ci0gICAgICBjb250ZXh0LnF1YWRyYXRpY0N1cnZlVG8oY3AueCwgY3AueSwgYVgsIGFZKTsKLSAgICB9Ci0gICAgY29udGV4dC5zdHJva2UoKTsKLQotICAgIGNvbnRleHQuZmlsbFN0eWxlID0gY29sb3I7Ci0gICAgY29udGV4dC5iZWdpblBhdGgoKTsKLSAgICBjb250ZXh0Lm1vdmVUbyhhWCArIHZYLCBhWSArIHZZKTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCArIHZZICogMC42LCBhWSAtIHZYICogMC42KTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCAtIHZZICogMC42LCBhWSArIHZYICogMC42KTsKLSAgICBjb250ZXh0LmxpbmVUbyhhWCArIHZYLCBhWSArIHZZKTsKLSAgICBjb250ZXh0LmNsb3NlUGF0aCgpOwotICAgIGNvbnRleHQuZmlsbCgpOwotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuY2FudmFzLmV4dHJlbWl0aWVzJyk7Ci0KLSAgLyoqCi0gICAqIFRoZSBkZWZhdWx0IHJlbmRlcmVyIGZvciBob3ZlcmVkIGVkZ2UgZXh0cmVtaXRpZXMuIEl0IHJlbmRlcnMgdGhlIGVkZ2UKLSAgICogZXh0cmVtaXRpZXMgYXMgaG92ZXJlZC4KLSAgICoKLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBlZGdlICAgICAgICAgVGhlIGVkZ2Ugb2JqZWN0LgotICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIHNvdXJjZSBub2RlICBUaGUgZWRnZSBzb3VyY2Ugbm9kZS4KLSAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICB0YXJnZXQgbm9kZSAgVGhlIGVkZ2UgdGFyZ2V0IG5vZGUuCi0gICAqIEBwYXJhbSAge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gY29udGV4dCAgICAgIFRoZSBjYW52YXMgY29udGV4dC4KLSAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgICBzZXR0aW5ncyAgICAgVGhlIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgKi8KLSAgc2lnbWEuY2FudmFzLmV4dHJlbWl0aWVzLmRlZiA9Ci0gICAgZnVuY3Rpb24oZWRnZSwgc291cmNlLCB0YXJnZXQsIGNvbnRleHQsIHNldHRpbmdzKSB7Ci0gICAgLy8gU291cmNlIE5vZGU6Ci0gICAgKAotICAgICAgc2lnbWEuY2FudmFzLmhvdmVyc1tzb3VyY2UudHlwZV0gfHwKLSAgICAgIHNpZ21hLmNhbnZhcy5ob3ZlcnMuZGVmCi0gICAgKSAoCi0gICAgICBzb3VyY2UsIGNvbnRleHQsIHNldHRpbmdzCi0gICAgKTsKLQotICAgIC8vIFRhcmdldCBOb2RlOgotICAgICgKLSAgICAgIHNpZ21hLmNhbnZhcy5ob3ZlcnNbdGFyZ2V0LnR5cGVdIHx8Ci0gICAgICBzaWdtYS5jYW52YXMuaG92ZXJzLmRlZgotICAgICkgKAotICAgICAgdGFyZ2V0LCBjb250ZXh0LCBzZXR0aW5ncwotICAgICk7Ci0gIH07Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5zdmcudXRpbHMnKTsKLQotICAvKioKLSAgICogU29tZSB1c2VmdWwgZnVuY3Rpb25zIHVzZWQgYnkgc2lnbWEncyBTVkcgcmVuZGVyZXIuCi0gICAqLwotICBzaWdtYS5zdmcudXRpbHMgPSB7Ci0KLSAgICAvKioKLSAgICAgKiBTVkcgRWxlbWVudCBzaG93LgotICAgICAqCi0gICAgICogQHBhcmFtICB7RE9NRWxlbWVudH0gICAgICAgICAgICAgICBlbGVtZW50ICAgVGhlIERPTSBlbGVtZW50IHRvIHNob3cuCi0gICAgICovCi0gICAgc2hvdzogZnVuY3Rpb24oZWxlbWVudCkgewotICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJyc7Ci0gICAgICByZXR1cm4gdGhpczsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogU1ZHIEVsZW1lbnQgaGlkZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge0RPTUVsZW1lbnR9ICAgICAgICAgICAgICAgZWxlbWVudCAgIFRoZSBET00gZWxlbWVudCB0byBoaWRlLgotICAgICAqLwotICAgIGhpZGU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKLSAgICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0KLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnN2Zy5ub2RlcycpOwotCi0gIC8qKgotICAgKiBUaGUgZGVmYXVsdCBub2RlIHJlbmRlcmVyLiBJdCByZW5kZXJzIHRoZSBub2RlIGFzIGEgc2ltcGxlIGRpc2MuCi0gICAqLwotICBzaWdtYS5zdmcubm9kZXMuZGVmID0gewotCi0gICAgLyoqCi0gICAgICogU1ZHIEVsZW1lbnQgY3JlYXRpb24uCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIG5vZGUgICAgIFRoZSBub2RlIG9iamVjdC4KLSAgICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICAgICAgICAgIHNldHRpbmdzIFRoZSBzZXR0aW5ncyBmdW5jdGlvbi4KLSAgICAgKi8KLSAgICBjcmVhdGU6IGZ1bmN0aW9uKG5vZGUsIHNldHRpbmdzKSB7Ci0gICAgICB2YXIgcHJlZml4ID0gc2V0dGluZ3MoJ3ByZWZpeCcpIHx8ICcnLAotICAgICAgICAgIGNpcmNsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzZXR0aW5ncygneG1sbnMnKSwgJ2NpcmNsZScpOwotCi0gICAgICAvLyBEZWZpbmluZyB0aGUgbm9kZSdzIGNpcmNsZQotICAgICAgY2lyY2xlLnNldEF0dHJpYnV0ZU5TKG51bGwsICdkYXRhLW5vZGUtaWQnLCBub2RlLmlkKTsKLSAgICAgIGNpcmNsZS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnY2xhc3MnLCBzZXR0aW5ncygnY2xhc3NQcmVmaXgnKSArICctbm9kZScpOwotICAgICAgY2lyY2xlLnNldEF0dHJpYnV0ZU5TKAotICAgICAgICBudWxsLCAnZmlsbCcsIG5vZGUuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSk7Ci0KLSAgICAgIC8vIFJldHVybmluZyB0aGUgRE9NIEVsZW1lbnQKLSAgICAgIHJldHVybiBjaXJjbGU7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIFNWRyBFbGVtZW50IHVwZGF0ZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgbm9kZSAgICAgVGhlIG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge0RPTUVsZW1lbnR9ICAgICAgICAgICAgICAgY2lyY2xlICAgVGhlIG5vZGUgRE9NIGVsZW1lbnQuCi0gICAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgICBzZXR0aW5ncyBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdXBkYXRlOiBmdW5jdGlvbihub2RlLCBjaXJjbGUsIHNldHRpbmdzKSB7Ci0gICAgICB2YXIgcHJlZml4ID0gc2V0dGluZ3MoJ3ByZWZpeCcpIHx8ICcnOwotCi0gICAgICAvLyBBcHBseWluZyBjaGFuZ2VzCi0gICAgICAvLyBUT0RPOiBvcHRpbWl6ZSAtIGNoZWNrIGlmIG5lY2Vzc2FyeQotICAgICAgY2lyY2xlLnNldEF0dHJpYnV0ZU5TKG51bGwsICdjeCcsIG5vZGVbcHJlZml4ICsgJ3gnXSk7Ci0gICAgICBjaXJjbGUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2N5Jywgbm9kZVtwcmVmaXggKyAneSddKTsKLSAgICAgIGNpcmNsZS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAncicsIG5vZGVbcHJlZml4ICsgJ3NpemUnXSk7Ci0KLSAgICAgIC8vIFVwZGF0aW5nIG9ubHkgaWYgbm90IGZyZWVzdHlsZQotICAgICAgaWYgKCFzZXR0aW5ncygnZnJlZVN0eWxlJykpCi0gICAgICAgIGNpcmNsZS5zZXRBdHRyaWJ1dGVOUygKLSAgICAgICAgICBudWxsLCAnZmlsbCcsIG5vZGUuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSk7Ci0KLSAgICAgIC8vIFNob3dpbmcKLSAgICAgIGNpcmNsZS5zdHlsZS5kaXNwbGF5ID0gJyc7Ci0KLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0KLSAgfTsKLX0pKCk7Ci0KLTsoZnVuY3Rpb24oKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnN2Zy5lZGdlcycpOwotCi0gIC8qKgotICAgKiBUaGUgZGVmYXVsdCBlZGdlIHJlbmRlcmVyLiBJdCByZW5kZXJzIHRoZSBub2RlIGFzIGEgc2ltcGxlIGxpbmUuCi0gICAqLwotICBzaWdtYS5zdmcuZWRnZXMuZGVmID0gewotCi0gICAgLyoqCi0gICAgICogU1ZHIEVsZW1lbnQgY3JlYXRpb24uCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIGVkZ2UgICAgICAgVGhlIGVkZ2Ugb2JqZWN0LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgc291cmNlICAgICBUaGUgc291cmNlIG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0ICAgICBUaGUgdGFyZ2V0IG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgY3JlYXRlOiBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgc2V0dGluZ3MpIHsKLSAgICAgIHZhciBjb2xvciA9IGVkZ2UuY29sb3IsCi0gICAgICAgICAgcHJlZml4ID0gc2V0dGluZ3MoJ3ByZWZpeCcpIHx8ICcnLAotICAgICAgICAgIGVkZ2VDb2xvciA9IHNldHRpbmdzKCdlZGdlQ29sb3InKSwKLSAgICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgICBkZWZhdWx0RWRnZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHRFZGdlQ29sb3InKTsKLQotICAgICAgaWYgKCFjb2xvcikKLSAgICAgICAgc3dpdGNoIChlZGdlQ29sb3IpIHsKLSAgICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgICAgY29sb3IgPSBzb3VyY2UuY29sb3IgfHwgZGVmYXVsdE5vZGVDb2xvcjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgICBjb2xvciA9IHRhcmdldC5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNvbG9yID0gZGVmYXVsdEVkZ2VDb2xvcjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgIHZhciBsaW5lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHNldHRpbmdzKCd4bWxucycpLCAnbGluZScpOwotCi0gICAgICAvLyBBdHRyaWJ1dGVzCi0gICAgICBsaW5lLnNldEF0dHJpYnV0ZU5TKG51bGwsICdkYXRhLWVkZ2UtaWQnLCBlZGdlLmlkKTsKLSAgICAgIGxpbmUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2NsYXNzJywgc2V0dGluZ3MoJ2NsYXNzUHJlZml4JykgKyAnLWVkZ2UnKTsKLSAgICAgIGxpbmUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZScsIGNvbG9yKTsKLQotICAgICAgcmV0dXJuIGxpbmU7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIFNWRyBFbGVtZW50IHVwZGF0ZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgZWRnZSAgICAgICBUaGUgZWRnZSBvYmplY3QuCi0gICAgICogQHBhcmFtICB7RE9NRWxlbWVudH0gICAgICAgICAgICAgICBsaW5lICAgICAgIFRoZSBsaW5lIERPTSBFbGVtZW50LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgc291cmNlICAgICBUaGUgc291cmNlIG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0ICAgICBUaGUgdGFyZ2V0IG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdXBkYXRlOiBmdW5jdGlvbihlZGdlLCBsaW5lLCBzb3VyY2UsIHRhcmdldCwgc2V0dGluZ3MpIHsKLSAgICAgIHZhciBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJyc7Ci0KLSAgICAgIGxpbmUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZS13aWR0aCcsIGVkZ2VbcHJlZml4ICsgJ3NpemUnXSB8fCAxKTsKLSAgICAgIGxpbmUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3gxJywgc291cmNlW3ByZWZpeCArICd4J10pOwotICAgICAgbGluZS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneTEnLCBzb3VyY2VbcHJlZml4ICsgJ3knXSk7Ci0gICAgICBsaW5lLnNldEF0dHJpYnV0ZU5TKG51bGwsICd4MicsIHRhcmdldFtwcmVmaXggKyAneCddKTsKLSAgICAgIGxpbmUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3kyJywgdGFyZ2V0W3ByZWZpeCArICd5J10pOwotCi0gICAgICAvLyBTaG93aW5nCi0gICAgICBsaW5lLnN0eWxlLmRpc3BsYXkgPSAnJzsKLQotICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfQotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbigpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuc3ZnLmVkZ2VzJyk7Ci0KLSAgLyoqCi0gICAqIFRoZSBjdXJ2ZSBlZGdlIHJlbmRlcmVyLiBJdCByZW5kZXJzIHRoZSBub2RlIGFzIGEgYmV6aWVyIGN1cnZlLgotICAgKi8KLSAgc2lnbWEuc3ZnLmVkZ2VzLmN1cnZlID0gewotCi0gICAgLyoqCi0gICAgICogU1ZHIEVsZW1lbnQgY3JlYXRpb24uCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIGVkZ2UgICAgICAgVGhlIGVkZ2Ugb2JqZWN0LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgc291cmNlICAgICBUaGUgc291cmNlIG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0ICAgICBUaGUgdGFyZ2V0IG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgY3JlYXRlOiBmdW5jdGlvbihlZGdlLCBzb3VyY2UsIHRhcmdldCwgc2V0dGluZ3MpIHsKLSAgICAgIHZhciBjb2xvciA9IGVkZ2UuY29sb3IsCi0gICAgICAgICAgcHJlZml4ID0gc2V0dGluZ3MoJ3ByZWZpeCcpIHx8ICcnLAotICAgICAgICAgIGVkZ2VDb2xvciA9IHNldHRpbmdzKCdlZGdlQ29sb3InKSwKLSAgICAgICAgICBkZWZhdWx0Tm9kZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSwKLSAgICAgICAgICBkZWZhdWx0RWRnZUNvbG9yID0gc2V0dGluZ3MoJ2RlZmF1bHRFZGdlQ29sb3InKTsKLQotICAgICAgaWYgKCFjb2xvcikKLSAgICAgICAgc3dpdGNoIChlZGdlQ29sb3IpIHsKLSAgICAgICAgICBjYXNlICdzb3VyY2UnOgotICAgICAgICAgICAgY29sb3IgPSBzb3VyY2UuY29sb3IgfHwgZGVmYXVsdE5vZGVDb2xvcjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIGNhc2UgJ3RhcmdldCc6Ci0gICAgICAgICAgICBjb2xvciA9IHRhcmdldC5jb2xvciB8fCBkZWZhdWx0Tm9kZUNvbG9yOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGNvbG9yID0gZGVmYXVsdEVkZ2VDb2xvcjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgIHZhciBwYXRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHNldHRpbmdzKCd4bWxucycpLCAncGF0aCcpOwotCi0gICAgICAvLyBBdHRyaWJ1dGVzCi0gICAgICBwYXRoLnNldEF0dHJpYnV0ZU5TKG51bGwsICdkYXRhLWVkZ2UtaWQnLCBlZGdlLmlkKTsKLSAgICAgIHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ2NsYXNzJywgc2V0dGluZ3MoJ2NsYXNzUHJlZml4JykgKyAnLWVkZ2UnKTsKLSAgICAgIHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZScsIGNvbG9yKTsKLQotICAgICAgcmV0dXJuIHBhdGg7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIFNWRyBFbGVtZW50IHVwZGF0ZS4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgZWRnZSAgICAgICBUaGUgZWRnZSBvYmplY3QuCi0gICAgICogQHBhcmFtICB7RE9NRWxlbWVudH0gICAgICAgICAgICAgICBsaW5lICAgICAgIFRoZSBsaW5lIERPTSBFbGVtZW50LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgc291cmNlICAgICBUaGUgc291cmNlIG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgICAgICAgICAgdGFyZ2V0ICAgICBUaGUgdGFyZ2V0IG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdXBkYXRlOiBmdW5jdGlvbihlZGdlLCBwYXRoLCBzb3VyY2UsIHRhcmdldCwgc2V0dGluZ3MpIHsKLSAgICAgIHZhciBwcmVmaXggPSBzZXR0aW5ncygncHJlZml4JykgfHwgJyc7Ci0KLSAgICAgIHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ3N0cm9rZS13aWR0aCcsIGVkZ2VbcHJlZml4ICsgJ3NpemUnXSB8fCAxKTsKLQotICAgICAgLy8gQ29udHJvbCBwb2ludAotICAgICAgdmFyIGN4ID0gKHNvdXJjZVtwcmVmaXggKyAneCddICsgdGFyZ2V0W3ByZWZpeCArICd4J10pIC8gMiArCi0gICAgICAgICh0YXJnZXRbcHJlZml4ICsgJ3knXSAtIHNvdXJjZVtwcmVmaXggKyAneSddKSAvIDQsCi0gICAgICAgICAgY3kgPSAoc291cmNlW3ByZWZpeCArICd5J10gKyB0YXJnZXRbcHJlZml4ICsgJ3knXSkgLyAyICsKLSAgICAgICAgKHNvdXJjZVtwcmVmaXggKyAneCddIC0gdGFyZ2V0W3ByZWZpeCArICd4J10pIC8gNDsKLQotICAgICAgLy8gUGF0aAotICAgICAgdmFyIHAgPSAnTScgKyBzb3VyY2VbcHJlZml4ICsgJ3gnXSArICcsJyArIHNvdXJjZVtwcmVmaXggKyAneSddICsgJyAnICsKLSAgICAgICAgICAgICAgJ1EnICsgY3ggKyAnLCcgKyBjeSArICcgJyArCi0gICAgICAgICAgICAgIHRhcmdldFtwcmVmaXggKyAneCddICsgJywnICsgdGFyZ2V0W3ByZWZpeCArICd5J107Ci0KLSAgICAgIC8vIFVwZGF0aW5nIGF0dHJpYnV0ZXMKLSAgICAgIHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ2QnLCBwKTsKLSAgICAgIHBhdGguc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZpbGwnLCAnbm9uZScpOwotCi0gICAgICAvLyBTaG93aW5nCi0gICAgICBwYXRoLnN0eWxlLmRpc3BsYXkgPSAnJzsKLQotICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfQotICB9OwotfSkoKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEuc3ZnLmxhYmVscycpOwotCi0gIC8qKgotICAgKiBUaGUgZGVmYXVsdCBsYWJlbCByZW5kZXJlci4gSXQgcmVuZGVycyB0aGUgbGFiZWwgYXMgYSBzaW1wbGUgdGV4dC4KLSAgICovCi0gIHNpZ21hLnN2Zy5sYWJlbHMuZGVmID0gewotCi0gICAgLyoqCi0gICAgICogU1ZHIEVsZW1lbnQgY3JlYXRpb24uCi0gICAgICoKLSAgICAgKiBAcGFyYW0gIHtvYmplY3R9ICAgICAgICAgICAgICAgICAgIG5vZGUgICAgICAgVGhlIG5vZGUgb2JqZWN0LgotICAgICAqIEBwYXJhbSAge2NvbmZpZ3VyYWJsZX0gICAgICAgICAgICAgc2V0dGluZ3MgICBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgY3JlYXRlOiBmdW5jdGlvbihub2RlLCBzZXR0aW5ncykgewotICAgICAgdmFyIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgICBzaXplID0gbm9kZVtwcmVmaXggKyAnc2l6ZSddLAotICAgICAgICAgIHRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoc2V0dGluZ3MoJ3htbG5zJyksICd0ZXh0Jyk7Ci0KLSAgICAgIHZhciBmb250U2l6ZSA9IChzZXR0aW5ncygnbGFiZWxTaXplJykgPT09ICdmaXhlZCcpID8KLSAgICAgICAgc2V0dGluZ3MoJ2RlZmF1bHRMYWJlbFNpemUnKSA6Ci0gICAgICAgIHNldHRpbmdzKCdsYWJlbFNpemVSYXRpbycpICogc2l6ZTsKLQotICAgICAgdmFyIGZvbnRDb2xvciA9IChzZXR0aW5ncygnbGFiZWxDb2xvcicpID09PSAnbm9kZScpID8KLSAgICAgICAgKG5vZGUuY29sb3IgfHwgc2V0dGluZ3MoJ2RlZmF1bHROb2RlQ29sb3InKSkgOgotICAgICAgICBzZXR0aW5ncygnZGVmYXVsdExhYmVsQ29sb3InKTsKLQotICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZGF0YS1sYWJlbC10YXJnZXQnLCBub2RlLmlkKTsKLSAgICAgIHRleHQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2NsYXNzJywgc2V0dGluZ3MoJ2NsYXNzUHJlZml4JykgKyAnLWxhYmVsJyk7Ci0gICAgICB0ZXh0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LXNpemUnLCBmb250U2l6ZSk7Ci0gICAgICB0ZXh0LnNldEF0dHJpYnV0ZU5TKG51bGwsICdmb250LWZhbWlseScsIHNldHRpbmdzKCdmb250JykpOwotICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbCcsIGZvbnRDb2xvcik7Ci0KLSAgICAgIHRleHQuaW5uZXJIVE1MID0gbm9kZS5sYWJlbDsKLSAgICAgIHRleHQudGV4dENvbnRlbnQgPSBub2RlLmxhYmVsOwotCi0gICAgICByZXR1cm4gdGV4dDsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogU1ZHIEVsZW1lbnQgdXBkYXRlLgotICAgICAqCi0gICAgICogQHBhcmFtICB7b2JqZWN0fSAgICAgICAgICAgICAgICAgICBub2RlICAgICBUaGUgbm9kZSBvYmplY3QuCi0gICAgICogQHBhcmFtICB7RE9NRWxlbWVudH0gICAgICAgICAgICAgICB0ZXh0ICAgICBUaGUgbGFiZWwgRE9NIGVsZW1lbnQuCi0gICAgICogQHBhcmFtICB7Y29uZmlndXJhYmxlfSAgICAgICAgICAgICBzZXR0aW5ncyBUaGUgc2V0dGluZ3MgZnVuY3Rpb24uCi0gICAgICovCi0gICAgdXBkYXRlOiBmdW5jdGlvbihub2RlLCB0ZXh0LCBzZXR0aW5ncykgewotICAgICAgdmFyIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgICBzaXplID0gbm9kZVtwcmVmaXggKyAnc2l6ZSddOwotCi0gICAgICB2YXIgZm9udFNpemUgPSAoc2V0dGluZ3MoJ2xhYmVsU2l6ZScpID09PSAnZml4ZWQnKSA/Ci0gICAgICAgIHNldHRpbmdzKCdkZWZhdWx0TGFiZWxTaXplJykgOgotICAgICAgICBzZXR0aW5ncygnbGFiZWxTaXplUmF0aW8nKSAqIHNpemU7Ci0KLSAgICAgIC8vIENhc2Ugd2hlbiB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgdGhlIGxhYmVsCi0gICAgICBpZiAoIXNldHRpbmdzKCdmb3JjZUxhYmVscycpICYmIHNpemUgPCBzZXR0aW5ncygnbGFiZWxUaHJlc2hvbGQnKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgICBpZiAodHlwZW9mIG5vZGUubGFiZWwgIT09ICdzdHJpbmcnKQotICAgICAgICByZXR1cm47Ci0KLSAgICAgIC8vIFVwZGF0aW5nCi0gICAgICB0ZXh0LnNldEF0dHJpYnV0ZU5TKG51bGwsICd4JywKLSAgICAgICAgTWF0aC5yb3VuZChub2RlW3ByZWZpeCArICd4J10gKyBzaXplICsgMykpOwotICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsCi0gICAgICAgIE1hdGgucm91bmQobm9kZVtwcmVmaXggKyAneSddICsgZm9udFNpemUgLyAzKSk7Ci0KLSAgICAgIC8vIFNob3dpbmcKLSAgICAgIHRleHQuc3R5bGUuZGlzcGxheSA9ICcnOwotCi0gICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0gIH07Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgLy8gSW5pdGlhbGl6ZSBwYWNrYWdlczoKLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5zdmcuaG92ZXJzJyk7Ci0KLSAgLyoqCi0gICAqIFRoZSBkZWZhdWx0IGhvdmVyIHJlbmRlcmVyLgotICAgKi8KLSAgc2lnbWEuc3ZnLmhvdmVycy5kZWYgPSB7Ci0KLSAgICAvKioKLSAgICAgKiBTVkcgRWxlbWVudCBjcmVhdGlvbi4KLSAgICAgKgotICAgICAqIEBwYXJhbSAge29iamVjdH0gICAgICAgICAgIG5vZGUgICAgICAgICAgICAgICBUaGUgbm9kZSBvYmplY3QuCi0gICAgICogQHBhcmFtICB7Q2FudmFzRWxlbWVudH0gICAgbWVhc3VyZW1lbnRDYW52YXMgIEEgZmFrZSBjYW52YXMgaGFuZGxlZCBieQotICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdmcgdG8gcGVyZm9ybSBzb21lIG1lYXN1cmVtZW50cyBhbmQKLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzZWQgYnkgdGhlIHJlbmRlcmVyLgotICAgICAqIEBwYXJhbSAge0RPTUVsZW1lbnR9ICAgICAgIG5vZGVDaXJjbGUgICAgICAgICBUaGUgbm9kZSBET00gRWxlbWVudC4KLSAgICAgKiBAcGFyYW0gIHtjb25maWd1cmFibGV9ICAgICBzZXR0aW5ncyAgICAgICAgICAgVGhlIHNldHRpbmdzIGZ1bmN0aW9uLgotICAgICAqLwotICAgIGNyZWF0ZTogZnVuY3Rpb24obm9kZSwgbm9kZUNpcmNsZSwgbWVhc3VyZW1lbnRDYW52YXMsIHNldHRpbmdzKSB7Ci0KLSAgICAgIC8vIERlZmluaW5nIHZpc3VhbCBwcm9wZXJ0aWVzCi0gICAgICB2YXIgeCwKLSAgICAgICAgICB5LAotICAgICAgICAgIHcsCi0gICAgICAgICAgaCwKLSAgICAgICAgICBlLAotICAgICAgICAgIGQsCi0gICAgICAgICAgZm9udFN0eWxlID0gc2V0dGluZ3MoJ2hvdmVyRm9udFN0eWxlJykgfHwgc2V0dGluZ3MoJ2ZvbnRTdHlsZScpLAotICAgICAgICAgIHByZWZpeCA9IHNldHRpbmdzKCdwcmVmaXgnKSB8fCAnJywKLSAgICAgICAgICBzaXplID0gbm9kZVtwcmVmaXggKyAnc2l6ZSddLAotICAgICAgICAgIGZvbnRTaXplID0gKHNldHRpbmdzKCdsYWJlbFNpemUnKSA9PT0gJ2ZpeGVkJykgPwotICAgICAgICAgICAgc2V0dGluZ3MoJ2RlZmF1bHRMYWJlbFNpemUnKSA6Ci0gICAgICAgICAgICBzZXR0aW5ncygnbGFiZWxTaXplUmF0aW8nKSAqIHNpemUsCi0gICAgICAgICAgZm9udENvbG9yID0gKHNldHRpbmdzKCdsYWJlbEhvdmVyQ29sb3InKSA9PT0gJ25vZGUnKSA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAobm9kZS5jb2xvciB8fCBzZXR0aW5ncygnZGVmYXVsdE5vZGVDb2xvcicpKSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncygnZGVmYXVsdExhYmVsSG92ZXJDb2xvcicpOwotCi0gICAgICAvLyBDcmVhdGluZyBlbGVtZW50cwotICAgICAgdmFyIGdyb3VwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHNldHRpbmdzKCd4bWxucycpLCAnZycpLAotICAgICAgICAgIHJlY3RhbmdsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhzZXR0aW5ncygneG1sbnMnKSwgJ3JlY3QnKSwKLSAgICAgICAgICBjaXJjbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoc2V0dGluZ3MoJ3htbG5zJyksICdjaXJjbGUnKSwKLSAgICAgICAgICB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHNldHRpbmdzKCd4bWxucycpLCAndGV4dCcpOwotCi0gICAgICAvLyBEZWZpbmluZyBwcm9wZXJ0aWVzCi0gICAgICBncm91cC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnY2xhc3MnLCBzZXR0aW5ncygnY2xhc3NQcmVmaXgnKSArICctaG92ZXInKTsKLSAgICAgIGdyb3VwLnNldEF0dHJpYnV0ZU5TKG51bGwsICdkYXRhLW5vZGUtaWQnLCBub2RlLmlkKTsKLQotICAgICAgaWYgKHR5cGVvZiBub2RlLmxhYmVsID09PSAnc3RyaW5nJykgewotCi0gICAgICAgIC8vIFRleHQKLSAgICAgICAgdGV4dC5pbm5lckhUTUwgPSBub2RlLmxhYmVsOwotICAgICAgICB0ZXh0LnRleHRDb250ZW50ID0gbm9kZS5sYWJlbDsKLSAgICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUygKLSAgICAgICAgICAgIG51bGwsCi0gICAgICAgICAgICAnY2xhc3MnLAotICAgICAgICAgICAgc2V0dGluZ3MoJ2NsYXNzUHJlZml4JykgKyAnLWhvdmVyLWxhYmVsJyk7Ci0gICAgICAgIHRleHQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2ZvbnQtc2l6ZScsIGZvbnRTaXplKTsKLSAgICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZm9udC1mYW1pbHknLCBzZXR0aW5ncygnZm9udCcpKTsKLSAgICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbCcsIGZvbnRDb2xvcik7Ci0gICAgICAgIHRleHQuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3gnLAotICAgICAgICAgIE1hdGgucm91bmQobm9kZVtwcmVmaXggKyAneCddICsgc2l6ZSArIDMpKTsKLSAgICAgICAgdGV4dC5zZXRBdHRyaWJ1dGVOUyhudWxsLCAneScsCi0gICAgICAgICAgTWF0aC5yb3VuZChub2RlW3ByZWZpeCArICd5J10gKyBmb250U2l6ZSAvIDMpKTsKLQotICAgICAgICAvLyBNZWFzdXJlcwotICAgICAgICAvLyBPUFRJTUlaRTogRmluZCBhIGJldHRlciB3YXkgdGhhbiBhIG1lYXN1cmVtZW50IGNhbnZhcwotICAgICAgICB4ID0gTWF0aC5yb3VuZChub2RlW3ByZWZpeCArICd4J10gLSBmb250U2l6ZSAvIDIgLSAyKTsKLSAgICAgICAgeSA9IE1hdGgucm91bmQobm9kZVtwcmVmaXggKyAneSddIC0gZm9udFNpemUgLyAyIC0gMik7Ci0gICAgICAgIHcgPSBNYXRoLnJvdW5kKAotICAgICAgICAgIG1lYXN1cmVtZW50Q2FudmFzLm1lYXN1cmVUZXh0KG5vZGUubGFiZWwpLndpZHRoICsKLSAgICAgICAgICAgIGZvbnRTaXplIC8gMiArIHNpemUgKyA5Ci0gICAgICAgICk7Ci0gICAgICAgIGggPSBNYXRoLnJvdW5kKGZvbnRTaXplICsgNCk7Ci0gICAgICAgIGUgPSBNYXRoLnJvdW5kKGZvbnRTaXplIC8gMiArIDIpOwotCi0gICAgICAgIC8vIENpcmNsZQotICAgICAgICBjaXJjbGUuc2V0QXR0cmlidXRlTlMoCi0gICAgICAgICAgICBudWxsLAotICAgICAgICAgICAgJ2NsYXNzJywKLSAgICAgICAgICAgIHNldHRpbmdzKCdjbGFzc1ByZWZpeCcpICsgJy1ob3Zlci1hcmVhJyk7Ci0gICAgICAgIGNpcmNsZS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnZmlsbCcsICcjZmZmJyk7Ci0gICAgICAgIGNpcmNsZS5zZXRBdHRyaWJ1dGVOUyhudWxsLCAnY3gnLCBub2RlW3ByZWZpeCArICd4J10pOwotICAgICAgICBjaXJjbGUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2N5Jywgbm9kZVtwcmVmaXggKyAneSddKTsKLSAgICAgICAgY2lyY2xlLnNldEF0dHJpYnV0ZU5TKG51bGwsICdyJywgZSk7Ci0KLSAgICAgICAgLy8gUmVjdGFuZ2xlCi0gICAgICAgIHJlY3RhbmdsZS5zZXRBdHRyaWJ1dGVOUygKLSAgICAgICAgICAgIG51bGwsCi0gICAgICAgICAgICAnY2xhc3MnLAotICAgICAgICAgICAgc2V0dGluZ3MoJ2NsYXNzUHJlZml4JykgKyAnLWhvdmVyLWFyZWEnKTsKLSAgICAgICAgcmVjdGFuZ2xlLnNldEF0dHJpYnV0ZU5TKG51bGwsICdmaWxsJywgJyNmZmYnKTsKLSAgICAgICAgcmVjdGFuZ2xlLnNldEF0dHJpYnV0ZU5TKG51bGwsICd4Jywgbm9kZVtwcmVmaXggKyAneCddICsgZSAvIDQpOwotICAgICAgICByZWN0YW5nbGUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ3knLCBub2RlW3ByZWZpeCArICd5J10gLSBlKTsKLSAgICAgICAgcmVjdGFuZ2xlLnNldEF0dHJpYnV0ZU5TKG51bGwsICd3aWR0aCcsIHcpOwotICAgICAgICByZWN0YW5nbGUuc2V0QXR0cmlidXRlTlMobnVsbCwgJ2hlaWdodCcsIGgpOwotICAgICAgfQotCi0gICAgICAvLyBBcHBlbmRpbmcgY2hpbGRzCi0gICAgICBncm91cC5hcHBlbmRDaGlsZChjaXJjbGUpOwotICAgICAgZ3JvdXAuYXBwZW5kQ2hpbGQocmVjdGFuZ2xlKTsKLSAgICAgIGdyb3VwLmFwcGVuZENoaWxkKHRleHQpOwotICAgICAgZ3JvdXAuYXBwZW5kQ2hpbGQobm9kZUNpcmNsZSk7Ci0KLSAgICAgIHJldHVybiBncm91cDsKLSAgICB9Ci0gIH07Ci19KS5jYWxsKHRoaXMpOwotCi07KGZ1bmN0aW9uKHVuZGVmaW5lZCkgewotICAndXNlIHN0cmljdCc7Ci0KLSAgaWYgKHR5cGVvZiBzaWdtYSA9PT0gJ3VuZGVmaW5lZCcpCi0gICAgdGhyb3cgJ3NpZ21hIGlzIG5vdCBkZWNsYXJlZCc7Ci0KLSAgLy8gSW5pdGlhbGl6ZSBwYWNrYWdlczoKLSAgc2lnbWEudXRpbHMucGtnKCdzaWdtYS5taWRkbGV3YXJlcycpOwotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLnV0aWxzJyk7Ci0KLSAgLyoqCi0gICAqIFRoaXMgbWlkZGxld2FyZSB3aWxsIHJlc2NhbGUgdGhlIGdyYXBoIHN1Y2ggdGhhdCBpdCB0YWtlcyBhbiBvcHRpbWFsIHNwYWNlCi0gICAqIG9uIHRoZSByZW5kZXJlci4KLSAgICoKLSAgICogQXMgZWFjaCBtaWRkbGV3YXJlLCB0aGlzIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIGluIHRoZSBzY29wZSBvZiB0aGUgc2lnbWEKLSAgICogaW5zdGFuY2UuCi0gICAqCi0gICAqIEBwYXJhbSB7P3N0cmluZ30gcmVhZFByZWZpeCAgVGhlIHJlYWQgcHJlZml4LgotICAgKiBAcGFyYW0gez9zdHJpbmd9IHdyaXRlUHJlZml4IFRoZSB3cml0ZSBwcmVmaXguCi0gICAqIEBwYXJhbSB7b2JqZWN0fSAgb3B0aW9ucyAgICAgVGhlIHBhcmFtZXRlcnMuCi0gICAqLwotICBzaWdtYS5taWRkbGV3YXJlcy5yZXNjYWxlID0gZnVuY3Rpb24ocmVhZFByZWZpeCwgd3JpdGVQcmVmaXgsIG9wdGlvbnMpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYSwKLSAgICAgICAgYiwKLSAgICAgICAgYywKLSAgICAgICAgZCwKLSAgICAgICAgc2NhbGUsCi0gICAgICAgIG1hcmdpbiwKLSAgICAgICAgbiA9IHRoaXMuZ3JhcGgubm9kZXMoKSwKLSAgICAgICAgZSA9IHRoaXMuZ3JhcGguZWRnZXMoKSwKLSAgICAgICAgc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzLmVtYmVkT2JqZWN0cyhvcHRpb25zIHx8IHt9KSwKLSAgICAgICAgYm91bmRzID0gc2V0dGluZ3MoJ2JvdW5kcycpIHx8IHNpZ21hLnV0aWxzLmdldEJvdW5kYXJpZXMoCi0gICAgICAgICAgdGhpcy5ncmFwaCwKLSAgICAgICAgICByZWFkUHJlZml4LAotICAgICAgICAgIHRydWUKLSAgICAgICAgKSwKLSAgICAgICAgbWluWCA9IGJvdW5kcy5taW5YLAotICAgICAgICBtaW5ZID0gYm91bmRzLm1pblksCi0gICAgICAgIG1heFggPSBib3VuZHMubWF4WCwKLSAgICAgICAgbWF4WSA9IGJvdW5kcy5tYXhZLAotICAgICAgICBzaXplTWF4ID0gYm91bmRzLnNpemVNYXgsCi0gICAgICAgIHdlaWdodE1heCA9IGJvdW5kcy53ZWlnaHRNYXgsCi0gICAgICAgIHcgPSBzZXR0aW5ncygnd2lkdGgnKSB8fCAxLAotICAgICAgICBoID0gc2V0dGluZ3MoJ2hlaWdodCcpIHx8IDEsCi0gICAgICAgIHJlc2NhbGVTZXR0aW5ncyA9IHNldHRpbmdzKCdhdXRvUmVzY2FsZScpLAotICAgICAgICB2YWxpZFNldHRpbmdzID0gewotICAgICAgICAgIG5vZGVQb3NpdGlvbjogMSwKLSAgICAgICAgICBub2RlU2l6ZTogMSwKLSAgICAgICAgICBlZGdlU2l6ZTogMQotICAgICAgICB9OwotCi0gICAgLyoqCi0gICAgICogV2hhdCBlbGVtZW50cyBzaG91bGQgd2UgcmVzY2FsZT8KLSAgICAgKi8KLSAgICBpZiAoIShyZXNjYWxlU2V0dGluZ3MgaW5zdGFuY2VvZiBBcnJheSkpCi0gICAgICByZXNjYWxlU2V0dGluZ3MgPSBbJ25vZGVQb3NpdGlvbicsICdub2RlU2l6ZScsICdlZGdlU2l6ZSddOwotCi0gICAgZm9yIChpID0gMCwgbCA9IHJlc2NhbGVTZXR0aW5ncy5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICBpZiAoIXZhbGlkU2V0dGluZ3NbcmVzY2FsZVNldHRpbmdzW2ldXSkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICdUaGUgcmVzY2FsZSBzZXR0aW5nICInICsgcmVzY2FsZVNldHRpbmdzW2ldICsgJyIgaXMgbm90IHJlY29nbml6ZWQuJwotICAgICAgICApOwotCi0gICAgdmFyIG5wID0gfnJlc2NhbGVTZXR0aW5ncy5pbmRleE9mKCdub2RlUG9zaXRpb24nKSwKLSAgICAgICAgbnMgPSB+cmVzY2FsZVNldHRpbmdzLmluZGV4T2YoJ25vZGVTaXplJyksCi0gICAgICAgIGVzID0gfnJlc2NhbGVTZXR0aW5ncy5pbmRleE9mKCdlZGdlU2l6ZScpOwotCi0gICAgLyoqCi0gICAgICogRmlyc3QsIHdlIGNvbXB1dGUgdGhlIHNjYWxpbmcgcmF0aW8sIHdpdGhvdXQgY29uc2lkZXJpbmcgdGhlIHNpemVzCi0gICAgICogb2YgdGhlIG5vZGVzIDogRWFjaCBub2RlIHdpbGwgaGF2ZSBpdHMgY2VudGVyIGluIHRoZSBjYW52YXMsIGJ1dCBtaWdodAotICAgICAqIGJlIHBhcnRpYWxseSBvdXQgb2YgaXQuCi0gICAgICovCi0gICAgc2NhbGUgPSBzZXR0aW5ncygnc2NhbGluZ01vZGUnKSA9PT0gJ291dHNpZGUnID8KLSAgICAgIE1hdGgubWF4KAotICAgICAgICB3IC8gTWF0aC5tYXgobWF4WCAtIG1pblgsIDEpLAotICAgICAgICBoIC8gTWF0aC5tYXgobWF4WSAtIG1pblksIDEpCi0gICAgICApIDoKLSAgICAgIE1hdGgubWluKAotICAgICAgICB3IC8gTWF0aC5tYXgobWF4WCAtIG1pblgsIDEpLAotICAgICAgICBoIC8gTWF0aC5tYXgobWF4WSAtIG1pblksIDEpCi0gICAgICApOwotCi0gICAgLyoqCi0gICAgICogVGhlbiwgd2UgY29ycmVjdCB0aGF0IHNjYWxpbmcgcmF0aW8gY29uc2lkZXJpbmcgYSBtYXJnaW4sIHdoaWNoIGlzCi0gICAgICogYmFzaWNhbGx5IHRoZSBzaXplIG9mIHRoZSBiaWdnZXN0IG5vZGUuCi0gICAgICogVGhpcyBoYXMgdG8gYmUgZG9uZSBhcyBhIGNvcnJlY3Rpb24gc2luY2UgdG8gY29tcGFyZSB0aGUgc2l6ZSBvZiB0aGUKLSAgICAgKiBiaWdnZXN0IG5vZGUgdG8gdGhlIFggYW5kIFkgdmFsdWVzLCB3ZSBoYXZlIHRvIGZpcnN0IGdldCBhbgotICAgICAqIGFwcHJveGltYXRpb24gb2YgdGhlIHNjYWxpbmcgcmF0aW8uCi0gICAgICoqLwotICAgIG1hcmdpbiA9Ci0gICAgICAoCi0gICAgICAgIHNldHRpbmdzKCdyZXNjYWxlSWdub3JlU2l6ZScpID8KLSAgICAgICAgICAwIDoKLSAgICAgICAgICAoc2V0dGluZ3MoJ21heE5vZGVTaXplJykgfHwgc2l6ZU1heCkgLyBzY2FsZQotICAgICAgKSArCi0gICAgICAoc2V0dGluZ3MoJ3NpZGVNYXJnaW4nKSB8fCAwKTsKLSAgICBtYXhYICs9IG1hcmdpbjsKLSAgICBtaW5YIC09IG1hcmdpbjsKLSAgICBtYXhZICs9IG1hcmdpbjsKLSAgICBtaW5ZIC09IG1hcmdpbjsKLQotICAgIC8vIEZpeCB0aGUgc2NhbGluZyB3aXRoIHRoZSBuZXcgZXh0cmVtYToKLSAgICBzY2FsZSA9IHNldHRpbmdzKCdzY2FsaW5nTW9kZScpID09PSAnb3V0c2lkZScgPwotICAgICAgTWF0aC5tYXgoCi0gICAgICAgIHcgLyBNYXRoLm1heChtYXhYIC0gbWluWCwgMSksCi0gICAgICAgIGggLyBNYXRoLm1heChtYXhZIC0gbWluWSwgMSkKLSAgICAgICkgOgotICAgICAgTWF0aC5taW4oCi0gICAgICAgIHcgLyBNYXRoLm1heChtYXhYIC0gbWluWCwgMSksCi0gICAgICAgIGggLyBNYXRoLm1heChtYXhZIC0gbWluWSwgMSkKLSAgICAgICk7Ci0KLSAgICAvLyBTaXplIGhvbW90aGV0aWMgcGFyYW1ldGVyczoKLSAgICBpZiAoIXNldHRpbmdzKCdtYXhOb2RlU2l6ZScpICYmICFzZXR0aW5ncygnbWluTm9kZVNpemUnKSkgewotICAgICAgYSA9IDE7Ci0gICAgICBiID0gMDsKLSAgICB9IGVsc2UgaWYgKHNldHRpbmdzKCdtYXhOb2RlU2l6ZScpID09PSBzZXR0aW5ncygnbWluTm9kZVNpemUnKSkgewotICAgICAgYSA9IDA7Ci0gICAgICBiID0gK3NldHRpbmdzKCdtYXhOb2RlU2l6ZScpOwotICAgIH0gZWxzZSB7Ci0gICAgICBhID0gKHNldHRpbmdzKCdtYXhOb2RlU2l6ZScpIC0gc2V0dGluZ3MoJ21pbk5vZGVTaXplJykpIC8gc2l6ZU1heDsKLSAgICAgIGIgPSArc2V0dGluZ3MoJ21pbk5vZGVTaXplJyk7Ci0gICAgfQotCi0gICAgaWYgKCFzZXR0aW5ncygnbWF4RWRnZVNpemUnKSAmJiAhc2V0dGluZ3MoJ21pbkVkZ2VTaXplJykpIHsKLSAgICAgIGMgPSAxOwotICAgICAgZCA9IDA7Ci0gICAgfSBlbHNlIGlmIChzZXR0aW5ncygnbWF4RWRnZVNpemUnKSA9PT0gc2V0dGluZ3MoJ21pbkVkZ2VTaXplJykpIHsKLSAgICAgIGMgPSAwOwotICAgICAgZCA9ICtzZXR0aW5ncygnbWluRWRnZVNpemUnKTsKLSAgICB9IGVsc2UgewotICAgICAgYyA9IChzZXR0aW5ncygnbWF4RWRnZVNpemUnKSAtIHNldHRpbmdzKCdtaW5FZGdlU2l6ZScpKSAvIHdlaWdodE1heDsKLSAgICAgIGQgPSArc2V0dGluZ3MoJ21pbkVkZ2VTaXplJyk7Ci0gICAgfQotCi0gICAgLy8gUmVzY2FsZSB0aGUgbm9kZXMgYW5kIGVkZ2VzOgotICAgIGZvciAoaSA9IDAsIGwgPSBlLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgIGVbaV1bd3JpdGVQcmVmaXggKyAnc2l6ZSddID0KLSAgICAgICAgZVtpXVtyZWFkUHJlZml4ICsgJ3NpemUnXSAqIChlcyA/IGMgOiAxKSArIChlcyA/IGQgOiAwKTsKLQotICAgIGZvciAoaSA9IDAsIGwgPSBuLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgbltpXVt3cml0ZVByZWZpeCArICdzaXplJ10gPQotICAgICAgICBuW2ldW3JlYWRQcmVmaXggKyAnc2l6ZSddICogKG5zID8gYSA6IDEpICsgKG5zID8gYiA6IDApOwotICAgICAgbltpXVt3cml0ZVByZWZpeCArICd4J10gPQotICAgICAgICAobltpXVtyZWFkUHJlZml4ICsgJ3gnXSAtIChtYXhYICsgbWluWCkgLyAyKSAqIChucCA/IHNjYWxlIDogMSk7Ci0gICAgICBuW2ldW3dyaXRlUHJlZml4ICsgJ3knXSA9Ci0gICAgICAgIChuW2ldW3JlYWRQcmVmaXggKyAneSddIC0gKG1heFkgKyBtaW5ZKSAvIDIpICogKG5wID8gc2NhbGUgOiAxKTsKLSAgICB9Ci0gIH07Ci0KLSAgc2lnbWEudXRpbHMuZ2V0Qm91bmRhcmllcyA9IGZ1bmN0aW9uKGdyYXBoLCBwcmVmaXgsIGRvRWRnZXMpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgZSA9IGdyYXBoLmVkZ2VzKCksCi0gICAgICAgIG4gPSBncmFwaC5ub2RlcygpLAotICAgICAgICB3ZWlnaHRNYXggPSAtSW5maW5pdHksCi0gICAgICAgIHNpemVNYXggPSAtSW5maW5pdHksCi0gICAgICAgIG1pblggPSBJbmZpbml0eSwKLSAgICAgICAgbWluWSA9IEluZmluaXR5LAotICAgICAgICBtYXhYID0gLUluZmluaXR5LAotICAgICAgICBtYXhZID0gLUluZmluaXR5OwotCi0gICAgaWYgKGRvRWRnZXMpCi0gICAgICBmb3IgKGkgPSAwLCBsID0gZS5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgIHdlaWdodE1heCA9IE1hdGgubWF4KGVbaV1bcHJlZml4ICsgJ3NpemUnXSwgd2VpZ2h0TWF4KTsKLQotICAgIGZvciAoaSA9IDAsIGwgPSBuLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgc2l6ZU1heCA9IE1hdGgubWF4KG5baV1bcHJlZml4ICsgJ3NpemUnXSwgc2l6ZU1heCk7Ci0gICAgICBtYXhYID0gTWF0aC5tYXgobltpXVtwcmVmaXggKyAneCddLCBtYXhYKTsKLSAgICAgIG1pblggPSBNYXRoLm1pbihuW2ldW3ByZWZpeCArICd4J10sIG1pblgpOwotICAgICAgbWF4WSA9IE1hdGgubWF4KG5baV1bcHJlZml4ICsgJ3knXSwgbWF4WSk7Ci0gICAgICBtaW5ZID0gTWF0aC5taW4obltpXVtwcmVmaXggKyAneSddLCBtaW5ZKTsKLSAgICB9Ci0KLSAgICB3ZWlnaHRNYXggPSB3ZWlnaHRNYXggfHwgMTsKLSAgICBzaXplTWF4ID0gc2l6ZU1heCB8fCAxOwotCi0gICAgcmV0dXJuIHsKLSAgICAgIHdlaWdodE1heDogd2VpZ2h0TWF4LAotICAgICAgc2l6ZU1heDogc2l6ZU1heCwKLSAgICAgIG1pblg6IG1pblgsCi0gICAgICBtaW5ZOiBtaW5ZLAotICAgICAgbWF4WDogbWF4WCwKLSAgICAgIG1heFk6IG1heFkKLSAgICB9OwotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEubWlkZGxld2FyZXMnKTsKLQotICAvKioKLSAgICogVGhpcyBtaWRkbGV3YXJlIHdpbGwganVzdCBjb3B5IHRoZSBncmFwaGljIHByb3BlcnRpZXMuCi0gICAqCi0gICAqIEBwYXJhbSB7P3N0cmluZ30gcmVhZFByZWZpeCAgVGhlIHJlYWQgcHJlZml4LgotICAgKiBAcGFyYW0gez9zdHJpbmd9IHdyaXRlUHJlZml4IFRoZSB3cml0ZSBwcmVmaXguCi0gICAqLwotICBzaWdtYS5taWRkbGV3YXJlcy5jb3B5ID0gZnVuY3Rpb24ocmVhZFByZWZpeCwgd3JpdGVQcmVmaXgpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgYTsKLQotICAgIGlmICh3cml0ZVByZWZpeCArICcnID09PSByZWFkUHJlZml4ICsgJycpCi0gICAgICByZXR1cm47Ci0KLSAgICBhID0gdGhpcy5ncmFwaC5ub2RlcygpOwotICAgIGZvciAoaSA9IDAsIGwgPSBhLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgYVtpXVt3cml0ZVByZWZpeCArICd4J10gPSBhW2ldW3JlYWRQcmVmaXggKyAneCddOwotICAgICAgYVtpXVt3cml0ZVByZWZpeCArICd5J10gPSBhW2ldW3JlYWRQcmVmaXggKyAneSddOwotICAgICAgYVtpXVt3cml0ZVByZWZpeCArICdzaXplJ10gPSBhW2ldW3JlYWRQcmVmaXggKyAnc2l6ZSddOwotICAgIH0KLQotICAgIGEgPSB0aGlzLmdyYXBoLmVkZ2VzKCk7Ci0gICAgZm9yIChpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgYVtpXVt3cml0ZVByZWZpeCArICdzaXplJ10gPSBhW2ldW3JlYWRQcmVmaXggKyAnc2l6ZSddOwotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEubWlzYy5hbmltYXRpb24ucnVubmluZycpOwotCi0gIC8qKgotICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgSUQgZm9yIHRoZSBhbmltYXRpb24uCi0gICAqCi0gICAqIEByZXR1cm4ge3N0cmluZ30gUmV0dXJucyB0aGUgbmV3IElELgotICAgKi8KLSAgdmFyIF9nZXRJRCA9IChmdW5jdGlvbigpIHsKLSAgICB2YXIgaWQgPSAwOwotICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgIHJldHVybiAnJyArICgrK2lkKTsKLSAgICB9OwotICB9KSgpOwotCi0gIC8qKgotICAgKiBUaGlzIGZ1bmN0aW9uIGFuaW1hdGVzIGEgY2FtZXJhLiBJdCBoYXMgdG8gYmUgY2FsbGVkIHdpdGggdGhlIGNhbWVyYSB0bwotICAgKiBhbmltYXRlLCB0aGUgdmFsdWVzIG9mIHRoZSBjb29yZGluYXRlcyB0byByZWFjaCBhbmQgZXZlbnR1YWxseSBzb21lCi0gICAqIG9wdGlvbnMuIEl0IHJldHVybnMgYSBudW1iZXIgaWQsIHRoYXQgeW91IGNhbiB1c2UgdG8ga2lsbCB0aGUgYW5pbWF0aW9uLAotICAgKiB3aXRoIHRoZSBtZXRob2Qgc2lnbWEubWlzYy5hbmltYXRpb24ua2lsbChpZCkuCi0gICAqCi0gICAqIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBhcmU6Ci0gICAqCi0gICAqICAgez9udW1iZXJ9ICAgICAgICAgICAgZHVyYXRpb24gICBUaGUgZHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvbi4KLSAgICogICB7P2Z1bmN0aW9ufSAgICAgICAgICBvbk5ld0ZyYW1lIEEgY2FsbGJhY2sgdG8gZXhlY3V0ZSB3aGVuIHRoZSBhbmltYXRpb24KLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGVyIGEgbmV3IGZyYW1lLgotICAgKiAgIHs/ZnVuY3Rpb259ICAgICAgICAgIG9uQ29tcGxldGUgQSBjYWxsYmFjayB0byBleGVjdXRlIHdoZW4gdGhlIGFuaW1hdGlvbgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgY29tcGxldGVkIG9yIGtpbGxlZC4KLSAgICogICB7PyhzdHJpbmd8ZnVuY3Rpb24pfSBlYXNpbmcgICAgIFRoZSBuYW1lIG9mIGEgZnVuY3Rpb24gZnJvbSB0aGUgcGFja2FnZQotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbWEudXRpbHMuZWFzaW5ncywgb3IgYSBjdXN0b20gZWFzaW5nCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi4KLSAgICoKLSAgICogQHBhcmFtICB7Y2FtZXJhfSAgY2FtZXJhICBUaGUgY2FtZXJhIHRvIGFuaW1hdGUuCi0gICAqIEBwYXJhbSAge29iamVjdH0gIHRhcmdldCAgVGhlIGNvb3JkaW5hdGVzIHRvIHJlYWNoLgotICAgKiBAcGFyYW0gIHs/b2JqZWN0fSBvcHRpb25zIEV2ZW50dWFsbHkgYW4gb2JqZWN0IHRvIHNwZWNpZnkgc29tZSBvcHRpb25zIHRvCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZ1bmN0aW9uLiBUaGUgYXZhaWxhYmxlIG9wdGlvbnMgYXJlCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VudGVkIGluIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZnVuY3Rpb24uCi0gICAqIEByZXR1cm4ge251bWJlcn0gICAgICAgICAgVGhlIGFuaW1hdGlvbiBpZCwgdG8gbWFrZSBpdCBlYXN5IHRvIGtpbGwKLSAgICogICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoIHRoZSBtZXRob2QgInNpZ21hLm1pc2MuYW5pbWF0aW9uLmtpbGwiLgotICAgKi8KLSAgc2lnbWEubWlzYy5hbmltYXRpb24uY2FtZXJhID0gZnVuY3Rpb24oY2FtZXJhLCB2YWwsIG9wdGlvbnMpIHsKLSAgICBpZiAoCi0gICAgICAhKGNhbWVyYSBpbnN0YW5jZW9mIHNpZ21hLmNsYXNzZXMuY2FtZXJhKSB8fAotICAgICAgdHlwZW9mIHZhbCAhPT0gJ29iamVjdCcgfHwKLSAgICAgICF2YWwKLSAgICApCi0gICAgICB0aHJvdyAnYW5pbWF0aW9uLmNhbWVyYTogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICBpZiAoCi0gICAgICB0eXBlb2YgdmFsLnggIT09ICdudW1iZXInICYmCi0gICAgICB0eXBlb2YgdmFsLnkgIT09ICdudW1iZXInICYmCi0gICAgICB0eXBlb2YgdmFsLnJhdGlvICE9PSAnbnVtYmVyJyAmJgotICAgICAgdHlwZW9mIHZhbC5hbmdsZSAhPT0gJ251bWJlcicKLSAgICApCi0gICAgICB0aHJvdyAnVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCBvbmUgdmFsaWQgY29vcmRpbmF0ZSBpbiB0aGUgZ2l2ZW4gdmFsLic7Ci0KLSAgICB2YXIgZm4sCi0gICAgICAgIGlkLAotICAgICAgICBhbmltLAotICAgICAgICBlYXNpbmcsCi0gICAgICAgIGR1cmF0aW9uLAotICAgICAgICBpbml0aWFsVmFsLAotICAgICAgICBvID0gb3B0aW9ucyB8fCB7fSwKLSAgICAgICAgc3RhcnQgPSBzaWdtYS51dGlscy5kYXRlTm93KCk7Ci0KLSAgICAvLyBTdG9yZSBpbml0aWFsIHZhbHVlczoKLSAgICBpbml0aWFsVmFsID0gewotICAgICAgeDogY2FtZXJhLngsCi0gICAgICB5OiBjYW1lcmEueSwKLSAgICAgIHJhdGlvOiBjYW1lcmEucmF0aW8sCi0gICAgICBhbmdsZTogY2FtZXJhLmFuZ2xlCi0gICAgfTsKLQotICAgIGR1cmF0aW9uID0gby5kdXJhdGlvbjsKLSAgICBlYXNpbmcgPSB0eXBlb2Ygby5lYXNpbmcgIT09ICdmdW5jdGlvbicgPwotICAgICAgc2lnbWEudXRpbHMuZWFzaW5nc1tvLmVhc2luZyB8fCAncXVhZHJhdGljSW5PdXQnXSA6Ci0gICAgICBvLmVhc2luZzsKLQotICAgIGZuID0gZnVuY3Rpb24oKSB7Ci0gICAgICB2YXIgY29lZiwKLSAgICAgICAgICB0ID0gby5kdXJhdGlvbiA/IChzaWdtYS51dGlscy5kYXRlTm93KCkgLSBzdGFydCkgLyBvLmR1cmF0aW9uIDogMTsKLQotICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBpcyBvdmVyOgotICAgICAgaWYgKHQgPj0gMSkgewotICAgICAgICBjYW1lcmEuaXNBbmltYXRlZCA9IGZhbHNlOwotICAgICAgICBjYW1lcmEuZ29Ubyh7Ci0gICAgICAgICAgeDogdmFsLnggIT09IHVuZGVmaW5lZCA/IHZhbC54IDogaW5pdGlhbFZhbC54LAotICAgICAgICAgIHk6IHZhbC55ICE9PSB1bmRlZmluZWQgPyB2YWwueSA6IGluaXRpYWxWYWwueSwKLSAgICAgICAgICByYXRpbzogdmFsLnJhdGlvICE9PSB1bmRlZmluZWQgPyB2YWwucmF0aW8gOiBpbml0aWFsVmFsLnJhdGlvLAotICAgICAgICAgIGFuZ2xlOiB2YWwuYW5nbGUgIT09IHVuZGVmaW5lZCA/IHZhbC5hbmdsZSA6IGluaXRpYWxWYWwuYW5nbGUKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUoaWQpOwotICAgICAgICBkZWxldGUgc2lnbWEubWlzYy5hbmltYXRpb24ucnVubmluZ1tpZF07Ci0KLSAgICAgICAgLy8gQ2hlY2sgY2FsbGJhY2tzOgotICAgICAgICBpZiAodHlwZW9mIG8ub25Db21wbGV0ZSA9PT0gJ2Z1bmN0aW9uJykKLSAgICAgICAgICBvLm9uQ29tcGxldGUoKTsKLQotICAgICAgLy8gRWxzZSwgbGV0J3Mga2VlcCBnb2luZzoKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGNvZWYgPSBlYXNpbmcodCk7Ci0gICAgICAgIGNhbWVyYS5pc0FuaW1hdGVkID0gdHJ1ZTsKLSAgICAgICAgY2FtZXJhLmdvVG8oewotICAgICAgICAgIHg6IHZhbC54ICE9PSB1bmRlZmluZWQgPwotICAgICAgICAgICAgaW5pdGlhbFZhbC54ICsgKHZhbC54IC0gaW5pdGlhbFZhbC54KSAqIGNvZWYgOgotICAgICAgICAgICAgaW5pdGlhbFZhbC54LAotICAgICAgICAgIHk6IHZhbC55ICE9PSB1bmRlZmluZWQgPwotICAgICAgICAgICAgaW5pdGlhbFZhbC55ICsgKHZhbC55IC0gaW5pdGlhbFZhbC55KSAqIGNvZWYgOgotICAgICAgICAgICAgaW5pdGlhbFZhbC55LAotICAgICAgICAgIHJhdGlvOiB2YWwucmF0aW8gIT09IHVuZGVmaW5lZCA/Ci0gICAgICAgICAgICBpbml0aWFsVmFsLnJhdGlvICsgKHZhbC5yYXRpbyAtIGluaXRpYWxWYWwucmF0aW8pICogY29lZiA6Ci0gICAgICAgICAgICBpbml0aWFsVmFsLnJhdGlvLAotICAgICAgICAgIGFuZ2xlOiB2YWwuYW5nbGUgIT09IHVuZGVmaW5lZCA/Ci0gICAgICAgICAgICBpbml0aWFsVmFsLmFuZ2xlICsgKHZhbC5hbmdsZSAtIGluaXRpYWxWYWwuYW5nbGUpICogY29lZiA6Ci0gICAgICAgICAgICBpbml0aWFsVmFsLmFuZ2xlCi0gICAgICAgIH0pOwotCi0gICAgICAgIC8vIENoZWNrIGNhbGxiYWNrczoKLSAgICAgICAgaWYgKHR5cGVvZiBvLm9uTmV3RnJhbWUgPT09ICdmdW5jdGlvbicpCi0gICAgICAgICAgby5vbk5ld0ZyYW1lKCk7Ci0KLSAgICAgICAgYW5pbS5mcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZuKTsKLSAgICAgIH0KLSAgICB9OwotCi0gICAgaWQgPSBfZ2V0SUQoKTsKLSAgICBhbmltID0gewotICAgICAgZnJhbWVJZDogcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZuKSwKLSAgICAgIHRhcmdldDogY2FtZXJhLAotICAgICAgdHlwZTogJ2NhbWVyYScsCi0gICAgICBvcHRpb25zOiBvLAotICAgICAgZm46IGZuCi0gICAgfTsKLSAgICBzaWdtYS5taXNjLmFuaW1hdGlvbi5ydW5uaW5nW2lkXSA9IGFuaW07Ci0KLSAgICByZXR1cm4gaWQ7Ci0gIH07Ci0KLSAgLyoqCi0gICAqIEtpbGxzIGEgcnVubmluZyBhbmltYXRpb24uIEl0IHRyaWdnZXJzIHRoZSBldmVudHVhbCBvbkNvbXBsZXRlIGNhbGxiYWNrLgotICAgKgotICAgKiBAcGFyYW0gIHtudW1iZXJ9IGlkICBUaGUgaWQgb2YgdGhlIGFuaW1hdGlvbiB0byBraWxsLgotICAgKiBAcmV0dXJuIHtvYmplY3R9ICAgICBSZXR1cm5zIHRoZSBzaWdtYS5taXNjLmFuaW1hdGlvbiBwYWNrYWdlLgotICAgKi8KLSAgc2lnbWEubWlzYy5hbmltYXRpb24ua2lsbCA9IGZ1bmN0aW9uKGlkKSB7Ci0gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IDEgfHwgdHlwZW9mIGlkICE9PSAnbnVtYmVyJykKLSAgICAgIHRocm93ICdhbmltYXRpb24ua2lsbDogV3JvbmcgYXJndW1lbnRzLic7Ci0KLSAgICB2YXIgbyA9IHNpZ21hLm1pc2MuYW5pbWF0aW9uLnJ1bm5pbmdbaWRdOwotCi0gICAgaWYgKG8pIHsKLSAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkKTsKLSAgICAgIGRlbGV0ZSBzaWdtYS5taXNjLmFuaW1hdGlvbi5ydW5uaW5nW28uZnJhbWVJZF07Ci0KLSAgICAgIGlmIChvLnR5cGUgPT09ICdjYW1lcmEnKQotICAgICAgICBvLnRhcmdldC5pc0FuaW1hdGVkID0gZmFsc2U7Ci0KLSAgICAgIC8vIENoZWNrIGNhbGxiYWNrczoKLSAgICAgIGlmICh0eXBlb2YgKG8ub3B0aW9ucyB8fCB7fSkub25Db21wbGV0ZSA9PT0gJ2Z1bmN0aW9uJykKLSAgICAgICAgby5vcHRpb25zLm9uQ29tcGxldGUoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdGhpczsKLSAgfTsKLQotICAvKioKLSAgICogS2lsbHMgZXZlcnkgcnVubmluZyBhbmltYXRpb25zLCBvciBvbmx5IHRoZSBvbmUgd2l0aCB0aGUgc3BlY2lmaWVkIHR5cGUsCi0gICAqIGlmIGEgc3RyaW5nIHBhcmFtZXRlciBpcyBnaXZlbi4KLSAgICoKLSAgICogQHBhcmFtICB7PyhzdHJpbmd8b2JqZWN0KX0gZmlsdGVyIEEgc3RyaW5nIHRvIGZpbHRlciB0aGUgYW5pbWF0aW9ucyB0byBraWxsCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGVpciB0eXBlIChleGFtcGxlOiAiY2FtZXJhIiksIG9yIGFuCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QgdG8gZmlsdGVyIG9uIHRoZWlyIHRhcmdldC4KLSAgICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgICAgICAgICAgIFJldHVybnMgdGhlIG51bWJlciBvZiBhbmltYXRpb25zIGtpbGxlZAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCB3YXkuCi0gICAqLwotICBzaWdtYS5taXNjLmFuaW1hdGlvbi5raWxsQWxsID0gZnVuY3Rpb24oZmlsdGVyKSB7Ci0gICAgdmFyIG8sCi0gICAgICAgIGlkLAotICAgICAgICBjb3VudCA9IDAsCi0gICAgICAgIHR5cGUgPSB0eXBlb2YgZmlsdGVyID09PSAnc3RyaW5nJyA/IGZpbHRlciA6IG51bGwsCi0gICAgICAgIHRhcmdldCA9IHR5cGVvZiBmaWx0ZXIgPT09ICdvYmplY3QnID8gZmlsdGVyIDogbnVsbCwKLSAgICAgICAgcnVubmluZyA9IHNpZ21hLm1pc2MuYW5pbWF0aW9uLnJ1bm5pbmc7Ci0KLSAgICBmb3IgKGlkIGluIHJ1bm5pbmcpCi0gICAgICBpZiAoCi0gICAgICAgICghdHlwZSB8fCBydW5uaW5nW2lkXS50eXBlID09PSB0eXBlKSAmJgotICAgICAgICAoIXRhcmdldCB8fCBydW5uaW5nW2lkXS50YXJnZXQgPT09IHRhcmdldCkKLSAgICAgICkgewotICAgICAgICBvID0gc2lnbWEubWlzYy5hbmltYXRpb24ucnVubmluZ1tpZF07Ci0gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKG8uZnJhbWVJZCk7Ci0gICAgICAgIGRlbGV0ZSBzaWdtYS5taXNjLmFuaW1hdGlvbi5ydW5uaW5nW2lkXTsKLQotICAgICAgICBpZiAoby50eXBlID09PSAnY2FtZXJhJykKLSAgICAgICAgICBvLnRhcmdldC5pc0FuaW1hdGVkID0gZmFsc2U7Ci0KLSAgICAgICAgLy8gSW5jcmVtZW50IGNvdW50ZXI6Ci0gICAgICAgIGNvdW50Kys7Ci0KLSAgICAgICAgLy8gQ2hlY2sgY2FsbGJhY2tzOgotICAgICAgICBpZiAodHlwZW9mIChvLm9wdGlvbnMgfHwge30pLm9uQ29tcGxldGUgPT09ICdmdW5jdGlvbicpCi0gICAgICAgICAgby5vcHRpb25zLm9uQ29tcGxldGUoKTsKLSAgICAgIH0KLQotICAgIHJldHVybiBjb3VudDsKLSAgfTsKLQotICAvKioKLSAgICogUmV0dXJucyAidHJ1ZSIgaWYgYW55IGFuaW1hdGlvbiB0aGF0IGlzIGN1cnJlbnRseSBzdGlsbCBydW5uaW5nIG1hdGNoZXMKLSAgICogdGhlIGZpbHRlciBnaXZlbiB0byB0aGUgZnVuY3Rpb24uCi0gICAqCi0gICAqIEBwYXJhbSAge3N0cmluZ3xvYmplY3R9IGZpbHRlciBBIHN0cmluZyB0byBmaWx0ZXIgdGhlIGFuaW1hdGlvbnMgdG8ga2lsbAotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gdGhlaXIgdHlwZSAoZXhhbXBsZTogImNhbWVyYSIpLCBvciBhbgotICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0IHRvIGZpbHRlciBvbiB0aGVpciB0YXJnZXQuCi0gICAqIEByZXR1cm4ge2Jvb2xlYW59ICAgICAgICAgICAgICBSZXR1cm5zIHRydWUgaWYgYW55IHJ1bm5pbmcgYW5pbWF0aW9uCi0gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVzLgotICAgKi8KLSAgc2lnbWEubWlzYy5hbmltYXRpb24uaGFzID0gZnVuY3Rpb24oZmlsdGVyKSB7Ci0gICAgdmFyIGlkLAotICAgICAgICB0eXBlID0gdHlwZW9mIGZpbHRlciA9PT0gJ3N0cmluZycgPyBmaWx0ZXIgOiBudWxsLAotICAgICAgICB0YXJnZXQgPSB0eXBlb2YgZmlsdGVyID09PSAnb2JqZWN0JyA/IGZpbHRlciA6IG51bGwsCi0gICAgICAgIHJ1bm5pbmcgPSBzaWdtYS5taXNjLmFuaW1hdGlvbi5ydW5uaW5nOwotCi0gICAgZm9yIChpZCBpbiBydW5uaW5nKQotICAgICAgaWYgKAotICAgICAgICAoIXR5cGUgfHwgcnVubmluZ1tpZF0udHlwZSA9PT0gdHlwZSkgJiYKLSAgICAgICAgKCF0YXJnZXQgfHwgcnVubmluZ1tpZF0udGFyZ2V0ID09PSB0YXJnZXQpCi0gICAgICApCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJuIGZhbHNlOwotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEubWlzYycpOwotCi0gIC8qKgotICAgKiBUaGlzIGhlbHBlciB3aWxsIGJpbmQgYW55IG5vLURPTSByZW5kZXJlciAoZm9yIGluc3RhbmNlIGNhbnZhcyBvciBXZWJHTCkKLSAgICogdG8gaXRzIGNhcHRvcnMsIHRvIHByb3Blcmx5IGRpc3BhdGNoIHRoZSBnb29kIGV2ZW50cyB0byB0aGUgc2lnbWEgaW5zdGFuY2UKLSAgICogdG8gbWFuYWdlIGNsaWNraW5nLCBob3ZlcmluZyBldGMuLi4KLSAgICoKLSAgICogSXQgaGFzIHRvIGJlIGNhbGxlZCBpbiB0aGUgc2NvcGUgb2YgdGhlIHJlbGF0ZWQgcmVuZGVyZXIuCi0gICAqLwotICBzaWdtYS5taXNjLmJpbmRFdmVudHMgPSBmdW5jdGlvbihwcmVmaXgpIHsKLSAgICB2YXIgaSwKLSAgICAgICAgbCwKLSAgICAgICAgbVgsCi0gICAgICAgIG1ZLAotICAgICAgICBjYXB0b3IsCi0gICAgICAgIHNlbGYgPSB0aGlzOwotCi0gICAgZnVuY3Rpb24gZ2V0Tm9kZXMoZSkgewotICAgICAgaWYgKGUpIHsKLSAgICAgICAgbVggPSAneCcgaW4gZS5kYXRhID8gZS5kYXRhLnggOiBtWDsKLSAgICAgICAgbVkgPSAneScgaW4gZS5kYXRhID8gZS5kYXRhLnkgOiBtWTsKLSAgICAgIH0KLQotICAgICAgdmFyIGksCi0gICAgICAgICAgaiwKLSAgICAgICAgICBsLAotICAgICAgICAgIG4sCi0gICAgICAgICAgeCwKLSAgICAgICAgICB5LAotICAgICAgICAgIHMsCi0gICAgICAgICAgaW5zZXJ0ZWQsCi0gICAgICAgICAgc2VsZWN0ZWQgPSBbXSwKLSAgICAgICAgICBtb2RpZmllZFggPSBtWCArIHNlbGYud2lkdGggLyAyLAotICAgICAgICAgIG1vZGlmaWVkWSA9IG1ZICsgc2VsZi5oZWlnaHQgLyAyLAotICAgICAgICAgIHBvaW50ID0gc2VsZi5jYW1lcmEuY2FtZXJhUG9zaXRpb24oCi0gICAgICAgICAgICBtWCwKLSAgICAgICAgICAgIG1ZCi0gICAgICAgICAgKSwKLSAgICAgICAgICBub2RlcyA9IHNlbGYuY2FtZXJhLnF1YWR0cmVlLnBvaW50KAotICAgICAgICAgICAgcG9pbnQueCwKLSAgICAgICAgICAgIHBvaW50LnkKLSAgICAgICAgICApOwotCi0gICAgICBpZiAobm9kZXMubGVuZ3RoKQotICAgICAgICBmb3IgKGkgPSAwLCBsID0gbm9kZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7Ci0gICAgICAgICAgbiA9IG5vZGVzW2ldOwotICAgICAgICAgIHggPSBuW3ByZWZpeCArICd4J107Ci0gICAgICAgICAgeSA9IG5bcHJlZml4ICsgJ3knXTsKLSAgICAgICAgICBzID0gbltwcmVmaXggKyAnc2l6ZSddOwotCi0gICAgICAgICAgaWYgKAotICAgICAgICAgICAgIW4uaGlkZGVuICYmCi0gICAgICAgICAgICBtb2RpZmllZFggPiB4IC0gcyAmJgotICAgICAgICAgICAgbW9kaWZpZWRYIDwgeCArIHMgJiYKLSAgICAgICAgICAgIG1vZGlmaWVkWSA+IHkgLSBzICYmCi0gICAgICAgICAgICBtb2RpZmllZFkgPCB5ICsgcyAmJgotICAgICAgICAgICAgTWF0aC5zcXJ0KAotICAgICAgICAgICAgICBNYXRoLnBvdyhtb2RpZmllZFggLSB4LCAyKSArCi0gICAgICAgICAgICAgIE1hdGgucG93KG1vZGlmaWVkWSAtIHksIDIpCi0gICAgICAgICAgICApIDwgcwotICAgICAgICAgICkgewotICAgICAgICAgICAgLy8gSW5zZXJ0IHRoZSBub2RlOgotICAgICAgICAgICAgaW5zZXJ0ZWQgPSBmYWxzZTsKLQotICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHNlbGVjdGVkLmxlbmd0aDsgaisrKQotICAgICAgICAgICAgICBpZiAobi5zaXplID4gc2VsZWN0ZWRbal0uc2l6ZSkgewotICAgICAgICAgICAgICAgIHNlbGVjdGVkLnNwbGljZShqLCAwLCBuKTsKLSAgICAgICAgICAgICAgICBpbnNlcnRlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCFpbnNlcnRlZCkKLSAgICAgICAgICAgICAgc2VsZWN0ZWQucHVzaChuKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgcmV0dXJuIHNlbGVjdGVkOwotICAgIH0KLQotCi0gICAgZnVuY3Rpb24gZ2V0RWRnZXMoZSkgewotICAgICAgaWYgKCFzZWxmLnNldHRpbmdzKCdlbmFibGVFZGdlSG92ZXJpbmcnKSkgewotICAgICAgICAvLyBObyBldmVudCBpZiB0aGUgc2V0dGluZyBpcyBvZmY6Ci0gICAgICAgIHJldHVybiBbXTsKLSAgICAgIH0KLQotICAgICAgdmFyIGlzQ2FudmFzID0gKAotICAgICAgICBzaWdtYS5yZW5kZXJlcnMuY2FudmFzICYmIHNlbGYgaW5zdGFuY2VvZiBzaWdtYS5yZW5kZXJlcnMuY2FudmFzKTsKLQotICAgICAgaWYgKCFpc0NhbnZhcykgewotICAgICAgICAvLyBBIHF1aWNrIGhhcmRjb2RlZCBydWxlIHRvIHByZXZlbnQgcGVvcGxlIGZyb20gdXNpbmcgdGhpcyBmZWF0dXJlCi0gICAgICAgIC8vIHdpdGggdGhlIFdlYkdMIHJlbmRlcmVyICh3aGljaCBpcyBub3QgZ29vZCBlbm91Z2ggYXQgdGhlIG1vbWVudCk6Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigKLSAgICAgICAgICAnVGhlIGVkZ2UgZXZlbnRzIGZlYXR1cmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgV2ViR0wgcmVuZGVyZXInCi0gICAgICAgICk7Ci0gICAgICB9Ci0KLSAgICAgIGlmIChlKSB7Ci0gICAgICAgIG1YID0gJ3gnIGluIGUuZGF0YSA/IGUuZGF0YS54IDogbVg7Ci0gICAgICAgIG1ZID0gJ3knIGluIGUuZGF0YSA/IGUuZGF0YS55IDogbVk7Ci0gICAgICB9Ci0KLSAgICAgIHZhciBpLAotICAgICAgICAgIGosCi0gICAgICAgICAgbCwKLSAgICAgICAgICBhLAotICAgICAgICAgIGVkZ2UsCi0gICAgICAgICAgcywKLSAgICAgICAgICBtYXhFcHNpbG9uID0gc2VsZi5zZXR0aW5ncygnZWRnZUhvdmVyUHJlY2lzaW9uJyksCi0gICAgICAgICAgc291cmNlLAotICAgICAgICAgIHRhcmdldCwKLSAgICAgICAgICBjcCwKLSAgICAgICAgICBub2RlSW5kZXggPSB7fSwKLSAgICAgICAgICBpbnNlcnRlZCwKLSAgICAgICAgICBzZWxlY3RlZCA9IFtdLAotICAgICAgICAgIG1vZGlmaWVkWCA9IG1YICsgc2VsZi53aWR0aCAvIDIsCi0gICAgICAgICAgbW9kaWZpZWRZID0gbVkgKyBzZWxmLmhlaWdodCAvIDIsCi0gICAgICAgICAgcG9pbnQgPSBzZWxmLmNhbWVyYS5jYW1lcmFQb3NpdGlvbigKLSAgICAgICAgICAgIG1YLAotICAgICAgICAgICAgbVkKLSAgICAgICAgICApLAotICAgICAgICAgIGVkZ2VzID0gW107Ci0KLSAgICAgIGlmIChpc0NhbnZhcykgewotICAgICAgICB2YXIgbm9kZXNPblNjcmVlbiA9IHNlbGYuY2FtZXJhLnF1YWR0cmVlLmFyZWEoCi0gICAgICAgICAgc2VsZi5jYW1lcmEuZ2V0UmVjdGFuZ2xlKHNlbGYud2lkdGgsIHNlbGYuaGVpZ2h0KQotICAgICAgICApOwotICAgICAgICBmb3IgKGEgPSBub2Rlc09uU2NyZWVuLCBpID0gMCwgbCA9IGEubGVuZ3RoOyBpIDwgbDsgaSsrKQotICAgICAgICAgIG5vZGVJbmRleFthW2ldLmlkXSA9IGFbaV07Ci0gICAgICB9Ci0KLSAgICAgIGlmIChzZWxmLmNhbWVyYS5lZGdlcXVhZHRyZWUgIT09IHVuZGVmaW5lZCkgewotICAgICAgICBlZGdlcyA9IHNlbGYuY2FtZXJhLmVkZ2VxdWFkdHJlZS5wb2ludCgKLSAgICAgICAgICBwb2ludC54LAotICAgICAgICAgIHBvaW50LnkKLSAgICAgICAgKTsKLSAgICAgIH0KLQotICAgICAgZnVuY3Rpb24gaW5zZXJ0RWRnZShzZWxlY3RlZCwgZWRnZSkgewotICAgICAgICBpbnNlcnRlZCA9IGZhbHNlOwotCi0gICAgICAgIGZvciAoaiA9IDA7IGogPCBzZWxlY3RlZC5sZW5ndGg7IGorKykKLSAgICAgICAgICBpZiAoZWRnZS5zaXplID4gc2VsZWN0ZWRbal0uc2l6ZSkgewotICAgICAgICAgICAgc2VsZWN0ZWQuc3BsaWNlKGosIDAsIGVkZ2UpOwotICAgICAgICAgICAgaW5zZXJ0ZWQgPSB0cnVlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQotCi0gICAgICAgIGlmICghaW5zZXJ0ZWQpCi0gICAgICAgICAgc2VsZWN0ZWQucHVzaChlZGdlKTsKLSAgICAgIH0KLQotICAgICAgaWYgKGVkZ2VzLmxlbmd0aCkKLSAgICAgICAgZm9yIChpID0gMCwgbCA9IGVkZ2VzLmxlbmd0aDsgaSA8IGw7IGkrKykgewotICAgICAgICAgIGVkZ2UgPSBlZGdlc1tpXTsKLSAgICAgICAgICBzb3VyY2UgPSBzZWxmLmdyYXBoLm5vZGVzKGVkZ2Uuc291cmNlKTsKLSAgICAgICAgICB0YXJnZXQgPSBzZWxmLmdyYXBoLm5vZGVzKGVkZ2UudGFyZ2V0KTsKLSAgICAgICAgICAvLyAoSEFDSykgd2UgY2FuJ3QgZ2V0IGVkZ2VbcHJlZml4ICsgJ3NpemUnXSBvbiBXZWJHTCByZW5kZXJlcjoKLSAgICAgICAgICBzID0gZWRnZVtwcmVmaXggKyAnc2l6ZSddIHx8Ci0gICAgICAgICAgICAgIGVkZ2VbJ3JlYWRfJyArIHByZWZpeCArICdzaXplJ107Ci0KLSAgICAgICAgICAvLyBGaXJzdCwgbGV0J3MgaWRlbnRpZnkgd2hpY2ggZWRnZXMgYXJlIGRyYXduLiBUbyBkbyB0aGlzLCB3ZSBrZWVwCi0gICAgICAgICAgLy8gZXZlcnkgZWRnZXMgdGhhdCBoYXZlIGF0IGxlYXN0IG9uZSBleHRyZW1pdHkgZGlzcGxheWVkIGFjY29yZGluZyB0bwotICAgICAgICAgIC8vIHRoZSBxdWFkdHJlZSBhbmQgdGhlICJoaWRkZW4iIGF0dHJpYnV0ZS4gV2UgYWxzbyBkbyBub3Qga2VlcCBoaWRkZW4KLSAgICAgICAgICAvLyBlZGdlcy4KLSAgICAgICAgICAvLyBUaGVuLCBsZXQncyBjaGVjayBpZiB0aGUgbW91c2UgaXMgb24gdGhlIGVkZ2UgKHdlIHN1cHBvc2UgdGhhdCBpdAotICAgICAgICAgIC8vIGlzIGEgbGluZSBzZWdtZW50KS4KLQotICAgICAgICAgIGlmICgKLSAgICAgICAgICAgICFlZGdlLmhpZGRlbiAmJgotICAgICAgICAgICAgIXNvdXJjZS5oaWRkZW4gJiYgIXRhcmdldC5oaWRkZW4gJiYKLSAgICAgICAgICAgICghaXNDYW52YXMgfHwKLSAgICAgICAgICAgICAgKG5vZGVJbmRleFtlZGdlLnNvdXJjZV0gfHwgbm9kZUluZGV4W2VkZ2UudGFyZ2V0XSkpICYmCi0gICAgICAgICAgICBzaWdtYS51dGlscy5nZXREaXN0YW5jZSgKLSAgICAgICAgICAgICAgc291cmNlW3ByZWZpeCArICd4J10sCi0gICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneSddLAotICAgICAgICAgICAgICBtb2RpZmllZFgsCi0gICAgICAgICAgICAgIG1vZGlmaWVkWSkgPiBzb3VyY2VbcHJlZml4ICsgJ3NpemUnXSAmJgotICAgICAgICAgICAgc2lnbWEudXRpbHMuZ2V0RGlzdGFuY2UoCi0gICAgICAgICAgICAgIHRhcmdldFtwcmVmaXggKyAneCddLAotICAgICAgICAgICAgICB0YXJnZXRbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgICAgICAgbW9kaWZpZWRYLAotICAgICAgICAgICAgICBtb2RpZmllZFkpID4gdGFyZ2V0W3ByZWZpeCArICdzaXplJ10KLSAgICAgICAgICApIHsKLSAgICAgICAgICAgIGlmIChlZGdlLnR5cGUgPT0gJ2N1cnZlJyB8fCBlZGdlLnR5cGUgPT0gJ2N1cnZlZEFycm93JykgewotICAgICAgICAgICAgICBpZiAoc291cmNlLmlkID09PSB0YXJnZXQuaWQpIHsKLSAgICAgICAgICAgICAgICBjcCA9IHNpZ21hLnV0aWxzLmdldFNlbGZMb29wQ29udHJvbFBvaW50cygKLSAgICAgICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneCddLAotICAgICAgICAgICAgICAgICAgc291cmNlW3ByZWZpeCArICd5J10sCi0gICAgICAgICAgICAgICAgICBzb3VyY2VbcHJlZml4ICsgJ3NpemUnXQotICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICAgICAgaWYgKAotICAgICAgICAgICAgICAgICAgc2lnbWEudXRpbHMuaXNQb2ludE9uQmV6aWVyQ3VydmUoCi0gICAgICAgICAgICAgICAgICBtb2RpZmllZFgsCi0gICAgICAgICAgICAgICAgICBtb2RpZmllZFksCi0gICAgICAgICAgICAgICAgICBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneSddLAotICAgICAgICAgICAgICAgICAgdGFyZ2V0W3ByZWZpeCArICd4J10sCi0gICAgICAgICAgICAgICAgICB0YXJnZXRbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgICAgICAgICAgIGNwLngxLAotICAgICAgICAgICAgICAgICAgY3AueTEsCi0gICAgICAgICAgICAgICAgICBjcC54MiwKLSAgICAgICAgICAgICAgICAgIGNwLnkyLAotICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocywgbWF4RXBzaWxvbikKLSAgICAgICAgICAgICAgICApKSB7Ci0gICAgICAgICAgICAgICAgICBpbnNlcnRFZGdlKHNlbGVjdGVkLCBlZGdlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgY3AgPSBzaWdtYS51dGlscy5nZXRRdWFkcmF0aWNDb250cm9sUG9pbnQoCi0gICAgICAgICAgICAgICAgICBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneSddLAotICAgICAgICAgICAgICAgICAgdGFyZ2V0W3ByZWZpeCArICd4J10sCi0gICAgICAgICAgICAgICAgICB0YXJnZXRbcHJlZml4ICsgJ3knXSk7Ci0gICAgICAgICAgICAgICAgaWYgKAotICAgICAgICAgICAgICAgICAgc2lnbWEudXRpbHMuaXNQb2ludE9uUXVhZHJhdGljQ3VydmUoCi0gICAgICAgICAgICAgICAgICBtb2RpZmllZFgsCi0gICAgICAgICAgICAgICAgICBtb2RpZmllZFksCi0gICAgICAgICAgICAgICAgICBzb3VyY2VbcHJlZml4ICsgJ3gnXSwKLSAgICAgICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneSddLAotICAgICAgICAgICAgICAgICAgdGFyZ2V0W3ByZWZpeCArICd4J10sCi0gICAgICAgICAgICAgICAgICB0YXJnZXRbcHJlZml4ICsgJ3knXSwKLSAgICAgICAgICAgICAgICAgIGNwLngsCi0gICAgICAgICAgICAgICAgICBjcC55LAotICAgICAgICAgICAgICAgICAgTWF0aC5tYXgocywgbWF4RXBzaWxvbikKLSAgICAgICAgICAgICAgICApKSB7Ci0gICAgICAgICAgICAgICAgICBpbnNlcnRFZGdlKHNlbGVjdGVkLCBlZGdlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAoCi0gICAgICAgICAgICAgICAgc2lnbWEudXRpbHMuaXNQb2ludE9uU2VnbWVudCgKLSAgICAgICAgICAgICAgICBtb2RpZmllZFgsCi0gICAgICAgICAgICAgICAgbW9kaWZpZWRZLAotICAgICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneCddLAotICAgICAgICAgICAgICAgIHNvdXJjZVtwcmVmaXggKyAneSddLAotICAgICAgICAgICAgICAgIHRhcmdldFtwcmVmaXggKyAneCddLAotICAgICAgICAgICAgICAgIHRhcmdldFtwcmVmaXggKyAneSddLAotICAgICAgICAgICAgICAgIE1hdGgubWF4KHMsIG1heEVwc2lsb24pCi0gICAgICAgICAgICAgICkpIHsKLSAgICAgICAgICAgICAgaW5zZXJ0RWRnZShzZWxlY3RlZCwgZWRnZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgIHJldHVybiBzZWxlY3RlZDsKLSAgICB9Ci0KLQotICAgIGZ1bmN0aW9uIGJpbmRDYXB0b3IoY2FwdG9yKSB7Ci0gICAgICB2YXIgbm9kZXMsCi0gICAgICAgICAgZWRnZXMsCi0gICAgICAgICAgb3Zlck5vZGVzID0ge30sCi0gICAgICAgICAgb3ZlckVkZ2VzID0ge307Ci0KLSAgICAgIGZ1bmN0aW9uIG9uQ2xpY2soZSkgewotICAgICAgICBpZiAoIXNlbGYuc2V0dGluZ3MoJ2V2ZW50c0VuYWJsZWQnKSkKLSAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdjbGljaycsIGUuZGF0YSk7Ci0KLSAgICAgICAgbm9kZXMgPSBnZXROb2RlcyhlKTsKLSAgICAgICAgZWRnZXMgPSBnZXRFZGdlcyhlKTsKLQotICAgICAgICBpZiAobm9kZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdjbGlja05vZGUnLCB7Ci0gICAgICAgICAgICBub2RlOiBub2Rlc1swXSwKLSAgICAgICAgICAgIGNhcHRvcjogZS5kYXRhCi0gICAgICAgICAgfSk7Ci0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdjbGlja05vZGVzJywgewotICAgICAgICAgICAgbm9kZTogbm9kZXMsCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgaWYgKGVkZ2VzLmxlbmd0aCkgewotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnY2xpY2tFZGdlJywgewotICAgICAgICAgICAgZWRnZTogZWRnZXNbMF0sCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnY2xpY2tFZGdlcycsIHsKLSAgICAgICAgICAgIGVkZ2U6IGVkZ2VzLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdjbGlja1N0YWdlJywge2NhcHRvcjogZS5kYXRhfSk7Ci0gICAgICB9Ci0KLSAgICAgIGZ1bmN0aW9uIG9uRG91YmxlQ2xpY2soZSkgewotICAgICAgICBpZiAoIXNlbGYuc2V0dGluZ3MoJ2V2ZW50c0VuYWJsZWQnKSkKLSAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVDbGljaycsIGUuZGF0YSk7Ci0KLSAgICAgICAgbm9kZXMgPSBnZXROb2RlcyhlKTsKLSAgICAgICAgZWRnZXMgPSBnZXRFZGdlcyhlKTsKLQotICAgICAgICBpZiAobm9kZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVDbGlja05vZGUnLCB7Ci0gICAgICAgICAgICBub2RlOiBub2Rlc1swXSwKLSAgICAgICAgICAgIGNhcHRvcjogZS5kYXRhCi0gICAgICAgICAgfSk7Ci0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVDbGlja05vZGVzJywgewotICAgICAgICAgICAgbm9kZTogbm9kZXMsCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICB9IGVsc2UgaWYgKGVkZ2VzLmxlbmd0aCkgewotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnZG91YmxlQ2xpY2tFZGdlJywgewotICAgICAgICAgICAgZWRnZTogZWRnZXNbMF0sCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnZG91YmxlQ2xpY2tFZGdlcycsIHsKLSAgICAgICAgICAgIGVkZ2U6IGVkZ2VzLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVDbGlja1N0YWdlJywge2NhcHRvcjogZS5kYXRhfSk7Ci0gICAgICB9Ci0KLSAgICAgIGZ1bmN0aW9uIG9uUmlnaHRDbGljayhlKSB7Ci0gICAgICAgIGlmICghc2VsZi5zZXR0aW5ncygnZXZlbnRzRW5hYmxlZCcpKQotICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ3JpZ2h0Q2xpY2snLCBlLmRhdGEpOwotCi0gICAgICAgIG5vZGVzID0gZ2V0Tm9kZXMoZSk7Ci0gICAgICAgIGVkZ2VzID0gZ2V0RWRnZXMoZSk7Ci0KLSAgICAgICAgaWYgKG5vZGVzLmxlbmd0aCkgewotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgncmlnaHRDbGlja05vZGUnLCB7Ci0gICAgICAgICAgICBub2RlOiBub2Rlc1swXSwKLSAgICAgICAgICAgIGNhcHRvcjogZS5kYXRhCi0gICAgICAgICAgfSk7Ci0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdyaWdodENsaWNrTm9kZXMnLCB7Ci0gICAgICAgICAgICBub2RlOiBub2RlcywKLSAgICAgICAgICAgIGNhcHRvcjogZS5kYXRhCi0gICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoZWRnZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdyaWdodENsaWNrRWRnZScsIHsKLSAgICAgICAgICAgIGVkZ2U6IGVkZ2VzWzBdLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ3JpZ2h0Q2xpY2tFZGdlcycsIHsKLSAgICAgICAgICAgIGVkZ2U6IGVkZ2VzLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdyaWdodENsaWNrU3RhZ2UnLCB7Y2FwdG9yOiBlLmRhdGF9KTsKLSAgICAgIH0KLQotICAgICAgZnVuY3Rpb24gb25PdXQoZSkgewotICAgICAgICBpZiAoIXNlbGYuc2V0dGluZ3MoJ2V2ZW50c0VuYWJsZWQnKSkKLSAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIGssCi0gICAgICAgICAgICBpLAotICAgICAgICAgICAgbCwKLSAgICAgICAgICAgIGxlLAotICAgICAgICAgICAgb3V0Tm9kZXMgPSBbXSwKLSAgICAgICAgICAgIG91dEVkZ2VzID0gW107Ci0KLSAgICAgICAgZm9yIChrIGluIG92ZXJOb2RlcykKLSAgICAgICAgICBvdXROb2Rlcy5wdXNoKG92ZXJOb2Rlc1trXSk7Ci0KLSAgICAgICAgb3Zlck5vZGVzID0ge307Ci0gICAgICAgIC8vIERpc3BhdGNoIGJvdGggc2luZ2xlIGFuZCBtdWx0aSBldmVudHM6Ci0gICAgICAgIGZvciAoaSA9IDAsIGwgPSBvdXROb2Rlcy5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdvdXROb2RlJywgewotICAgICAgICAgICAgbm9kZTogb3V0Tm9kZXNbaV0sCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICBpZiAob3V0Tm9kZXMubGVuZ3RoKQotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnb3V0Tm9kZXMnLCB7Ci0gICAgICAgICAgICBub2Rlczogb3V0Tm9kZXMsCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotCi0gICAgICAgIG92ZXJFZGdlcyA9IHt9OwotICAgICAgICAvLyBEaXNwYXRjaCBib3RoIHNpbmdsZSBhbmQgbXVsdGkgZXZlbnRzOgotICAgICAgICBmb3IgKGkgPSAwLCBsZSA9IG91dEVkZ2VzLmxlbmd0aDsgaSA8IGxlOyBpKyspCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdvdXRFZGdlJywgewotICAgICAgICAgICAgZWRnZTogb3V0RWRnZXNbaV0sCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICBpZiAob3V0RWRnZXMubGVuZ3RoKQotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnb3V0RWRnZXMnLCB7Ci0gICAgICAgICAgICBlZGdlczogb3V0RWRnZXMsCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgfQotCi0gICAgICBmdW5jdGlvbiBvbk1vdmUoZSkgewotICAgICAgICBpZiAoIXNlbGYuc2V0dGluZ3MoJ2V2ZW50c0VuYWJsZWQnKSkKLSAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbm9kZXMgPSBnZXROb2RlcyhlKTsKLSAgICAgICAgZWRnZXMgPSBnZXRFZGdlcyhlKTsKLQotICAgICAgICB2YXIgaSwKLSAgICAgICAgICAgIGssCi0gICAgICAgICAgICBub2RlLAotICAgICAgICAgICAgZWRnZSwKLSAgICAgICAgICAgIG5ld091dE5vZGVzID0gW10sCi0gICAgICAgICAgICBuZXdPdmVyTm9kZXMgPSBbXSwKLSAgICAgICAgICAgIGN1cnJlbnRPdmVyTm9kZXMgPSB7fSwKLSAgICAgICAgICAgIGwgPSBub2Rlcy5sZW5ndGgsCi0gICAgICAgICAgICBuZXdPdXRFZGdlcyA9IFtdLAotICAgICAgICAgICAgbmV3T3ZlckVkZ2VzID0gW10sCi0gICAgICAgICAgICBjdXJyZW50T3ZlckVkZ2VzID0ge30sCi0gICAgICAgICAgICBsZSA9IGVkZ2VzLmxlbmd0aDsKLQotICAgICAgICAvLyBDaGVjayBuZXdseSBvdmVycmVkIG5vZGVzOgotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbDsgaSsrKSB7Ci0gICAgICAgICAgbm9kZSA9IG5vZGVzW2ldOwotICAgICAgICAgIGN1cnJlbnRPdmVyTm9kZXNbbm9kZS5pZF0gPSBub2RlOwotICAgICAgICAgIGlmICghb3Zlck5vZGVzW25vZGUuaWRdKSB7Ci0gICAgICAgICAgICBuZXdPdmVyTm9kZXMucHVzaChub2RlKTsKLSAgICAgICAgICAgIG92ZXJOb2Rlc1tub2RlLmlkXSA9IG5vZGU7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgLy8gQ2hlY2sgbm8gbW9yZSBvdmVycmVkIG5vZGVzOgotICAgICAgICBmb3IgKGsgaW4gb3Zlck5vZGVzKQotICAgICAgICAgIGlmICghY3VycmVudE92ZXJOb2Rlc1trXSkgewotICAgICAgICAgICAgbmV3T3V0Tm9kZXMucHVzaChvdmVyTm9kZXNba10pOwotICAgICAgICAgICAgZGVsZXRlIG92ZXJOb2Rlc1trXTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgLy8gRGlzcGF0Y2ggYm90aCBzaW5nbGUgYW5kIG11bHRpIGV2ZW50czoKLSAgICAgICAgZm9yIChpID0gMCwgbCA9IG5ld092ZXJOb2Rlcy5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdvdmVyTm9kZScsIHsKLSAgICAgICAgICAgIG5vZGU6IG5ld092ZXJOb2Rlc1tpXSwKLSAgICAgICAgICAgIGNhcHRvcjogZS5kYXRhCi0gICAgICAgICAgfSk7Ci0gICAgICAgIGZvciAoaSA9IDAsIGwgPSBuZXdPdXROb2Rlcy5sZW5ndGg7IGkgPCBsOyBpKyspCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdvdXROb2RlJywgewotICAgICAgICAgICAgbm9kZTogbmV3T3V0Tm9kZXNbaV0sCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICBpZiAobmV3T3Zlck5vZGVzLmxlbmd0aCkKLSAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ292ZXJOb2RlcycsIHsKLSAgICAgICAgICAgIG5vZGVzOiBuZXdPdmVyTm9kZXMsCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotICAgICAgICBpZiAobmV3T3V0Tm9kZXMubGVuZ3RoKQotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnb3V0Tm9kZXMnLCB7Ci0gICAgICAgICAgICBub2RlczogbmV3T3V0Tm9kZXMsCi0gICAgICAgICAgICBjYXB0b3I6IGUuZGF0YQotICAgICAgICAgIH0pOwotCi0gICAgICAgIC8vIENoZWNrIG5ld2x5IG92ZXJyZWQgZWRnZXM6Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZTsgaSsrKSB7Ci0gICAgICAgICAgZWRnZSA9IGVkZ2VzW2ldOwotICAgICAgICAgIGN1cnJlbnRPdmVyRWRnZXNbZWRnZS5pZF0gPSBlZGdlOwotICAgICAgICAgIGlmICghb3ZlckVkZ2VzW2VkZ2UuaWRdKSB7Ci0gICAgICAgICAgICBuZXdPdmVyRWRnZXMucHVzaChlZGdlKTsKLSAgICAgICAgICAgIG92ZXJFZGdlc1tlZGdlLmlkXSA9IGVkZ2U7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgLy8gQ2hlY2sgbm8gbW9yZSBvdmVycmVkIGVkZ2VzOgotICAgICAgICBmb3IgKGsgaW4gb3ZlckVkZ2VzKQotICAgICAgICAgIGlmICghY3VycmVudE92ZXJFZGdlc1trXSkgewotICAgICAgICAgICAgbmV3T3V0RWRnZXMucHVzaChvdmVyRWRnZXNba10pOwotICAgICAgICAgICAgZGVsZXRlIG92ZXJFZGdlc1trXTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgLy8gRGlzcGF0Y2ggYm90aCBzaW5nbGUgYW5kIG11bHRpIGV2ZW50czoKLSAgICAgICAgZm9yIChpID0gMCwgbGUgPSBuZXdPdmVyRWRnZXMubGVuZ3RoOyBpIDwgbGU7IGkrKykKLSAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ292ZXJFZGdlJywgewotICAgICAgICAgICAgZWRnZTogbmV3T3ZlckVkZ2VzW2ldLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgZm9yIChpID0gMCwgbGUgPSBuZXdPdXRFZGdlcy5sZW5ndGg7IGkgPCBsZTsgaSsrKQotICAgICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnb3V0RWRnZScsIHsKLSAgICAgICAgICAgIGVkZ2U6IG5ld091dEVkZ2VzW2ldLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgaWYgKG5ld092ZXJFZGdlcy5sZW5ndGgpCi0gICAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdvdmVyRWRnZXMnLCB7Ci0gICAgICAgICAgICBlZGdlczogbmV3T3ZlckVkZ2VzLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgICAgaWYgKG5ld091dEVkZ2VzLmxlbmd0aCkKLSAgICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ291dEVkZ2VzJywgewotICAgICAgICAgICAgZWRnZXM6IG5ld091dEVkZ2VzLAotICAgICAgICAgICAgY2FwdG9yOiBlLmRhdGEKLSAgICAgICAgICB9KTsKLSAgICAgIH0KLQotICAgICAgLy8gQmluZCBldmVudHM6Ci0gICAgICBjYXB0b3IuYmluZCgnY2xpY2snLCBvbkNsaWNrKTsKLSAgICAgIGNhcHRvci5iaW5kKCdtb3VzZWRvd24nLCBvbk1vdmUpOwotICAgICAgY2FwdG9yLmJpbmQoJ21vdXNldXAnLCBvbk1vdmUpOwotICAgICAgY2FwdG9yLmJpbmQoJ21vdXNlbW92ZScsIG9uTW92ZSk7Ci0gICAgICBjYXB0b3IuYmluZCgnbW91c2VvdXQnLCBvbk91dCk7Ci0gICAgICBjYXB0b3IuYmluZCgnZG91YmxlY2xpY2snLCBvbkRvdWJsZUNsaWNrKTsKLSAgICAgIGNhcHRvci5iaW5kKCdyaWdodGNsaWNrJywgb25SaWdodENsaWNrKTsKLSAgICAgIHNlbGYuYmluZCgncmVuZGVyJywgb25Nb3ZlKTsKLSAgICB9Ci0KLSAgICBmb3IgKGkgPSAwLCBsID0gdGhpcy5jYXB0b3JzLmxlbmd0aDsgaSA8IGw7IGkrKykKLSAgICAgIGJpbmRDYXB0b3IodGhpcy5jYXB0b3JzW2ldKTsKLSAgfTsKLX0pLmNhbGwodGhpcyk7Ci0KLTsoZnVuY3Rpb24odW5kZWZpbmVkKSB7Ci0gICd1c2Ugc3RyaWN0JzsKLQotICBpZiAodHlwZW9mIHNpZ21hID09PSAndW5kZWZpbmVkJykKLSAgICB0aHJvdyAnc2lnbWEgaXMgbm90IGRlY2xhcmVkJzsKLQotICAvLyBJbml0aWFsaXplIHBhY2thZ2VzOgotICBzaWdtYS51dGlscy5wa2coJ3NpZ21hLm1pc2MnKTsKLQotICAvKioKLSAgICogVGhpcyBoZWxwZXIgd2lsbCBiaW5kIGFueSBET00gcmVuZGVyZXIgKGZvciBpbnN0YW5jZSBzdmcpCi0gICAqIHRvIGl0cyBjYXB0b3JzLCB0byBwcm9wZXJseSBkaXNwYXRjaCB0aGUgZ29vZCBldmVudHMgdG8gdGhlIHNpZ21hIGluc3RhbmNlCi0gICAqIHRvIG1hbmFnZSBjbGlja2luZywgaG92ZXJpbmcgZXRjLi4uCi0gICAqCi0gICAqIEl0IGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIHNjb3BlIG9mIHRoZSByZWxhdGVkIHJlbmRlcmVyLgotICAgKi8KLSAgc2lnbWEubWlzYy5iaW5kRE9NRXZlbnRzID0gZnVuY3Rpb24oY29udGFpbmVyKSB7Ci0gICAgdmFyIHNlbGYgPSB0aGlzLAotICAgICAgICBncmFwaCA9IHRoaXMuZ3JhcGg7Ci0KLSAgICAvLyBET01FbGVtZW50IGFic3RyYWN0aW9uCi0gICAgZnVuY3Rpb24gRWxlbWVudChkb21FbGVtZW50KSB7Ci0KLSAgICAgIC8vIEhlbHBlcnMKLSAgICAgIHRoaXMuYXR0ciA9IGZ1bmN0aW9uKGF0dHJOYW1lKSB7Ci0gICAgICAgIHJldHVybiBkb21FbGVtZW50LmdldEF0dHJpYnV0ZU5TKG51bGwsIGF0dHJOYW1lKTsKLSAgICAgIH07Ci0KLSAgICAgIC8vIFByb3BlcnRpZXMKLSAgICAgIHRoaXMudGFnID0gZG9tRWxlbWVudC50YWdOYW1lOwotICAgICAgdGhpcy5jbGFzcyA9IHRoaXMuYXR0cignY2xhc3MnKTsKLSAgICAgIHRoaXMuaWQgPSB0aGlzLmF0dHIoJ2lkJyk7Ci0KLSAgICAgIC8vIE1ldGhvZHMKLSAgICAgIHRoaXMuaXNOb2RlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiAhIX50aGlzLmNsYXNzLmluZGV4T2Yoc2VsZi5zZXR0aW5ncygnY2xhc3NQcmVmaXgnKSArICctbm9kZScpOwotICAgICAgfTsKLQotICAgICAgdGhpcy5pc0VkZ2UgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuICEhfnRoaXMuY2xhc3MuaW5kZXhPZihzZWxmLnNldHRpbmdzKCdjbGFzc1ByZWZpeCcpICsgJy1lZGdlJyk7Ci0gICAgICB9OwotCi0gICAgICB0aGlzLmlzSG92ZXIgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuICEhfnRoaXMuY2xhc3MuaW5kZXhPZihzZWxmLnNldHRpbmdzKCdjbGFzc1ByZWZpeCcpICsgJy1ob3ZlcicpOwotICAgICAgfTsKLSAgICB9Ci0KLSAgICAvLyBDbGljawotICAgIGZ1bmN0aW9uIGNsaWNrKGUpIHsKLSAgICAgIGlmICghc2VsZi5zZXR0aW5ncygnZXZlbnRzRW5hYmxlZCcpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAgIC8vIEdlbmVyaWMgZXZlbnQKLSAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnY2xpY2snLCBlKTsKLQotICAgICAgLy8gQXJlIHdlIG9uIGEgbm9kZT8KLSAgICAgIHZhciBlbGVtZW50ID0gbmV3IEVsZW1lbnQoZS50YXJnZXQpOwotCi0gICAgICBpZiAoZWxlbWVudC5pc05vZGUoKSkKLSAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdjbGlja05vZGUnLCB7Ci0gICAgICAgICAgbm9kZTogZ3JhcGgubm9kZXMoZWxlbWVudC5hdHRyKCdkYXRhLW5vZGUtaWQnKSkKLSAgICAgICAgfSk7Ci0gICAgICBlbHNlCi0gICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnY2xpY2tTdGFnZScpOwotCi0gICAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgIH0KLQotICAgIC8vIERvdWJsZSBjbGljawotICAgIGZ1bmN0aW9uIGRvdWJsZUNsaWNrKGUpIHsKLSAgICAgIGlmICghc2VsZi5zZXR0aW5ncygnZXZlbnRzRW5hYmxlZCcpKQotICAgICAgICByZXR1cm47Ci0KLSAgICAgIC8vIEdlbmVyaWMgZXZlbnQKLSAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnZG91YmxlQ2xpY2snLCBlKTsKLQotICAgICAgLy8gQXJlIHdlIG9uIGEgbm9kZT8KLSAgICAgIHZhciBlbGVtZW50ID0gbmV3IEVsZW1lbnQoZS50YXJnZXQpOwotCi0gICAgICBpZiAoZWxlbWVudC5pc05vZGUoKSkKLSAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdkb3VibGVDbGlja05vZGUnLCB7Ci0gICAgICAgICAgbm9kZTogZ3JhcGgubm9kZXMoZWxlbWVudC5hdHRyKCdkYXRhLW5vZGUtaWQnKSkKLSAgICAgICAgfSk7Ci0gICAgICBlbHNlCi0gICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnZG91YmxlQ2xpY2tTdGFnZScpOwotCi0gICAgICBlLnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwotICAgIH0KLQotICAgIC8vIE9uIG92ZXIKLSAgICBmdW5jdGlvbiBvbk92ZXIoZSkgewotICAgICAgdmFyIHRhcmdldCA9IGUudG9FbGVtZW50IHx8IGUudGFyZ2V0OwotCi0gICAgICBpZiAoIXNlbGYuc2V0dGluZ3MoJ2V2ZW50c0VuYWJsZWQnKSB8fCAhdGFyZ2V0KQotICAgICAgICByZXR1cm47Ci0KLSAgICAgIHZhciBlbCA9IG5ldyBFbGVtZW50KHRhcmdldCk7Ci0KLSAgICAgIGlmIChlbC5pc05vZGUoKSkgewotICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ292ZXJOb2RlJywgewotICAgICAgICAgIG5vZGU6IGdyYXBoLm5vZGVzKGVsLmF0dHIoJ2RhdGEtbm9kZS1pZCcpKQotICAgICAgICB9KTsKLSAgICAgIH0KLSAgICAgIGVsc2UgaWYgKGVsLmlzRWRnZSgpKSB7Ci0gICAgICAgIHZhciBlZGdlID0gZ3JhcGguZWRnZXMoZWwuYXR0cignZGF0YS1lZGdlLWlkJykpOwotICAgICAgICBzZWxmLmRpc3BhdGNoRXZlbnQoJ292ZXJFZGdlJywgewotICAgICAgICAgIGVkZ2U6IGVkZ2UsCi0gICAgICAgICAgc291cmNlOiBncmFwaC5ub2RlcyhlZGdlLnNvdXJjZSksCi0gICAgICAgICAgdGFyZ2V0OiBncmFwaC5ub2RlcyhlZGdlLnRhcmdldCkKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLy8gT24gb3V0Ci0gICAgZnVuY3Rpb24gb25PdXQoZSkgewotICAgICAgdmFyIHRhcmdldCA9IGUuZnJvbUVsZW1lbnQgfHwgZS5vcmlnaW5hbFRhcmdldDsKLQotICAgICAgaWYgKCFzZWxmLnNldHRpbmdzKCdldmVudHNFbmFibGVkJykpCi0gICAgICAgIHJldHVybjsKLQotICAgICAgdmFyIGVsID0gbmV3IEVsZW1lbnQodGFyZ2V0KTsKLQotICAgICAgaWYgKGVsLmlzTm9kZSgpKSB7Ci0gICAgICAgIHNlbGYuZGlzcGF0Y2hFdmVudCgnb3V0Tm9kZScsIHsKLSAgICAgICAgICBub2RlOiBncmFwaC5ub2RlcyhlbC5hdHRyKCdkYXRhLW5vZGUtaWQnKSkKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgICBlbHNlIGlmIChlbC5pc0VkZ2UoKSkgewotICAgICAgICB2YXIgZWRnZSA9IGdyYXBoLmVkZ2VzKGVsLmF0dHIoJ2RhdGEtZWRnZS1pZCcpKTsKLSAgICAgICAgc2VsZi5kaXNwYXRjaEV2ZW50KCdvdXRFZGdlJywgewotICAgICAgICAgIGVkZ2U6IGVkZ2UsCi0gICAgICAgICAgc291cmNlOiBncmFwaC5ub2RlcyhlZGdlLnNvdXJjZSksCi0gICAgICAgICAgdGFyZ2V0OiBncmFwaC5ub2RlcyhlZGdlLnRhcmdldCkKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLy8gUmVnaXN0ZXJpbmcgRXZlbnRzOgotCi0gICAgLy8gQ2xpY2sKLSAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbGljaywgZmFsc2UpOwotICAgIHNpZ21hLnV0aWxzLmRvdWJsZUNsaWNrKGNvbnRhaW5lciwgJ2NsaWNrJywgZG91YmxlQ2xpY2spOwotCi0gICAgLy8gVG91Y2ggY291bnRlcnBhcnRzCi0gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBjbGljaywgZmFsc2UpOwotICAgIHNpZ21hLnV0aWxzLmRvdWJsZUNsaWNrKGNvbnRhaW5lciwgJ3RvdWNoc3RhcnQnLCBkb3VibGVDbGljayk7Ci0KLSAgICAvLyBNb3VzZW92ZXIKLSAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgb25PdmVyLCB0cnVlKTsKLQotICAgIC8vIE1vdXNlb3V0Ci0gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0Jywgb25PdXQsIHRydWUpOwotICB9OwotfSkuY2FsbCh0aGlzKTsKLQotOyhmdW5jdGlvbih1bmRlZmluZWQpIHsKLSAgJ3VzZSBzdHJpY3QnOwotCi0gIGlmICh0eXBlb2Ygc2lnbWEgPT09ICd1bmRlZmluZWQnKQotICAgIHRocm93ICdzaWdtYSBpcyBub3QgZGVjbGFyZWQnOwotCi0gIC8vIEluaXRpYWxpemUgcGFja2FnZXM6Ci0gIHNpZ21hLnV0aWxzLnBrZygnc2lnbWEubWlzYycpOwotCi0gIC8qKgotICAgKiBUaGlzIG1ldGhvZCBsaXN0ZW5zIHRvICJvdmVyTm9kZSIsICJvdXROb2RlIiwgIm92ZXJFZGdlIiBhbmQgIm91dEVkZ2UiCi0gICAqIGV2ZW50cyBmcm9tIGEgcmVuZGVyZXIgYW5kIHJlbmRlcnMgdGhlIG5vZGVzIGRpZmZlcmVudGx5IG9uIHRoZSB0b3AgbGF5ZXIuCi0gICAqIFRoZSBnb2FsIGlzIHRvIG1ha2UgYW55IG5vZGUgbGFiZWwgcmVhZGFibGUgd2l0aCB0aGUgbW91c2UsIGFuZCB0bwotICAgKiBoaWdobGlnaHQgaG92ZXJlZCBub2RlcyBhbmQgZWRnZXMuCi0gICAqCi0gICAqIEl0IGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIHNjb3BlIG9mIHRoZSByZWxhdGVkIHJlbmRlcmVyLgotICAgKi8KLSAgc2lnbWEubWlzYy5kcmF3SG92ZXJzID0gZnVuY3Rpb24ocHJlZml4KSB7Ci0gICAgdmFyIHNlbGYgPSB0aGlzLAotICAgICAgICBob3ZlcmVkTm9kZXMgPSB7fSwKLSAgICAgICAgaG92ZXJlZEVkZ2VzID0ge307Ci0KLSAgICB0aGlzLmJpbmQoJ292ZXJOb2RlJywgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgIHZhciBub2RlID0gZXZlbnQuZGF0YS5ub2RlOwotICAgICAgaWYgKCFub2RlLmhpZGRlbikgewotICAgICAgICBob3ZlcmVkTm9kZXNbbm9kZS5pZF0gPSBub2RlOwotICAgICAgICBkcmF3KCk7Ci0gICAgICB9Ci0gICAgfSk7Ci0KLSAgICB0aGlzLmJpbmQoJ291dE5vZGUnLCBmdW5jdGlvbihldmVudCkgewotICAgICAgZGVsZXRlIGhvdmVyZWROb2Rlc1tldmVudC5kYXRhLm5vZGUuaWRdOwotICAgICAgZHJhdygpOwotICAgIH0pOwotCi0gICAgdGhpcy5iaW5kKCdvdmVyRWRnZScsIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICB2YXIgZWRnZSA9IGV2ZW50LmRhdGEuZWRnZTsKLSAgICAgIGlmICghZWRnZS5oaWRkZW4pIHsKLSAgICAgICAgaG92ZXJlZEVkZ2VzW2VkZ2UuaWRdID0gZWRnZTsKLSAgICAgICAgZHJhdygpOwotICAgICAgfQotICAgIH0pOwotCi0gICAgdGhpcy5iaW5kKCdvdXRFZGdlJywgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgIGRlbGV0ZSBob3ZlcmVkRWRnZXNbZXZlbnQuZGF0YS5lZGdlLmlkXTsKLSAgICAgIGRyYXcoKTsKLSAgICB9KTsKLQotICAgIHRoaXMuYmluZCgncmVuZGVyJywgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgIGRyYXcoKTsKLSAgICB9KTsKLQotICAgIGZ1bmN0aW9uIGRyYXcoKSB7Ci0KLSAgICAgIHZhciBrLAotICAgICAgICAgIHNvdXJjZSwKLSAgICAgICAgICB0YXJnZXQsCi0gICAgICAgICAgaG92ZXJlZE5vZGUsCi0gICAgICAgICAgaG92ZXJlZEVkZ2UsCi0gICAgICAgICAgYyA9IHNlbGYuY29udGV4dHMuaG92ZXIuY2FudmFzLAotICAgICAgICAgIGRlZmF1bHROb2RlVHlwZSA9IHNlbGYuc2V0dGluZ3MoJ2RlZmF1bHROb2RlVHlwZScpLAotICAgICAgICAgIGRlZmF1bHRFZGdlVHlwZSA9IHNlbGYuc2V0dGluZ3MoJ2RlZmF1bHRFZGdlVHlwZScpLAotICAgICAgICAgIG5vZGVSZW5kZXJlcnMgPSBzaWdtYS5jYW52YXMuaG92ZXJzLAotICAgICAgICAgIGVkZ2VSZW5kZXJlcnMgPSBzaWdtYS5jYW52YXMuZWRnZWhvdmVycywKLSAgICAgICAgICBleHRyZW1pdGllc1JlbmRlcmVycyA9IHNpZ21hLmNhbnZhcy5leHRyZW1pdGllcywKLSAgICAgICAgICBlbWJlZFNldHRpbmdzID0gc2VsZi5zZXR0aW5ncy5lbWJlZE9iamVjdHMoewotICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgKLSAgICAgICAgICB9KTsKLQotICAgICAgLy8gQ2xlYXIgc2VsZi5jb250ZXh0cy5ob3ZlcjoKLSAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIuY2xlYXJSZWN0KDAsIDAsIGMud2lkdGgsIGMuaGVpZ2h0KTsKLQotICAgICAgLy8gTm9kZSByZW5kZXI6IHNpbmdsZSBob3ZlcgotICAgICAgaWYgKAotICAgICAgICBlbWJlZFNldHRpbmdzKCdlbmFibGVIb3ZlcmluZycpICYmCi0gICAgICAgIGVtYmVkU2V0dGluZ3MoJ3NpbmdsZUhvdmVyJykgJiYKLSAgICAgICAgT2JqZWN0LmtleXMoaG92ZXJlZE5vZGVzKS5sZW5ndGgKLSAgICAgICkgewotICAgICAgICBob3ZlcmVkTm9kZSA9IGhvdmVyZWROb2Rlc1tPYmplY3Qua2V5cyhob3ZlcmVkTm9kZXMpWzBdXTsKLSAgICAgICAgKAotICAgICAgICAgIG5vZGVSZW5kZXJlcnNbaG92ZXJlZE5vZGUudHlwZV0gfHwKLSAgICAgICAgICBub2RlUmVuZGVyZXJzW2RlZmF1bHROb2RlVHlwZV0gfHwKLSAgICAgICAgICBub2RlUmVuZGVyZXJzLmRlZgotICAgICAgICApKAotICAgICAgICAgIGhvdmVyZWROb2RlLAotICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICApOwotICAgICAgfQotCi0gICAgICAvLyBOb2RlIHJlbmRlcjogbXVsdGlwbGUgaG92ZXIKLSAgICAgIGlmICgKLSAgICAgICAgZW1iZWRTZXR0aW5ncygnZW5hYmxlSG92ZXJpbmcnKSAmJgotICAgICAgICAhZW1iZWRTZXR0aW5ncygnc2luZ2xlSG92ZXInKQotICAgICAgKQotICAgICAgICBmb3IgKGsgaW4gaG92ZXJlZE5vZGVzKQotICAgICAgICAgICgKLSAgICAgICAgICAgIG5vZGVSZW5kZXJlcnNbaG92ZXJlZE5vZGVzW2tdLnR5cGVdIHx8Ci0gICAgICAgICAgICBub2RlUmVuZGVyZXJzW2RlZmF1bHROb2RlVHlwZV0gfHwKLSAgICAgICAgICAgIG5vZGVSZW5kZXJlcnMuZGVmCi0gICAgICAgICAgKSgKLSAgICAgICAgICAgIGhvdmVyZWROb2Rlc1trXSwKLSAgICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgICBlbWJlZFNldHRpbmdzCi0gICAgICAgICAgKTsKLQotICAgICAgLy8gRWRnZSByZW5kZXI6IHNpbmdsZSBob3ZlcgotICAgICAgaWYgKAotICAgICAgICBlbWJlZFNldHRpbmdzKCdlbmFibGVFZGdlSG92ZXJpbmcnKSAmJgotICAgICAgICBlbWJlZFNldHRpbmdzKCdzaW5nbGVIb3ZlcicpICYmCi0gICAgICAgIE9iamVjdC5rZXlzKGhvdmVyZWRFZGdlcykubGVuZ3RoCi0gICAgICApIHsKLSAgICAgICAgaG92ZXJlZEVkZ2UgPSBob3ZlcmVkRWRnZXNbT2JqZWN0LmtleXMoaG92ZXJlZEVkZ2VzKVswXV07Ci0gICAgICAgIHNvdXJjZSA9IHNlbGYuZ3JhcGgubm9kZXMoaG92ZXJlZEVkZ2Uuc291cmNlKTsKLSAgICAgICAgdGFyZ2V0ID0gc2VsZi5ncmFwaC5ub2Rlcyhob3ZlcmVkRWRnZS50YXJnZXQpOwotCi0gICAgICAgIGlmICghIGhvdmVyZWRFZGdlLmhpZGRlbikgewotICAgICAgICAgICgKLSAgICAgICAgICAgIGVkZ2VSZW5kZXJlcnNbaG92ZXJlZEVkZ2UudHlwZV0gfHwKLSAgICAgICAgICAgIGVkZ2VSZW5kZXJlcnNbZGVmYXVsdEVkZ2VUeXBlXSB8fAotICAgICAgICAgICAgZWRnZVJlbmRlcmVycy5kZWYKLSAgICAgICAgICApICgKLSAgICAgICAgICAgIGhvdmVyZWRFZGdlLAotICAgICAgICAgICAgc291cmNlLAotICAgICAgICAgICAgdGFyZ2V0LAotICAgICAgICAgICAgc2VsZi5jb250ZXh0cy5ob3ZlciwKLSAgICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgICApOwotCi0gICAgICAgICAgaWYgKGVtYmVkU2V0dGluZ3MoJ2VkZ2VIb3ZlckV4dHJlbWl0aWVzJykpIHsKLSAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgZXh0cmVtaXRpZXNSZW5kZXJlcnNbaG92ZXJlZEVkZ2UudHlwZV0gfHwKLSAgICAgICAgICAgICAgZXh0cmVtaXRpZXNSZW5kZXJlcnMuZGVmCi0gICAgICAgICAgICApKAotICAgICAgICAgICAgICBob3ZlcmVkRWRnZSwKLSAgICAgICAgICAgICAgc291cmNlLAotICAgICAgICAgICAgICB0YXJnZXQsCi0gICAgICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgICAgICk7Ci0KLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQXZvaWQgZWRnZXMgcmVuZGVyZWQgb3ZlciBub2RlczoKLSAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgc2lnbWEuY2FudmFzLm5vZGVzW3NvdXJjZS50eXBlXSB8fAotICAgICAgICAgICAgICBzaWdtYS5jYW52YXMubm9kZXMuZGVmCi0gICAgICAgICAgICApICgKLSAgICAgICAgICAgICAgc291cmNlLAotICAgICAgICAgICAgICBzZWxmLmNvbnRleHRzLmhvdmVyLAotICAgICAgICAgICAgICBlbWJlZFNldHRpbmdzCi0gICAgICAgICAgICApOwotICAgICAgICAgICAgKAotICAgICAgICAgICAgICBzaWdtYS5jYW52YXMubm9kZXNbdGFyZ2V0LnR5cGVdIHx8Ci0gICAgICAgICAgICAgIHNpZ21hLmNhbnZhcy5ub2Rlcy5kZWYKLSAgICAgICAgICAgICkgKAotICAgICAgICAgICAgICB0YXJnZXQsCi0gICAgICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgICAgICk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIC8vIEVkZ2UgcmVuZGVyOiBtdWx0aXBsZSBob3ZlcgotICAgICAgaWYgKAotICAgICAgICBlbWJlZFNldHRpbmdzKCdlbmFibGVFZGdlSG92ZXJpbmcnKSAmJgotICAgICAgICAhZW1iZWRTZXR0aW5ncygnc2luZ2xlSG92ZXInKQotICAgICAgKSB7Ci0gICAgICAgIGZvciAoayBpbiBob3ZlcmVkRWRnZXMpIHsKLSAgICAgICAgICBob3ZlcmVkRWRnZSA9IGhvdmVyZWRFZGdlc1trXTsKLSAgICAgICAgICBzb3VyY2UgPSBzZWxmLmdyYXBoLm5vZGVzKGhvdmVyZWRFZGdlLnNvdXJjZSk7Ci0gICAgICAgICAgdGFyZ2V0ID0gc2VsZi5ncmFwaC5ub2Rlcyhob3ZlcmVkRWRnZS50YXJnZXQpOwotCi0gICAgICAgICAgaWYgKCFob3ZlcmVkRWRnZS5oaWRkZW4pIHsKLSAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgZWRnZVJlbmRlcmVyc1tob3ZlcmVkRWRnZS50eXBlXSB8fAotICAgICAgICAgICAgICBlZGdlUmVuZGVyZXJzW2RlZmF1bHRFZGdlVHlwZV0gfHwKLSAgICAgICAgICAgICAgZWRnZVJlbmRlcmVycy5kZWYKLSAgICAgICAgICAgICkgKAotICAgICAgICAgICAgICBob3ZlcmVkRWRnZSwKLSAgICAgICAgICAgICAgc291cmNlLAotICAgICAgICAgICAgICB0YXJnZXQsCi0gICAgICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgICAgIGVtYmVkU2V0dGluZ3MKLSAgICAgICAgICAgICk7Ci0KLSAgICAgICAgICAgIGlmIChlbWJlZFNldHRpbmdzKCdlZGdlSG92ZXJFeHRyZW1pdGllcycpKSB7Ci0gICAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgICBleHRyZW1pdGllc1JlbmRlcmVyc1tob3ZlcmVkRWRnZS50eXBlXSB8fAotICAgICAgICAgICAgICAgIGV4dHJlbWl0aWVzUmVuZGVyZXJzLmRlZgotICAgICAgICAgICAgICApKAotICAgICAgICAgICAgICAgIGhvdmVyZWRFZGdlLAotICAgICAgICAgICAgICAgIHNvdXJjZSwKLSAgICAgICAgICAgICAgICB0YXJnZXQsCi0gICAgICAgICAgICAgICAgc2VsZi5jb250ZXh0cy5ob3ZlciwKLSAgICAgICAgICAgICAgICBlbWJlZFNldHRpbmdzCi0gICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAvLyBBdm9pZCBlZGdlcyByZW5kZXJlZCBvdmVyIG5vZGVzOgotICAgICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgc2lnbWEuY2FudmFzLm5vZGVzW3NvdXJjZS50eXBlXSB8fAotICAgICAgICAgICAgICAgIHNpZ21hLmNhbnZhcy5ub2Rlcy5kZWYKLSAgICAgICAgICAgICAgKSAoCi0gICAgICAgICAgICAgICAgc291cmNlLAotICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgc2lnbWEuY2FudmFzLm5vZGVzW3RhcmdldC50eXBlXSB8fAotICAgICAgICAgICAgICAgIHNpZ21hLmNhbnZhcy5ub2Rlcy5kZWYKLSAgICAgICAgICAgICAgKSAoCi0gICAgICAgICAgICAgICAgdGFyZ2V0LAotICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dHMuaG92ZXIsCi0gICAgICAgICAgICAgICAgZW1iZWRTZXR0aW5ncwotICAgICAgICAgICAgICApOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0KLSAgfTsKLX0pLmNhbGwodGhpcyk7CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3VuZGVybGF5LmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy91bmRlcmxheS5qcwppbmRleCAwNWZjM2RhLi43MzVjY2I4IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2pzL3VuZGVybGF5LmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdW5kZXJsYXkuanMKQEAgLTEzLDEwOCArMTMsMTA4IEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAgKi8NCiANCi0gDQotZnVuY3Rpb24gbG9hZFVuZGVybGF5RGF0YSgpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8ubDN2cG5zZXJ2aWNlL29wZW5vYXBpL3Nkbm9sM3Zwbi92MS9sM3ZwbnMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiR0VUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoImxvYWRpbmcgdW5kZXJsYXkgZGF0YSIpOw0KLQkJCQkJCS8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZ2V0dGluZyB1bmRlcmxheSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLX0NCi1mdW5jdGlvbiBkZWxldGVVbmRlcmxheURhdGEob2JqZWN0SWQpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8ubDN2cG5zZXJ2aWNlL29wZW5vYXBpL3Nkbm9sM3Zwbi92MS9sM3ZwbnMvIitvYmplY3RJZDsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIkRFTEVURSIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCQkJCWFsZXJ0KCJkZWxldGluZyB1bmRlcmxheSBkYXRhIik7DQotCQkJCQkJLy9UT0RPOiBVcGRhdGUgdGhlIHRhYmxlDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyB1bmRlcmxheSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLX0NCi1mdW5jdGlvbiBsb2FkT3ZlcmxheURhdGEoKXsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLm92ZXJsYXl2cG5zZXJ2aWNlL29wZW5vYXBpL3Nkbm9vdmVybGF5dnBuL3YxL3NpdGUyZGMtdnBuIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIkdFVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCQkJCWFsZXJ0KCJsb2FkaW5nIE92ZXJsYXkgZGF0YS4uLiIpOw0KLQkJCQkJCS8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBPdmVybGF5dnBuIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQotfQ0KLWZ1bmN0aW9uIHJlZnJlc3NUcERhdGFUYWJsZShvdmVybGF5VGFibGUsVHBUYWJsZSl7DQotCWFsZXJ0KCJyZWZlc3NzaW5nIFRwIGRhdGEgdGFibGUiKTsNCi19DQotJChmdW5jdGlvbigpew0KLQkkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uKCkgew0KLQkJCQl2YXIgbyA9IHt9Ow0KLQkJCQl2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsNCi0JCQkJJC5lYWNoKGEsIGZ1bmN0aW9uKCkgew0KLQkJCQkJaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7DQotCQkJCQkJaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgew0KLQkJCQkJCQlvW3RoaXMubmFtZV0gPSBbIG9bdGhpcy5uYW1lXSBdOw0KLQkJCQkJCX0NCi0JCQkJCW9bdGhpcy5uYW1lXS5wdXNoKHRoaXMudmFsdWUgfHwgJycpOw0KLQkJCQkJfSBlbHNlIHsNCi0JCQkJCQlvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQlyZXR1cm4gbzsNCi0JCQl9Ow0KLQkkKCcjY3JlYXRlVW5kZXJsYXknKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQl2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdW5kZXJsYXlGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KLQkJCQlhbGVydChmb3JtRGF0YSk7DQotCQkgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQotCQkgICAgICAgIHZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5sM3ZwbnNlcnZpY2Uvb3Blbm9hcGkvc2Rub2wzdnBuL3YxL2wzdnBucyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJQT1NUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCWRhdGFUeXBlIDogImpzb24iLA0KLQkJCQkJZGF0YSA6IGZvcm1EYXRhLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQlhbGVydCgiRGV0YWlscyBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQkvL3ZhciBkYXRhID0gW2pzb25vYmoubmFtZSxqc29ub2JqLmhvc3ROYW1lLGpzb25vYmoucHJvZHVjdE5hbWUsanNvbm9iai52ZW5kb3IsanNvbm9iai5kZXNjcmlwdGlvbl07DQotCQkJCQkJLy9UT0RPOiB1cGRhdGUgdGhlIHRhYmxlDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLQkJCX0pOw0KLQkkKCcudW5kZXJsYXlOYW1lTGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCSAJYWxlcnQoImNvbWluZyBoZXJlIik7DQotCQl2YXIgZGF0YSA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCkucGFyZW50KCkuZmluZCgndGQ6bGFzdCcpLmZpbmQoJ2RpdjpsYXN0JykuaHRtbCgpOw0KLQkJYWxlcnQoZGF0YSk7DQotCQl2YXIganNvbk9iaiA9IEpTT04ucGFyc2UoZGF0YSk7DQotCQlmb3IodmFyIGkgPSAwOyBpIDwganNvbk9iai5sZW5ndGg7IGkrKykgew0KLQkJICAgIHZhciBvYmogPSBqc29uT2JqW2ldOw0KLQkJCXZhciByb3dEYXRhID0gW29iai50cE5hbWUsb2JqLnBlTmFtZSxvYmoudmxhbklkLG9iai5zaXRlQ2lkcixvYmouaXBdOw0KLQkJCSQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuRGF0YVRhYmxlKCk7DQotCQkJJCgnI3VuZGVybGF5VHBEYXRhVGFibGUnKS5kYXRhVGFibGUoKS5mbkFkZERhdGEocm93RGF0YSk7DQotCQl9DQogDQotCX0pOw0KLQkNCitmdW5jdGlvbiBsb2FkVW5kZXJsYXlEYXRhKCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8ubDN2cG5zZXJ2aWNlL29wZW5vYXBpL3Nkbm9sM3Zwbi92MS9sM3ZwbnMiOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkdFVCIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoImxvYWRpbmcgdW5kZXJsYXkgZGF0YSIpOw0KKyAgICAgICAgICAgICAgICAvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgdW5kZXJsYXkgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorZnVuY3Rpb24gZGVsZXRlVW5kZXJsYXlEYXRhKG9iamVjdElkKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5sM3ZwbnNlcnZpY2Uvb3Blbm9hcGkvc2Rub2wzdnBuL3YxL2wzdnBucy8iICsgb2JqZWN0SWQ7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiZGVsZXRpbmcgdW5kZXJsYXkgZGF0YSIpOw0KKyAgICAgICAgICAgICAgICAvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIHVuZGVybGF5IGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQorfQ0KK2Z1bmN0aW9uIGxvYWRPdmVybGF5RGF0YSgpIHsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLm92ZXJsYXl2cG5zZXJ2aWNlL29wZW5vYXBpL3Nkbm9vdmVybGF5dnBuL3YxL3NpdGUyZGMtdnBuIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJsb2FkaW5nIE92ZXJsYXkgZGF0YS4uLiIpOw0KKyAgICAgICAgICAgICAgICAvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgT3ZlcmxheXZwbiBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KK30NCitmdW5jdGlvbiByZWZyZXNzVHBEYXRhVGFibGUob3ZlcmxheVRhYmxlLCBUcFRhYmxlKSB7DQorICAgIGFsZXJ0KCJyZWZlc3NzaW5nIFRwIGRhdGEgdGFibGUiKTsNCit9DQorJChmdW5jdGlvbiAoKSB7DQorICAgICQuZm4uc2VyaWFsaXplT2JqZWN0ID0gZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIG8gPSB7fTsNCisgICAgICAgIHZhciBhID0gdGhpcy5zZXJpYWxpemVBcnJheSgpOw0KKyAgICAgICAgJC5lYWNoKGEsIGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICBpZiAob1t0aGlzLm5hbWVdICE9PSB1bmRlZmluZWQpIHsNCisgICAgICAgICAgICAgICAgaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgew0KKyAgICAgICAgICAgICAgICAgICAgb1t0aGlzLm5hbWVdID0gW29bdGhpcy5uYW1lXV07DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgb1t0aGlzLm5hbWVdLnB1c2godGhpcy52YWx1ZSB8fCAnJyk7DQorICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgb1t0aGlzLm5hbWVdID0gdGhpcy52YWx1ZSB8fCAnJzsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCisgICAgICAgIHJldHVybiBvOw0KKyAgICB9Ow0KKyAgICAkKCcjY3JlYXRlVW5kZXJsYXknKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdW5kZXJsYXlGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KKyAgICAgICAgYWxlcnQoZm9ybURhdGEpOw0KKyAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCisgICAgICAgIHZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5sM3ZwbnNlcnZpY2Uvb3Blbm9hcGkvc2Rub2wzdnBuL3YxL2wzdnBucyI7DQorICAgICAgICAkDQorICAgICAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQorICAgICAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YTogZm9ybURhdGEsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRGV0YWlscyBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgICAgIC8vdmFyIGRhdGEgPSBbanNvbm9iai5uYW1lLGpzb25vYmouaG9zdE5hbWUsanNvbm9iai5wcm9kdWN0TmFtZSxqc29ub2JqLnZlbmRvcixqc29ub2JqLmRlc2NyaXB0aW9uXTsNCisgICAgICAgICAgICAgICAgICAgIC8vVE9ETzogdXBkYXRlIHRoZSB0YWJsZQ0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisgICAgJCgnLnVuZGVybGF5TmFtZUxpbmsnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICBhbGVydCgiY29taW5nIGhlcmUiKTsNCisgICAgICAgIHZhciBkYXRhID0gJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCd0ZDpsYXN0JykuZmluZCgnZGl2Omxhc3QnKS5odG1sKCk7DQorICAgICAgICBhbGVydChkYXRhKTsNCisgICAgICAgIHZhciBqc29uT2JqID0gSlNPTi5wYXJzZShkYXRhKTsNCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwganNvbk9iai5sZW5ndGg7IGkrKykgew0KKyAgICAgICAgICAgIHZhciBvYmogPSBqc29uT2JqW2ldOw0KKyAgICAgICAgICAgIHZhciByb3dEYXRhID0gW29iai50cE5hbWUsIG9iai5wZU5hbWUsIG9iai52bGFuSWQsIG9iai5zaXRlQ2lkciwgb2JqLmlwXTsNCisgICAgICAgICAgICAkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLkRhdGFUYWJsZSgpOw0KKyAgICAgICAgICAgICQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuZGF0YVRhYmxlKCkuZm5BZGREYXRhKHJvd0RhdGEpOw0KKyAgICAgICAgfQ0KKw0KKyAgICB9KTsNCisNCiB9KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvanMvdnBuLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy92cG4uanMKaW5kZXggZWFhNTNlNi4uMWMyMjBmNiAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy92cG4uanMKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9qcy92cG4uanMKQEAgLTEzLDI5NSArMTMsMjk1IEBACiAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAgKi8NCiANCi0gDQotZnVuY3Rpb24gZGVsZXRlU2l0ZShvYmplY3RJZCl7DQotCWFsZXJ0KG9iamVjdElkKTsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL3NpdGVzIitvYmplY3RJZDsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIkRFTEVURSIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCQkJCWFsZXJ0KCJEZXRhaWxzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQotCQkJCQkJLy9UT0RPOiBVcGRhdGUgdGhlIHRhYmxlDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBzaXRlOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQorDQorZnVuY3Rpb24gZGVsZXRlU2l0ZShvYmplY3RJZCkgew0KKyAgICBhbGVydChvYmplY3RJZCk7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL3NpdGVzIiArIG9iamVjdElkOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkRFTEVURSIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkRldGFpbHMgZGVsZXRlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgLy9UT0RPOiBVcGRhdGUgdGhlIHRhYmxlDQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBzaXRlOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KLWZ1bmN0aW9uIGRlbGV0ZUxpbmsob2JqZWN0SWQpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvdG9wb2xvZ2ljYWwtbGlua3MiK29iamVjdElkOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiREVMRVRFIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoIkRldGFpbHMgZGVsZXRlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQkvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIGxpbmsgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQorZnVuY3Rpb24gZGVsZXRlTGluayhvYmplY3RJZCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcyIgKyBvYmplY3RJZDsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJERUxFVEUiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJEZXRhaWxzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgIC8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgbGluayA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCiB9DQogDQotZnVuY3Rpb24gZGVsZXRlTmUob2JqZWN0SWQpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL3Nkbm9icnMvdjEvbWFuYWdlZC1lbGVtZW50cyIrb2JqZWN0SWQ7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJERUxFVEUiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQlhbGVydCgiRGV0YWlscyBkZWxldGVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KLQkJCQkJCS8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgbmUgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQorZnVuY3Rpb24gZGVsZXRlTmUob2JqZWN0SWQpIHsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL3Nkbm9icnMvdjEvbWFuYWdlZC1lbGVtZW50cyIgKyBvYmplY3RJZDsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJERUxFVEUiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJEZXRhaWxzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgIC8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgbmUgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KIA0KLWZ1bmN0aW9uIGRlbGV0ZVBvcnQob2JqZWN0SWQpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiK29iamVjdElkOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiREVMRVRFIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoIkRldGFpbHMgZGVsZXRlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQkvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIHBvcnQgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQorZnVuY3Rpb24gZGVsZXRlUG9ydChvYmplY3RJZCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9sb2dpY2FsLXRlcm1pbmF0aW9uLXBvaW50cyIgKyBvYmplY3RJZDsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJERUxFVEUiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJEZXRhaWxzIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgIC8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgcG9ydCA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCiB9DQotZnVuY3Rpb24gbG9hZFNpdGVEYXRhKCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJHRVQiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQlhbGVydCgibG9hZGluZyBTaXRlIGRhdGEiKTsNCi0JCQkJCQkvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgc2l0ZSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KK2Z1bmN0aW9uIGxvYWRTaXRlRGF0YSgpIHsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvc2l0ZXMiOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkdFVCIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoImxvYWRpbmcgU2l0ZSBkYXRhIik7DQorICAgICAgICAgICAgICAgIC8vVE9ETzogVXBkYXRlIHRoZSB0YWJsZQ0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBzaXRlIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KLWZ1bmN0aW9uIGxvYWRMaW5rRGF0YSgpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvdG9wb2xvZ2ljYWwtbGlua3MiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiR0VUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoImxvYWRpbmcgTGluayBkYXRhIik7DQotCQkJCQkJLy9UT0RPOiBVcGRhdGUgdGhlIHRhYmxlDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIGxpbmsgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCitmdW5jdGlvbiBsb2FkTGlua0RhdGEoKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL3RvcG9sb2dpY2FsLWxpbmtzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJsb2FkaW5nIExpbmsgZGF0YSIpOw0KKyAgICAgICAgICAgICAgICAvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgbGluayBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KIH0NCi1mdW5jdGlvbiBsb2FkTmVEYXRhKCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIkdFVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCQkJCWFsZXJ0KCJsb2FkaW5nIE5FIGRhdGEiKTsNCi0JCQkJCQkvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgbmUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCitmdW5jdGlvbiBsb2FkTmVEYXRhKCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJsb2FkaW5nIE5FIGRhdGEiKTsNCisgICAgICAgICAgICAgICAgLy9UT0RPOiBVcGRhdGUgdGhlIHRhYmxlDQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIG5lIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgfSk7DQogfQ0KLWZ1bmN0aW9uIGxvYWRQb3J0RGF0YSgpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiR0VUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoImxvYWRpbmcgcG9ydCBkYXRhIik7DQotCQkJCQkJLy9UT0RPOiBVcGRhdGUgdGhlIHRhYmxlDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHBvcnQgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCitmdW5jdGlvbiBsb2FkUG9ydERhdGEoKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL2xvZ2ljYWwtdGVybWluYXRpb24tcG9pbnRzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJsb2FkaW5nIHBvcnQgZGF0YSIpOw0KKyAgICAgICAgICAgICAgICAvL1RPRE86IFVwZGF0ZSB0aGUgdGFibGUNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgcG9ydCBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KIH0NCi0kKGZ1bmN0aW9uKCl7DQotCQkJJCgnLmNyZWF0LWJ0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOidibG9jayd9KTsNCi0JCQkJDQotCQkJfSk7DQotCQkJJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJfSk7DQotCQkJJCgnLmRldGFpbC10b3AgdWwgbGknKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOw0KLQkJCX0pOw0KLQkJCSQoJy5wYXJhJykuY2xpY2soZnVuY3Rpb24oKXsJCQkJDQotCQkJCWlmKCQoJyNzZXJ2aWNlVGVtcGxhdGVOYW1lJykudmFsKCkgPT0gJycpew0KLQkJCQkJYWxlcnQoJ1BsZWFzZSBjaG9vc2UgdGhlIHNlcnZpY2UgdGVtcGxldO+8gScpOw0KLQkJCQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQkJfWVsc2V7DQotCQkJCQkkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCi0JCQkJfQ0KLQkJCQkkKCcjYmFzaWNUYWInKS5jc3MoJ2Rpc3BsYXknLCdibG9jaycpOw0KLQkJCX0pOw0KLQkJCSQoJy5iYXNpYycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJfSk7DQotCQkJDQotCQkJJCgnLnRhYmxlIHRib2R5IHRyJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCh0aGlzKS5hZGRDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdvcGVub1RhYmxlX3Jvd19zZWxlY3RlZCcpOw0KLQkJCX0pOw0KLQkJCSQoJy50YWJsZSB0cjpvZGQnKS5hZGRDbGFzcygnYWN0aXZlJyk7DQotCQkJJCgnI2ZhbHNlJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsnZGlzcGxheSc6J2Jsb2NrJ30pOw0KLQkJCX0pOw0KLQkJCSQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQkJCX0pOw0KLQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykudG9nZ2xlQ2xhc3MoJ29wZW5vLWhpZGUnKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS50b2dnbGVDbGFzcygnb3Blbm8tZm9jdXMnKTsNCi0JCQkJdmFyIG9MZWZ0ID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkubGVmdDsNCi0JCQl2YXIgb1RvcCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLm9mZnNldCgpLnRvcDsNCi0JCQl2YXIgb0hlaWdodCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLmhlaWdodCgpOw0KLQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmNzcyh7J2xlZnQnOm9MZWZ0LCd0b3AnOm9Ub3AgKyBvSGVpZ2h0ICsgMTB9KTsNCi0JCQl9KTsNCi0JCQkkKCdkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0+bGFiZWwnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQl2YXIgTHZhbHVlID0gJCh0aGlzKS5odG1sKCk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9pbnB1dCcpLmF0dHIoJ3ZhbHVlJyxMdmFsdWUpOw0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5hZGRDbGFzcygnb3Blbm8taGlkZScpOw0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnJlbW92ZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KLQkJCX0pOw0KLQkJCSQuZm4uc2VyaWFsaXplT2JqZWN0ID0gZnVuY3Rpb24oKSB7DQotCQkJCXZhciBvID0ge307DQotCQkJCXZhciBhID0gdGhpcy5zZXJpYWxpemVBcnJheSgpOw0KLQkJCQkkLmVhY2goYSwgZnVuY3Rpb24oKSB7DQotCQkJCQlpZiAob1t0aGlzLm5hbWVdICE9PSB1bmRlZmluZWQpIHsNCi0JCQkJCQlpZiAoIW9bdGhpcy5uYW1lXS5wdXNoKSB7DQotCQkJCQkJCW9bdGhpcy5uYW1lXSA9IFsgb1t0aGlzLm5hbWVdIF07DQotCQkJCQkJfQ0KLQkJCQkJb1t0aGlzLm5hbWVdLnB1c2godGhpcy52YWx1ZSB8fCAnJyk7DQotCQkJCQl9IGVsc2Ugew0KLQkJCQkJCW9bdGhpcy5uYW1lXSA9IHRoaXMudmFsdWUgfHwgJyc7DQotCQkJCQl9DQotCQkJCX0pOw0KLQkJCXJldHVybiBvOw0KLQkJCX07DQotCQkJJCgnI2NyZWF0ZVNpdGUnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQl2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdm1BcHBGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KLQkJCQlhbGVydChmb3JtRGF0YSk7DQotCQkgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQotCQkgICAgICAgIHZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJQT1NUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCWRhdGFUeXBlIDogImpzb24iLA0KLQkJCQkJZGF0YSA6IGZvcm1EYXRhLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQlhbGVydCgiRGV0YWlscyBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQl2YXIgZGF0YSA9IFtqc29ub2JqLm5hbWUsanNvbm9iai5ob3N0TmFtZSxqc29ub2JqLnByb2R1Y3ROYW1lLGpzb25vYmoudmVuZG9yLGpzb25vYmouZGVzY3JpcHRpb25dOw0KLQkJCQkJCSQoJyNleGFtcGxlJykuZGF0YVRhYmxlKCkuZm5BZGREYXRhKGRhdGEpOw0KLQkJCQkJCSQoJy5tb2RhbCcpLm1vZGFsKCdoaWRlJyk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLQkJCX0pOw0KLQkJCQ0KLQkJCSQoJyNjcmVhdGVOZScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCXZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNuZUZvcm0iKS5zZXJpYWxpemVPYmplY3QoKSk7DQotCQkJCWFsZXJ0KGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9zZG5vYnJzL3YxL21hbmFnZWQtZWxlbWVudHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJCWRhdGEgOiBmb3JtRGF0YSwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoIkRldGFpbHMgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQotCQkJCQkJdmFyIGRhdGEgPSBbanNvbm9iai5uYW1lLGpzb25vYmouaG9zdE5hbWUsanNvbm9iai5wcm9kdWN0TmFtZSxqc29ub2JqLnZlbmRvcixqc29ub2JqLmRlc2NyaXB0aW9uXTsNCi0JCQkJCQkkKCcjZXhhbXBsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShkYXRhKTsNCi0JCQkJCQkkKCcubW9kYWwnKS5tb2RhbCgnaGlkZScpOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQl9KTsNCi0JCQkNCi0JCQkkKCcjY3JlYXRlUG9ydCcpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCXZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNwb3J0Rm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCQkJYWxlcnQoZm9ybURhdGEpOw0KLQkJICAgICAgICB2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KLQkJICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJCWRhdGEgOiBmb3JtRGF0YSwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoIkRldGFpbHMgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQotCQkJCQkJdmFyIGRhdGEgPSBbanNvbm9iai5uYW1lLGpzb25vYmouaG9zdE5hbWUsanNvbm9iai5wcm9kdWN0TmFtZSxqc29ub2JqLnZlbmRvcixqc29ub2JqLmRlc2NyaXB0aW9uXTsNCi0JCQkJCQkkKCcjZXhhbXBsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShkYXRhKTsNCi0JCQkJCQkkKCcubW9kYWwnKS5tb2RhbCgnaGlkZScpOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQl9KTsNCi0JCQkNCi0JCQkkKCcjY3JlYXRlTGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCXZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNsaW5rRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCQkJYWxlcnQoZm9ybURhdGEpOw0KLQkJICAgICAgICB2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KLQkJICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvdG9wb2xvZ2ljYWwtbGlua3MiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJCWRhdGEgOiBmb3JtRGF0YSwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJYWxlcnQoIkRldGFpbHMgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQotCQkJCQkJdmFyIGRhdGEgPSBbanNvbm9iai5uYW1lLGpzb25vYmouaG9zdE5hbWUsanNvbm9iai5wcm9kdWN0TmFtZSxqc29ub2JqLnZlbmRvcixqc29ub2JqLmRlc2NyaXB0aW9uXTsNCi0JCQkJCQkkKCcjZXhhbXBsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShkYXRhKTsNCi0JCQkJCQkkKCcubW9kYWwnKS5tb2RhbCgnaGlkZScpOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQl9KTsNCi0JCQkNCi0JCX0pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorJChmdW5jdGlvbiAoKSB7DQorICAgICQoJy5jcmVhdC1idG4nKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeydkaXNwbGF5JzogJ2Jsb2NrJ30pOw0KKw0KKyAgICB9KTsNCisgICAgJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKyAgICB9KTsNCisgICAgJCgnLmRldGFpbC10b3AgdWwgbGknKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOw0KKyAgICB9KTsNCisgICAgJCgnLnBhcmEnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICBpZiAoJCgnI3NlcnZpY2VUZW1wbGF0ZU5hbWUnKS52YWwoKSA9PSAnJykgew0KKyAgICAgICAgICAgIGFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsNCisgICAgICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgJCgnI2Jhc2ljVGFiJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7DQorICAgIH0pOw0KKyAgICAkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgfSk7DQorDQorICAgICQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsNCisgICAgfSk7DQorICAgICQoJy50YWJsZSB0cjpvZGQnKS5hZGRDbGFzcygnYWN0aXZlJyk7DQorICAgICQoJyNmYWxzZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOiAnYmxvY2snfSk7DQorICAgIH0pOw0KKyAgICAkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgIH0pOw0KKyAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKCdvcGVuby1oaWRlJyk7DQorICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICAgICAgdmFyIG9MZWZ0ID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkubGVmdDsNCisgICAgICAgIHZhciBvVG9wID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkudG9wOw0KKyAgICAgICAgdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmNzcyh7J2xlZnQnOiBvTGVmdCwgJ3RvcCc6IG9Ub3AgKyBvSGVpZ2h0ICsgMTB9KTsNCisgICAgfSk7DQorICAgICQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBMdmFsdWUgPSAkKHRoaXMpLmh0bWwoKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9pbnB1dCcpLmF0dHIoJ3ZhbHVlJywgTHZhbHVlKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmFkZENsYXNzKCdvcGVuby1oaWRlJyk7DQorICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnJlbW92ZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICB9KTsNCisgICAgJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgbyA9IHt9Ow0KKyAgICAgICAgdmFyIGEgPSB0aGlzLnNlcmlhbGl6ZUFycmF5KCk7DQorICAgICAgICAkLmVhY2goYSwgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIGlmIChvW3RoaXMubmFtZV0gIT09IHVuZGVmaW5lZCkgew0KKyAgICAgICAgICAgICAgICBpZiAoIW9bdGhpcy5uYW1lXS5wdXNoKSB7DQorICAgICAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSBbb1t0aGlzLm5hbWVdXTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KKyAgICAgICAgcmV0dXJuIG87DQorICAgIH07DQorICAgICQoJyNjcmVhdGVTaXRlJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI3ZtQXBwRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCisgICAgICAgIGFsZXJ0KGZvcm1EYXRhKTsNCisgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQorICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcyI7DQorICAgICAgICAkDQorICAgICAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQorICAgICAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YTogZm9ybURhdGEsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRGV0YWlscyBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gW2pzb25vYmoubmFtZSwganNvbm9iai5ob3N0TmFtZSwganNvbm9iai5wcm9kdWN0TmFtZSwganNvbm9iai52ZW5kb3IsIGpzb25vYmouZGVzY3JpcHRpb25dOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnI2V4YW1wbGUnKS5kYXRhVGFibGUoKS5mbkFkZERhdGEoZGF0YSk7DQorICAgICAgICAgICAgICAgICAgICAkKCcubW9kYWwnKS5tb2RhbCgnaGlkZScpOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisNCisgICAgJCgnI2NyZWF0ZU5lJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI25lRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCisgICAgICAgIGFsZXJ0KGZvcm1EYXRhKTsNCisgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQorICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCisgICAgICAgICQNCisgICAgICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwNCisgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwNCisgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJEZXRhaWxzIHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KKyAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSBbanNvbm9iai5uYW1lLCBqc29ub2JqLmhvc3ROYW1lLCBqc29ub2JqLnByb2R1Y3ROYW1lLCBqc29ub2JqLnZlbmRvciwganNvbm9iai5kZXNjcmlwdGlvbl07DQorICAgICAgICAgICAgICAgICAgICAkKCcjZXhhbXBsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShkYXRhKTsNCisgICAgICAgICAgICAgICAgICAgICQoJy5tb2RhbCcpLm1vZGFsKCdoaWRlJyk7DQorICAgICAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfSk7DQorICAgIH0pOw0KKw0KKyAgICAkKCcjY3JlYXRlUG9ydCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNwb3J0Rm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCisgICAgICAgIGFsZXJ0KGZvcm1EYXRhKTsNCisgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQorICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9sb2dpY2FsLXRlcm1pbmF0aW9uLXBvaW50cyI7DQorICAgICAgICAkDQorICAgICAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQorICAgICAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YTogZm9ybURhdGEsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRGV0YWlscyBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gW2pzb25vYmoubmFtZSwganNvbm9iai5ob3N0TmFtZSwganNvbm9iai5wcm9kdWN0TmFtZSwganNvbm9iai52ZW5kb3IsIGpzb25vYmouZGVzY3JpcHRpb25dOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnI2V4YW1wbGUnKS5kYXRhVGFibGUoKS5mbkFkZERhdGEoZGF0YSk7DQorICAgICAgICAgICAgICAgICAgICAkKCcubW9kYWwnKS5tb2RhbCgnaGlkZScpOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisNCisgICAgJCgnI2NyZWF0ZUxpbmsnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjbGlua0Zvcm0iKS5zZXJpYWxpemVPYmplY3QoKSk7DQorICAgICAgICBhbGVydChmb3JtRGF0YSk7DQorICAgICAgICB2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KKyAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvdG9wb2xvZ2ljYWwtbGlua3MiOw0KKyAgICAgICAgJA0KKyAgICAgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLA0KKyAgICAgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAgICAgYWxlcnQoIkRldGFpbHMgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IFtqc29ub2JqLm5hbWUsIGpzb25vYmouaG9zdE5hbWUsIGpzb25vYmoucHJvZHVjdE5hbWUsIGpzb25vYmoudmVuZG9yLCBqc29ub2JqLmRlc2NyaXB0aW9uXTsNCisgICAgICAgICAgICAgICAgICAgICQoJyNleGFtcGxlJykuZGF0YVRhYmxlKCkuZm5BZGREYXRhKGRhdGEpOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnLm1vZGFsJykubW9kYWwoJ2hpZGUnKTsNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9KTsNCisgICAgfSk7DQorDQorfSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2xjbV9kZXRhaWxfbmZ2b19ub2Rlc2luZm8uaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvbGNtX2RldGFpbF9uZnZvX25vZGVzaW5mby5odG1sCmluZGV4IDc4MjI3MDYuLjVmYmM2MTEgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvbGNtX2RldGFpbF9uZnZvX25vZGVzaW5mby5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvbGNtX2RldGFpbF9uZnZvX25vZGVzaW5mby5odG1sCkBAIC0yMCw1NiArMjAsNTcgQEAKICAgICA8aGVhZCBsYW5nPSJlbiI+CiAgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgICAgICAgPHRpdGxlPjwvdGl0bGU+Ci0gICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2ZvbnQtYXdlc29tZS9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLSAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwL2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgotICAgICAgICA8bGluayBocmVmPSIuLi9jb21tb24vdGhpcmRwYXJ0eS91bmlmb3JtL2Nzcy91bmlmb3JtLmRlZmF1bHQubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgorICAgICAgICA8bGluayBocmVmPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9mb250LWF3ZXNvbWUvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KKyAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwL2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CisgICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L3VuaWZvcm0vY3NzL3VuaWZvcm0uZGVmYXVsdC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KICAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL2Nzcy9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgogICAgICAgICA8bGluayBocmVmPSIuLi9jb21tb24vY3NzL25naWN0LWNvbXBvbmVudC5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgogICAgICAgICA8bGluayBocmVmPSIuLi9jb21tb24vY3NzL3BsdWdpbnMuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KICAgICAgICAgPGxpbmsgaHJlZj0iLi4vY2F0YWxvZy9jc3MvcGxhdGZvcm0vYW5pbWF0ZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KICAgICAgICAgPGxpbmsgaHJlZj0iLi4vY2F0YWxvZy9jc3MvZGF0YXRhYmxlLXNvcnQuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KLSAgICAgICAgPGxpbmsgaHJlZj0iLi4vY2F0YWxvZy9jc3MvdGVtcGxhdGVEZXRhaWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci0gICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NhdGFsb2cvY3NzL3RvcG9sb2d5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgorICAgICAgICA8bGluayBocmVmPSIuLi9jYXRhbG9nL2Nzcy90ZW1wbGF0ZURldGFpbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgorICAgICAgICA8bGluayBocmVmPSIuLi9jYXRhbG9nL2Nzcy90b3BvbG9neS5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgogICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgICAgICAgLm1zLWNvbnRyb2xsZXIgewogICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgLm1zLW5vZGVkZXRhaWwgewogICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc3R5bGU+CiAgICAgPC9oZWFkPgogPGJvZHk+Ci0gICAgPGRpdiBtcy1jb250cm9sbGVyPSJ0bU5vZGVzQ29udHJvbGxlciIgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4KLSAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC1sZy02IHRpdGxlZm9udCI+Ci0gICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi10ZW1wbGF0ZS1ub2Rlcy1pdWktdGl0bGUiIG5hbWVfaTE4bj0iY29tX3p0ZV9uZnZfbnNvY19pMThuIj48L3NwYW4+Ci0gICAgICAgICAgICA8L2Rpdj4KKzxkaXYgbXMtY29udHJvbGxlcj0idG1Ob2Rlc0NvbnRyb2xsZXIiIGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+CisgICAgPGRpdiBjbGFzcz0icm93Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTYgY29sLW1kLTYgY29sLXNtLTYgY29sLWxnLTYgdGl0bGVmb250Ij4KKyAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdGVtcGxhdGUtbm9kZXMtaXVpLXRpdGxlIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPgogICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yLWxpbmUiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIiIGlkPSdpY3Rfbm9kZXNfdGVtcGxhdGVfdGFibGVfZGl2Jz48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvanF1ZXJ5L2pxdWVyeS0xLjEwLjIubWluLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9kYXRhLXRhYmxlcy9qcXVlcnkuZGF0YVRhYmxlcy5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2RhdGEtdGFibGVzL2pxdWVyeS5kYXRhVGFibGVzLm1pbi5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS5pMThuL2pxdWVyeS5pMThuLnByb3BlcnRpZXMtMS4wLjkuanMiPjwvc2NyaXB0PgotCi0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC1ncm93bC9ib290c3RyYXAtZ3Jvd2wubWluLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvYXZhbG9uL2F2YWxvbi5tb2Rlcm4uanMiPjwvc2NyaXB0PgotCi0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi9qcy90b29scy5qcyI+PC9zY3JpcHQ+Ci0KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy9jb21wb25lbnQvY29tbW9uVXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NhdGFsb2cvanMvY29tcG9uZW50L3NlcnZlclBhZ2VUYWJsZS5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NhdGFsb2cvanMvY29tcG9uZW50L2xvYWRpMThuX25zb2MuanMiPjwvc2NyaXB0PgotCi0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NhdGFsb2cvanMvdGVtcGxhdGUvdG1Ob2Rlc0RldGFpbFV0aWwuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jYXRhbG9nL2pzL3RlbXBsYXRlL3RtVXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3RtTm9kZXNDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy90ZW1wbGF0ZS90b3BvVXRpbC5qcyI+PC9zY3JpcHQ+CiAgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yLWxpbmUiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIiBpZD0naWN0X25vZGVzX3RlbXBsYXRlX3RhYmxlX2Rpdic+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9qcXVlcnkvanF1ZXJ5LTEuMTAuMi5taW4uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9kYXRhLXRhYmxlcy9qcXVlcnkuZGF0YVRhYmxlcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvZGF0YS10YWJsZXMvanF1ZXJ5LmRhdGFUYWJsZXMubWluLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9qcXVlcnkuaTE4bi9qcXVlcnkuaTE4bi5wcm9wZXJ0aWVzLTEuMC45LmpzIj48L3NjcmlwdD4KKworICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC1ncm93bC9ib290c3RyYXAtZ3Jvd2wubWluLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9hdmFsb24vYXZhbG9uLm1vZGVybi5qcyI+PC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vanMvdG9vbHMuanMiPjwvc2NyaXB0PgorCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy9jb21wb25lbnQvY29tbW9uVXRpbC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy9jb21wb25lbnQvc2VydmVyUGFnZVRhYmxlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jYXRhbG9nL2pzL2NvbXBvbmVudC9sb2FkaTE4bl9uc29jLmpzIj48L3NjcmlwdD4KKworICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NhdGFsb2cvanMvdGVtcGxhdGUvdG1Ob2Rlc0RldGFpbFV0aWwuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NhdGFsb2cvanMvdGVtcGxhdGUvdG1VdGlsLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy90bU5vZGVzQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy90ZW1wbGF0ZS90b3BvVXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2xjbV9kZXRhaWxfbmZ2b190b3BvbG9neS5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9sY21fZGV0YWlsX25mdm9fdG9wb2xvZ3kuaHRtbAppbmRleCA3ZWJiNDExLi40ZTgyNjg2IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL2xjbV9kZXRhaWxfbmZ2b190b3BvbG9neS5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvbGNtX2RldGFpbF9uZnZvX3RvcG9sb2d5Lmh0bWwKQEAgLTIwLDExMSArMjAsMTI1IEBACiAgICAgPGhlYWQgbGFuZz0iZW4iPgogICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgICAgIDx0aXRsZT48L3RpdGxlPgotICAgICAgICA8bGluayBocmVmPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9mb250LWF3ZXNvbWUvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci0gICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLSAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL3RoaXJkcGFydHkvdW5pZm9ybS9jc3MvdW5pZm9ybS5kZWZhdWx0Lm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KKyAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL3RoaXJkcGFydHkvZm9udC1hd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CisgICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2Jvb3RzdHJhcC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgorICAgICAgICA8bGluayBocmVmPSIuLi9jb21tb24vdGhpcmRwYXJ0eS91bmlmb3JtL2Nzcy91bmlmb3JtLmRlZmF1bHQubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CiAgICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NvbW1vbi9jc3Mvc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KICAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL2Nzcy9uZ2ljdC1jb21wb25lbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KICAgICAgICAgPGxpbmsgaHJlZj0iLi4vY29tbW9uL2Nzcy9wbHVnaW5zLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CiAgICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NhdGFsb2cvY3NzL3BsYXRmb3JtL2FuaW1hdGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CiAgICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NhdGFsb2cvY3NzL2RhdGF0YWJsZS1zb3J0LmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+Ci0gICAgICAgIDxsaW5rIGhyZWY9Ii4uL2NhdGFsb2cvY3NzL3RlbXBsYXRlRGV0YWlsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgotICAgICAgICA8bGluayBocmVmPSIuLi9jYXRhbG9nL2Nzcy90b3BvbG9neS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KKyAgICAgICAgPGxpbmsgaHJlZj0iLi4vY2F0YWxvZy9jc3MvdGVtcGxhdGVEZXRhaWwuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KKyAgICAgICAgPGxpbmsgaHJlZj0iLi4vY2F0YWxvZy9jc3MvdG9wb2xvZ3kuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAgICAgIC5tcy1jb250cm9sbGVyIHsKICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIC5tcy1ub2RlZGV0YWlsIHsKICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgICAgICAgfQogICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KIDxib2R5PgotICAgIDxkaXYgbXMtY29udHJvbGxlcj0idG1Ub3BvQ29udHJvbGxlciIgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4KLSAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy02IGNvbC1tZC02IGNvbC1zbS02IGNvbC1sZy02IHRpdGxlZm9udCI+Ci0gICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi10ZW1wbGF0ZS10b3BvLWl1aS10aXRsZSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4KKzxkaXYgbXMtY29udHJvbGxlcj0idG1Ub3BvQ29udHJvbGxlciIgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4KKyAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtNiBjb2wtbWQtNiBjb2wtc20tNiBjb2wtbGctNiB0aXRsZWZvbnQiPgorICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi10ZW1wbGF0ZS10b3BvLWl1aS10aXRsZSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yLWxpbmUiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CisgICAgICAgIDxkaXYgaWQ9Im5ldHdvcmtzIiBzdHlsZT0iZmxvYXQ6bGVmdDtkaXNwbGF5OmlubGluZS1ibG9jayI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXR3b3Jrc0NvbnRhaW5lciI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV0d29yayIgbXMtcmVwZWF0LW5ldHdvcms9InRvcG9sb2d5VGFiLm5ldHdvcmtUb3BvRGF0YXMiPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lIiB0b29sdGlwPSIiIG1zLWF0dHItdGl0bGU9Im5ldHdvcmsubmFtZSIgbXMtaWY9Im5ldHdvcmsubmFtZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICBtcy1jbGljaz0idG9wb2xvZ3lUYWIuJHNob3dUb3BvKG5ldHdvcmsuaWQsIG5ldHdvcmsubmFtZSkiPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0idG9wb2xvZ3lUYWIuaXNTaG93TnVtIiBtcy10ZXh0PSJuZXR3b3JrLm51bSIgY2xhc3M9ImJhZGdlIj4wPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e25ldHdvcmsubmFtZX19PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibmV0IiBtcy1yZXBlYXQtc3VibmV0PSJuZXR3b3JrLnN1Ym5ldHMiPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGluZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmxhbiIgbXMtYXR0ci1pZD0ic3VibmV0LmlkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXMtY3NzLWJhY2tncm91bmQtY29sb3I9InRvcG9sb2d5VGFiLiRnZXRDb2xvcigkaW5kZXgrJG91dGVyLiRpbmRleCkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1hdHRyLXRpdGxlPSJzdWJuZXQubmFtZSIgbXMtY2xpY2s9InRvcG9sb2d5VGFiLiRzaG93VG9wbyhzdWJuZXQuaWQsIHN1Ym5ldC5uYW1lKSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbXMtaWY9InRvcG9sb2d5VGFiLmlzU2hvd051bSIgbXMtdGV4dD0ic3VibmV0Lm51bSIgY2xhc3M9ImJhZGdlIj4wPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7c3VibmV0Lm5hbWV9fTwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNpZHIiIG1zLXRleHQ9InRvcG9sb2d5VGFiLiRnZXRDaWRyKHN1Ym5ldC5wcm9wZXJ0aWVzKSI+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS1lbmQgcmVwZWF0IG5ldHdvcmsuc3VibmV0cy0tPgorICAgICAgICAgICAgICAgIDwvZGl2PjwhLS1lbmQgcmVwZWF0IHRvcG9sb2d5VGFiLm5ldHdvcmtUb3BvRGF0YXMtLT4KICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yLWxpbmUiPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPgotICAgICAgICAgICAgPGRpdiBpZD0ibmV0d29ya3MiIHN0eWxlPSJmbG9hdDpsZWZ0O2Rpc3BsYXk6aW5saW5lLWJsb2NrIj4KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXR3b3Jrc0NvbnRhaW5lciI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5ldHdvcmsiIG1zLXJlcGVhdC1uZXR3b3JrPSJ0b3BvbG9neVRhYi5uZXR3b3JrVG9wb0RhdGFzIj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hbWUiIHRvb2x0aXA9IiIgbXMtYXR0ci10aXRsZT0ibmV0d29yay5uYW1lIiBtcy1pZj0ibmV0d29yay5uYW1lIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1jbGljaz0idG9wb2xvZ3lUYWIuJHNob3dUb3BvKG5ldHdvcmsuaWQsIG5ldHdvcmsubmFtZSkiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbXMtaWY9InRvcG9sb2d5VGFiLmlzU2hvd051bSIgbXMtdGV4dD0ibmV0d29yay5udW0iIGNsYXNzPSJiYWRnZSI+MDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7bmV0d29yay5uYW1lfX08L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym5ldCIgbXMtcmVwZWF0LXN1Ym5ldD0ibmV0d29yay5zdWJuZXRzIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmxhbiIgbXMtYXR0ci1pZD0ic3VibmV0LmlkIiBtcy1jc3MtYmFja2dyb3VuZC1jb2xvcj0idG9wb2xvZ3lUYWIuJGdldENvbG9yKCRpbmRleCskb3V0ZXIuJGluZGV4KSIgbXMtYXR0ci10aXRsZT0ic3VibmV0Lm5hbWUiIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1RvcG8oc3VibmV0LmlkLCBzdWJuZXQubmFtZSkiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0idG9wb2xvZ3lUYWIuaXNTaG93TnVtIiBtcy10ZXh0PSJzdWJuZXQubnVtIiBjbGFzcz0iYmFkZ2UiPjA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7c3VibmV0Lm5hbWV9fTwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjaWRyIiBtcy10ZXh0PSJ0b3BvbG9neVRhYi4kZ2V0Q2lkcihzdWJuZXQucHJvcGVydGllcykiPjwvcD4KKyAgICAgICAgPGRpdiBpZD0idG9wbyIgc3R5bGU9ImZsb2F0OmxlZnQ7ZGlzcGxheTppbmxpbmUtYmxvY2siPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRvcG9fem9uZSI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnBDb250YWluZXIiIG1zLWVhY2gtaG9zdD0idG9wb2xvZ3lUYWIuYm94VG9wb0RhdGFzIj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgbXMtYXR0ci1pZD0iaG9zdC5pZCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlQcm9ncmVzcyIgc2l6ZT0iNTUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImdzLW5vZGUtaWNvbiBmYSBmYS1kZXNrdG9wIj48L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1zLWlmPSJ0b3BvbG9neVRhYi5pc1Nob3dOdW0iIG1zLXRleHQ9Imhvc3QubnVtIiBjbGFzcz0iYmFkZ2UiPjE8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsQ2lyY2xlIiBtcy1yZXBlYXQtY3A9Imhvc3QuY3AiIG1zLWF0dHItaWQ9ImNwLmlkIiBtcy10aXRsZT0iY3AubmFtZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1jbGljaz0idG9wb2xvZ3lUYWIuJHNob3dUb3BvKGNwLmlkLGNwLm5hbWUpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNzcy10b3A9InRvcG9sb2d5VGFiLiRnZXRDcFRvcCgkaW5kZXgsaG9zdC5pZCkiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImdzLWNwLWljb24gZmEgZmEtY3JlZGl0LWNhcmQiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tZW5kIHJlcGVhdCBuZXR3b3JrLnN1Ym5ldHMtLT4KLSAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLWVuZCByZXBlYXQgdG9wb2xvZ3lUYWIubmV0d29ya1RvcG9EYXRhcy0tPgotICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGlkPSJ0b3BvIiBzdHlsZT0iZmxvYXQ6bGVmdDtkaXNwbGF5OmlubGluZS1ibG9jayI+Ci0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRvcG9fem9uZSI+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJwQ29udGFpbmVyIiBtcy1lYWNoLWhvc3Q9InRvcG9sb2d5VGFiLmJveFRvcG9EYXRhcyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgbXMtYXR0ci1pZD0iaG9zdC5pZCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpUHJvZ3Jlc3MiIHNpemU9IjU1Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImdzLW5vZGUtaWNvbiBmYSBmYS1kZXNrdG9wIiA+PC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbXMtaWY9InRvcG9sb2d5VGFiLmlzU2hvd051bSIgbXMtdGV4dD0iaG9zdC5udW0iIGNsYXNzPSJiYWRnZSI+MTwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbWFsbENpcmNsZSIgbXMtcmVwZWF0LWNwPSJob3N0LmNwIiBtcy1hdHRyLWlkPSJjcC5pZCIgbXMtdGl0bGU9ImNwLm5hbWUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1RvcG8oY3AuaWQsY3AubmFtZSkiIG1zLWNzcy10b3A9InRvcG9sb2d5VGFiLiRnZXRDcFRvcCgkaW5kZXgsaG9zdC5pZCkiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJncy1jcC1pY29uIGZhIGZhLWNyZWRpdC1jYXJkIiA+PC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWQiIG1zLWhvdmVyPSJib3hIb3ZlciIgdG9vbHRpcCBtcy1hdHRyLXRpdGxlPSJob3N0Lm5hbWUiIG1zLXRleHQ9Imhvc3QubmFtZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1RvcG8oaG9zdC5pZCwgaG9zdC5uYW1lKSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG9sZGVyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmVzdCIgbXMtaWY9Imhvc3Qudm5mZGlkIiBtcy1jbGljaz0idG9wb2xvZ3lUYWIuJHNob3dWbmZUb3BvKGhvc3Qudm5mZGlkKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1hdHRyLXRpdGxlPSJ0b3BvbG9neVRhYi52bmZUaXAiPjwhLS0gb25seSBkaXNwbGF5IG5lc3RlZCBucyB0ZW1wbGF0ZSAgLS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbHVzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtcGx1cyIgc3R5bGU9ImNvbG9yOiAjM2FhZWRhOyI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkIiAgbXMtaG92ZXI9ImJveEhvdmVyIiB0b29sdGlwICBtcy1hdHRyLXRpdGxlPSJob3N0Lm5hbWUiIG1zLXRleHQ9Imhvc3QubmFtZSIgbXMtY2xpY2s9InRvcG9sb2d5VGFiLiRzaG93VG9wbyhob3N0LmlkLCBob3N0Lm5hbWUpIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhvbGRlciI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXN0IiBtcy1pZj0iaG9zdC52bmZkaWQiIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1ZuZlRvcG8oaG9zdC52bmZkaWQpIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1hdHRyLXRpdGxlPSJ0b3BvbG9neVRhYi52bmZUaXAiPjwhLS0gb25seSBkaXNwbGF5IG5lc3RlZCBucyB0ZW1wbGF0ZSAgLS0+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGx1cyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1wbHVzIiBzdHlsZT0iY29sb3I6ICMzYWFlZGE7Ij48L2k+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbXMtZWFjaC1ib3g9Imhvc3QuY2hpbGRyZW4iID48IS0tIG5nUmVwZWF0OiBub2RlIGluIG1hcCB0cmFjayBieSBub2RlLm5hbWUgLS0+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBtcy1hdHRyLWlkPSJib3guaWQiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlQcm9ncmVzcyIgc2l6ZT0iNTUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJncy1ub2RlLWljb24gZmEgZmEtY29ncyI+PC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1zLWlmPSJ0b3BvbG9neVRhYi5pc1Nob3dOdW0iIG1zLXRleHQ9ImJveC5udW0iIGNsYXNzPSJiYWRnZSI+MTwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsQ2lyY2xlIiBtcy1yZXBlYXQtY3A9ImJveC5jcCIgbXMtYXR0ci1pZD0iY3AuaWQiIG1zLXRpdGxlPSJjcC5uYW1lIiBtcy1jbGljaz0idG9wb2xvZ3lUYWIuJHNob3dUb3BvKGNwLmlkLGNwLm5hbWUpIiBtcy1jc3MtdG9wPSJ0b3BvbG9neVRhYi4kZ2V0Q3BUb3AoJGluZGV4LGJveC5pZCkiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZ3MtY3AtaWNvbiBmYSBmYS1jcmVkaXQtY2FyZCIgPjwvaT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1lYWNoLWJveD0iaG9zdC5jaGlsZHJlbiI+PCEtLSBuZ1JlcGVhdDogbm9kZSBpbiBtYXAgdHJhY2sgYnkgbm9kZS5uYW1lIC0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3giIG1zLWF0dHItaWQ9ImJveC5pZCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpUHJvZ3Jlc3MiIHNpemU9IjU1Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImdzLW5vZGUtaWNvbiBmYSBmYS1jb2dzIj48L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0idG9wb2xvZ3lUYWIuaXNTaG93TnVtIiBtcy10ZXh0PSJib3gubnVtIiBjbGFzcz0iYmFkZ2UiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWQiICBtcy1ob3Zlcj0iYm94SG92ZXIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9IiIgbXMtY2xpY2s9InRvcG9sb2d5VGFiLiRzaG93VG9wbyhib3guaWQsIGJveC5uYW1lKSIgbXMtYXR0ci10aXRsZT0iYm94Lm5hbWUiIG1zLXRleHQ9ImJveC5uYW1lIj48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhvbGRlciIgPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbXMtZWFjaC1hcHA9ImJveC5jaGlsZHJlbiI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbmdSZXBlYXQ6IG5vZGUgaW4gbWFwIHRyYWNrIGJ5IG5vZGUubmFtZSAtLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPSJhcHAiIG1zLWF0dHItaWQ9ImFwcC5pZCIgIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1RvcG8oYXBwLmlkLCBhcHAubmFtZSkiIG1zLWhvdmVyPSJhcHBIb3ZlciI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlQcm9ncmVzcyIgc2l6ZT0iNTUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiID4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJncy1ub2RlLWljb24gZmEgZmEtY29nIiA+PC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0idG9wb2xvZ3lUYWIuaXNTaG93TnVtIiBtcy10ZXh0PSJhcHAubnVtIiBjbGFzcz0iYmFkZ2UiPjE8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtYWxsQ2lyY2xlIiBtcy1yZXBlYXQtY3A9ImJveC5jcCIgbXMtYXR0ci1pZD0iY3AuaWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLXRpdGxlPSJjcC5uYW1lIiBtcy1jbGljaz0idG9wb2xvZ3lUYWIuJHNob3dUb3BvKGNwLmlkLGNwLm5hbWUpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1jc3MtdG9wPSJ0b3BvbG9neVRhYi4kZ2V0Q3BUb3AoJGluZGV4LGJveC5pZCkiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJncy1jcC1pY29uIGZhIGZhLWNyZWRpdC1jYXJkIj48L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWQiIG1zLWhvdmVyPSJib3hIb3ZlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwPSIiIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1RvcG8oYm94LmlkLCBib3gubmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXMtYXR0ci10aXRsZT0iYm94Lm5hbWUiIG1zLXRleHQ9ImJveC5uYW1lIj48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaG9sZGVyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbXMtZWFjaC1hcHA9ImJveC5jaGlsZHJlbiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBuZ1JlcGVhdDogbm9kZSBpbiBtYXAgdHJhY2sgYnkgbm9kZS5uYW1lIC0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcCIgbXMtYXR0ci1pZD0iYXBwLmlkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNsaWNrPSJ0b3BvbG9neVRhYi4kc2hvd1RvcG8oYXBwLmlkLCBhcHAubmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXMtaG92ZXI9ImFwcEhvdmVyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpUHJvZ3Jlc3MiIHNpemU9IjU1Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZ3Mtbm9kZS1pY29uIGZhIGZhLWNvZyI+PC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1zLWlmPSJ0b3BvbG9neVRhYi5pc1Nob3dOdW0iIG1zLXRleHQ9ImFwcC5udW0iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImJhZGdlIj4xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHRvb2x0aXA9IiIgbXMtYXR0ci1pZD0iYXBwLmlkIiBtcy1hdHRyLXRpdGxlPSJhcHAubmFtZSIgbXMtdGV4dD0iYXBwLm5hbWUiPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgdG9vbHRpcD0iIiBtcy1hdHRyLWlkPSJhcHAuaWQiIG1zLWF0dHItdGl0bGU9ImFwcC5uYW1lIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXMtdGV4dD0iYXBwLm5hbWUiPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIG5nUmVwZWF0OiBub2RlIGluIG1hcCB0cmFjayBieSBub2RlLm5hbWUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBuZ0lmOiBub2RlLmlzQXBwID09IGZhbHNlIC0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBuZ1JlcGVhdDogbm9kZSBpbiBtYXAgdHJhY2sgYnkgbm9kZS5uYW1lIC0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIG5nUmVwZWF0OiBub2RlIGluIG1hcCB0cmFjayBieSBub2RlLm5hbWUgLS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmQgbmdJZjogbm9kZS5pc0FwcCA9PSBmYWxzZSAtLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBuZ1JlcGVhdDogbm9kZSBpbiBtYXAgdHJhY2sgYnkgbm9kZS5uYW1lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpAQCAtMTMyLDgwICsxNDYsODMgQEAKICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDxkaXY+Ci0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29vcmRpbmF0ZXMiPgotICAgICAgICAgICAgICAgICAgICA8c3ZnIGlkPSJzdmdfdmwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InNpbHZlciI+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAwKSIgPgotICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgotICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb29yZGluYXRlcyIgc3R5bGU9InotaW5kZXg6MzsiPgotICAgICAgICAgICAgICAgICAgICA8c3ZnIGlkPSJzdmdfdmR1IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJzaWx2ZXIiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMCkiID4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93aGVhZCIgdmlld0JveD0iMCAwIDIwIDIwIiByZWZYPSIxNiIgcmVmWT0iMTAiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFya2VyV2lkdGg9IjE2IiBtYXJrZXJIZWlnaHQ9IjEyIiBvcmllbnQ9ImF1dG8iIGZpbGw9IiM3QTdBN0EiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNIDAgMCBMIDIwIDEwIEwgMCAyMCB6Ij48L3BhdGg+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+Ci0gICAgICAgICAgICAgICAgICAgIDwvc3ZnPgotICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvb3JkaW5hdGVzIj4KKyAgICAgICAgICAgICAgICA8c3ZnIGlkPSJzdmdfdmwiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InNpbHZlciI+CisgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDApIj4KKyAgICAgICAgICAgICAgICAgICAgPC9nPgorICAgICAgICAgICAgICAgIDwvc3ZnPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb29yZGluYXRlcyIgc3R5bGU9InotaW5kZXg6MzsiPgorICAgICAgICAgICAgICAgIDxzdmcgaWQ9InN2Z192ZHUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InNpbHZlciI+CisgICAgICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDApIj4KKyAgICAgICAgICAgICAgICAgICAgPC9nPgorICAgICAgICAgICAgICAgICAgICA8ZGVmcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93aGVhZCIgdmlld0JveD0iMCAwIDIwIDIwIiByZWZYPSIxNiIgcmVmWT0iMTAiIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VyV2lkdGg9IjE2IiBtYXJrZXJIZWlnaHQ9IjEyIiBvcmllbnQ9ImF1dG8iIGZpbGw9IiM3QTdBN0EiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMCAwIEwgMjAgMTAgTCAwIDIwIHoiPjwvcGF0aD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFya2VyPgorICAgICAgICAgICAgICAgICAgICA8L2RlZnM+CisgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgPC9kaXY+Ci0KLSAgICAgICAgPGRpdiBpZD0icmlnaHQtbWVudSIgY2xhc3M9Im1zLW5vZGVkZXRhaWwiIG1zLWNzcy1kaXNwbGF5PSJub2Rlc0RldGFpbC5pc1Nob3ciPgotICAgICAgICAgICAgPGRpdj4KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+PGg0Pnt7bm9kZXNEZXRhaWwuZGV0YWlsVGl0bGV9fTwvaDQ+Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJpZ3RoIHJpZ2h0LWJ1dHRvbi1wb2ludGVyIiBtcy1jbGljaz0ibm9kZXNEZXRhaWwuJHNob3dEZXRhaWxzKCdub25lJykiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdGVtcGxhdGVEZXRhaWwtbm9kZXNUYWItaXVpLWJ0bi1jbG9zZSIgbmFtZV9pMThuPSJjb21fenRlX25mdl9uc29jX2kxOG4iPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8ZGl2PgotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiID4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBtcy1yZXBlYXQ9Im5vZGVzRGV0YWlsLmRldGFpbERhdGEiIG1zLWNsaWNrPSJub2Rlc0RldGFpbC5kZXRhaWxDb25kQ2hhbmdlKCRpbmRleCkiIG1zLWF0dHItaWQ9ImVsLmlkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcy1jbGFzcz0iYWN0aXZlOiBlbC5pc0FjdGl2ZSI+e3tlbC5uYW1lfX0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0ibm9kZXNEZXRhaWwuZGV0YWlsSW5kZXggPT09IDAiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9J2ljdF90YWJsZV9nZW5lcmFsX2RpdicgY2xhc3M9Im5vZGVzRGV0YWlsIj48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0ibm9kZXNEZXRhaWwuZGV0YWlsSW5kZXggPT09IDEiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9J2ljdF90YWJsZV9wcm9wZXJ0aWVzX2RpdicgY2xhc3M9Im5vZGVzRGV0YWlsIj48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0ibm9kZXNEZXRhaWwuZGV0YWlsSW5kZXggPT09IDIiPgotICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9J2ljdF90YWJsZV9yZWxhdGlvblNoaXBzX2RpdicgY2xhc3M9Im5vZGVzRGV0YWlsIj48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L2Rpdj4KLQotICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9qcXVlcnkvanF1ZXJ5LTEuMTAuMi5taW4uanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9ib290c3RyYXAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2RhdGEtdGFibGVzL2pxdWVyeS5kYXRhVGFibGVzLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvZGF0YS10YWJsZXMvanF1ZXJ5LmRhdGFUYWJsZXMubWluLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvanF1ZXJ5LmkxOG4vanF1ZXJ5LmkxOG4ucHJvcGVydGllcy0xLjAuOS5qcyI+PC9zY3JpcHQ+Ci0KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwLWdyb3dsL2Jvb3RzdHJhcC1ncm93bC5taW4uanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9hdmFsb24vYXZhbG9uLm1vZGVybi5qcyI+PC9zY3JpcHQ+Ci0KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL2pzL3Rvb2xzLmpzIj48L3NjcmlwdD4KLQotICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jYXRhbG9nL2pzL2NvbXBvbmVudC9jb21tb25VdGlsLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy9jb21wb25lbnQvc2VydmVyUGFnZVRhYmxlLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY2F0YWxvZy9qcy9jb21wb25lbnQvbG9hZGkxOG5fbnNvYy5qcyI+PC9zY3JpcHQ+Ci0KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vanMvdGVtcGxhdGUvdG1EZXRhaWxVdGlsLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vanMvdGVtcGxhdGUvdG1VdGlsLmpzIj48L3NjcmlwdD4KLSAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdG1Ub3BvQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2pzL3RlbXBsYXRlL3RvcG9VdGlsLmpzIj48L3NjcmlwdD4KICAgICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9InJpZ2h0LW1lbnUiIGNsYXNzPSJtcy1ub2RlZGV0YWlsIiBtcy1jc3MtZGlzcGxheT0ibm9kZXNEZXRhaWwuaXNTaG93Ij4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj48aDQ+e3tub2Rlc0RldGFpbC5kZXRhaWxUaXRsZX19PC9oND4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyaWd0aCByaWdodC1idXR0b24tcG9pbnRlciIgbXMtY2xpY2s9Im5vZGVzRGV0YWlsLiRzaG93RGV0YWlscygnbm9uZScpIj4KKyAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi10ZW1wbGF0ZURldGFpbC1ub2Rlc1RhYi1pdWktYnRuLWNsb3NlIiBuYW1lX2kxOG49ImNvbV96dGVfbmZ2X25zb2NfaTE4biI+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPgorICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgbXMtcmVwZWF0PSJub2Rlc0RldGFpbC5kZXRhaWxEYXRhIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNsaWNrPSJub2Rlc0RldGFpbC5kZXRhaWxDb25kQ2hhbmdlKCRpbmRleCkiIG1zLWF0dHItaWQ9ImVsLmlkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zLWNsYXNzPSJhY3RpdmU6IGVsLmlzQWN0aXZlIj57e2VsLm5hbWV9fQorICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICA8ZGl2IG1zLWlmPSJub2Rlc0RldGFpbC5kZXRhaWxJbmRleCA9PT0gMCI+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9J2ljdF90YWJsZV9nZW5lcmFsX2RpdicgY2xhc3M9Im5vZGVzRGV0YWlsIj48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBtcy1pZj0ibm9kZXNEZXRhaWwuZGV0YWlsSW5kZXggPT09IDEiPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSdpY3RfdGFibGVfcHJvcGVydGllc19kaXYnIGNsYXNzPSJub2Rlc0RldGFpbCI+PC9kaXY+CisgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDxkaXYgbXMtaWY9Im5vZGVzRGV0YWlsLmRldGFpbEluZGV4ID09PSAyIj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0naWN0X3RhYmxlX3JlbGF0aW9uU2hpcHNfZGl2JyBjbGFzcz0ibm9kZXNEZXRhaWwiPjwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS9qcXVlcnktMS4xMC4yLm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2RhdGEtdGFibGVzL2pxdWVyeS5kYXRhVGFibGVzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jb21tb24vdGhpcmRwYXJ0eS9kYXRhLXRhYmxlcy9qcXVlcnkuZGF0YVRhYmxlcy5taW4uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2pxdWVyeS5pMThuL2pxdWVyeS5pMThuLnByb3BlcnRpZXMtMS4wLjkuanMiPjwvc2NyaXB0PgorCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vY29tbW9uL3RoaXJkcGFydHkvYm9vdHN0cmFwLWdyb3dsL2Jvb3RzdHJhcC1ncm93bC5taW4uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi90aGlyZHBhcnR5L2F2YWxvbi9hdmFsb24ubW9kZXJuLmpzIj48L3NjcmlwdD4KKworICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NvbW1vbi9qcy90b29scy5qcyI+PC9zY3JpcHQ+CisKKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jYXRhbG9nL2pzL2NvbXBvbmVudC9jb21tb25VdGlsLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9jYXRhbG9nL2pzL2NvbXBvbmVudC9zZXJ2ZXJQYWdlVGFibGUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2NhdGFsb2cvanMvY29tcG9uZW50L2xvYWRpMThuX25zb2MuanMiPjwvc2NyaXB0PgorCisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vanMvdGVtcGxhdGUvdG1EZXRhaWxVdGlsLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9qcy90ZW1wbGF0ZS90bVV0aWwuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3RtVG9wb0NvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2pzL3RlbXBsYXRlL3RvcG9VdGlsLmpzIj48L3NjcmlwdD4KKzwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3Ivb3ZlcmxheXZwbi5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9vdmVybGF5dnBuLmh0bWwKaW5kZXggMWE3MzU1Yy4uN2RlNTdmYyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9vdmVybGF5dnBuLmh0bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9vdmVybGF5dnBuLmh0bWwKQEAgLTE5LDEzNSArMTksMTYyIEBACiA8IURPQ1RZUEUgaHRtbD4NCiA8aHRtbD4NCiA8aGVhZD4NCi0JPGhlYWQgbGFuZz0iZW4iPg0KLQk8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQotCTx0aXRsZT48L3RpdGxlPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jycy5qcyI+PC9zY3JpcHQ+CQ0KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy91bmRlcmxheS5qcyI+PC9zY3JpcHQ+DQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC10YWJsZS5taW4uanMiPjwvc2NyaXB0Pg0KLQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KLQk8L3N0eWxlPg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQotCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KLQkJdmFyIGpzb25kYXRhID0gW107DQotCQlqc29uZGF0YSA9IGxvYWRPdmVybGF5RGF0YSgpOw0KKyAgICA8aGVhZCBsYW5nPSJlbiI+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQorICAgICAgICA8dGl0bGU+PC90aXRsZT4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LTEuMTEuMi5taW4uanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9icnMuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdW5kZXJsYXkuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KKyAgICAgICAgPC9zdHlsZT4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCisgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgICAgIHZhciBqc29uZGF0YSA9IFtdOw0KKyAgICAgICAgICAgICAgICBqc29uZGF0YSA9IGxvYWRPdmVybGF5RGF0YSgpOw0KIA0KLQkJCSQoJyNzYWknKS5ib290c3RyYXBUYWJsZSh7DQotCQkJLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KLQkJCQlkYXRhOiBqc29uZGF0YQ0KLQkJCX0pOw0KLQkJDQotICAgIH0pOw0KLQlmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICByZXR1cm4gWw0KLSAgICAgICAgICAgICc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicNCi0gICAgICAgIF0uam9pbignJyk7DQotICAgICAgICANCi0gICAgfQ0KLQkgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7DQotICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQotICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsNCi0gICAgICAgICB9DQotICAgICB9Ow0KLQk8L3NjcmlwdD4NCi08L2hlYWQ+DQorICAgICAgICAgICAgICAgICQoJyNzYWknKS5ib290c3RyYXBUYWJsZSh7DQorICAgICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiBqc29uZGF0YQ0KKyAgICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgIHJldHVybiBbDQorICAgICAgICAgICAgICAgICAgICAnPGltZyBjbGFzcz0ic2l0ZURlbGV0ZUltZyIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiBuYW1lPSJ0aXRsZSIgdGl0bGU9IkRlbGV0ZSIgLz4nDQorICAgICAgICAgICAgICAgIF0uam9pbignJyk7DQorDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHdpbmRvdy5vcGVyYXRlRXZlbnRzID0gew0KKyAgICAgICAgICAgICAgICAnY2xpY2sgLnNpdGVEZWxldGVJbWcnOiBmdW5jdGlvbiAoZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQorICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSwgcm93LCBpbmRleCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9Ow0KKyAgICAgICAgPC9zY3JpcHQ+DQorICAgIDwvaGVhZD4NCiA8Ym9keSBpZD0ib3Blbl9iYXNlX3Zwbl9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQotCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4NCi0JCQ0KLQk8aDM+CU92ZXJsYXkgVlBOCTwvaDM+DQotCQk8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+DQotCQkJPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPg0KLSAgICAgICAgICAgICAgICA8ZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9InNhaSIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IiBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGlkPSJzb3ZlcmxheVRhYmxlX3RoZWFkIiBjbGFzcz0ib3Blbm8tdGFibGUtdGhlYWQiPg0KLQkJCQkJCQkJPHRyIGNsYXNzPSJhY3RpdmUiPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheU5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkJCQkJPHNwYW4gaWQ9Im92ZXJsYXlOYW1lX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCBvcGVub1RhYmxlX3NvcnRhYmxlIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij5OYW1lDQorPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KKw0KKyAgICA8aDM+IE92ZXJsYXkgVlBOIDwvaDM+DQorICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCisgICAgICAgIDxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCisgICAgICAgICAgICA8ZGl2Pg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KKyAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJzYWkiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBpZD0ic292ZXJsYXlUYWJsZV90aGVhZCIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoZWFkIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImFjdGl2ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im92ZXJsYXlOYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkJCQkJPHNwYW4gaWQ9Im92ZXJsYXlOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCI+TmFtZQ0KICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJPC9kaXY+DQotCQkJCQk8L3RoPg0KLQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJvdmVybGF5RGVzYyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQk8c3BhbiBpZD0ib3ZlcmxheURlc2Nfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPiBEZXNjcmlwdGlvbg0KLSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PjwvdGg+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlUaGluY0NQRSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2PjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQk8c3BhbiBpZD0ib3ZlcmxheVRoaW5jQ1BFX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5UaGluIENQRQ0KLSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PjwvdGg+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlQb3J0VmxhbklEIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCTxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+PGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCTxzcGFuIGlkPSJvdmVybGF5UG9ydFZsYW5JRF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+UG9ydDpWbGFuIElEDQotICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+PC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheURDTmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2PjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQk8c3BhbiBpZD0ib3ZlcmxheURDTmFtZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+REMgTmFtZQ0KLSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PjwvdGg+CQkJDQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im92ZXJsYXlWUEMiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlWUENfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlZQQw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im92ZXJsYXlEZXNjIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQk8c3BhbiBpZD0ib3ZlcmxheURlc2Nfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPiBEZXNjcmlwdGlvbg0KKyAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvdmVybGF5VGhpbmNDUEUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQk8c3BhbiBpZD0ib3ZlcmxheVRoaW5jQ1BFX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VGhpbiBDUEUNCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ib3ZlcmxheVBvcnRWbGFuSUQiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQk8c3BhbiBpZD0ib3ZlcmxheVBvcnRWbGFuSURfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5Qb3J0OlZsYW4gSUQNCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ib3ZlcmxheURDTmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCTxzcGFuIGlkPSJvdmVybGF5RENOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+REMgTmFtZQ0KKyAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvdmVybGF5VlBDIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlWUENfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5WUEMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCSAgIDwvZGl2Pg0KLQkJCQkJPC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheVZQQ0NJRFIiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlWUENDSURSX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5WUEMgQ0lEUg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im92ZXJsYXlWUENDSURSIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJICAgICAgPHNwYW4gaWQ9Im92ZXJsYXlWUENDSURSX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VlBDIENJRFINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCSAgIDwvZGl2Pg0KLQkJCQkJPC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ib3ZlcmxheU9wZXJhdGlvbiIgIGFsaWduPSJjZW50ZXIiIGRhdGEtZm9ybWF0dGVyID0gIm9wZXJhdGVGb3JtYXR0ZXIiIGRhdGEtZXZlbnRzPSJvcGVyYXRlRXZlbnRzIj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCTxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCTxzcGFuIGlkPSJwb3J0QWN0aW9uX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5BY3Rpb248L3NwYW4+DQotCQkJCQkJPC9kaXY+DQotCQkJCQk8L3RoPgkJCQkJDQotCQkJCTwvdHI+PC90aGVhZD4NCi0JCQkJCQkJPCEtLSA8dGJvZHk+DQotCQkJCQkJCQk8dHIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCi0JCQkJCQkJCQk8dGQgY29sc3Bhbj0iNyIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPk5VTEw8L3RkPg0KLQkJCQkJCQkJPC90cj4NCi0JCQkJCQkJCTx0ciBjbGFzcz0ib2RkICBvcGVuby10YWJsZS10ciBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGRhdGEtcm93aWQ9IjAiIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJvdmVybGF5TmFtZSIgZGF0YS10YWJsZWlkPSJvdmVybGF5VGFibGUiPg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIj4NCi0JCQkJCQkJCQkJCTxhIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgaHlwZXJMaW5rUm93IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGlkPSJvdmVybGF5VGFibGVfMF9vdmVybGF5TmFtZV9saW5rIj5vdmVybGF5MTwvYT48L2Rpdj48L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9Im92ZXJsYXlEZXNjIiBkYXRhLXRhYmxlaWQ9Im92ZXJsYXlUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJvdmVybGF5VGFibGVfMF9vdmVybGF5RGVzY19jdXN0b21fZWwiPm92ZXJsYXkgMTAxPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJvdmVybGF5VGhpbmNDUEUiIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9Im92ZXJsYXlUYWJsZV8wX292ZXJsYXlUaGluY0NQRV9jdXN0b21fZWwiPmNoYXh1YW55dWU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9Im92ZXJsYXlQb3J0VmxhbklEIiBkYXRhLXRhYmxlaWQ9Im92ZXJsYXlUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJvdmVybGF5VGFibGVfMF9vdmVybGF5UG9ydFZsYW5JRF9jdXN0b21fZWwiPkJhbmdhbG9yZTwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ib3ZlcmxheURDTmFtZSIgZGF0YS10YWJsZWlkPSJvdmVybGF5VGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ib3ZlcmxheVRhYmxlXzBfb3ZlcmxheURDTmFtZV9jdXN0b21fZWwiPkJhbmdhbG9yZTwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ib3ZlcmxheVZQQyIgZGF0YS10YWJsZWlkPSJvdmVybGF5VGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ib3ZlcmxheVRhYmxlXzBfb3ZlcmxheVZQQ19jdXN0b21fZWwiPkJhbmdhbG9yZTwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ib3ZlcmxheVZQQ0NJRFIiIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9Im92ZXJsYXlUYWJsZV8wX292ZXJsYXlWUENDSURSX2N1c3RvbV9lbCI+QmFuZ2Fsb3JlPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJvdmVybGF5T3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9Im92ZXJsYXlUYWJsZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIiBpZD0ib3ZlcmxheVRhYmxlXzBfb3ZlcmxheU9wZXJhdGlvbl9jdXN0b21fZWwiPg0KLQkJCQkJCQkJCQkgICAgPGRpdj4NCi0JCQkJCQkJCQkJCSAgICA8aW1nIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0iZGVsZXRlb3ZlcmxheSgndGhpcycpIiBvcGVydHlwZT0ib3ZlcmxheURlbGV0ZSIgc3R5bGU9ImN1cnNvcjogcG9pbnRlciIgdGl0bGU9IkRlbGV0ZSIgaWQ9ImJhYzRmZjNjLWQ2OTMtNGY1NC04NmNkLTI1YWYxZWEyMmY1OSIgcm93aWQ9IjAvIj4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L3RkPg0KLQkJCQkJCQkJPC90cj4NCi0JCQkJCQkJPC90Ym9keT4gLS0+DQotICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4NCi0gICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im92ZXJsYXlPcGVyYXRpb24iIGFsaWduPSJjZW50ZXIiIGRhdGEtZm9ybWF0dGVyPSJvcGVyYXRlRm9ybWF0dGVyIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ldmVudHM9Im9wZXJhdGVFdmVudHMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InBvcnRBY3Rpb25fc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWN0aW9uPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRib2R5Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI3IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+TlVMTDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0ib2RkICBvcGVuby10YWJsZS10ciBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGRhdGEtcm93aWQ9IjAiIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9Im92ZXJsYXlOYW1lIiBkYXRhLXRhYmxlaWQ9Im92ZXJsYXlUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgaHlwZXJMaW5rUm93IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGlkPSJvdmVybGF5VGFibGVfMF9vdmVybGF5TmFtZV9saW5rIj5vdmVybGF5MTwvYT48L2Rpdj48L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ib3ZlcmxheURlc2MiIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9Im92ZXJsYXlUYWJsZV8wX292ZXJsYXlEZXNjX2N1c3RvbV9lbCI+b3ZlcmxheSAxMDE8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJvdmVybGF5VGhpbmNDUEUiIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9Im92ZXJsYXlUYWJsZV8wX292ZXJsYXlUaGluY0NQRV9jdXN0b21fZWwiPmNoYXh1YW55dWU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJvdmVybGF5UG9ydFZsYW5JRCIgZGF0YS10YWJsZWlkPSJvdmVybGF5VGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ib3ZlcmxheVRhYmxlXzBfb3ZlcmxheVBvcnRWbGFuSURfY3VzdG9tX2VsIj5CYW5nYWxvcmU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJvdmVybGF5RENOYW1lIiBkYXRhLXRhYmxlaWQ9Im92ZXJsYXlUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJvdmVybGF5VGFibGVfMF9vdmVybGF5RENOYW1lX2N1c3RvbV9lbCI+QmFuZ2Fsb3JlPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ib3ZlcmxheVZQQyIgZGF0YS10YWJsZWlkPSJvdmVybGF5VGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ib3ZlcmxheVRhYmxlXzBfb3ZlcmxheVZQQ19jdXN0b21fZWwiPkJhbmdhbG9yZTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9Im92ZXJsYXlWUENDSURSIiBkYXRhLXRhYmxlaWQ9Im92ZXJsYXlUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJvdmVybGF5VGFibGVfMF9vdmVybGF5VlBDQ0lEUl9jdXN0b21fZWwiPkJhbmdhbG9yZTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9Im92ZXJsYXlPcGVyYXRpb24iIGRhdGEtdGFibGVpZD0ib3ZlcmxheVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCIgaWQ9Im92ZXJsYXlUYWJsZV8wX292ZXJsYXlPcGVyYXRpb25fY3VzdG9tX2VsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJkZWxldGVvdmVybGF5KCd0aGlzJykiIG9wZXJ0eXBlPSJvdmVybGF5RGVsZXRlIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiB0aXRsZT0iRGVsZXRlIiBpZD0iYmFjNGZmM2MtZDY5My00ZjU0LTg2Y2QtMjVhZjFlYTIyZjU5IiByb3dpZD0iMC8iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4gLS0+DQorICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICA8L2Rpdj4NCi0JCTwvZGl2Pg0KLQkJDQotCQkNCi0JDQorICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQorDQogDQogPC9ib2R5Pg0KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL292ZXJsYXl2cG5fdG9wby5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9vdmVybGF5dnBuX3RvcG8uaHRtbAppbmRleCBkZGQ4ZWFhLi5iNjE2N2IxIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL292ZXJsYXl2cG5fdG9wby5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3Ivb3ZlcmxheXZwbl90b3BvLmh0bWwKQEAgLTEsNDIgKzEsNjEgQEAKLTwhLS0NCi0NCi0gICAgQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQotDQotICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KLSAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQotICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KLQ0KLSAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KLQ0KLSAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQotICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQotICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KLSAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQotICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KLQ0KLS0tPg0KLQ0KLTwhRE9DVFlQRSBodG1sPg0KLTxodG1sPg0KLTxoZWFkPg0KLTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQotICAjY29udGFpbmVyIHsNCi0gICAgICB0b3A6IDA7DQotICAgICAgYm90dG9tOiAwOw0KLSAgICAgIGxlZnQ6IDA7DQotICAgICAgcmlnaHQ6IDA7DQotICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KLSAgfQ0KLTwvc3R5bGU+DQotPC9oZWFkPg0KLTxib2R5Pg0KLTxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+DQotPHNjcmlwdCBzcmM9ImpzL3RvcG8vc2lnbWEvc2lnbWEubWluLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0ianMvdG9wby9zaWdtYS9qcXVlcnktMy4xLjAubWluLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0ianMvdG9wby9zaWdtYS9wbHVnaW5zL3NpZ21hLnJlbmRlcmVycy5jdXN0b21TaGFwZXMubWluLmpzIj48L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0ianMvdG9wby9zaWdtYS9wbHVnaW5zL3NpZ21hLnJlbmRlcmVycy5lZGdlTGFiZWxzLm1pbi5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9ImpzL3RvcG8vTm9kZS5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9ImpzL3RvcG8vRWRnZS5qcyI+PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9ImpzL3RvcG8vVG9wb2xvZ3kuanMiPjwvc2NyaXB0Pg0KLTwvYm9keT4NCis8IS0tCisKKyAgICBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4KKworICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAjY29udGFpbmVyIHsKKyAgICAgIHRvcDogNTVweDsKKyAgICAgIGJvdHRvbTogMDsKKyAgICAgIGxlZnQ6IDA7CisgICAgICByaWdodDogMDsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgfQorICAjdGl0bGUgeworICAgICAgZm9udC1zaXplOiAzMHB4OworICAgICAgdGV4dC1hbGlnbjogY2VudGVyOworICB9Cis8L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keT4KKzxkaXYgaWQ9InRpdGxlIj48L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgorCisKKzxzY3JpcHQgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSJqcy90b3BvL3NpZ21hL3NpZ21hLm1pbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ianMvdG9wby9zaWdtYS9zaWdtYS5yZW5kZXJlcnMuY3VzdG9tU2hhcGVzLm1pbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ianMvdG9wby9zaWdtYS9zaWdtYS5yZW5kZXJlcnMuZWRnZUxhYmVscy5taW4uanMiPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0ianMvdG9wby9Ob2RlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJqcy90b3BvL0VkZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImpzL3RvcG8vT3ZlcmxheVRvcG9sb2d5LmpzIj48L3NjcmlwdD4KKworPCEtLSBVcGRhdGUgdGhlIHRpdGxlIHdpdGggdGhlIGlkIG9mIE92ZXJsYXkgVlBOIC0tPgorPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CisgIHZhciBpZCA9IGV4dHJhY3RPdmVybGF5VlBOSWQoKTsKKyAgdmFyIHRpdGxlU3RyID0gIlRvcG9sb2d5IG9mIE92ZXJsYXkgVlBOIDogIi5jb25jYXQoIjxiPiIsIGlkLCAiPC9iPiIpOworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGl0bGUiKS5pbm5lckhUTUwgPSB0aXRsZVN0cjsKKzwvc2NyaXB0PgorPC9ib2R5PgorCiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci9zZG5vdnBuLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL3Nkbm92cG4uaHRtbAppbmRleCA3NWQ0MWNjLi5jNGQ1MDY3IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL3Nkbm92cG4uaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL3Nkbm92cG4uaHRtbApAQCAtMTksNTQgKzE5LDU0IEBACiA8IWRvY3R5cGUgaHRtbD4NCiA8aHRtbD4NCiA8aGVhZD4NCi08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQotPHRpdGxlPjwvdGl0bGU+DQotCTxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KLQk8bGluayBocmVmPSJjc3MvUk1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCisgICAgPHRpdGxlPjwvdGl0bGU+DQorICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9ImNzcy9STWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KIDwvaGVhZD4NCiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQotICAgICQoZnVuY3Rpb24oKXsNCi0gICAgICAgICQoJy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQsLmhlYWRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7DQorICAgICQoZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyJykuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMJykuc2xpZGVUb2dnbGUoNTAwKTsNCiAgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kJykudG9nZ2xlQ2xhc3MoJ2N1cnJlbnQnKQ0KICAgICAgICAgfSk7DQotICAgICAgICAkKCcub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlJykuY2xpY2soZnVuY3Rpb24oKXsNCisgICAgICAgICQoJy5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUnKS5jbGljayhmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgLy8gJCgnI29wZW5fYmFzZV9vcGVubycpLmNzcygnbWFyZ2luLWxlZnQnLCctMjAwcHgnKTsNCiAgICAgICAgICAgICAvLyAkKCcjb3Blbl9iYXNlX29wZW5vJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KICAgICAgICAgICAgIC8vICQoJy5iYXInKS5jc3MoJ2Rpc3BsYXknLCdibG9jaycpOw0KLSAgICAgICAgICAgIGlmKCQoJyNhY2NvcmRpb25tZW51aWQnKS53aWR0aCgpID49IDIwMCl7DQorICAgICAgICAgICAgaWYgKCQoJyNhY2NvcmRpb25tZW51aWQnKS53aWR0aCgpID49IDIwMCkgew0KICAgICAgICAgICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkJykud2lkdGgoJzE4cHgnKTsNCi0gICAgICAgICAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyLCNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpIGEnKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfYXJyb3cnKS5hdHRyKCdjbGFzc25hbWUnLCdvcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cnKTsNCi0gICAgICAgICAgICAgICAgJCgnI2lmcmFtZUNvbnRhaW5lcicpLmNzcygnd2lkdGgnLCcxMjg0cHgnKTsgICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgfWVsc2UgaWYoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPT0gMTgpew0KKyAgICAgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLC5oZWFkZXIsI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgYScpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfYXJyb3cnKS5hdHRyKCdjbGFzc25hbWUnLCAnb3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19zaG93Jyk7DQorICAgICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywgJzEyODRweCcpOw0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPT0gMTgpIHsNCiAgICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCcyMjBweCcpOw0KLSAgICAgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLC5oZWFkZXIsI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgYScpLmNzcygnZGlzcGxheScsJ2Jsb2NrJyk7DQotICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfYXJyb3cnKS5hdHRyKCdjbGFzc25hbWUnLCdvcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUnKTsNCi0gICAgICAgICAgICAgICAgJCgnI2lmcmFtZUNvbnRhaW5lcicpLmNzcygnd2lkdGgnLCcxMDYzcHgnKTsNCisgICAgICAgICAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyLCNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpIGEnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsNCisgICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF9hcnJvdycpLmF0dHIoJ2NsYXNzbmFtZScsICdvcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUnKTsNCisgICAgICAgICAgICAgICAgJCgnI2lmcmFtZUNvbnRhaW5lcicpLmNzcygnd2lkdGgnLCAnMTA2M3B4Jyk7DQogICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIA0KKw0KICAgICAgICAgfSk7DQotICAgICAgICAkKCcuYmFyIHNwYW4nKS5jbGljayhmdW5jdGlvbigpew0KLSAgICAgICAgICAgICQoJyNvcGVuX2Jhc2Vfb3Blbm8nKS5jc3MoJ2Rpc3BsYXknLCdibG9jaycpOw0KLSAgICAgICAgICAgICQoJy5iYXInKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywnMTA2M3B4Jyk7DQorICAgICAgICAkKCcuYmFyIHNwYW4nKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgJCgnI29wZW5fYmFzZV9vcGVubycpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICAgICAgICAgICQoJy5iYXInKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKyAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywgJzEwNjNweCcpOw0KICAgICAgICAgfSk7DQotICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTCBsaScpLmNsaWNrKGZ1bmN0aW9uKCl7DQorICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTCBsaScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdvcGVub19hY2NvcmRpb25fc2VsZWN0ZWQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdvcGVub19hY2NvcmRpb25fc2VsZWN0ZWQnKTsNCiAgICAgICAgIH0pOw0KLSAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8wX2JyQXBwU2l0ZU1lbnVJRCcpLmNsaWNrKGZ1bmN0aW9uKCl7DQotICAgICAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCdvdmVybGF5dnBuLmh0bWwnKTsNCisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMF9ickFwcFNpdGVNZW51SUQnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCAnb3ZlcmxheXZwbi5odG1sJyk7DQogICAgICAgICB9KTsNCi0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMV9ickFwcE1lTWVudUlEJykuY2xpY2soZnVuY3Rpb24oKXsNCi0gICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsJ3VuZGVybGF5dnBuLmh0bWwnKTsNCisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMV9ickFwcE1lTWVudUlEJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQoJyNhY2NvcmRpb25Db250ZW50JykuYXR0cignc3JjJywgJ3VuZGVybGF5dnBuLmh0bWwnKTsNCiAgICAgICAgIH0pOw0KICAgICB9KQ0KIDwvc2NyaXB0Pg0KIDxib2R5Pg0KLSAgICA8ZGl2IGlkPSJmZWJEaXYiIHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyI+DQorPGRpdiBpZD0iZmViRGl2IiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfZmViIj4NCiAgICAgICAgIDwhLS11c2UgZm9yIHN0b3JlIG1lbnUgY29tZSBmcm9tIGZlYiBzZXJ2aWNlLCBtYXliZSBqdXN0IGEgdGVtcGxlIHBsYW4tLT4NCiAgICAgICAgIDxkaXYgaWQ9ImFwcCI+DQpAQCAtNzksMTggKzc5LDI3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPSJvcGVuX2Jhc2Vfb3Blbm8iIGNsYXNzPSJ0aHJlZS1jb2xzLWNvbHVtbiB0aHJlZS1jb2xzLWxlZnQiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJhY2NvcmRpb25tZW51aWQiIGFsbG93LXJlc2l6ZT0idHJ1ZSIgZGF0YXNldD0iZGF0YUFyciIgaGVpZ2h0PSJyZXNIZWlnaHQiIGxpc3RlbmVycz0iY2FsbEJhY2tsaXN0ZW5lcnMiIHJlc2l6ZS1jYWxsYmFjaz0icmVzaXplaGFuZGxlciIgY3VycmVudC1zZWxlY3Q9ImN1cnJlbnRzZWxlY3QiIGNsaWNrPSJjbGlja0hhbmRsZXIiIGNsYXNzPSJuZy1pc29sYXRlLXNjb3BlIGFjY29yZGlvbl9wYXJlbnQgb3Blbm9fYWNjb3JkaW9uX21haW5fbWVudSIgc3R5bGU9ImhlaWdodDogODcwcHg7Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iYWNjb3JkaW9ubWVudWlkIiBhbGxvdy1yZXNpemU9InRydWUiIGRhdGFzZXQ9ImRhdGFBcnIiIGhlaWdodD0icmVzSGVpZ2h0Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVycz0iY2FsbEJhY2tsaXN0ZW5lcnMiIHJlc2l6ZS1jYWxsYmFjaz0icmVzaXplaGFuZGxlciINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LXNlbGVjdD0iY3VycmVudHNlbGVjdCIgY2xpY2s9ImNsaWNrSGFuZGxlciINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibmctaXNvbGF0ZS1zY29wZSBhY2NvcmRpb25fcGFyZW50IG9wZW5vX2FjY29yZGlvbl9tYWluX21lbnUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImhlaWdodDogODcwcHg7Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIiBzdHlsZT0iY3Vyc29yOiBhdXRvOyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgaWQ9ImFjY29yZGlvbm1lbnVpZF91bCIgY2xhc3M9Im9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRCIgbm9kZWlkPSJickFwcFRvcE1lbnVJRCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJvcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDIwcHg7IGhlaWdodDogNjBweDtjdXJzb3I6IHBvaW50ZXI7Ij48L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJvcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUiIGlkPSJhY2NvcmRpb25tZW51aWRfYXJyb3ciIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7Ij48L3NwYW4+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJickFwcCIgY2xhc3M9ImhlYWRlciBvcGVuZWQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDEwcHg7IGN1cnNvcjogcG9pbnRlcjsiPlZQTiBNYW5hZ2VyPC9hPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy1sZWZ0OiAyMHB4OyBoZWlnaHQ6IDYwcHg7Y3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlIiBpZD0iYWNjb3JkaW9ubWVudWlkX2Fycm93Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iYnJBcHAiIGNsYXNzPSJoZWFkZXIgb3BlbmVkIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7Ij5WUE4gTWFuYWdlcjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzBfYnJBcHBTaXRlTWVudUlEIiBub2RlaWQ9ImJyQXBwU2l0ZU1lbnVJRCIgY2xhc3M9IiIgc3R5bGU9ImRpc3BsYXk6IGxpc3QtaXRlbTsiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMF9ickFwcFNpdGVNZW51SUQiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWlkPSJickFwcFNpdGVNZW51SUQiIGNsYXNzPSIiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0i54K55Ye76K6/6Zeu56uZ54K5IiBjbGFzcz0iIiBzdHlsZT0icGFkZGluZy1sZWZ0OiA2MnB4OyI+T3ZlcmxheSBWUE48L2E+DQotCQkJCQkJCQkJCQk8L2xpPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMV9ickFwcE1lTWVudUlEIiBub2RlaWQ9ImJyQXBwTWVNZW51SUQiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8xX2JyQXBwTWVNZW51SUQiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWlkPSJickFwcE1lTWVudUlEIiBzdHlsZT0iZGlzcGxheTogbGlzdC1pdGVtOyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IueCueWHu+iuv+mXrue9keWFgyIgc3R5bGU9InBhZGRpbmctbGVmdDogNjJweDsiPlVuZGVybGF5IFZQTjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci91bmRlcmxheXZwbi5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1saWZlY3ljbGVtZ3Ivc3JjL21haW4vd2ViYXBwL2xpZmVjeWNsZW1nci91bmRlcmxheXZwbi5odG1sCmluZGV4IGJkNDUzNWMuLjZhNmMzNGMgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtbGlmZWN5Y2xlbWdyL3NyYy9tYWluL3dlYmFwcC9saWZlY3ljbGVtZ3IvdW5kZXJsYXl2cG4uaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLWxpZmVjeWNsZW1nci9zcmMvbWFpbi93ZWJhcHAvbGlmZWN5Y2xlbWdyL3VuZGVybGF5dnBuLmh0bWwKQEAgLTE5LDIwNyArMTksMjUzIEBACiA8IURPQ1RZUEUgaHRtbD4NCiA8aHRtbD4NCiA8aGVhZD4NCi0JPGhlYWQgbGFuZz0iZW4iPg0KLQk8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQotCTx0aXRsZT48L3RpdGxlPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL2pxdWVyeS5kYXRhVGFibGVzLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jycy5qcyI+PC9zY3JpcHQ+DQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3VuZGVybGF5LmpzIj48L3NjcmlwdD4NCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQotCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQotCWhyIHsNCi0gICMjLW1vei1ib3JkZXItYm90dG9tLWNvbG9yczogbm9uZTsNCi0gIC1tb3otYm9yZGVyLWltYWdlOiBub25lOw0KLSAgLW1vei1ib3JkZXItbGVmdC1jb2xvcnM6IG5vbmU7DQotICAtbW96LWJvcmRlci1yaWdodC1jb2xvcnM6IG5vbmU7DQotICAtbW96LWJvcmRlci10b3AtY29sb3JzOiBub25lOw0KLSAgIyNib3JkZXItY29sb3I6ICNFRUVFRUUgLW1vei11c2UtdGV4dC1jb2xvciAjRkZGRkZGOw0KLSAgYm9yZGVyLXN0eWxlOiBzb2xpZCBub25lOw0KLSAgYm9yZGVyLXdpZHRoOiAxcHggMDsNCi0gIG1hcmdpbjogNTBweCAwOw0KLX0NCi0JPC9zdHlsZT4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCi0gDQorICAgIDxoZWFkIGxhbmc9ImVuIj4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCisgICAgICAgIDx0aXRsZT48L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9qcXVlcnkuZGF0YVRhYmxlcy5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9WTU1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAtdGFibGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jycy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy91bmRlcmxheS5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQorICAgICAgICAgICAgaHIgew0KKyAgICAgICAgICAgICAgICAjICMtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lOw0KKyAgICAgICAgICAgICAgICAtbW96LWJvcmRlci1pbWFnZTogbm9uZTsNCisgICAgICAgICAgICAgICAgLW1vei1ib3JkZXItbGVmdC1jb2xvcnM6IG5vbmU7DQorICAgICAgICAgICAgICAgIC1tb3otYm9yZGVyLXJpZ2h0LWNvbG9yczogbm9uZTsNCisgICAgICAgICAgICAgICAgLW1vei1ib3JkZXItdG9wLWNvbG9yczogbm9uZTsNCisgICAgICAgICAgICAgICAgIyAjYm9yZGVyLWNvbG9yOiAjRUVFRUVFIC1tb3otdXNlLXRleHQtY29sb3IgI0ZGRkZGRjsNCisgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCBub25lOw0KKyAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwOw0KKyAgICAgICAgICAgICAgICBtYXJnaW46IDUwcHggMDsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3N0eWxlPg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCiANCi12YXIganNvbmRhdGEgPWxvYWRVbmRlcmxheURhdGEoKTsNCi0JCSQoJyN0Ymxfb3ZlcmxheScpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCS8vQXNzaWduaW5nIGRhdGEgdG8gdGFibGUNCi0JCQlkYXRhOiBqc29uZGF0YQ0KLQkJfSk7DQotCQkkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCQkvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQotCQkJCWRhdGE6IHt9DQotCQkJfSk7DQotICAgIH0pOw0KLQlmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICByZXR1cm4gWw0KLSAgICAgICAgICAgICc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicNCi0gICAgICAgIF0uam9pbignJyk7DQotICAgICAgICANCi0gICAgfQ0KLQkgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7DQotICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQotICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsNCi0gICAgICAgICB9DQotICAgICB9Ow0KIA0KLQkgDQotCSBmdW5jdGlvbiBuYW1lRm9ybWF0dGVyKHZhbHVlLCByb3cpIHsNCi0JCWpzb25Gb3JUUCA9IHJvdy5qc29uLmRhdGE7DQotCQl2YXIgbmFtZT1KU09OLnN0cmluZ2lmeShyb3cuanNvbi5kYXRhKTsNCi0JICAJdmFyIHRlbXAgPSAiPGEgY2xhc3M9J3VuZGVybGF5TmFtZUxpbmsnIG9uY2xpY2s9J2dldE1ldGhvZCh0aGlzKScgbmFtZT0nIisgbmFtZSArICInIGRhdGEtZXZlbnRzPSdvcGVyYXRlRXZlbnRzVSc+IiArIHZhbHVlICsgIjwvYT4iOw0KLSAgICAgICAgcmV0dXJuIHRlbXA7DQotICAgIH0NCi0JIGZ1bmN0aW9uIGdldE1ldGhvZChvYmopew0KLQkJIC8vVXBkYXRlIHRoZSBsb3dlciB0YWJsZSBoZXJlDQotCQkgDQotCQkgJCgnI3VuZGVybGF5VHBEYXRhVGFibGUnKS5ib290c3RyYXBUYWJsZSgNCi0JCQkvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQotCQkJCSJhcHBlbmQiLCBKU09OLnBhcnNlKG9iai5uYW1lKQ0KLQkJCSk7DQotCSB9DQotCTwvc2NyaXB0Pg0KLTwvaGVhZD4NCisgICAgICAgICAgICAgICAgdmFyIGpzb25kYXRhID0gbG9hZFVuZGVybGF5RGF0YSgpOw0KKyAgICAgICAgICAgICAgICAkKCcjdGJsX292ZXJsYXknKS5ib290c3RyYXBUYWJsZSh7DQorICAgICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiBqc29uZGF0YQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgJCgnI3VuZGVybGF5VHBEYXRhVGFibGUnKS5ib290c3RyYXBUYWJsZSh7DQorICAgICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiB7fQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgIHJldHVybiBbDQorICAgICAgICAgICAgICAgICAgICAnPGltZyBjbGFzcz0ic2l0ZURlbGV0ZUltZyIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiBuYW1lPSJ0aXRsZSIgdGl0bGU9IkRlbGV0ZSIgLz4nDQorICAgICAgICAgICAgICAgIF0uam9pbignJyk7DQorDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHdpbmRvdy5vcGVyYXRlRXZlbnRzID0gew0KKyAgICAgICAgICAgICAgICAnY2xpY2sgLnNpdGVEZWxldGVJbWcnOiBmdW5jdGlvbiAoZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQorICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSwgcm93LCBpbmRleCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9Ow0KKw0KKw0KKyAgICAgICAgICAgIGZ1bmN0aW9uIG5hbWVGb3JtYXR0ZXIodmFsdWUsIHJvdykgew0KKyAgICAgICAgICAgICAgICBqc29uRm9yVFAgPSByb3cuanNvbi5kYXRhOw0KKyAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IEpTT04uc3RyaW5naWZ5KHJvdy5qc29uLmRhdGEpOw0KKyAgICAgICAgICAgICAgICB2YXIgdGVtcCA9ICI8YSBjbGFzcz0ndW5kZXJsYXlOYW1lTGluaycgb25jbGljaz0nZ2V0TWV0aG9kKHRoaXMpJyBuYW1lPSciICsgbmFtZSArICInIGRhdGEtZXZlbnRzPSdvcGVyYXRlRXZlbnRzVSc+IiArIHZhbHVlICsgIjwvYT4iOw0KKyAgICAgICAgICAgICAgICByZXR1cm4gdGVtcDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgZnVuY3Rpb24gZ2V0TWV0aG9kKG9iaikgew0KKyAgICAgICAgICAgICAgICAvL1VwZGF0ZSB0aGUgbG93ZXIgdGFibGUgaGVyZQ0KKw0KKyAgICAgICAgICAgICAgICAkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLmJvb3RzdHJhcFRhYmxlKA0KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vQXNzaWduaW5nIGRhdGEgdG8gdGFibGUNCisgICAgICAgICAgICAgICAgICAgICAgICAiYXBwZW5kIiwgSlNPTi5wYXJzZShvYmoubmFtZSkNCisgICAgICAgICAgICAgICAgKTsNCisgICAgICAgICAgICB9DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgPC9oZWFkPg0KIDxib2R5IGlkPSJvcGVuX2Jhc2VfdnBuX2NvdGVudEJvZHkiIGNsYXNzPSJjb3RlbnRCb2R5IG5nLXNjb3BlIj4NCi0JPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KLQkJCQk8aDM+VW5kZXJsYXkgVlBOPC9oMz4NCi0JCTxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCi0JCQk8ZGl2IGlkPSdpY3RfdmlydHVhbEFwcGxpY2F0aW9uX3RhYmxlX2Rpdic+DQotICAgICAgICAgICAgICAgIDxkaXY+DQotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBpZD0idGJsX292ZXJsYXkiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIgZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyIgZGF0YS1wYWdpbmF0aW9uLW5leHQtdGV4dD0iTmV4dCIgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBpZD0ic3VuZGVybGF5VGFibGVfdGhlYWQiIGNsYXNzPSJvcGVuby10YWJsZS10aGVhZCI+DQotCQkJCQkJCQk8dHIgY2xhc3M9ImFjdGl2ZSI+DQotCQkJCQkJCQkNCi0JCQ0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1mb3JtYXR0ZXI9Im5hbWVGb3JtYXR0ZXIiIGRhdGEtZmllbGQ9InVuZGVybGF5TmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCQkJCQk8c3BhbiBpZD0idW5kZXJsYXlOYW1lX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCBvcGVub1RhYmxlX3NvcnRhYmxlIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TmFtZQ0KKzxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4NCisgICAgPGgzPlVuZGVybGF5IFZQTjwvaDM+DQorICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCisgICAgICAgIDxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCisgICAgICAgICAgICA8ZGl2Pg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KKyAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJ0Ymxfb3ZlcmxheSIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGlkPSJzdW5kZXJsYXlUYWJsZV90aGVhZCIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoZWFkIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImFjdGl2ZSI+DQorDQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9ybWF0dGVyPSJuYW1lRm9ybWF0dGVyIiBkYXRhLWZpZWxkPSJ1bmRlcmxheU5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCQkJCQk8c3BhbiBpZD0idW5kZXJsYXlOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk5hbWUNCiAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCTwvZGl2Pg0KLQkJCQkJPC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0idW5kZXJsYXlUZW5hbnROYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCSAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCTxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJICAgIDxzcGFuIGlkPSJ1bmRlcmxheVRlbmFudE5hbWVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlN0YXRlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idW5kZXJsYXlUZW5hbnROYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCSAgICA8c3BhbiBpZD0idW5kZXJsYXlUZW5hbnROYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5TdGF0ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJPC9kaXY+DQotCQkJCQk8L3RoPg0KLQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJ1bmRlcmxheVR5cGUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCTxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJPHNwYW4gaWQ9InVuZGVybGF5VHlwZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICIgPkRlc2NyaXB0aW9uDQotICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+PC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0idW5kZXJsYXlEZXNjcmlwdGlvbiIgYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXIgPSAib3BlcmF0ZUZvcm1hdHRlciIgZGF0YS1ldmVudHM9Im9wZXJhdGVFdmVudHMiPg0KLQkJCQkJICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJICAgICAgPHNwYW4gaWQ9InVuZGVybGF5RGVzY3JpcHRpb25fc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFjdGlvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InVuZGVybGF5VHlwZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJPHNwYW4gaWQ9InVuZGVybGF5VHlwZV9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+RGVzY3JpcHRpb24NCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idW5kZXJsYXlEZXNjcmlwdGlvbiIgYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXI9Im9wZXJhdGVGb3JtYXR0ZXIiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWV2ZW50cz0ib3BlcmF0ZUV2ZW50cyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCSAgICAgIDxzcGFuIGlkPSJ1bmRlcmxheURlc2NyaXB0aW9uX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWN0aW9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkgICA8L2Rpdj4NCi0JCQkJCTwvdGg+DQotCQkJCQk8IS0tIDx0aCBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJ1bmRlcmxheVRlbmFudE5hbWUiPg0KLQkgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0idW5kZXJsYXlPYmpJZF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+SUQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0JICAgICAgICAgICAgICAgIDwvdGg+DQotCQkJCQkJCQkJPHRoIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InVuZGVybGF5VGVuYW50TmFtZSI+DQotCQkJCQkgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJ1bmRlcmxheU9iakRhdGFfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkRhdGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0JCQkJCSAgICAgICAgICAgICAgICA8L3RoPiAtLT4NCi0JCQkJCTwvdHI+DQotCQkJCQk8L3RoZWFkPg0KLQkJCQkJCSAgICA8IS0tIDx0Ym9keT4NCi0JCQkJCQkJCTx0ciBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KLQkJCQkJCQkJCTx0ZCBjb2xzcGFuPSI3IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+TlVMTDwvdGQ+DQotCQkJCQkJCQk8L3RyPg0KLQkJCQkJCQkJPHRyIGNsYXNzPSJvZGQgIG9wZW5vLXRhYmxlLXRyIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgZGF0YS1yb3dpZD0iMCIgZGF0YS10YWJsZWlkPSJ1bmRlcmxheVRhYmxlIj4NCi0JCQkJCQkJCQ0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InVuZGVybGF5TmFtZSIgZGF0YS10YWJsZWlkPSJ1bmRlcmxheVRhYmxlIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiI+DQotCQkJCQkJCQkJCQk8YSBjbGFzcz0idW5kZXJsYXlOYW1lTGluayIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBpZD0idW5kZXJsYXlUYWJsZV8wX3VuZGVybGF5TmFtZV9saW5rIj51bmRlcmxheTE8L2E+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCTwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0idW5kZXJsYXlUeXBlIiBkYXRhLXRhYmxlaWQ9InVuZGVybGF5VGFibGUiPg0KLQkJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InVuZGVybGF5VGFibGVfMF91bmRlcmxheVR5cGVfY3VzdG9tX2VsIj51bmRlcmxheSAxMDE8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InVuZGVybGF5VGVuYW50TmFtZSIgZGF0YS10YWJsZWlkPSJ1bmRlcmxheVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJ1bmRlcmxheVRhYmxlXzBfdW5kZXJsYXlUZW5hbnROYW1lX2N1c3RvbV9lbCI+Y2hheHVhbnl1ZTwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0idW5kZXJsYXlPcGVyYXRpb24iIGRhdGEtdGFibGVpZD0idW5kZXJsYXlUYWJsZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIiBpZD0idW5kZXJsYXlUYWJsZV8wX3VuZGVybGF5T3BlcmF0aW9uX2N1c3RvbV9lbCI+DQotCQkJCQkJCQkJCSAgICA8ZGl2Pg0KLQkJCQkJCQkJCQkJICAgIDxpbWcgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJkZWxldGVVbmRlcmxheURhdGEoJ3RoaXMnKSIgb3BlcnR5cGU9InVuZGVybGF5RGVsZXRlIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiB0aXRsZT0iRGVsZXRlIiBpZD0iYmFjNGZmM2MtZDY5My00ZjU0LTg2Y2QtMjVhZjFlYTIyZjU5IiByb3dpZD0iMC8iPg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCTwvdGQ+DQotCQkJCQkJCQkJPHRkIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJ1bmRlcmxheVR5cGUiIGRhdGEtdGFibGVpZD0idW5kZXJsYXlUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0idW5kZXJsYXlUYWJsZV8wX3VuZGVybGF5VHlwZV9jdXN0b21fZWwiPklEMTIzNDU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0idW5kZXJsYXlUeXBlIiBkYXRhLXRhYmxlaWQ9InVuZGVybGF5VGFibGUiPg0KLQkJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InVuZGVybGF5VGFibGVfMF91bmRlcmxheVR5cGVfY3VzdG9tX2VsIj5beyJ0cE5hbWUiOiJ0cDM0NSIsInBlTmFtZSI6InBlMTIzIiwidmxhbklkIjoiMTIzNDQiLCJzaXRlQ2lkciI6InRldHRkIiwiaXAiOiIxLjEuMS4xIn0seyJ0cE5hbWUiOiJ0cDM0NSIsInBlTmFtZSI6Ijh4enh6ZTEyMyIsInZsYW5JZCI6IjIzNCIsInNpdGVDaWRyIjoidGV0dGQiLCJpcCI6IjEwLjEwLjEuMTAifV08L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJPC90cj4NCi0JCQkJCQkJPC90Ym9keT4gLS0+DQotICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4NCi0gICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRoIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InVuZGVybGF5VGVuYW50TmFtZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJ1bmRlcmxheU9iaklkX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5JRA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJ1bmRlcmxheVRlbmFudE5hbWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0idW5kZXJsYXlPYmpEYXRhX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5EYXRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gLS0+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRib2R5Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI3IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+TlVMTDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0ib2RkICBvcGVuby10YWJsZS10ciBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGRhdGEtcm93aWQ9IjAiIGRhdGEtdGFibGVpZD0idW5kZXJsYXlUYWJsZSI+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJ1bmRlcmxheU5hbWUiIGRhdGEtdGFibGVpZD0idW5kZXJsYXlUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ1bmRlcmxheU5hbWVMaW5rIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGlkPSJ1bmRlcmxheVRhYmxlXzBfdW5kZXJsYXlOYW1lX2xpbmsiPnVuZGVybGF5MTwvYT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJ1bmRlcmxheVR5cGUiIGRhdGEtdGFibGVpZD0idW5kZXJsYXlUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJ1bmRlcmxheVRhYmxlXzBfdW5kZXJsYXlUeXBlX2N1c3RvbV9lbCI+dW5kZXJsYXkgMTAxPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0idW5kZXJsYXlUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InVuZGVybGF5VGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0idW5kZXJsYXlUYWJsZV8wX3VuZGVybGF5VGVuYW50TmFtZV9jdXN0b21fZWwiPmNoYXh1YW55dWU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJ1bmRlcmxheU9wZXJhdGlvbiIgZGF0YS10YWJsZWlkPSJ1bmRlcmxheVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCIgaWQ9InVuZGVybGF5VGFibGVfMF91bmRlcmxheU9wZXJhdGlvbl9jdXN0b21fZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9ImRlbGV0ZVVuZGVybGF5RGF0YSgndGhpcycpIiBvcGVydHlwZT0idW5kZXJsYXlEZWxldGUiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIHRpdGxlPSJEZWxldGUiIGlkPSJiYWM0ZmYzYy1kNjkzLTRmNTQtODZjZC0yNWFmMWVhMjJmNTkiIHJvd2lkPSIwLyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0idW5kZXJsYXlUeXBlIiBkYXRhLXRhYmxlaWQ9InVuZGVybGF5VGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0idW5kZXJsYXlUYWJsZV8wX3VuZGVybGF5VHlwZV9jdXN0b21fZWwiPklEMTIzNDU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InVuZGVybGF5VHlwZSIgZGF0YS10YWJsZWlkPSJ1bmRlcmxheVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InVuZGVybGF5VGFibGVfMF91bmRlcmxheVR5cGVfY3VzdG9tX2VsIj5beyJ0cE5hbWUiOiJ0cDM0NSIsInBlTmFtZSI6InBlMTIzIiwidmxhbklkIjoiMTIzNDQiLCJzaXRlQ2lkciI6InRldHRkIiwiaXAiOiIxLjEuMS4xIn0seyJ0cE5hbWUiOiJ0cDM0NSIsInBlTmFtZSI6Ijh4enh6ZTEyMyIsInZsYW5JZCI6IjIzNCIsInNpdGVDaWRyIjoidGV0dGQiLCJpcCI6IjEwLjEwLjEuMTAifV08L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4gLS0+DQorICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICA8L2Rpdj4NCi0JCTwvZGl2Pg0KLQkJPGhyPg0KLQkJPGgzPlRQIERldGFpbHM8L2gzPg0KLQkJPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KLQkJCTxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCi0gICAgICAgICAgICAgICAgPGRpdj4NCi0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJ1bmRlcmxheVRwRGF0YVRhYmxlIiBkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1IiBkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQgaWQ9InVuZGVybGF5VGFibGVfdGhlYWQiIGNsYXNzPSJvcGVuby10YWJsZS10aGVhZCI+DQotCQkJCQkJCQk8dHIgY2xhc3M9ImFjdGl2ZSI+DQotCQkJCQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJ1bmRlcmxheU5hbWUiPg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkJCQkJPHNwYW4gaWQ9InVuZGVybGF5TmFtZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlRQIE5hbWUNCisgICAgICAgIDwvZGl2Pg0KKyAgICA8L2Rpdj4NCisgICAgPGhyPg0KKyAgICA8aDM+VFAgRGV0YWlsczwvaDM+DQorICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCisgICAgICAgIDxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCisgICAgICAgICAgICA8ZGl2Pg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KKyAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJ1bmRlcmxheVRwRGF0YVRhYmxlIiBkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIgZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyINCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQgaWQ9InVuZGVybGF5VGFibGVfdGhlYWQiIGNsYXNzPSJvcGVuby10YWJsZS10aGVhZCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJ1bmRlcmxheU5hbWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCQkJCQk8c3BhbiBpZD0idW5kZXJsYXlOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlRQIE5hbWUNCiAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCTwvZGl2Pg0KLQkJCQkJPC90aD4NCi0JCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0idW5kZXJsYXlUeXBlIj4NCi0JCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCTxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCTxzcGFuIGlkPSJ1bmRlcmxheVR5cGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlBFIE5hbWUNCi0gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj48L3RoPg0KLQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJ1bmRlcmxheVRlbmFudE5hbWUiPg0KLQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJPHNwYW4gaWQ9InVuZGVybGF5VGVuYW50TmFtZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VkxBTiBJRA0KLSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PjwvdGg+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InVuZGVybGF5VGVuYW50dW5kZXJsYXlOYW1lIiA+DQotCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2PjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQk8c3BhbiBpZD0idW5kZXJsYXlUZW5hbnR1bmRlcmxheU5hbWVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNpdGUgQ0lEUg0KLSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PjwvdGg+DQotCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InVuZGVybGF5VGVuYW50dW5kZXJsYXlJUCI+DQotCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2PjxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQk8c3BhbiBpZD0idW5kZXJsYXlUZW5hbnR1bmRlcmxheU5hbWVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPklQDQotICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+PC90aD4NCi0JCQkJCTwvdHI+PC90aGVhZD4NCi0JCQkJCQkJPCEtLSA8dGJvZHk+DQotCQkJCQkJCTwvdGJvZHk+IC0tPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJ1bmRlcmxheVR5cGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCTxzcGFuIGlkPSJ1bmRlcmxheVR5cGVfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlBFIE5hbWUNCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idW5kZXJsYXlUZW5hbnROYW1lIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJPHNwYW4gaWQ9InVuZGVybGF5VGVuYW50TmFtZV9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlZMQU4gSUQNCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idW5kZXJsYXlUZW5hbnR1bmRlcmxheU5hbWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQk8c3BhbiBpZD0idW5kZXJsYXlUZW5hbnR1bmRlcmxheU5hbWVfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5TaXRlIENJRFINCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0idW5kZXJsYXlUZW5hbnR1bmRlcmxheUlQIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJPHNwYW4gaWQ9InVuZGVybGF5VGVuYW50dW5kZXJsYXlOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+SVANCisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGJvZHk+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4gLS0+DQorICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICA8L2Rpdj4NCi0JCTwvZGl2Pg0KLQk8L2Rpdj4NCi0JPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiIGNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiIHN0eWxlPSJ3aWR0aDogMTU1cHg7IG1heC1oZWlnaHQ6IDEzMHB4OyBsZWZ0OiA2MjhweDsgdG9wOiAxMDRweDsgei1pbmRleDogMTc2MTsiPjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8wIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzIG9wZW5vLXNlbGVjdC1ibGFuay1pdGVtIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8xIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+RVRIPC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMiI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiIHRpdGxlPSJQT1MiPlBPUzwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzMiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzQiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5Mb29wYmFjazwvbGFiZWw+PC9kaXY+PC9kaXY+DQorICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQorPC9kaXY+DQorPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiIGNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiDQorICAgICBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyBvcGVuby1zZWxlY3QtYmxhbmstaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+PC9sYWJlbD4NCisgICAgPC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8xIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5FVEg8L2xhYmVsPjwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMiI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD48L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzMiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPlRydW5rPC9sYWJlbD48L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzQiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkxvb3BiYWNrPC9sYWJlbD48L2Rpdj4NCis8L2Rpdj4NCiA8L2JvZHk+DQogPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3BvbS54bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9wb20ueG1sCmluZGV4IDBiYTkzNjEuLjYwODkwYTIgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3BvbS54bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3IvcG9tLnhtbApAQCAtMTYsMTggKzE2LDE5IEBACiAgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIC0tPgotPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAgaHR0cDovL21hdmVuLmFwYWNoZS5vcmcveHNkL21hdmVuLTQuMC4wLnhzZCI+Ci0gIDxwYXJlbnQ+Ci0gICAgPGdyb3VwSWQ+b3JnLm9wZW5vLmdzby5ndWk8L2dyb3VwSWQ+Ci0gICAgPGFydGlmYWN0SWQ+b3Blbm8tcG9ydGFsPC9hcnRpZmFjdElkPgorPHByb2plY3QgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIKKyAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL21hdmVuLmFwYWNoZS5vcmcvUE9NLzQuMC4wIGh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL3hzZC9tYXZlbi00LjAuMC54c2QiPgorICAgIDxwYXJlbnQ+CisgICAgICAgIDxncm91cElkPm9yZy5vcGVuby5nc28uZ3VpPC9ncm91cElkPgorICAgICAgICA8YXJ0aWZhY3RJZD5vcGVuby1wb3J0YWw8L2FydGlmYWN0SWQ+CisgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDwvcGFyZW50PgorCisgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgorICAgIDxhcnRpZmFjdElkPnBvcnRhbC1yZXNtZ3I8L2FydGlmYWN0SWQ+CiAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+Ci0gIDwvcGFyZW50PgotCi0gIDxtb2RlbFZlcnNpb24+NC4wLjA8L21vZGVsVmVyc2lvbj4KLSAgPGFydGlmYWN0SWQ+cG9ydGFsLXJlc21ncjwvYXJ0aWZhY3RJZD4KLSAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+Ci0gIDxwYWNrYWdpbmc+d2FyPC9wYWNrYWdpbmc+Ci0KKyAgPHBhY2thZ2luZz5wb208L3BhY2thZ2luZz4KKzwhLS0KICAgPGJ1aWxkPgogICAgIDxwbHVnaW5zPgogICAgICAgPHBsdWdpbj4KQEAgLTM4LDUgKzM5LDUgQEAKICAgICAgICAgPC9jb25maWd1cmF0aW9uPgogICAgICAgPC9wbHVnaW4+CiAgICAgPC9wbHVnaW5zPgotICA8L2J1aWxkPgorICA8L2J1aWxkPiAtLT4KIDwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2Nzcy9STWFpbi5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9jc3MvUk1haW4uY3NzCmluZGV4IDkwYjA1YTkuLjQzMTYwZjUgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2Nzcy9STWFpbi5jc3MKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvY3NzL1JNYWluLmNzcwpAQCAtMSwxOTUgKzEsMjI0IEBACiAjaWVtcF9sYXlvdXRfY29udGFpbmVyIHsKLSAgcGFkZGluZzogMHB4OwotICBtYXJnaW46IDFweCBhdXRvOwotICB3aWR0aDogMTAwJTsKLSAgaGVpZ2h0OiAxMDAlOworICAgIHBhZGRpbmc6IDBweDsKKyAgICBtYXJnaW46IDFweCBhdXRvOworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKIH0KKwogI2llbXBfbGF5b3V0X2NvbnRhaW5lciAudGhyZWUtY29scy1sYXlvdXQgewotICB3aWR0aDogMTAwJTsKLSAgaGVpZ2h0OiAxMDAlOwotICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwotICBtYXJnaW4tbGVmdDogMHB4OwotICBtYXJnaW4tdG9wOiAwcHg7Ci0gIG1hcmdpbi1yaWdodDogMHB4OwotICBtYXJnaW4tYm90dG9tOiAwcHg7CisgICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAgbWFyZ2luLWxlZnQ6IDBweDsKKyAgICBtYXJnaW4tdG9wOiAwcHg7CisgICAgbWFyZ2luLXJpZ2h0OiAwcHg7CisgICAgbWFyZ2luLWJvdHRvbTogMHB4OwogfQorCiAjaWVtcF9sYXlvdXRfY29udGFpbmVyIC50aHJlZS1jb2xzLWxheW91dCB7Ci0gIHdpZHRoOiAxMDAlOwotICBoZWlnaHQ6IDEwMCU7Ci0gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Ci0gIG1hcmdpbi1sZWZ0OiAwcHg7Ci0gIG1hcmdpbi10b3A6IDBweDsKLSAgbWFyZ2luLXJpZ2h0OiAwcHg7Ci0gIG1hcmdpbi1ib3R0b206IDBweDsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBtYXJnaW4tbGVmdDogMHB4OworICAgIG1hcmdpbi10b3A6IDBweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAwcHg7CiB9CisKICNpZW1wX2xheW91dF9jb250YWluZXIgLnRocmVlLWNvbHMtY29sdW1uLnRocmVlLWNvbHMtbGVmdCB7Ci0gIHdpZHRoOiAyMTVweDsKLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKKyAgICB3aWR0aDogMjE1cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKIH0KKwogLmFjY29yZGlvbl9wYXJlbnQgewotICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gIHdpZHRoOiAyMjBweDsKLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgd2lkdGg6IDIyMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiB9CisKIC5vcGVuby1hY2NvcmRpb24tcmVzaXphYmxlLWhhbmRsZSB7Ci0gIHotaW5kZXg6IDEhaW1wb3J0YW50OwotICBjdXJzb3I6IGUtcmVzaXplOwotICB3aWR0aDogN3B4OwotICByaWdodDogLTVweDsKLSAgdG9wOiAwOwotICBoZWlnaHQ6IDEwMCU7Ci0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgZm9udC1zaXplOiAuMXB4OwotICBkaXNwbGF5OiBibG9jazsKKyAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7CisgICAgY3Vyc29yOiBlLXJlc2l6ZTsKKyAgICB3aWR0aDogN3B4OworICAgIHJpZ2h0OiAtNXB4OworICAgIHRvcDogMDsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGZvbnQtc2l6ZTogLjFweDsKKyAgICBkaXNwbGF5OiBibG9jazsKIH0KKwogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgewotICB3aWR0aDogMTAwJTsKLSAgbWFyZ2luOiAwOwotICBwYWRkaW5nOiAwOwotICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7Ci0gIGxpbmUtaGVpZ2h0OiAxN3B4OworICAgIHdpZHRoOiAxMDAlOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBsaW5lLWhlaWdodDogMTdweDsKIH0KKwogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkgewotICBtaW4td2lkdGg6IDc1cHg7Ci0gIG1hcmdpbjogMDsKLSAgcGFkZGluZzogMDsKLSAgbGlzdC1zdHlsZS10eXBlOiBub25lOwotICBjb2xvcjogIzAwMDsKLSAgY2xlYXI6IGJvdGg7CisgICAgbWluLXdpZHRoOiA3NXB4OworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBjb2xvcjogIzAwMDsKKyAgICBjbGVhcjogYm90aDsKIH0KKwogLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWNvbGxhcHNlLCAub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIGZsb2F0OiBsZWZ0OwotICBtYXJnaW4tYm90dG9tOiAtMXB4OwotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsKLSAgY3Vyc29yOiBwb2ludGVyOwotICB3aWR0aDogMTNweDsKLSAgcGFkZGluZy10b3A6IDI2cHg7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgbWFyZ2luLWJvdHRvbTogLTFweDsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7CisgICAgd2lkdGg6IDEzcHg7CisgICAgcGFkZGluZy10b3A6IDI2cHg7CiB9CisKIC5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQgewotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbGxhcHNlX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7Ci0gIG1hcmdpbi10b3A6IDhweDsKKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbGxhcHNlX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7CisgICAgbWFyZ2luLXRvcDogOHB4OwogfQotLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZC5jdXJyZW50ewotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2V4cGFuZF9hcnJvdy5wbmcpIHJpZ2h0IDIwcHggbm8tcmVwZWF0OworCisub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLmN1cnJlbnQgeworICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZXhwYW5kX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7CiB9CisKIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUsIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cgewotICBkaXNwbGF5OiBibG9jazsKLSAgcG9zaXRpb246IGFic29sdXRlOwotICByaWdodDogMDsKLSAgdG9wOiA0cHg7Ci0gIHdpZHRoOiAxOHB4OwotICBoZWlnaHQ6IDQxcHg7Ci0gIGN1cnNvcjogcG9pbnRlcjsKLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgcmlnaHQ6IDA7CisgICAgdG9wOiA0cHg7CisgICAgd2lkdGg6IDE4cHg7CisgICAgaGVpZ2h0OiA0MXB4OworICAgIGN1cnNvcjogcG9pbnRlcjsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OwogfQorCiAub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOwotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IDAhaW1wb3J0YW50OwotICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwotICAvKmJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwICNlNWU1ZTU7Ki8KKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAwICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsKKyAgICAvKmJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwICNlNWU1ZTU7Ki8KIH0KKwogYS5oZWFkZXIub3BlbmVkLCBhLmhlYWRlci5jbG9zZWQgewotICBmb250LXNpemU6IDE2cHg7Ci0gIHBhZGRpbmctdG9wOiAyNHB4OwotICBwYWRkaW5nLWJvdHRvbTogMjVweDsKLSAgY29sb3I6ICM5OTk5OTk7CisgICAgZm9udC1zaXplOiAxNnB4OworICAgIHBhZGRpbmctdG9wOiAyNHB4OworICAgIHBhZGRpbmctYm90dG9tOiAyNXB4OworICAgIGNvbG9yOiAjOTk5OTk5OwogfQorCiAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSAuY2xvc2VkLCAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSAub3BlbmVkIHsKLSAgcGFkZGluZy1yaWdodDogMTBweDsKLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTglIDUwJTsKLSAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OworICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk4JSA1MCU7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKIH0KKwogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkgYSB7Ci0gIHBhZGRpbmc6IDExcHggMTBweCAxMnB4OwotICBjb2xvcjogIzMzMzMzMzsKLSAgbWFyZ2luLXJpZ2h0OiAxcHg7Ci0gIG1hcmdpbi10b3A6IC0xcHg7Ci0gIHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50OwotICBmb250LWZhbWlseTogIk1pY3Jvc29mdCBZYWhlaSIsU2ltU3VuLEFyaWFsLFRhaG9tYTsKLSAgZm9udC1zaXplOiAxNHB4OwotICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKLSAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7Ci0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OwotICAvKmhlaWdodDogMTlweDsqLworICAgIHBhZGRpbmc6IDExcHggMTBweCAxMnB4OworICAgIGNvbG9yOiAjMzMzMzMzOworICAgIG1hcmdpbi1yaWdodDogMXB4OworICAgIG1hcmdpbi10b3A6IC0xcHg7CisgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OworICAgIGZvbnQtZmFtaWx5OiAiTWljcm9zb2Z0IFlhaGVpIiwgU2ltU3VuLCBBcmlhbCwgVGFob21hOworICAgIGZvbnQtc2l6ZTogMTRweDsKKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7CisgICAgLypoZWlnaHQ6IDE5cHg7Ki8KIH0KKwogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgdWwgewotICBtYXJnaW46IDA7Ci0gIHBhZGRpbmc6IDA7Ci0gIG92ZXJmbG93OiBoaWRkZW47CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6IDA7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KKwogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgYSB7Ci0gIGRpc3BsYXk6IGJsb2NrOwotICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogfQorCiBhIHsKLSAgY29sb3I6ICM0MjhiY2E7Ci0gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLSAgYmFja2dyb3VuZDogMCAwOworICAgIGNvbG9yOiAjNDI4YmNhOworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKKyAgICBiYWNrZ3JvdW5kOiAwIDA7CiB9Ci0uYmFyeworCisuYmFyIHsKICAgICBoZWlnaHQ6IDgzNHB4OwogICAgIHdpZHRoOiAxOHB4OwogICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7CiAgICAgZGlzcGxheTogbm9uZTsKIH0KLS5iYXIgc3BhbnsKKworLmJhciBzcGFuIHsKICAgICB3aWR0aDogMTNweDsKICAgICBoZWlnaHQ6IDM0cHg7CiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOwotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAwIWltcG9ydGFudDsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIC8qbWFyZ2luLXRvcDogLTQzMHB4OyovCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCAhaW1wb3J0YW50OworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIC8qbWFyZ2luLXRvcDogLTQzMHB4OyovCiB9Ci0jYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTCBsaXsKKworI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgewogICAgIGN1cnNvcjogcG9pbnRlcjsKIH0KLSNwdWVyX2Jhc2Vfb3Blbm97CisKKyNwdWVyX2Jhc2Vfb3Blbm8gewogICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiB9CisKIC5vcGVub19hY2NvcmRpb25fc2VsZWN0ZWQgewotICBtYXJnaW4tbGVmdDogMDsKLSAgbWFyZ2luLXJpZ2h0OiAwOwotICBiYWNrZ3JvdW5kOiAjZmFmYWZhOwotICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM0YWM5ZmYhaW1wb3J0YW50OwotICBib3gtc2hhZG93OiBub25lOwotICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgbWFyZ2luLWxlZnQ6IDA7CisgICAgbWFyZ2luLXJpZ2h0OiAwOworICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7CisgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNGFjOWZmICFpbXBvcnRhbnQ7CisgICAgYm94LXNoYWRvdzogbm9uZTsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiB9Ci1hOmhvdmVyewotICAgIGNvbG9yOiAjNGFjOWZmIWltcG9ydGFudDsKKworYTpob3ZlciB7CisgICAgY29sb3I6ICM0YWM5ZmYgIWltcG9ydGFudDsKIH0KKwogLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkub3Blbm9fYWNjb3JkaW9uX3NlbGVjdGVkIGEgewotICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gIGxlZnQ6IC0zcHg7Ci0gIGNvbG9yOiAjMDA5YWU3OworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBsZWZ0OiAtM3B4OworICAgIGNvbG9yOiAjMDA5YWU3OwogfQorCiAub3Blbm8tYWNjb3JkaW9uLXJlc2l6YWJsZS1oYW5kbGUgewotICB6LWluZGV4OiAxIWltcG9ydGFudDsKLSAgY3Vyc29yOiBlLXJlc2l6ZTsKLSAgd2lkdGg6IDdweDsKLSAgcmlnaHQ6IC01cHg7Ci0gIHRvcDogMDsKLSAgaGVpZ2h0OiAxMDAlOwotICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gIGZvbnQtc2l6ZTogLjFweDsKLSAgZGlzcGxheTogYmxvY2s7CisgICAgei1pbmRleDogMSAhaW1wb3J0YW50OworICAgIGN1cnNvcjogZS1yZXNpemU7CisgICAgd2lkdGg6IDdweDsKKyAgICByaWdodDogLTVweDsKKyAgICB0b3A6IDA7CisgICAgaGVpZ2h0OiAxMDAlOworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBmb250LXNpemU6IC4xcHg7CisgICAgZGlzcGxheTogYmxvY2s7CiB9CisKICNpZnJhbWVDb250YWluZXIgaWZyYW1lIHsKLSAgd2lkdGg6IDEwMCU7Ci0gIGhlaWdodDogMTAwJTsKLSAgYm9yZGVyOiAwOworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAgICBib3JkZXI6IDA7CiB9CisKICNhY2NvcmRpb25Db250ZW50LCAjaWZyYW1lQ29udGFpbmVyIHsKLSAgbWFyZ2luOiAwOwotICBwYWRkaW5nOiAwOwotICBib3JkZXI6IDA7Ci0gIHdpZHRoOiAxMDAlOwotICBoZWlnaHQ6IDEwMCU7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVyOiAwOworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKIH0KKwogLm9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfc2hvdyB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsKLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCFpbXBvcnRhbnQ7Ci0gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgI2U1ZTVlNSxpbnNldCAtMXB4IDAgMCAjZTVlNWU1OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAwICFpbXBvcnRhbnQ7CisgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCAjZTVlNWU1LCBpbnNldCAtMXB4IDAgMCAjZTVlNWU1OwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2Nzcy9WTU1haW4uY3NzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvY3NzL1ZNTWFpbi5jc3MKaW5kZXggOGQxZGI1YS4uMjU2NTMwNiAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvY3NzL1ZNTWFpbi5jc3MKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvY3NzL1ZNTWFpbi5jc3MKQEAgLTEsNTYgKzEsNjUgQEAKLWJvZHl7Citib2R5IHsKICAgICBmb250LWZhbWlseTogJ+W+rui9r+mbhem7kSc7CiAgICAgZm9udC1zaXplOiAxMnB4OwogICAgIGNvbG9yOiAjMzMzOwogICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7CiB9Ci1idXR0b257CisKK2J1dHRvbiB7CiAgICAgb3V0bGluZTogbm9uZTsKIH0KLXVsLGxpeworCit1bCwgbGkgewogICAgIGxpc3Qtc3R5bGU6IG5vbmU7Ci0gICAgcGFkZGluZzowOwotICAgIG1hcmdpbjowOworICAgIHBhZGRpbmc6IDA7CisgICAgbWFyZ2luOiAwOwogfQotLnRpdGxlRm9udHsKKworLnRpdGxlRm9udCB7CiAgICAgZm9udC1zaXplOiAxNnB4OwogfQotLnNlcGFyYXRvci1saW5leworCisuc2VwYXJhdG9yLWxpbmUgewogICAgIGhlaWdodDogMXB4OwogICAgIHdpZHRoOiAxMDAlOwotICAgIGJvcmRlcjoxcHggc29saWQgI2RkZDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgIG1hcmdpbjogNnB4IDAgMTVweCAwOwogfQotLnVwbG9hZEJ0bnsKKworLnVwbG9hZEJ0biB7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KKwogLmNyZWF0LWJ0biB7Ci0JcGFkZGluZzogMCAxNHB4OwotCWhlaWdodDogMjRweDsKKyAgICBwYWRkaW5nOiAwIDE0cHg7CisgICAgaGVpZ2h0OiAyNHB4OwogICAgIGZsb2F0OiBsZWZ0OwogICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgb3V0bGluZTogMDsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOwogICAgIHRleHQtYWxpZ246IGNlbnRlcjsKLSAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpOworICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7CiAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsKLSAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsKLSAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAsI2ZmZiksY29sb3Itc3RvcCgxMDAlLCNmYWZhZmEpKTsKLSAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsKLSAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmYsI2ZhZmFmYSk7CisgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmFmYWZhKTsKKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNmYWZhZmEpKTsKKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmYWZhZmEpOworICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYsICNmYWZhZmEpOwogICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZXMvYWRkLnBuZykgbm8tcmVwZWF0IDVweCBjZW50ZXI7CiAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogfQorCiAuY3JlYXQtYnRuOmhvdmVyIHsKLQljb2xvcjogIzAwOWFlNzsJCi0JYm9yZGVyOiAxcHggc29saWQgIzRBQzlGRgorICAgIGNvbG9yOiAjMDA5YWU3OworICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYKIH0KKwogLmNyZWF0LWJ0bjphY3RpdmUgewotCWNvbG9yOiAjMDAwOwkKLQlib3JkZXI6IDFweCBzb2xpZCAjNEFDOUZGCisgICAgY29sb3I6ICMwMDA7CisgICAgYm9yZGVyOiAxcHggc29saWQgIzRBQzlGRgogfQorCiAvKi5jcmVhdC1idG57CiAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2UvYWRkLnBuZykgbm8tcmVwZWF0IDVweCBjZW50ZXI7CiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKQEAgLTYxLDExMCArNzAsMTMwIEBACiAgICAgY29sb3I6ICNmZmY7CiAgICAgYm9yZGVyOjFweCBzb2xpZCAjNDI4YmNhOwogfSovCi0uc2VhcmNoeworLnNlYXJjaCB7CiAgICAgd2lkdGg6IDMxMHB4OwogICAgIGhlaWdodDogMzBweDsKLSAgICBmbG9hdDpyaWdodDsKKyAgICBmbG9hdDogcmlnaHQ7CiB9Ci0uc2VhcmNoLXRleHR7CisKKy5zZWFyY2gtdGV4dCB7CiAgICAgd2lkdGg6IDI1MHB4OwogICAgIGZsb2F0OiBsZWZ0OwogICAgIG1hcmdpbi1yaWdodDogNnB4OwogfQotLnNlYXJjaC1idG57CisKKy5zZWFyY2gtYnRuIHsKICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgYmFja2dyb3VuZDogI2ZmZjsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgIGZsb2F0OiBsZWZ0OwogfQotI2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2eworCisjaWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYgewogICAgIG1hcmdpbi10b3A6IDE1cHg7CiB9Ci0udGFibGU+dGhlYWQ+dHIuYWN0aXZlPnRoewotICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQhaW1wb3J0YW50OworCisudGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRoIHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7CiAgICAgYm9yZGVyLWJvdHRvbTogMDsKICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOwogfQorCiAvKi50YWJsZSB0Ym9keSB0cjpob3ZlcnsKICAgICBiYWNrZ3JvdW5kOiAjZTZmYmUwIWltcG9ydGFudDsKIH0qLwotLnRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGR7CisudGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7CiB9Ci0udGFibGUtYnRueworCisudGFibGUtYnRuIHsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOwogICAgIGJvcmRlci1yYWRpdXM6IDNweDsKIH0KLS5kZWxldGUtYnRueworCisuZGVsZXRlLWJ0biB7CiAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlL2RlbGV0ZS5wbmcpIG5vLXJlcGVhdDsKICAgICB3aWR0aDogMTZweDsKICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgYm9yZGVyOiBub25lOwogfQotLmRldGFpbC1idG57CisKKy5kZXRhaWwtYnRuIHsKICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2Uvb3Blbm8ucG5nKSBuby1yZXBlYXQgLTM0M3B4IC0yODNweDsKICAgICB3aWR0aDogMTZweDsKICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgYm9yZGVyOiBub25lOwogfQotLmRldGFpbC1idG4uY3VycmVudHsKLSAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IC0zMTRweDsgCisKKy5kZXRhaWwtYnRuLmN1cnJlbnQgeworICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTMxNHB4OwogfQotLmRldGFpbHsKKworLmRldGFpbCB7CiAgICAgaGVpZ2h0OiAyMDBweDsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgIG1hcmdpbi10b3A6IDYwcHg7CiB9CiAKLS5kZXRhaWwtdG9wIHVseworLmRldGFpbC10b3AgdWwgewogICAgIGhlaWdodDogNTBweDsKICAgICBsaW5lLWhlaWdodDogNTBweDsKICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsKICAgICBwYWRkaW5nLWxlZnQ6IDBweDsKLSAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsKKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOwogfQotLmRldGFpbC10b3AgdWwgbGl7Ci0gICAgZmxvYXQ6bGVmdDsKKworLmRldGFpbC10b3AgdWwgbGkgeworICAgIGZsb2F0OiBsZWZ0OwogICAgIHdpZHRoOiAxMjBweDsKICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDsKICAgICBjdXJzb3I6IHBvaW50ZXI7CiB9Ci0uZGV0YWlsLXRvcCB1bCBsaS5jdXJyZW50eworCisuZGV0YWlsLXRvcCB1bCBsaS5jdXJyZW50IHsKICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogfQotLnZtYXBwLW1hcmdpbnsKKworLnZtYXBwLW1hcmdpbiB7CiAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKIH0KLS5jb250cm9sLWxhYmVsIC5yZXF1aXJlZHsKKworLmNvbnRyb2wtbGFiZWwgLnJlcXVpcmVkIHsKICAgICBjb2xvcjogI2UwMjIyMjsKICAgICBmb250LXNpemU6IDEycHg7CiAgICAgcGFkZGluZy1sZWZ0OiAycHg7CiB9Ci0uZm9ybS1ncm91cCAuY29udHJvbC1sYWJlbHsKKworLmZvcm0tZ3JvdXAgLmNvbnRyb2wtbGFiZWwgewogICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICBmb250LXdlaWdodDogNDAwOwogfQotbGVnZW5keworCitsZWdlbmQgewogICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICBmb250LXdlaWdodDogYm9sZDsKIH0KLS5wYWdlR3JveworCisucGFnZUdybyB7CiAgICAgd2lkdGg6IDI1MHB4OwogICAgIGZsb2F0OiByaWdodDsKIH0KLS5wYWdlVXAsLnBhZ2VEb3duLC5wYWdlTGlzdCwucGFnZUxpc3QgbGl7CisKKy5wYWdlVXAsIC5wYWdlRG93biwgLnBhZ2VMaXN0LCAucGFnZUxpc3QgbGkgewogICAgIGZsb2F0OiBsZWZ0OwogICAgIGN1cnNvcjogcG9pbnRlcjsKIH0KLS5wYWdlVXAsLnBhZ2VEb3dueworCisucGFnZVVwLCAucGFnZURvd24gewogICAgIHdpZHRoOiA2MHB4OwogICAgIGhlaWdodDogMzBweDsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICBsaW5lLWhlaWdodDogMzBweDsKIH0KLS5wYWdlTGlzdCBsaXsKKworLnBhZ2VMaXN0IGxpIHsKICAgICB3aWR0aDogMzBweDsKICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKQEAgLTE3Miw0NjYgKzIwMSw1NDMgQEAKICAgICBsaW5lLWhlaWdodDogMzBweDsKICAgICBib3JkZXItbGVmdDogbm9uZTsKIH0KLS5wYWdlTGlzdCBsaS5hY3RpdmV7CisKKy5wYWdlTGlzdCBsaS5hY3RpdmUgewogICAgIGJhY2tncm91bmQ6ICM0MjhiY2E7CiAgICAgY29sb3I6ICNmZmY7CiAgICAgYm9yZGVyLWNvbG9yOiAjNDI4YmNhOwogfQotLnBhZ2VEb3dueworCisucGFnZURvd24gewogICAgIGJvcmRlci1sZWZ0OiBub25lOwogfQotLmhlYWRlckxpbmtQeworCisuaGVhZGVyTGlua1AgewogICAgIHBhZGRpbmctdG9wOiAxN3B4OwogfQotLmhlYWRlckxpbmtQIHNwYW57CisKKy5oZWFkZXJMaW5rUCBzcGFuIHsKICAgICBmb250LXNpemU6IDEycHg7CiAgICAgY29sb3I6ICM2NjY7Ci0gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OwogfQotbGFiZWx7Ci0gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7CisKK2xhYmVsIHsKKyAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7CiB9CisKIHRhYmxlLnVzZXJmb3JtIHRib2R5IHRyIHRkIHsKLSAgZGlzcGxheTogdGFibGUtY2VsbDsKLSAgcGFkZGluZy1yaWdodDogMTBweDsKLSAgcGFkZGluZy10b3A6IDEwcHg7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLSAgY29sb3I6ICMzMzM7CisgICAgZGlzcGxheTogdGFibGUtY2VsbDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OworICAgIHBhZGRpbmctdG9wOiAxMHB4OworICAgIGZvbnQtc2l6ZTogMTJweDsKKyAgICBjb2xvcjogIzMzMzsKIH0KLS50YWJsZSB0aCwudGFibGUgdGR7Ci0gICAgcGFkZGluZy10b3A6IDNweCFpbXBvcnRhbnQ7Ci0gICAgcGFkZGluZy1ib3R0b206IDNweCFpbXBvcnRhbnQ7CisKKy50YWJsZSB0aCwgLnRhYmxlIHRkIHsKKyAgICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7CisgICAgcGFkZGluZy1ib3R0b206IDNweCAhaW1wb3J0YW50OwogfQorCiAub3Blbm9Ccm93c2VCdXR0b25fZWxlbWVudCB7Ci0gIGRpc3BsYXk6IHRhYmxlOworICAgIGRpc3BsYXk6IHRhYmxlOwogfQorCiAub3Blbm8gewotICBmb250LWZhbWlseTogIk1pY3Jvc29mdCBZYWhlaSIsU2ltU3VuLEFyaWFsLFRhaG9tYTsKLSAgZm9udC1zaXplOiAxMnB4OwotICBjb2xvcjogIzAwMDsKKyAgICBmb250LWZhbWlseTogIk1pY3Jvc29mdCBZYWhlaSIsIFNpbVN1biwgQXJpYWwsIFRhaG9tYTsKKyAgICBmb250LXNpemU6IDEycHg7CisgICAgY29sb3I6ICMwMDA7CiB9CisKIC5vcGVub0Jyb3dzZUJ1dHRvbl9pbnB1dCB7Ci0gIHdpZHRoOiAxOThweDsKLSAgcG9zaXRpb246IHJlbGF0aXZlOwotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzIWltcG9ydGFudDsKLSAgaGVpZ2h0OiAyNnB4OwotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOwotICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsKLSAgYm9yZGVyLXJpZ2h0OiBub25lOwotICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAxOThweDsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMyAhaW1wb3J0YW50OworICAgIGhlaWdodDogMjZweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOworICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OworICAgIGJvcmRlci1yaWdodDogbm9uZTsKKyAgICBwYWRkaW5nOiAwOwogfQorCiAuYnV0dG9uQ2xhc3NEZWZhdWx0LCAuYnV0dG9uQ2xhc3NEZWZhdWx0OmFjdGl2ZSB7Ci0gIGN1cnNvcjogcG9pbnRlcjsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOwotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggLTdweCFpbXBvcnRhbnQ7CisgICAgY3Vyc29yOiBwb2ludGVyOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0cHggLTdweCAhaW1wb3J0YW50OwogfQorCiAub3Blbm9Ccm93c2VCdXR0b25fYnV0dG9uIHsKLSAgd2lkdGg6IDI3cHg7Ci0gIGJvcmRlcjogMDsKLSAgZmxvYXQ6IHJpZ2h0OwotICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gIGhlaWdodDogMjZweDsKLSAgcmlnaHQ6IDA7Ci0gIHRvcDogMDsKLSAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7Ci0gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjM2MzYzM7Ci0gIGJvcmRlci1sZWZ0OiBub25lOworICAgIHdpZHRoOiAyN3B4OworICAgIGJvcmRlcjogMDsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIGhlaWdodDogMjZweDsKKyAgICByaWdodDogMDsKKyAgICB0b3A6IDA7CisgICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CisgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MzYzNjMzsKKyAgICBib3JkZXItbGVmdDogbm9uZTsKIH0KKwogLm9wZW5vIC5vcGVuby1pbnB1dCwgLm9wZW5vLm9wZW5vLWlucHV0IHsKLSAgb3V0bGluZTogMDsKLSAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMzsKLSAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0OwotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwotICBoZWlnaHQ6IDI2cHg7CisgICAgb3V0bGluZTogMDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOworICAgIGJveC1zaGFkb3c6IDFweCAxcHggI2Y2ZjZmNiBpbnNldDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOworICAgIGhlaWdodDogMjZweDsKIH0KKwogLm9wZW5vSW5wdXRfb3Blbm9EZWZhdWx0VGV4dCB7Ci0gIHBhZGRpbmc6IDAgMCAwIDZweDsKLSAgYm9yZGVyLXJhZGl1czogNHB4OwotICBjb2xvcjogIzAwMDsKLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICBvdXRsaW5lOiAwOwotICBib3gtc2hhZG93OiAxcHggMXB4ICNmNmY2ZjYgaW5zZXQ7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLSAgYmFja2dyb3VuZDogI2ZmZjsKKyAgICBwYWRkaW5nOiAwIDAgMCA2cHg7CisgICAgYm9yZGVyLXJhZGl1czogNHB4OworICAgIGNvbG9yOiAjMDAwOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBvdXRsaW5lOiAwOworICAgIGJveC1zaGFkb3c6IDFweCAxcHggI2Y2ZjZmNiBpbnNldDsKKyAgICBmb250LXNpemU6IDEycHg7CisgICAgYmFja2dyb3VuZDogI2ZmZjsKIH0KKwogZGl2Lm9wZW5vLXNlbGVjdCB7Ci0gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7Ci0gIGJvcmRlci1yYWRpdXM6IDRweDsKLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hcnJvdy1kb3duLWVuYWJsZS5wbmcpIHJpZ2h0IG5vLXJlcGVhdCAjZmZmOwotICBsaW5lLWhlaWdodDogMjRweDsKLSAgcGFkZGluZy1sZWZ0OiAzcHg7Ci0gIGRpc3BsYXk6IGJsb2NrOworICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7CisgICAgYm9yZGVyLXJhZGl1czogNHB4OworICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYXJyb3ctZG93bi1lbmFibGUucG5nKSByaWdodCBuby1yZXBlYXQgI2ZmZjsKKyAgICBsaW5lLWhlaWdodDogMjRweDsKKyAgICBwYWRkaW5nLWxlZnQ6IDNweDsKKyAgICBkaXNwbGF5OiBibG9jazsKIH0KLWRpdi5vcGVuby1zZWxlY3Q+aW5wdXQub3Blbm8tc2VsZWN0LWlucHV0IHsKLSAgYm9yZGVyOiBub25lOwotICBvdXRsaW5lOiAwOwotICBsaW5lLWhlaWdodDogMjFweDsKLSAgaGVpZ2h0OiAyMXB4OwotICBwYWRkaW5nLWxlZnQ6IDNweDsKLSAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2MzYzNjMzsKKworZGl2Lm9wZW5vLXNlbGVjdCA+IGlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7CisgICAgYm9yZGVyOiBub25lOworICAgIG91dGxpbmU6IDA7CisgICAgbGluZS1oZWlnaHQ6IDIxcHg7CisgICAgaGVpZ2h0OiAyMXB4OworICAgIHBhZGRpbmctbGVmdDogM3B4OworICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7CiB9CisKIC5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7Ci0gIG92ZXJmbG93OiBoaWRkZW47Ci0gIHdoaXRlLXNwYWNlOiBub3dyYXA7Ci0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKIH0KKwogYS5vcGVub0J1dHRvbl9idXR0b25DbGFzcywgYS5vcGVub0J1dHRvbl9idXR0b25EaXNhYmxlQ2xhc3MsIGRpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzcywgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkRpc2FibGVDbGFzcyB7Ci0gIGhlaWdodDogMjZweDsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIGN1cnNvcjogcG9pbnRlcjsKLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwotICBvdXRsaW5lOiAwOwotICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzOwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSk7Ci0gIGJhY2tncm91bmQ6ICNmYWZhZmE7Ci0gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZmZmLCNmYWZhZmEpOwotICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAsI2ZmZiksY29sb3Itc3RvcCgxMDAlLCNmYWZhZmEpKTsKLSAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmZmYsI2ZhZmFmYSk7Ci0gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2ZmZiwjZmFmYWZhKTsKLSAgYm9yZGVyLXJhZGl1czogNnB4OworICAgIGhlaWdodDogMjZweDsKKyAgICBmbG9hdDogbGVmdDsKKyAgICBjdXJzb3I6IHBvaW50ZXI7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgIG91dGxpbmU6IDA7CisgICAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMzsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsKKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOworICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2ZhZmFmYSk7CisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjZmZmKSwgY29sb3Itc3RvcCgxMDAlLCAjZmFmYWZhKSk7CisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmFmYWZhKTsKKyAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmLCAjZmFmYWZhKTsKKyAgICBib3JkZXItcmFkaXVzOiA2cHg7CiB9Ci0ub3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzc3sKLSAgICAgIHBhZGRpbmc6IDAgMTlweDsKLSAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKKworLm9wZW5vQnV0dG9uX2J1dHRvbklubmVyQ2xhc3MgeworICAgIHBhZGRpbmc6IDAgMTlweDsKKyAgICBib3JkZXItcmFkaXVzOiA2cHg7CiB9CisKIC5vcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IHsKLSAgY29sb3I6ICMwMDA7Ci0gIGxpbmUtaGVpZ2h0OiAyNHB4OwotICB3aGl0ZS1zcGFjZTogbm93cmFwOwotICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7CisgICAgY29sb3I6ICMwMDA7CisgICAgbGluZS1oZWlnaHQ6IDI0cHg7CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogfQorCiAudXNlckhlYWRlciB7Ci0gIGNsZWFyOiBsZWZ0OwotICBvdmVyZmxvdzogaGlkZGVuOwotICBtYXJnaW4tYm90dG9tOiAxMHB4OwotICBwYWRkaW5nOiAxMHB4IDEwcHggMHB4IDBweDsKKyAgICBjbGVhcjogbGVmdDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgcGFkZGluZzogMTBweCAxMHB4IDBweCAwcHg7CiB9CisKIC5vcGVub0J1dHRvbl9idXR0b25Hcm91cENsYXNzIHsKLSAgZGlzcGxheTogaW5saW5lOworICAgIGRpc3BsYXk6IGlubGluZTsKIH0KKwogLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudDpmaXJzdC1jaGlsZCB7Ci0gIG1hcmdpbi1sZWZ0OiAwOworICAgIG1hcmdpbi1sZWZ0OiAwOwogfQorCiAub3Blbm9CdXR0b25fYnV0dG9uTGVmdEltZyB7Ci0gIG1hcmdpbi1yaWdodDogNXB4OworICAgIG1hcmdpbi1yaWdodDogNXB4OwogfQorCiAub3Blbm9CdXR0b25fYnV0dG9uTGVmdEltZywgLm9wZW5vQnV0dG9uX2J1dHRvblJpZ2h0SW1nIHsKLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwotICB3aWR0aDogMTZweDsKLSAgaGVpZ2h0OiAxNnB4OwotICBtYXJnaW4tdG9wOiA0cHg7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgd2lkdGg6IDE2cHg7CisgICAgaGVpZ2h0OiAxNnB4OworICAgIG1hcmdpbi10b3A6IDRweDsKIH0KKwogLm9wZW5vLXRhYmxlLXBhZ2luYXRpb24td3JhcHBlciB7Ci0gIGhlaWdodDogMzdweDsKKyAgICBoZWlnaHQ6IDM3cHg7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uIHsKLSAgZGlzcGxheTogYmxvY2s7Ci0gIGZsb2F0OiBsZWZ0OwotICBvdmVyZmxvdzogaGlkZGVuOwotICBwYWRkaW5nOiA1cHggMCAwOwotICBtYXJnaW4tdG9wOiA4cHg7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICBwYWRkaW5nOiA1cHggMCAwOworICAgIG1hcmdpbi10b3A6IDhweDsKIH0KKwogLm9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zOm5vdChtc2llOCkgewotICBsaW5lLWhlaWdodDogMjRweDsKKyAgICBsaW5lLWhlaWdodDogMjRweDsKIH0KKwogLm9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIHsKLSAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKLSAgaGVpZ2h0OiAyNHB4OwotICBmbG9hdDogbGVmdDsKLSAgb3V0bGluZTogMDsKLSAgbGluZS1oZWlnaHQ6IDIwcHg7Ci0gIG1hcmdpbjogMCA1cHg7CisgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKKyAgICBoZWlnaHQ6IDI0cHg7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgb3V0bGluZTogMDsKKyAgICBsaW5lLWhlaWdodDogMjBweDsKKyAgICBtYXJnaW46IDAgNXB4OwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi1zZWxlY3QgewotICBoZWlnaHQ6IDI2cHg7Ci0gIGxpbmUtaGVpZ2h0OiAyMnB4OwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gIG1hcmdpbi1yaWdodDogLTJweDsKLSAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsKLSAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7Ci0gIHBhZGRpbmc6IDFweDsKKyAgICBoZWlnaHQ6IDI2cHg7CisgICAgbGluZS1oZWlnaHQ6IDIycHg7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIG1hcmdpbi1yaWdodDogLTJweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOworICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4OworICAgIHBhZGRpbmc6IDFweDsKIH0KKwogLm9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIHNwYW4gewotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmIWltcG9ydGFudDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIGEsIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIHNwYW4gewotICBmbG9hdDogbGVmdDsKLSAgY29sb3I6ICM2NjY7Ci0gIGZvbnQ6IDEycHggTHVjaWRhIEdyYW5kZSxWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOwotICBsaW5lLWhlaWdodDogMjRweDsKLSAgZm9udC13ZWlnaHQ6IDQwMDsKLSAgdGV4dC1hbGlnbjogY2VudGVyOwotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOwotICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50OwotICBwYWRkaW5nOiAwIDdweDsKLSAgYm9yZGVyLXJhZGl1czogM3B4OwotICBiYWNrZ3JvdW5kOiAjZmZmOworICAgIGZsb2F0OiBsZWZ0OworICAgIGNvbG9yOiAjNjY2OworICAgIGZvbnQ6IDEycHggTHVjaWRhIEdyYW5kZSwgVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKKyAgICBsaW5lLWhlaWdodDogMjRweDsKKyAgICBmb250LXdlaWdodDogNDAwOworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OworICAgIHBhZGRpbmc6IDAgN3B4OworICAgIGJvcmRlci1yYWRpdXM6IDNweDsKKyAgICBiYWNrZ3JvdW5kOiAjZmZmOwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIHsKLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pZGVvX2RlZmF1bHRfc2VsZWN0LnBuZykgbGVmdCBuby1yZXBlYXQhaW1wb3J0YW50OwotICBmbG9hdDogcmlnaHQhaW1wb3J0YW50OwotICB3aWR0aDogMjZweDsKLSAgaGVpZ2h0OiAyNnB4OwotICBjdXJzb3I6IHBvaW50ZXI7CisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pZGVvX2RlZmF1bHRfc2VsZWN0LnBuZykgbGVmdCBuby1yZXBlYXQgIWltcG9ydGFudDsKKyAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKKyAgICB3aWR0aDogMjZweDsKKyAgICBoZWlnaHQ6IDI2cHg7CisgICAgY3Vyc29yOiBwb2ludGVyOwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBsYWJlbCB7Ci0gIHBhZGRpbmctdG9wOiA2cHg7Ci0gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ci0gIG1hcmdpbi1yaWdodDogMjBweDsKLSAgbWFyZ2luLXRvcDogLTFweDsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgaGVpZ2h0OiAyMHB4OwotICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsKKyAgICBwYWRkaW5nLXRvcDogNnB4OworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CisgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OworICAgIG1hcmdpbi10b3A6IC0xcHg7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGhlaWdodDogMjBweDsKKyAgICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uIGxpLCAub3Blbm8tcGFnaW5hdGlvbiB1bCB7Ci0gIGxpc3Qtc3R5bGU6IG5vbmU7Ci0gIHBhZGRpbmc6IDA7Ci0gIG1hcmdpbjogMDsKLSAgZmxvYXQ6IGxlZnQ7CisgICAgbGlzdC1zdHlsZTogbm9uZTsKKyAgICBwYWRkaW5nOiAwOworICAgIG1hcmdpbjogMDsKKyAgICBmbG9hdDogbGVmdDsKIH0KKwogZGQsIGRsLCBkdCwgbGkgewotICBjb2xvcjogIzAwMDsKKyAgICBjb2xvcjogIzAwMDsKIH0KKwogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3Bhbi5jdXJyZW50IHsKLSAgbWFyZ2luOiAwIDVweCAwIDA7CisgICAgbWFyZ2luOiAwIDVweCAwIDA7CiB9CisKIC5vcGVubyAub3Blbm8tZGlzYWJsZWQsIC5vcGVuby5vcGVuby1kaXNhYmxlZCB7Ci0gIGJvcmRlci1jb2xvcjogI2MzYzNjMyFpbXBvcnRhbnQ7Ci0gIGNvbG9yOiAjNjY2IWltcG9ydGFudDsKLSAgb3BhY2l0eTogLjM7Ci0gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7CisgICAgYm9yZGVyLWNvbG9yOiAjYzNjM2MzICFpbXBvcnRhbnQ7CisgICAgY29sb3I6ICM2NjYgIWltcG9ydGFudDsKKyAgICBvcGFjaXR5OiAuMzsKKyAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldiB7Ci0gIGJhY2tncm91bmQ6IDAgMDsKLSAgZmxvYXQ6IGxlZnQ7CisgICAgYmFja2dyb3VuZDogMCAwOworICAgIGZsb2F0OiBsZWZ0OwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAuY3VycmVudCB7Ci0gIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7Ci0gIGZsb2F0OiBsZWZ0OwotICBwYWRkaW5nLWxlZnQ6IDZweDsKLSAgaGVpZ2h0OiAyNHB4OwotICBjb2xvcjogI2ZmZjsKLSAgZGlzcGxheTogaW5saW5lOwotICBib3JkZXItY29sb3I6ICMwMGFkZjU7Ci0gIGJhY2tncm91bmQ6ICM0YWQyZmY7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgcGFkZGluZy1sZWZ0OiA2cHg7CisgICAgaGVpZ2h0OiAyNHB4OworICAgIGNvbG9yOiAjZmZmOworICAgIGRpc3BsYXk6IGlubGluZTsKKyAgICBib3JkZXItY29sb3I6ICMwMGFkZjU7CisgICAgYmFja2dyb3VuZDogIzRhZDJmZjsKIH0KKwogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3BhbiB7Ci0gIGZsb2F0OiBsZWZ0OwotICBjb2xvcjogIzY2NjsKLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Ci0gIGxpbmUtaGVpZ2h0OiAyNHB4OwotICBmb250LXdlaWdodDogNDAwOwotICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7Ci0gIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7Ci0gIHBhZGRpbmc6IDAgN3B4OwotICBib3JkZXItcmFkaXVzOiAzcHg7Ci0gIGJhY2tncm91bmQ6ICNmZmY7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgY29sb3I6ICM2NjY7CisgICAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLCBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOworICAgIGxpbmUtaGVpZ2h0OiAyNHB4OworICAgIGZvbnQtd2VpZ2h0OiA0MDA7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CisgICAgcGFkZGluZzogMCA3cHg7CisgICAgYm9yZGVyLXJhZGl1czogM3B4OworICAgIGJhY2tncm91bmQ6ICNmZmY7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2Lm9wZW5vLWRpc2FibGVkOmJlZm9yZSB7Ci0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7CisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsKIH0KKwogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYub3Blbm8tZGlzYWJsZWQ6YmVmb3JlIHsKLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbGVmdF9kaXNhYmxlZC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0OwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgewotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0OworICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5uZXh0OmFmdGVyLCAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgewotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gIGNvbnRlbnQ6ICIiOwotICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwotICB3aWR0aDogMTBweDsKLSAgaGVpZ2h0OiAyNHB4OworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBjb250ZW50OiAiIjsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworICAgIHdpZHRoOiAxMHB4OworICAgIGhlaWdodDogMjRweDsKIH0KKwogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXY6YmVmb3JlIHsKLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2wucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsKKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0OwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAubmV4dDphZnRlciwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXY6YmVmb3JlIHsKLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICBjb250ZW50OiAiIjsKLSAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKLSAgd2lkdGg6IDEwcHg7Ci0gIGhlaWdodDogMjRweDsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgY29udGVudDogIiI7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDI0cHg7CiB9CisKIHBhZ2luYXRpb24gdWwgewotICBsaXN0LXN0eWxlOiBub25lOwotICBwYWRkaW5nOiAwOwotICBtYXJnaW46IDA7Ci0gIGZsb2F0OiBsZWZ0OworICAgIGxpc3Qtc3R5bGU6IG5vbmU7CisgICAgcGFkZGluZzogMDsKKyAgICBtYXJnaW46IDA7CisgICAgZmxvYXQ6IGxlZnQ7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uIGxpLCAub3Blbm8tcGFnaW5hdGlvbiB1bCB7Ci0gIGxpc3Qtc3R5bGU6IG5vbmU7Ci0gIHBhZGRpbmc6IDA7Ci0gIG1hcmdpbjogMDsKLSAgZmxvYXQ6IGxlZnQ7CisgICAgbGlzdC1zdHlsZTogbm9uZTsKKyAgICBwYWRkaW5nOiAwOworICAgIG1hcmdpbjogMDsKKyAgICBmbG9hdDogbGVmdDsKIH0KKwogLm9wZW5vUGFnaW5hdGlvbl9nb3RvdGV4dCB7Ci0gIGJhY2tncm91bmQ6ICNGRkY7Ci0gIG91dGxpbmU6IDA7Ci0gIHdpZHRoOiAyOXB4OwotICBmbG9hdDogbGVmdDsKLSAgaGVpZ2h0OiAyNnB4OwotICBsaW5lLWhlaWdodDogMjRweDsKLSAgYm9yZGVyLXJhZGl1czogNHB4OwotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOwotICBwYWRkaW5nOiAwIDAgMCA1cHg7Ci0gIG1hcmdpbjogMDsKLSAgY29sb3I6ICM2NjY7Ci0gIG1pbi13aWR0aDogNTBweDsKKyAgICBiYWNrZ3JvdW5kOiAjRkZGOworICAgIG91dGxpbmU6IDA7CisgICAgd2lkdGg6IDI5cHg7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgaGVpZ2h0OiAyNnB4OworICAgIGxpbmUtaGVpZ2h0OiAyNHB4OworICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOworICAgIHBhZGRpbmc6IDAgMCAwIDVweDsKKyAgICBtYXJnaW46IDA7CisgICAgY29sb3I6ICM2NjY7CisgICAgbWluLXdpZHRoOiA1MHB4OwogfQorCiAub3Blbm9QYWdpbmF0aW9uX2dvdG9pbWFnZSB7Ci0gIHdpZHRoOiAyOXB4OwotICBoZWlnaHQ6IDI2cHg7Ci0gIGxpbmUtaGVpZ2h0OiAyNnB4OwotICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOwotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3BvcnRhbC90aGVtZXMvZGVmYXVsdC9jb21wb25lbnRzL29wZW5vL2ltYWdlcy9vcGVuby5wbmcpOwotICBwYWRkaW5nLWxlZnQ6IDIxcHg7Ci0gIGZsb2F0OiBsZWZ0OwotICBtYXJnaW4tbGVmdDogNXB4OwotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOwotICBib3JkZXItcmFkaXVzOiA0cHg7Ci0gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4NHB4IC0xODFweCFpbXBvcnRhbnQ7CisgICAgd2lkdGg6IDI5cHg7CisgICAgaGVpZ2h0OiAyNnB4OworICAgIGxpbmUtaGVpZ2h0OiAyNnB4OworICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9wb3J0YWwvdGhlbWVzL2RlZmF1bHQvY29tcG9uZW50cy9vcGVuby9pbWFnZXMvb3Blbm8ucG5nKTsKKyAgICBwYWRkaW5nLWxlZnQ6IDIxcHg7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgbWFyZ2luLWxlZnQ6IDVweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOworICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg0cHggLTE4MXB4ICFpbXBvcnRhbnQ7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5lbGxpcHNlIHsKLSAgZmxvYXQ6IGxlZnQ7Ci0gIG1hcmdpbi1sZWZ0OiAtOHB4OwotICBtYXJnaW4tcmlnaHQ6IC00cHg7Ci0gIGJhY2tncm91bmQ6IDAgMDsKLSAgYm9yZGVyOiBub25lOwotICBib3JkZXItcmFkaXVzOiAwOwotICBib3gtc2hhZG93OiBub25lOwotICBmb250LXdlaWdodDogNzAwOwotICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgbWFyZ2luLWxlZnQ6IC04cHg7CisgICAgbWFyZ2luLXJpZ2h0OiAtNHB4OworICAgIGJhY2tncm91bmQ6IDAgMDsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgYm9yZGVyLXJhZGl1czogMDsKKyAgICBib3gtc2hhZG93OiBub25lOworICAgIGZvbnQtd2VpZ2h0OiA3MDA7CisgICAgY3Vyc29yOiBkZWZhdWx0OwogfQorCiAub3Blbm8ub3Blbm8tZGlzYWJsZWQgewotICBib3JkZXItY29sb3I6ICNjM2MzYzMhaW1wb3J0YW50OwotICBjb2xvcjogIzY2NiFpbXBvcnRhbnQ7Ci0gIG9wYWNpdHk6IC4zOwotICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOworICAgIGJvcmRlci1jb2xvcjogI2MzYzNjMyAhaW1wb3J0YW50OworICAgIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7CisgICAgb3BhY2l0eTogLjM7CisgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsKIH0KKwogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYgewotICBiYWNrZ3JvdW5kOiAwIDA7Ci0gIGZsb2F0OiBsZWZ0OworICAgIGJhY2tncm91bmQ6IDAgMDsKKyAgICBmbG9hdDogbGVmdDsKIH0KKwogLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLmN1cnJlbnQgewotICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50OwotICBmbG9hdDogbGVmdDsKLSAgcGFkZGluZy1sZWZ0OiA2cHg7Ci0gIGhlaWdodDogMjZweDsKLSAgY29sb3I6ICNmZmY7Ci0gIGRpc3BsYXk6IGlubGluZTsKLSAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7Ci0gIGJhY2tncm91bmQ6ICM0YWQyZmY7Ki8KKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKKyAgICBmbG9hdDogbGVmdDsKKyAgICBwYWRkaW5nLWxlZnQ6IDZweDsKKyAgICBoZWlnaHQ6IDI2cHg7CisgICAgY29sb3I6ICNmZmY7CisgICAgZGlzcGxheTogaW5saW5lOworICAgIC8qYm9yZGVyLWNvbG9yOiAjMDBhZGY1OworICAgIGJhY2tncm91bmQ6ICM0YWQyZmY7Ki8KICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOwogfQorCiAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAubmV4dDphZnRlciB7Ci0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9yLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7CisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX3IucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsKIH0KKwogLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCwgLm9wZW5vQnV0dG9uX2J1dHRvblJpZ2h0SW1nIHsKLSAgbWFyZ2luLWxlZnQ6IDVweDsKKyAgICBtYXJnaW4tbGVmdDogNXB4OwogfQogCiBodG1sLCBib2R5IHsKLSAgaGVpZ2h0OiA5OSU7Ci0gIHdpZHRoOiA5OCU7CisgICAgaGVpZ2h0OiA5OSU7CisgICAgd2lkdGg6IDk4JTsKIH0KKwogLmNvdGVudEJvZHkgewotICBwYWRkaW5nOiAwcHggMjBweCAwcHggMjBweDsKKyAgICBwYWRkaW5nOiAwcHggMjBweCAwcHggMjBweDsKIH0KIAogZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzOmhvdmVyIHsKLSAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNGFjOWZmOwogfQorCiBkaXYub3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQ6aG92ZXIgLm9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgewotICBjb2xvcjogIzAwOWFlNzsKKyAgICBjb2xvcjogIzAwOWFlNzsKIH0KKwogLmhlYWRlcl9saW5laW1nIHsKLSAgaGVpZ2h0OiAxcHg7Ci0gIHdpZHRoOiAxMDAlOwotICBtYXJnaW4tdG9wOiAxN3B4OworICAgIGhlaWdodDogMXB4OworICAgIHdpZHRoOiAxMDAlOworICAgIG1hcmdpbi10b3A6IDE3cHg7CiB9CisKIC5vcGVuby5vcGVuby1oaWRlIHsKLSAgZGlzcGxheTogbm9uZTsKKyAgICBkaXNwbGF5OiBub25lOwogfQorCiBkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciB7Ci0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsKLSAgYm9yZGVyLXRvcDogbm9uZTsKLSAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7Ci0gIG1heC1oZWlnaHQ6IDIwMnB4OwotICBvdmVyZmxvdy15OiBhdXRvOwotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwotICB6LWluZGV4OiA4ODA7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7CisgICAgYm9yZGVyLXRvcDogbm9uZTsKKyAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKKyAgICBtYXgtaGVpZ2h0OiAyMDJweDsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CisgICAgei1pbmRleDogODgwOwogfQotZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtIHsKLSAgZGlzcGxheTogYmxvY2s7CisKK2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyID4gZGl2Lm9wZW5vLXNlbGVjdC1pdGVtIHsKKyAgICBkaXNwbGF5OiBibG9jazsKIH0KKwogLm9wZW5vIC5vcGVuby1lbGxpcHNpcywgLm9wZW5vLm9wZW5vLWVsbGlwc2lzIHsKLSAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKLSAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogfQotZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtPmxhYmVsIHsKLSAgcGFkZGluZy10b3A6IDNweDsKLSAgcGFkZGluZy1ib3R0b206IDNweDsKLSAgbGluZS1oZWlnaHQ6IDIwcHg7CisKK2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyID4gZGl2Lm9wZW5vLXNlbGVjdC1pdGVtID4gbGFiZWwgeworICAgIHBhZGRpbmctdG9wOiAzcHg7CisgICAgcGFkZGluZy1ib3R0b206IDNweDsKKyAgICBsaW5lLWhlaWdodDogMjBweDsKIH0KKwogLm9wZW5vIC5vcGVuby1lbGxpcHNpcywgLm9wZW5vLm9wZW5vLWVsbGlwc2lzIHsKLSAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKLSAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogfQorCiAub3Blbm8tc2VsZWN0LWl0ZW0gbGFiZWwgewotICBtYXJnaW4tbGVmdDogNHB4OwotICBtYXJnaW4tcmlnaHQ6IDRweDsKLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICBtYXJnaW4tbGVmdDogNHB4OworICAgIG1hcmdpbi1yaWdodDogNHB4OworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiB9Ci1kaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0ub3Blbm8taXRlbS1zZWxlY3RlZCwgZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtOmhvdmVyIHsKLSAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsKLSAgY29sb3I6ICMwMDhmZDY7CisKK2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyID4gZGl2Lm9wZW5vLXNlbGVjdC1pdGVtLm9wZW5vLWl0ZW0tc2VsZWN0ZWQsIGRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyID4gZGl2Lm9wZW5vLXNlbGVjdC1pdGVtOmhvdmVyIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOworICAgIGNvbG9yOiAjMDA4ZmQ2OwogfQorCiBkaXYub3Blbm8tc2VsZWN0Lm9wZW5vLWZvY3VzIHsKLSAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsKLSAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKLSAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7Ci0gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7CisgICAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsKKyAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOworICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOworICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7CiB9CisKIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIGE6aG92ZXIgewotICBib3JkZXItY29sb3I6ICM0YWM5ZmY7Ci0gIGN1cnNvcjogcG9pbnRlcjsKKyAgICBib3JkZXItY29sb3I6ICM0YWM5ZmY7CisgICAgY3Vyc29yOiBwb2ludGVyOwogfQotLlNEQnRuewotICAgICBiYWNrZ3JvdW5kOiAjZmZmOyAKLSAgICAgY29sb3I6ICMzMzM7IAotICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOworCisuU0RCdG4geworICAgIGJhY2tncm91bmQ6ICNmZmY7CisgICAgY29sb3I6ICMzMzM7CisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKIH0KLS5TREJ0bjpob3ZlcnsKLSAgICBjb2xvcjogIzAwOWFlNzsJCi0JYm9yZGVyOiAxcHggc29saWQgIzRBQzlGRgorCisuU0RCdG46aG92ZXIgeworICAgIGNvbG9yOiAjMDA5YWU3OworICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYKIH0KKwogdGFibGUgdGJvZHkgdHIuZXZlbjpob3ZlciB0ZCwgdGFibGUgdGJvZHkgdHIub2RkOmhvdmVyIHRkIHsKLSAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmJlMDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmYmUwOwogfQorCiB0YWJsZSB0ci5vcGVub1RhYmxlX3Jvd19zZWxlY3RlZCB0ZCB7Ci0gIGJhY2tncm91bmQ6ICNlOGY4ZmUhaW1wb3J0YW50OwotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOCFpbXBvcnRhbnQ7CisgICAgYmFja2dyb3VuZDogI2U4ZjhmZSAhaW1wb3J0YW50OworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4ICFpbXBvcnRhbnQ7CiB9Ci0ubW9kYWwtYm9keXsKLSAgICBwYWRkaW5nOiAwIWltcG9ydGFudDsKKworLm1vZGFsLWJvZHkgeworICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKIH0KLS5mb3JtLWNvbnRyb2x7Ci0gICAgaGVpZ2h0OiAyNnB4IWltcG9ydGFudDsKKworLmZvcm0tY29udHJvbCB7CisgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7CiB9CisKIC5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsKLSAgbWFyZ2luLWxlZnQ6IDIwcHg7CisgICAgbWFyZ2luLWxlZnQ6IDIwcHg7CiB9CiAKIC5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWwgewotICB0ZXh0LWFsaWduOiBsZWZ0OworICAgIHRleHQtYWxpZ246IGxlZnQ7CiB9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvY3NzL3Jlc21nci5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9jc3MvcmVzbWdyLmNzcwppbmRleCA2MTYzOTUyLi5lNzlkMTI1IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9jc3MvcmVzbWdyLmNzcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9jc3MvcmVzbWdyLmNzcwpAQCAtMSwyMCArMSwyNCBAQAotZmllbGRzZXR7ICAgIHdpZHRoOiA2ODBweDsgICAgfQorZmllbGRzZXQgeworICAgIHdpZHRoOiA2ODBweDsKK30KIAotbGVnZW5keyAgICBtYXJnaW4tbGVmdDogOHB4OyAgICB9CitsZWdlbmQgeworICAgIG1hcmdpbi1sZWZ0OiA4cHg7Cit9CiAKLS5pdGVteworLml0ZW0gewogICAgIGhlaWdodDogNTZweDsKICAgICBsaW5lLWhlaWdodDogMzZweDsKICAgICBtYXJnaW46IDEwcHg7CiB9CiAKLS5pdGVtIC5pdGVtLWxhYmVseworLml0ZW0gLml0ZW0tbGFiZWwgewogICAgIGZsb2F0OiBsZWZ0OwogICAgIHdpZHRoOiA4MHB4OwogICAgIHRleHQtYWxpZ246IHJpZ2h0OwogfQogCi0uaXRlbS10ZXh0eworLml0ZW0tdGV4dCB7CiAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgd2lkdGg6IDI0NHB4OwogICAgIGhlaWdodDogMTZweDsKQEAgLTI0LDcgKzI4LDcgQEAKICAgICBvdmVyZmxvdzogaGlkZGVuOwogfQogCi0uaXRlbS1zZWxlY3R7CisuaXRlbS1zZWxlY3QgewogICAgIGZsb2F0OiBsZWZ0OwogICAgIGhlaWdodDogMzRweDsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOwpAQCAtMzMsMTkgKzM3LDE5IEBACiAgICAgcGFkZGluZzogNnB4IDBweDsKIH0KIAotLml0ZW0tc3VibWl0eworLml0ZW0tc3VibWl0IHsKICAgICBtYXJnaW4tbGVmdDogODhweDsKIH0KIAotaW5wdXQuZXJyb3J7CitpbnB1dC5lcnJvciB7CiAgICAgYm9yZGVyOiAxcHggc29saWQgI0U2NTk0RTsKIH0KIAotaW5wdXQuaGlnaGxpZ2h0eworaW5wdXQuaGlnaGxpZ2h0IHsKICAgICBib3JkZXI6IDFweCBzb2xpZCAjN2FiZDU0OwogfQogCi1sYWJlbC5lcnJvcixsYWJlbC50aXB7CitsYWJlbC5lcnJvciwgbGFiZWwudGlwIHsKICAgICBmbG9hdDogbGVmdDsKICAgICBoZWlnaHQ6IDMycHg7CiAgICAgbGluZS1oZWlnaHQ6IDMycHg7CkBAIC01NywxMiArNjEsMTIgQEAKICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2Vycm9yLnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjsKIH0KIAotbGFiZWwudGlweworbGFiZWwudGlwIHsKICAgICBjb2xvcjogI2FhYTsKICAgICBiYWNrZ3JvdW5kOiB1cmwoJ3RpcC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7CiB9CiAKLWxhYmVsLnZhbGlkeworbGFiZWwudmFsaWQgewogICAgIGJhY2tncm91bmQ6IHVybCgndmFsaWQucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyOwogICAgIHdpZHRoOiAzMnB4OwogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2RhdGFjZW50ZXIuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2RhdGFjZW50ZXIuaHRtbAppbmRleCBjYWMzYTgzLi40NTFkMmY0IDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9kYXRhY2VudGVyLmh0bWwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvZGF0YWNlbnRlci5odG1sCkBAIC0xLDMzOSArMSwzNDYgQEAKLQogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPGhlYWQgbGFuZz0iZW4iPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPjwvdGl0bGU+Ci08bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLTxsaW5rIGhyZWY9ImNzcy9WTU1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci08bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KKyAgICA8aGVhZCBsYW5nPSJlbiI+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICAgICAgPHRpdGxlPjwvdGl0bGU+CisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9WTU1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LTEuMTEuMi5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3Rib3gubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS52YWxpZGF0ZS5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdGJveC5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnkudmFsaWRhdGUubWluLmpzIj48L3NjcmlwdD4KIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvZGF0YWNlbnRlci5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2RhdGFjZW50ZXIuanMiPjwvc2NyaXB0PgogCi08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotPC9zdHlsZT4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKLQkJLyogdmFyIGpzb25kYXRhID0gW3sKLQkJCSJpZCI6ICIxMjMiLAotCQkJIm5hbWUiOiAiQ2hpbmEiLAotCQkJInN0YXR1cyI6ICJhY3RpdmUiLAotCQkJImNvdW50cnkiOiAiQ2hpbmEiLAotICAgICAgICAgICAibG9jYXRpb24iOiAiWGknYW4iLAotICAgICAgICAgICAic2VydmljZU5hbWUiOiAiQ2xvdWQgc2VydmljZU5hbWUiLAotCQkJImNwdSI6ICIyMy8xMDYiLAotCQkJIm1lbW9yeSI6ICIxODAwMC8xOTIyMjIyMjIyIiwKLQkJCSJoYXJkRGlzayI6IjIxODgvMzk5OTk5OTkiCi0gICAgICAgICAgfV07CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAvKiB2YXIganNvbmRhdGEgPSBbeworICAgICAgICAgICAgICAgICAiaWQiOiAiMTIzIiwKKyAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2hpbmEiLAorICAgICAgICAgICAgICAgICAic3RhdHVzIjogImFjdGl2ZSIsCisgICAgICAgICAgICAgICAgICJjb3VudHJ5IjogIkNoaW5hIiwKKyAgICAgICAgICAgICAgICAgImxvY2F0aW9uIjogIlhpJ2FuIiwKKyAgICAgICAgICAgICAgICAgInNlcnZpY2VOYW1lIjogIkNsb3VkIHNlcnZpY2VOYW1lIiwKKyAgICAgICAgICAgICAgICAgImNwdSI6ICIyMy8xMDYiLAorICAgICAgICAgICAgICAgICAibWVtb3J5IjogIjE4MDAwLzE5MjIyMjIyMjIiLAorICAgICAgICAgICAgICAgICAiaGFyZERpc2siOiIyMTg4LzM5OTk5OTk5IgorICAgICAgICAgICAgICAgICB9XTsKIAotCQkkKCcjRGF0YWNlbnRlcl90YWJsZScpLmJvb3RzdHJhcFRhYmxlKHsKLQkJLy9Bc3NpZ25pbmcgZXhhbXBsZSBkYXRhIHRvIHRhYmxlCi0JCQlkYXRhOiBqc29uZGF0YQotCQl9KTsgKi8KLQkJCi0JCWxvYWREYXRhY2VudGVyRGF0YSgpOwotCQlsb2FkTmV0V29ya0RhdGEoKTsKLQkJbG9hZFBvcnREYXRhKCk7Ci0JCWxvYWRIb3N0RGF0YSgpOwotCQlmaWxsQ291bnRyeURhdGEoKTsKLQkJZmlsbFZpbU5hbWVEYXRhKCk7Ci0JfSk7CisgICAgICAgICAgICAgICAgICQoJyNEYXRhY2VudGVyX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoeworICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBleGFtcGxlIGRhdGEgdG8gdGFibGUKKyAgICAgICAgICAgICAgICAgZGF0YToganNvbmRhdGEKKyAgICAgICAgICAgICAgICAgfSk7ICovCiAKLQlmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7Ci0JCXJldHVybiBbICc8aW1nIGNsYXNzPSJEYXRhY2VudGVyRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicgXQotCQkJCS5qb2luKCcnKTsKKyAgICAgICAgICAgICAgICBsb2FkRGF0YWNlbnRlckRhdGEoKTsKKyAgICAgICAgICAgICAgICBsb2FkTmV0V29ya0RhdGEoKTsKKyAgICAgICAgICAgICAgICBsb2FkUG9ydERhdGEoKTsKKyAgICAgICAgICAgICAgICBsb2FkSG9zdERhdGEoKTsKKyAgICAgICAgICAgICAgICBmaWxsQ291bnRyeURhdGEoKTsKKyAgICAgICAgICAgICAgICBmaWxsVmltTmFtZURhdGEoKTsKKyAgICAgICAgICAgIH0pOwogCi0JfQotCXdpbmRvdy5vcGVyYXRlRXZlbnRzID0gewotCQknY2xpY2sgLkRhdGFjZW50ZXJEZWxldGVJbWcnIDogZnVuY3Rpb24oZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsKLQkJCWRlbGV0ZURhdGFjZW50ZXIocm93LmlkKTsKLQkJCWNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsKLQkJfQotCX07Ci0JCi0JCi08L3NjcmlwdD4KLTwvaGVhZD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIG9wZXJhdGVGb3JtYXR0ZXIodmFsdWUsIHJvdywgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gWyc8aW1nIGNsYXNzPSJEYXRhY2VudGVyRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPiddCisgICAgICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7CisKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHdpbmRvdy5vcGVyYXRlRXZlbnRzID0geworICAgICAgICAgICAgICAgICdjbGljayAuRGF0YWNlbnRlckRlbGV0ZUltZyc6IGZ1bmN0aW9uIChlLCB2YWx1ZSwgcm93LCBpbmRleCkgeworICAgICAgICAgICAgICAgICAgICBkZWxldGVEYXRhY2VudGVyKHJvdy5pZCk7CisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9OworCisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgogPGJvZHkgaWQ9Im9wZW5fYmFzZV9zaXRlX2NvdGVudEJvZHkiIGNsYXNzPSJjb3RlbnRCb2R5IG5nLXNjb3BlIj4KLQkKLQk8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyIgaWQ9ImRjVGFiIj4gCi0gICAgICA8bGkgY2xhc3M9ImFjdGl2ZSI+PGEgaHJlZj0iI2NvbXB1dGUiPkNvbXB1dGU8L2E+PC9saT4gCi0gICAgICA8bGk+PGEgaHJlZj0iI25ldHdvcmsiPk5ldHdvcms8L2E+PC9saT4gCi0gICAgICA8bGk+PGEgaHJlZj0iI3BvcnQiPlBvcnQ8L2E+PC9saT4gCi0gICAgICA8bGk+PGEgaHJlZj0iI2hvc3QiPkhvc3Q8L2E+PC9saT4gCi0gICAgPC91bD4gCi0gICAgICAgCi0gICAgPHNjcmlwdD4gCi0gICAgICAkKGZ1bmN0aW9uICgpIHsgCi0gICAgICAgICQoJyNkY1RhYiBhOmZpcnN0JykudGFiKCdzaG93Jyk7Ly9zaG93IGluaXQgdGFiIAotICAgICAgCi0gICAgICAgICQoJyNkY1RhYiBhJykuY2xpY2soZnVuY3Rpb24gKGUpIHsgCi0gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOy8vcHJldmVudCB0aGUgIGxpbmsKLSAgICAgICAgICAkKHRoaXMpLnRhYignc2hvdycpOy8vc2hvdyBjb250ZW50Ci0gICAgICAgIH0pIAotICAgICAgfSkgCi0gICAgPC9zY3JpcHQ+Ci08ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+IAogCi0JPGRpdiBpZD0iaG9zdCIgY2xhc3M9InRhYi1wYW5lIj4KLQk8IS0tICBob3N0IHRhYmxlIGFyZWEgLS0+Ci0JPGhyPgotCQkJPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgotCQkJCTxkaXYgaWQ9J2hvc3RfdGFibGVfZGl2Jz4KLQkJCQkJPGRpdj4KLQkJCQkJCTxkaXYgY2xhc3M9InRvcCI+Ci0JCQkJCQkJPHRhYmxlIGlkPSJob3N0X3RhYmxlIiBkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1IgotCQkJCQkJCQlkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiCi0JCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiCi0JCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPgotCQkJCQkJCQk8dGhlYWQ+Ci0JCQkJCQkJCQk8dHIgY2xhc3M9ImFjdGl2ZSI+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9ImlkIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5JZDwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9Im5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPk5hbWU8L3RoPgotCQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJjcHUiIGRhdGEtc29ydGFibGU9InRydWUiPkNwdTwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9Im1lbW9yeSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TWVtb3J5PC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iZGlzayIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+SGFyZERpc2s8L3RoPgotCQkJCQkJCQkJPC90cj4KLQkJCQkJCQkJPC90aGVhZD4KLQkJCQkJCQk8L3RhYmxlPgotCQkJCQkJPC9kaXY+Ci0JCQkJCTwvZGl2PgotCQkJCTwvZGl2PgotCQkJPC9kaXY+Ci0JPC9kaXY+Ci0JCi0JPGRpdiBpZD0icG9ydCIgY2xhc3M9InRhYi1wYW5lIj4KLQk8aHI+Ci0JPCEtLSAgcG9ydCB0YWJsZSBhcmVhIC0tPgotCQkJPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgotCQkJCTxkaXYgaWQ9J3BvcnRfdGFibGVfZGl2Jz4KLQkJCQkJPGRpdj4KLQkJCQkJCTxkaXYgY2xhc3M9InRvcCI+Ci0JCQkJCQkJPHRhYmxlIGlkPSJwb3J0X3RhYmxlIiBkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1IgotCQkJCQkJCQlkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiCi0JCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiCi0JCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPgotCQkJCQkJCQk8dGhlYWQ+Ci0JCQkJCQkJCQk8dHIgY2xhc3M9ImFjdGl2ZSI+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9ImlkIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5JZDwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9Im5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPk5hbWU8L3RoPgotCQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJuZXR3b3JrSWQiIGRhdGEtc29ydGFibGU9InRydWUiPk5ldHdvcmtJRDwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9InN0YXR1cyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+U3RhdHVzPC90aD4KLQkJCQkJCQkJCTwvdHI+Ci0JCQkJCQkJCTwvdGhlYWQ+Ci0JCQkJCQkJPC90YWJsZT4KLQkJCQkJCTwvZGl2PgotCQkJCQk8L2Rpdj4KLQkJCQk8L2Rpdj4KLQkJCTwvZGl2PgotCTwvZGl2PgotCQotCTxkaXYgaWQ9Im5ldHdvcmsiIGNsYXNzPSJ0YWItcGFuZSI+Ci0JPGhyPgotCQk8IS0tICBuZXR3b3JrIHRhYmxlIGFyZWEgLS0+Ci0JCQk8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+Ci0JCQkJPGRpdiBpZD0nbmV0d29ya190YWJsZV9kaXYnPgotCQkJCQk8ZGl2PgotCQkJCQkJPGRpdiBjbGFzcz0idG9wIj4KLQkJCQkJCQk8dGFibGUgaWQ9Im5ldHdvcmtfdGFibGUiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiCi0JCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIKLQkJCQkJCQkJZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyIKLQkJCQkJCQkJZGF0YS1wYWdpbmF0aW9uLW5leHQtdGV4dD0iTmV4dCIgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+Ci0JCQkJCQkJCTx0aGVhZD4KLQkJCQkJCQkJCTx0ciBjbGFzcz0iYWN0aXZlIj4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iaWQiIGRhdGEtc29ydGFibGU9InRydWUiPklkPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0ibmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TmFtZTwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9ImlkIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5OZXR3b3JrSUQ8L3RoPgotCQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJwcm92aWRlcjpzZWdtZW50YXRpb25faWQiIGRhdGEtc29ydGFibGU9InRydWUiPlZMYW5JRDwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9InByb3ZpZGVyOnBoeXNpY2FsX25ldHdvcmsiIGRhdGEtc29ydGFibGU9InRydWUiPnBoeXNpY2FsTmV0PC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0icHJvdmlkZXI6bmV0d29ya190eXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj50eXBlPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0idmltTmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+U2VydmljZU5hbWU8L3RoPgotCQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJzdGF0dXMiIGRhdGEtc29ydGFibGU9InRydWUiPnN0YXR1czwvdGg+Ci0JCQkJCQkJCQk8L3RyPgotCQkJCQkJCQk8L3RoZWFkPgotCQkJCQkJCTwvdGFibGU+Ci0JCQkJCQk8L2Rpdj4KLQkJCQkJPC9kaXY+Ci0JCQkJPC9kaXY+Ci0JCQk8L2Rpdj4KLQk8L2Rpdj4KLQk8ZGl2IGlkPSJjb21wdXRlIiBjbGFzcz0idGFiLXBhbmUgYWN0aXZlIiA+ICAKLQkJPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPgotCTwhLS0gYnV0dG9uIGFyZWEgLS0+Ci0JCQk8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPgotCQkJCTxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPgotCQkJCQk8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX2J1dHRvbkdyb3VwIgotCQkJCQkJY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPgotCQkJCQkJPGRpdgotCQkJCQkJCWNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiCi0JCQkJCQkJdGFiaW5kZXg9IjAiIGlkPSJmYWxzZSIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fY3JlYXRlIgotCQkJCQkJCWljb24tdXJsPSIuL2ltYWdlcy9hZGQucG5nIiBjbHM9ImRlZmF1bHRidXR0b24iIGNsaWNrPSJjbGlja0FkZCIKLQkJCQkJCQlzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+Ci0JCQkJCQkJPGRpdgotCQkJCQkJCQljbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIG9wZW5vQnV0dG9uX0ltYWdlIgotCQkJCQkJCQlpZD0iZmFsc2VfYnV0dG9uIj4KKzx1bCBjbGFzcz0ibmF2IG5hdi10YWJzIiBpZD0iZGNUYWIiPgorICAgIDxsaSBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIjY29tcHV0ZSI+Q29tcHV0ZTwvYT48L2xpPgorICAgIDxsaT48YSBocmVmPSIjbmV0d29yayI+TmV0d29yazwvYT48L2xpPgorICAgIDxsaT48YSBocmVmPSIjcG9ydCI+UG9ydDwvYT48L2xpPgorICAgIDxsaT48YSBocmVmPSIjaG9zdCI+SG9zdDwvYT48L2xpPgorPC91bD4KKworPHNjcmlwdD4KKyAgICAkKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgJCgnI2RjVGFiIGE6Zmlyc3QnKS50YWIoJ3Nob3cnKTsvL3Nob3cgaW5pdCB0YWIgCisKKyAgICAgICAgJCgnI2RjVGFiIGEnKS5jbGljayhmdW5jdGlvbiAoZSkgeworICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOy8vcHJldmVudCB0aGUgIGxpbmsKKyAgICAgICAgICAgICQodGhpcykudGFiKCdzaG93Jyk7Ly9zaG93IGNvbnRlbnQKKyAgICAgICAgfSkKKyAgICB9KQorPC9zY3JpcHQ+Cis8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+CisKKyAgICA8ZGl2IGlkPSJob3N0IiBjbGFzcz0idGFiLXBhbmUiPgorICAgICAgICA8IS0tICBob3N0IHRhYmxlIGFyZWEgLS0+CisgICAgICAgIDxocj4KKyAgICAgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPgorICAgICAgICAgICAgPGRpdiBpZD0naG9zdF90YWJsZV9kaXYnPgorICAgICAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9Imhvc3RfdGFibGUiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLW5leHQtdGV4dD0iTmV4dCIgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iYWN0aXZlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImlkIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5JZDwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJuYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5OYW1lPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImNwdSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+Q3B1PC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9Im1lbW9yeSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TWVtb3J5PC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImRpc2siIGRhdGEtc29ydGFibGU9InRydWUiPkhhcmREaXNrPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9InBvcnQiIGNsYXNzPSJ0YWItcGFuZSI+CisgICAgICAgIDxocj4KKyAgICAgICAgPCEtLSAgcG9ydCB0YWJsZSBhcmVhIC0tPgorICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+CisgICAgICAgICAgICA8ZGl2IGlkPSdwb3J0X3RhYmxlX2Rpdic+CisgICAgICAgICAgICAgICAgPGRpdj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBpZD0icG9ydF90YWJsZSIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0iaWQiIGRhdGEtc29ydGFibGU9InRydWUiPklkPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9Im5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPk5hbWU8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ibmV0d29ya0lkIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5OZXR3b3JrSUQ8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ic3RhdHVzIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5TdGF0dXM8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0ibmV0d29yayIgY2xhc3M9InRhYi1wYW5lIj4KKyAgICAgICAgPGhyPgorICAgICAgICA8IS0tICBuZXR3b3JrIHRhYmxlIGFyZWEgLS0+CisgICAgICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9J25ldHdvcmtfdGFibGVfZGl2Jz4KKyAgICAgICAgICAgICAgICA8ZGl2PgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJuZXR3b3JrX3RhYmxlIiBkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImFjdGl2ZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJpZCIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+SWQ8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ibmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TmFtZTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJpZCIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TmV0d29ya0lEPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9InByb3ZpZGVyOnNlZ21lbnRhdGlvbl9pZCIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+VkxhbklEPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9InByb3ZpZGVyOnBoeXNpY2FsX25ldHdvcmsiIGRhdGEtc29ydGFibGU9InRydWUiPnBoeXNpY2FsTmV0PC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9InByb3ZpZGVyOm5ldHdvcmtfdHlwZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+dHlwZTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJ2aW1OYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5TZXJ2aWNlTmFtZTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJzdGF0dXMiIGRhdGEtc29ydGFibGU9InRydWUiPnN0YXR1czwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgorICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29tcHV0ZSIgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSI+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4KKyAgICAgICAgICAgIDwhLS0gYnV0dG9uIGFyZWEgLS0+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPgorICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX2J1dHRvbkdyb3VwIgorICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Hcm91cENsYXNzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vIG9wZW5vLXdpZGdldC1idXR0b24gb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50IG5nLWlzb2xhdGUtc2NvcGUgb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3MgZGVmYXVsdGJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25fZGVmYXVsdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IjAiIGlkPSJmYWxzZSIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fY3JlYXRlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyIgY2xzPSJkZWZhdWx0YnV0dG9uIiBjbGljaz0iY2xpY2tBZGQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIG9wZW5vQnV0dG9uX0ltYWdlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImZhbHNlX2J1dHRvbiI+CiAJCQkJCQkJCTxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciCi0JCQkJCQkJCQlzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9hZGQucG5nKTsiPjwvc3Bhbj48c3BhbgotCQkJCQkJCQkJY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgb3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dEZvbnQiPkNyZWF0ZSBEYXRhY2VudGVyPC9zcGFuPjxzcGFuCi0JCQkJCQkJCQljbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25JbWdEZWZhdWx0Ij48L3NwYW4+Ci0JCQkJCQkJPC9kaXY+Ci0JCQkJCQk8L2Rpdj4KLQkKLQkKLQkJCQkJCTxkaXYKLQkJCQkJCQljbGFzcz0ib3Blbm8gb3Blbm8td2lkZ2V0LWJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQgbmctaXNvbGF0ZS1zY29wZSBvcGVub0J1dHRvbl9idXR0b25DbGFzcyB1bmRlZmluZWQgb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiCi0JCQkJCQkJdGFiaW5kZXg9IjAiIGlkPSJtZUVkaXQiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2VkaXQiCi0JCQkJCQkJZGlzcGxheT0iZmFsc2UiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+Ci0JCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIgotCQkJCQkJCQlpZD0ibWVFZGl0X2J1dHRvbiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+Q3JlYXRlIERhdGFjZW50ZXI8L3NwYW4+PHNwYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorCisKKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vIG9wZW5vLXdpZGdldC1idXR0b24gb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50IG5nLWlzb2xhdGUtc2NvcGUgb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3MgdW5kZWZpbmVkIG9wZW5vQnV0dG9uX2J1dHRvbl9kZWZhdWx0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD0iMCIgaWQ9Im1lRWRpdCIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fZWRpdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheT0iZmFsc2UiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9Im1lRWRpdF9idXR0b24iPgogCQkJCQkJCQk8c3BhbgotCQkJCQkJCQkJY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjxzcGFuCi0JCQkJCQkJCQljbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+RWRpdDwvc3Bhbj48c3BhbgotCQkJCQkJCQkJY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPgotCQkJCQkJCTwvZGl2PgotCQkJCQkJPC9kaXY+Ci0JCi0JCQkJCTwvZGl2PgotCQkJCTwvZGl2PgotCQkJPC9kaXY+Ci0JCQk8IS0tICBjb21wdXRlIHRhYmxlIGFyZWEgLS0+Ci0JCQk8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+Ci0JCQkJPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPgotCQkJCQk8ZGl2PgotCQkJCQkJPGRpdiBjbGFzcz0idG9wIj4KLQkJCQkJCQk8dGFibGUgaWQ9IkRhdGFjZW50ZXJfdGFibGUiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiCi0JCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIKLQkJCQkJCQkJZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyIKLQkJCQkJCQkJZGF0YS1wYWdpbmF0aW9uLW5leHQtdGV4dD0iTmV4dCIgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+Ci0JCQkJCQkJCTx0aGVhZD4KLQkJCQkJCQkJCTx0ciBjbGFzcz0iYWN0aXZlIj4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iaWQiIGRhdGEtc29ydGFibGU9InRydWUiPklkPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0ibmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TmFtZTwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9InN0YXR1cyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+U3RhdHVzPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iY291bnRyeSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+Q291bnRyeTwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9ImxvY2F0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5Mb2NhdGlvbjwvdGg+Ci0JCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9InZpbU5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPlNlcnZpY2VOYW1lPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iY3B1IiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5DcHUoQ29yZXMpPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0ibWVtb3J5IiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5NZW1vcnkoTUIpPC90aD4KLQkJCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iaGFyZERpc2siIGRhdGEtc29ydGFibGU9InRydWUiPkhhcmREaXNrKEdCKTwvdGg+Ci0JCQkJCQkJCQkJPHRoIGFsaWduPSJjZW50ZXIiIGRhdGEtZm9ybWF0dGVyPSJvcGVyYXRlRm9ybWF0dGVyIgotCQkJCQkJCQkJCQlkYXRhLWV2ZW50cz0ib3BlcmF0ZUV2ZW50cyI+QWN0aW9uPC90aD4KLQkJCQkJCQkJCTwvdHI+Ci0JCQkJCQkJCTwvdGhlYWQ+Ci0JCQkJCQkJPC90YWJsZT4KLQkJCQkJCTwvZGl2PgotCQkJCQk8L2Rpdj4KLQkJCQk8L2Rpdj4KLQkJCTwvZGl2PgotCQkJPCEtLSBtb2RhbCBkaWFsb2cgYXJlYSAtLT4KLQkJCTxkaXYgaWQ9InZtQXBwRGlhbG9nIiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciCi0JCQkJYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+Ci0JCQkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIj4KLQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+Ci0JCQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50Ij4KLQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPgotCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIgotCQkJCQkJCQkJYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+Ci0JCQkJCQkJCTxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPgotCQkJCQkJCQkJPHNwYW4+Q3JlYXRlIERhdGFjZW50ZXI8L3NwYW4+Ci0JCQkJCQkJCTwvaDQ+Ci0JCQkJCQkJPC9kaXY+Ci0JCQkJCQkJPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9InZtQXBwRm9ybSI+Ci0JCQkJCQkJCTxkaXYgaWQ9IndpemFyZCI+Ci0JCQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KLQkJCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPgotCQkJCQkJCQkJCTwvdWw+Ci0JCQkJCQkJCQkJPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJiYXNpY1RhYiI+Ci0JCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0iZGlzcGxheTpub25lOyI+Ci0JCQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+SWQ8L3NwYW4+Ci0JCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+Ci0JCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaWQiIG5hbWU9ImlkIgotCQkJCQkJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9ImlkIiAvPgotCQkJCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KLQkJCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5OYW1lPC9zcGFuPgotCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+Ci0JCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+Ci0JCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibmFtZSIgbmFtZT0ibmFtZSIKLQkJCQkJCQkJCQkJCQkJCWNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJOYW1lIiAvPgotCQkJCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KLQkJCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5Db3VudHJ5PC9zcGFuPgotCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+Ci0JCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+Ci0JCQkJCQkJCQkJCQkJCTxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgc3R5bGUgPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IiBpZD0iY291bnRyeSIgbmFtZT0iY291bnRyeSI+Ci0JCQkJCQkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSIiPi0tc2VsZWN0LS08L29wdGlvbj4KLQkJCQkJCQkJCQkJCQkJPC9zZWxlY3Q+Ci0JCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgotCQkJCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkxvY2F0aW9uPC9zcGFuPgotCQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+Ci0JCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+Ci0JCQkJCQkJCQkJCQkJCTxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgc3R5bGUgPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IiBpZD0ibG9jYXRpb24iIG5hbWU9ImxvY2F0aW9uIj4KLQkJCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9IiI+LS1zZWxlY3QtLTwvb3B0aW9uPgotCQkJCQkJCQkJCQkJCQk8L3NlbGVjdD4KLQkJCQkJCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+Ci0JCQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+U2VydmljZU5hbWU8L3NwYW4+Ci0JCQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4KLQkJCQkJCQkJCQkJCQk8L2xhYmVsPgotCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4KLQkJCQkJCQkJCQkJCQkJPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBzdHlsZSA9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiIGlkPSJ2aW1OYW1lIiBuYW1lPSJ2aW1OYW1lIj4KLQkJCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9IiI+LS1zZWxlY3QtLTwvb3B0aW9uPgotCQkJCQkJCQkJCQkJCQk8L3NlbGVjdD4KLQkJCQkJCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQkKLQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgotCQkJCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IAotCQkJCQkJCQkJCQkJCTxzcGFuPkF2YWxpYWJsZSBSZXM6PC9zcGFuPgotCQkJCQkJCQkJCQkJCQlDUFUoQ29yZXMpOjxicj4KLQkJCQkJCQkJCQkJCQkJTWVtb3J5Ojxicj4KLQkJCQkJCQkJCQkJCQkJSGFyZERpc2s6Ci0JCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+Ci0JCQkJCQkJCQkJCQkJCQotCQkJCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCTwvZGl2PgotCQotCQotCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPgotCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIFNEQnRuIiBkYXRhLWRpc21pc3M9Im1vZGFsIgotCQkJCQkJCQkJCQlhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9ImNyZWF0ZURhdGFjZW50ZXIiPgotCQkJCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPgotCQkJCQkJCQkJCTwvYnV0dG9uPgotCQkJCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ1dHRvbi1wcmV2aW91cyBTREJ0biI+Ci0JCQkJCQkJCQkJCTxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+Ci0JCQkJCQkJCQkJPC9idXR0b24+Ci0JCi0JCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJPC9mb3JtPgotCQkJCQkJPC9kaXY+Ci0JCQkJCTwvZGl2PgotCQkJCTwvZGl2PgotCQkJPC9kaXY+Ci0JCTwvZGl2PgotCTwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj48c3BhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgb3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dEZvbnQiPkVkaXQ8L3NwYW4+PHNwYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorCisgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8IS0tICBjb21wdXRlIHRhYmxlIGFyZWEgLS0+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPgorICAgICAgICAgICAgICAgICAgICA8ZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9IkRhdGFjZW50ZXJfdGFibGUiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLXByZS10ZXh0PSJQcmV2aW91cyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLW5leHQtdGV4dD0iTmV4dCIgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImlkIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5JZDwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ibmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TmFtZTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ic3RhdHVzIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5TdGF0dXM8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImNvdW50cnkiIGRhdGEtc29ydGFibGU9InRydWUiPkNvdW50cnk8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImxvY2F0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5Mb2NhdGlvbjwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0idmltTmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+U2VydmljZU5hbWU8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImNwdSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+Q3B1KENvcmVzKTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ibWVtb3J5IiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5NZW1vcnkoTUIpPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJoYXJkRGlzayIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+SGFyZERpc2soR0IpPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBhbGlnbj0iY2VudGVyIiBkYXRhLWZvcm1hdHRlcj0ib3BlcmF0ZUZvcm1hdHRlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWV2ZW50cz0ib3BlcmF0ZUV2ZW50cyI+QWN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwhLS0gbW9kYWwgZGlhbG9nIGFyZWEgLS0+CisgICAgICAgICAgICA8ZGl2IGlkPSJ2bUFwcERpYWxvZyIgY2xhc3M9Im1vZGFsIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIgorICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9Im15TW9kYWxMYWJlbCIgYXJpYS1oaWRkZW49ImZhbHNlIj4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiPsOXCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNyZWF0ZSBEYXRhY2VudGVyPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIHJvbGU9ImZvcm0iIGlkPSJ2bUFwcEZvcm0iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3aXphcmQiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIG5hdi1qdXN0aWZpZWQgdm1hcHAtbWFyZ2luIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUgYWN0aXZlIiBpZD0iYmFzaWNUYWIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPklkPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlkIiBuYW1lPSJpZCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJpZCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5OYW1lPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibmFtZSIgbmFtZT0ibmFtZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJOYW1lIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkNvdW50cnk8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjb3VudHJ5IiBuYW1lPSJjb3VudHJ5Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+LS1zZWxlY3QtLTwvb3B0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+TG9jYXRpb248L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJsb2NhdGlvbiIgbmFtZT0ibG9jYXRpb24iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj4tLXNlbGVjdC0tPC9vcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5TZXJ2aWNlTmFtZTwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9InZpbU5hbWUiIG5hbWU9InZpbU5hbWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj4tLXNlbGVjdC0tPC9vcHRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkF2YWxpYWJsZSBSZXM6PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUFUoQ29yZXMpOjxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5Ojxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFyZERpc2s6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gU0RCdG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9ImNyZWF0ZURhdGFjZW50ZXIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ1dHRvbi1wcmV2aW91cyBTREJ0biI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9odG1sL2luZGV4Lmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9odG1sL2luZGV4Lmh0bWwKaW5kZXggYzQwMDliNy4uMzAwYTQ0NyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvaHRtbC9pbmRleC5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2h0bWwvaW5kZXguaHRtbApAQCAtMTgsMTQgKzE4LDE0IEBACiA8aHRtbD4KIAogPGhlYWQ+Ci08dGl0bGU+VGVzdDwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL2NvbXBvbmVudC90aGlyZHBhcnR5L2pxdWVyeS9qcXVlcnktMy4xLjAubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNtZ3IvanMvU2VuZE1zZy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKyAgICA8dGl0bGU+VGVzdDwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9jb21wb25lbnQvdGhpcmRwYXJ0eS9qcXVlcnkvanF1ZXJ5LTMuMS4wLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc21nci9qcy9TZW5kTXNnLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgogPC9oZWFkPgogCiA8Ym9keT5Mb2FkaW5nLi4uCiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0Jd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzbWdyL3Jlc291cmNlLmh0bWwiCisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzbWdyL3Jlc291cmNlLmh0bWwiCiA8L3NjcmlwdD4KIDwvYm9keT4KIApkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvU2VuZE1zZy5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2pzL1NlbmRNc2cuanMKaW5kZXggYjg5OGQ2YS4uZTQyYzAzMyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvU2VuZE1zZy5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy9TZW5kTXNnLmpzCkBAIC0xLDIwICsxLDIwIEBACiB2YXIgc2VuZE1zZyA9IHsKLQlnZXQgOiAiZ2V0IiwKLQlwb3N0IDogInBvc3QiCisgICAgZ2V0OiAiZ2V0IiwKKyAgICBwb3N0OiAicG9zdCIKIH0KIAogZnVuY3Rpb24gcmVxdWVzdCh1cmwsIHJlcXVlc3RUeXBlLCBkYXRhLCBzdWNjZXNzLCBlcnJvciwgYXN5bmMpIHsKLQl2YXIgc2V0dGluZyA9IHsKLQkJdXJsIDogdXJsLAotCQlhc3luYyA6IGFzeW5jID8gYXN5bmMgOiBmYWxzZSwKLQkJdHlwZSA6IHJlcXVlc3RUeXBlLAotCQlkYXRhVHlwZSA6ICJqc29uIiwKLQkJY29udGVudFR5cGUgOiAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04JywKLQkJZGF0YSA6IGRhdGEsCi0JCXN1Y2Nlc3MgOiBzdWNjZXNzLAotCQllcnJvciA6IGVycm9yCi0JfQorICAgIHZhciBzZXR0aW5nID0geworICAgICAgICB1cmw6IHVybCwKKyAgICAgICAgYXN5bmM6IGFzeW5jID8gYXN5bmMgOiBmYWxzZSwKKyAgICAgICAgdHlwZTogcmVxdWVzdFR5cGUsCisgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04JywKKyAgICAgICAgZGF0YTogZGF0YSwKKyAgICAgICAgc3VjY2Vzczogc3VjY2VzcywKKyAgICAgICAgZXJyb3I6IGVycm9yCisgICAgfQogCi0JJC5hamF4KHNldHRpbmcpOworICAgICQuYWpheChzZXR0aW5nKTsKIAogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2pzL2RhdGFjZW50ZXIuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy9kYXRhY2VudGVyLmpzCmluZGV4IDQ0YjQ2NGUuLmUzZmY2ODEgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2pzL2RhdGFjZW50ZXIuanMKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvZGF0YWNlbnRlci5qcwpAQCAtMSwyNDcgKzEsMjQ2IEBACi1mdW5jdGlvbiBoaWRlRmlyc3RDb2woKXsKK2Z1bmN0aW9uIGhpZGVGaXJzdENvbCgpIHsKIC8vCSQoJ3RhYmxlIHRyJykuZmluZCgndGg6ZXEoMCknKS5oaWRlKCk7CiAvLwkkKCd0YWJsZSB0cicpLmZpbmQoJ3RkOmVxKDApJykuaGlkZSgpOwogfQogCiBmdW5jdGlvbiBkZWxldGVEYXRhY2VudGVyKG9iamVjdElkKSB7Ci0JdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9kYXRhY2VudGVycy8iKyBvYmplY3RJZDsKLQkkLmFqYXgoewotCQl0eXBlIDogIkRFTEVURSIsCi0JCXVybCA6IHJlcXVlc3RVcmwsCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgewotCQkJJCgnI0RhdGFjZW50ZXJfdGFibGUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgewotCQkJCWZpZWxkIDogJ2lkJywKLQkJCQl2YWx1ZXMgOiBbIG9iamVjdElkIF0KLQkJCX0pOwotCQkJYm9vdGJveC5hbGVydCgiRGVsZXRlICBzdWNjZXNzZnVsbCAhISEiKTsKLQkJfSwKLQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgewotCQkJYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgZGF0YTogIiArIHhoci5yZXNwb25zZVRleHQpOwotCQl9Ci0JfSk7CisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9kYXRhY2VudGVycy8iICsgb2JqZWN0SWQ7CisgICAgJC5hamF4KHsKKyAgICAgICAgdHlwZTogIkRFTEVURSIsCisgICAgICAgIHVybDogcmVxdWVzdFVybCwKKyAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsKKyAgICAgICAgICAgICQoJyNEYXRhY2VudGVyX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoJ3JlbW92ZScsIHsKKyAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywKKyAgICAgICAgICAgICAgICB2YWx1ZXM6IFtvYmplY3RJZF0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRGVsZXRlICBzdWNjZXNzZnVsbCAhISEiKTsKKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgZGF0YTogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CiB9CiAKIGZ1bmN0aW9uIGxvYWREYXRhY2VudGVyRGF0YSgpIHsKLQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2RhdGFjZW50ZXJzIjsKLQkkLmFqYXgoewotCQl0eXBlIDogIkdFVCIsCi0JCXVybCA6IHJlcXVlc3RVcmwsCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgewotCQkJJC5lYWNoKGpzb25vYmouZGF0YWNlbnRlcnMsZnVuY3Rpb24obix2KXsKLSAgICAgICAgICAgICAgICB2LmNwdT0gInVzZWQ6Iit2LnVzZWRDUFUrIjxicj50b3RhbDoiK3YudG90YWxDUFU7Ci0gICAgICAgICAgICAgICAgdi5tZW1vcnk9InVzZWQ6Iit2LnVzZWRNZW1vcnkrIjxicj50b3RhbDoiK3YudG90YWxNZW1vcnk7Ci0gICAgICAgICAgICAgICAgdi5oYXJkRGlzaz0idXNlZDoiK3YudXNlZERpc2srIjxicj50b3RhbDoiK3YudG90YWxEaXNrOworICAgIHZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvZGF0YWNlbnRlcnMiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICAkLmVhY2goanNvbm9iai5kYXRhY2VudGVycywgZnVuY3Rpb24gKG4sIHYpIHsKKyAgICAgICAgICAgICAgICB2LmNwdSA9ICJ1c2VkOiIgKyB2LnVzZWRDUFUgKyAiPGJyPnRvdGFsOiIgKyB2LnRvdGFsQ1BVOworICAgICAgICAgICAgICAgIHYubWVtb3J5ID0gInVzZWQ6IiArIHYudXNlZE1lbW9yeSArICI8YnI+dG90YWw6IiArIHYudG90YWxNZW1vcnk7CisgICAgICAgICAgICAgICAgdi5oYXJkRGlzayA9ICJ1c2VkOiIgKyB2LnVzZWREaXNrICsgIjxicj50b3RhbDoiICsgdi50b3RhbERpc2s7CiAgICAgICAgICAgICB9KTsKLQkJCSQoJyNEYXRhY2VudGVyX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoewotCQkJCWRhdGEgOiBqc29ub2JqLmRhdGFjZW50ZXJzCi0JCQl9KTsKLQkJCSQoJyNEYXRhY2VudGVyX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoJ3JlZnJlc2gnKTsKLQkJCWhpZGVGaXJzdENvbCgpOwotCQl9LAotCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0JCQlib290Ym94LmFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKLQkJfQotCX0pOworICAgICAgICAgICAgJCgnI0RhdGFjZW50ZXJfdGFibGUnKS5ib290c3RyYXBUYWJsZSh7CisgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai5kYXRhY2VudGVycworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAkKCcjRGF0YWNlbnRlcl90YWJsZScpLmJvb3RzdHJhcFRhYmxlKCdyZWZyZXNoJyk7CisgICAgICAgICAgICBoaWRlRmlyc3RDb2woKTsKKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZ2V0dGluZyBzaXRlIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIGZ1bmN0aW9uIGxvYWROZXRXb3JrRGF0YSgpIHsKLQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL25ldHdvcmtzIjsKLQkkLmFqYXgoewotCQl0eXBlIDogIkdFVCIsCi0JCXVybCA6IHJlcXVlc3RVcmwsCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgewotCQkJJCgnI25ldHdvcmtfdGFibGUnKS5ib290c3RyYXBUYWJsZSh7Ci0JCQkJZGF0YSA6IGpzb25vYmoubmV0d29ya3MKLQkJCX0pOwotCQl9LAotCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0JCQlib290Ym94LmFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKLQkJfQotCX0pOworICAgIHZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvbmV0d29ya3MiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICAkKCcjbmV0d29ya190YWJsZScpLmJvb3RzdHJhcFRhYmxlKHsKKyAgICAgICAgICAgICAgICBkYXRhOiBqc29ub2JqLm5ldHdvcmtzCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZ2V0dGluZyBzaXRlIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIGZ1bmN0aW9uIGxvYWRQb3J0RGF0YSgpIHsKLQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL3BvcnRzIjsKLQkkLmFqYXgoewotCQl0eXBlIDogIkdFVCIsCi0JCXVybCA6IHJlcXVlc3RVcmwsCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgewotCQkJJCgnI3BvcnRfdGFibGUnKS5ib290c3RyYXBUYWJsZSh7Ci0JCQkJZGF0YSA6IGpzb25vYmoucG9ydHMKLQkJCX0pOwotCQl9LAotCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0JCQlib290Ym94LmFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKLQkJfQotCX0pOworICAgIHZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvcG9ydHMiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICAkKCcjcG9ydF90YWJsZScpLmJvb3RzdHJhcFRhYmxlKHsKKyAgICAgICAgICAgICAgICBkYXRhOiBqc29ub2JqLnBvcnRzCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZ2V0dGluZyBzaXRlIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIGZ1bmN0aW9uIGxvYWRIb3N0RGF0YSgpIHsKLQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2hvc3RzIjsKLQkkLmFqYXgoewotCQl0eXBlIDogIkdFVCIsCi0JCXVybCA6IHJlcXVlc3RVcmwsCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgewotCQkJJCgnI2hvc3RfdGFibGUnKS5ib290c3RyYXBUYWJsZSh7Ci0JCQkJZGF0YSA6IGpzb25vYmouaG9zdHMKLQkJCX0pOwotCQl9LAotCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0JCQlib290Ym94LmFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKLQkJfQotCX0pOworICAgIHZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvaG9zdHMiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICAkKCcjaG9zdF90YWJsZScpLmJvb3RzdHJhcFRhYmxlKHsKKyAgICAgICAgICAgICAgICBkYXRhOiBqc29ub2JqLmhvc3RzCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwKKyAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZ2V0dGluZyBzaXRlIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAogCiBmdW5jdGlvbiBmaWxsQ291bnRyeURhdGEoKSB7Ci0JCi0JdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9sb2NhdGlvbnMvY291bnRyeSI7Ci0JdmFyIGh0bWxDb250ZW50ID0gIiI7Ci0JJC5hamF4KHsKLQkJdHlwZSA6ICJHRVQiLAotCQl1cmwgOiByZXF1ZXN0VXJsLAotCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwKLQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsKLQkJCXZhciBzdHIgPSBqc29ub2JqLmRhdGEucmVwbGFjZSgnWycsJycpLnJlcGxhY2UoJ10nLCcnKS5zcGxpdCgnLCcpCi0JCQkkLmVhY2goc3RyLGZ1bmN0aW9uKG4sdil7Ci0JCQkJaHRtbENvbnRlbnQgKz0gIjxvcHRpb24gdmFsdWU9JyIrdisiJz4iK3YrIjwvb3B0aW9uPiI7Ci0JCSAgICAgICAgJCgiI2NvdW50cnkiKS5odG1sKGh0bWxDb250ZW50KTsKLSAgICAgICAgICAgICAgICAKLQkJCSB9KTsKLQkJfSwKLQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgewotCQkJYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZ2V0dGluZyBjb3VudHJ5IGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0JCX0KLQl9KTsKKworICAgIHZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvbG9jYXRpb25zL2NvdW50cnkiOworICAgIHZhciBodG1sQ29udGVudCA9ICIiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICB2YXIgc3RyID0ganNvbm9iai5kYXRhLnJlcGxhY2UoJ1snLCAnJykucmVwbGFjZSgnXScsICcnKS5zcGxpdCgnLCcpCisgICAgICAgICAgICAkLmVhY2goc3RyLCBmdW5jdGlvbiAobiwgdikgeworICAgICAgICAgICAgICAgIGh0bWxDb250ZW50ICs9ICI8b3B0aW9uIHZhbHVlPSciICsgdiArICInPiIgKyB2ICsgIjwvb3B0aW9uPiI7CisgICAgICAgICAgICAgICAgJCgiI2NvdW50cnkiKS5odG1sKGh0bWxDb250ZW50KTsKKworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgY291bnRyeSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CiB9CiAKIGZ1bmN0aW9uIGZpbGxWaW1OYW1lRGF0YSgpIHsKLQkKLQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucy9jbG91ZHNlcnZpY2UiOwotCXZhciBodG1sQ29udGVudCA9ICIiOwotCSQuYWpheCh7Ci0JCXR5cGUgOiAiR0VUIiwKLQkJdXJsIDogcmVxdWVzdFVybCwKLQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0JCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7Ci0JCQl2YXIgc3RyID0ganNvbm9iai5kYXRhLnJlcGxhY2UoJ1snLCcnKS5yZXBsYWNlKCddJywnJykuc3BsaXQoJywnKQotCQkJJC5lYWNoKHN0cixmdW5jdGlvbihuLHYpewotCQkJCWh0bWxDb250ZW50ICs9ICI8b3B0aW9uIHZhbHVlPSciK3YrIic+Iit2KyI8L29wdGlvbj4iOwotCQkgICAgICAgICQoIiN2aW1OYW1lIikuaHRtbChodG1sQ29udGVudCk7Ci0gICAgICAgICAgICAgICAgCisKKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucy9jbG91ZHNlcnZpY2UiOworICAgIHZhciBodG1sQ29udGVudCA9ICIiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICB2YXIgc3RyID0ganNvbm9iai5kYXRhLnJlcGxhY2UoJ1snLCAnJykucmVwbGFjZSgnXScsICcnKS5zcGxpdCgnLCcpCisgICAgICAgICAgICAkLmVhY2goc3RyLCBmdW5jdGlvbiAobiwgdikgeworICAgICAgICAgICAgICAgIGh0bWxDb250ZW50ICs9ICI8b3B0aW9uIHZhbHVlPSciICsgdiArICInPiIgKyB2ICsgIjwvb3B0aW9uPiI7CisgICAgICAgICAgICAgICAgJCgiI3ZpbU5hbWUiKS5odG1sKGh0bWxDb250ZW50KTsKKwogICAgICAgICAgICAgfSk7Ci0JCX0sCi0JCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLQkJCWJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgY291bnRyeSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOwotCQl9Ci0JfSk7CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgY291bnRyeSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICB9CisgICAgfSk7CiB9CiAKIAotJChmdW5jdGlvbigpIHsKLQkgJCgiI3ZtQXBwRm9ybSIpLnZhbGlkYXRlKHsKLQkgICAgICAgIHJ1bGVzOiB7Ci0JICAgY291bnRyeTogInJlcXVpcmVkIiwKLQkgICBsb2NhdGlvbjogInJlcXVpcmVkIiwKLQkgICBsYW50aXR1ZGU6ICJyZXF1aXJlZCIsCi0JICAgbG9uZ2l0dWRlOiAicmVxdWlyZWQiCi0JCSAgIH0KLQkgICAgfSk7Ci0JIAotCSQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24oKSB7Ci0JCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7Ci0JfSk7Ci0JJCgnLmRldGFpbC10b3AgdWwgbGknKS5jbGljayhmdW5jdGlvbigpIHsKLQkJJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsKLQl9KTsKLQkkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbigpIHsKLQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdub25lJyk7Ci0JfSk7CiskKGZ1bmN0aW9uICgpIHsKKyAgICAkKCIjdm1BcHBGb3JtIikudmFsaWRhdGUoeworICAgICAgICBydWxlczogeworICAgICAgICAgICAgY291bnRyeTogInJlcXVpcmVkIiwKKyAgICAgICAgICAgIGxvY2F0aW9uOiAicmVxdWlyZWQiLAorICAgICAgICAgICAgbGFudGl0dWRlOiAicmVxdWlyZWQiLAorICAgICAgICAgICAgbG9uZ2l0dWRlOiAicmVxdWlyZWQiCisgICAgICAgIH0KKyAgICB9KTsKIAotCSQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKAotCQkJZnVuY3Rpb24oKSB7Ci0JCQkJJCh0aGlzKS5hZGRDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKS5zaWJsaW5ncygpCi0JCQkJCQkucmVtb3ZlQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJyk7Ci0JCQl9KTsKLQkkKCcudGFibGUgdHI6b2RkJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwotCSQoJyNmYWxzZScpLmNsaWNrKGZ1bmN0aW9uKCkgewotCQkkKCcjdm1BcHBGb3JtJylbMF0ucmVzZXQoKTsKLQkJJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsKLQkJCSdkaXNwbGF5JyA6ICdibG9jaycKLQkJfSk7Ci0JfSk7Ci0JJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbigpIHsKLQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKLQl9KTsKLQkKLQkkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uKCkgewotCQl2YXIgbyA9IHt9OwotCQl2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsKLQkJJC5lYWNoKGEsIGZ1bmN0aW9uKCkgewotCQkJaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7Ci0JCQkJaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgewotCQkJCQlvW3RoaXMubmFtZV0gPSBbIG9bdGhpcy5uYW1lXSBdOwotCQkJCX0KLQkJCQlvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsKLQkJCX0gZWxzZSB7Ci0JCQkJb1t0aGlzLm5hbWVdID0gdGhpcy52YWx1ZSB8fCAnJzsKLQkJCX0KLQkJfSk7Ci0JCXJldHVybiBvOwotCX07Ci0JJCgnI2NyZWF0ZURhdGFjZW50ZXInKQotCQkJLmNsaWNrKAotCQkJCQlmdW5jdGlvbigpIHsKLQkJCQkJCQotCQkJCQkJCi0JCQkJCQl2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdm1BcHBGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOwotCQkJCQkJdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsKLQkJCQkJCXZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvZGF0YWNlbnRlcnMiOwotCQkJCQkJJC5hamF4KHsKLQkJCQkJCQl0eXBlIDogIlBPU1QiLAotCQkJCQkJCXVybCA6IHJlcXVlc3RVcmwsCi0JCQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0JCQkJCQkJZGF0YVR5cGUgOiAianNvbiIsCi0JCQkJCQkJZGF0YSA6IGZvcm1EYXRhLAotCQkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgewotCQkJCQkJCQlsb2FkRGF0YWNlbnRlckRhdGEoKTsKLQkJCQkJCQkJYm9vdGJveC5hbGVydChqc29uUmVzcC5tc2cpOwotCQkJCQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoewotCQkJCQkJCQkJJ2Rpc3BsYXknIDogJ25vbmUnCi0JCQkJCQkJCX0pOwotCQkJCQkJCX0sCi0JCQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgewotCQkJCQkJCQlib290Ym94LmFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOwotCQkJCQkJCX0KLQkJCQkJCX0pOwotCQkJCQl9KTsKKyAgICAkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKKyAgICB9KTsKKyAgICAkKCcuZGV0YWlsLXRvcCB1bCBsaScpLmNsaWNrKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsKKyAgICB9KTsKKyAgICAkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOworICAgIH0pOwogCi0JJCgnI2NvdW50cnknKS5jaGFuZ2UoZnVuY3Rpb24oKXsgCi0JCXZhciBjb3VudHJ5ID0gJCh0aGlzKS5jaGlsZHJlbignb3B0aW9uOnNlbGVjdGVkJykudmFsKCk7IAotCQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucy9sb2NhdGlvbmJ5Y291bnRyeT9jb3VudHJ5PSIrY291bnRyeTsKLQkJCi0JCXZhciBodG1sQ29udGVudCA9ICI8b3B0aW9uIHZhbHVlPScnPi0tc2VsZWN0LS08L29wdGlvbj4iOwotCQkkLmFqYXgoewotCQkJdHlwZSA6ICJHRVQiLAotCQkJdXJsIDogcmVxdWVzdFVybCwKLQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsKLQkJCQkJJC5lYWNoKGpzb25vYmouZGF0YSxmdW5jdGlvbihuLHYpewotCQkJCQkJaHRtbENvbnRlbnQgKz0gIjxvcHRpb24gdmFsdWU9JyIrdisiJz4iK3YrIjwvb3B0aW9uPiI7Ci0JCQkJICAgICAgICAkKCIjbG9jYXRpb24iKS5odG1sKGh0bWxDb250ZW50KTsKLQkJICAgICAgICAgICAgICAgIAotCQkgICAgICAgICAgICB9KTsKLQkJCQkKLQkJCX0sCi0JCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0JCQkJYm9vdGJveC5hbGVydCgiRXJyb3Igb24gZ2V0dGluZyBsb2NhdGlvbiBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOwotCQkJfQotCQl9KTsKLQkJCi0JfSkgCi0JCi0JCisgICAgJCgnLnRhYmxlIHRib2R5IHRyJykuY2xpY2soCisgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKQorICAgICAgICAgICAgICAgIC5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsKKyAgICAgICAgfSk7CisgICAgJCgnLnRhYmxlIHRyOm9kZCcpLmFkZENsYXNzKCdhY3RpdmUnKTsKKyAgICAkKCcjZmFsc2UnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICQoJyN2bUFwcEZvcm0nKVswXS5yZXNldCgpOworICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeworICAgICAgICAgICAgJ2Rpc3BsYXknOiAnYmxvY2snCisgICAgICAgIH0pOworICAgIH0pOworICAgICQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24gKCkgeworICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOworICAgIH0pOworCisgICAgJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgIHZhciBvID0ge307CisgICAgICAgIHZhciBhID0gdGhpcy5zZXJpYWxpemVBcnJheSgpOworICAgICAgICAkLmVhY2goYSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICAgICAgaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgeworICAgICAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSBbb1t0aGlzLm5hbWVdXTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgb1t0aGlzLm5hbWVdLnB1c2godGhpcy52YWx1ZSB8fCAnJyk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXSA9IHRoaXMudmFsdWUgfHwgJyc7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gbzsKKyAgICB9OworICAgICQoJyNjcmVhdGVEYXRhY2VudGVyJykKKyAgICAgICAgLmNsaWNrKAorICAgICAgICAgICAgZnVuY3Rpb24gKCkgeworCisKKyAgICAgICAgICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdm1BcHBGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOworICAgICAgICAgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7CisgICAgICAgICAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9kYXRhY2VudGVycyI7CisgICAgICAgICAgICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAorICAgICAgICAgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgICAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLAorICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvYWREYXRhY2VudGVyRGF0YSgpOworICAgICAgICAgICAgICAgICAgICAgICAgYm9vdGJveC5hbGVydChqc29uUmVzcC5tc2cpOworICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlzcGxheSc6ICdub25lJworICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworCisgICAgJCgnI2NvdW50cnknKS5jaGFuZ2UoZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgY291bnRyeSA9ICQodGhpcykuY2hpbGRyZW4oJ29wdGlvbjpzZWxlY3RlZCcpLnZhbCgpOworICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucy9sb2NhdGlvbmJ5Y291bnRyeT9jb3VudHJ5PSIgKyBjb3VudHJ5OworCisgICAgICAgIHZhciBodG1sQ29udGVudCA9ICI8b3B0aW9uIHZhbHVlPScnPi0tc2VsZWN0LS08L29wdGlvbj4iOworICAgICAgICAkLmFqYXgoeworICAgICAgICAgICAgdHlwZTogIkdFVCIsCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLAorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsKKyAgICAgICAgICAgICAgICAkLmVhY2goanNvbm9iai5kYXRhLCBmdW5jdGlvbiAobiwgdikgeworICAgICAgICAgICAgICAgICAgICBodG1sQ29udGVudCArPSAiPG9wdGlvbiB2YWx1ZT0nIiArIHYgKyAiJz4iICsgdiArICI8L29wdGlvbj4iOworICAgICAgICAgICAgICAgICAgICAkKCIjbG9jYXRpb24iKS5odG1sKGh0bWxDb250ZW50KTsKKworICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgeworICAgICAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgbG9jYXRpb24gZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisKKyAgICB9KQorCiAKIH0pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvcmVzbWdyLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvcmVzbWdyLmpzCmluZGV4IDI0ODA0MTMuLmEwYWQ5OTIgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2pzL3Jlc21nci5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy9yZXNtZ3IuanMKQEAgLTEsMjAyICsxLDE5OCBAQAotZnVuY3Rpb24gaGlkZUZpcnN0Q29sKCl7CitmdW5jdGlvbiBoaWRlRmlyc3RDb2woKSB7CiAvLwkkKCd0YWJsZSB0cicpLmZpbmQoJ3RoOmVxKDApJykuaGlkZSgpOwogLy8JJCgndGFibGUgdHInKS5maW5kKCd0ZDplcSgwKScpLmhpZGUoKTsKIH0KIGZ1bmN0aW9uIGRlbGV0ZUxvY2F0aW9uKG9iamVjdElkKSB7Ci0JdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9sb2NhdGlvbnMvIisgb2JqZWN0SWQ7Ci0JJC5hamF4KHsKLQkJdHlwZSA6ICJERUxFVEUiLAotCQl1cmwgOiByZXF1ZXN0VXJsLAotCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwKLQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsKLQkJCSQoJyNsb2NhdGlvbl90YWJsZScpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7Ci0JCQkJZmllbGQgOiAnaWQnLAotCQkJCXZhbHVlcyA6IFsgb2JqZWN0SWQgXQotCQkJfSk7Ci0JCQlib290Ym94LmFsZXJ0KCJEZWxldGUgIHN1Y2Nlc3NmdWxsICEhISIpOwotCQl9LAotCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7Ci0JCQlib290Ym94LmFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBkYXRhOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0JCX0KLQl9KTsKKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucy8iICsgb2JqZWN0SWQ7CisgICAgJC5hamF4KHsKKyAgICAgICAgdHlwZTogIkRFTEVURSIsCisgICAgICAgIHVybDogcmVxdWVzdFVybCwKKyAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsKKyAgICAgICAgICAgICQoJyNsb2NhdGlvbl90YWJsZScpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7CisgICAgICAgICAgICAgICAgZmllbGQ6ICdpZCcsCisgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdCisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkRlbGV0ZSAgc3VjY2Vzc2Z1bGwgISEhIik7CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIGRhdGE6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiBmdW5jdGlvbiBlZGl0TG9jYXRpb24ocm93KSB7Ci0JJCgnI3ZtQXBwRGlhbG9nJykuYWRkQ2xhc3MoJ2luJykuY3NzKHsKLQkJJ2Rpc3BsYXknIDogJ2Jsb2NrJwotCX0pOwotCSQoJyNpZCcpLnZhbChyb3cuaWQpOwotCSQoJyNjb3VudHJ5JykudmFsKHJvdy5jb3VudHJ5KTsKLQkkKCcjbG9jYXRpb24nKS52YWwocm93LmxvY2F0aW9uKTsKLQkkKCcjZGVzY3JpcHRpb24nKS52YWwocm93LmRlc2NyaXB0aW9uKTsKLQkkKCcjbGF0aXR1ZGUnKS52YWwocm93LmxhdGl0dWRlKTsKLQkkKCcjbG9uZ2l0dWRlJykudmFsKHJvdy5sb25naXR1ZGUpOworICAgICQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7CisgICAgICAgICdkaXNwbGF5JzogJ2Jsb2NrJworICAgIH0pOworICAgICQoJyNpZCcpLnZhbChyb3cuaWQpOworICAgICQoJyNjb3VudHJ5JykudmFsKHJvdy5jb3VudHJ5KTsKKyAgICAkKCcjbG9jYXRpb24nKS52YWwocm93LmxvY2F0aW9uKTsKKyAgICAkKCcjZGVzY3JpcHRpb24nKS52YWwocm93LmRlc2NyaXB0aW9uKTsKKyAgICAkKCcjbGF0aXR1ZGUnKS52YWwocm93LmxhdGl0dWRlKTsKKyAgICAkKCcjbG9uZ2l0dWRlJykudmFsKHJvdy5sb25naXR1ZGUpOwogfQogCiBmdW5jdGlvbiBsb2FkTG9jYXRpb25EYXRhKCkgewotCXZhciByZXF1ZXN0VXJsID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvbG9jYXRpb25zIjsKLQkkLmFqYXgoewotCQl0eXBlIDogIkdFVCIsCi0JCXVybCA6IHJlcXVlc3RVcmwsCi0JCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLAotCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgewotCQkJJCgnI2xvY2F0aW9uX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoewotCQkJCXBhZ2VTaXplOiA1MCwKLQkJCQlzdHJpcGVkOiB0cnVlLAotCQkJCWRhdGEgOiBqc29ub2JqLmxvY2F0aW9ucwotCQkJfSk7Ci0JCQkkKCcjbG9jYXRpb25fdGFibGUnKS5ib290c3RyYXBUYWJsZSgncmVmcmVzaCcpOwotCQkJCi0JCX0sCi0JCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLQkJCWJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgc2l0ZSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOwotCQl9Ci0JfSk7Ci0JCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9sb2NhdGlvbnMiOworICAgICQuYWpheCh7CisgICAgICAgIHR5cGU6ICJHRVQiLAorICAgICAgICB1cmw6IHJlcXVlc3RVcmwsCisgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7CisgICAgICAgICAgICAkKCcjbG9jYXRpb25fdGFibGUnKS5ib290c3RyYXBUYWJsZSh7CisgICAgICAgICAgICAgICAgcGFnZVNpemU6IDUwLAorICAgICAgICAgICAgICAgIHN0cmlwZWQ6IHRydWUsCisgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai5sb2NhdGlvbnMKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgJCgnI2xvY2F0aW9uX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoJ3JlZnJlc2gnKTsKKworICAgICAgICB9LAorICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7CisgICAgICAgICAgICBib290Ym94LmFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKKyAgICAgICAgfQorICAgIH0pOworCiB9CiAKLSQoZnVuY3Rpb24oKSB7Ci0JICQoIiN2bUFwcEZvcm0iKS52YWxpZGF0ZSh7Ci0JICAgICAgICBydWxlczogewotCSAgIGNvdW50cnk6ICJyZXF1aXJlZCIsCi0JICAgbG9jYXRpb246ICJyZXF1aXJlZCIsCi0JICAgbGF0aXR1ZGU6IHsKLQkJICAgICAgcmVxdWlyZWQ6IHRydWUsCi0JCSAgICAgIG51bWJlcjogdHJ1ZQotCQkgICAgfSwKLQkgICBsb25naXR1ZGU6IHsKLQkJICAgICAgcmVxdWlyZWQ6IHRydWUsCi0JCSAgICAgIG51bWJlcjogdHJ1ZQotCQkgICAgfQotCQkgICB9Ci0JICAgIH0pOwotCSAKLQkkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uKCkgewotCQkkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwotCX0pOwotCSQoJy5kZXRhaWwtdG9wIHVsIGxpJykuY2xpY2soZnVuY3Rpb24oKSB7Ci0JCSQodGhpcykuYWRkQ2xhc3MoJ2N1cnJlbnQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7Ci0JfSk7Ci0JJCgnLnBhcmEnKS5jbGljayhmdW5jdGlvbigpIHsKLQkJaWYgKCQoJyNzZXJ2aWNlVGVtcGxhdGVOYW1lJykudmFsKCkgPT0gJycpIHsKLQkJCWFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsKLQkJCSQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwotCQl9IGVsc2UgewotCQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOwotCQl9Ci0JCSQoJyNiYXNpY1RhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOwotCX0pOwotCSQoJy5iYXNpYycpLmNsaWNrKGZ1bmN0aW9uKCkgewotCQkkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKLQl9KTsKKyQoZnVuY3Rpb24gKCkgeworICAgICQoIiN2bUFwcEZvcm0iKS52YWxpZGF0ZSh7CisgICAgICAgIHJ1bGVzOiB7CisgICAgICAgICAgICBjb3VudHJ5OiAicmVxdWlyZWQiLAorICAgICAgICAgICAgbG9jYXRpb246ICJyZXF1aXJlZCIsCisgICAgICAgICAgICBsYXRpdHVkZTogeworICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAorICAgICAgICAgICAgICAgIG51bWJlcjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGxvbmdpdHVkZTogeworICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAorICAgICAgICAgICAgICAgIG51bWJlcjogdHJ1ZQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CiAKLQkkKCcudGFibGUgdGJvZHkgdHInKS5jbGljaygKLQkJCWZ1bmN0aW9uKCkgewotCQkJCSQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKQotCQkJCQkJLnJlbW92ZUNsYXNzKCdvcGVub1RhYmxlX3Jvd19zZWxlY3RlZCcpOwotCQkJfSk7Ci0JJCgnLnRhYmxlIHRyOm9kZCcpLmFkZENsYXNzKCdhY3RpdmUnKTsKLQkkKCcjZmFsc2UnKS5jbGljayhmdW5jdGlvbigpIHsKLQkJJCgnI3ZtQXBwRm9ybScpWzBdLnJlc2V0KCk7Ci0JCSQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7Ci0JCQknZGlzcGxheScgOiAnYmxvY2snCi0JCX0pOwotCX0pOwotCSQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24oKSB7Ci0JCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7Ci0JfSk7Ci0JJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5jbGljaygKLQkJCWZ1bmN0aW9uKCkgewotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKAotCQkJCQkJJ29wZW5vLWhpZGUnKTsKLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOwotCQkJCXZhciBvTGVmdCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLm9mZnNldCgpLmxlZnQ7Ci0JCQkJdmFyIG9Ub3AgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS50b3A7Ci0JCQkJdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsKLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5jc3MoewotCQkJCQknbGVmdCcgOiBvTGVmdCwKLQkJCQkJJ3RvcCcgOiBvVG9wICsgb0hlaWdodCArIDEwCi0JCQkJfSk7Ci0JCQl9KTsKLQkkKCdkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW0+bGFiZWwnKS5jbGljaygKLQkJCWZ1bmN0aW9uKCkgewotCQkJCXZhciBMdmFsdWUgPSAkKHRoaXMpLmh0bWwoKTsKLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfaW5wdXQnKS5hdHRyKCd2YWx1ZScsIEx2YWx1ZSk7Ci0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuYWRkQ2xhc3MoCi0JCQkJCQknb3Blbm8taGlkZScpOwotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykucmVtb3ZlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7Ci0JCQl9KTsKLQkkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uKCkgewotCQl2YXIgbyA9IHt9OwotCQl2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsKLQkJJC5lYWNoKGEsIGZ1bmN0aW9uKCkgewotCQkJaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7Ci0JCQkJaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgewotCQkJCQlvW3RoaXMubmFtZV0gPSBbIG9bdGhpcy5uYW1lXSBdOwotCQkJCX0KLQkJCQlvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsKLQkJCX0gZWxzZSB7Ci0JCQkJb1t0aGlzLm5hbWVdID0gdGhpcy52YWx1ZSB8fCAnJzsKLQkJCX0KLQkJfSk7Ci0JCXJldHVybiBvOwotCX07Ci0JJCgnI2NyZWF0ZUxvY2F0aW9uJykKLQkJCS5jbGljaygKLQkJCQkJCi0JCQkJCWZ1bmN0aW9uKCkgewotCQkJCQkJdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI3ZtQXBwRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsKLQkJCQkJCXZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7Ci0JCQkJCQl2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucyI7Ci0JCQkJCQl2YXIgcmVxdWVzdFVybF9xdWVyeSA9ICIvcmVzbWdyL3Jlc3Qvb3Blbm9hcGkvcmVzbWdyL3YxL2xvY2F0aW9ucyI7Ci0JCQkJCQlpZigkKCcjaWQnKS52YWwoKS5sZW5ndGggPT09IDApey8vY3JlYXRlCisgICAgJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7CisgICAgfSk7CisgICAgJCgnLmRldGFpbC10b3AgdWwgbGknKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2N1cnJlbnQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7CisgICAgfSk7CisgICAgJCgnLnBhcmEnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgIGlmICgkKCcjc2VydmljZVRlbXBsYXRlTmFtZScpLnZhbCgpID09ICcnKSB7CisgICAgICAgICAgICBhbGVydCgnUGxlYXNlIGNob29zZSB0aGUgc2VydmljZSB0ZW1wbGV077yBJyk7CisgICAgICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKKyAgICAgICAgfQorICAgICAgICAkKCcjYmFzaWNUYWInKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKKyAgICB9KTsKKyAgICAkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOworICAgIH0pOwogCi0JCQkJCQkJCi0JCQkJCQkJJC5hamF4KHsKLQkJCQkJCQkJdHlwZSA6ICJQT1NUIiwKLQkJCQkJCQkJdXJsIDogcmVxdWVzdFVybCwKLQkJCQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0JCQkJCQkJCWRhdGFUeXBlIDogImpzb24iLAotCQkJCQkJCQlkYXRhIDogZm9ybURhdGEsCi0JCQkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgewotCQkJCQkJCQkJbG9hZExvY2F0aW9uRGF0YSgpOwotCQkJCQkJCQkJYm9vdGJveC5hbGVydChqc29uUmVzcC5tc2cpOwotCQkJCQkJCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKHsKLQkJCQkJCQkJCQknZGlzcGxheScgOiAnbm9uZScKLQkJCQkJCQkJCX0pOwotCQkJCQkJCQkJCi0JCQkJCQkJCX0sCi0JCQkJCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLQkJCQkJCQkJCWJvb3Rib3guYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0JCQkJCQkJCX0KLQkJCQkJCQl9KTsKLQkJCQkJCX1lbHNley8vcHV0CisgICAgJCgnLnRhYmxlIHRib2R5IHRyJykuY2xpY2soCisgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKQorICAgICAgICAgICAgICAgIC5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsKKyAgICAgICAgfSk7CisgICAgJCgnLnRhYmxlIHRyOm9kZCcpLmFkZENsYXNzKCdhY3RpdmUnKTsKKyAgICAkKCcjZmFsc2UnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICQoJyN2bUFwcEZvcm0nKVswXS5yZXNldCgpOworICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeworICAgICAgICAgICAgJ2Rpc3BsYXknOiAnYmxvY2snCisgICAgICAgIH0pOworICAgIH0pOworICAgICQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24gKCkgeworICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOworICAgIH0pOworICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykuY2xpY2soCisgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKAorICAgICAgICAgICAgICAgICdvcGVuby1oaWRlJyk7CisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOworICAgICAgICAgICAgdmFyIG9MZWZ0ID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkubGVmdDsKKyAgICAgICAgICAgIHZhciBvVG9wID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkudG9wOworICAgICAgICAgICAgdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsKKyAgICAgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmNzcyh7CisgICAgICAgICAgICAgICAgJ2xlZnQnOiBvTGVmdCwKKyAgICAgICAgICAgICAgICAndG9wJzogb1RvcCArIG9IZWlnaHQgKyAxMAorICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgICQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKAorICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIgTHZhbHVlID0gJCh0aGlzKS5odG1sKCk7CisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfaW5wdXQnKS5hdHRyKCd2YWx1ZScsIEx2YWx1ZSk7CisgICAgICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5hZGRDbGFzcygKKyAgICAgICAgICAgICAgICAnb3Blbm8taGlkZScpOworICAgICAgICAgICAgJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5yZW1vdmVDbGFzcygnb3Blbm8tZm9jdXMnKTsKKyAgICAgICAgfSk7CisgICAgJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgIHZhciBvID0ge307CisgICAgICAgIHZhciBhID0gdGhpcy5zZXJpYWxpemVBcnJheSgpOworICAgICAgICAkLmVhY2goYSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICAgICAgaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgeworICAgICAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSBbb1t0aGlzLm5hbWVdXTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgb1t0aGlzLm5hbWVdLnB1c2godGhpcy52YWx1ZSB8fCAnJyk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG9bdGhpcy5uYW1lXSA9IHRoaXMudmFsdWUgfHwgJyc7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gbzsKKyAgICB9OworICAgICQoJyNjcmVhdGVMb2NhdGlvbicpCisgICAgICAgIC5jbGljaygKKyAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjdm1BcHBGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOworICAgICAgICAgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7CisgICAgICAgICAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L29wZW5vYXBpL3Jlc21nci92MS9sb2NhdGlvbnMiOworICAgICAgICAgICAgICAgIHZhciByZXF1ZXN0VXJsX3F1ZXJ5ID0gIi9yZXNtZ3IvcmVzdC9vcGVub2FwaS9yZXNtZ3IvdjEvbG9jYXRpb25zIjsKKyAgICAgICAgICAgICAgICBpZiAoJCgnI2lkJykudmFsKCkubGVuZ3RoID09PSAwKSB7Ly9jcmVhdGUKIAotCQkJCQkJCQotCQkJCQkJCSQuYWpheCh7Ci0JCQkJCQkJCXR5cGUgOiAiUFVUIiwKLQkJCQkJCQkJdXJsIDogcmVxdWVzdFVybCwKLQkJCQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsCi0JCQkJCQkJCWRhdGFUeXBlIDogImpzb24iLAotCQkJCQkJCQlkYXRhIDogZm9ybURhdGEsCi0JCQkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgewotCQkJCQkJCQkJbG9hZExvY2F0aW9uRGF0YSgpOwotCQkJCQkJCQkJYm9vdGJveC5hbGVydChqc29uUmVzcC5tc2cpOwotCQkJCQkJCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKHsKLQkJCQkJCQkJCQknZGlzcGxheScgOiAnbm9uZScKLQkJCQkJCQkJCX0pOwotCQkJCQkJCQkJCi0JCQkJCQkJCX0sCi0JCQkJCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLQkJCQkJCQkJCWJvb3Rib3guYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7Ci0JCQkJCQkJCX0KLQkJCQkJCQl9KTsKLQkJCQkJCX0KLQkJCQkJCQotCQkJCQl9KTsKLQkJCQkJCiAKLQkKLQkKKyAgICAgICAgICAgICAgICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZm9ybURhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkTG9jYXRpb25EYXRhKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdGJveC5hbGVydChqc29uUmVzcC5tc2cpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcyh7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkaXNwbGF5JzogJ25vbmUnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdGJveC5hbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsvL3B1dAorCisKKyAgICAgICAgICAgICAgICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQVVQiLAorICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRMb2NhdGlvbkRhdGEoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290Ym94LmFsZXJ0KGpzb25SZXNwLm1zZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknOiAnbm9uZScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290Ym94LmFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIH0pOworCiAKIH0pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvdmFsaWRhdGVzZXQuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy92YWxpZGF0ZXNldC5qcwppbmRleCA1YjQ0YmU4Li5kNmU0N2QyIDEwMDY0NAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy92YWxpZGF0ZXNldC5qcworKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy92YWxpZGF0ZXNldC5qcwpAQCAtMSwyOCArMSwyOCBAQAotJChmdW5jdGlvbigpewotCSQudmFsaWRhdG9yLnNldERlZmF1bHRzKHsKLQkgICAgb25rZXl1cDogbnVsbCwKLQkgICAgc3VjY2VzczogZnVuY3Rpb24obGFiZWwpewotCSAgICAgICAgbGFiZWwudGV4dCgnJykuYWRkQ2xhc3MoJ3ZhbGlkJyk7Ci0JICAgIH0sCi0JICAgIG9uZm9jdXNpbjogZnVuY3Rpb24oIGVsZW1lbnQgKSB7Ci0JICAgICAgICB0aGlzLmxhc3RBY3RpdmUgPSBlbGVtZW50OwotCSAgICAgICAgdGhpcy5hZGRXcmFwcGVyKHRoaXMuZXJyb3JzRm9yKGVsZW1lbnQpKS5oaWRlKCk7Ci0JICAgICAgICB2YXIgdGlwID0gJChlbGVtZW50KS5hdHRyKCd0aXAnKTsKLQkgICAgICAgIGlmKHRpcCAmJiAkKGVsZW1lbnQpLnBhcmVudCgpLmNoaWxkcmVuKCIudGlwIikubGVuZ3RoID09PSAwKXsKLQkgICAgICAgICAgICAkKGVsZW1lbnQpLnBhcmVudCgpLmFwcGVuZCgiPGxhYmVsIGNsYXNzPSd0aXAnPiIgKyB0aXAgKyAiPC9sYWJlbD4iKTsKLQkgICAgICAgIH0KLQkgICAgICAgICQoZWxlbWVudCkuYWRkQ2xhc3MoJ2hpZ2hsaWdodCcpOwotCSAgICAgICAgaWYgKCB0aGlzLnNldHRpbmdzLmZvY3VzQ2xlYW51cCApIHsKLQkgICAgICAgICAgICBpZiAoIHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQgKSB7Ci0JICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQuY2FsbCggdGhpcywgZWxlbWVudCwgdGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzLCB0aGlzLnNldHRpbmdzLnZhbGlkQ2xhc3MgKTsKLQkgICAgICAgICAgICB9Ci0JICAgICAgICAgICAgdGhpcy5oaWRlVGhlc2UoIHRoaXMuZXJyb3JzRm9yKCBlbGVtZW50ICkgKTsKLQkgICAgICAgIH0KLQkgICAgfSwKLQkgICAgb25mb2N1c291dDogZnVuY3Rpb24oIGVsZW1lbnQgKSB7Ci0JICAgICAgICAkKGVsZW1lbnQpLnBhcmVudCgpLmNoaWxkcmVuKCIudGlwIikucmVtb3ZlKCk7Ci0JICAgICAgICAkKGVsZW1lbnQpLnJlbW92ZUNsYXNzKCdoaWdobGlnaHQnKTsKLQkgICAgICAgIHRoaXMuZWxlbWVudCggZWxlbWVudCApOwotCSAgICB9Ci0JfSk7CiskKGZ1bmN0aW9uICgpIHsKKyAgICAkLnZhbGlkYXRvci5zZXREZWZhdWx0cyh7CisgICAgICAgIG9ua2V5dXA6IG51bGwsCisgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChsYWJlbCkgeworICAgICAgICAgICAgbGFiZWwudGV4dCgnJykuYWRkQ2xhc3MoJ3ZhbGlkJyk7CisgICAgICAgIH0sCisgICAgICAgIG9uZm9jdXNpbjogZnVuY3Rpb24gKGVsZW1lbnQpIHsKKyAgICAgICAgICAgIHRoaXMubGFzdEFjdGl2ZSA9IGVsZW1lbnQ7CisgICAgICAgICAgICB0aGlzLmFkZFdyYXBwZXIodGhpcy5lcnJvcnNGb3IoZWxlbWVudCkpLmhpZGUoKTsKKyAgICAgICAgICAgIHZhciB0aXAgPSAkKGVsZW1lbnQpLmF0dHIoJ3RpcCcpOworICAgICAgICAgICAgaWYgKHRpcCAmJiAkKGVsZW1lbnQpLnBhcmVudCgpLmNoaWxkcmVuKCIudGlwIikubGVuZ3RoID09PSAwKSB7CisgICAgICAgICAgICAgICAgJChlbGVtZW50KS5wYXJlbnQoKS5hcHBlbmQoIjxsYWJlbCBjbGFzcz0ndGlwJz4iICsgdGlwICsgIjwvbGFiZWw+Iik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkKGVsZW1lbnQpLmFkZENsYXNzKCdoaWdobGlnaHQnKTsKKyAgICAgICAgICAgIGlmICh0aGlzLnNldHRpbmdzLmZvY3VzQ2xlYW51cCkgeworICAgICAgICAgICAgICAgIGlmICh0aGlzLnNldHRpbmdzLnVuaGlnaGxpZ2h0KSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQuY2FsbCh0aGlzLCBlbGVtZW50LCB0aGlzLnNldHRpbmdzLmVycm9yQ2xhc3MsIHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRoaXMuaGlkZVRoZXNlKHRoaXMuZXJyb3JzRm9yKGVsZW1lbnQpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgb25mb2N1c291dDogZnVuY3Rpb24gKGVsZW1lbnQpIHsKKyAgICAgICAgICAgICQoZWxlbWVudCkucGFyZW50KCkuY2hpbGRyZW4oIi50aXAiKS5yZW1vdmUoKTsKKyAgICAgICAgICAgICQoZWxlbWVudCkucmVtb3ZlQ2xhc3MoJ2hpZ2hsaWdodCcpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50KGVsZW1lbnQpOworICAgICAgICB9CisgICAgfSk7CiB9KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy92aW0uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9qcy92aW0uanMKaW5kZXggMWE0MDZmOS4uNmRlNDM3MSAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvanMvdmltLmpzCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2pzL3ZpbS5qcwpAQCAtMSw3OSArMSw3OSBAQAogZnVuY3Rpb24gbG9hZFZpbURhdGEoKSB7Ci0JdmFyIHJlcXVlc3RVcmwgPSAiL3Jlc21nci9yZXN0L3YxL3Jlc21hbmFnZS92aW0vdmltSW5mbyI7Ci0JJC5hamF4KHsKLQkJdHlwZSA6ICJHRVQiLAotCQl1cmwgOiByZXF1ZXN0VXJsLAotCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwKLQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsKLQkJCXByaW50Q2hhcnRzKGpzb25vYmouZGF0YVswXS51c2VkLmNwdSwKLQkJCQkJanNvbm9iai5kYXRhWzBdLnRvdGFsLmNwdSxqc29ub2JqLmRhdGFbMF0udXNlZC5tZW1vcnksanNvbm9iai5kYXRhWzBdLnRvdGFsLm1lbW9yeSxqc29ub2JqLmRhdGFbMF0udXNlZC5kaXNrLGpzb25vYmouZGF0YVswXS50b3RhbC5kaXNrKTsKKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvcmVzbWdyL3Jlc3QvdjEvcmVzbWFuYWdlL3ZpbS92aW1JbmZvIjsKKyAgICAkLmFqYXgoeworICAgICAgICB0eXBlOiAiR0VUIiwKKyAgICAgICAgdXJsOiByZXF1ZXN0VXJsLAorICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLAorICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgeworICAgICAgICAgICAgcHJpbnRDaGFydHMoanNvbm9iai5kYXRhWzBdLnVzZWQuY3B1LAorICAgICAgICAgICAgICAgIGpzb25vYmouZGF0YVswXS50b3RhbC5jcHUsIGpzb25vYmouZGF0YVswXS51c2VkLm1lbW9yeSwganNvbm9iai5kYXRhWzBdLnRvdGFsLm1lbW9yeSwganNvbm9iai5kYXRhWzBdLnVzZWQuZGlzaywganNvbm9iai5kYXRhWzBdLnRvdGFsLmRpc2spOwogCi0JCX0sCi0JCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKLQkJCWJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgZGF0YSAoaGVyZSBkaXNwbGF5IHRoZSB0ZXN0IGRhdGEpIDogIiArIHhoci5yZXNwb25zZVRleHQpOwotCQkJcHJpbnRDaGFydHMoMTEsMTIsMjEsMjIsMzEsMzIpOwotCQl9Ci0JfSk7CisgICAgICAgIH0sCisgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsKKyAgICAgICAgICAgIGJvb3Rib3guYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgZGF0YSAoaGVyZSBkaXNwbGF5IHRoZSB0ZXN0IGRhdGEpIDogIiArIHhoci5yZXNwb25zZVRleHQpOworICAgICAgICAgICAgcHJpbnRDaGFydHMoMTEsIDEyLCAyMSwgMjIsIDMxLCAzMik7CisgICAgICAgIH0KKyAgICB9KTsKIH0KLWZ1bmN0aW9uIHByaW50Q2hhcnRzKHYxMSx2MTIsdjIxLHYyMix2MzEsdjMyKXsKLQl2YXIgY3B1Q2hhcnQgPSBuZXcgQ2hhcnQoJCgiI2NwdUNoYXJ0IiksIHsKLQkJdHlwZSA6ICdkb3VnaG51dCcsCi0JCWRhdGEgOiB7Ci0JCQlsYWJlbHMgOiBbInVzZWQiLCAiYXZhaWxhYmxlIiBdLAotCQkJZGF0YXNldHMgOiBbIHsKLQkJCQlkYXRhIDogW3YxMSx2MTJdLAotCQkJCWJhY2tncm91bmRDb2xvciA6IFsiI0ZGQ0U1NiIsIiMzNkEyRUIiXSwKLQkJCQlob3ZlckJhY2tncm91bmRDb2xvciA6IFsiI0ZGQ0U1NiIsIiMzNkEyRUIiXQotCQkJfSBdCi0JCX0sCi0JCW9wdGlvbnMgOiB7Ci0JCQlhbmltYXRpb246ewotCQkgICAgICAgIGFuaW1hdGVTY2FsZTp0cnVlLAotCQkgICAgICAgIGFuaW1hdGVSb3RhdGU6dHJ1ZQotCQkgICAgICAgCi0JCSAgICB9Ci0JCX0KLQl9KTsKLQl2YXIgbWVtb3J5Q2hhcnQgPSBuZXcgQ2hhcnQoJCgiI21lbW9yeUNoYXJ0IiksIHsKLQkJdHlwZSA6ICdkb3VnaG51dCcsCi0JCWRhdGEgOiB7Ci0JCQlsYWJlbHMgOiBbICJ1c2VkIiwgImF2YWlsYWJsZSJdLAotCQkJZGF0YXNldHMgOiBbIHsKLQkJCQlkYXRhIDogW3YyMSx2MjJdLAotCQkJCWJhY2tncm91bmRDb2xvciA6IFsgIiNGRjYzODQiLCAiIzM2QTJFQiJdLAotCQkJCWhvdmVyQmFja2dyb3VuZENvbG9yIDogWyAiI0ZGNjM4NCIsICIjMzZBMkVCIl0KLQkJCX0gXQotCQl9LAotCQlvcHRpb25zIDogewotCQkKLQkJCWFuaW1hdGlvbjp7Ci0JCSAgICAgICAgYW5pbWF0ZVNjYWxlOnRydWUsCi0JCSAgICAgICAgYW5pbWF0ZVJvdGF0ZTp0cnVlCi0JCSAgICAgICAKLQkJICAgIH0KLQkJfQotCX0pOwotCXZhciBkaXNrQ2hhcnQgPSBuZXcgQ2hhcnQoJCgiI2Rpc2tDaGFydCIpLCB7Ci0JCXR5cGUgOiAnZG91Z2hudXQnLAotCQlkYXRhIDogewotCQkJbGFiZWxzIDogWyAidXNlZCIsICJhdmFpbGFibGUiXSwKLQkJCWRhdGFzZXRzIDogWyB7Ci0JCQkJZGF0YSA6IFt2MzEsdjMyXSwKLQkJCQliYWNrZ3JvdW5kQ29sb3IgOiBbICIjRkY2Mzg0IiwgICJncmVlbiIgXSwKLQkJCQlob3ZlckJhY2tncm91bmRDb2xvciA6IFsgIiNGRjYzODQiLCAiZ3JlZW4iIF0KLQkJCX0gXQotCQl9LAotCQlvcHRpb25zIDogewotCQkJYW5pbWF0aW9uOnsKLQkJICAgICAgICBhbmltYXRlU2NhbGU6dHJ1ZSwKLQkJICAgICAgICBhbmltYXRlUm90YXRlOnRydWUKLQkJICAgICAgIAotCQkgICAgfQotCQl9Ci0JfSk7CitmdW5jdGlvbiBwcmludENoYXJ0cyh2MTEsIHYxMiwgdjIxLCB2MjIsIHYzMSwgdjMyKSB7CisgICAgdmFyIGNwdUNoYXJ0ID0gbmV3IENoYXJ0KCQoIiNjcHVDaGFydCIpLCB7CisgICAgICAgIHR5cGU6ICdkb3VnaG51dCcsCisgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgIGxhYmVsczogWyJ1c2VkIiwgImF2YWlsYWJsZSJdLAorICAgICAgICAgICAgZGF0YXNldHM6IFt7CisgICAgICAgICAgICAgICAgZGF0YTogW3YxMSwgdjEyXSwKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsiI0ZGQ0U1NiIsICIjMzZBMkVCIl0sCisgICAgICAgICAgICAgICAgaG92ZXJCYWNrZ3JvdW5kQ29sb3I6IFsiI0ZGQ0U1NiIsICIjMzZBMkVCIl0KKyAgICAgICAgICAgIH1dCisgICAgICAgIH0sCisgICAgICAgIG9wdGlvbnM6IHsKKyAgICAgICAgICAgIGFuaW1hdGlvbjogeworICAgICAgICAgICAgICAgIGFuaW1hdGVTY2FsZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICBhbmltYXRlUm90YXRlOiB0cnVlCisKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworICAgIHZhciBtZW1vcnlDaGFydCA9IG5ldyBDaGFydCgkKCIjbWVtb3J5Q2hhcnQiKSwgeworICAgICAgICB0eXBlOiAnZG91Z2hudXQnLAorICAgICAgICBkYXRhOiB7CisgICAgICAgICAgICBsYWJlbHM6IFsidXNlZCIsICJhdmFpbGFibGUiXSwKKyAgICAgICAgICAgIGRhdGFzZXRzOiBbeworICAgICAgICAgICAgICAgIGRhdGE6IFt2MjEsIHYyMl0sCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbIiNGRjYzODQiLCAiIzM2QTJFQiJdLAorICAgICAgICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yOiBbIiNGRjYzODQiLCAiIzM2QTJFQiJdCisgICAgICAgICAgICB9XQorICAgICAgICB9LAorICAgICAgICBvcHRpb25zOiB7CisKKyAgICAgICAgICAgIGFuaW1hdGlvbjogeworICAgICAgICAgICAgICAgIGFuaW1hdGVTY2FsZTogdHJ1ZSwKKyAgICAgICAgICAgICAgICBhbmltYXRlUm90YXRlOiB0cnVlCisKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworICAgIHZhciBkaXNrQ2hhcnQgPSBuZXcgQ2hhcnQoJCgiI2Rpc2tDaGFydCIpLCB7CisgICAgICAgIHR5cGU6ICdkb3VnaG51dCcsCisgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgIGxhYmVsczogWyJ1c2VkIiwgImF2YWlsYWJsZSJdLAorICAgICAgICAgICAgZGF0YXNldHM6IFt7CisgICAgICAgICAgICAgICAgZGF0YTogW3YzMSwgdjMyXSwKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsiI0ZGNjM4NCIsICJncmVlbiJdLAorICAgICAgICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yOiBbIiNGRjYzODQiLCAiZ3JlZW4iXQorICAgICAgICAgICAgfV0KKyAgICAgICAgfSwKKyAgICAgICAgb3B0aW9uczogeworICAgICAgICAgICAgYW5pbWF0aW9uOiB7CisgICAgICAgICAgICAgICAgYW5pbWF0ZVNjYWxlOiB0cnVlLAorICAgICAgICAgICAgICAgIGFuaW1hdGVSb3RhdGU6IHRydWUKKworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CiB9CiAKLSQoZnVuY3Rpb24oKSB7Ci0JbG9hZFZpbURhdGEoKTsKLQkKKyQoZnVuY3Rpb24gKCkgeworICAgIGxvYWRWaW1EYXRhKCk7CisKIH0pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvbG9jYXRpb24uaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L2xvY2F0aW9uLmh0bWwKaW5kZXggYjUxYzE2YS4uMTg3YmVlMyAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvbG9jYXRpb24uaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9sb2NhdGlvbi5odG1sCkBAIC0xLDI2MSArMSwyNjIgQEAKLQogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPGhlYWQgbGFuZz0iZW4iPgotPG1ldGEgY2hhcnNldD0iVVRGLTgiPgotPHRpdGxlPjwvdGl0bGU+Ci08bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLTxsaW5rIGhyZWY9ImNzcy9WTU1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci08bGluayBocmVmPSJjc3MvcmVzbWdyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgotPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+CisgICAgPGhlYWQgbGFuZz0iZW4iPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgICAgIDx0aXRsZT48L3RpdGxlPgorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgorICAgICAgICA8bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9yZXNtZ3IuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KIAotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LTEuMTEuMi5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3Rib3gubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS52YWxpZGF0ZS5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdmFsaWRhdGVzZXQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdGJveC5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnkudmFsaWRhdGUubWluLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvdmFsaWRhdGVzZXQuanMiPjwvc2NyaXB0PgogCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXNtZ3IuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXNtZ3IuanMiPjwvc2NyaXB0PgogCi08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotPC9zdHlsZT4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLQkkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKLS8qIAkJdmFyIGpzb25kYXRhID0gW3sKLQkJCSJpZCI6ICIxMjMiLAotCQkJImNvdW50cnkiOiAiQ2hpbmEiLAotICAgICAgICAgICAibG9jYXRpb24iOiAiWGknYW4iLAotICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiZGVzY3JpcHRpb24iLAotCQkJImxhdGl0dWRlIjogIjIzIiwKLQkJCSJsb25naXR1ZGUiOiAiMTgwIgotICAgICAgICAgIH0sewotICAgICAgICAJICAiaWQiOiAiMTIzNCIsCi0gICAgICAgIAkgICJjb3VudHJ5IjogIkFtZXJpY2F4eCIsCi0gICAgICAgICAgICAibG9jYXRpb24iOiAiYWRkcmVzc1hYWHh4IiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJ4eHh4eCIsCi0gCQkJImxhdGl0dWRlIjogInh4eHgiLAotIAkJCSJsb25naXR1ZGUiOiAieHh4eCIKLSAgICAgICAgICAgfV07CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAvKiAJCXZhciBqc29uZGF0YSA9IFt7CisgICAgICAgICAgICAgICAgICJpZCI6ICIxMjMiLAorICAgICAgICAgICAgICAgICAiY291bnRyeSI6ICJDaGluYSIsCisgICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6ICJYaSdhbiIsCisgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJkZXNjcmlwdGlvbiIsCisgICAgICAgICAgICAgICAgICJsYXRpdHVkZSI6ICIyMyIsCisgICAgICAgICAgICAgICAgICJsb25naXR1ZGUiOiAiMTgwIgorICAgICAgICAgICAgICAgICB9LHsKKyAgICAgICAgICAgICAgICAgImlkIjogIjEyMzQiLAorICAgICAgICAgICAgICAgICAiY291bnRyeSI6ICJBbWVyaWNheHgiLAorICAgICAgICAgICAgICAgICAibG9jYXRpb24iOiAiYWRkcmVzc1hYWHh4IiwKKyAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogInh4eHh4IiwKKyAgICAgICAgICAgICAgICAgImxhdGl0dWRlIjogInh4eHgiLAorICAgICAgICAgICAgICAgICAibG9uZ2l0dWRlIjogInh4eHgiCisgICAgICAgICAgICAgICAgIH1dOwogCi0JCSQoJyNsb2NhdGlvbl90YWJsZScpLmJvb3RzdHJhcFRhYmxlKHsKLQkJLy9Bc3NpZ25pbmcgZXhhbXBsZSBkYXRhIHRvIHRhYmxlCi0JCQlkYXRhOiBqc29uZGF0YQotCQl9KTsgKi8KLQkJCi0JCWxvYWRMb2NhdGlvbkRhdGEoKTsKLQl9KTsKKyAgICAgICAgICAgICAgICAgJCgnI2xvY2F0aW9uX3RhYmxlJykuYm9vdHN0cmFwVGFibGUoeworICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBleGFtcGxlIGRhdGEgdG8gdGFibGUKKyAgICAgICAgICAgICAgICAgZGF0YToganNvbmRhdGEKKyAgICAgICAgICAgICAgICAgfSk7ICovCiAKLQlmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7Ci0JCXJldHVybiBbICc8aW1nIGNsYXNzPSJsb2NhdGlvbkVkaXRJbWciIHNyYz0iaW1hZ2VzL2VkaXQucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9ImVkaXQiIHRpdGxlPSJFZGl0IiAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxpbWcgY2xhc3M9ImxvY2F0aW9uRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicgXQotCQkJCS5qb2luKCcnKTsKKyAgICAgICAgICAgICAgICBsb2FkTG9jYXRpb25EYXRhKCk7CisgICAgICAgICAgICB9KTsKIAotCX0KLQl3aW5kb3cub3BlcmF0ZUV2ZW50cyA9IHsKLQkJJ2NsaWNrIC5sb2NhdGlvbkRlbGV0ZUltZycgOiBmdW5jdGlvbihlLCB2YWx1ZSwgcm93LCBpbmRleCkgewotCQkJZGVsZXRlTG9jYXRpb24ocm93LmlkKTsKLQkJCWNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsKLQkJfSwKLQkJJ2NsaWNrIC5sb2NhdGlvbkVkaXRJbWcnIDogZnVuY3Rpb24oZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsKLQkJCWVkaXRMb2NhdGlvbihyb3cpOwotCQkJY29uc29sZS5sb2codmFsdWUsIHJvdywgaW5kZXgpOwotCQl9Ci0JfTsKLQkKLQkKLTwvc2NyaXB0PgotPC9oZWFkPgorICAgICAgICAgICAgZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgeworICAgICAgICAgICAgICAgIHJldHVybiBbJzxpbWcgY2xhc3M9ImxvY2F0aW9uRWRpdEltZyIgc3JjPSJpbWFnZXMvZWRpdC5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgc3R5bGU9ImN1cnNvcjogcG9pbnRlciIgbmFtZT0iZWRpdCIgdGl0bGU9IkVkaXQiIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGltZyBjbGFzcz0ibG9jYXRpb25EZWxldGVJbWciIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgc3R5bGU9ImN1cnNvcjogcG9pbnRlciIgbmFtZT0idGl0bGUiIHRpdGxlPSJEZWxldGUiIC8+J10KKyAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKCcnKTsKKworICAgICAgICAgICAgfQorICAgICAgICAgICAgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7CisgICAgICAgICAgICAgICAgJ2NsaWNrIC5sb2NhdGlvbkRlbGV0ZUltZyc6IGZ1bmN0aW9uIChlLCB2YWx1ZSwgcm93LCBpbmRleCkgeworICAgICAgICAgICAgICAgICAgICBkZWxldGVMb2NhdGlvbihyb3cuaWQpOworICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSwgcm93LCBpbmRleCk7CisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAnY2xpY2sgLmxvY2F0aW9uRWRpdEltZyc6IGZ1bmN0aW9uIChlLCB2YWx1ZSwgcm93LCBpbmRleCkgeworICAgICAgICAgICAgICAgICAgICBlZGl0TG9jYXRpb24ocm93KTsKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codmFsdWUsIHJvdywgaW5kZXgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CisKKworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CiA8Ym9keSBpZD0ib3Blbl9iYXNlX3NpdGVfY290ZW50Qm9keSIgY2xhc3M9ImNvdGVudEJvZHkgbmctc2NvcGUiPgotCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4KLTwhLS0gYnV0dG9uIGFyZWEgLS0+Ci0JCTxkaXYgY2xhc3M9InVwbG9hZEJ0biI+Ci0JCQk8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX3VzZXJIZWFkZXIiIGNsYXNzPSJ1c2VySGVhZGVyIj4KLQkJCQk8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX2J1dHRvbkdyb3VwIgotCQkJCQljbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyI+Ci0JCQkJCTxkaXYKLQkJCQkJCWNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiCi0JCQkJCQl0YWJpbmRleD0iMCIgaWQ9ImZhbHNlIiB0ZXh0PSJyZXMuYnJBcHBfdWlfcmVzX2J0bl9jcmVhdGUiCi0JCQkJCQlpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyIgY2xzPSJkZWZhdWx0YnV0dG9uIiBjbGljaz0iY2xpY2tBZGQiCi0JCQkJCQlzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+Ci0JCQkJCQk8ZGl2Ci0JCQkJCQkJY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbklubmVyQ2xhc3Mgb3Blbm8tY29ybmVyLWFsbCBvcGVub0J1dHRvbl9JbWFnZSIKLQkJCQkJCQlpZD0iZmFsc2VfYnV0dG9uIj4KKzxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4KKyAgICA8IS0tIGJ1dHRvbiBhcmVhIC0tPgorICAgIDxkaXYgY2xhc3M9InVwbG9hZEJ0biI+CisgICAgICAgIDxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIKKyAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPgorICAgICAgICAgICAgICAgIDxkaXYKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiCisgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD0iMCIgaWQ9ImZhbHNlIiB0ZXh0PSJyZXMuYnJBcHBfdWlfcmVzX2J0bl9jcmVhdGUiCisgICAgICAgICAgICAgICAgICAgICAgICBpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyIgY2xzPSJkZWZhdWx0YnV0dG9uIiBjbGljaz0iY2xpY2tBZGQiCisgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+CisgICAgICAgICAgICAgICAgICAgIDxkaXYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIG9wZW5vQnV0dG9uX0ltYWdlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJmYWxzZV9idXR0b24iPgogCQkJCQkJCTxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciCi0JCQkJCQkJCXN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuCi0JCQkJCQkJCWNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5BZGQgTG9jYXRpb248L3NwYW4+PHNwYW4KLQkJCQkJCQkJY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPgotCQkJCQkJPC9kaXY+Ci0JCQkJCTwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgb3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dEZvbnQiPkFkZCBMb2NhdGlvbjwvc3Bhbj48c3BhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+CiAKIAotCQkJCQk8ZGl2Ci0JCQkJCQljbGFzcz0ib3Blbm8gb3Blbm8td2lkZ2V0LWJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQgbmctaXNvbGF0ZS1zY29wZSBvcGVub0J1dHRvbl9idXR0b25DbGFzcyB1bmRlZmluZWQgb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiCi0JCQkJCQl0YWJpbmRleD0iMCIgaWQ9Im1lRWRpdCIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fZWRpdCIKLQkJCQkJCWRpc3BsYXk9ImZhbHNlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgotCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIgotCQkJCQkJCWlkPSJtZUVkaXRfYnV0dG9uIj4KKyAgICAgICAgICAgICAgICA8ZGl2CisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8gb3Blbm8td2lkZ2V0LWJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQgbmctaXNvbGF0ZS1zY29wZSBvcGVub0J1dHRvbl9idXR0b25DbGFzcyB1bmRlZmluZWQgb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiCisgICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD0iMCIgaWQ9Im1lRWRpdCIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fZWRpdCIKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk9ImZhbHNlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwiCisgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9Im1lRWRpdF9idXR0b24iPgogCQkJCQkJCTxzcGFuCi0JCQkJCQkJCWNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj48c3BhbgotCQkJCQkJCQljbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+RWRpdDwvc3Bhbj48c3BhbgotCQkJCQkJCQljbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25JbWdEZWZhdWx0Ij48L3NwYW4+Ci0JCQkJCQk8L2Rpdj4KLQkJCQkJPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25JbWdEZWZhdWx0Ij48L3NwYW4+PHNwYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+RWRpdDwvc3Bhbj48c3BhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+CiAKLQkJCQk8L2Rpdj4KLQkJCTwvZGl2PgotCQk8L2Rpdj4KLQkJPCEtLSB0YWJsZSBhcmVhIC0tPgotCQk8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+Ci0JCQk8ZGl2IGlkPSdpY3RfdmlydHVhbEFwcGxpY2F0aW9uX3RhYmxlX2Rpdic+Ci0JCQkJPGRpdj4KLQkJCQkJPGRpdiBjbGFzcz0idG9wIj4KLQkJCQkJCTx0YWJsZSBpZD0ibG9jYXRpb25fdGFibGUiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiCi0JCQkJCQkJZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IgotCQkJCQkJCWRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiCi0JCQkJCQkJZGF0YS1wYWdpbmF0aW9uLW5leHQtdGV4dD0iTmV4dCIgZGF0YS1wYWdpbmF0aW9uLWxhc3QtdGV4dD0iTGFzdCI+Ci0JCQkJCQkJPHRoZWFkPgotCQkJCQkJCQk8dHIgY2xhc3M9ImFjdGl2ZSI+Ci0JCQkJCQkJCQk8dGggZGF0YS1maWVsZD0iaWQiIGRhdGEtc29ydGFibGU9InRydWUiPklkPC90aD4KLQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJjb3VudHJ5IiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5Db3VudHJ5PC90aD4KLQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJsb2NhdGlvbiIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TG9jYXRpb248L3RoPgotCQkJCQkJCQkJPHRoIGRhdGEtZmllbGQ9ImRlc2NyaXB0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5EZXNjcmlwdGlvbjwvdGg+Ci0JCQkJCQkJCQk8dGggZGF0YS1maWVsZD0ibGF0aXR1ZGUiIGRhdGEtc29ydGFibGU9InRydWUiPkxhdGl0dWRlPC90aD4KLQkJCQkJCQkJCTx0aCBkYXRhLWZpZWxkPSJsb25naXR1ZGUiIGRhdGEtc29ydGFibGU9InRydWUiPkxvbmdpdHVkZTwvdGg+Ci0JCQkJCQkJCQk8dGggYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXI9Im9wZXJhdGVGb3JtYXR0ZXIiCi0JCQkJCQkJCQkJZGF0YS1ldmVudHM9Im9wZXJhdGVFdmVudHMiPkFjdGlvbjwvdGg+Ci0JCQkJCQkJCTwvdHI+Ci0JCQkJCQkJPC90aGVhZD4KLQkJCQkJCTwvdGFibGU+Ci0JCQkJCTwvZGl2PgotCQkJCTwvZGl2PgotCQkJPC9kaXY+Ci0JCTwvZGl2PgotCQk8IS0tIG1vZGFsIGRpYWxvZyBhcmVhIC0tPgotCQk8ZGl2IGlkPSJ2bUFwcERpYWxvZyIgY2xhc3M9Im1vZGFsIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIgotCQkJYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+Ci0JCQk8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPgotCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPgotCQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50Ij4KLQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+Ci0JCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIKLQkJCQkJCQkJYXJpYS1oaWRkZW49InRydWUiPsOXPC9idXR0b24+Ci0JCQkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im15TW9kYWxMYWJlbCI+Ci0JCQkJCQkJCTxzcGFuPkFkZCBMb2NhdGlvbjwvc3Bhbj4KLQkJCQkJCQk8L2g0PgotCQkJCQkJPC9kaXY+Ci0JCQkJCQk8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiByb2xlPSJmb3JtIiBpZD0idm1BcHBGb3JtIj4KLQkJCQkJCQk8ZGl2IGlkPSJ3aXphcmQiPgotCQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KLQkJCQkJCQkJCTx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtanVzdGlmaWVkIHZtYXBwLW1hcmdpbiI+Ci0JCQkJCQkJCQk8L3VsPgotCQkJCQkJCQkJPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgotCQkJCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgotCQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+SWQ8L3NwYW4+Ci0JCQkJCQkJCQkJCQk8L2xhYmVsPgotCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPgotCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaWQiIG5hbWU9ImlkIgotCQkJCQkJCQkJCQkJCQljbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iaWQiIC8+Ci0JCQkJCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgotCQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+Q291bnRyeTwvc3Bhbj4KLQkJCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+Ci0JCQkJCQkJCQkJCQk8L2xhYmVsPgotCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPgotCQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY291bnRyeSIgbmFtZT0iY291bnRyeSIKLQkJCQkJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkNvdW50cnkiIC8+Ci0JCQkJCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgotCQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4gPHNwYW4+TG9jYXRpb248L3NwYW4+Ci0JCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPgotCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4KLQkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImxvY2F0aW9uIiBuYW1lPSJsb2NhdGlvbiIKLQkJCQkJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkxvY2F0aW9uIiAvPgotCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KLQkJCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkxhdGl0dWRlPC9zcGFuPgotCQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4KLQkJCQkJCQkJCQkJCTwvbGFiZWw+Ci0JCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+Ci0JCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJsYXRpdHVkZSIgbmFtZT0ibGF0aXR1ZGUiCi0JCQkJCQkJCQkJCQkJCWNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJMYXRpdHVkZSIgLz4KLQkJCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+Ci0JCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5Mb25naXR1ZGU8L3NwYW4+Ci0JCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPgotCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4KLQkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImxvbmdpdHVkZSIgbmFtZT0ibG9uZ2l0dWRlIgotCQkJCQkJCQkJCQkJCQljbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iTG9uZ2l0dWRlIiAvPgotCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KLQkJCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkRlc2NyaXB0aW9uPC9zcGFuPgotCQkJCQkJCQkJCQkJCSZuYnNwOyZuYnNwOwotCQkJCQkJCQkJCQkJPC9sYWJlbD4KLQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4KLQkJCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRlc2NyaXB0aW9uIiBuYW1lPSJkZXNjcmlwdGlvbiIKLQkJCQkJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkRlc2NyaXB0aW9uIiAvPgotCQkJCQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCQkJCTwvZGl2PgotCQkJCQkJCQkJCTwvZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDwhLS0gdGFibGUgYXJlYSAtLT4KKyAgICA8ZGl2IGNsYXNzPSJyb3ctZmx1aWQiIGRhdGEtbmFtZT0idGFibGVfem9uZSI+CisgICAgICAgIDxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4KKyAgICAgICAgICAgIDxkaXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wIj4KKyAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJsb2NhdGlvbl90YWJsZSIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iYWN0aXZlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0iaWQiIGRhdGEtc29ydGFibGU9InRydWUiPklkPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0iY291bnRyeSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+Q291bnRyeTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImxvY2F0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5Mb2NhdGlvbjwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImRlc2NyaXB0aW9uIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5EZXNjcmlwdGlvbjwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImxhdGl0dWRlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5MYXRpdHVkZTwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9ImxvbmdpdHVkZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TG9uZ2l0dWRlPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXI9Im9wZXJhdGVGb3JtYXR0ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZXZlbnRzPSJvcGVyYXRlRXZlbnRzIj5BY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPgorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPCEtLSBtb2RhbCBkaWFsb2cgYXJlYSAtLT4KKyAgICA8ZGl2IGlkPSJ2bUFwcERpYWxvZyIgY2xhc3M9Im1vZGFsIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIgorICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+CisgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7DlworICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CisgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5BZGQgTG9jYXRpb248L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2g0PgorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9InZtQXBwRm9ybSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3aXphcmQiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJiYXNpY1RhYiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5JZDwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJpZCIgbmFtZT0iaWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9ImlkIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5Db3VudHJ5PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImNvdW50cnkiIG5hbWU9ImNvdW50cnkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkNvdW50cnkiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkxvY2F0aW9uPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImxvY2F0aW9uIiBuYW1lPSJsb2NhdGlvbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iTG9jYXRpb24iLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkxhdGl0dWRlPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImxhdGl0dWRlIiBuYW1lPSJsYXRpdHVkZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iTGF0aXR1ZGUiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+IDxzcGFuPkxvbmdpdHVkZTwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJsb25naXR1ZGUiIG5hbWU9ImxvbmdpdHVkZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iTG9uZ2l0dWRlIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPiA8c3Bhbj5EZXNjcmlwdGlvbjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRlc2NyaXB0aW9uIiBuYW1lPSJkZXNjcmlwdGlvbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iRGVzY3JpcHRpb24iLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KIAogCi0JCQkJCQkJCQk8L2Rpdj4KLQkJCQkJCQkJPC9kaXY+Ci0JCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+Ci0JCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBTREJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIKLQkJCQkJCQkJCQlhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9ImNyZWF0ZUxvY2F0aW9uIj4KLQkJCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPgotCQkJCQkJCQkJPC9idXR0b24+Ci0JCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPgotCQkJCQkJCQkJCTxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+Ci0JCQkJCQkJCQk8L2J1dHRvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gU0RCdG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiIGlkPSJjcmVhdGVMb2NhdGlvbiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnV0dG9uLXByZXZpb3VzIFNEQnRuIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogCi0JCQkJCQkJCTwvZGl2PgotCQkJCQkJCTwvZGl2PgotCQkJCQkJPC9mb3JtPgotCQkJCQk8L2Rpdj4KLQkJCQk8L2Rpdj4KLQkJCTwvZGl2PgotCQk8L2Rpdj4KLQk8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KIAogPCEtLSBvdGhlcnMgLS0+Ci0JPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiCi0JCWNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiCi0JCXN0eWxlPSJ3aWR0aDogMTU1cHg7IG1heC1oZWlnaHQ6IDEzMHB4OyBsZWZ0OiA2MjhweDsgdG9wOiAxMDRweDsgei1pbmRleDogMTc2MTsiPgotCQk8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIgotCQkJaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPgotCQkJPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyBvcGVuby1zZWxlY3QtYmxhbmstaXRlbSIKLQkJCQlzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPgotCQk8L2Rpdj4KLQkJPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIKLQkJCWlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8xIj4KLQkJCTxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIgotCQkJCXN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkVUSDwvbGFiZWw+Ci0JCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIgotCQkJaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzIiPgotCQkJPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiCi0JCQkJc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD4KLQkJPC9kaXY+Ci0JCTxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiCi0JCQlpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+Ci0JCQk8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIKLQkJCQlzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+Ci0JCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIgotCQkJaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzQiPgotCQkJPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiCi0JCQkJc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+TG9vcGJhY2s8L2xhYmVsPgotCQk8L2Rpdj4KLQk8L2Rpdj4KKzxkaXYgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyIgorICAgICBjbGFzcz0ib3Blbm8gb3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciBvcGVuby1oaWRlIgorICAgICBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij4KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIgorICAgICAgICAgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPgorICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzIG9wZW5vLXNlbGVjdC1ibGFuay1pdGVtIgorICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+PC9sYWJlbD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIgorICAgICAgICAgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzEiPgorICAgICAgICA8bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIKKyAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkVUSDwvbGFiZWw+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIKKyAgICAgICAgIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8yIj4KKyAgICAgICAgPGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiCisgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7IiB0aXRsZT0iUE9TIj5QT1M8L2xhYmVsPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiCisgICAgICAgICBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+CisgICAgICAgIDxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIgorICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+VHJ1bms8L2xhYmVsPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiCisgICAgICAgICBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfNCI+CisgICAgICAgIDxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIgorICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+TG9vcGJhY2s8L2xhYmVsPgorICAgIDwvZGl2PgorPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvcmVzb3VyY2UuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L3Jlc291cmNlLmh0bWwKaW5kZXggNzAyMDYxYS4uMTE2OTkwZCAxMDA2NDQKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1uZnYvcmVzb3VyY2UuaHRtbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi9yZXNvdXJjZS5odG1sCkBAIC0xLDU5ICsxLDU5IEBACiA8IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+PC90aXRsZT4KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLQk8bGluayBocmVmPSJjc3MvUk1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgIDx0aXRsZT48L3RpdGxlPgorICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgaHJlZj0iY3NzL1JNYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LTEuMTEuMi5taW4uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICQoZnVuY3Rpb24oKXsKLSAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyJykuY2xpY2soZnVuY3Rpb24oKXsKKyAgICAkKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyJykuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwnKS5zbGlkZVRvZ2dsZSg1MDApOwogICAgICAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCcpLnRvZ2dsZUNsYXNzKCdjdXJyZW50JykKICAgICAgICAgfSk7Ci0gICAgICAgICQoJy5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUnKS5jbGljayhmdW5jdGlvbigpeworICAgICAgICAkKCcub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlJykuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgLy8gJCgnI29wZW5fYmFzZV9vcGVubycpLmNzcygnbWFyZ2luLWxlZnQnLCctMjAwcHgnKTsKICAgICAgICAgICAgIC8vICQoJyNvcGVuX2Jhc2Vfb3Blbm8nKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7CiAgICAgICAgICAgICAvLyAkKCcuYmFyJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsKLSAgICAgICAgICAgIGlmKCQoJyNhY2NvcmRpb25tZW51aWQnKS53aWR0aCgpID49IDIwMCl7CisgICAgICAgICAgICBpZiAoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPj0gMjAwKSB7CiAgICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCcxOHB4Jyk7Ci0gICAgICAgICAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyLCNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpIGEnKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7Ci0gICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF9hcnJvdycpLmF0dHIoJ2NsYXNzbmFtZScsJ29wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfc2hvdycpOwotICAgICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywnMTI4NHB4Jyk7ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgfWVsc2UgaWYoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPT0gMTgpeworICAgICAgICAgICAgICAgICQoJy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQsLmhlYWRlciwjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTCBsaSBhJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKKyAgICAgICAgICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX2Fycm93JykuYXR0cignY2xhc3NuYW1lJywgJ29wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfc2hvdycpOworICAgICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywgJzEyODRweCcpOworICAgICAgICAgICAgfSBlbHNlIGlmICgkKCcjYWNjb3JkaW9ubWVudWlkJykud2lkdGgoKSA9PSAxOCkgewogICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWQnKS53aWR0aCgnMjIwcHgnKTsKLSAgICAgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLC5oZWFkZXIsI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgYScpLmNzcygnZGlzcGxheScsJ2Jsb2NrJyk7Ci0gICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF9hcnJvdycpLmF0dHIoJ2NsYXNzbmFtZScsJ29wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZScpOwotICAgICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywnMTA2M3B4Jyk7CisgICAgICAgICAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyLCNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpIGEnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTsKKyAgICAgICAgICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX2Fycm93JykuYXR0cignY2xhc3NuYW1lJywgJ29wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZScpOworICAgICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywgJzEwNjNweCcpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgfSk7Ci0gICAgICAgICQoJy5iYXIgc3BhbicpLmNsaWNrKGZ1bmN0aW9uKCl7Ci0gICAgICAgICAgICAkKCcjb3Blbl9iYXNlX29wZW5vJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsKLSAgICAgICAgICAgICQoJy5iYXInKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7Ci0gICAgICAgICAgICAgJCgnI2lmcmFtZUNvbnRhaW5lcicpLmNzcygnd2lkdGgnLCcxMDYzcHgnKTsKKyAgICAgICAgJCgnLmJhciBzcGFuJykuY2xpY2soZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgJCgnI29wZW5fYmFzZV9vcGVubycpLmNzcygnZGlzcGxheScsICdibG9jaycpOworICAgICAgICAgICAgJCgnLmJhcicpLmNzcygnZGlzcGxheScsICdub25lJyk7CisgICAgICAgICAgICAkKCcjaWZyYW1lQ29udGFpbmVyJykuY3NzKCd3aWR0aCcsICcxMDYzcHgnKTsKICAgICAgICAgfSk7Ci0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpJykuY2xpY2soZnVuY3Rpb24oKXsKKyAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGknKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdvcGVub19hY2NvcmRpb25fc2VsZWN0ZWQnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdvcGVub19hY2NvcmRpb25fc2VsZWN0ZWQnKTsKICAgICAgICAgfSk7Ci0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMF9ickFwcFNpdGVNZW51SUQnKS5jbGljayhmdW5jdGlvbigpewotICAgICAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCdsb2NhdGlvbi5odG1sJyk7CisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMF9ickFwcFNpdGVNZW51SUQnKS5jbGljayhmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsICdsb2NhdGlvbi5odG1sJyk7CiAgICAgICAgIH0pOwotICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzFfYnJBcHBNZU1lbnVJRCcpLmNsaWNrKGZ1bmN0aW9uKCl7Ci0gICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsJ3ZpbS5odG1sJyk7CisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMV9ickFwcE1lTWVudUlEJykuY2xpY2soZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCAndmltLmh0bWwnKTsKICAgICAgICAgfSk7Ci0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMl9ickFwcFRwTWVudUlEJykuY2xpY2soZnVuY3Rpb24oKXsKLSAgICAgICAgICAgICQoJyNhY2NvcmRpb25Db250ZW50JykuYXR0cignc3JjJywnZGF0YWNlbnRlci5odG1sJyk7CisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMl9ickFwcFRwTWVudUlEJykuY2xpY2soZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCAnZGF0YWNlbnRlci5odG1sJyk7CiAgICAgICAgIH0pOwotICAgICAgICAKLSAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCdsb2NhdGlvbi5odG1sJyk7CisKKyAgICAgICAgJCgnI2FjY29yZGlvbkNvbnRlbnQnKS5hdHRyKCdzcmMnLCAnbG9jYXRpb24uaHRtbCcpOwogICAgIH0pCiA8L3NjcmlwdD4KIDxib2R5PgotICAgIDxkaXYgaWQ9ImZlYkRpdiIgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47Ij4KKzxkaXYgaWQ9ImZlYkRpdiIgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47Ij4KICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfZmViIj4KICAgICAgICAgPCEtLXVzZSBmb3Igc3RvcmUgbWVudSBjb21lIGZyb20gZmViIHNlcnZpY2UsIG1heWJlIGp1c3QgYSB0ZW1wbGUgcGxhbi0tPgogICAgICAgICA8ZGl2IGlkPSJhcHAiPgpAQCAtNjYsMjggKzY2LDM4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0ib3Blbl9iYXNlX29wZW5vIiBjbGFzcz0idGhyZWUtY29scy1jb2x1bW4gdGhyZWUtY29scy1sZWZ0Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJhY2NvcmRpb25tZW51aWQiIGFsbG93LXJlc2l6ZT0idHJ1ZSIgZGF0YXNldD0iZGF0YUFyciIgaGVpZ2h0PSJyZXNIZWlnaHQiIGxpc3RlbmVycz0iY2FsbEJhY2tsaXN0ZW5lcnMiIHJlc2l6ZS1jYWxsYmFjaz0icmVzaXplaGFuZGxlciIgY3VycmVudC1zZWxlY3Q9ImN1cnJlbnRzZWxlY3QiIGNsaWNrPSJjbGlja0hhbmRsZXIiIGNsYXNzPSJuZy1pc29sYXRlLXNjb3BlIGFjY29yZGlvbl9wYXJlbnQgb3Blbm9fYWNjb3JkaW9uX21haW5fbWVudSIgc3R5bGU9ImhlaWdodDogODcwcHg7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJhY2NvcmRpb25tZW51aWQiIGFsbG93LXJlc2l6ZT0idHJ1ZSIgZGF0YXNldD0iZGF0YUFyciIgaGVpZ2h0PSJyZXNIZWlnaHQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcnM9ImNhbGxCYWNrbGlzdGVuZXJzIiByZXNpemUtY2FsbGJhY2s9InJlc2l6ZWhhbmRsZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LXNlbGVjdD0iY3VycmVudHNlbGVjdCIgY2xpY2s9ImNsaWNrSGFuZGxlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJuZy1pc29sYXRlLXNjb3BlIGFjY29yZGlvbl9wYXJlbnQgb3Blbm9fYWNjb3JkaW9uX21haW5fbWVudSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6IDg3MHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIiBzdHlsZT0iY3Vyc29yOiBhdXRvOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0iYWNjb3JkaW9ubWVudWlkX3VsIiBjbGFzcz0ib3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SUQiIG5vZGVpZD0iYnJBcHBUb3BNZW51SUQiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJvcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDIwcHg7IGhlaWdodDogNjBweDtjdXJzb3I6IHBvaW50ZXI7Ij48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZSIgaWQ9ImFjY29yZGlvbm1lbnVpZF9hcnJvdyIgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iYnJBcHAiIGNsYXNzPSJoZWFkZXIgb3BlbmVkIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7Ij5SZXNvdXJjZTwvYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDIwcHg7IGhlaWdodDogNjBweDtjdXJzb3I6IHBvaW50ZXI7Ij48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZSIgaWQ9ImFjY29yZGlvbm1lbnVpZF9hcnJvdyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJickFwcCIgY2xhc3M9ImhlYWRlciBvcGVuZWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogMTBweDsgY3Vyc29yOiBwb2ludGVyOyI+UmVzb3VyY2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMF9ickFwcFNpdGVNZW51SUQiIG5vZGVpZD0iYnJBcHBTaXRlTWVudUlEIiBjbGFzcz0iIiBzdHlsZT0iZGlzcGxheTogbGlzdC1pdGVtOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzBfYnJBcHBTaXRlTWVudUlEIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWlkPSJickFwcFNpdGVNZW51SUQiIGNsYXNzPSIiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSLngrnlh7vorr/pl67nq5nngrkiIGNsYXNzPSIiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5Mb2NhdGlvbjwvYT4KLQkJCQkJCQkJCQkJPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMV9ickFwcE1lTWVudUlEIiBub2RlaWQ9ImJyQXBwTWVNZW51SUQiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0i54K55Ye76K6/6Zeu572R5YWDIiBzdHlsZT0icGFkZGluZy1sZWZ0OiA2MnB4OyI+VmltPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8yX2JyQXBwVHBNZW51SUQiIG5vZGVpZD0iYnJBcHBUcE1lbnVJRCIgc3R5bGU9ImRpc3BsYXk6IGxpc3QtaXRlbTsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSLngrnlh7vorr/pl67nq6/lj6MiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5EYXRhQ2VudGVyPC9hPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8xX2JyQXBwTWVNZW51SUQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaWQ9ImJyQXBwTWVNZW51SUQiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSLngrnlh7vorr/pl67nvZHlhYMiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5WaW08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzJfYnJBcHBUcE1lbnVJRCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVpZD0iYnJBcHBUcE1lbnVJRCIgc3R5bGU9ImRpc3BsYXk6IGxpc3QtaXRlbTsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IueCueWHu+iuv+mXruerr+WPoyIgc3R5bGU9InBhZGRpbmctbGVmdDogNjJweDsiPkRhdGFDZW50ZXI8L2E+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CisKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLQkJCQkJCQk8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9Im9wZW5fYmFzZV9pZnJhbWUiIGNsYXNzPSJ0aHJlZS1jb2xzLWNvbHVtbiB0aHJlZS1jb2xzLWNlbnRlciIgc3R5bGU9InBhZGRpbmc6IDBweDsiPgogCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLW5mdi92aW0uaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L3ZpbS5odG1sCmluZGV4IDMxODc5ZTEuLmQ0Njk3ZGEgMTAwNjQ0Ci0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L3ZpbS5odG1sCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3ItbmZ2L3ZpbS5odG1sCkBAIC0xLDUyICsxLDUyIEBACi0KIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxoZWFkIGxhbmc9ImVuIj4KLTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KLTx0aXRsZT48L3RpdGxlPgotPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci08bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgotPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+CisgICAgPGhlYWQgbGFuZz0iZW4iPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgICAgIDx0aXRsZT48L3RpdGxlPgorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgorICAgICAgICA8bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAtdGFibGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+CiAKLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290Ym94Lm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnkudmFsaWRhdGUubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2NoYXJ0Lm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC10YWJsZS5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290Ym94Lm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS52YWxpZGF0ZS5taW4uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9jaGFydC5taW4uanMiPjwvc2NyaXB0PgogCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy92aW0uanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy92aW0uanMiPjwvc2NyaXB0PgogCi08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotPC9zdHlsZT4KKyAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgICAgPC9zdHlsZT4KIAotPC9oZWFkPgorICAgIDwvaGVhZD4KIDxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+CiAKLQk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+Ci0JPGJyPgotCTxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxOHB4Ij5yZXNvdXJjZSB1c2luZyBzdGF0dXM6PC9kaXY+Ci0JPGhyPgotCQk8IS0tIGNoYXJ0IGFyZWEgLS0+Ci0JCTxkaXYgc3R5bGU9IndpZHRoOjMwJTtmbG9hdDogbGVmdDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OiBpbmxpbmUiPgotCQkJPGNhbnZhcyBpZD0iY3B1Q2hhcnQiID48L2NhbnZhcz48YnI+Ci0JCQk8bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4OyI+Q3B1IHN0YXR1czwvbGFiZWw+Ci0JCTwvZGl2PgotCQk8ZGl2IHN0eWxlPSJ3aWR0aDozMCU7ZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTogaW5saW5lIj4KLQkJCTxjYW52YXMgaWQ9Im1lbW9yeUNoYXJ0IiA+PC9jYW52YXM+Ci0JCQk8YnI+Ci0JCQk8bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4OyI+TWVtb3J5IHN0YXR1czwvbGFiZWw+Ci0JCTwvZGl2PgotCQk8ZGl2IHN0eWxlPSJ3aWR0aDozMCU7ZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTogaW5saW5lIj4KLQkJCTxjYW52YXMgaWQ9ImRpc2tDaGFydCIgPjwvY2FudmFzPjxicj4KLQkJCTxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Ij5EaXNrIHN0YXR1czwvbGFiZWw+Ci0JCTwvZGl2PgotCQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cis8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+CisgICAgPGJyPgorICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxOHB4Ij5yZXNvdXJjZSB1c2luZyBzdGF0dXM6PC9kaXY+CisgICAgPGhyPgorICAgIDwhLS0gY2hhcnQgYXJlYSAtLT4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDozMCU7ZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTogaW5saW5lIj4KKyAgICAgICAgPGNhbnZhcyBpZD0iY3B1Q2hhcnQiPjwvY2FudmFzPgorICAgICAgICA8YnI+CisgICAgICAgIDxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Ij5DcHUgc3RhdHVzPC9sYWJlbD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDozMCU7ZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTogaW5saW5lIj4KKyAgICAgICAgPGNhbnZhcyBpZD0ibWVtb3J5Q2hhcnQiPjwvY2FudmFzPgorICAgICAgICA8YnI+CisgICAgICAgIDxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Ij5NZW1vcnkgc3RhdHVzPC9sYWJlbD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDozMCU7ZmxvYXQ6IGxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTogaW5saW5lIj4KKyAgICAgICAgPGNhbnZhcyBpZD0iZGlza0NoYXJ0Ij48L2NhbnZhcz4KKyAgICAgICAgPGJyPgorICAgICAgICA8bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4OyI+RGlzayBzdGF0dXM8L2xhYmVsPgorICAgIDwvZGl2PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KIAogCi0JCQkKLQkJPC9zY3JpcHQ+Ci0JPC9kaXY+CisgICAgPC9zY3JpcHQ+Cis8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9jc3MvUk1haW4uY3NzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vY3NzL1JNYWluLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTc0MDMyCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vY3NzL1JNYWluLmNzcwpAQCAtMCwwICsxLDIzOSBAQAorLyogQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQorICoNCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKg0KKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgKi8NCisNCisjaWVtcF9sYXlvdXRfY29udGFpbmVyIHsNCisgICAgcGFkZGluZzogMHB4Ow0KKyAgICBtYXJnaW46IDFweCBhdXRvOw0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgaGVpZ2h0OiAxMDAlOw0KK30NCisNCisjaWVtcF9sYXlvdXRfY29udGFpbmVyIC50aHJlZS1jb2xzLWxheW91dCB7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQorICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7DQorICAgIG1hcmdpbi1sZWZ0OiAwcHg7DQorICAgIG1hcmdpbi10b3A6IDBweDsNCisgICAgbWFyZ2luLXJpZ2h0OiAwcHg7DQorICAgIG1hcmdpbi1ib3R0b206IDBweDsNCit9DQorDQorI2llbXBfbGF5b3V0X2NvbnRhaW5lciAudGhyZWUtY29scy1sYXlvdXQgew0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgaGVpZ2h0OiAxMDAlOw0KKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KKyAgICBtYXJnaW4tbGVmdDogMHB4Ow0KKyAgICBtYXJnaW4tdG9wOiAwcHg7DQorICAgIG1hcmdpbi1yaWdodDogMHB4Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQorfQ0KKw0KKyNpZW1wX2xheW91dF9jb250YWluZXIgLnRocmVlLWNvbHMtY29sdW1uLnRocmVlLWNvbHMtbGVmdCB7DQorICAgIHdpZHRoOiAyMTVweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCit9DQorDQorLmFjY29yZGlvbl9wYXJlbnQgew0KKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQorICAgIHdpZHRoOiAyMjBweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCit9DQorDQorLm9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIHsNCisgICAgei1pbmRleDogMSAhaW1wb3J0YW50Ow0KKyAgICBjdXJzb3I6IGUtcmVzaXplOw0KKyAgICB3aWR0aDogN3B4Ow0KKyAgICByaWdodDogLTVweDsNCisgICAgdG9wOiAwOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQorICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgZm9udC1zaXplOiAuMXB4Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCit9DQorDQorLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgew0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQorICAgIGxpbmUtaGVpZ2h0OiAxN3B4Ow0KK30NCisNCisub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSBsaSB7DQorICAgIG1pbi13aWR0aDogNzVweDsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQorICAgIGNvbG9yOiAjMDAwOw0KKyAgICBjbGVhcjogYm90aDsNCit9DQorDQorLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWNvbGxhcHNlLCAub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIHsNCisgICAgZGlzcGxheTogYmxvY2s7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBtYXJnaW4tYm90dG9tOiAtMXB4Ow0KKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KKyAgICB3aWR0aDogMTNweDsNCisgICAgcGFkZGluZy10b3A6IDI2cHg7DQorfQ0KKw0KKy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQgew0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbGxhcHNlX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7DQorICAgIG1hcmdpbi10b3A6IDhweDsNCit9DQorDQorLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZC5jdXJyZW50IHsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9leHBhbmRfYXJyb3cucG5nKSByaWdodCAyMHB4IG5vLXJlcGVhdDsNCit9DQorDQorLm9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZSwgLm9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfc2hvdyB7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgIHJpZ2h0OiAwOw0KKyAgICB0b3A6IDRweDsNCisgICAgd2lkdGg6IDE4cHg7DQorICAgIGhlaWdodDogNDFweDsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KK30NCisNCisub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlIHsNCisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9vcGVuby5wbmcpOw0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IDAgIWltcG9ydGFudDsNCisgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsNCisgICAgLypib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAjZTVlNWU1OyovDQorfQ0KKw0KK2EuaGVhZGVyLm9wZW5lZCwgYS5oZWFkZXIuY2xvc2VkIHsNCisgICAgZm9udC1zaXplOiAxNnB4Ow0KKyAgICBwYWRkaW5nLXRvcDogMjRweDsNCisgICAgcGFkZGluZy1ib3R0b206IDI1cHg7DQorICAgIGNvbG9yOiAjOTk5OTk5Ow0KK30NCisNCisub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSAuY2xvc2VkLCAub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSAub3BlbmVkIHsNCisgICAgcGFkZGluZy1yaWdodDogMTBweDsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTglIDUwJTsNCisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCit9DQorDQorLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkgYSB7DQorICAgIHBhZGRpbmc6IDExcHggMTBweCAxMnB4Ow0KKyAgICBjb2xvcjogIzMzMzMzMzsNCisgICAgbWFyZ2luLXJpZ2h0OiAxcHg7DQorICAgIG1hcmdpbi10b3A6IC0xcHg7DQorICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsNCisgICAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLCBTaW1TdW4sIEFyaWFsLCBUYWhvbWE7DQorICAgIGZvbnQtc2l6ZTogMTRweDsNCisgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1Ow0KKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsNCisgICAgLypoZWlnaHQ6IDE5cHg7Ki8NCit9DQorDQorLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgdWwgew0KKyAgICBtYXJnaW46IDA7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorfQ0KKw0KKy5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IGEgew0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KK30NCisNCithIHsNCisgICAgY29sb3I6ICM0MjhiY2E7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCisgICAgYmFja2dyb3VuZDogMCAwOw0KK30NCisNCisuYmFyIHsNCisgICAgaGVpZ2h0OiA4MzRweDsNCisgICAgd2lkdGg6IDE4cHg7DQorICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7DQorICAgIGRpc3BsYXk6IG5vbmU7DQorfQ0KKw0KKy5iYXIgc3BhbiB7DQorICAgIHdpZHRoOiAxM3B4Ow0KKyAgICBoZWlnaHQ6IDM0cHg7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggMCAhaW1wb3J0YW50Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCisgICAgLyptYXJnaW4tdG9wOiAtNDMwcHg7Ki8NCit9DQorDQorI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgew0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorfQ0KKw0KKyNwdWVyX2Jhc2Vfb3Blbm8gew0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KK30NCisNCisub3Blbm9fYWNjb3JkaW9uX3NlbGVjdGVkIHsNCisgICAgbWFyZ2luLWxlZnQ6IDA7DQorICAgIG1hcmdpbi1yaWdodDogMDsNCisgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCisgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNGFjOWZmICFpbXBvcnRhbnQ7DQorICAgIGJveC1zaGFkb3c6IG5vbmU7DQorICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCit9DQorDQorYTpob3ZlciB7DQorICAgIGNvbG9yOiAjNGFjOWZmICFpbXBvcnRhbnQ7DQorfQ0KKw0KKy5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IGxpLm9wZW5vX2FjY29yZGlvbl9zZWxlY3RlZCBhIHsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBsZWZ0OiAtM3B4Ow0KKyAgICBjb2xvcjogIzAwOWFlNzsNCit9DQorDQorLm9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIHsNCisgICAgei1pbmRleDogMSAhaW1wb3J0YW50Ow0KKyAgICBjdXJzb3I6IGUtcmVzaXplOw0KKyAgICB3aWR0aDogN3B4Ow0KKyAgICByaWdodDogLTVweDsNCisgICAgdG9wOiAwOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQorICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgZm9udC1zaXplOiAuMXB4Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCit9DQorDQorI2lmcmFtZUNvbnRhaW5lciBpZnJhbWUgew0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgaGVpZ2h0OiAxMDAlOw0KKyAgICBib3JkZXI6IDA7DQorfQ0KKw0KKyNhY2NvcmRpb25Db250ZW50LCAjaWZyYW1lQ29udGFpbmVyIHsNCisgICAgbWFyZ2luOiAwOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBib3JkZXI6IDA7DQorICAgIHdpZHRoOiAxMDAlOw0KKyAgICBoZWlnaHQ6IDEwMCU7DQorfQ0KKw0KKy5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cgew0KKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7DQorICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOXB4IDAgIWltcG9ydGFudDsNCisgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCAjZTVlNWU1LCBpbnNldCAtMXB4IDAgMCAjZTVlNWU1Ow0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9jc3MvVk1NYWluLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2Nzcy9WTU1haW4uY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExYzA4NjYKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9jc3MvVk1NYWluLmNzcwpAQCAtMCwwICsxLDc1OCBAQAorLyogQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQorICoNCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKg0KKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgKi8NCisNCitib2R5IHsNCisgICAgZm9udC1mYW1pbHk6ICflvq7ova/pm4Xpu5EnOw0KKyAgICBmb250LXNpemU6IDEycHg7DQorICAgIGNvbG9yOiAjMzMzOw0KKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KK30NCisNCitidXR0b24gew0KKyAgICBvdXRsaW5lOiBub25lOw0KK30NCisNCit1bCwgbGkgew0KKyAgICBsaXN0LXN0eWxlOiBub25lOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBtYXJnaW46IDA7DQorfQ0KKw0KKy50aXRsZUZvbnQgew0KKyAgICBmb250LXNpemU6IDE2cHg7DQorfQ0KKw0KKy5zZXBhcmF0b3ItbGluZSB7DQorICAgIGhlaWdodDogMXB4Ow0KKyAgICB3aWR0aDogMTAwJTsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCisgICAgbWFyZ2luOiA2cHggMCAxNXB4IDA7DQorfQ0KKw0KKy51cGxvYWRCdG4gew0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KK30NCisNCisuY3JlYXQtYnRuIHsNCisgICAgcGFkZGluZzogMCAxNHB4Ow0KKyAgICBoZWlnaHQ6IDI0cHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCisgICAgb3V0bGluZTogMDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMzsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDUpOw0KKyAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KKyAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYsICNmYWZhZmEpOw0KKyAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNmYWZhZmEpKTsNCisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmFmYWZhKTsNCisgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiwgI2ZhZmFmYSk7DQorICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCisgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2FkZC5wbmcpIG5vLXJlcGVhdCA1cHggY2VudGVyOw0KKyAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQorfQ0KKw0KKy5jcmVhdC1idG46aG92ZXIgew0KKyAgICBjb2xvcjogIzAwOWFlNzsNCisgICAgYm9yZGVyOiAxcHggc29saWQgIzRBQzlGRg0KK30NCisNCisuY3JlYXQtYnRuOmFjdGl2ZSB7DQorICAgIGNvbG9yOiAjMDAwOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNEFDOUZGDQorfQ0KKw0KKy8qLmNyZWF0LWJ0bnsNCisgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2UvYWRkLnBuZykgbm8tcmVwZWF0IDVweCBjZW50ZXI7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQorICAgIGZsb2F0OiBsZWZ0Ow0KK30NCisuY3JlYXQtYnRuOmhvdmVyew0KKyAgICBiYWNrZ3JvdW5kOiAjNDI4YmNhOw0KKyAgICBjb2xvcjogI2ZmZjsNCisgICAgYm9yZGVyOjFweCBzb2xpZCAjNDI4YmNhOw0KK30qLw0KKy5zZWFyY2ggew0KKyAgICB3aWR0aDogMzEwcHg7DQorICAgIGhlaWdodDogMzBweDsNCisgICAgZmxvYXQ6IHJpZ2h0Ow0KK30NCisNCisuc2VhcmNoLXRleHQgew0KKyAgICB3aWR0aDogMjUwcHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IDZweDsNCit9DQorDQorLnNlYXJjaC1idG4gew0KKyAgICBoZWlnaHQ6IDMwcHg7DQorICAgIGJhY2tncm91bmQ6ICNmZmY7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQorICAgIGZsb2F0OiBsZWZ0Ow0KK30NCisNCisjaWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYgew0KKyAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KK30NCisNCisudGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRoIHsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50Ow0KKyAgICBib3JkZXItYm90dG9tOiAwOw0KKyAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOw0KK30NCisNCisvKi50YWJsZSB0Ym9keSB0cjpob3ZlcnsNCisgICAgYmFja2dyb3VuZDogI2U2ZmJlMCFpbXBvcnRhbnQ7DQorfSovDQorLnRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgew0KKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCit9DQorDQorLnRhYmxlLWJ0biB7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQorICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCit9DQorDQorLmRlbGV0ZS1idG4gew0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2UvZGVsZXRlLnBuZykgbm8tcmVwZWF0Ow0KKyAgICB3aWR0aDogMTZweDsNCisgICAgaGVpZ2h0OiAxNnB4Ow0KKyAgICBib3JkZXI6IG5vbmU7DQorfQ0KKw0KKy5kZXRhaWwtYnRuIHsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlL29wZW5vLnBuZykgbm8tcmVwZWF0IC0zNDNweCAtMjgzcHg7DQorICAgIHdpZHRoOiAxNnB4Ow0KKyAgICBoZWlnaHQ6IDE2cHg7DQorICAgIGJvcmRlcjogbm9uZTsNCit9DQorDQorLmRldGFpbC1idG4uY3VycmVudCB7DQorICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTMxNHB4Ow0KK30NCisNCisuZGV0YWlsIHsNCisgICAgaGVpZ2h0OiAyMDBweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCisgICAgbWFyZ2luLXRvcDogNjBweDsNCit9DQorDQorLmRldGFpbC10b3AgdWwgew0KKyAgICBoZWlnaHQ6IDUwcHg7DQorICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCisgICAgcGFkZGluZy1sZWZ0OiAwcHg7DQorICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7DQorfQ0KKw0KKy5kZXRhaWwtdG9wIHVsIGxpIHsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIHdpZHRoOiAxMjBweDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkOw0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorfQ0KKw0KKy5kZXRhaWwtdG9wIHVsIGxpLmN1cnJlbnQgew0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KK30NCisNCisudm1hcHAtbWFyZ2luIHsNCisgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCit9DQorDQorLmNvbnRyb2wtbGFiZWwgLnJlcXVpcmVkIHsNCisgICAgY29sb3I6ICNlMDIyMjI7DQorICAgIGZvbnQtc2l6ZTogMTJweDsNCisgICAgcGFkZGluZy1sZWZ0OiAycHg7DQorfQ0KKw0KKy5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsNCisgICAgZm9udC1zaXplOiAxMnB4Ow0KKyAgICBmb250LXdlaWdodDogNDAwOw0KK30NCisNCitsZWdlbmQgew0KKyAgICBmb250LXNpemU6IDEycHg7DQorICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KK30NCisNCisucGFnZUdybyB7DQorICAgIHdpZHRoOiAyNTBweDsNCisgICAgZmxvYXQ6IHJpZ2h0Ow0KK30NCisNCisucGFnZVVwLCAucGFnZURvd24sIC5wYWdlTGlzdCwgLnBhZ2VMaXN0IGxpIHsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCit9DQorDQorLnBhZ2VVcCwgLnBhZ2VEb3duIHsNCisgICAgd2lkdGg6IDYwcHg7DQorICAgIGhlaWdodDogMzBweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBsaW5lLWhlaWdodDogMzBweDsNCit9DQorDQorLnBhZ2VMaXN0IGxpIHsNCisgICAgd2lkdGg6IDMwcHg7DQorICAgIGhlaWdodDogMzBweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBsaW5lLWhlaWdodDogMzBweDsNCisgICAgYm9yZGVyLWxlZnQ6IG5vbmU7DQorfQ0KKw0KKy5wYWdlTGlzdCBsaS5hY3RpdmUgew0KKyAgICBiYWNrZ3JvdW5kOiAjNDI4YmNhOw0KKyAgICBjb2xvcjogI2ZmZjsNCisgICAgYm9yZGVyLWNvbG9yOiAjNDI4YmNhOw0KK30NCisNCisucGFnZURvd24gew0KKyAgICBib3JkZXItbGVmdDogbm9uZTsNCit9DQorDQorLmhlYWRlckxpbmtQIHsNCisgICAgcGFkZGluZy10b3A6IDE3cHg7DQorfQ0KKw0KKy5oZWFkZXJMaW5rUCBzcGFuIHsNCisgICAgZm9udC1zaXplOiAxMnB4Ow0KKyAgICBjb2xvcjogIzY2NjsNCisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50Ow0KK30NCisNCitsYWJlbCB7DQorICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsNCit9DQorDQordGFibGUudXNlcmZvcm0gdGJvZHkgdHIgdGQgew0KKyAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KKyAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KKyAgICBwYWRkaW5nLXRvcDogMTBweDsNCisgICAgZm9udC1zaXplOiAxMnB4Ow0KKyAgICBjb2xvcjogIzMzMzsNCit9DQorDQorLnRhYmxlIHRoLCAudGFibGUgdGQgew0KKyAgICBwYWRkaW5nLXRvcDogM3B4ICFpbXBvcnRhbnQ7DQorICAgIHBhZGRpbmctYm90dG9tOiAzcHggIWltcG9ydGFudDsNCit9DQorDQorLm9wZW5vQnJvd3NlQnV0dG9uX2VsZW1lbnQgew0KKyAgICBkaXNwbGF5OiB0YWJsZTsNCit9DQorDQorLm9wZW5vIHsNCisgICAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLCBTaW1TdW4sIEFyaWFsLCBUYWhvbWE7DQorICAgIGZvbnQtc2l6ZTogMTJweDsNCisgICAgY29sb3I6ICMwMDA7DQorfQ0KKw0KKy5vcGVub0Jyb3dzZUJ1dHRvbl9pbnB1dCB7DQorICAgIHdpZHRoOiAxOThweDsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzICFpbXBvcnRhbnQ7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsNCisgICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7DQorICAgIGJvcmRlci1yaWdodDogbm9uZTsNCisgICAgcGFkZGluZzogMDsNCit9DQorDQorLmJ1dHRvbkNsYXNzRGVmYXVsdCwgLmJ1dHRvbkNsYXNzRGVmYXVsdDphY3RpdmUgew0KKyAgICBjdXJzb3I6IHBvaW50ZXI7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NHB4IC03cHggIWltcG9ydGFudDsNCit9DQorDQorLm9wZW5vQnJvd3NlQnV0dG9uX2J1dHRvbiB7DQorICAgIHdpZHRoOiAyN3B4Ow0KKyAgICBib3JkZXI6IDA7DQorICAgIGZsb2F0OiByaWdodDsNCisgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIHJpZ2h0OiAwOw0KKyAgICB0b3A6IDA7DQorICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOw0KKyAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzNjM2MzOw0KKyAgICBib3JkZXItbGVmdDogbm9uZTsNCit9DQorDQorLm9wZW5vIC5vcGVuby1pbnB1dCwgLm9wZW5vLm9wZW5vLWlucHV0IHsNCisgICAgb3V0bGluZTogMDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMzsNCisgICAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KKyAgICBoZWlnaHQ6IDI2cHg7DQorfQ0KKw0KKy5vcGVub0lucHV0X29wZW5vRGVmYXVsdFRleHQgew0KKyAgICBwYWRkaW5nOiAwIDAgMCA2cHg7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgY29sb3I6ICMwMDA7DQorICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCisgICAgb3V0bGluZTogMDsNCisgICAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KKyAgICBmb250LXNpemU6IDEycHg7DQorICAgIGJhY2tncm91bmQ6ICNmZmY7DQorfQ0KKw0KK2Rpdi5vcGVuby1zZWxlY3Qgew0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOw0KKyAgICBib3JkZXItcmFkaXVzOiA0cHg7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYXJyb3ctZG93bi1lbmFibGUucG5nKSByaWdodCBuby1yZXBlYXQgI2ZmZjsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQorICAgIHBhZGRpbmctbGVmdDogM3B4Ow0KKyAgICBkaXNwbGF5OiBibG9jazsNCit9DQorDQorZGl2Lm9wZW5vLXNlbGVjdCA+IGlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7DQorICAgIGJvcmRlcjogbm9uZTsNCisgICAgb3V0bGluZTogMDsNCisgICAgbGluZS1oZWlnaHQ6IDIxcHg7DQorICAgIGhlaWdodDogMjFweDsNCisgICAgcGFkZGluZy1sZWZ0OiAzcHg7DQorICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7DQorfQ0KKw0KKy5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7DQorICAgIG92ZXJmbG93OiBoaWRkZW47DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KK30NCisNCithLm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzLCBhLm9wZW5vQnV0dG9uX2J1dHRvbkRpc2FibGVDbGFzcywgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzLCBkaXYub3Blbm9CdXR0b25fYnV0dG9uRGlzYWJsZUNsYXNzIHsNCisgICAgaGVpZ2h0OiAyNnB4Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQorICAgIG91dGxpbmU6IDA7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCisgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCisgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmLCAjZmFmYWZhKTsNCisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjZmZmKSwgY29sb3Itc3RvcCgxMDAlLCAjZmFmYWZhKSk7DQorICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiwgI2ZhZmFmYSk7DQorICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmYsICNmYWZhZmEpOw0KKyAgICBib3JkZXItcmFkaXVzOiA2cHg7DQorfQ0KKw0KKy5vcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIHsNCisgICAgcGFkZGluZzogMCAxOXB4Ow0KKyAgICBib3JkZXItcmFkaXVzOiA2cHg7DQorfQ0KKw0KKy5vcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IHsNCisgICAgY29sb3I6ICMwMDA7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50Ow0KK30NCisNCisudXNlckhlYWRlciB7DQorICAgIGNsZWFyOiBsZWZ0Ow0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KKyAgICBwYWRkaW5nOiAxMHB4IDEwcHggMHB4IDBweDsNCit9DQorDQorLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3Mgew0KKyAgICBkaXNwbGF5OiBpbmxpbmU7DQorfQ0KKw0KKy5vcGVub0J1dHRvbl9idXR0b25Hcm91cENsYXNzIGRpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQ6Zmlyc3QtY2hpbGQgew0KKyAgICBtYXJnaW4tbGVmdDogMDsNCit9DQorDQorLm9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWcgew0KKyAgICBtYXJnaW4tcmlnaHQ6IDVweDsNCit9DQorDQorLm9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWcsIC5vcGVub0J1dHRvbl9idXR0b25SaWdodEltZyB7DQorICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCisgICAgdmVydGljYWwtYWxpZ246IHRvcDsNCisgICAgd2lkdGg6IDE2cHg7DQorICAgIGhlaWdodDogMTZweDsNCisgICAgbWFyZ2luLXRvcDogNHB4Ow0KK30NCisNCisub3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIHsNCisgICAgaGVpZ2h0OiAzN3B4Ow0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbiB7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCisgICAgcGFkZGluZzogNXB4IDAgMDsNCisgICAgbWFyZ2luLXRvcDogOHB4Ow0KK30NCisNCisub3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnM6bm90KG1zaWU4KSB7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KK30NCisNCisub3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnMgew0KKyAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KKyAgICBoZWlnaHQ6IDI0cHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBvdXRsaW5lOiAwOw0KKyAgICBsaW5lLWhlaWdodDogMjBweDsNCisgICAgbWFyZ2luOiAwIDVweDsNCit9DQorDQorLm9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IHsNCisgICAgaGVpZ2h0OiAyNnB4Ow0KKyAgICBsaW5lLWhlaWdodDogMjJweDsNCisgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KKyAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4Ow0KKyAgICBwYWRkaW5nOiAxcHg7DQorfQ0KKw0KKy5vcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyBzcGFuIHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBhLCAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBzcGFuIHsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGNvbG9yOiAjNjY2Ow0KKyAgICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsIFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQorICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KKyAgICBmb250LXdlaWdodDogNDAwOw0KKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBwYWRkaW5nOiAwIDdweDsNCisgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIHsNCisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pZGVvX2RlZmF1bHRfc2VsZWN0LnBuZykgbGVmdCBuby1yZXBlYXQgIWltcG9ydGFudDsNCisgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7DQorICAgIHdpZHRoOiAyNnB4Ow0KKyAgICBoZWlnaHQ6IDI2cHg7DQorICAgIGN1cnNvcjogcG9pbnRlcjsNCit9DQorDQorLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgbGFiZWwgew0KKyAgICBwYWRkaW5nLXRvcDogNnB4Ow0KKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KKyAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7DQorICAgIG1hcmdpbi10b3A6IC0xcHg7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQorICAgIGhlaWdodDogMjBweDsNCisgICAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLCBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbiBsaSwgLm9wZW5vLXBhZ2luYXRpb24gdWwgew0KKyAgICBsaXN0LXN0eWxlOiBub25lOw0KKyAgICBwYWRkaW5nOiAwOw0KKyAgICBtYXJnaW46IDA7DQorICAgIGZsb2F0OiBsZWZ0Ow0KK30NCisNCitkZCwgZGwsIGR0LCBsaSB7DQorICAgIGNvbG9yOiAjMDAwOw0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBhLCAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBzcGFuLmN1cnJlbnQgew0KKyAgICBtYXJnaW46IDAgNXB4IDAgMDsNCit9DQorDQorLm9wZW5vIC5vcGVuby1kaXNhYmxlZCwgLm9wZW5vLm9wZW5vLWRpc2FibGVkIHsNCisgICAgYm9yZGVyLWNvbG9yOiAjYzNjM2MzICFpbXBvcnRhbnQ7DQorICAgIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7DQorICAgIG9wYWNpdHk6IC4zOw0KKyAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOw0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldiB7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5jdXJyZW50IHsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7DQorICAgIGZsb2F0OiBsZWZ0Ow0KKyAgICBwYWRkaW5nLWxlZnQ6IDZweDsNCisgICAgaGVpZ2h0OiAyNHB4Ow0KKyAgICBjb2xvcjogI2ZmZjsNCisgICAgZGlzcGxheTogaW5saW5lOw0KKyAgICBib3JkZXItY29sb3I6ICMwMGFkZjU7DQorICAgIGJhY2tncm91bmQ6ICM0YWQyZmY7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIGEsIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIHNwYW4gew0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgY29sb3I6ICM2NjY7DQorICAgIGZvbnQ6IDEycHggTHVjaWRhIEdyYW5kZSwgVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQorICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQorICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7DQorICAgIHBhZGRpbmc6IDAgN3B4Ow0KKyAgICBib3JkZXItcmFkaXVzOiAzcHg7DQorICAgIGJhY2tncm91bmQ6ICNmZmY7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2Lm9wZW5vLWRpc2FibGVkOmJlZm9yZSB7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2Lm9wZW5vLWRpc2FibGVkOmJlZm9yZSB7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQorICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5uZXh0OmFmdGVyLCAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgew0KKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQorICAgIGNvbnRlbnQ6ICIiOw0KKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KKyAgICB3aWR0aDogMTBweDsNCisgICAgaGVpZ2h0OiAyNHB4Ow0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgew0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAubmV4dDphZnRlciwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXY6YmVmb3JlIHsNCisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KKyAgICBjb250ZW50OiAiIjsNCisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCisgICAgd2lkdGg6IDEwcHg7DQorICAgIGhlaWdodDogMjRweDsNCit9DQorDQorcGFnaW5hdGlvbiB1bCB7DQorICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uIGxpLCAub3Blbm8tcGFnaW5hdGlvbiB1bCB7DQorICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQorICAgIHBhZGRpbmc6IDA7DQorICAgIG1hcmdpbjogMDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorfQ0KKw0KKy5vcGVub1BhZ2luYXRpb25fZ290b3RleHQgew0KKyAgICBiYWNrZ3JvdW5kOiAjRkZGOw0KKyAgICBvdXRsaW5lOiAwOw0KKyAgICB3aWR0aDogMjlweDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMzsNCisgICAgcGFkZGluZzogMCAwIDAgNXB4Ow0KKyAgICBtYXJnaW46IDA7DQorICAgIGNvbG9yOiAjNjY2Ow0KKyAgICBtaW4td2lkdGg6IDUwcHg7DQorfQ0KKw0KKy5vcGVub1BhZ2luYXRpb25fZ290b2ltYWdlIHsNCisgICAgd2lkdGg6IDI5cHg7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgbGluZS1oZWlnaHQ6IDI2cHg7DQorICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7DQorICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvcG9ydGFsL3RoZW1lcy9kZWZhdWx0L2NvbXBvbmVudHMvb3Blbm8vaW1hZ2VzL29wZW5vLnBuZyk7DQorICAgIHBhZGRpbmctbGVmdDogMjFweDsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQorICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCisgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg0cHggLTE4MXB4ICFpbXBvcnRhbnQ7DQorfQ0KKw0KKy5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5lbGxpcHNlIHsNCisgICAgZmxvYXQ6IGxlZnQ7DQorICAgIG1hcmdpbi1sZWZ0OiAtOHB4Ow0KKyAgICBtYXJnaW4tcmlnaHQ6IC00cHg7DQorICAgIGJhY2tncm91bmQ6IDAgMDsNCisgICAgYm9yZGVyOiBub25lOw0KKyAgICBib3JkZXItcmFkaXVzOiAwOw0KKyAgICBib3gtc2hhZG93OiBub25lOw0KKyAgICBmb250LXdlaWdodDogNzAwOw0KKyAgICBjdXJzb3I6IGRlZmF1bHQ7DQorfQ0KKw0KKy5vcGVuby5vcGVuby1kaXNhYmxlZCB7DQorICAgIGJvcmRlci1jb2xvcjogI2MzYzNjMyAhaW1wb3J0YW50Ow0KKyAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50Ow0KKyAgICBvcGFjaXR5OiAuMzsNCisgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsNCit9DQorDQorLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYgew0KKyAgICBiYWNrZ3JvdW5kOiAwIDA7DQorICAgIGZsb2F0OiBsZWZ0Ow0KK30NCisNCisub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAuY3VycmVudCB7DQorICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Ow0KKyAgICBmbG9hdDogbGVmdDsNCisgICAgcGFkZGluZy1sZWZ0OiA2cHg7DQorICAgIGhlaWdodDogMjZweDsNCisgICAgY29sb3I6ICNmZmY7DQorICAgIGRpc3BsYXk6IGlubGluZTsNCisgICAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7DQorICAgIGJhY2tncm91bmQ6ICM0YWQyZmY7Ki8NCisgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCit9DQorDQorLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLm5leHQ6YWZ0ZXIgew0KKyAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2Vfci5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KK30NCisNCisub3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyBkaXYub3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50LCAub3Blbm9CdXR0b25fYnV0dG9uUmlnaHRJbWcgew0KKyAgICBtYXJnaW4tbGVmdDogNXB4Ow0KK30NCisNCitodG1sLCBib2R5IHsNCisgICAgaGVpZ2h0OiA5OSU7DQorICAgIHdpZHRoOiA5OCU7DQorfQ0KKw0KKy5jb3RlbnRCb2R5IHsNCisgICAgcGFkZGluZzogMHB4IDIwcHggMHB4IDIwcHg7DQorfQ0KKw0KK2Rpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzczpob3ZlciB7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQorfQ0KKw0KK2Rpdi5vcGVub0J1dHRvbl9idXR0b25fZGVmYXVsdDpob3ZlciAub3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCB7DQorICAgIGNvbG9yOiAjMDA5YWU3Ow0KK30NCisNCisuaGVhZGVyX2xpbmVpbWcgew0KKyAgICBoZWlnaHQ6IDFweDsNCisgICAgd2lkdGg6IDEwMCU7DQorICAgIG1hcmdpbi10b3A6IDE3cHg7DQorfQ0KKw0KKy5vcGVuby5vcGVuby1oaWRlIHsNCisgICAgZGlzcGxheTogbm9uZTsNCit9DQorDQorZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgew0KKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQorICAgIGJvcmRlci10b3A6IG5vbmU7DQorICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4Ow0KKyAgICBtYXgtaGVpZ2h0OiAyMDJweDsNCisgICAgb3ZlcmZsb3cteTogYXV0bzsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCisgICAgei1pbmRleDogODgwOw0KK30NCisNCitkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciA+IGRpdi5vcGVuby1zZWxlY3QtaXRlbSB7DQorICAgIGRpc3BsYXk6IGJsb2NrOw0KK30NCisNCisub3Blbm8gLm9wZW5vLWVsbGlwc2lzLCAub3Blbm8ub3Blbm8tZWxsaXBzaXMgew0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCit9DQorDQorZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgPiBkaXYub3Blbm8tc2VsZWN0LWl0ZW0gPiBsYWJlbCB7DQorICAgIHBhZGRpbmctdG9wOiAzcHg7DQorICAgIHBhZGRpbmctYm90dG9tOiAzcHg7DQorICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KK30NCisNCisub3Blbm8gLm9wZW5vLWVsbGlwc2lzLCAub3Blbm8ub3Blbm8tZWxsaXBzaXMgew0KKyAgICBvdmVyZmxvdzogaGlkZGVuOw0KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KKyAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCit9DQorDQorLm9wZW5vLXNlbGVjdC1pdGVtIGxhYmVsIHsNCisgICAgbWFyZ2luLWxlZnQ6IDRweDsNCisgICAgbWFyZ2luLXJpZ2h0OiA0cHg7DQorICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQorfQ0KKw0KK2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyID4gZGl2Lm9wZW5vLXNlbGVjdC1pdGVtLm9wZW5vLWl0ZW0tc2VsZWN0ZWQsIGRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyID4gZGl2Lm9wZW5vLXNlbGVjdC1pdGVtOmhvdmVyIHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsNCisgICAgY29sb3I6ICMwMDhmZDY7DQorfQ0KKw0KK2Rpdi5vcGVuby1zZWxlY3Qub3Blbm8tZm9jdXMgew0KKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNGFjOWZmOw0KKyAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KKyAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCisgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZDsNCit9DQorDQorLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYTpob3ZlciB7DQorICAgIGJvcmRlci1jb2xvcjogIzRhYzlmZjsNCisgICAgY3Vyc29yOiBwb2ludGVyOw0KK30NCisNCisuU0RCdG4gew0KKyAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KKyAgICBjb2xvcjogIzMzMzsNCisgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCit9DQorDQorLlNEQnRuOmhvdmVyIHsNCisgICAgY29sb3I6ICMwMDlhZTc7DQorICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCit9DQorDQordGFibGUgdGJvZHkgdHIuZXZlbjpob3ZlciB0ZCwgdGFibGUgdGJvZHkgdHIub2RkOmhvdmVyIHRkIHsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmJlMDsNCit9DQorDQordGFibGUgdHIub3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQgdGQgew0KKyAgICBiYWNrZ3JvdW5kOiAjZThmOGZlICFpbXBvcnRhbnQ7DQorICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4ICFpbXBvcnRhbnQ7DQorfQ0KKw0KKy5tb2RhbC1ib2R5IHsNCisgICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KK30NCisNCisuZm9ybS1jb250cm9sIHsNCisgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7DQorfQ0KKw0KKy5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHsNCisgICAgbWFyZ2luLWxlZnQ6IDIwcHg7DQorfQ0KKw0KKy5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWwgew0KKyAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2Nzcy9ib290c3RyYXAtdGFibGUubWluLmNzcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2Nzcy9ib290c3RyYXAtdGFibGUubWluLmNzcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9jc3MvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2Nzcy9ib290c3RyYXAtdGFibGUubWluLmNzcwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9jc3MvYm9vdHN0cmFwLm1pbi5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9jc3MvYm9vdHN0cmFwLm1pbi5jc3MKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvY3NzL2Jvb3RzdHJhcC5taW4uY3NzCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9jc3MvYm9vdHN0cmFwLm1pbi5jc3MKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL0xpY2Vuc2UudHh0IGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL0xpY2Vuc2UudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9MaWNlbnNlLnR4dApyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL0xpY2Vuc2UudHh0CmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9hZGQucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2FkZC5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2FkZC5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9hZGQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2Fycm93LWRvd24tZW5hYmxlLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9hcnJvdy1kb3duLWVuYWJsZS5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2Fycm93LWRvd24tZW5hYmxlLnBuZwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2Fycm93LWRvd24tZW5hYmxlLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9jb2xsYXBzZV9hcnJvdy5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvY29sbGFwc2VfYXJyb3cucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9jb2xsYXBzZV9hcnJvdy5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9jb2xsYXBzZV9hcnJvdy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvZGVsZXRlLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9kZWxldGUucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9kZWxldGUucG5nCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvZGVsZXRlLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9lZGl0LnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9lZGl0LnBuZwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvZWRpdC5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9lZGl0LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9leHBhbmRfYXJyb3cucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2V4cGFuZF9hcnJvdy5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2V4cGFuZF9hcnJvdy5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9leHBhbmRfYXJyb3cucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2lkZW9fZGVmYXVsdF9zZWxlY3QucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2lkZW9fZGVmYXVsdF9zZWxlY3QucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9pZGVvX2RlZmF1bHRfc2VsZWN0LnBuZwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2lkZW9fZGVmYXVsdF9zZWxlY3QucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2ltcG9ydC5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvaW1wb3J0LnBuZwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvaW1wb3J0LnBuZwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2ltcG9ydC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvbGluZS5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvbGluZS5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL2xpbmUucG5nCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvbGluZS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvbG9hZGluZy1zcGlubmVyLWdyZXkuZ2lmIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL2xvYWRpbmctc3Bpbm5lci1ncmV5LmdpZgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvbG9hZGluZy1zcGlubmVyLWdyZXkuZ2lmCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvbG9hZGluZy1zcGlubmVyLWdyZXkuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL29wZW5vLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9vcGVuby5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL29wZW5vLnBuZwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL29wZW5vLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9wYWdlX2wucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL3BhZ2VfbC5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL3BhZ2VfbC5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9wYWdlX2wucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL3BhZ2VfbGVmdF9kaXNhYmxlZC5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL3BhZ2VfbGVmdF9kaXNhYmxlZC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvcGFnZV9yLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9wYWdlX3IucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9wYWdlX3IucG5nCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvcGFnZV9yLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9zb3J0X2FzYy5wbmcgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvc29ydF9hc2MucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9zb3J0X2FzYy5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9zb3J0X2FzYy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9pbWFnZXMvc29ydF9ib3RoLnBuZyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9zb3J0X2JvdGgucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9zb3J0X2JvdGgucG5nCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9pbWFnZXMvc29ydF9ib3RoLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2ltYWdlcy9zb3J0X2Rlc2MucG5nIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vaW1hZ2VzL3NvcnRfZGVzYy5wbmcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvaW1hZ2VzL3NvcnRfZGVzYy5wbmcKcmVuYW1lIHRvIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2ltYWdlcy9zb3J0X2Rlc2MucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvanMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2pzL2Jvb3RzdHJhcC10YWJsZS5taW4uanMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG9wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvanMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vanMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcwpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9qcy9ib290c3RyYXAubWluLmpzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vanMvYm9vdHN0cmFwLm1pbi5qcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9qcy9ib290c3RyYXAubWluLmpzCnJlbmFtZSB0byBvcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9qcy9ib290c3RyYXAubWluLmpzCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9qcy9icnMuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9qcy9icnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA0ODljNQotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2pzL2Jycy5qcwpAQCAtMCwwICsxLDM0MiBAQAorLyogQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQorICoNCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorICoNCisgKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisgKg0KKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisgKi8NCisNCiskKCcuc2l0ZURlbGV0ZUltZycpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgdmFyIGRhdGEgPSAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoJ3RkOmxhc3QnKS5maW5kKCdkaXY6bGFzdCcpLmh0bWwoKTsNCisgICAgYWxlcnQoZGF0YSk7DQorICAgIHZhciBqc29uT2JqID0gSlNPTi5wYXJzZShkYXRhKTsNCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBqc29uT2JqLmxlbmd0aDsgaSsrKSB7DQorICAgICAgICB2YXIgb2JqID0ganNvbk9ialtpXTsNCisgICAgICAgIHZhciByb3dEYXRhID0gW29iai50cE5hbWUsIG9iai5wZU5hbWUsIG9iai52bGFuSWQsIG9iai5zaXRlQ2lkciwgb2JqLmlwXTsNCisgICAgICAgICQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuRGF0YVRhYmxlKCk7DQorICAgICAgICAkKCcjdW5kZXJsYXlUcERhdGFUYWJsZScpLmRhdGFUYWJsZSgpLmZuQWRkRGF0YShyb3dEYXRhKTsNCisgICAgfQ0KK30pOw0KKw0KKw0KK2Z1bmN0aW9uIGRlbGV0ZVNpdGUob2JqZWN0SWQpIHsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvc2l0ZXMvIiArIG9iamVjdElkOw0KKyAgICAkDQorICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgdHlwZTogIkRFTEVURSIsDQorICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25vYmopIHsNCisgICAgICAgICAgICAgICAgJCgnI3NpdGUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KKyAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdpZCcsDQorICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtvYmplY3RJZF0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJEZWxldGUgU2l0ZSBzdWNjZXNzZnVsbCAhISEiKTsNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIHNpdGU6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorZnVuY3Rpb24gZGVsZXRlTGluayhvYmplY3RJZCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcy8iICsgb2JqZWN0SWQ7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7DQorICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlczogW29iamVjdElkXQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkRlbGV0ZSBMaW5rIHN1Y2Nlc3NmdWxsICEhISIpOw0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgbGluayA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorDQorZnVuY3Rpb24gZGVsZXRlTmUob2JqZWN0SWQpIHsNCisgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvbWFuYWdlZC1lbGVtZW50cy8iICsgb2JqZWN0SWQ7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjbmUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KKyAgICAgICAgICAgICAgICAgICAgZmllbGQ6ICdpZCcsDQorICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtvYmplY3RJZF0NCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJEZWxldGUgTkUgc3VjY2Vzc2Z1bGwgISEhIik7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBuZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorDQorZnVuY3Rpb24gZGVsZXRlUG9ydChvYmplY3RJZCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9sb2dpY2FsLXRlcm1pbmF0aW9uLXBvaW50cy8iICsgb2JqZWN0SWQ7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiREVMRVRFIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjcG9ydCcpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7DQorICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCisgICAgICAgICAgICAgICAgICAgIHZhbHVlczogW29iamVjdElkXQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkRlbGV0ZSBQb3J0IHN1Y2Nlc3NmdWxsICEhISIpOw0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgcG9ydCA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorZnVuY3Rpb24gbG9hZFNpdGVEYXRhKCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcyI7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiR0VUIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjc2l0ZScpLmJvb3RzdHJhcFRhYmxlKHsNCisgICAgICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmouc2l0ZXMNCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorZnVuY3Rpb24gbG9hZExpbmtEYXRhKCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcyI7DQorICAgICQNCisgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICB0eXBlOiAiR0VUIiwNCisgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbm9iaikgew0KKyAgICAgICAgICAgICAgICAkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKHsNCisgICAgICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmoudG9wb2xvZ2ljYWxMaW5rcw0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCisgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIGdldHRpbmcgbGluayBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KK30NCitmdW5jdGlvbiBsb2FkTmVEYXRhKCkgew0KKyAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICQoJyNuZScpLmJvb3RzdHJhcFRhYmxlKHsNCisgICAgICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmoubWFuYWdlZEVsZW1lbnRzDQorICAgICAgICAgICAgICAgIH0pOw0KKyAgICAgICAgICAgIH0sDQorICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gZ2V0dGluZyBuZSBkYXRhIDogIiArIHhoci5yZXNwb25zZVRleHQpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KK30NCitmdW5jdGlvbiBsb2FkUG9ydERhdGEoKSB7DQorICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL2xvZ2ljYWwtdGVybWluYXRpb24tcG9pbnRzIjsNCisgICAgJA0KKyAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KKyAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29ub2JqKSB7DQorICAgICAgICAgICAgICAgICQoJyNwb3J0JykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai5sb2dpY2FsVGVybWluYXRpb25Qb2ludHMNCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSwNCisgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgIGFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHBvcnQgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICB9DQorICAgICAgICB9KTsNCit9DQorJChmdW5jdGlvbiAoKSB7DQorICAgICQoJy5jcmVhdC1idG4nKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeydkaXNwbGF5JzogJ2Jsb2NrJ30pOw0KKw0KKyAgICB9KTsNCisgICAgJCgnLmNsb3NlLC5idXR0b24tcHJldmlvdXMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKyAgICB9KTsNCisgICAgJCgnLmRldGFpbC10b3AgdWwgbGknKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOw0KKyAgICB9KTsNCisgICAgJCgnLnBhcmEnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICBpZiAoJCgnI3NlcnZpY2VUZW1wbGF0ZU5hbWUnKS52YWwoKSA9PSAnJykgew0KKyAgICAgICAgICAgIGFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsNCisgICAgICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICAgICAgfQ0KKyAgICAgICAgJCgnI2Jhc2ljVGFiJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7DQorICAgIH0pOw0KKyAgICAkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICAkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisgICAgfSk7DQorDQorICAgICQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsNCisgICAgfSk7DQorICAgICQoJy50YWJsZSB0cjpvZGQnKS5hZGRDbGFzcygnYWN0aXZlJyk7DQorICAgICQoJyNmYWxzZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOiAnYmxvY2snfSk7DQorICAgIH0pOw0KKyAgICAkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgIH0pOw0KKyAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKCdvcGVuby1oaWRlJyk7DQorICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnRvZ2dsZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICAgICAgdmFyIG9MZWZ0ID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkubGVmdDsNCisgICAgICAgIHZhciBvVG9wID0gJCgnI29wZW5fYmFzZV90cExfdGQ2Jykub2Zmc2V0KCkudG9wOw0KKyAgICAgICAgdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmNzcyh7J2xlZnQnOiBvTGVmdCwgJ3RvcCc6IG9Ub3AgKyBvSGVpZ2h0ICsgMTB9KTsNCisgICAgfSk7DQorICAgICQoJ2Rpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgIHZhciBMdmFsdWUgPSAkKHRoaXMpLmh0bWwoKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9pbnB1dCcpLmF0dHIoJ3ZhbHVlJywgTHZhbHVlKTsNCisgICAgICAgICQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLmFkZENsYXNzKCdvcGVuby1oaWRlJyk7DQorICAgICAgICAkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLnJlbW92ZUNsYXNzKCdvcGVuby1mb2N1cycpOw0KKyAgICB9KTsNCisgICAgJC5mbi5zZXJpYWxpemVPYmplY3QgPSBmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgbyA9IHt9Ow0KKyAgICAgICAgdmFyIGEgPSB0aGlzLnNlcmlhbGl6ZUFycmF5KCk7DQorICAgICAgICAkLmVhY2goYSwgZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIGlmIChvW3RoaXMubmFtZV0gIT09IHVuZGVmaW5lZCkgew0KKyAgICAgICAgICAgICAgICBpZiAoIW9bdGhpcy5uYW1lXS5wdXNoKSB7DQorICAgICAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSBbb1t0aGlzLm5hbWVdXTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0ucHVzaCh0aGlzLnZhbHVlIHx8ICcnKTsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgICBvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0pOw0KKyAgICAgICAgcmV0dXJuIG87DQorICAgIH07DQorICAgICQoJyNjcmVhdGVTaXRlJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI3ZtQXBwRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCisgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQorICAgICAgICB2YXIgbmV3SnNvbiA9IHsic2l0ZSI6IGpzb25vYmp9Ow0KKyAgICAgICAgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeShuZXdKc29uKTsNCisgICAgICAgIHZhciByZXF1ZXN0VXJsID0gIi9vcGVub2FwaS9zZG5vYnJzL3YxL3NpdGVzIjsNCisgICAgICAgICQNCisgICAgICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwNCisgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwNCisgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25SZXNwKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiU2l0ZSBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCisgICAgICAgICAgICAgICAgICAgIGpzb25vYmpbImlkIl0gPSBqc29uUmVzcC5zaXRlLmlkOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnI3NpdGUnKS5ib290c3RyYXBUYWJsZSgiYXBwZW5kIiwganNvbm9iaik7DQorICAgICAgICAgICAgICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisNCisgICAgJCgnI2NyZWF0ZU5lJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI25lRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCisgICAgICAgIHZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQorICAgICAgICB2YXIgbmV3SnNvbiA9IHsibWFuYWdlZEVsZW1lbnQiOiBqc29ub2JqfTsNCisgICAgICAgIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkobmV3SnNvbik7DQorICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCisgICAgICAgICQNCisgICAgICAgICAgICAuYWpheCh7DQorICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwNCisgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0VXJsLA0KKyAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KKyAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwNCisgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGpzb25SZXNwKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiTkUgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgICAgICBqc29ub2JqWyJpZCJdID0ganNvblJlc3AubWFuYWdlZEVsZW1lbnQuaWQ7DQorICAgICAgICAgICAgICAgICAgICAkKCcjbmUnKS5ib290c3RyYXBUYWJsZSgiYXBwZW5kIiwganNvbm9iaik7DQorICAgICAgICAgICAgICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisNCisgICAgJCgnI2NyZWF0ZVBvcnQnKS5jbGljayhmdW5jdGlvbiAoKSB7DQorICAgICAgICB2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjcG9ydEZvcm0iKS5zZXJpYWxpemVPYmplY3QoKSk7DQorICAgICAgICB2YXIganNvbm9iaiA9IEpTT04ucGFyc2UoZm9ybURhdGEpOw0KKyAgICAgICAgdmFyIG5ld0pzb24gPSB7ImxvZ2ljYWxUZXJtaW5hdGlvblBvaW50IjoganNvbm9ian07DQorICAgICAgICBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KKyAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiOw0KKyAgICAgICAgJA0KKyAgICAgICAgICAgIC5hamF4KHsNCisgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLA0KKyAgICAgICAgICAgICAgICB1cmw6IHJlcXVlc3RVcmwsDQorICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsDQorICAgICAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhLA0KKyAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvblJlc3ApIHsNCisgICAgICAgICAgICAgICAgICAgIGFsZXJ0KCJQb3J0IHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KKyAgICAgICAgICAgICAgICAgICAgLy9UT0RPIDogaGlkZSBtb2RlbCBkYXRhIHdpbmRvdy4NCisgICAgICAgICAgICAgICAgICAgIGpzb25vYmpbImlkIl0gPSBqc29uUmVzcC5sb2dpY2FsVGVybWluYXRpb25Qb2ludC5pZDsNCisgICAgICAgICAgICAgICAgICAgICQoJyNwb3J0JykuYm9vdHN0cmFwVGFibGUoImFwcGVuZCIsIGpzb25vYmopOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsNCisNCisgICAgICAgICAgICAgICAgfSwNCisgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KKyAgICAgICAgICAgICAgICAgICAgYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9KTsNCisgICAgfSk7DQorDQorICAgICQoJyNjcmVhdGVMaW5rJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI2xpbmtGb3JtIikuc2VyaWFsaXplT2JqZWN0KCkpOw0KKyAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCisgICAgICAgIHZhciBuZXdKc29uID0geyJ0b3BvbG9naWNhbExpbmsiOiBqc29ub2JqfTsNCisgICAgICAgIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkobmV3SnNvbik7DQorICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICIvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcyI7DQorICAgICAgICAkDQorICAgICAgICAgICAgLmFqYXgoew0KKyAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQorICAgICAgICAgICAgICAgIHVybDogcmVxdWVzdFVybCwNCisgICAgICAgICAgICAgICAgY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwNCisgICAgICAgICAgICAgICAgZGF0YTogZm9ybURhdGEsDQorICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uUmVzcCkgew0KKyAgICAgICAgICAgICAgICAgICAgYWxlcnQoIkxpbmsgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQorICAgICAgICAgICAgICAgICAgICBqc29ub2JqWyJpZCJdID0ganNvblJlc3AudG9wb2xvZ2ljYWxMaW5rLmlkOw0KKyAgICAgICAgICAgICAgICAgICAgJCgnI2xpbmsnKS5ib290c3RyYXBUYWJsZSgiYXBwZW5kIiwganNvbm9iaik7DQorICAgICAgICAgICAgICAgICAgICAkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOw0KKw0KKyAgICAgICAgICAgICAgICB9LA0KKyAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQorICAgICAgICAgICAgICAgICAgICBhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pOw0KKyAgICB9KTsNCisNCit9KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvanMvanF1ZXJ5LTEuMTEuMi5taW4uanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9qcy9qcXVlcnktMS4xMS4yLm1pbi5qcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9qcy9qcXVlcnktMS4xMS4yLm1pbi5qcwpyZW5hbWUgdG8gb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vanMvanF1ZXJ5LTEuMTEuMi5taW4uanMKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2xpbmsuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL2xpbmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWZjOTMxCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vbGluay5odG1sCkBAIC0wLDAgKzEsMzc2IEBACis8IS0tDQorDQorICAgIENvcHlyaWdodCAyMDE2LCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KKw0KKyAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KKyAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisNCisgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisNCisgICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisNCistLT4NCisNCis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPGhlYWQgbGFuZz0iZW4iPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKyAgICAgICAgPHRpdGxlPjwvdGl0bGU+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYnJzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC10YWJsZS5taW4uanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCisNCisNCisgICAgICAgICAgICAgICAgdmFyIGpzb25kYXRhID0gbG9hZExpbmtEYXRhKCk7DQorDQorICAgICAgICAgICAgICAgICQoJyNsaW5rJykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbmRhdGENCisgICAgICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgfSk7DQorICAgICAgICAgICAgZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gWw0KKyAgICAgICAgICAgICAgICAgICAgJzxpbWcgY2xhc3M9InNpdGVEZWxldGVJbWciIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgc3R5bGU9ImN1cnNvcjogcG9pbnRlciIgbmFtZT0idGl0bGUiIHRpdGxlPSJEZWxldGUiIC8+Jw0KKyAgICAgICAgICAgICAgICBdLmpvaW4oJycpOw0KKw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB3aW5kb3cub3BlcmF0ZUV2ZW50cyA9IHsNCisgICAgICAgICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgICAgICAvLyBUTyBETyBhamV4IGNhbGwgZm9yIGRlbGV0ZQ0KKyAgICAgICAgICAgICAgICAgICAgZGVsZXRlTGluayhyb3cuaWQpOw0KKyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codmFsdWUsIHJvdywgaW5kZXgpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICAgICAgPHN0eWxlPg0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1jb250YWluZXIgdGJvZHkgdGQgLnRoLWlubmVyLA0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1jb250YWluZXIgdGhlYWQgdGggLnRoLWlubmVyIHsNCisgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRweDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24gLnBhZ2luYXRpb24taW5mbyB7DQorICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHRkLA0KKyAgICAgICAgICAgIC50YWJsZSB0Ym9keSB0ci5vZGQ6aG92ZXIgdGQgew0KKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmYmUwICFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHRhYmxlIHRyLm9wZW5vVGFibGVfcm93X3NlbGVjdGVkIHRkIHsNCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZjhmZSFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4IWltcG9ydGFudDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCB7DQorICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsNCisgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICAubW9kYWwtZm9vdGVyID4gLmJ0biB7DQorICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4Ow0KKyAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zdHlsZT4NCisgICAgPC9oZWFkPg0KKzxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQorPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KKw0KKyAgICA8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPg0KKyAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF91c2VySGVhZGVyIiBjbGFzcz0idXNlckhlYWRlciI+DQorICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiDQorICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IjAiIGlkPSJmYWxzZSIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fY3JlYXRlIiBpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyINCisgICAgICAgICAgICAgICAgICAgICBjbHM9ImRlZmF1bHRidXR0b24iIGNsaWNrPSJjbGlja0FkZCINCisgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwgb3Blbm9CdXR0b25fSW1hZ2UiIGlkPSJmYWxzZV9idXR0b24iPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5DcmVhdGU8L3NwYW4+PHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICA8L2Rpdj4NCisNCisgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgIDwvZGl2Pg0KKyAgICA8L2Rpdj4NCisNCisgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KKyAgICAgICAgPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPg0KKyAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQorICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9ImxpbmsiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBpZD0ibGluayIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoZWFkIiBzdHlsZT0iYmFja2dyb3VuZDojRUNFQ0VDOyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJuYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkJCQkJPHNwYW4gaWQ9ImxpbmtOYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk5hbWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJsb2dpY2FsVHlwZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsaW5rX2FFbmRfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5UeXBlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ibGF5ZXJSYXRlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImxpbmtfbGF5ZXJSYXRlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TGF5ZXIgUmF0ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9ImFFbmQiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibGlua19hRW5kX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+U291cmNlIFBvcnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJ6RW5kIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImxpbmtfekVuZF9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNpbmsgUG9ydA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9ImFFbmRNRSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsaW5rX3NvdXJjZV9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNvdXJjZSBORQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InpFbmRNRSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsaW5rX3NvdXJjZV9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNpbmsgTkUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJhZG1pblN0YXRlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImxpbmtfYWRtaW5TdGF0ZV9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFkbWluIFN0YXRlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ib3BlclN0YXRlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Imxpbmtfb3BlclN0YXRlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+T3BlcmF0aW5nIFN0YXRlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ic2l0ZVR5cGUiIGFsaWduPSJjZW50ZXIiIGRhdGEtZm9ybWF0dGVyPSJvcGVyYXRlRm9ybWF0dGVyIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1ldmVudHM9Im9wZXJhdGVFdmVudHMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibGlua19sYXRlbmN5X3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWN0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4NCisgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0ciBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNyIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPk5VTEw8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJvZGQgIG9wZW5vLXRhYmxlLXRyIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgZGF0YS1yb3dpZD0iMCIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yICAgICIgZGF0YS1jb2xpZD0ic2l0ZU5hbWUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgaHlwZXJMaW5rUm93IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGlkPSJzaXRlVGFibGVfMF9zaXRlTmFtZV9saW5rIj5MaW5rMTwvYT48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij5UeXBlPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCI+MTU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij44MDgwPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCI+MTIzNDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVHlwZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiPk5FPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCI+VVA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij5VUDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlT3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVPcGVyYXRpb25fY3VzdG9tX2VsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9ImRlbGV0ZUxpbmsoJ3RoaXMnKSIgIG9wZXJ0eXBlPSJzaXRlRGVsZXRlIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiB0aXRsZT0iRGVsZXRlIiBpZD0iYmFjNGZmM2MtZDY5My00ZjU0LTg2Y2QtMjVhZjFlYTIyZjU5IiByb3dpZD0iMC8iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4gLS0+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4NCisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKyAgICA8IS0tIDxkaXYgaWQ9InRwTGlzdG9wZW5vdGFibGVfcGFnaW5hdGlvbl93cmFwcGVyIiBjbGFzcz0ib3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWNvbnRhaW5lciBvcGVuby1wYWdpbmF0aW9uLXRoZW1lIG9wZW5vLXBhZ2luYXRpb24iPjxkaXYgY2xhc3M9Im9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2RpdiI+PGlucHV0IHJlYWRvbmx5PSJ0cnVlIiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3Qgb3Blbm9wYWdpbmF0aW9uc2VsZWN0IiB2YWx1ZT0iIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2lucHV0IiBhY3R1YWx2YWw9IjIwIiBzdHlsZT0id2lkdGg6IDMycHg7Ij48c3BhbiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIG9wZW5vcGFnaW5hdGlvbnNlbGVjdHNwYW4iIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfdHJpZ2dlciI+PC9zcGFuPjwvZGl2PjxsYWJlbCBzdHlsZT0iZGlzcGxheTogYmxvY2s7ZmxvYXQ6bGVmdDsiPlRvdGFsIHJlY29yZHM6IDIzPC9sYWJlbD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQgcHJldiBvcGVuby1kaXNhYmxlZCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wcmV2Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18xIj4xPC9zcGFuPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzIiPjI8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMyI+MzwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIG5leHQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfbmV4dCI+Jm5ic3A7PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj4gLS0+DQorDQorICAgIDxkaXYgaWQ9InZtQXBwRGlhbG9nIiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciDQorICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7Dlw0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9ImxpbmtGb3JtIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ3aXphcmQiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtanVzdGlmaWVkIHZtYXBwLW1hcmdpbiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLXRvcDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7IiBpZD0ibG9naWNhbFR5cGUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJsb2dpY2FsVHlwZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImZpYmVyTGluayI+RmliZXIgTGluazwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJsMkxpbmsiPkwyIExpbms8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaXBMaW5rIj5JUCBMaW5rPC9vcHRpb24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVsZWN0cmljYWxMaW5rIj5FbGVjdHJpY2FsIExpbms8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkxheWVyIFJhdGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibGF5ZXJSYXRlIiBuYW1lPSJsYXllclJhdGUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisNCisNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNvdXJjZSBQb3J0PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImFFbmQiIG5hbWU9ImFFbmQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNpbmsgUG9ydDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJ6RW5kIiBuYW1lPSJ6RW5kIiBjbGFzcz0iZm9ybS1jb250cm9sIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Tb3VyY2UgTkU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iYUVuZE1lIiBuYW1lPSJhRW5kTUUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlNpbmsgTkU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iekVuZE1lIiBuYW1lPSJ6RW5kTUUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIFNEQnRuIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImNyZWF0ZUxpbmsiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LWNhbmNlbEJ0biI+T0s8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ1dHRvbi1wcmV2aW91cyBTREJ0biI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtcHJldmlvdXNCdG4iPkNhbmNlbDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4NCisgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQorPC9kaXY+DQorPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiIGNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiDQorICAgICBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyBvcGVuby1zZWxlY3QtYmxhbmstaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+PC9sYWJlbD4NCisgICAgPC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8xIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5FVEg8L2xhYmVsPjwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMiI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD48L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzMiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPlRydW5rPC9sYWJlbD48L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzQiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkxvb3BiYWNrPC9sYWJlbD48L2Rpdj4NCis8L2Rpdj4NCisNCisNCis8L2JvZHk+DQorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL25lLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9uZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NDgwYzAKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9uZS5odG1sCkBAIC0wLDAgKzEsMzY1IEBACis8IS0tDQorDQorICAgIENvcHlyaWdodCAyMDE2LCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KKw0KKyAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCisgICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KKyAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCisNCisgICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCisNCisgICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KKyAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KKyAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCisgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KKyAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCisNCistLT4NCisNCis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPGhlYWQgbGFuZz0iZW4iPg0KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KKyAgICAgICAgPHRpdGxlPjwvdGl0bGU+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYnJzLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC10YWJsZS5taW4uanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAgICAgdmFyIGpzb25kYXRhID0gW107DQorICAgICAgICAgICAgICAgIGpzb25kYXRhID0gbG9hZE5lRGF0YSgpOw0KKyAgICAgICAgICAgICAgICAkKCcjbmUnKS5ib290c3RyYXBUYWJsZSh7DQorICAgICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiBqc29uZGF0YQ0KKyAgICAgICAgICAgICAgICB9KTsNCisNCisgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgIHJldHVybiBbDQorICAgICAgICAgICAgICAgICAgICAnPGltZyBjbGFzcz0ic2l0ZURlbGV0ZUltZyIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiBuYW1lPSJ0aXRsZSIgdGl0bGU9IkRlbGV0ZSIgLz4nDQorICAgICAgICAgICAgICAgIF0uam9pbignJyk7DQorDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHdpbmRvdy5vcGVyYXRlRXZlbnRzID0gew0KKyAgICAgICAgICAgICAgICAnY2xpY2sgLnNpdGVEZWxldGVJbWcnOiBmdW5jdGlvbiAoZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsNCisgICAgICAgICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQorICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gZGVsZXRlTmUocm93LmlkLCByb3cpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfTsNCisNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICAgICAgPHN0eWxlPg0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1jb250YWluZXIgdGJvZHkgdGQgLnRoLWlubmVyLA0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1jb250YWluZXIgdGhlYWQgdGggLnRoLWlubmVyIHsNCisgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRweDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24gLnBhZ2luYXRpb24taW5mbyB7DQorICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHRkLA0KKyAgICAgICAgICAgIC50YWJsZSB0Ym9keSB0ci5vZGQ6aG92ZXIgdGQgew0KKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmYmUwICFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHRhYmxlIHRyLm9wZW5vVGFibGVfcm93X3NlbGVjdGVkIHRkIHsNCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZjhmZSFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4IWltcG9ydGFudDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCB7DQorICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsNCisgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICAubW9kYWwtZm9vdGVyID4gLmJ0biB7DQorICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4Ow0KKyAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zdHlsZT4NCisgICAgPC9oZWFkPg0KKzxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQorPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KKw0KKw0KKyAgICA8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPg0KKyAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF91c2VySGVhZGVyIiBjbGFzcz0idXNlckhlYWRlciI+DQorICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiDQorICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IjAiIGlkPSJmYWxzZSIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fY3JlYXRlIiBpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyINCisgICAgICAgICAgICAgICAgICAgICBjbHM9ImRlZmF1bHRidXR0b24iIGNsaWNrPSJjbGlja0FkZCINCisgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwgb3Blbm9CdXR0b25fSW1hZ2UiIGlkPSJmYWxzZV9idXR0b24iPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5DcmVhdGU8L3NwYW4+PHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgIDwvZGl2Pg0KKyAgICA8L2Rpdj4NCisNCisgICAgPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KKyAgICAgICAgPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPg0KKyAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQorICAgICAgICAgICAgICAgICAgICA8dGFibGUgaWQ9Im5lIiBkYXRhLXJvdy1zdHlsZT0icm93U3R5bGUiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IiBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz0ib3Blbm8tdGFibGUtdGhlYWQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNFQ0VDRUM7Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImFjdGl2ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCBvcGVub1RhYmxlX3NvcnRhYmxlIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TmFtZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InZlcnNpb24iIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmVfaXNWZXJzaW9uX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VmVyc2lvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InByb2R1Y3ROYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lcHJvZHVjdE5hbWVfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5Qcm9kdWN0IE5hbWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJpcEFkZHJlc3MiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmVfaXBBZGRyZXNzX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+SVAgQWRkcmVzcw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im5lUm9sZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZV9uZVJvbGVfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQwIj5ORSBSb2xlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0iYWRtaW5TdGF0ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZV9hZG1pblN0YXRlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWRtaW4gU3RhdGUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJvcGVyU3RhdGUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmVfb3BlclN0YXRlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+T3BlcmF0aW5nIFN0YXRlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXI9Im9wZXJhdGVGb3JtYXR0ZXIiIGRhdGEtZXZlbnRzPSJvcGVyYXRlRXZlbnRzIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lX25hdGl2ZUlEX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWN0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRib2R5Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI3IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+TlVMTDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0ib2RkICBvcGVuby10YWJsZS10ciBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGRhdGEtcm93aWQ9IjAiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IgICAgIiBkYXRhLWNvbGlkPSJzaXRlTmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IGh5cGVyTGlua1JvdyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZU5hbWVfbGluayI+TkU8L2E+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+MS4xPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+U0ROPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+MTkyLjE2OC4xMDAuMTAyPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+Um9sZTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPkFkbWluPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+VVA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlT3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwiIGlkPSJzaXRlVGFibGVfMF9zaXRlT3BlcmF0aW9uX2N1c3RvbV9lbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJkZWxldGVOZSgndGhpcycpOyIgb3BlcnR5cGU9InNpdGVEZWxldGUiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIHRpdGxlPSJEZWxldGUiIGlkPSJiYWM0ZmYzYy1kNjkzLTRmNTQtODZjZC0yNWFmMWVhMjJmNTkiIHJvd2lkPSIwLyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJldmVuICBvcGVuby10YWJsZS10ciBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGRhdGEtcm93aWQ9IjAiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IgICAgIiBkYXRhLWNvbGlkPSJzaXRlTmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IGh5cGVyTGlua1JvdyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZU5hbWVfbGluayI+TkU8L2E+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+MS4xPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+U0ROPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+MTkyLjE2OC4xMDAuMTAyPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+Um9sZTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPkFkbWluPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+VVA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlT3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwiIGlkPSJzaXRlVGFibGVfMF9zaXRlT3BlcmF0aW9uX2N1c3RvbV9lbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJkZWxldGVOZSgndGhpcycpOyIgb3BlcnR5cGU9InNpdGVEZWxldGUiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIHRpdGxlPSJEZWxldGUiIGlkPSJiYWM0ZmYzYy1kNjkzLTRmNTQtODZjZC0yNWFmMWVhMjJmNTkiIHJvd2lkPSIwLyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PiAtLT4NCisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKyAgICA8IS0tIDxkaXYgaWQ9InRwTGlzdG9wZW5vdGFibGVfcGFnaW5hdGlvbl93cmFwcGVyIiBjbGFzcz0ib3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWNvbnRhaW5lciBvcGVuby1wYWdpbmF0aW9uLXRoZW1lIG9wZW5vLXBhZ2luYXRpb24iPjxkaXYgY2xhc3M9Im9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2RpdiI+PGlucHV0IHJlYWRvbmx5PSJ0cnVlIiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3Qgb3Blbm9wYWdpbmF0aW9uc2VsZWN0IiB2YWx1ZT0iIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2lucHV0IiBhY3R1YWx2YWw9IjIwIiBzdHlsZT0id2lkdGg6IDMycHg7Ij48c3BhbiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIG9wZW5vcGFnaW5hdGlvbnNlbGVjdHNwYW4iIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfdHJpZ2dlciI+PC9zcGFuPjwvZGl2PjxsYWJlbCBzdHlsZT0iZGlzcGxheTogYmxvY2s7ZmxvYXQ6bGVmdDsiPlRvdGFsIHJlY29yZHM6IDIzPC9sYWJlbD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQgcHJldiBvcGVuby1kaXNhYmxlZCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wcmV2Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18xIj4xPC9zcGFuPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzIiPjI8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMyI+MzwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIG5leHQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfbmV4dCI+Jm5ic3A7PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj4gLS0+DQorDQorICAgIDxkaXYgaWQ9InZtQXBwRGlhbG9nIiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciDQorICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7Dlw0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9Im5lRm9ybSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2l6YXJkIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPg0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJiYXNpY1RhYiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5OYW1lPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJuYW1lIiBuYW1lPSJuYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iTmFtZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VmVyc2lvbjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idmVyc2lvbiIgbmFtZT0idmVyc2lvbiIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IjEuMSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UHJvZHVjdCBOYW1lPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InByb2R1Y3ROYW1lIiBuYW1lPSJwcm9kdWN0TmFtZSINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IlByb2R1Y3QgTmFtZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+SVAgQWRkcmVzczwvc3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJpcEFkZHJlc3MiIG5hbWU9ImlwQWRkcmVzcyIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IjI1NS4yNTUuMjU1LjI1NSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFRPRE8gOiBjaGVjayBmb3IgdmFsaWQgbmVSb2xlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5ORSBSb2xlPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJuZVJvbGUiIG5hbWU9Im5lUm9sZSIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IlJvbGUiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBTREJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjcmVhdGVOZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtY2FuY2VsQnRuIj5PSzwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnV0dG9uLXByZXZpb3VzIFNEQnRuIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1wcmV2aW91c0J0biI+Q2FuY2VsPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPC9mb3JtPg0KKyAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgIDwvZGl2Pg0KKyAgICA8L2Rpdj4NCis8L2Rpdj4NCis8ZGl2IGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lciIgY2xhc3M9Im9wZW5vIG9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgb3Blbm8taGlkZSINCisgICAgIHN0eWxlPSJ3aWR0aDogMTU1cHg7IG1heC1oZWlnaHQ6IDEzMHB4OyBsZWZ0OiA2MjhweDsgdG9wOiAxMDRweDsgei1pbmRleDogMTc2MTsiPg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMCI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzIG9wZW5vLXNlbGVjdC1ibGFuay1pdGVtIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPg0KKyAgICA8L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzEiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkVUSDwvbGFiZWw+PC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8yIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7IiB0aXRsZT0iUE9TIj5QT1M8L2xhYmVsPjwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+VHJ1bms8L2xhYmVsPjwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfNCI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+TG9vcGJhY2s8L2xhYmVsPjwvZGl2Pg0KKzwvZGl2Pg0KKw0KKw0KKzwvYm9keT4NCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vcG9ydC5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vcG9ydC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiNzBiYzkKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9wb3J0Lmh0bWwKQEAgLTAsMCArMSwzNzYgQEAKKzwhLS0NCisNCisgICAgQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQorDQorICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KKyAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQorICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KKw0KKyAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KKw0KKyAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQorICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQorICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KKyAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQorICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KKw0KKy0tPg0KKw0KKzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKzxoZWFkPg0KKyAgICA8aGVhZCBsYW5nPSJlbiI+DQorICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQorICAgICAgICA8dGl0bGU+PC90aXRsZT4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgICAgICA8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LTEuMTEuMi5taW4uanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9icnMuanMiPjwvc2NyaXB0Pg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQorICAgICAgICAgICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgew0KKw0KKyAgICAgICAgICAgICAgICB2YXIganNvbmRhdGEgPSBbXTsNCisgICAgICAgICAgICAgICAganNvbmRhdGEgPSBsb2FkUG9ydERhdGEoKTsNCisNCisgICAgICAgICAgICAgICAgJCgnI3BvcnQnKS5ib290c3RyYXBUYWJsZSh7DQorICAgICAgICAgICAgICAgICAgICAvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQorICAgICAgICAgICAgICAgICAgICBkYXRhOiBqc29uZGF0YQ0KKyAgICAgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICB9KTsNCisgICAgICAgICAgICBmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgIHJldHVybiBbDQorICAgICAgICAgICAgICAgICAgICAnPGltZyBjbGFzcz0ic2l0ZURlbGV0ZUltZyIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiBuYW1lPSJ0aXRsZSIgdGl0bGU9IkRlbGV0ZSIgLz4nDQorICAgICAgICAgICAgICAgIF0uam9pbignJyk7DQorDQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHdpbmRvdy5vcGVyYXRlRXZlbnRzID0gew0KKyAgICAgICAgICAgICAgICAnY2xpY2sgLnNpdGVEZWxldGVJbWcnOiBmdW5jdGlvbiAoZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsNCisNCisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZVBvcnQocm93LmlkKTsNCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlLCByb3csIGluZGV4KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH07DQorICAgICAgICA8L3NjcmlwdD4NCisgICAgICAgIDxzdHlsZT4NCisgICAgICAgICAgICAuZml4ZWQtdGFibGUtY29udGFpbmVyIHRib2R5IHRkIC50aC1pbm5lciwNCisgICAgICAgICAgICAuZml4ZWQtdGFibGUtY29udGFpbmVyIHRoZWFkIHRoIC50aC1pbm5lciB7DQorICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0cHg7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLWluZm8gew0KKyAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIC50YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCwNCisgICAgICAgICAgICAudGFibGUgdGJvZHkgdHIub2RkOmhvdmVyIHRkIHsNCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmJlMCAhaW1wb3J0YW50Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB0YWJsZSB0ci5vcGVub1RhYmxlX3Jvd19zZWxlY3RlZCB0ZCB7DQorICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGY4ZmUhaW1wb3J0YW50Ow0KKyAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOCFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgew0KKyAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7DQorICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLm1vZGFsLWZvb3RlciA+IC5idG4gew0KKyAgICAgICAgICAgICAgICB3aWR0aDogODBweDsNCisgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc3R5bGU+DQorICAgIDwvaGVhZD4NCis8Ym9keSBpZD0ib3Blbl9iYXNlX3NpdGVfY290ZW50Qm9keSIgY2xhc3M9ImNvdGVudEJvZHkgbmctc2NvcGUiPg0KKw0KKw0KKzxkaXYgY2xhc3M9InVwbG9hZEJ0biI+DQorICAgIDxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPg0KKyAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vIG9wZW5vLXdpZGdldC1idXR0b24gb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50IG5nLWlzb2xhdGUtc2NvcGUgb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3MgZGVmYXVsdGJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25fZGVmYXVsdCINCisgICAgICAgICAgICAgICAgIHRhYmluZGV4PSIwIiBpZD0iZmFsc2UiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2NyZWF0ZSIgaWNvbi11cmw9Ii4vaW1hZ2VzL2FkZC5wbmciDQorICAgICAgICAgICAgICAgICBjbHM9ImRlZmF1bHRidXR0b24iIGNsaWNrPSJjbGlja0FkZCINCisgICAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7Ij4NCisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIG9wZW5vQnV0dG9uX0ltYWdlIiBpZD0iZmFsc2VfYnV0dG9uIj48c3Bhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciDQorICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYWRkLnBuZyk7Ij48L3NwYW4+PHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+Q3JlYXRlPC9zcGFuPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCisgICAgPGRpdiBpZD0naWN0X3ZpcnR1YWxBcHBsaWNhdGlvbl90YWJsZV9kaXYnPg0KKyAgICAgICAgPGRpdj4NCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KKyAgICAgICAgICAgICAgICA8dGFibGUgaWQ9InBvcnQiIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCINCisgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiDQorICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCisgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBpZD0icG9ydFRhYmxlX3RoZWFkIiBjbGFzcz0ib3Blbm8tdGFibGUtdGhlYWQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNFQ0VDRUM7Ij4NCisgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iYWN0aXZlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9Im5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkJCQkJPHNwYW4gaWQ9InBvcnROYW1lX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk5hbWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJtZUlEIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0bWVJRF9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk1FDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWZpZWxkPSJsb2dpY2FsVHlwZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0icG9ydExvZ2ljYWxUeXBlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VHlwZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ibGF5ZXJSYXRlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0TGF5ZXJSYXRlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TGF5ZXIgUmF0ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0iaXNFZGdlUG9pbnQiIGRhdGEtc29ydGFibGU9InRydWUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKwkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InBvcnRJc0VkZ2VQb2ludF9zb3J0aWNvbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkVkZ2UgUG9pbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZmllbGQ9InBvcnRJbmRleCIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0icG9ydEluZGV4X3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+UG9ydCBJbmRleA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0iaXBBZGRyZXNzIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0SXBBZGRyZXNzX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+SVAgQWRkcmVzcw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0iYWRtaW5TdGF0ZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQorCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0icG9ydEFkbWluU3RhdGVfc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5BZG1pbiBTdGF0ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1maWVsZD0ib3BlclN0YXRlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCisJCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0T3BlclN0YXRlX3NvcnRpY29uIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+T3BlcmF0aW5nIFN0YXRlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj0iY2VudGVyIiBkYXRhLWZvcm1hdHRlcj0ib3BlcmF0ZUZvcm1hdHRlciIgZGF0YS1ldmVudHM9Im9wZXJhdGVFdmVudHMiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InBvcnRBY3Rpb25fc29ydGljb24iDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5BY3Rpb248L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+DQorICAgICAgICAgICAgICAgICAgICA8L3RyPg0KKyAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCisgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRib2R5Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNyIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPk5VTEw8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJvZGQgIG9wZW5vLXRhYmxlLXRyIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgZGF0YS1yb3dpZD0iMCIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlTmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBoeXBlckxpbmtSb3ciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgaWQ9InNpdGVUYWJsZV8wX3BvcnROYW1lX2xpbmsiPjwvYT5Qb3J0MTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVHlwZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiA+TUU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVRlbmFudE5hbWUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgPlR5cGU8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVRlbmFudE5hbWUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgPjEyPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID5FZGdlPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID4xMjM0NTwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVGVuYW50TmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiA+MjU1LjI1NS4yNTUuMTIzPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID5VUDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVGVuYW50TmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiA+VVA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZU9wZXJhdGlvbiIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwiIGlkPSJzaXRlVGFibGVfMF9zaXRlT3BlcmF0aW9uX2N1c3RvbV9lbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9ImRlbGV0ZVBvcnQoJ3RoaXMnKTsiIG9wZXJ0eXBlPSJzaXRlRGVsZXRlIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiB0aXRsZT0iRGVsZXRlIiBpZD0iYmFjNGZmM2MtZDY5My00ZjU0LTg2Y2QtMjVhZjFlYTIyZjU5IiByb3dpZD0iMC8iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+IC0tPg0KKyAgICAgICAgICAgICAgICA8L3RhYmxlPg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKzwvZGl2Pg0KKzwhLS0gPGRpdiBpZD0idHBMaXN0b3Blbm90YWJsZV9wYWdpbmF0aW9uX3dyYXBwZXIiIGNsYXNzPSJvcGVuby10YWJsZS1wYWdpbmF0aW9uLXdyYXBwZXIiIHN0eWxlPSJkaXNwbGF5OiBibG9jazsiPjxkaXYgY2xhc3M9InBhZ2luYXRpb24tY29udGFpbmVyIG9wZW5vLXBhZ2luYXRpb24tdGhlbWUgb3Blbm8tcGFnaW5hdGlvbiI+PGRpdiBjbGFzcz0ib3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnMiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfZGl2Ij48aW5wdXQgcmVhZG9ubHk9InRydWUiIGNsYXNzPSJvcGVuby1wYWdpbmF0aW9uLXNlbGVjdCBvcGVub3BhZ2luYXRpb25zZWxlY3QiIHZhbHVlPSIiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfaW5wdXQiIGFjdHVhbHZhbD0iMjAiIHN0eWxlPSJ3aWR0aDogMzJweDsiPjxzcGFuIGNsYXNzPSJvcGVuby1wYWdpbmF0aW9uLXNlbGVjdHNwYW4gb3Blbm9wYWdpbmF0aW9uc2VsZWN0c3BhbiIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl90cmlnZ2VyIj48L3NwYW4+PC9kaXY+PGxhYmVsIHN0eWxlPSJkaXNwbGF5OiBibG9jaztmbG9hdDpsZWZ0OyI+VG90YWwgcmVjb3JkczogMjM8L2xhYmVsPjxsaSBjbGFzcz0iYWN0aXZlIj48c3BhbiBjbGFzcz0iY3VycmVudCBwcmV2IG9wZW5vLWRpc2FibGVkIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3ByZXYiPiZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzEiPjE8L3NwYW4+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMiI+MjwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18zIj4zPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsgbmV4dCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9uZXh0Ij4mbmJzcDs8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PiAtLT4NCisNCis8ZGl2IGlkPSJ2bUFwcERpYWxvZyIgY2xhc3M9Im1vZGFsIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIg0KKyAgICAgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQorICAgIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4NCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4NCisgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7Dlw0KKyAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICA8L2g0Pg0KKyAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9InBvcnRGb3JtIj4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IndpemFyZCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtanVzdGlmaWVkIHZtYXBwLW1hcmdpbiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibmFtZSIgbmFtZT0ibmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iTmFtZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1FPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im1lSUQiIG5hbWU9Im1lSUQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ik1FIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VHlwZTwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBzdHlsZT0icGFkZGluZy10b3A6IDBweDtwYWRkaW5nLWJvdHRvbTogMHB4OyINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImxvZ2ljYWxUeXBlIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJsb2dpY2FsVHlwZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRVRIIj5FVEg8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQT1MiPlBPUzwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRydW5rIj5UcnVuazwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikxvb3BiYWNrIj5Mb29wYmFjazwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TGF5ZXIgUmF0ZTwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJsYXllclJhdGUiIG5hbWU9ImxheWVyUmF0ZSIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iTGF5ZXIgUmF0ZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkVkZ2UgUG9pbnQ8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgc3R5bGU9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJpc0VkZ2VQb2ludCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iaXNFZGdlUG9pbnQiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRydWUiPlRydWU8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJmYWxzZSI+RmFsc2U8L29wdGlvbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlBvcnQgSW5kZXg8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icG9ydEluZGV4IiBuYW1lPSJwb3J0SW5kZXgiIGNsYXNzPSJmb3JtLWNvbnRyb2wiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlBvcnQgSW5kZXgiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5JUCBBZGRyZXNzPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlwQWRkcmVzcyIgbmFtZT0iaXBBZGRyZXNzIiBjbGFzcz0iZm9ybS1jb250cm9sIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIyNTUuMjU1LjI1NS4yNTUiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gU0RCdG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjcmVhdGVQb3J0Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LWNhbmNlbEJ0biI+T0s8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtcHJldmlvdXNCdG4iPkNhbmNlbDwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgPC9mb3JtPg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKzwvZGl2Pg0KKzwvZGl2Pg0KKzxkaXYgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyIiBjbGFzcz0ib3Blbm8gb3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciBvcGVuby1oaWRlIg0KKyAgICAgc3R5bGU9IndpZHRoOiAxNTVweDsgbWF4LWhlaWdodDogMTMwcHg7IGxlZnQ6IDYyOHB4OyB0b3A6IDEwNHB4OyB6LWluZGV4OiAxNzYxOyI+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8wIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgb3Blbm8tc2VsZWN0LWJsYW5rLWl0ZW0iIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPjwvbGFiZWw+DQorICAgIDwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMSI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+RVRIPC9sYWJlbD48L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzIiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiIHRpdGxlPSJQT1MiPlBPUzwvbGFiZWw+PC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8zIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+PC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF80Ij48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5Mb29wYmFjazwvbGFiZWw+PC9kaXY+DQorPC9kaXY+DQorDQorDQorPC9ib2R5Pg0KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9yZXNvdXJjZS5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vcmVzb3VyY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjI1ZjcwCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci1zZG4vcmVzb3VyY2UuaHRtbApAQCAtMCwwICsxLDE0MCBAQAorPCEtLQ0KKw0KKyAgICBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCisNCisgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQorICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorDQorICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQorDQorICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorDQorLS0+DQorDQorPCFkb2N0eXBlIGh0bWw+DQorPGh0bWw+DQorPGhlYWQ+DQorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCisgICAgPHRpdGxlPjwvdGl0bGU+DQorICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgIDxsaW5rIGhyZWY9ImNzcy9STWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQorICAgICQoZnVuY3Rpb24gKCkgew0KKyAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMJykuc2xpZGVUb2dnbGUoNTAwKTsNCisgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kJykudG9nZ2xlQ2xhc3MoJ2N1cnJlbnQnKQ0KKyAgICAgICAgfSk7DQorICAgICAgICAkKCcub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgIC8vICQoJyNvcGVuX2Jhc2Vfb3Blbm8nKS5jc3MoJ21hcmdpbi1sZWZ0JywnLTIwMHB4Jyk7DQorICAgICAgICAgICAgLy8gJCgnI29wZW5fYmFzZV9vcGVubycpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCisgICAgICAgICAgICAvLyAkKCcuYmFyJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCisgICAgICAgICAgICBpZiAoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPj0gMjAwKSB7DQorICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWQnKS53aWR0aCgnMThweCcpOw0KKyAgICAgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLC5oZWFkZXIsI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgYScpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfYXJyb3cnKS5hdHRyKCdjbGFzc25hbWUnLCAnb3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19zaG93Jyk7DQorICAgICAgICAgICAgICAgICQoJyNpZnJhbWVDb250YWluZXInKS5jc3MoJ3dpZHRoJywgJzEyODRweCcpOw0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPT0gMTgpIHsNCisgICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCcyMjBweCcpOw0KKyAgICAgICAgICAgICAgICAkKCcub3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kLC5oZWFkZXIsI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGkgYScpLmNzcygnZGlzcGxheScsICdibG9jaycpOw0KKyAgICAgICAgICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX2Fycm93JykuYXR0cignY2xhc3NuYW1lJywgJ29wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZScpOw0KKyAgICAgICAgICAgICAgICAkKCcjaWZyYW1lQ29udGFpbmVyJykuY3NzKCd3aWR0aCcsICcxMDYzcHgnKTsNCisgICAgICAgICAgICB9DQorDQorICAgICAgICB9KTsNCisgICAgICAgICQoJy5iYXIgc3BhbicpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAkKCcjb3Blbl9iYXNlX29wZW5vJykuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7DQorICAgICAgICAgICAgJCgnLmJhcicpLmNzcygnZGlzcGxheScsICdub25lJyk7DQorICAgICAgICAgICAgJCgnI2lmcmFtZUNvbnRhaW5lcicpLmNzcygnd2lkdGgnLCAnMTA2M3B4Jyk7DQorICAgICAgICB9KTsNCisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ29wZW5vX2FjY29yZGlvbl9zZWxlY3RlZCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ29wZW5vX2FjY29yZGlvbl9zZWxlY3RlZCcpOw0KKyAgICAgICAgfSk7DQorICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzBfYnJBcHBTaXRlTWVudUlEJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQoJyNhY2NvcmRpb25Db250ZW50JykuYXR0cignc3JjJywgJ3NpdGUuaHRtbCcpOw0KKyAgICAgICAgfSk7DQorICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzFfYnJBcHBNZU1lbnVJRCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsICduZS5odG1sJyk7DQorICAgICAgICB9KTsNCisgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMl9ickFwcFRwTWVudUlEJykuY2xpY2soZnVuY3Rpb24gKCkgew0KKyAgICAgICAgICAgICQoJyNhY2NvcmRpb25Db250ZW50JykuYXR0cignc3JjJywgJ3BvcnQuaHRtbCcpOw0KKyAgICAgICAgfSk7DQorICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzNfYnJBcHBUbE1lbnVJRCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCisgICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsICdsaW5rLmh0bWwnKTsNCisgICAgICAgIH0pOw0KKw0KKyAgICB9KQ0KKzwvc2NyaXB0Pg0KKzxib2R5Pg0KKzxkaXYgaWQ9ImZlYkRpdiIgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47Ij4NCisgICAgPGRpdiBpZD0ib3Blbl9iYXNlX2ZlYiI+DQorICAgICAgICA8IS0tdXNlIGZvciBzdG9yZSBtZW51IGNvbWUgZnJvbSBmZWIgc2VydmljZSwgbWF5YmUganVzdCBhIHRlbXBsZSBwbGFuLS0+DQorICAgICAgICA8ZGl2IGlkPSJhcHAiPg0KKyAgICAgICAgICAgIDxkaXYgaWQ9ImllbXBfbGF5b3V0X2NvbnRhaW5lciIgbmctY29udHJvbGxlcj0icmVzb3VyY2VDdHJsIiBjbGFzcz0iaWVtcF9sYXlvdXRfY29udGFpbmVyIG5nLXNjb3BlIj4NCisNCisgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJvcGVuX2Jhc2VfdGFibGUiIGNsYXNzPSJ0aHJlZS1jb2xzLWxheW91dCI+DQorICAgICAgICAgICAgICAgICAgICA8dGJvZHkgaWQ9Im9wZW5fYmFzZV90Ym9keSI+DQorICAgICAgICAgICAgICAgICAgICA8dHIgaWQ9Im9wZW5fYmFzZV90ciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJiYXIiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9Im9wZW5fYmFzZV9vcGVubyIgY2xhc3M9InRocmVlLWNvbHMtY29sdW1uIHRocmVlLWNvbHMtbGVmdCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImFjY29yZGlvbm1lbnVpZCIgYWxsb3ctcmVzaXplPSJ0cnVlIiBkYXRhc2V0PSJkYXRhQXJyIiBoZWlnaHQ9InJlc0hlaWdodCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcnM9ImNhbGxCYWNrbGlzdGVuZXJzIiByZXNpemUtY2FsbGJhY2s9InJlc2l6ZWhhbmRsZXIiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC1zZWxlY3Q9ImN1cnJlbnRzZWxlY3QiIGNsaWNrPSJjbGlja0hhbmRsZXIiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im5nLWlzb2xhdGUtc2NvcGUgYWNjb3JkaW9uX3BhcmVudCBvcGVub19hY2NvcmRpb25fbWFpbl9tZW51Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6IDg3MHB4OyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby1hY2NvcmRpb24tcmVzaXphYmxlLWhhbmRsZSIgc3R5bGU9ImN1cnNvcjogYXV0bzsiPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJhY2NvcmRpb25tZW51aWRfdWwiIGNsYXNzPSJvcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SUQiIG5vZGVpZD0iYnJBcHBUb3BNZW51SUQiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy1sZWZ0OiAyMHB4OyBoZWlnaHQ6IDYwcHg7Y3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlIiBpZD0iYWNjb3JkaW9ubWVudWlkX2Fycm93Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iYnJBcHAiIGNsYXNzPSJoZWFkZXIgb3BlbmVkIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7Ij5SZXNvdXJjZTwvYT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzBfYnJBcHBTaXRlTWVudUlEIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVpZD0iYnJBcHBTaXRlTWVudUlEIiBjbGFzcz0iIiBzdHlsZT0iZGlzcGxheTogbGlzdC1pdGVtOyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IlNpdGUiIGNsYXNzPSIiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5TaXRlPC9hPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzFfYnJBcHBNZU1lbnVJRCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaWQ9ImJyQXBwTWVNZW51SUQiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iTkUiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5ORTwvYT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8yX2JyQXBwVHBNZW51SUQiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZWlkPSJickFwcFRwTWVudUlEIiBzdHlsZT0iZGlzcGxheTogbGlzdC1pdGVtOyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IlBvcnQiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5Qb3J0PC9hPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzNfYnJBcHBUbE1lbnVJRCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlaWQ9ImJyQXBwVGxNZW51SUQiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iTGluayIgc3R5bGU9InBhZGRpbmctbGVmdDogNjJweDsiPkxpbms8L2E+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0ib3Blbl9iYXNlX2lmcmFtZSIgY2xhc3M9InRocmVlLWNvbHMtY29sdW1uIHRocmVlLWNvbHMtY2VudGVyIiBzdHlsZT0icGFkZGluZzogMHB4OyI+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImlmcmFtZUNvbnRhaW5lciIgY2xhc3M9ImZyYW1lLWNsYXNzIiBzdHlsZT0iaGVpZ2h0OiA4NzBweDsiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBpZD0iYWNjb3JkaW9uQ29udGVudCIgc3JjPSIiIGhlaWdodD0iODcwcHgiPjwvaWZyYW1lPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgPC90cj4NCisgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+DQorICAgICAgICAgICAgICAgIDwvdGFibGU+DQorDQorICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQorPC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9zaXRlLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyLXNkbi9zaXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkyODRiOQotLS0gL2Rldi9udWxsCisrKyBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3Itc2RuL3NpdGUuaHRtbApAQCAtMCwwICsxLDI1NCBAQAorPCEtLQ0KKw0KKyAgICBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCisNCisgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQorICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCisgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQorDQorICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQorDQorICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCisgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCisgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQorICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCisgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQorDQorLS0+DQorDQorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorPGhlYWQ+DQorICAgIDxoZWFkIGxhbmc9ImVuIj4NCisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCisgICAgICAgIDx0aXRsZT48L3RpdGxlPg0KKyAgICAgICAgPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9WTU1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiLz4NCisgICAgICAgIDxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAtdGFibGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4NCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jycy5qcyI+PC9zY3JpcHQ+DQorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4NCisNCisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQorICAgICAgICA8L3N0eWxlPg0KKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCisNCisgICAgICAgICAgICAgICAgdmFyIGpzb25kYXRhID0gW107DQorICAgICAgICAgICAgICAgIGpzb25kYXRhID0gbG9hZFNpdGVEYXRhKCk7DQorICAgICAgICAgICAgICAgICQoJyNzaXRlJykuYm9vdHN0cmFwVGFibGUoew0KKyAgICAgICAgICAgICAgICAgICAgLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KKyAgICAgICAgICAgICAgICAgICAgZGF0YToganNvbmRhdGENCisgICAgICAgICAgICAgICAgfSk7DQorDQorDQorICAgICAgICAgICAgfSk7DQorDQorICAgICAgICAgICAgZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgew0KKyAgICAgICAgICAgICAgICByZXR1cm4gWw0KKyAgICAgICAgICAgICAgICAgICAgJzxpbWcgY2xhc3M9InNpdGVEZWxldGVJbWciIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgc3R5bGU9ImN1cnNvcjogcG9pbnRlciIgbmFtZT0idGl0bGUiIHRpdGxlPSJEZWxldGUiIC8+Jw0KKyAgICAgICAgICAgICAgICBdLmpvaW4oJycpOw0KKw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICB3aW5kb3cub3BlcmF0ZUV2ZW50cyA9IHsNCisgICAgICAgICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQorICAgICAgICAgICAgICAgICAgICAvLyBUTyBETyBhamV4IGNhbGwgZm9yIGRlbGV0ZQ0KKyAgICAgICAgICAgICAgICAgICAgZGVsZXRlU2l0ZShyb3cuaWQpOw0KKyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codmFsdWUsIHJvdywgaW5kZXgpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfTsNCisgICAgICAgIDwvc2NyaXB0Pg0KKyAgICAgICAgPHN0eWxlPg0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1jb250YWluZXIgdGJvZHkgdGQgLnRoLWlubmVyLA0KKyAgICAgICAgICAgIC5maXhlZC10YWJsZS1jb250YWluZXIgdGhlYWQgdGggLnRoLWlubmVyIHsNCisgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRweDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLmZpeGVkLXRhYmxlLXBhZ2luYXRpb24gLnBhZ2luYXRpb24taW5mbyB7DQorICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLnRhYmxlIHRib2R5IHRyOmhvdmVyIHRkLA0KKyAgICAgICAgICAgIC50YWJsZSB0Ym9keSB0ci5vZGQ6aG92ZXIgdGQgew0KKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmYmUwICFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIHRhYmxlIHRyLm9wZW5vVGFibGVfcm93X3NlbGVjdGVkIHRkIHsNCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZjhmZSFpbXBvcnRhbnQ7DQorICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4IWltcG9ydGFudDsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCB7DQorICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsNCisgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4Ow0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICAubW9kYWwtZm9vdGVyID4gLmJ0biB7DQorICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4Ow0KKyAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgPC9zdHlsZT4NCisgICAgPC9oZWFkPg0KKzxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQorPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KKw0KKyAgICA8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPg0KKyAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF91c2VySGVhZGVyIiBjbGFzcz0idXNlckhlYWRlciI+DQorICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiDQorICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IjAiIGlkPSJmYWxzZSIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fY3JlYXRlIiBpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyINCisgICAgICAgICAgICAgICAgICAgICBjbHM9ImRlZmF1bHRidXR0b24iIGNsaWNrPSJjbGlja0FkZCINCisgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+DQorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwgb3Blbm9CdXR0b25fSW1hZ2UiIGlkPSJmYWxzZV9idXR0b24iPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5DcmVhdGU8L3NwYW4+PHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjwvZGl2Pg0KKyAgICAgICAgICAgICAgICA8L2Rpdj4NCisNCisNCisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8gb3Blbm8td2lkZ2V0LWJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQgbmctaXNvbGF0ZS1zY29wZSBvcGVub0J1dHRvbl9idXR0b25DbGFzcyB1bmRlZmluZWQgb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiDQorICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IjAiIGlkPSJtZUVkaXQiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2VkaXQiIGRpc3BsYXk9ImZhbHNlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIiBpZD0ibWVFZGl0X2J1dHRvbiI+PHNwYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5FZGl0PC9zcGFuPjxzcGFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj48L2Rpdj4NCisgICAgICAgICAgICAgICAgPC9kaXY+DQorDQorICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICA8L2Rpdj4NCisgICAgPC9kaXY+DQorDQorICAgIDxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCisgICAgICAgIDxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCisgICAgICAgICAgICA8ZGl2Pg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KKyAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJzaXRlIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbj0idHJ1ZSIgZGF0YS1wYWdlLXNpemU9IjUiIGRhdGEtcGFnaW5hdGlvbi1maXJzdC10ZXh0PSJGaXJzdCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBzdHlsZT0iYmFja2dyb3VuZDojRUNFQ0VDOyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ibmFtZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TmFtZTwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJ0eXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5UeXBlPC90aD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGRhdGEtZmllbGQ9InRlbmFudElEIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5UZW5hbnQgTmFtZTwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJ0ZW5hbnRTaXRlSURzIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5UZW5hbnQgU2l0ZTwvdGg+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJsb2NhdGlvbiIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TG9jYXRpb248L3RoPg0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXI9Im9wZXJhdGVGb3JtYXR0ZXIiIGRhdGEtZXZlbnRzPSJvcGVyYXRlRXZlbnRzIj5BY3Rpb248L3RoPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKyAgICA8IS0tIDxkaXYgaWQ9InRwTGlzdG9wZW5vdGFibGVfcGFnaW5hdGlvbl93cmFwcGVyIiBjbGFzcz0ib3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWNvbnRhaW5lciBvcGVuby1wYWdpbmF0aW9uLXRoZW1lIG9wZW5vLXBhZ2luYXRpb24iPjxkaXYgY2xhc3M9Im9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2RpdiI+PGlucHV0IHJlYWRvbmx5PSJ0cnVlIiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3Qgb3Blbm9wYWdpbmF0aW9uc2VsZWN0IiB2YWx1ZT0iIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2lucHV0IiBhY3R1YWx2YWw9IjIwIiBzdHlsZT0id2lkdGg6IDMycHg7Ij48c3BhbiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIG9wZW5vcGFnaW5hdGlvbnNlbGVjdHNwYW4iIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfdHJpZ2dlciI+PC9zcGFuPjwvZGl2PjxsYWJlbCBzdHlsZT0iZGlzcGxheTogYmxvY2s7ZmxvYXQ6bGVmdDsiPlRvdGFsIHJlY29yZHM6IDIzPC9sYWJlbD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQgcHJldiBvcGVuby1kaXNhYmxlZCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wcmV2Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18xIj4xPC9zcGFuPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzIiPjI8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMyI+MzwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIG5leHQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfbmV4dCI+Jm5ic3A7PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj4gLS0+DQorDQorICAgIDxkaXYgaWQ9InZtQXBwRGlhbG9nIiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciDQorICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQorICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7Dlw0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4NCisgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9InZtQXBwRm9ybSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0id2l6YXJkIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJiYXNpY1RhYiI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5OYW1lPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJuYW1lIiBuYW1lPSJuYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iTmFtZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VHlwZTwvc3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+DQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiIGlkPSJ0eXBlIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0idHlwZSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5ldHdvcmtfc2l0ZSI+TmV0d29yazwvb3B0aW9uPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0ZW5hbnRfc2l0ZSI+VGVuYW50PC9vcHRpb24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gIFRPRE86IHRoZXNlIGZpZWxkIGFyZSBpZ25vcmVkIGFzIG9mIG5vdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VGVuYW50IE5hbWU8L3NwYW4+Jm5ic3A7Jm5ic3A7Jm5ic3A7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRlbmFudE5hbWUiIG5hbWU9InRlbmFudE5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJCYW5nbG9yZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VGVuYW50IFNpdGU8L3NwYW4+Jm5ic3A7Jm5ic3A7Jm5ic3A7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InRlbmFudFNpdGUiIG5hbWU9InRlbmFudFNpdGUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJCYW5nbG9yZSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkxvY2F0aW9uPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImxvY2F0aW9uIiBuYW1lPSJsb2NhdGlvbiIgY2xhc3M9ImZvcm0tY29udHJvbCINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkJhbmdsb3JlIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorDQorDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBTREJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjcmVhdGVTaXRlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCisNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQorICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+DQorICAgICAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgICAgIDwvZGl2Pg0KKyAgICAgICAgPC9kaXY+DQorICAgIDwvZGl2Pg0KKzwvZGl2Pg0KKzxkaXYgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyIiBjbGFzcz0ib3Blbm8gb3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciBvcGVuby1oaWRlIg0KKyAgICAgc3R5bGU9IndpZHRoOiAxNTVweDsgbWF4LWhlaWdodDogMTMwcHg7IGxlZnQ6IDYyOHB4OyB0b3A6IDEwNHB4OyB6LWluZGV4OiAxNzYxOyI+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8wIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgb3Blbm8tc2VsZWN0LWJsYW5rLWl0ZW0iIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPjwvbGFiZWw+DQorICAgIDwvZGl2Pg0KKyAgICA8ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMSI+PGxhYmVsDQorICAgICAgICAgICAgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+RVRIPC9sYWJlbD48L2Rpdj4NCisgICAgPGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzIiPjxsYWJlbA0KKyAgICAgICAgICAgIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiIHRpdGxlPSJQT1MiPlBPUzwvbGFiZWw+PC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8zIj48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+PC9kaXY+DQorICAgIDxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF80Ij48bGFiZWwNCisgICAgICAgICAgICBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5Mb29wYmFjazwvbGFiZWw+PC9kaXY+DQorPC9kaXY+DQorDQorDQorPC9ib2R5Pg0KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2Nzcy9STWFpbi5jc3MgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2Nzcy9STWFpbi5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiODQ4OGEuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9jc3MvUk1haW4uY3NzCisrKyAvZGV2L251bGwKQEAgLTEsMjExICswLDAgQEAKLS8qIENvcHlyaWdodCAyMDE2LCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KLSAqDQotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KLSAqDQotICogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQotICoNCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQotICovDQotDQotDQotI2llbXBfbGF5b3V0X2NvbnRhaW5lciB7DQotICBwYWRkaW5nOiAwcHg7DQotICBtYXJnaW46IDFweCBhdXRvOw0KLSAgd2lkdGg6IDEwMCU7DQotICBoZWlnaHQ6IDEwMCU7DQotfQ0KLSNpZW1wX2xheW91dF9jb250YWluZXIgLnRocmVlLWNvbHMtbGF5b3V0IHsNCi0gIHdpZHRoOiAxMDAlOw0KLSAgaGVpZ2h0OiAxMDAlOw0KLSAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCi0gIG1hcmdpbi1sZWZ0OiAwcHg7DQotICBtYXJnaW4tdG9wOiAwcHg7DQotICBtYXJnaW4tcmlnaHQ6IDBweDsNCi0gIG1hcmdpbi1ib3R0b206IDBweDsNCi19DQotI2llbXBfbGF5b3V0X2NvbnRhaW5lciAudGhyZWUtY29scy1sYXlvdXQgew0KLSAgd2lkdGg6IDEwMCU7DQotICBoZWlnaHQ6IDEwMCU7DQotICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KLSAgbWFyZ2luLWxlZnQ6IDBweDsNCi0gIG1hcmdpbi10b3A6IDBweDsNCi0gIG1hcmdpbi1yaWdodDogMHB4Ow0KLSAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KLX0NCi0jaWVtcF9sYXlvdXRfY29udGFpbmVyIC50aHJlZS1jb2xzLWNvbHVtbi50aHJlZS1jb2xzLWxlZnQgew0KLSAgd2lkdGg6IDIxNXB4Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCi19DQotLmFjY29yZGlvbl9wYXJlbnQgew0KLSAgcG9zaXRpb246IHJlbGF0aXZlOw0KLSAgd2lkdGg6IDIyMHB4Ow0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCi19DQotLm9wZW5vLWFjY29yZGlvbi1yZXNpemFibGUtaGFuZGxlIHsNCi0gIHotaW5kZXg6IDEhaW1wb3J0YW50Ow0KLSAgY3Vyc29yOiBlLXJlc2l6ZTsNCi0gIHdpZHRoOiA3cHg7DQotICByaWdodDogLTVweDsNCi0gIHRvcDogMDsNCi0gIGhlaWdodDogMTAwJTsNCi0gIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCi0gIGZvbnQtc2l6ZTogLjFweDsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLX0NCi0ub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSB7DQotICB3aWR0aDogMTAwJTsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQotICBsaW5lLWhlaWdodDogMTdweDsNCi19DQotLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgbGkgew0KLSAgbWluLXdpZHRoOiA3NXB4Ow0KLSAgbWFyZ2luOiAwOw0KLSAgcGFkZGluZzogMDsNCi0gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsNCi0gIGNvbG9yOiAjMDAwOw0KLSAgY2xlYXI6IGJvdGg7DQotfQ0KLS5vcGVub19hY2NvcmRpb25fdWktaWNvbi1jb2xsYXBzZSwgLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCB7DQotICBkaXNwbGF5OiBibG9jazsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgbWFyZ2luLWJvdHRvbTogLTFweDsNCi0gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Ow0KLSAgY3Vyc29yOiBwb2ludGVyOw0KLSAgd2lkdGg6IDEzcHg7DQotICBwYWRkaW5nLXRvcDogMjZweDsNCi19DQotLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCB7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbGxhcHNlX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7DQotICBtYXJnaW4tdG9wOiA4cHg7DQotfQ0KLS5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQuY3VycmVudHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZXhwYW5kX2Fycm93LnBuZykgcmlnaHQgMjBweCBuby1yZXBlYXQ7DQotfQ0KLS5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUsIC5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cgew0KLSAgZGlzcGxheTogYmxvY2s7DQotICBwb3NpdGlvbjogYWJzb2x1dGU7DQotICByaWdodDogMDsNCi0gIHRvcDogNHB4Ow0KLSAgd2lkdGg6IDE4cHg7DQotICBoZWlnaHQ6IDQxcHg7DQotICBjdXJzb3I6IHBvaW50ZXI7DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KLX0NCi0ub3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlIHsNCi0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCi0gIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggMCFpbXBvcnRhbnQ7DQotICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOw0KLSAgLypib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAjZTVlNWU1OyovDQotfQ0KLWEuaGVhZGVyLm9wZW5lZCwgYS5oZWFkZXIuY2xvc2VkIHsNCi0gIGZvbnQtc2l6ZTogMTZweDsNCi0gIHBhZGRpbmctdG9wOiAyNHB4Ow0KLSAgcGFkZGluZy1ib3R0b206IDI1cHg7DQotICBjb2xvcjogIzk5OTk5OTsNCi19DQotLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgLmNsb3NlZCwgLm9wZW5vQWNjb3JkaWFuX2FjY29yZGlvbm1lbnUgLm9wZW5lZCB7DQotICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KLSAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTglIDUwJTsNCi0gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQotfQ0KLS5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IGxpIGEgew0KLSAgcGFkZGluZzogMTFweCAxMHB4IDEycHg7DQotICBjb2xvcjogIzMzMzMzMzsNCi0gIG1hcmdpbi1yaWdodDogMXB4Ow0KLSAgbWFyZ2luLXRvcDogLTFweDsNCi0gIHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50Ow0KLSAgZm9udC1mYW1pbHk6ICJNaWNyb3NvZnQgWWFoZWkiLFNpbVN1bixBcmlhbCxUYWhvbWE7DQotICBmb250LXNpemU6IDE0cHg7DQotICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCi0gIHdoaXRlLXNwYWNlOiBub3dyYXA7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLSAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7DQotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsNCi0gIC8qaGVpZ2h0OiAxOXB4OyovDQotfQ0KLS5vcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51IHVsIHsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLX0NCi0ub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSBhIHsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KLX0NCi1hIHsNCi0gIGNvbG9yOiAjNDI4YmNhOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KLSAgYmFja2dyb3VuZDogMCAwOw0KLX0NCi0uYmFyew0KLSAgICBoZWlnaHQ6IDgzNHB4Ow0KLSAgICB3aWR0aDogMThweDsNCi0gICAgYmFja2dyb3VuZDogI2Y4ZjhmODsNCi0gICAgZGlzcGxheTogbm9uZTsNCi19DQotLmJhciBzcGFuew0KLSAgICB3aWR0aDogMTNweDsNCi0gICAgaGVpZ2h0OiAzNHB4Ow0KLSAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7DQotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAwIWltcG9ydGFudDsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLSAgLyptYXJnaW4tdG9wOiAtNDMwcHg7Ki8NCi19DQotI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwgbGl7DQotICAgIGN1cnNvcjogcG9pbnRlcjsNCi19DQotI3B1ZXJfYmFzZV9vcGVub3sNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCi19DQotLm9wZW5vX2FjY29yZGlvbl9zZWxlY3RlZCB7DQotICBtYXJnaW4tbGVmdDogMDsNCi0gIG1hcmdpbi1yaWdodDogMDsNCi0gIGJhY2tncm91bmQ6ICNmYWZhZmE7DQotICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM0YWM5ZmYhaW1wb3J0YW50Ow0KLSAgYm94LXNoYWRvdzogbm9uZTsNCi0gIHBvc2l0aW9uOiByZWxhdGl2ZTsNCi19DQotYTpob3ZlcnsNCi0gICAgY29sb3I6ICM0YWM5ZmYhaW1wb3J0YW50Ow0KLX0NCi0ub3Blbm9BY2NvcmRpYW5fYWNjb3JkaW9ubWVudSBsaS5vcGVub19hY2NvcmRpb25fc2VsZWN0ZWQgYSB7DQotICBwb3NpdGlvbjogcmVsYXRpdmU7DQotICBsZWZ0OiAtM3B4Ow0KLSAgY29sb3I6ICMwMDlhZTc7DQotfQ0KLS5vcGVuby1hY2NvcmRpb24tcmVzaXphYmxlLWhhbmRsZSB7DQotICB6LWluZGV4OiAxIWltcG9ydGFudDsNCi0gIGN1cnNvcjogZS1yZXNpemU7DQotICB3aWR0aDogN3B4Ow0KLSAgcmlnaHQ6IC01cHg7DQotICB0b3A6IDA7DQotICBoZWlnaHQ6IDEwMCU7DQotICBwb3NpdGlvbjogYWJzb2x1dGU7DQotICBmb250LXNpemU6IC4xcHg7DQotICBkaXNwbGF5OiBibG9jazsNCi19DQotI2lmcmFtZUNvbnRhaW5lciBpZnJhbWUgew0KLSAgd2lkdGg6IDEwMCU7DQotICBoZWlnaHQ6IDEwMCU7DQotICBib3JkZXI6IDA7DQotfQ0KLSNhY2NvcmRpb25Db250ZW50LCAjaWZyYW1lQ29udGFpbmVyIHsNCi0gIG1hcmdpbjogMDsNCi0gIHBhZGRpbmc6IDA7DQotICBib3JkZXI6IDA7DQotICB3aWR0aDogMTAwJTsNCi0gIGhlaWdodDogMTAwJTsNCi19DQotLm9wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfc2hvdyB7DQotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL29wZW5vLnBuZyk7DQotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzlweCAwIWltcG9ydGFudDsNCi0gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgI2U1ZTVlNSxpbnNldCAtMXB4IDAgMCAjZTVlNWU1Ow0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2Nzcy9WTU1haW4uY3NzIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9jc3MvVk1NYWluLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTYyNWU5MC4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2Nzcy9WTU1haW4uY3NzCisrKyAvZGV2L251bGwKQEAgLTEsNjUzICswLDAgQEAKLS8qIENvcHlyaWdodCAyMDE2LCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KLSAqDQotICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQotICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KLSAqDQotICogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQotICoNCi0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQotICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCi0gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCi0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQotICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQotICovDQotDQotDQotYm9keXsNCi0gICAgZm9udC1mYW1pbHk6ICflvq7ova/pm4Xpu5EnOw0KLSAgICBmb250LXNpemU6IDEycHg7DQotICAgIGNvbG9yOiAjMzMzOw0KLSAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KLX0NCi1idXR0b257DQotICAgIG91dGxpbmU6IG5vbmU7DQotfQ0KLXVsLGxpew0KLSAgICBsaXN0LXN0eWxlOiBub25lOw0KLSAgICBwYWRkaW5nOjA7DQotICAgIG1hcmdpbjowOw0KLX0NCi0udGl0bGVGb250ew0KLSAgICBmb250LXNpemU6IDE2cHg7DQotfQ0KLS5zZXBhcmF0b3ItbGluZXsNCi0gICAgaGVpZ2h0OiAxcHg7DQotICAgIHdpZHRoOiAxMDAlOw0KLSAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQotICAgIG1hcmdpbjogNnB4IDAgMTVweCAwOw0KLX0NCi0udXBsb2FkQnRuew0KLSAgICBvdmVyZmxvdzogaGlkZGVuOw0KLX0NCi0uY3JlYXQtYnRuIHsNCi0JcGFkZGluZzogMCAxNHB4Ow0KLQloZWlnaHQ6IDI0cHg7DQotICAgIGZsb2F0OiBsZWZ0Ow0KLSAgICBjdXJzb3I6IHBvaW50ZXI7DQotICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCi0gICAgb3V0bGluZTogMDsNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMzsNCi0gICAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpOw0KLSAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOw0KLSAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsNCi0gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLCNmZmYpLGNvbG9yLXN0b3AoMTAwJSwjZmFmYWZhKSk7DQotICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZmZmLCNmYWZhZmEpOw0KLSAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmYsI2ZhZmFmYSk7DQotICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCi0gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2FkZC5wbmcpIG5vLXJlcGVhdCA1cHggY2VudGVyOw0KLSAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQotfQ0KLS5jcmVhdC1idG46aG92ZXIgew0KLQljb2xvcjogIzAwOWFlNzsJDQotCWJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCi19DQotLmNyZWF0LWJ0bjphY3RpdmUgew0KLQljb2xvcjogIzAwMDsJDQotCWJvcmRlcjogMXB4IHNvbGlkICM0QUM5RkYNCi19DQotLyouY3JlYXQtYnRuew0KLSAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZS9hZGQucG5nKSBuby1yZXBlYXQgNXB4IGNlbnRlcjsNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCi0gICAgZmxvYXQ6IGxlZnQ7DQotfQ0KLS5jcmVhdC1idG46aG92ZXJ7DQotICAgIGJhY2tncm91bmQ6ICM0MjhiY2E7DQotICAgIGNvbG9yOiAjZmZmOw0KLSAgICBib3JkZXI6MXB4IHNvbGlkICM0MjhiY2E7DQotfSovDQotLnNlYXJjaHsNCi0gICAgd2lkdGg6IDMxMHB4Ow0KLSAgICBoZWlnaHQ6IDMwcHg7DQotICAgIGZsb2F0OnJpZ2h0Ow0KLX0NCi0uc2VhcmNoLXRleHR7DQotICAgIHdpZHRoOiAyNTBweDsNCi0gICAgZmxvYXQ6IGxlZnQ7DQotICAgIG1hcmdpbi1yaWdodDogNnB4Ow0KLX0NCi0uc2VhcmNoLWJ0bnsNCi0gICAgaGVpZ2h0OiAzMHB4Ow0KLSAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KLSAgICBmbG9hdDogbGVmdDsNCi19DQotI2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2ew0KLSAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KLX0NCi0udGFibGU+dGhlYWQ+dHIuYWN0aXZlPnRoew0KLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkIWltcG9ydGFudDsNCi0gICAgYm9yZGVyLWJvdHRvbTogMDsNCi0gICAgYmFja2dyb3VuZDogI2YwZjBmMDsNCi19DQotLyoudGFibGUgdGJvZHkgdHI6aG92ZXJ7DQotICAgIGJhY2tncm91bmQ6ICNlNmZiZTAhaW1wb3J0YW50Ow0KLX0qLw0KLS50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkew0KLSAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCi19DQotLnRhYmxlLWJ0bnsNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCi0gICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KLX0NCi0uZGVsZXRlLWJ0bnsNCi0gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlL2RlbGV0ZS5wbmcpIG5vLXJlcGVhdDsNCi0gICAgd2lkdGg6IDE2cHg7DQotICAgIGhlaWdodDogMTZweDsNCi0gICAgYm9yZGVyOiBub25lOw0KLX0NCi0uZGV0YWlsLWJ0bnsNCi0gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlL29wZW5vLnBuZykgbm8tcmVwZWF0IC0zNDNweCAtMjgzcHg7DQotICAgIHdpZHRoOiAxNnB4Ow0KLSAgICBoZWlnaHQ6IDE2cHg7DQotICAgIGJvcmRlcjogbm9uZTsNCi19DQotLmRldGFpbC1idG4uY3VycmVudHsNCi0gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAtMzE0cHg7IA0KLX0NCi0uZGV0YWlsew0KLSAgICBoZWlnaHQ6IDIwMHB4Ow0KLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KLSAgICBtYXJnaW4tdG9wOiA2MHB4Ow0KLX0NCi0NCi0uZGV0YWlsLXRvcCB1bHsNCi0gICAgaGVpZ2h0OiA1MHB4Ow0KLSAgICBsaW5lLWhlaWdodDogNTBweDsNCi0gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7DQotICAgIHBhZGRpbmctbGVmdDogMHB4Ow0KLSAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCi19DQotLmRldGFpbC10b3AgdWwgbGl7DQotICAgIGZsb2F0OmxlZnQ7DQotICAgIHdpZHRoOiAxMjBweDsNCi0gICAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkOw0KLSAgICBjdXJzb3I6IHBvaW50ZXI7DQotfQ0KLS5kZXRhaWwtdG9wIHVsIGxpLmN1cnJlbnR7DQotICAgIGJhY2tncm91bmQ6ICNmZmY7DQotfQ0KLS52bWFwcC1tYXJnaW57DQotICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQotfQ0KLS5jb250cm9sLWxhYmVsIC5yZXF1aXJlZHsNCi0gICAgY29sb3I6ICNlMDIyMjI7DQotICAgIGZvbnQtc2l6ZTogMTJweDsNCi0gICAgcGFkZGluZy1sZWZ0OiAycHg7DQotfQ0KLS5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsew0KLSAgICBmb250LXNpemU6IDEycHg7DQotICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQotfQ0KLWxlZ2VuZHsNCi0gICAgZm9udC1zaXplOiAxMnB4Ow0KLSAgICBmb250LXdlaWdodDogYm9sZDsNCi19DQotLnBhZ2VHcm97DQotICAgIHdpZHRoOiAyNTBweDsNCi0gICAgZmxvYXQ6IHJpZ2h0Ow0KLX0NCi0ucGFnZVVwLC5wYWdlRG93biwucGFnZUxpc3QsLnBhZ2VMaXN0IGxpew0KLSAgICBmbG9hdDogbGVmdDsNCi0gICAgY3Vyc29yOiBwb2ludGVyOw0KLX0NCi0ucGFnZVVwLC5wYWdlRG93bnsNCi0gICAgd2lkdGg6IDYwcHg7DQotICAgIGhlaWdodDogMzBweDsNCi0gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCi0gICAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgICBsaW5lLWhlaWdodDogMzBweDsNCi19DQotLnBhZ2VMaXN0IGxpew0KLSAgICB3aWR0aDogMzBweDsNCi0gICAgaGVpZ2h0OiAzMHB4Ow0KLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KLSAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KLSAgICBib3JkZXItbGVmdDogbm9uZTsNCi19DQotLnBhZ2VMaXN0IGxpLmFjdGl2ZXsNCi0gICAgYmFja2dyb3VuZDogIzQyOGJjYTsNCi0gICAgY29sb3I6ICNmZmY7DQotICAgIGJvcmRlci1jb2xvcjogIzQyOGJjYTsNCi19DQotLnBhZ2VEb3duew0KLSAgICBib3JkZXItbGVmdDogbm9uZTsNCi19DQotLmhlYWRlckxpbmtQew0KLSAgICBwYWRkaW5nLXRvcDogMTdweDsNCi19DQotLmhlYWRlckxpbmtQIHNwYW57DQotICAgIGZvbnQtc2l6ZTogMTJweDsNCi0gICAgY29sb3I6ICM2NjY7DQotICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50Ow0KLX0NCi1sYWJlbHsNCi0gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7DQotfQ0KLXRhYmxlLnVzZXJmb3JtIHRib2R5IHRyIHRkIHsNCi0gIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQotICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KLSAgcGFkZGluZy10b3A6IDEwcHg7DQotICBmb250LXNpemU6IDEycHg7DQotICBjb2xvcjogIzMzMzsNCi19DQotLnRhYmxlIHRoLC50YWJsZSB0ZHsNCi0gICAgcGFkZGluZy10b3A6IDNweCFpbXBvcnRhbnQ7DQotICAgIHBhZGRpbmctYm90dG9tOiAzcHghaW1wb3J0YW50Ow0KLX0NCi0ub3Blbm9Ccm93c2VCdXR0b25fZWxlbWVudCB7DQotICBkaXNwbGF5OiB0YWJsZTsNCi19DQotLm9wZW5vIHsNCi0gIGZvbnQtZmFtaWx5OiAiTWljcm9zb2Z0IFlhaGVpIixTaW1TdW4sQXJpYWwsVGFob21hOw0KLSAgZm9udC1zaXplOiAxMnB4Ow0KLSAgY29sb3I6ICMwMDA7DQotfQ0KLS5vcGVub0Jyb3dzZUJ1dHRvbl9pbnB1dCB7DQotICB3aWR0aDogMTk4cHg7DQotICBwb3NpdGlvbjogcmVsYXRpdmU7DQotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzIWltcG9ydGFudDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7DQotICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsNCi0gIGJvcmRlci1yaWdodDogbm9uZTsNCi0gIHBhZGRpbmc6IDA7DQotfQ0KLS5idXR0b25DbGFzc0RlZmF1bHQsIC5idXR0b25DbGFzc0RlZmF1bHQ6YWN0aXZlIHsNCi0gIGN1cnNvcjogcG9pbnRlcjsNCi0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvb3Blbm8ucG5nKTsNCi0gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTRweCAtN3B4IWltcG9ydGFudDsNCi19DQotLm9wZW5vQnJvd3NlQnV0dG9uX2J1dHRvbiB7DQotICB3aWR0aDogMjdweDsNCi0gIGJvcmRlcjogMDsNCi0gIGZsb2F0OiByaWdodDsNCi0gIHBvc2l0aW9uOiByZWxhdGl2ZTsNCi0gIGhlaWdodDogMjZweDsNCi0gIHJpZ2h0OiAwOw0KLSAgdG9wOiAwOw0KLSAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7DQotICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzNjM2MzOw0KLSAgYm9yZGVyLWxlZnQ6IG5vbmU7DQotfQ0KLS5vcGVubyAub3Blbm8taW5wdXQsIC5vcGVuby5vcGVuby1pbnB1dCB7DQotICBvdXRsaW5lOiAwOw0KLSAgYm9yZGVyOiAxcHggc29saWQgI2MzYzNjMzsNCi0gIGJveC1zaGFkb3c6IDFweCAxcHggI2Y2ZjZmNiBpbnNldDsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQotICBoZWlnaHQ6IDI2cHg7DQotfQ0KLS5vcGVub0lucHV0X29wZW5vRGVmYXVsdFRleHQgew0KLSAgcGFkZGluZzogMCAwIDAgNnB4Ow0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgY29sb3I6ICMwMDA7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBvdXRsaW5lOiAwOw0KLSAgYm94LXNoYWRvdzogMXB4IDFweCAjZjZmNmY2IGluc2V0Ow0KLSAgZm9udC1zaXplOiAxMnB4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCi19DQotZGl2Lm9wZW5vLXNlbGVjdCB7DQotICBib3JkZXI6IDFweCBzb2xpZCAjYzNjM2MzOw0KLSAgYm9yZGVyLXJhZGl1czogNHB4Ow0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hcnJvdy1kb3duLWVuYWJsZS5wbmcpIHJpZ2h0IG5vLXJlcGVhdCAjZmZmOw0KLSAgbGluZS1oZWlnaHQ6IDI0cHg7DQotICBwYWRkaW5nLWxlZnQ6IDNweDsNCi0gIGRpc3BsYXk6IGJsb2NrOw0KLX0NCi1kaXYub3Blbm8tc2VsZWN0PmlucHV0Lm9wZW5vLXNlbGVjdC1pbnB1dCB7DQotICBib3JkZXI6IG5vbmU7DQotICBvdXRsaW5lOiAwOw0KLSAgbGluZS1oZWlnaHQ6IDIxcHg7DQotICBoZWlnaHQ6IDIxcHg7DQotICBwYWRkaW5nLWxlZnQ6IDNweDsNCi0gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNjM2MzYzM7DQotfQ0KLS5vcGVubyAub3Blbm8tZWxsaXBzaXMsIC5vcGVuby5vcGVuby1lbGxpcHNpcyB7DQotICBvdmVyZmxvdzogaGlkZGVuOw0KLSAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCi0gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KLX0NCi1hLm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzLCBhLm9wZW5vQnV0dG9uX2J1dHRvbkRpc2FibGVDbGFzcywgZGl2Lm9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzLCBkaXYub3Blbm9CdXR0b25fYnV0dG9uRGlzYWJsZUNsYXNzIHsNCi0gIGhlaWdodDogMjZweDsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgY3Vyc29yOiBwb2ludGVyOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KLSAgb3V0bGluZTogMDsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7DQotICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpOw0KLSAgYmFja2dyb3VuZDogI2ZhZmFmYTsNCi0gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZmZmLCNmYWZhZmEpOw0KLSAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLCNmZmYpLGNvbG9yLXN0b3AoMTAwJSwjZmFmYWZhKSk7DQotICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZiwjZmFmYWZhKTsNCi0gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2ZmZiwjZmFmYWZhKTsNCi0gIGJvcmRlci1yYWRpdXM6IDZweDsNCi19DQotLm9wZW5vQnV0dG9uX2J1dHRvbklubmVyQ2xhc3N7DQotICAgICAgcGFkZGluZzogMCAxOXB4Ow0KLSAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCi19DQotLm9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgew0KLSAgY29sb3I6ICMwMDA7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIHdoaXRlLXNwYWNlOiBub3dyYXA7DQotICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7DQotfQ0KLS51c2VySGVhZGVyIHsNCi0gIGNsZWFyOiBsZWZ0Ow0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIG1hcmdpbi1ib3R0b206IDEwcHg7DQotICBwYWRkaW5nOiAxMHB4IDEwcHggMHB4IDBweDsNCi19DQotLm9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3Mgew0KLSAgZGlzcGxheTogaW5saW5lOw0KLX0NCi0ub3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyBkaXYub3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50OmZpcnN0LWNoaWxkIHsNCi0gIG1hcmdpbi1sZWZ0OiAwOw0KLX0NCi0ub3Blbm9CdXR0b25fYnV0dG9uTGVmdEltZyB7DQotICBtYXJnaW4tcmlnaHQ6IDVweDsNCi19DQotLm9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWcsIC5vcGVub0J1dHRvbl9idXR0b25SaWdodEltZyB7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KLSAgd2lkdGg6IDE2cHg7DQotICBoZWlnaHQ6IDE2cHg7DQotICBtYXJnaW4tdG9wOiA0cHg7DQotfQ0KLS5vcGVuby10YWJsZS1wYWdpbmF0aW9uLXdyYXBwZXIgew0KLSAgaGVpZ2h0OiAzN3B4Ow0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbiB7DQotICBkaXNwbGF5OiBibG9jazsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIHBhZGRpbmc6IDVweCAwIDA7DQotICBtYXJnaW4tdG9wOiA4cHg7DQotfQ0KLS5vcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9uczpub3QobXNpZTgpIHsNCi0gIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KLX0NCi0ub3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnMgew0KLSAgd2hpdGUtc3BhY2U6IG5vcm1hbDsNCi0gIGhlaWdodDogMjRweDsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgb3V0bGluZTogMDsNCi0gIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KLSAgbWFyZ2luOiAwIDVweDsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IHsNCi0gIGhlaWdodDogMjZweDsNCi0gIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KLSAgdGV4dC1hbGlnbjogY2VudGVyOw0KLSAgbWFyZ2luLXJpZ2h0OiAtMnB4Ow0KLSAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCi0gIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4Ow0KLSAgcGFkZGluZzogMXB4Ow0KLX0NCi0ub3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnMgc3BhbiB7DQotICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmIWltcG9ydGFudDsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3BhbiB7DQotICBmbG9hdDogbGVmdDsNCi0gIGNvbG9yOiAjNjY2Ow0KLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGZvbnQtd2VpZ2h0OiA0MDA7DQotICB0ZXh0LWFsaWduOiBjZW50ZXI7DQotICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwOw0KLSAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCi0gIHBhZGRpbmc6IDAgN3B4Ow0KLSAgYm9yZGVyLXJhZGl1czogM3B4Ow0KLSAgYmFja2dyb3VuZDogI2ZmZjsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tc2VsZWN0c3BhbiB7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2lkZW9fZGVmYXVsdF9zZWxlY3QucG5nKSBsZWZ0IG5vLXJlcGVhdCFpbXBvcnRhbnQ7DQotICBmbG9hdDogcmlnaHQhaW1wb3J0YW50Ow0KLSAgd2lkdGg6IDI2cHg7DQotICBoZWlnaHQ6IDI2cHg7DQotICBjdXJzb3I6IHBvaW50ZXI7DQotfQ0KLS5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIGxhYmVsIHsNCi0gIHBhZGRpbmctdG9wOiA2cHg7DQotICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KLSAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KLSAgbWFyZ2luLXRvcDogLTFweDsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KLSAgaGVpZ2h0OiAyMHB4Ow0KLSAgZm9udDogMTJweCBMdWNpZGEgR3JhbmRlLFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7DQotfQ0KLS5vcGVuby1wYWdpbmF0aW9uIGxpLCAub3Blbm8tcGFnaW5hdGlvbiB1bCB7DQotICBsaXN0LXN0eWxlOiBub25lOw0KLSAgcGFkZGluZzogMDsNCi0gIG1hcmdpbjogMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KLX0NCi1kZCwgZGwsIGR0LCBsaSB7DQotICBjb2xvcjogIzAwMDsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgYSwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgc3Bhbi5jdXJyZW50IHsNCi0gIG1hcmdpbjogMCA1cHggMCAwOw0KLX0NCi0ub3Blbm8gLm9wZW5vLWRpc2FibGVkLCAub3Blbm8ub3Blbm8tZGlzYWJsZWQgew0KLSAgYm9yZGVyLWNvbG9yOiAjYzNjM2MzIWltcG9ydGFudDsNCi0gIGNvbG9yOiAjNjY2IWltcG9ydGFudDsNCi0gIG9wYWNpdHk6IC4zOw0KLSAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYgew0KLSAgYmFja2dyb3VuZDogMCAwOw0KLSAgZmxvYXQ6IGxlZnQ7DQotfQ0KLS5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5jdXJyZW50IHsNCi0gIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7DQotICBmbG9hdDogbGVmdDsNCi0gIHBhZGRpbmctbGVmdDogNnB4Ow0KLSAgaGVpZ2h0OiAyNHB4Ow0KLSAgY29sb3I6ICNmZmY7DQotICBkaXNwbGF5OiBpbmxpbmU7DQotICBib3JkZXItY29sb3I6ICMwMGFkZjU7DQotICBiYWNrZ3JvdW5kOiAjNGFkMmZmOw0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBhLCAub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBzcGFuIHsNCi0gIGZsb2F0OiBsZWZ0Ow0KLSAgY29sb3I6ICM2NjY7DQotICBmb250OiAxMnB4IEx1Y2lkYSBHcmFuZGUsVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsNCi0gIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KLSAgZm9udC13ZWlnaHQ6IDQwMDsNCi0gIHRleHQtYWxpZ246IGNlbnRlcjsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQotICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50Ow0KLSAgcGFkZGluZzogMCA3cHg7DQotICBib3JkZXItcmFkaXVzOiAzcHg7DQotICBiYWNrZ3JvdW5kOiAjZmZmOw0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldi5vcGVuby1kaXNhYmxlZDpiZWZvcmUgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2xlZnRfZGlzYWJsZWQucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXYub3Blbm8tZGlzYWJsZWQ6YmVmb3JlIHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9sZWZ0X2Rpc2FibGVkLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQotfQ0KLS5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQotICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BhZ2VfbC5wbmcpIDUwJSA0NSUgbm8tcmVwZWF0Ow0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAubmV4dDphZnRlciwgLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLnByZXY6YmVmb3JlIHsNCi0gIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCi0gIGNvbnRlbnQ6ICIiOw0KLSAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCi0gIHdpZHRoOiAxMHB4Ow0KLSAgaGVpZ2h0OiAyNHB4Ow0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAucHJldjpiZWZvcmUgew0KLSAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wYWdlX2wucG5nKSA1MCUgNDUlIG5vLXJlcGVhdDsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLm5leHQ6YWZ0ZXIsIC5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2OmJlZm9yZSB7DQotICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQotICBjb250ZW50OiAiIjsNCi0gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQotICB3aWR0aDogMTBweDsNCi0gIGhlaWdodDogMjRweDsNCi19DQotcGFnaW5hdGlvbiB1bCB7DQotICBsaXN0LXN0eWxlOiBub25lOw0KLSAgcGFkZGluZzogMDsNCi0gIG1hcmdpbjogMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbiBsaSwgLm9wZW5vLXBhZ2luYXRpb24gdWwgew0KLSAgbGlzdC1zdHlsZTogbm9uZTsNCi0gIHBhZGRpbmc6IDA7DQotICBtYXJnaW46IDA7DQotICBmbG9hdDogbGVmdDsNCi19DQotLm9wZW5vUGFnaW5hdGlvbl9nb3RvdGV4dCB7DQotICBiYWNrZ3JvdW5kOiAjRkZGOw0KLSAgb3V0bGluZTogMDsNCi0gIHdpZHRoOiAyOXB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBoZWlnaHQ6IDI2cHg7DQotICBsaW5lLWhlaWdodDogMjRweDsNCi0gIGJvcmRlci1yYWRpdXM6IDRweDsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7DQotICBwYWRkaW5nOiAwIDAgMCA1cHg7DQotICBtYXJnaW46IDA7DQotICBjb2xvcjogIzY2NjsNCi0gIG1pbi13aWR0aDogNTBweDsNCi19DQotLm9wZW5vUGFnaW5hdGlvbl9nb3RvaW1hZ2Ugew0KLSAgd2lkdGg6IDI5cHg7DQotICBoZWlnaHQ6IDI2cHg7DQotICBsaW5lLWhlaWdodDogMjZweDsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7DQotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3BvcnRhbC90aGVtZXMvZGVmYXVsdC9jb21wb25lbnRzL29wZW5vL2ltYWdlcy9vcGVuby5wbmcpOw0KLSAgcGFkZGluZy1sZWZ0OiAyMXB4Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBtYXJnaW4tbGVmdDogNXB4Ow0KLSAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsNCi0gIGJvcmRlci1yYWRpdXM6IDRweDsNCi0gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQotICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQotICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg0cHggLTE4MXB4IWltcG9ydGFudDsNCi19DQotLm9wZW5vLXBhZ2luYXRpb24tdGhlbWUgLmVsbGlwc2Ugew0KLSAgZmxvYXQ6IGxlZnQ7DQotICBtYXJnaW4tbGVmdDogLThweDsNCi0gIG1hcmdpbi1yaWdodDogLTRweDsNCi0gIGJhY2tncm91bmQ6IDAgMDsNCi0gIGJvcmRlcjogbm9uZTsNCi0gIGJvcmRlci1yYWRpdXM6IDA7DQotICBib3gtc2hhZG93OiBub25lOw0KLSAgZm9udC13ZWlnaHQ6IDcwMDsNCi0gIGN1cnNvcjogZGVmYXVsdDsNCi19DQotLm9wZW5vLm9wZW5vLWRpc2FibGVkIHsNCi0gIGJvcmRlci1jb2xvcjogI2MzYzNjMyFpbXBvcnRhbnQ7DQotICBjb2xvcjogIzY2NiFpbXBvcnRhbnQ7DQotICBvcGFjaXR5OiAuMzsNCi0gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7DQotfQ0KLS5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5wcmV2IHsNCi0gIGJhY2tncm91bmQ6IDAgMDsNCi0gIGZsb2F0OiBsZWZ0Ow0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbi10aGVtZSAuY3VycmVudCB7DQotICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50Ow0KLSAgZmxvYXQ6IGxlZnQ7DQotICBwYWRkaW5nLWxlZnQ6IDZweDsNCi0gIGhlaWdodDogMjZweDsNCi0gIGNvbG9yOiAjZmZmOw0KLSAgZGlzcGxheTogaW5saW5lOw0KLSAgLypib3JkZXItY29sb3I6ICMwMGFkZjU7DQotICBiYWNrZ3JvdW5kOiAjNGFkMmZmOyovDQotICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7DQotfQ0KLS5vcGVuby1wYWdpbmF0aW9uLXRoZW1lIC5uZXh0OmFmdGVyIHsNCi0gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGFnZV9yLnBuZykgNTAlIDQ1JSBuby1yZXBlYXQ7DQotfQ0KLS5vcGVub0J1dHRvbl9idXR0b25Hcm91cENsYXNzIGRpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQsIC5vcGVub0J1dHRvbl9idXR0b25SaWdodEltZyB7DQotICBtYXJnaW4tbGVmdDogNXB4Ow0KLX0NCi0NCi1odG1sLCBib2R5IHsNCi0gIGhlaWdodDogOTklOw0KLSAgd2lkdGg6IDk4JTsNCi19DQotLmNvdGVudEJvZHkgew0KLSAgcGFkZGluZzogMHB4IDIwcHggMHB4IDIwcHg7DQotfQ0KLQ0KLWRpdi5vcGVub0J1dHRvbl9idXR0b25DbGFzczpob3ZlciB7DQotICBib3JkZXI6IDFweCBzb2xpZCAjNGFjOWZmOw0KLX0NCi1kaXYub3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQ6aG92ZXIgLm9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgew0KLSAgY29sb3I6ICMwMDlhZTc7DQotfQ0KLS5oZWFkZXJfbGluZWltZyB7DQotICBoZWlnaHQ6IDFweDsNCi0gIHdpZHRoOiAxMDAlOw0KLSAgbWFyZ2luLXRvcDogMTdweDsNCi19DQotLm9wZW5vLm9wZW5vLWhpZGUgew0KLSAgZGlzcGxheTogbm9uZTsNCi19DQotZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgew0KLSAgcG9zaXRpb246IGFic29sdXRlOw0KLSAgYm9yZGVyOiAxcHggc29saWQgIzRhYzlmZjsNCi0gIGJvcmRlci10b3A6IG5vbmU7DQotICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsNCi0gIG1heC1oZWlnaHQ6IDIwMnB4Ow0KLSAgb3ZlcmZsb3cteTogYXV0bzsNCi0gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQotICB6LWluZGV4OiA4ODA7DQotfQ0KLWRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbSB7DQotICBkaXNwbGF5OiBibG9jazsNCi19DQotLm9wZW5vIC5vcGVuby1lbGxpcHNpcywgLm9wZW5vLm9wZW5vLWVsbGlwc2lzIHsNCi0gIG92ZXJmbG93OiBoaWRkZW47DQotICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KLSAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQotfQ0KLWRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbT5sYWJlbCB7DQotICBwYWRkaW5nLXRvcDogM3B4Ow0KLSAgcGFkZGluZy1ib3R0b206IDNweDsNCi0gIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KLX0NCi0ub3Blbm8gLm9wZW5vLWVsbGlwc2lzLCAub3Blbm8ub3Blbm8tZWxsaXBzaXMgew0KLSAgb3ZlcmZsb3c6IGhpZGRlbjsNCi0gIHdoaXRlLXNwYWNlOiBub3dyYXA7DQotICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCi19DQotLm9wZW5vLXNlbGVjdC1pdGVtIGxhYmVsIHsNCi0gIG1hcmdpbi1sZWZ0OiA0cHg7DQotICBtYXJnaW4tcmlnaHQ6IDRweDsNCi0gIHdoaXRlLXNwYWNlOiBub3dyYXA7DQotfQ0KLWRpdi5vcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyPmRpdi5vcGVuby1zZWxlY3QtaXRlbS5vcGVuby1pdGVtLXNlbGVjdGVkLCBkaXYub3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lcj5kaXYub3Blbm8tc2VsZWN0LWl0ZW06aG92ZXIgew0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsNCi0gIGNvbG9yOiAjMDA4ZmQ2Ow0KLX0NCi1kaXYub3Blbm8tc2VsZWN0Lm9wZW5vLWZvY3VzIHsNCi0gIGJvcmRlcjogMXB4IHNvbGlkICM0YWM5ZmY7DQotICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KLSAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQotICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOw0KLX0NCi0ub3Blbm8tcGFnaW5hdGlvbi10aGVtZSBhOmhvdmVyIHsNCi0gIGJvcmRlci1jb2xvcjogIzRhYzlmZjsNCi0gIGN1cnNvcjogcG9pbnRlcjsNCi19DQotLlNEQnRuew0KLSAgICAgYmFja2dyb3VuZDogI2ZmZjsgDQotICAgICBjb2xvcjogIzMzMzsgDQotICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KLX0NCi0uU0RCdG46aG92ZXJ7DQotICAgIGNvbG9yOiAjMDA5YWU3OwkNCi0JYm9yZGVyOiAxcHggc29saWQgIzRBQzlGRg0KLX0NCi10YWJsZSB0Ym9keSB0ci5ldmVuOmhvdmVyIHRkLCB0YWJsZSB0Ym9keSB0ci5vZGQ6aG92ZXIgdGQgew0KLSAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmJlMDsNCi19DQotdGFibGUgdHIub3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQgdGQgew0KLSAgYmFja2dyb3VuZDogI2U4ZjhmZSFpbXBvcnRhbnQ7DQotICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOCFpbXBvcnRhbnQ7DQotfQ0KLS5tb2RhbC1ib2R5ew0KLSAgICBwYWRkaW5nOiAwIWltcG9ydGFudDsNCi19DQotLmZvcm0tY29udHJvbHsNCi0gICAgaGVpZ2h0OiAyNnB4IWltcG9ydGFudDsNCi19DQotLmZvcm0tZ3JvdXAgLmNvbnRyb2wtbGFiZWwgew0KLSAgbWFyZ2luLWxlZnQ6IDIwcHg7DQotfQ0KLQ0KLS5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWwgew0KLSAgdGV4dC1hbGlnbjogbGVmdDsNCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9qcy9icnMuanMgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2pzL2Jycy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNkMjEzYy4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2pzL2Jycy5qcworKysgL2Rldi9udWxsCkBAIC0xLDM0MiArMCwwIEBACi0vKiBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCi0gKg0KLSAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCi0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCi0gKg0KLSAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KLSAqDQotICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KLSAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQotICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQotICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KLSAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KLSAqLw0KLSANCi0kKCcuc2l0ZURlbGV0ZUltZycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCXZhciBkYXRhID0gJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCd0ZDpsYXN0JykuZmluZCgnZGl2Omxhc3QnKS5odG1sKCk7DQotCWFsZXJ0KGRhdGEpOw0KLQl2YXIganNvbk9iaiA9IEpTT04ucGFyc2UoZGF0YSk7DQotCWZvcih2YXIgaSA9IDA7IGkgPCBqc29uT2JqLmxlbmd0aDsgaSsrKSB7DQotCSAgICB2YXIgb2JqID0ganNvbk9ialtpXTsNCi0JCXZhciByb3dEYXRhID0gW29iai50cE5hbWUsb2JqLnBlTmFtZSxvYmoudmxhbklkLG9iai5zaXRlQ2lkcixvYmouaXBdOw0KLQkJJCgnI3VuZGVybGF5VHBEYXRhVGFibGUnKS5EYXRhVGFibGUoKTsNCi0JCSQoJyN1bmRlcmxheVRwRGF0YVRhYmxlJykuZGF0YVRhYmxlKCkuZm5BZGREYXRhKHJvd0RhdGEpOw0KLQl9DQotfSk7DQotDQotDQotZnVuY3Rpb24gZGVsZXRlU2l0ZShvYmplY3RJZCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9zaXRlcy8iK29iamVjdElkOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiREVMRVRFIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJJCgnI3NpdGUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KLQkJICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCi0JCSAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQkJYWxlcnQoIkRlbGV0ZSBTaXRlIHN1Y2Nlc3NmdWxsICEhISIpOw0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gZGVsZXRpbmcgc2l0ZTogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLX0NCi1mdW5jdGlvbiBkZWxldGVMaW5rKG9iamVjdElkKXsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL3RvcG9sb2dpY2FsLWxpbmtzLyIrb2JqZWN0SWQ7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJERUxFVEUiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7DQotCQkgICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaWQnLA0KLQkJICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtvYmplY3RJZF0NCi0JCSAgICAgICAgICAgICAgICB9KTsNCi0JCQkJCQlhbGVydCgiRGVsZXRlIExpbmsgc3VjY2Vzc2Z1bGwgISEhIik7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBsaW5rIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLX0NCi0NCi1mdW5jdGlvbiBkZWxldGVOZShvYmplY3RJZCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzLyIrb2JqZWN0SWQ7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJERUxFVEUiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjbmUnKS5ib290c3RyYXBUYWJsZSgncmVtb3ZlJywgew0KLQkJICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ2lkJywNCi0JCSAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbb2JqZWN0SWRdDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQkJYWxlcnQoIkRlbGV0ZSBORSBzdWNjZXNzZnVsbCAhISEiKTsNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIGRlbGV0aW5nIG5lIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLX0NCi0NCi1mdW5jdGlvbiBkZWxldGVQb3J0KG9iamVjdElkKXsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL2xvZ2ljYWwtdGVybWluYXRpb24tcG9pbnRzLyIrb2JqZWN0SWQ7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJERUxFVEUiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjcG9ydCcpLmJvb3RzdHJhcFRhYmxlKCdyZW1vdmUnLCB7DQotCQkgICAgICAgICAgICAgICAgICAgIGZpZWxkOiAnaWQnLA0KLQkJICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtvYmplY3RJZF0NCi0JCSAgICAgICAgICAgICAgICB9KTsNCi0JCQkJCQlhbGVydCgiRGVsZXRlIFBvcnQgc3VjY2Vzc2Z1bGwgISEhIik7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBkZWxldGluZyBwb3J0IDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLX0NCi1mdW5jdGlvbiBsb2FkU2l0ZURhdGEoKXsNCi0JdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL3NpdGVzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIkdFVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvbm9iaikgew0KLQkJCQkJCSQoJyNzaXRlJykuYm9vdHN0cmFwVGFibGUoew0KLQkJCSAgICAgICAgICAgICAgICBkYXRhOiBqc29ub2JqLnNpdGVzDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHNpdGUgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi19DQotZnVuY3Rpb24gbG9hZExpbmtEYXRhKCl7DQotCXZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS90b3BvbG9naWNhbC1saW5rcyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJHRVQiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCQkgICAgICAgICAgICAgICAgZGF0YToganNvbm9iai50b3BvbG9naWNhbExpbmtzDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIGxpbmsgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi19DQotZnVuY3Rpb24gbG9hZE5lRGF0YSgpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbWFuYWdlZC1lbGVtZW50cyI7DQotCQkgICAgICAgICQNCi0JCQkJLmFqYXgoew0KLQkJCQkJdHlwZSA6ICJHRVQiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKGpzb25vYmopIHsNCi0JCQkJCQkkKCcjbmUnKS5ib290c3RyYXBUYWJsZSh7DQotCQkJICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmoubWFuYWdlZEVsZW1lbnRzDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIG5lIGRhdGEgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQotfQ0KLWZ1bmN0aW9uIGxvYWRQb3J0RGF0YSgpew0KLQl2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiR0VUIiwNCi0JCQkJCXVybCA6IHJlcXVlc3RVcmwsDQotCQkJCQljb250ZW50VHlwZSA6ICJhcHBsaWNhdGlvbi9qc29uIiwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29ub2JqKSB7DQotCQkJCQkJJCgnI3BvcnQnKS5ib290c3RyYXBUYWJsZSh7DQotCQkgICAgICAgICAgICAgICAgIGRhdGE6IGpzb25vYmoubG9naWNhbFRlcm1pbmF0aW9uUG9pbnRzDQotCQkgICAgICAgICAgICAgICAgfSk7DQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBnZXR0aW5nIHBvcnQgZGF0YSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi19DQotJChmdW5jdGlvbigpew0KLQkJCSQoJy5jcmVhdC1idG4nKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5hZGRDbGFzcygnaW4nKS5jc3MoeydkaXNwbGF5JzonYmxvY2snfSk7DQotCQkJCQ0KLQkJCX0pOw0KLQkJCSQoJy5jbG9zZSwuYnV0dG9uLXByZXZpb3VzJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQkJCX0pOw0KLQkJCSQoJy5kZXRhaWwtdG9wIHVsIGxpJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTsNCi0JCQl9KTsNCi0JCQkkKCcucGFyYScpLmNsaWNrKGZ1bmN0aW9uKCl7CQkJCQ0KLQkJCQlpZigkKCcjc2VydmljZVRlbXBsYXRlTmFtZScpLnZhbCgpID09ICcnKXsNCi0JCQkJCWFsZXJ0KCdQbGVhc2UgY2hvb3NlIHRoZSBzZXJ2aWNlIHRlbXBsZXTvvIEnKTsNCi0JCQkJCSQoJyNmbGF2b3JUYWInKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJCX1lbHNlew0KLQkJCQkJJCgnI2ZsYXZvclRhYicpLmNzcygnZGlzcGxheScsJ2Jsb2NrJyk7DQotCQkJCX0NCi0JCQkJJCgnI2Jhc2ljVGFiJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCi0JCQl9KTsNCi0JCQkkKCcuYmFzaWMnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQkkKCcjZmxhdm9yVGFiJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQkJCX0pOw0KLQkJCQ0KLQkJCSQoJy50YWJsZSB0Ym9keSB0cicpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQodGhpcykuYWRkQ2xhc3MoJ29wZW5vVGFibGVfcm93X3NlbGVjdGVkJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnb3Blbm9UYWJsZV9yb3dfc2VsZWN0ZWQnKTsNCi0JCQl9KTsNCi0JCQkkKCcudGFibGUgdHI6b2RkJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KLQkJCSQoJyNmYWxzZScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyN2bUFwcERpYWxvZycpLmFkZENsYXNzKCdpbicpLmNzcyh7J2Rpc3BsYXknOidibG9jayd9KTsNCi0JCQl9KTsNCi0JCQkkKCcuY2xvc2UsLmJ1dHRvbi1wcmV2aW91cycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQl9KTsNCi0JCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lcicpLnRvZ2dsZUNsYXNzKCdvcGVuby1oaWRlJyk7DQotCQkJCSQoJyNmaWx0ZXJUcExvZ2ljYWxUeXBlJykudG9nZ2xlQ2xhc3MoJ29wZW5vLWZvY3VzJyk7DQotCQkJCXZhciBvTGVmdCA9ICQoJyNvcGVuX2Jhc2VfdHBMX3RkNicpLm9mZnNldCgpLmxlZnQ7DQotCQkJdmFyIG9Ub3AgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5vZmZzZXQoKS50b3A7DQotCQkJdmFyIG9IZWlnaHQgPSAkKCcjb3Blbl9iYXNlX3RwTF90ZDYnKS5oZWlnaHQoKTsNCi0JCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXInKS5jc3MoeydsZWZ0JzpvTGVmdCwndG9wJzpvVG9wICsgb0hlaWdodCArIDEwfSk7DQotCQkJfSk7DQotCQkJJCgnZGl2Lm9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXI+ZGl2Lm9wZW5vLXNlbGVjdC1pdGVtPmxhYmVsJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIEx2YWx1ZSA9ICQodGhpcykuaHRtbCgpOw0KLQkJCQkkKCcjZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfaW5wdXQnKS5hdHRyKCd2YWx1ZScsTHZhbHVlKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyJykuYWRkQ2xhc3MoJ29wZW5vLWhpZGUnKTsNCi0JCQkJJCgnI2ZpbHRlclRwTG9naWNhbFR5cGUnKS5yZW1vdmVDbGFzcygnb3Blbm8tZm9jdXMnKTsNCi0JCQl9KTsNCi0JCQkkLmZuLnNlcmlhbGl6ZU9iamVjdCA9IGZ1bmN0aW9uKCkgew0KLQkJCQl2YXIgbyA9IHt9Ow0KLQkJCQl2YXIgYSA9IHRoaXMuc2VyaWFsaXplQXJyYXkoKTsNCi0JCQkJJC5lYWNoKGEsIGZ1bmN0aW9uKCkgew0KLQkJCQkJaWYgKG9bdGhpcy5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7DQotCQkJCQkJaWYgKCFvW3RoaXMubmFtZV0ucHVzaCkgew0KLQkJCQkJCQlvW3RoaXMubmFtZV0gPSBbIG9bdGhpcy5uYW1lXSBdOw0KLQkJCQkJCX0NCi0JCQkJCW9bdGhpcy5uYW1lXS5wdXNoKHRoaXMudmFsdWUgfHwgJycpOw0KLQkJCQkJfSBlbHNlIHsNCi0JCQkJCQlvW3RoaXMubmFtZV0gPSB0aGlzLnZhbHVlIHx8ICcnOw0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQlyZXR1cm4gbzsNCi0JCQl9Ow0KLQkJCSQoJyNjcmVhdGVTaXRlJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI3ZtQXBwRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCSAgICAgICAgdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIG5ld0pzb24gPSB7InNpdGUiOiBqc29ub2JqfTsNCi0JCSAgICAgICAgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeShuZXdKc29uKTsNCi0JCSAgICAgICAgdmFyIHJlcXVlc3RVcmwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDgwL29yZy5vcGVuby5zZG5vLmJycy9vcGVub2FwaS9zZG5vYnJzL3YxL3NpdGVzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIlBPU1QiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJZGF0YVR5cGUgOiAianNvbiIsDQotCQkJCQlkYXRhIDogZm9ybURhdGEsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsNCi0JCQkJCQlhbGVydCgiU2l0ZSBzYXZlZCBzdWNjZXNzZnVsbHkhISEiKTsNCi0JCQkJCQlqc29ub2JqWyJpZCJdPSBqc29uUmVzcC5zaXRlLmlkOw0KLQkJCQkJCSQoJyNzaXRlJykuYm9vdHN0cmFwVGFibGUoImFwcGVuZCIsIGpzb25vYmopOw0KLQkJCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQotCQkJfSk7DQotCQkJDQotCQkJJCgnI2NyZWF0ZU5lJykuY2xpY2soZnVuY3Rpb24oKXsNCi0JCQkJdmFyIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkoJCgiI25lRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCQkJdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIG5ld0pzb24gPSB7Im1hbmFnZWRFbGVtZW50IjoganNvbm9ian07DQotCQkgICAgICAgIGZvcm1EYXRhID0gSlNPTi5zdHJpbmdpZnkobmV3SnNvbik7DQotCQkgICAgICAgIHZhciByZXF1ZXN0VXJsID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9vcmcub3Blbm8uc2Ruby5icnMvb3Blbm9hcGkvc2Rub2Jycy92MS9tYW5hZ2VkLWVsZW1lbnRzIjsNCi0JCSAgICAgICAgJA0KLQkJCQkuYWpheCh7DQotCQkJCQl0eXBlIDogIlBPU1QiLA0KLQkJCQkJdXJsIDogcmVxdWVzdFVybCwNCi0JCQkJCWNvbnRlbnRUeXBlIDogImFwcGxpY2F0aW9uL2pzb24iLA0KLQkJCQkJZGF0YVR5cGUgOiAianNvbiIsDQotCQkJCQlkYXRhIDogZm9ybURhdGEsDQotCQkJCQlzdWNjZXNzIDogZnVuY3Rpb24oanNvblJlc3ApIHsNCi0JCQkJCQlhbGVydCgiTkUgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISEhIik7DQotCQkJCQkJanNvbm9ialsiaWQiXT0ganNvblJlc3AubWFuYWdlZEVsZW1lbnQuaWQ7DQotCQkJCQkJJCgnI25lJykuYm9vdHN0cmFwVGFibGUoImFwcGVuZCIsIGpzb25vYmopOw0KLQkJCQkJCSQoJyN2bUFwcERpYWxvZycpLnJlbW92ZUNsYXNzKCdpbicpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0NCi0JCQkJCX0sDQotCQkJCQllcnJvciA6IGZ1bmN0aW9uKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7DQotCQkJCQkJYWxlcnQoIkVycm9yIG9uIHBhZ2UgOiAiICsgeGhyLnJlc3BvbnNlVGV4dCk7IAkNCi0JCQkJCX0NCi0JCQkJfSk7DQotCQkJfSk7DQotCQkJDQotCQkJJCgnI2NyZWF0ZVBvcnQnKS5jbGljayhmdW5jdGlvbigpew0KLQkJCQl2YXIgZm9ybURhdGEgPSBKU09OLnN0cmluZ2lmeSgkKCIjcG9ydEZvcm0iKS5zZXJpYWxpemVPYmplY3QoKSk7DQotCQkJCXZhciBqc29ub2JqID0gSlNPTi5wYXJzZShmb3JtRGF0YSk7DQotCQkgICAgICAgIHZhciBuZXdKc29uID0geyJsb2dpY2FsVGVybWluYXRpb25Qb2ludCI6IGpzb25vYmp9Ow0KLQkJICAgICAgICBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KLQkJICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvbG9naWNhbC10ZXJtaW5hdGlvbi1wb2ludHMiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJCWRhdGEgOiBmb3JtRGF0YSwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgew0KLQkJCQkJCWFsZXJ0KCJQb3J0IHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KLQkJCQkJCS8vVE9ETyA6IGhpZGUgbW9kZWwgZGF0YSB3aW5kb3cuDQotCQkJCQkJanNvbm9ialsiaWQiXT0ganNvblJlc3AubG9naWNhbFRlcm1pbmF0aW9uUG9pbnQuaWQ7DQotCQkJCQkJJCgnI3BvcnQnKS5ib290c3RyYXBUYWJsZSgiYXBwZW5kIiwganNvbm9iaik7DQotCQkJCQkJJCgnI3ZtQXBwRGlhbG9nJykucmVtb3ZlQ2xhc3MoJ2luJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLQ0KLQkJCQkJfSwNCi0JCQkJCWVycm9yIDogZnVuY3Rpb24oeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHsNCi0JCQkJCQlhbGVydCgiRXJyb3Igb24gcGFnZSA6ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsgCQ0KLQkJCQkJfQ0KLQkJCQl9KTsNCi0JCQl9KTsNCi0JCQkNCi0JCQkkKCcjY3JlYXRlTGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7DQotCQkJCXZhciBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KCQoIiNsaW5rRm9ybSIpLnNlcmlhbGl6ZU9iamVjdCgpKTsNCi0JCQkJdmFyIGpzb25vYmogPSBKU09OLnBhcnNlKGZvcm1EYXRhKTsNCi0JCSAgICAgICAgdmFyIG5ld0pzb24gPSB7InRvcG9sb2dpY2FsTGluayI6IGpzb25vYmp9Ow0KLQkJICAgICAgICBmb3JtRGF0YSA9IEpTT04uc3RyaW5naWZ5KG5ld0pzb24pOw0KLQkJICAgICAgICB2YXIgcmVxdWVzdFVybCA9ICJodHRwOi8vbG9jYWxob3N0OjgwODAvb3JnLm9wZW5vLnNkbm8uYnJzL29wZW5vYXBpL3Nkbm9icnMvdjEvdG9wb2xvZ2ljYWwtbGlua3MiOw0KLQkJICAgICAgICAkDQotCQkJCS5hamF4KHsNCi0JCQkJCXR5cGUgOiAiUE9TVCIsDQotCQkJCQl1cmwgOiByZXF1ZXN0VXJsLA0KLQkJCQkJY29udGVudFR5cGUgOiAiYXBwbGljYXRpb24vanNvbiIsDQotCQkJCQlkYXRhVHlwZSA6ICJqc29uIiwNCi0JCQkJCWRhdGEgOiBmb3JtRGF0YSwNCi0JCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihqc29uUmVzcCkgew0KLQkJCQkJCWFsZXJ0KCJMaW5rIHNhdmVkIHN1Y2Nlc3NmdWxseSEhISIpOw0KLQkJCQkJCWpzb25vYmpbImlkIl09IGpzb25SZXNwLnRvcG9sb2dpY2FsTGluay5pZDsNCi0JCQkJCQkkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKCJhcHBlbmQiLCBqc29ub2JqKTsNCi0JCQkJCQkkKCcjdm1BcHBEaWFsb2cnKS5yZW1vdmVDbGFzcygnaW4nKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotCQkJCQkJDQotCQkJCQl9LA0KLQkJCQkJZXJyb3IgOiBmdW5jdGlvbih4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikgew0KLQkJCQkJCWFsZXJ0KCJFcnJvciBvbiBwYWdlIDogIiArIHhoci5yZXNwb25zZVRleHQpOyAJDQotCQkJCQl9DQotCQkJCX0pOw0KLQkJCX0pOw0KLQkJCQ0KLQkJfSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL2xpbmsuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvbGluay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTI0ZWRhLi4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvbGluay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzAzICswLDAgQEAKLTwhLS0NCi0NCi0gICAgQ29weXJpZ2h0IDIwMTYsIEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQotDQotICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KLSAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQotICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KLQ0KLSAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KLQ0KLSAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQotICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQotICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KLSAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQotICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KLQ0KLS0tPg0KLQ0KLTwhRE9DVFlQRSBodG1sPg0KLTxodG1sPg0KLTxoZWFkPg0KLQk8aGVhZCBsYW5nPSJlbiI+DQotCTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCi0JPHRpdGxlPjwvdGl0bGU+DQotCTxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KLQk8bGluayBocmVmPSJjc3MvVk1NYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvanF1ZXJ5LTEuMTEuMi5taW4uanMiPjwvc2NyaXB0Pg0KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4NCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYnJzLmpzIj48L3NjcmlwdD4NCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+CQ0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQotCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KLSAgICAgIA0KLSAgDQotCQl2YXIganNvbmRhdGEgPSAgbG9hZExpbmtEYXRhKCk7DQotDQotCQkkKCcjbGluaycpLmJvb3RzdHJhcFRhYmxlKHsNCi0JCS8vQXNzaWduaW5nIGRhdGEgdG8gdGFibGUNCi0JCQlkYXRhOiBqc29uZGF0YQ0KLQkJfSk7DQotICAgIH0pOw0KLQlmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICByZXR1cm4gWw0KLSAgICAgICAgICAgICc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicNCi0gICAgICAgIF0uam9pbignJyk7DQotICAgICAgICANCi0gICAgfQ0KLQkgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7DQotICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQotCQkJIGRlbGV0ZUxpbmsocm93LmlkKTsNCi0gICAgICAgICAgICAgY29uc29sZS5sb2codmFsdWUsIHJvdywgaW5kZXgpOw0KLSAgICAgICAgIH0NCi0gICAgIH07DQotCTwvc2NyaXB0Pg0KLTwvaGVhZD4NCi08Ym9keSBpZD0ib3Blbl9iYXNlX3NpdGVfY290ZW50Qm9keSIgY2xhc3M9ImNvdGVudEJvZHkgbmctc2NvcGUiPg0KLQk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbXMtY29udHJvbGxlciI+DQotCQkNCi0JCTxkaXYgY2xhc3M9InVwbG9hZEJ0biI+DQotCQkJPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF91c2VySGVhZGVyIiBjbGFzcz0idXNlckhlYWRlciI+DQotICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiIHRhYmluZGV4PSIwIiBpZD0iZmFsc2UiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2NyZWF0ZSIgaWNvbi11cmw9Ii4vaW1hZ2VzL2FkZC5wbmciIGNscz0iZGVmYXVsdGJ1dHRvbiIgY2xpY2s9ImNsaWNrQWRkIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+PGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIG9wZW5vQnV0dG9uX0ltYWdlIiBpZD0iZmFsc2VfYnV0dG9uIj48c3BhbiBjbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25MZWZ0SW1nIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9hZGQucG5nKTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+Q3JlYXRlPC9zcGFuPjxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj48L2Rpdj48L2Rpdj4NCi0NCi0gICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgIDwvZGl2Pg0KLQkJPC9kaXY+DQotCQkNCi0JCTxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCi0JCQk8ZGl2IGlkPSdpY3RfdmlydHVhbEFwcGxpY2F0aW9uX3RhYmxlX2Rpdic+DQotICAgICAgICAgICAgICAgIDxkaXY+DQotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBpZD0ibGluayIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IiBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGlkPSJsaW5rIiBjbGFzcz0ib3Blbm8tdGFibGUtdGhlYWQiPg0KLQkJCQkJCQkJPHRyIGNsYXNzPSJhY3RpdmUiPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ibmFtZSJkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJCQkJCTxzcGFuIGlkPSJsaW5rTmFtZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk5hbWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCSAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotCQkJCQkgICAgICAgICAgICAgICAgPC90aD4NCi0JCQkJCSAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImxvZ2ljYWxUeXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsaW5rX2FFbmRfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlR5cGUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCSAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImxheWVyUmF0ZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibGlua19sYXllclJhdGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkxheWVyIFJhdGUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImFFbmQiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImxpbmtfYUVuZF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+U291cmNlIFBvcnQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InpFbmQiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImxpbmtfekVuZF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+U2luayBQb3J0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCTwvdGg+DQotCQkJCQkJCQkJDQotCQkJCQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJhRW5kTUUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Imxpbmtfc291cmNlX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5Tb3VyY2UgTkUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InpFbmRNRSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibGlua19zb3VyY2Vfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlNpbmsgTkUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImFkbWluU3RhdGUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9ImxpbmtfYWRtaW5TdGF0ZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+QWRtaW4gU3RhdGUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im9wZXJTdGF0ZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibGlua19vcGVyU3RhdGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk9wZXJhdGluZyBTdGF0ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0ic2l0ZVR5cGUiIGFsaWduPSJjZW50ZXIiIGRhdGEtZm9ybWF0dGVyID0gIm9wZXJhdGVGb3JtYXR0ZXIiIGRhdGEtZXZlbnRzPSJvcGVyYXRlRXZlbnRzIj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJsaW5rX2xhdGVuY3lfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFjdGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCSAgICAgICAgICAgIDwvdHI+DQotCQkJCQkJCTwvdGhlYWQ+DQotCQkJCQkJCTx0Ym9keT4NCi0JCQkJCQkJCTwhLS0gPHRyIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQotCQkJCQkJCQkJPHRkIGNvbHNwYW49IjciIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5OVUxMPC90ZD4NCi0JCQkJCQkJCTwvdHI+DQotCQkJCQkJCQk8dHIgY2xhc3M9Im9kZCAgb3Blbm8tdGFibGUtdHIgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBkYXRhLXJvd2lkPSIwIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciAgICAiIGRhdGEtY29saWQ9InNpdGVOYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24iPg0KLQkJCQkJCQkJCQkJPGEgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBoeXBlckxpbmtSb3ciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgaWQ9InNpdGVUYWJsZV8wX3NpdGVOYW1lX2xpbmsiPkxpbmsxPC9hPjwvZGl2Pg0KLQkJCQkJCQkJCTwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiPlR5cGU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij4xNTwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiPjgwODA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij4xMjM0PC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVHlwZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KLQkJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCI+TkU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50Ij5VUDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiPlVQPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlT3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZU9wZXJhdGlvbl9jdXN0b21fZWwiPg0KLQkJCQkJCQkJCQk8ZGl2Pg0KLQkJCQkJCQkJCQkJPGltZyBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9ImRlbGV0ZUxpbmsoJ3RoaXMnKSIgIG9wZXJ0eXBlPSJzaXRlRGVsZXRlIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiB0aXRsZT0iRGVsZXRlIiBpZD0iYmFjNGZmM2MtZDY5My00ZjU0LTg2Y2QtMjVhZjFlYTIyZjU5IiByb3dpZD0iMC8iPg0KLQkJCQkJCQkJCQk8L2Rpdj48L2Rpdj4NCi0JCQkJCQkJCQk8L3RkPg0KLQkJCQkJCQkJPC90cj4gLS0+DQotCQkJCQkJCTwvdGJvZHk+DQotICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4NCi0gICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICA8L2Rpdj4NCi0JCTwvZGl2Pg0KLQkJPCEtLSA8ZGl2IGlkPSJ0cExpc3RvcGVub3RhYmxlX3BhZ2luYXRpb25fd3JhcHBlciIgY2xhc3M9Im9wZW5vLXRhYmxlLXBhZ2luYXRpb24td3JhcHBlciIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyI+PGRpdiBjbGFzcz0icGFnaW5hdGlvbi1jb250YWluZXIgb3Blbm8tcGFnaW5hdGlvbi10aGVtZSBvcGVuby1wYWdpbmF0aW9uIj48ZGl2IGNsYXNzPSJvcGVub1BhZ2luYXRpb25fb3Blbm9QYWdpbmF0aW9uTGVuZ3RoT3B0aW9ucyIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9kaXYiPjxpbnB1dCByZWFkb25seT0idHJ1ZSIgY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0IG9wZW5vcGFnaW5hdGlvbnNlbGVjdCIgdmFsdWU9IiIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9pbnB1dCIgYWN0dWFsdmFsPSIyMCIgc3R5bGU9IndpZHRoOiAzMnB4OyI+PHNwYW4gY2xhc3M9Im9wZW5vLXBhZ2luYXRpb24tc2VsZWN0c3BhbiBvcGVub3BhZ2luYXRpb25zZWxlY3RzcGFuIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3RyaWdnZXIiPjwvc3Bhbj48L2Rpdj48bGFiZWwgc3R5bGU9ImRpc3BsYXk6IGJsb2NrO2Zsb2F0OmxlZnQ7Ij5Ub3RhbCByZWNvcmRzOiAyMzwvbGFiZWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IHByZXYgb3Blbm8tZGlzYWJsZWQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcHJldiI+Jm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iYWN0aXZlIj48c3BhbiBjbGFzcz0iY3VycmVudCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMSI+MTwvc3Bhbj48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18yIj4yPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzMiPjM8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayBuZXh0IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX25leHQiPiZuYnNwOzwvYT48L2xpPjwvdWw+PC9kaXY+PC9kaXY+IC0tPg0KLQ0KLQkJPGRpdiBpZD0idm1BcHBEaWFsb2ciIGNsYXNzPSJtb2RhbCBmYWRlIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyINCi0JCQkJYXJpYS1sYWJlbGxlZGJ5PSJteU1vZGFsTGFiZWwiIGFyaWEtaGlkZGVuPSJmYWxzZSI+DQotCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyI+DQotCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1jb250ZW50Ij4JCQkJCQkNCi0JCQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCi0JCQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4NCi0JCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIA0KLQkJCQkJICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiPsOXDQotCQkJCQkgICAgICAgICAgICA8L2J1dHRvbj4NCi0JCQkJCQkJCTxoNCBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJteU1vZGFsTGFiZWwiPg0KLQkJCQkJICAgICAgICAgICAgICAgPHNwYW4+Q3JlYXRlPC9zcGFuPg0KLQkJCQkJICAgICAgICAgICAgPC9oND4NCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJCTxmb3JtIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIHJvbGU9ImZvcm0iIGlkPSJsaW5rRm9ybSI+DQotCQkJCQkJCTxkaXYgaWQ9IndpemFyZCI+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgkJCQkJCQkNCi0JCQkJCQkJCTx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtanVzdGlmaWVkIHZtYXBwLW1hcmdpbiI+DQotCQkJCQkJCQk8L3VsPg0KLQkJCQkJCQkJPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPg0KLQkJCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPk5hbWU8L3NwYW4+DQotCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4gDQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5UeXBlPC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBzdHlsZSA9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiIGlkPSJsb2dpY2FsVHlwZSIgDQotCQkJCQkJCQkJCQkJICAgICAgICBuYW1lPSJsb2dpY2FsVHlwZSI+DQotCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9ImZpYmVyTGluayI+RmliZXIgTGluazwvb3B0aW9uPg0KLQkJCQkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJsMkxpbmsiPkwyIExpbms8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iaXBMaW5rIj5JUCBMaW5rPC9vcHRpb24+DQotCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9ImVsZWN0cmljYWxMaW5rIj5FbGVjdHJpY2FsIExpbms8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQk8L3NlbGVjdD4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPkxheWVyIFJhdGU8L3NwYW4+DQotCQkJCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibGF5ZXJSYXRlIiBuYW1lPSJsYXllclJhdGUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4gDQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCQ0KLQkJCQkJCQkJCQkNCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlNvdXJjZSBQb3J0PC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImFFbmQiIG5hbWU9ImFFbmQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4gDQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5TaW5rIFBvcnQ8L3NwYW4+DQotCQkJCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iekVuZCIgbmFtZT0iekVuZCIgY2xhc3M9ImZvcm0tY29udHJvbCIvPiANCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlNvdXJjZSBORTwvc3Bhbj4NCi0JCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJhRW5kTWUiIG5hbWU9ImFFbmRNRSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPiANCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlNpbmsgTkU8L3NwYW4+DQotCQkJCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iekVuZE1lIiBuYW1lPSJ6RW5kTUUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4gDQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC9kaXY+CQkJCQkJCQkJDQotCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+CQkJCQkJCQ0KLQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gU0RCdG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0iY3JlYXRlTGluayI+DQotCQkJCQkJCQkJPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtY2FuY2VsQnRuIj5PSzwvc3Bhbj4NCi0JCQkJCQkJCTwvYnV0dG9uPgkJCQkJCQkNCi0JCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ1dHRvbi1wcmV2aW91cyBTREJ0biI+DQotCQkJCQkJCQkJPHNwYW4gaWQ9Im5mdi12aXJ0dWFsQXBwbGljYXRpb24taXVpLXRleHQtcHJldmlvdXNCdG4iPkNhbmNlbDwvc3Bhbj4NCi0JCQkJCQkJCTwvYnV0dG9uPg0KLQkJCQkJCQkJDQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCTwvZGl2PgkJCQkNCi0JCQkJCQk8L2Zvcm0+DQotCQkJCQk8L2Rpdj4NCi0JCQkJPC9kaXY+DQotCQkJPC9kaXY+DQotCQk8L2Rpdj4NCi0JPC9kaXY+DQotCTxkaXYgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfc2VsZWN0X3BvcHVwY29udGFpbmVyIiBjbGFzcz0ib3Blbm8gb3Blbm8tc2VsZWN0LXBvcHVwLWNvbnRhaW5lciBvcGVuby1oaWRlIiBzdHlsZT0id2lkdGg6IDE1NXB4OyBtYXgtaGVpZ2h0OiAxMzBweDsgbGVmdDogNjI4cHg7IHRvcDogMTA0cHg7IHotaW5kZXg6IDE3NjE7Ij48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMCI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyBvcGVuby1zZWxlY3QtYmxhbmstaXRlbSIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMSI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkVUSDwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzIiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7IiB0aXRsZT0iUE9TIj5QT1M8L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8zIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+VHJ1bms8L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF80Ij48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+TG9vcGJhY2s8L2xhYmVsPjwvZGl2PjwvZGl2Pg0KLQ0KLQ0KLTwvYm9keT4NCi08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9uZS5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9uZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDFjYjc1Li4wMDAwMDAwCi0tLSBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvbmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5NSArMCwwIEBACi08IS0tDQotDQotICAgIENvcHlyaWdodCAyMDE2LCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KLQ0KLSAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCi0gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KLSAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCi0NCi0gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCi0NCi0gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KLSAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KLSAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCi0gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KLSAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCi0NCi0tLT4NCi0NCi08IURPQ1RZUEUgaHRtbD4NCi08aHRtbD4NCi08aGVhZD4NCi0JPGhlYWQgbGFuZz0iZW4iPg0KLQk8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQotCTx0aXRsZT48L3RpdGxlPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4JDQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgkNCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYnJzLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCi0JJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQotCQl2YXIganNvbmRhdGEgPSBbXTsNCi0JCWpzb25kYXRhID0gbG9hZE5lRGF0YSgpOw0KLQkJJCgnI25lJykuYm9vdHN0cmFwVGFibGUoew0KLQkJLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KLQkJZGF0YToganNvbmRhdGENCi0JCX0pOw0KLSAgICAgICANCi0gICAgfSk7CQ0KLQlmdW5jdGlvbiBvcGVyYXRlRm9ybWF0dGVyKHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICByZXR1cm4gWw0KLSAgICAgICAgICAgICc8aW1nIGNsYXNzPSJzaXRlRGVsZXRlSW1nIiBzcmM9ImltYWdlcy9kZWxldGUucG5nIiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIG5hbWU9InRpdGxlIiB0aXRsZT0iRGVsZXRlIiAvPicNCi0gICAgICAgIF0uam9pbignJyk7DQotICAgICAgICANCi0gICAgfQ0KLQkgd2luZG93Lm9wZXJhdGVFdmVudHMgPSB7DQotICAgICAgICAgJ2NsaWNrIC5zaXRlRGVsZXRlSW1nJzogZnVuY3Rpb24gKGUsIHZhbHVlLCByb3csIGluZGV4KSB7DQotICAgICAgICAgICAgIC8vIFRPIERPIGFqZXggY2FsbCBmb3IgZGVsZXRlDQotCQkJIHZhciByZXN1bHQgPSBkZWxldGVOZShyb3cuaWQsIHJvdyk7DQotICAgICAgICAgfQ0KLSAgICAgfTsNCi0JIA0KLQk8L3NjcmlwdD4NCi08L2hlYWQ+DQotPGJvZHkgaWQ9Im9wZW5fYmFzZV9zaXRlX2NvdGVudEJvZHkiIGNsYXNzPSJjb3RlbnRCb2R5IG5nLXNjb3BlIj4NCi0JPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIG1zLWNvbnRyb2xsZXIiPg0KLQkJDQotDQotCQkJPGRpdiBjbGFzcz0idXBsb2FkQnRuIj4NCi0JCQk8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX3VzZXJIZWFkZXIiIGNsYXNzPSJ1c2VySGVhZGVyIj4NCi0gICAgICAgICAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfdHBMX2J1dHRvbkdyb3VwIiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uR3JvdXBDbGFzcyI+DQotICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vIG9wZW5vLXdpZGdldC1idXR0b24gb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50IG5nLWlzb2xhdGUtc2NvcGUgb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3MgZGVmYXVsdGJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25fZGVmYXVsdCIgdGFiaW5kZXg9IjAiIGlkPSJmYWxzZSIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fY3JlYXRlIiBpY29uLXVybD0iLi9pbWFnZXMvYWRkLnBuZyIgY2xzPSJkZWZhdWx0YnV0dG9uIiBjbGljaz0iY2xpY2tBZGQiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7Ij48ZGl2IGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Jbm5lckNsYXNzIG9wZW5vLWNvcm5lci1hbGwgb3Blbm9CdXR0b25fSW1hZ2UiIGlkPSJmYWxzZV9idXR0b24iPjxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkxlZnRJbWciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2FkZC5wbmcpOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5DcmVhdGU8L3NwYW4+PHNwYW4gY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjwvZGl2PjwvZGl2Pg0KLSAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgPC9kaXY+DQotCQk8L2Rpdj4NCi0JCQ0KLQkJPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KLQkJCTxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCi0gICAgICAgICAgICAgICAgPGRpdj4NCi0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJuZSIgZGF0YS1yb3ctc3R5bGU9InJvd1N0eWxlIiBkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1IiBkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQgY2xhc3M9Im9wZW5vLXRhYmxlLXRoZWFkIj4NCi0JCQkJCQkJCTx0ciBjbGFzcz0iYWN0aXZlIj4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk5hbWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCSAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotCQkJCQkgICAgICAgICAgICAgICAgPC90aD4NCi0JCQkJCSAgICAgICAgICAgICAgICA8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9InZlcnNpb24iIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lX2lzVmVyc2lvbl9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+VmVyc2lvbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCSAgICA8L3RoPg0KLQkJCQkJCQkJICAgIDx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0icHJvZHVjdE5hbWUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lcHJvZHVjdE5hbWVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlByb2R1Y3QgTmFtZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCSAgICA8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0iaXBBZGRyZXNzIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJuZV9pcEFkZHJlc3Nfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPklQIEFkZHJlc3MNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkgICAgPC90aD4JCQkJCQkJCQkNCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9Im5lUm9sZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0ibmVfbmVSb2xlX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQwIiA+TkUgUm9sZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCSAgICA8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0iYWRtaW5TdGF0ZSIgPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lX2FkbWluU3RhdGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFkbWluIFN0YXRlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJICAgIDwvdGg+DQotCQkJCQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJvcGVyU3RhdGUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lX29wZXJTdGF0ZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+T3BlcmF0aW5nIFN0YXRlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJICAgIDwvdGg+DQotCQkJCQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBhbGlnbj0iY2VudGVyIiBkYXRhLWZvcm1hdHRlciA9ICJvcGVyYXRlRm9ybWF0dGVyIiBkYXRhLWV2ZW50cz0ib3BlcmF0ZUV2ZW50cyIgPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Im5lX25hdGl2ZUlEX3NvcnRpY29uIiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtc29ydGljb24gb3ZlcmZsb3dfZWxpcCAgbGVmdEhlYWRlckFsaWduICBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIj5BY3Rpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJICAgIDwvdGg+DQotCQkJCQkgICAgICAgICAgICA8L3RyPjwvdGhlYWQ+DQotCQkJCQkJCTwhLS0gPHRib2R5Pg0KLQkJCQkJCQkJPHRyIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQotCQkJCQkJCQkJPHRkIGNvbHNwYW49IjciIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5OVUxMPC90ZD4NCi0JCQkJCQkJCTwvdHI+DQotCQkJCQkJCQk8dHIgY2xhc3M9Im9kZCAgb3Blbm8tdGFibGUtdHIgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBkYXRhLXJvd2lkPSIwIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciAgICAiIGRhdGEtY29saWQ9InNpdGVOYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24iPg0KLQkJCQkJCQkJCQkJPGEgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBoeXBlckxpbmtSb3ciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgaWQ9InNpdGVUYWJsZV8wX3NpdGVOYW1lX2xpbmsiPk5FPC9hPjwvZGl2Pg0KLQkJCQkJCQkJCTwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPjEuMTwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPlNETjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPjE5Mi4xNjguMTAwLjEwMjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPlJvbGU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZVR5cGVfY3VzdG9tX2VsIj5BZG1pbjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVR5cGUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkgICAgPGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiIGlkPSJzaXRlVGFibGVfMF9zaXRlVHlwZV9jdXN0b21fZWwiPlVQPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlT3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZU9wZXJhdGlvbl9jdXN0b21fZWwiPg0KLQkJCQkJCQkJCQkgICAgPGRpdj4NCi0JCQkJCQkJCQkJICAgIDxpbWcgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBvbmNsaWNrPSJkZWxldGVOZSgndGhpcycpOyIgb3BlcnR5cGU9InNpdGVEZWxldGUiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIHRpdGxlPSJEZWxldGUiIGlkPSJiYWM0ZmYzYy1kNjkzLTRmNTQtODZjZC0yNWFmMWVhMjJmNTkiIHJvd2lkPSIwLyI+DQotCQkJCQkJCQkJCSAgICA8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90ZD4NCi0JCQkJCQkJCTwvdHI+DQotCQkJCQkJCQk8dHIgY2xhc3M9ImV2ZW4gIG9wZW5vLXRhYmxlLXRyIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgZGF0YS1yb3dpZD0iMCIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IgICAgIiBkYXRhLWNvbGlkPSJzaXRlTmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIj4NCi0JCQkJCQkJCQkJCTxhIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgaHlwZXJMaW5rUm93IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIGlkPSJzaXRlVGFibGVfMF9zaXRlTmFtZV9saW5rIj5ORTwvYT48L2Rpdj4NCi0JCQkJCQkJCQk8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZVR5cGVfY3VzdG9tX2VsIj4xLjE8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZVR5cGVfY3VzdG9tX2VsIj5TRE48L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZVR5cGVfY3VzdG9tX2VsIj4xOTIuMTY4LjEwMC4xMDI8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZVR5cGVfY3VzdG9tX2VsIj5Sb2xlPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVHlwZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KLQkJCQkJCQkJCSAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVUeXBlX2N1c3RvbV9lbCI+QWRtaW48L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUeXBlIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJICAgIDxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZVR5cGVfY3VzdG9tX2VsIj5VUDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZU9wZXJhdGlvbiIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCIgaWQ9InNpdGVUYWJsZV8wX3NpdGVPcGVyYXRpb25fY3VzdG9tX2VsIj4NCi0JCQkJCQkJCQkJICAgIDxkaXY+DQotCQkJCQkJCQkJCSAgICA8aW1nIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0iZGVsZXRlTmUoJ3RoaXMnKTsiIG9wZXJ0eXBlPSJzaXRlRGVsZXRlIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiB0aXRsZT0iRGVsZXRlIiBpZD0iYmFjNGZmM2MtZDY5My00ZjU0LTg2Y2QtMjVhZjFlYTIyZjU5IiByb3dpZD0iMC8iPg0KLQkJCQkJCQkJCQkgICAgPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCTwvdGQ+DQotCQkJCQkJCQk8L3RyPg0KLQkJCQkJCQk8L3Rib2R5PiAtLT4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPg0KLSAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgICAgIDwvZGl2Pg0KLQkJPC9kaXY+DQotCQk8IS0tIDxkaXYgaWQ9InRwTGlzdG9wZW5vdGFibGVfcGFnaW5hdGlvbl93cmFwcGVyIiBjbGFzcz0ib3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWNvbnRhaW5lciBvcGVuby1wYWdpbmF0aW9uLXRoZW1lIG9wZW5vLXBhZ2luYXRpb24iPjxkaXYgY2xhc3M9Im9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2RpdiI+PGlucHV0IHJlYWRvbmx5PSJ0cnVlIiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3Qgb3Blbm9wYWdpbmF0aW9uc2VsZWN0IiB2YWx1ZT0iIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2lucHV0IiBhY3R1YWx2YWw9IjIwIiBzdHlsZT0id2lkdGg6IDMycHg7Ij48c3BhbiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIG9wZW5vcGFnaW5hdGlvbnNlbGVjdHNwYW4iIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfdHJpZ2dlciI+PC9zcGFuPjwvZGl2PjxsYWJlbCBzdHlsZT0iZGlzcGxheTogYmxvY2s7ZmxvYXQ6bGVmdDsiPlRvdGFsIHJlY29yZHM6IDIzPC9sYWJlbD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQgcHJldiBvcGVuby1kaXNhYmxlZCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wcmV2Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18xIj4xPC9zcGFuPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzIiPjI8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMyI+MzwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIG5leHQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfbmV4dCI+Jm5ic3A7PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj4gLS0+DQotDQotCQk8ZGl2IGlkPSJ2bUFwcERpYWxvZyIgY2xhc3M9Im1vZGFsIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIg0KLQkJCQlhcmlhLWxhYmVsbGVkYnk9Im15TW9kYWxMYWJlbCIgYXJpYS1oaWRkZW49ImZhbHNlIj4NCi0JCQkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIj4NCi0JCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPgkJCQkJCQ0KLQkJCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KLQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KLQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgDQotCQkJCQkgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj0idHJ1ZSI+w5cNCi0JCQkJCSAgICAgICAgICAgIDwvYnV0dG9uPg0KLQkJCQkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im15TW9kYWxMYWJlbCI+DQotCQkJCQkgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQotCQkJCQkgICAgICAgICAgICA8L2g0Pg0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9Im5lRm9ybSI+DQotCQkJCQkJCTxkaXYgaWQ9IndpemFyZCI+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgkJCQkJCQkNCi0JCQkJCQkJCTx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtanVzdGlmaWVkIHZtYXBwLW1hcmdpbiI+DQotCQkJCQkJCQkJDQotCQkJCQkJCQk8L3VsPg0KLQkJCQkJCQkJPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPg0KLQkJCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPk5hbWU8L3NwYW4+DQotCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJOYW1lIi8+IA0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCi0JCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQotCQkJCQkJCQkJCQkJPHNwYW4+VmVyc2lvbjwvc3Bhbj4NCi0JCQkJCQkJCQkJCQk8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+DQotCQkJCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idmVyc2lvbiIgbmFtZT0idmVyc2lvbiIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IjEuMSIvPiANCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlByb2R1Y3QgTmFtZTwvc3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsNCi0JCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCSAJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icHJvZHVjdE5hbWUiIG5hbWU9InByb2R1Y3ROYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iUHJvZHVjdCBOYW1lIi8+DQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5JUCBBZGRyZXNzPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJpcEFkZHJlc3MiIG5hbWU9ImlwQWRkcmVzcyIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IjI1NS4yNTUuMjU1LjI1NSIvPg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8IS0tIFRPRE8gOiBjaGVjayBmb3IgdmFsaWQgbmVSb2xlCQkJCQkJCQkJDQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5ORSBSb2xlPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJuZVJvbGUiIG5hbWU9Im5lUm9sZSIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IlJvbGUiLz4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJLS0+DQotCQkJCQkJCQkJPC9kaXY+CQkJCQkJCQkJDQotCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+CQkJCQkJCQ0KLQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gU0RCdG4iIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBpZD0iY3JlYXRlTmUiPg0KLQkJCQkJCQkJCTxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LWNhbmNlbEJ0biI+T0s8L3NwYW4+DQotCQkJCQkJCQk8L2J1dHRvbj4JCQkJCQkJDQotCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPg0KLQkJCQkJCQkJCTxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+DQotCQkJCQkJCQk8L2J1dHRvbj4NCi0JCQkJCQkJCQ0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4JCQkJDQotCQkJCQkJPC9mb3JtPg0KLQkJCQkJPC9kaXY+DQotCQkJCTwvZGl2Pg0KLQkJCTwvZGl2Pg0KLQkJPC9kaXY+DQotCTwvZGl2Pg0KLQk8ZGl2IGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lciIgY2xhc3M9Im9wZW5vIG9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgb3Blbm8taGlkZSIgc3R5bGU9IndpZHRoOiAxNTVweDsgbWF4LWhlaWdodDogMTMwcHg7IGxlZnQ6IDYyOHB4OyB0b3A6IDEwNHB4OyB6LWluZGV4OiAxNzYxOyI+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgb3Blbm8tc2VsZWN0LWJsYW5rLWl0ZW0iIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzEiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5FVEg8L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8yIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPlRydW5rPC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfNCI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkxvb3BiYWNrPC9sYWJlbD48L2Rpdj48L2Rpdj4NCi0NCi0NCi08L2JvZHk+DQotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvcG9ydC5odG1sIGIvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9wb3J0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0N2IzMGQuLjAwMDAwMDAKLS0tIGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9wb3J0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOTkgKzAsMCBAQAotPCEtLQ0KLQ0KLSAgICBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCi0NCi0gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQotICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCi0gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQotDQotICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQotDQotICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCi0gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCi0gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQotICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCi0gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQotDQotLS0+DQotDQotPCFET0NUWVBFIGh0bWw+DQotPGh0bWw+DQotPGhlYWQ+DQotCTxoZWFkIGxhbmc9ImVuIj4NCi0JPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KLQk8dGl0bGU+PC90aXRsZT4NCi0JPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotCTxsaW5rIGhyZWY9ImNzcy9WTU1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotCTxsaW5rIGhyZWY9ImNzcy9ib290c3RyYXAtdGFibGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgkNCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYnJzLmpzIj48L3NjcmlwdD4NCi0JPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCi0JJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQotICAgICAgIA0KLSAgICAgICB2YXIganNvbmRhdGEgPSBbXTsNCi0JICAganNvbmRhdGEgPSBsb2FkUG9ydERhdGEoKTsNCi0NCi0JCSQoJyNwb3J0JykuYm9vdHN0cmFwVGFibGUoew0KLQkJLy9Bc3NpZ25pbmcgZGF0YSB0byB0YWJsZQ0KLQkJZGF0YToganNvbmRhdGENCi0JCX0pOw0KLSAgICB9KTsNCi0JZnVuY3Rpb24gb3BlcmF0ZUZvcm1hdHRlcih2YWx1ZSwgcm93LCBpbmRleCkgew0KLSAgICAgICAgcmV0dXJuIFsNCi0gICAgICAgICAgICAnPGltZyBjbGFzcz0ic2l0ZURlbGV0ZUltZyIgc3JjPSJpbWFnZXMvZGVsZXRlLnBuZyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyIiBuYW1lPSJ0aXRsZSIgdGl0bGU9IkRlbGV0ZSIgLz4nDQotICAgICAgICBdLmpvaW4oJycpOw0KLSAgICAgICAgDQotICAgIH0NCi0JIHdpbmRvdy5vcGVyYXRlRXZlbnRzID0gew0KLSAgICAgICAgICdjbGljayAuc2l0ZURlbGV0ZUltZyc6IGZ1bmN0aW9uIChlLCB2YWx1ZSwgcm93LCBpbmRleCkgew0KLSAgICAgICAgICAgICANCi0JCQkgZGVsZXRlUG9ydChyb3cuaWQpOw0KLSAgICAgICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSwgcm93LCBpbmRleCk7DQotICAgICAgICAgfQ0KLSAgICAgfTsNCi0JPC9zY3JpcHQ+DQotPC9oZWFkPg0KLTxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQotCQ0KLQkNCi0JCTxkaXYgY2xhc3M9InVwbG9hZEJ0biI+DQotCQkJPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF91c2VySGVhZGVyIiBjbGFzcz0idXNlckhlYWRlciI+DQotICAgICAgICAgICAgPGRpdiBpZD0ib3Blbl9iYXNlX3RwTF9idXR0b25Hcm91cCIgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkdyb3VwQ2xhc3MiPg0KLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVubyBvcGVuby13aWRnZXQtYnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzX3BhcmVudCBuZy1pc29sYXRlLXNjb3BlIG9wZW5vQnV0dG9uX2J1dHRvbkNsYXNzIGRlZmF1bHRidXR0b24gb3Blbm9CdXR0b25fYnV0dG9uX2RlZmF1bHQiIHRhYmluZGV4PSIwIiBpZD0iZmFsc2UiIHRleHQ9InJlcy5ickFwcF91aV9yZXNfYnRuX2NyZWF0ZSIgaWNvbi11cmw9Ii4vaW1hZ2VzL2FkZC5wbmciIGNscz0iZGVmYXVsdGJ1dHRvbiIgY2xpY2s9ImNsaWNrQWRkIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLWxlZnQ6IDBweDsgcGFkZGluZy1yaWdodDogMHB4OyI+PGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIG9wZW5vQnV0dG9uX0ltYWdlIiBpZD0iZmFsc2VfYnV0dG9uIj48c3BhbiBjbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25MZWZ0SW1nIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9hZGQucG5nKTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dCBvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0Rm9udCI+Q3JlYXRlPC9zcGFuPjxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj48L2Rpdj48L2Rpdj4NCi0gICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgIDwvZGl2Pg0KLQkJPC9kaXY+DQotCQkNCi0JCTxkaXYgY2xhc3M9InJvdy1mbHVpZCIgZGF0YS1uYW1lPSJ0YWJsZV96b25lIj4NCi0JCQk8ZGl2IGlkPSdpY3RfdmlydHVhbEFwcGxpY2F0aW9uX3RhYmxlX2Rpdic+DQotICAgICAgICAgICAgICAgIDxkaXY+DQotICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBpZD0icG9ydCIgZGF0YS1wYWdpbmF0aW9uPSJ0cnVlIiBkYXRhLXBhZ2Utc2l6ZT0iNSIgZGF0YS1wYWdpbmF0aW9uLWZpcnN0LXRleHQ9IkZpcnN0IiBkYXRhLXBhZ2luYXRpb24tcHJlLXRleHQ9IlByZXZpb3VzIiBkYXRhLXBhZ2luYXRpb24tbmV4dC10ZXh0PSJOZXh0IiBkYXRhLXBhZ2luYXRpb24tbGFzdC10ZXh0PSJMYXN0Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkIGlkPSJwb3J0VGFibGVfdGhlYWQiIGNsYXNzPSJvcGVuby10YWJsZS10aGVhZCI+DQotCQkJCQkJCQk8dHIgY2xhc3M9ImFjdGl2ZSI+DQotCQkJCQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJuYW1lIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJCQkJCTxzcGFuIGlkPSJwb3J0TmFtZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgb3Blbm9UYWJsZV9zb3J0YWJsZSBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk5hbWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KLQkJCQkJICAgICAgICAgICAgICAgIDwvdGg+DQotCQkJCQkgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJtZUlEIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0bWVJRF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TUUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImxvZ2ljYWxUeXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0TG9naWNhbFR5cGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlR5cGUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImxheWVyUmF0ZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0icG9ydExheWVyUmF0ZV9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+TGF5ZXIgUmF0ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0iaXNFZGdlUG9pbnQiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InBvcnRJc0VkZ2VQb2ludF9zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+RWRnZSBQb2ludA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0icG9ydEluZGV4IiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtdGgtYm9yZGVyIj48L2Rpdj4NCi0JCQkJCQkgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRGF0YVRhYmxlc19zb3J0X3dyYXBwZXIgb3Blbm8tZWxsaXBzaXMgIj4NCi0JCQkJCQkJICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJwb3J0SW5kZXhfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPlBvcnQgSW5kZXgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCQkJCQk8dGggY2xhc3M9Im9wZW5vLXRhYmxlLXN0YXRlLWRlZmF1bHQgb3Blbm8tdGFibGUtdGggb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICBsZWZ0SGVhZGVyQWxpZ24iIGRhdGEtZmllbGQ9ImlwQWRkcmVzcyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0icG9ydElwQWRkcmVzc19zb3J0aWNvbiIgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLXNvcnRpY29uIG92ZXJmbG93X2VsaXAgIGxlZnRIZWFkZXJBbGlnbiAgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50ICI+SVAgQWRkcmVzcw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgZGF0YS1maWVsZD0iYWRtaW5TdGF0ZSIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLXRoLWJvcmRlciI+PC9kaXY+DQotCQkJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkRhdGFUYWJsZXNfc29ydF93cmFwcGVyIG9wZW5vLWVsbGlwc2lzICI+DQotCQkJCQkJCSAgICAgICAgICAgICAgICA8c3BhbiBpZD0icG9ydEFkbWluU3RhdGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFkbWluIFN0YXRlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCTwvdGg+DQotCQkJCQkJCQkJPHRoIGNsYXNzPSJvcGVuby10YWJsZS1zdGF0ZS1kZWZhdWx0IG9wZW5vLXRhYmxlLXRoIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAgbGVmdEhlYWRlckFsaWduIiBkYXRhLWZpZWxkPSJvcGVyU3RhdGUiIGRhdGEtc29ydGFibGU9InRydWUiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InBvcnRPcGVyU3RhdGVfc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPk9wZXJhdGluZyBTdGF0ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L3RoPg0KLQkJCQkJCQkJCTx0aCBjbGFzcz0ib3Blbm8tdGFibGUtc3RhdGUtZGVmYXVsdCBvcGVuby10YWJsZS10aCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgIGxlZnRIZWFkZXJBbGlnbiIgYWxpZ249ImNlbnRlciIgZGF0YS1mb3JtYXR0ZXIgPSAib3BlcmF0ZUZvcm1hdHRlciIgZGF0YS1ldmVudHM9Im9wZXJhdGVFdmVudHMiPg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby10YWJsZS10aC1ib3JkZXIiPjwvZGl2Pg0KLQkJCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJEYXRhVGFibGVzX3NvcnRfd3JhcHBlciBvcGVuby1lbGxpcHNpcyAiPg0KLQkJCQkJCQkgICAgICAgICAgICAgICAgPHNwYW4gaWQ9InBvcnRBY3Rpb25fc29ydGljb24iIGNsYXNzPSJvcGVuby10YWJsZS10aC1zb3J0aWNvbiBvdmVyZmxvd19lbGlwICBsZWZ0SGVhZGVyQWxpZ24gIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCAiPkFjdGlvbjwvc3Bhbj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90aD4NCi0JCQkJCSAgICAgICAgICAgIDwvdHI+DQotCQkJCQkJICAgIDwvdGhlYWQ+DQotCQkJCQkJCTwhLS0gPHRib2R5Pg0KLQkJCQkJCQkJPHRyIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQotCQkJCQkJCQkJPHRkIGNvbHNwYW49IjciIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij5OVUxMPC90ZD4NCi0JCQkJCQkJCTwvdHI+DQotCQkJCQkJCQk8dHIgY2xhc3M9Im9kZCAgb3Blbm8tdGFibGUtdHIgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiBkYXRhLXJvd2lkPSIwIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZU5hbWUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiI+DQotCQkJCQkJCQkJCQk8YSBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IGh5cGVyTGlua1JvdyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBpZD0ic2l0ZVRhYmxlXzBfcG9ydE5hbWVfbGluayI+PC9hPlBvcnQxPC9kaXY+DQotCQkJCQkJCQkJPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVHlwZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiA+TUU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID5UeXBlPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVGVuYW50TmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiA+MTI8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID5FZGdlPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlVGVuYW50TmFtZSIgZGF0YS10YWJsZWlkPSJzaXRlVGFibGUiPjxkaXYgY2xhc3M9Im92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiBvcGVuby10YWJsZS1jdXN0b20tZWwgb3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IiA+MTIzNDU8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID4yNTUuMjU1LjI1NS4xMjM8L2Rpdj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLQkJCQkJCQkJCTx0ZCBjbGFzcz0ib3Blbm8tdGFibGUtZGlzYWJsZS1lbGVtZW50IG9wZW5vLXRhYmxlLXRkIG92ZXJmbG93X2VsaXAgbGVmdERhdGFBbGlnbiB0YWJsZUhlYWRlclREVG9wQm9yZGVyQ29sb3IiIGRhdGEtY29saWQ9InNpdGVUZW5hbnROYW1lIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+PGRpdiBjbGFzcz0ib3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIG9wZW5vLXRhYmxlLWN1c3RvbS1lbCBvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQiID5VUDwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQotCQkJCQkJCQkJPHRkIGNsYXNzPSJvcGVuby10YWJsZS1kaXNhYmxlLWVsZW1lbnQgb3Blbm8tdGFibGUtdGQgb3ZlcmZsb3dfZWxpcCBsZWZ0RGF0YUFsaWduIHRhYmxlSGVhZGVyVERUb3BCb3JkZXJDb2xvciIgZGF0YS1jb2xpZD0ic2l0ZVRlbmFudE5hbWUiIGRhdGEtdGFibGVpZD0ic2l0ZVRhYmxlIj48ZGl2IGNsYXNzPSJvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIG9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCIgPlVQPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0JCQkJCQkJCQk8dGQgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvcGVuby10YWJsZS10ZCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gdGFibGVIZWFkZXJURFRvcEJvcmRlckNvbG9yIiBkYXRhLWNvbGlkPSJzaXRlT3BlcmF0aW9uIiBkYXRhLXRhYmxlaWQ9InNpdGVUYWJsZSI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vLXRhYmxlLWRpc2FibGUtZWxlbWVudCBvdmVyZmxvd19lbGlwIGxlZnREYXRhQWxpZ24gb3Blbm8tdGFibGUtY3VzdG9tLWVsIiBpZD0ic2l0ZVRhYmxlXzBfc2l0ZU9wZXJhdGlvbl9jdXN0b21fZWwiPg0KLQkJCQkJCQkJCQkgICAgPGRpdj4NCi0JCQkJCQkJCQkJICAgIAk8aW1nIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgb25jbGljaz0iZGVsZXRlUG9ydCgndGhpcycpOyIgb3BlcnR5cGU9InNpdGVEZWxldGUiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXIiIHRpdGxlPSJEZWxldGUiIGlkPSJiYWM0ZmYzYy1kNjkzLTRmNTQtODZjZC0yNWFmMWVhMjJmNTkiIHJvd2lkPSIwLyI+DQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJPC90ZD4NCi0JCQkJCQkJCTwvdHI+DQotCQkJCQkJCTwvdGJvZHk+IC0tPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgPC9kaXY+DQotCQk8L2Rpdj4NCi0JCTwhLS0gPGRpdiBpZD0idHBMaXN0b3Blbm90YWJsZV9wYWdpbmF0aW9uX3dyYXBwZXIiIGNsYXNzPSJvcGVuby10YWJsZS1wYWdpbmF0aW9uLXdyYXBwZXIiIHN0eWxlPSJkaXNwbGF5OiBibG9jazsiPjxkaXYgY2xhc3M9InBhZ2luYXRpb24tY29udGFpbmVyIG9wZW5vLXBhZ2luYXRpb24tdGhlbWUgb3Blbm8tcGFnaW5hdGlvbiI+PGRpdiBjbGFzcz0ib3Blbm9QYWdpbmF0aW9uX29wZW5vUGFnaW5hdGlvbkxlbmd0aE9wdGlvbnMiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfZGl2Ij48aW5wdXQgcmVhZG9ubHk9InRydWUiIGNsYXNzPSJvcGVuby1wYWdpbmF0aW9uLXNlbGVjdCBvcGVub3BhZ2luYXRpb25zZWxlY3QiIHZhbHVlPSIiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfaW5wdXQiIGFjdHVhbHZhbD0iMjAiIHN0eWxlPSJ3aWR0aDogMzJweDsiPjxzcGFuIGNsYXNzPSJvcGVuby1wYWdpbmF0aW9uLXNlbGVjdHNwYW4gb3Blbm9wYWdpbmF0aW9uc2VsZWN0c3BhbiIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl90cmlnZ2VyIj48L3NwYW4+PC9kaXY+PGxhYmVsIHN0eWxlPSJkaXNwbGF5OiBibG9jaztmbG9hdDpsZWZ0OyI+VG90YWwgcmVjb3JkczogMjM8L2xhYmVsPjxsaSBjbGFzcz0iYWN0aXZlIj48c3BhbiBjbGFzcz0iY3VycmVudCBwcmV2IG9wZW5vLWRpc2FibGVkIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3ByZXYiPiZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzEiPjE8L3NwYW4+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMiI+MjwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18zIj4zPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsgbmV4dCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9uZXh0Ij4mbmJzcDs8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PiAtLT4NCi0NCi0JCTxkaXYgaWQ9InZtQXBwRGlhbG9nIiBjbGFzcz0ibW9kYWwgZmFkZSIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciDQotCQkJCWFyaWEtbGFiZWxsZWRieT0ibXlNb2RhbExhYmVsIiBhcmlhLWhpZGRlbj0iZmFsc2UiPg0KLQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1kaWFsb2ciPg0KLQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+CQkJCQkJDQotCQkJCQkJPGRpdiBjbGFzcz0iY29udGVudCI+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+DQotCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNsb3NlIiBkYXRhLWRpc21pc3M9Im1vZGFsIiANCi0JCQkJCSAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj7Dlw0KLQkJCQkJICAgICAgICAgICAgPC9idXR0b24+DQotCQkJCQkJCQk8aDQgY2xhc3M9Im1vZGFsLXRpdGxlIiBpZD0ibXlNb2RhbExhYmVsIj4NCi0JCQkJCSAgICAgICAgICAgICAgIDxzcGFuPkNyZWF0ZTwvc3Bhbj4NCi0JCQkJCSAgICAgICAgICAgIDwvaDQ+DQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQk8Zm9ybSBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIiByb2xlPSJmb3JtIiBpZD0icG9ydEZvcm0iPg0KLQkJCQkJCQk8ZGl2IGlkPSJ3aXphcmQiPg0KLQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4JCQkJCQkJDQotCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXYtcGlsbHMgbmF2LWp1c3RpZmllZCB2bWFwcC1tYXJnaW4iPg0KLQkJCQkJCQkJPC91bD4NCi0JCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4NCi0JCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJiYXNpY1RhYiI+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5OYW1lPC9zcGFuPg0KLQkJCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj4NCi0JCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJuYW1lIiBuYW1lPSJuYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iTmFtZSIvPiANCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPk1FPC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im1lSUQiIG5hbWU9Im1lSUQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJNRSIvPiANCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlR5cGU8L3NwYW4+CQkJCQkJCQkJCQkJDQotCQkJCQkJCQkJCQk8L2xhYmVsPg0KLQkJCQkJCQkJCQkgCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIHN0eWxlID0icGFkZGluZy10b3A6IDBweDtwYWRkaW5nLWJvdHRvbTogMHB4OyIgaWQ9ImxvZ2ljYWxUeXBlIiANCi0JCQkJCQkJCQkJCQkgICAgICAgIG5hbWU9ImxvZ2ljYWxUeXBlIj4NCi0JCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iRVRIIj5FVEg8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iUE9TIj5QT1M8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iVHJ1bmsiPlRydW5rPC9vcHRpb24+DQotCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9Ikxvb3BiYWNrIj5Mb29wYmFjazwvb3B0aW9uPg0KLQkJCQkJCQkJCQkJCTwvc2VsZWN0Pg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBtcy1jbGFzcz0iaGFzLWVycm9yOnZtQXBwRGlhbG9nLm5hbWU9PScnIj4NCi0JCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQotCQkJCQkJCQkJCQkJPHNwYW4+TGF5ZXIgUmF0ZTwvc3Bhbj4NCi0JCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJsYXllclJhdGUiIG5hbWU9ImxheWVyUmF0ZSIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkxheWVyIFJhdGUiLz4gDQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5FZGdlIFBvaW50PC9zcGFuPgkJCQkJCQkJCQkJCQ0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBzdHlsZSA9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiIGlkPSJpc0VkZ2VQb2ludCIgDQotCQkJCQkJCQkJCQkJICAgICAgICBuYW1lPSJpc0VkZ2VQb2ludCI+DQotCQkJCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9InRydWUiPlRydWU8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iZmFsc2UiPkZhbHNlPC9vcHRpb24+DQotCQkJCQkJCQkJCQkJPC9zZWxlY3Q+DQotCQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiIG1zLWNsYXNzPSJoYXMtZXJyb3I6dm1BcHBEaWFsb2cubmFtZT09JyciPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5Qb3J0IEluZGV4PC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InBvcnRJbmRleCIgbmFtZT0icG9ydEluZGV4IiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iUG9ydCBJbmRleCIvPiANCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJDQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5JUCBBZGRyZXNzPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJpcEFkZHJlc3MiIG5hbWU9ImlwQWRkcmVzcyIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IjI1NS4yNTUuMjU1LjI1NSIvPg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPgkJCQkJCQkNCi0JCQkJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIFNEQnRuIiBkYXRhLWRpc21pc3M9Im1vZGFsIiBhcmlhLWhpZGRlbj0idHJ1ZSIgaWQ9ImNyZWF0ZVBvcnQiPg0KLQkJCQkJCQkJCTxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LWNhbmNlbEJ0biI+T0s8L3NwYW4+DQotCQkJCQkJCQk8L2J1dHRvbj4JCQkJCQkJDQotCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidXR0b24tcHJldmlvdXMgU0RCdG4iPg0KLQkJCQkJCQkJCTxzcGFuIGlkPSJuZnYtdmlydHVhbEFwcGxpY2F0aW9uLWl1aS10ZXh0LXByZXZpb3VzQnRuIj5DYW5jZWw8L3NwYW4+DQotCQkJCQkJCQk8L2J1dHRvbj4NCi0JCQkJCQkJCQ0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQk8L2Rpdj4JCQkJDQotCQkJCQkJPC9mb3JtPg0KLQkJCQkJPC9kaXY+DQotCQkJCTwvZGl2Pg0KLQkJCTwvZGl2Pg0KLQkJPC9kaXY+DQotCTwvZGl2Pg0KLQk8ZGl2IGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX3NlbGVjdF9wb3B1cGNvbnRhaW5lciIgY2xhc3M9Im9wZW5vIG9wZW5vLXNlbGVjdC1wb3B1cC1jb250YWluZXIgb3Blbm8taGlkZSIgc3R5bGU9IndpZHRoOiAxNTVweDsgbWF4LWhlaWdodDogMTMwcHg7IGxlZnQ6IDYyOHB4OyB0b3A6IDEwNHB4OyB6LWluZGV4OiAxNzYxOyI+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzAiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgb3Blbm8tc2VsZWN0LWJsYW5rLWl0ZW0iIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzEiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5FVEg8L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8yIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyIgdGl0bGU9IlBPUyI+UE9TPC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMyI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPlRydW5rPC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfNCI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiPkxvb3BiYWNrPC9sYWJlbD48L2Rpdj48L2Rpdj4NCi0NCi0NCi08L2JvZHk+DQotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvcmVzb3VyY2UuaHRtbCBiL29wZW5vLXBvcnRhbC9wb3J0YWwtcmVzbWdyL3NyYy9tYWluL3dlYmFwcC9yZXNtZ3IvcmVzb3VyY2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZkZGFlOC4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL3Jlc291cmNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjkgKzAsMCBAQAotPCEtLQ0KLQ0KLSAgICBDb3B5cmlnaHQgMjAxNiwgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCi0NCi0gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQotICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCi0gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQotDQotICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQotDQotICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCi0gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCi0gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQotICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCi0gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQotDQotLS0+DQotDQotPCFkb2N0eXBlIGh0bWw+DQotPGh0bWw+DQotPGhlYWQ+DQotPG1ldGEgY2hhcnNldD0idXRmLTgiPg0KLTx0aXRsZT48L3RpdGxlPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL1JNYWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPg0KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9qcXVlcnktMS4xMS4yLm1pbi5qcyI+PC9zY3JpcHQ+DQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KLTwvaGVhZD4NCi08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQotICAgICQoZnVuY3Rpb24oKXsNCi0gICAgICAgICQoJy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQsLmhlYWRlcicpLmNsaWNrKGZ1bmN0aW9uKCl7DQotICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUwnKS5zbGlkZVRvZ2dsZSg1MDApOw0KLSAgICAgICAgICAgICQoJy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQnKS50b2dnbGVDbGFzcygnY3VycmVudCcpDQotICAgICAgICB9KTsNCi0gICAgICAgICQoJy5vcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X2hpZGUnKS5jbGljayhmdW5jdGlvbigpew0KLSAgICAgICAgICAgIC8vICQoJyNvcGVuX2Jhc2Vfb3Blbm8nKS5jc3MoJ21hcmdpbi1sZWZ0JywnLTIwMHB4Jyk7DQotICAgICAgICAgICAgLy8gJCgnI29wZW5fYmFzZV9vcGVubycpLmNzcygnZGlzcGxheScsJ25vbmUnKTsNCi0gICAgICAgICAgICAvLyAkKCcuYmFyJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCi0gICAgICAgICAgICBpZigkKCcjYWNjb3JkaW9ubWVudWlkJykud2lkdGgoKSA+PSAyMDApew0KLSAgICAgICAgICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkJykud2lkdGgoJzE4cHgnKTsNCi0gICAgICAgICAgICAgICAgJCgnLm9wZW5vX2FjY29yZGlvbl91aS1pY29uLWV4cGFuZCwuaGVhZGVyLCNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIGxpIGEnKS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7DQotICAgICAgICAgICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfYXJyb3cnKS5hdHRyKCdjbGFzc25hbWUnLCdvcGVub0FjY29yZGlhbl9zaG93SGlkZUFycm93X3Nob3cnKTsNCi0gICAgICAgICAgICAgICAgJCgnI2lmcmFtZUNvbnRhaW5lcicpLmNzcygnd2lkdGgnLCcxMjg0cHgnKTsgICAgICAgICAgICAgICAgDQotICAgICAgICAgICAgfWVsc2UgaWYoJCgnI2FjY29yZGlvbm1lbnVpZCcpLndpZHRoKCkgPT0gMTgpew0KLSAgICAgICAgICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkJykud2lkdGgoJzIyMHB4Jyk7DQotICAgICAgICAgICAgICAgICQoJy5vcGVub19hY2NvcmRpb25fdWktaWNvbi1leHBhbmQsLmhlYWRlciwjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTCBsaSBhJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCi0gICAgICAgICAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF9hcnJvdycpLmF0dHIoJ2NsYXNzbmFtZScsJ29wZW5vQWNjb3JkaWFuX3Nob3dIaWRlQXJyb3dfaGlkZScpOw0KLSAgICAgICAgICAgICAgICAkKCcjaWZyYW1lQ29udGFpbmVyJykuY3NzKCd3aWR0aCcsJzEwNjNweCcpOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICANCi0gICAgICAgIH0pOw0KLSAgICAgICAgJCgnLmJhciBzcGFuJykuY2xpY2soZnVuY3Rpb24oKXsNCi0gICAgICAgICAgICAkKCcjb3Blbl9iYXNlX29wZW5vJykuY3NzKCdkaXNwbGF5JywnYmxvY2snKTsNCi0gICAgICAgICAgICAkKCcuYmFyJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOw0KLSAgICAgICAgICAgICAkKCcjaWZyYW1lQ29udGFpbmVyJykuY3NzKCd3aWR0aCcsJzEwNjNweCcpOw0KLSAgICAgICAgfSk7DQotICAgICAgICAkKCcjYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTCBsaScpLmNsaWNrKGZ1bmN0aW9uKCl7DQotICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnb3Blbm9fYWNjb3JkaW9uX3NlbGVjdGVkJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnb3Blbm9fYWNjb3JkaW9uX3NlbGVjdGVkJyk7DQotICAgICAgICB9KTsNCi0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMF9ickFwcFNpdGVNZW51SUQnKS5jbGljayhmdW5jdGlvbigpew0KLSAgICAgICAgICAgICQoJyNhY2NvcmRpb25Db250ZW50JykuYXR0cignc3JjJywnc2l0ZS5odG1sJyk7DQotICAgICAgICB9KTsNCi0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfMV9ickFwcE1lTWVudUlEJykuY2xpY2soZnVuY3Rpb24oKXsNCi0gICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsJ25lLmh0bWwnKTsNCi0gICAgICAgIH0pOw0KLSAgICAgICAgJCgnI2FjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8yX2JyQXBwVHBNZW51SUQnKS5jbGljayhmdW5jdGlvbigpew0KLSAgICAgICAgICAgICQoJyNhY2NvcmRpb25Db250ZW50JykuYXR0cignc3JjJywncG9ydC5odG1sJyk7DQotICAgICAgICB9KTsNCi0gICAgICAgICQoJyNhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfM19ickFwcFRsTWVudUlEJykuY2xpY2soZnVuY3Rpb24oKXsNCi0gICAgICAgICAgICAkKCcjYWNjb3JkaW9uQ29udGVudCcpLmF0dHIoJ3NyYycsJ2xpbmsuaHRtbCcpOw0KLSAgICAgICAgfSk7DQotICAgICAgICANCi0gICAgfSkNCi08L3NjcmlwdD4NCi08Ym9keT4NCi0gICAgPGRpdiBpZD0iZmViRGl2IiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsiPg0KLSAgICA8ZGl2IGlkPSJvcGVuX2Jhc2VfZmViIj4NCi0gICAgICAgIDwhLS11c2UgZm9yIHN0b3JlIG1lbnUgY29tZSBmcm9tIGZlYiBzZXJ2aWNlLCBtYXliZSBqdXN0IGEgdGVtcGxlIHBsYW4tLT4NCi0gICAgICAgIDxkaXYgaWQ9ImFwcCI+DQotICAgICAgICAgICAgPGRpdiBpZD0iaWVtcF9sYXlvdXRfY29udGFpbmVyIiBuZy1jb250cm9sbGVyPSJyZXNvdXJjZUN0cmwiIGNsYXNzPSJpZW1wX2xheW91dF9jb250YWluZXIgbmctc2NvcGUiPg0KLQ0KLSAgICAgICAgICAgICAgICA8dGFibGUgaWQ9Im9wZW5fYmFzZV90YWJsZSIgY2xhc3M9InRocmVlLWNvbHMtbGF5b3V0Ij4NCi0gICAgICAgICAgICAgICAgICAgIDx0Ym9keSBpZD0ib3Blbl9iYXNlX3Rib2R5Ij4NCi0gICAgICAgICAgICAgICAgICAgIDx0ciBpZD0ib3Blbl9iYXNlX3RyIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImJhciI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD0ib3Blbl9iYXNlX29wZW5vIiBjbGFzcz0idGhyZWUtY29scy1jb2x1bW4gdGhyZWUtY29scy1sZWZ0Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iYWNjb3JkaW9ubWVudWlkIiBhbGxvdy1yZXNpemU9InRydWUiIGRhdGFzZXQ9ImRhdGFBcnIiIGhlaWdodD0icmVzSGVpZ2h0IiBsaXN0ZW5lcnM9ImNhbGxCYWNrbGlzdGVuZXJzIiByZXNpemUtY2FsbGJhY2s9InJlc2l6ZWhhbmRsZXIiIGN1cnJlbnQtc2VsZWN0PSJjdXJyZW50c2VsZWN0IiBjbGljaz0iY2xpY2tIYW5kbGVyIiBjbGFzcz0ibmctaXNvbGF0ZS1zY29wZSBhY2NvcmRpb25fcGFyZW50IG9wZW5vX2FjY29yZGlvbl9tYWluX21lbnUiIHN0eWxlPSJoZWlnaHQ6IDg3MHB4OyI+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcGVuby1hY2NvcmRpb24tcmVzaXphYmxlLWhhbmRsZSIgc3R5bGU9ImN1cnNvcjogYXV0bzsiPjwvZGl2Pg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJhY2NvcmRpb25tZW51aWRfdWwiIGNsYXNzPSJvcGVub0FjY29yZGlhbl9hY2NvcmRpb25tZW51Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SUQiIG5vZGVpZD0iYnJBcHBUb3BNZW51SUQiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9fYWNjb3JkaW9uX3VpLWljb24tZXhwYW5kIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAyMHB4OyBoZWlnaHQ6IDYwcHg7Y3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbm9BY2NvcmRpYW5fc2hvd0hpZGVBcnJvd19oaWRlIiBpZD0iYWNjb3JkaW9ubWVudWlkX2Fycm93IiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+PC9zcGFuPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iYnJBcHAiIGNsYXNzPSJoZWFkZXIgb3BlbmVkIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7Ij5SZXNvdXJjZTwvYT4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD0iYWNjb3JkaW9ubWVudWlkX3VsXzBfMF9ickFwcFRvcE1lbnVJRF9VTF8xXzBfYnJBcHBTaXRlTWVudUlEIiBub2RlaWQ9ImJyQXBwU2l0ZU1lbnVJRCIgY2xhc3M9IiIgc3R5bGU9ImRpc3BsYXk6IGxpc3QtaXRlbTsiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRpdGxlPSJTaXRlIiBjbGFzcz0iIiBzdHlsZT0icGFkZGluZy1sZWZ0OiA2MnB4OyI+U2l0ZTwvYT4NCi0JCQkJCQkJCQkJCTwvbGk+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8xX2JyQXBwTWVNZW51SUQiIG5vZGVpZD0iYnJBcHBNZU1lbnVJRCIgc3R5bGU9ImRpc3BsYXk6IGxpc3QtaXRlbTsiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iTkUiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5ORTwvYT4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9ImFjY29yZGlvbm1lbnVpZF91bF8wXzBfYnJBcHBUb3BNZW51SURfVUxfMV8yX2JyQXBwVHBNZW51SUQiIG5vZGVpZD0iYnJBcHBUcE1lbnVJRCIgc3R5bGU9ImRpc3BsYXk6IGxpc3QtaXRlbTsiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0aXRsZT0iUG9ydCIgc3R5bGU9InBhZGRpbmctbGVmdDogNjJweDsiPlBvcnQ8L2E+DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGlkPSJhY2NvcmRpb25tZW51aWRfdWxfMF8wX2JyQXBwVG9wTWVudUlEX1VMXzFfM19ickFwcFRsTWVudUlEIiBub2RlaWQ9ImJyQXBwVGxNZW51SUQiIHN0eWxlPSJkaXNwbGF5OiBsaXN0LWl0ZW07Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGl0bGU9IkxpbmsiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDYycHg7Ij5MaW5rPC9hPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCi0JCQkJCQkJPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9Im9wZW5fYmFzZV9pZnJhbWUiIGNsYXNzPSJ0aHJlZS1jb2xzLWNvbHVtbiB0aHJlZS1jb2xzLWNlbnRlciIgc3R5bGU9InBhZGRpbmc6IDBweDsiPg0KLQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpZnJhbWVDb250YWluZXIiIGNsYXNzPSJmcmFtZS1jbGFzcyIgc3R5bGU9ImhlaWdodDogODcwcHg7Ij4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgaWQ9ImFjY29yZGlvbkNvbnRlbnQiIHNyYz0iIiBoZWlnaHQ9Ijg3MHB4Ij48L2lmcmFtZT4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQotICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCi0gICAgICAgICAgICAgICAgICAgIDwvdHI+DQotICAgICAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KLSAgICAgICAgICAgICAgICA8L3RhYmxlPg0KLQ0KLSAgICAgICAgICAgIDwvZGl2Pg0KLSAgICAgICAgPC9kaXY+DQotICAgIDwvZGl2Pg0KLTwvZGl2Pg0KLTwvYm9keT4NCi08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvb3Blbm8tcG9ydGFsL3BvcnRhbC1yZXNtZ3Ivc3JjL21haW4vd2ViYXBwL3Jlc21nci9zaXRlLmh0bWwgYi9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL3NpdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWNiM2U1MC4uMDAwMDAwMAotLS0gYS9vcGVuby1wb3J0YWwvcG9ydGFsLXJlc21nci9zcmMvbWFpbi93ZWJhcHAvcmVzbWdyL3NpdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5NSArMCwwIEBACi08IS0tDQotDQotICAgIENvcHlyaWdodCAyMDE2LCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KLQ0KLSAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCi0gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KLSAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCi0NCi0gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCi0NCi0gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KLSAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KLSAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCi0gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KLSAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCi0NCi0tLT4NCi0NCi08IURPQ1RZUEUgaHRtbD4NCi08aHRtbD4NCi08aGVhZD4NCi0JPGhlYWQgbGFuZz0iZW4iPg0KLQk8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQotCTx0aXRsZT48L3RpdGxlPg0KLQk8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL1ZNTWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4NCi0JPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC10YWJsZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+DQotCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS0xLjExLjIubWluLmpzIj48L3NjcmlwdD4JDQotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pg0KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9icnMuanMiPjwvc2NyaXB0PgkNCi0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvYm9vdHN0cmFwLXRhYmxlLm1pbi5qcyI+PC9zY3JpcHQ+DQotICAgIA0KLQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KLQk8L3N0eWxlPg0KLQk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQotCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KLQkJDQotCQl2YXIganNvbmRhdGEgPSBbXTsNCi0JCWpzb25kYXRhID0gbG9hZFNpdGVEYXRhKCk7DQotCQkkKCcjc2l0ZScpLmJvb3RzdHJhcFRhYmxlKHsNCi0gICAgICAgICAgICAvL0Fzc2lnbmluZyBkYXRhIHRvIHRhYmxlDQotICAgICAgICAgICAgZGF0YToganNvbmRhdGENCi0gICAgICAgIH0pOw0KLQkJDQotICAgICAgIA0KLSAgICB9KTsNCi0JDQotCWZ1bmN0aW9uIG9wZXJhdGVGb3JtYXR0ZXIodmFsdWUsIHJvdywgaW5kZXgpIHsNCi0gICAgICAgIHJldHVybiBbDQotICAgICAgICAgICAgJzxpbWcgY2xhc3M9InNpdGVEZWxldGVJbWciIHNyYz0iaW1hZ2VzL2RlbGV0ZS5wbmciIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKSIgc3R5bGU9ImN1cnNvcjogcG9pbnRlciIgbmFtZT0idGl0bGUiIHRpdGxlPSJEZWxldGUiIC8+Jw0KLSAgICAgICAgXS5qb2luKCcnKTsNCi0gICAgICAgIA0KLSAgICB9DQotCSB3aW5kb3cub3BlcmF0ZUV2ZW50cyA9IHsNCi0gICAgICAgICAnY2xpY2sgLnNpdGVEZWxldGVJbWcnOiBmdW5jdGlvbiAoZSwgdmFsdWUsIHJvdywgaW5kZXgpIHsNCi0gICAgICAgICAgICAgLy8gVE8gRE8gYWpleCBjYWxsIGZvciBkZWxldGUNCi0JCQkgZGVsZXRlU2l0ZShyb3cuaWQpOw0KLSAgICAgICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSwgcm93LCBpbmRleCk7DQotICAgICAgICAgfQ0KLSAgICAgfTsNCi0JPC9zY3JpcHQ+DQotPC9oZWFkPg0KLTxib2R5IGlkPSJvcGVuX2Jhc2Vfc2l0ZV9jb3RlbnRCb2R5IiBjbGFzcz0iY290ZW50Qm9keSBuZy1zY29wZSI+DQotCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBtcy1jb250cm9sbGVyIj4NCi0JCQ0KLQk8ZGl2IGNsYXNzPSJ1cGxvYWRCdG4iPg0KLQkJCTxkaXYgaWQ9Im9wZW5fYmFzZV90cExfdXNlckhlYWRlciIgY2xhc3M9InVzZXJIZWFkZXIiPg0KLSAgICAgICAgICAgIDxkaXYgaWQ9Im9wZW5fYmFzZV90cExfYnV0dG9uR3JvdXAiIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25Hcm91cENsYXNzIj4NCi0gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3Blbm8gb3Blbm8td2lkZ2V0LWJ1dHRvbiBvcGVub0J1dHRvbl9idXR0b25DbGFzc19wYXJlbnQgbmctaXNvbGF0ZS1zY29wZSBvcGVub0J1dHRvbl9idXR0b25DbGFzcyBkZWZhdWx0YnV0dG9uIG9wZW5vQnV0dG9uX2J1dHRvbl9kZWZhdWx0IiB0YWJpbmRleD0iMCIgaWQ9ImZhbHNlIiB0ZXh0PSJyZXMuYnJBcHBfdWlfcmVzX2J0bl9jcmVhdGUiIGljb24tdXJsPSIuL2ltYWdlcy9hZGQucG5nIiBjbHM9ImRlZmF1bHRidXR0b24iIGNsaWNrPSJjbGlja0FkZCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctcmlnaHQ6IDBweDsiPjxkaXYgY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbklubmVyQ2xhc3Mgb3Blbm8tY29ybmVyLWFsbCBvcGVub0J1dHRvbl9JbWFnZSIgaWQ9ImZhbHNlX2J1dHRvbiI+PHNwYW4gY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uTGVmdEltZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvYWRkLnBuZyk7Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHQgb3Blbm9CdXR0b25fYnV0dG9uQ2VudGVyVGV4dEZvbnQiPkNyZWF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0ib3Blbm8td2lkZ2V0LWJ1dHRvbi1pbWFnZSBvcGVub0J1dHRvbl9idXR0b25JbWdEZWZhdWx0Ij48L3NwYW4+PC9kaXY+PC9kaXY+DQotDQotDQotICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wZW5vIG9wZW5vLXdpZGdldC1idXR0b24gb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3NfcGFyZW50IG5nLWlzb2xhdGUtc2NvcGUgb3Blbm9CdXR0b25fYnV0dG9uQ2xhc3MgdW5kZWZpbmVkIG9wZW5vQnV0dG9uX2J1dHRvbl9kZWZhdWx0IiB0YWJpbmRleD0iMCIgaWQ9Im1lRWRpdCIgdGV4dD0icmVzLmJyQXBwX3VpX3Jlc19idG5fZWRpdCIgZGlzcGxheT0iZmFsc2UiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PGRpdiBjbGFzcz0ib3Blbm9CdXR0b25fYnV0dG9uSW5uZXJDbGFzcyBvcGVuby1jb3JuZXItYWxsIiBpZD0ibWVFZGl0X2J1dHRvbiI+PHNwYW4gY2xhc3M9Im9wZW5vLXdpZGdldC1idXR0b24taW1hZ2Ugb3Blbm9CdXR0b25fYnV0dG9uSW1nRGVmYXVsdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJvcGVub0J1dHRvbl9idXR0b25DZW50ZXJUZXh0IG9wZW5vQnV0dG9uX2J1dHRvbkNlbnRlclRleHRGb250Ij5FZGl0PC9zcGFuPjxzcGFuIGNsYXNzPSJvcGVuby13aWRnZXQtYnV0dG9uLWltYWdlIG9wZW5vQnV0dG9uX2J1dHRvbkltZ0RlZmF1bHQiPjwvc3Bhbj48L2Rpdj48L2Rpdj4NCi0NCi0gICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgIDwvZGl2Pg0KLQk8L2Rpdj4NCi0JCQ0KLQkJPGRpdiBjbGFzcz0icm93LWZsdWlkIiBkYXRhLW5hbWU9InRhYmxlX3pvbmUiPg0KLQkJCTxkaXYgaWQ9J2ljdF92aXJ0dWFsQXBwbGljYXRpb25fdGFibGVfZGl2Jz4NCi0gICAgICAgICAgICAgICAgPGRpdj4NCi0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcCI+DQotICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGlkPSJzaXRlIg0KLSAgICAgICAgICAgICAgICAgICAgICAgIAlkYXRhLXBhZ2luYXRpb249InRydWUiIGRhdGEtcGFnZS1zaXplPSI1IiBkYXRhLXBhZ2luYXRpb24tZmlyc3QtdGV4dD0iRmlyc3QiIGRhdGEtcGFnaW5hdGlvbi1wcmUtdGV4dD0iUHJldmlvdXMiIGRhdGEtcGFnaW5hdGlvbi1uZXh0LXRleHQ9Ik5leHQiIGRhdGEtcGFnaW5hdGlvbi1sYXN0LXRleHQ9Ikxhc3QiPg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPg0KLQkJCQkJICAgICAgICAgICAgPHRyIGNsYXNzPSJhY3RpdmUiID4NCi0JCQkJCSAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0ibmFtZSIgIGRhdGEtc29ydGFibGU9InRydWUiPk5hbWU8L3RoPg0KLQkJCQkJICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJ0eXBlIiBkYXRhLXNvcnRhYmxlPSJ0cnVlIj5UeXBlPC90aD4NCi0JCQkJCSAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0idGVuYW50SUQiIGRhdGEtc29ydGFibGU9InRydWUiPlRlbmFudCBOYW1lPC90aD4NCi0JCQkJCSAgICAgICAgICAgICAgICA8dGggZGF0YS1maWVsZD0idGVuYW50U2l0ZUlEcyIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+VGVuYW50IFNpdGU8L3RoPg0KLQkJCQkJICAgICAgICAgICAgICAgIDx0aCBkYXRhLWZpZWxkPSJsb2NhdGlvbiIgZGF0YS1zb3J0YWJsZT0idHJ1ZSI+TG9jYXRpb248L3RoPg0KLQkJCQkJICAgICAgICAgICAgICAgIA0KLQkJCQkJICAgICAgICAgICAgICAgIDx0aCBhbGlnbj0iY2VudGVyIiBkYXRhLWZvcm1hdHRlciA9ICJvcGVyYXRlRm9ybWF0dGVyIiBkYXRhLWV2ZW50cz0ib3BlcmF0ZUV2ZW50cyI+QWN0aW9uPC90aD4NCi0JCQkJCSAgICAgICAgICAgIDwvdHI+DQotCQkJCQkgICAgICAgICAgICA8L3RoZWFkPg0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+DQotICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCi0gICAgICAgICAgICAgICAgPC9kaXY+CQ0KLSAgICAgICAgICAgIDwvZGl2Pg0KLQkJPC9kaXY+DQotCQk8IS0tIDxkaXYgaWQ9InRwTGlzdG9wZW5vdGFibGVfcGFnaW5hdGlvbl93cmFwcGVyIiBjbGFzcz0ib3Blbm8tdGFibGUtcGFnaW5hdGlvbi13cmFwcGVyIiBzdHlsZT0iZGlzcGxheTogYmxvY2s7Ij48ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWNvbnRhaW5lciBvcGVuby1wYWdpbmF0aW9uLXRoZW1lIG9wZW5vLXBhZ2luYXRpb24iPjxkaXYgY2xhc3M9Im9wZW5vUGFnaW5hdGlvbl9vcGVub1BhZ2luYXRpb25MZW5ndGhPcHRpb25zIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2RpdiI+PGlucHV0IHJlYWRvbmx5PSJ0cnVlIiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3Qgb3Blbm9wYWdpbmF0aW9uc2VsZWN0IiB2YWx1ZT0iIiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX2lucHV0IiBhY3R1YWx2YWw9IjIwIiBzdHlsZT0id2lkdGg6IDMycHg7Ij48c3BhbiBjbGFzcz0ib3Blbm8tcGFnaW5hdGlvbi1zZWxlY3RzcGFuIG9wZW5vcGFnaW5hdGlvbnNlbGVjdHNwYW4iIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfdHJpZ2dlciI+PC9zcGFuPjwvZGl2PjxsYWJlbCBzdHlsZT0iZGlzcGxheTogYmxvY2s7ZmxvYXQ6bGVmdDsiPlRvdGFsIHJlY29yZHM6IDIzPC9sYWJlbD48bGkgY2xhc3M9ImFjdGl2ZSI+PHNwYW4gY2xhc3M9ImN1cnJlbnQgcHJldiBvcGVuby1kaXNhYmxlZCIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wcmV2Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJhY3RpdmUiPjxzcGFuIGNsYXNzPSJjdXJyZW50IiBpZD0idHBMaXN0b3Blbm90YWJsZV93cmFwcGVyX3BhZ2VfbGlua18xIj4xPC9zcGFuPjwvbGk+PGxpPjxhIGNsYXNzPSJwYWdlLWxpbmsiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfcGFnZV9saW5rXzIiPjI8L2E+PC9saT48bGk+PGEgY2xhc3M9InBhZ2UtbGluayIgaWQ9InRwTGlzdG9wZW5vdGFibGVfd3JhcHBlcl9wYWdlX2xpbmtfMyI+MzwvYT48L2xpPjxsaT48YSBjbGFzcz0icGFnZS1saW5rIG5leHQiIGlkPSJ0cExpc3RvcGVub3RhYmxlX3dyYXBwZXJfbmV4dCI+Jm5ic3A7PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj4gLS0+DQotDQotCQk8ZGl2IGlkPSJ2bUFwcERpYWxvZyIgY2xhc3M9Im1vZGFsIGZhZGUiIHRhYmluZGV4PSItMSIgcm9sZT0iZGlhbG9nIg0KLQkJCQlhcmlhLWxhYmVsbGVkYnk9Im15TW9kYWxMYWJlbCIgYXJpYS1oaWRkZW49ImZhbHNlIj4NCi0JCQkJPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIj4NCi0JCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPgkJCQkJCQ0KLQkJCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KLQkJCQkJCQk8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KLQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgDQotCQkJCQkgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj0idHJ1ZSI+w5cNCi0JCQkJCSAgICAgICAgICAgIDwvYnV0dG9uPg0KLQkJCQkJCQkJPGg0IGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im15TW9kYWxMYWJlbCI+DQotCQkJCQkgICAgICAgICAgICAgICA8c3Bhbj5DcmVhdGU8L3NwYW4+DQotCQkJCQkgICAgICAgICAgICA8L2g0Pg0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPGZvcm0gY2xhc3M9ImZvcm0taG9yaXpvbnRhbCIgcm9sZT0iZm9ybSIgaWQ9InZtQXBwRm9ybSI+DQotCQkJCQkJCTxkaXYgaWQ9IndpemFyZCI+DQotCQkJCQkJCTxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgkJCQkJCQkNCi0JCQkJCQkJCTx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyBuYXYtanVzdGlmaWVkIHZtYXBwLW1hcmdpbiI+DQotCQkJCQkJCQk8L3VsPg0KLQkJCQkJCQkJPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPg0KLQkJCQkJCQkJCTxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImJhc2ljVGFiIj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgbXMtY2xhc3M9Imhhcy1lcnJvcjp2bUFwcERpYWxvZy5uYW1lPT0nJyI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPk5hbWU8L3NwYW4+DQotCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPg0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS03Ij4NCi0JCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im5hbWUiIG5hbWU9Im5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJOYW1lIi8+IA0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCi0JCQkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+DQotCQkJCQkJCQkJCQkJPHNwYW4+VHlwZTwvc3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsNCi0JCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCSAJDQotCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBzdHlsZSA9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiIGlkPSJ0eXBlIiANCi0JCQkJCQkJCQkJCQkgICAgICAgIG5hbWU9InR5cGUiPg0KLQkJCQkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJuZXR3b3JrX3NpdGUiPk5ldHdvcms8L29wdGlvbj4NCi0JCQkJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0idGVuYW50X3NpdGUiPlRlbmFudDwvb3B0aW9uPg0KLQkJCQkJCQkJCQkJCTwvc2VsZWN0Pg0KLQkJCQkJCQkJCQkJPC9kaXY+DQotCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8IS0tICBUT0RPOiB0aGVzZSBmaWVsZCBhcmUgaWdub3JlZCBhcyBvZiBub3cNCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlRlbmFudCBOYW1lPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZW5hbnROYW1lIiBuYW1lPSJ0ZW5hbnROYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iQmFuZ2xvcmUiLz4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQotCQkJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPg0KLQkJCQkJCQkJCQkJCTxzcGFuPlRlbmFudCBTaXRlPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwOw0KLQkJCQkJCQkJCQkJPC9sYWJlbD4NCi0JCQkJCQkJCQkJIAk8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQotCQkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJ0ZW5hbnRTaXRlIiBuYW1lPSJ0ZW5hbnRTaXRlIiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iQmFuZ2xvcmUiLz4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkJLS0+DQotCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KLQkJCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4NCi0JCQkJCQkJCQkJCQk8c3Bhbj5Mb2NhdGlvbjwvc3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsNCi0JCQkJCQkJCQkJCTwvbGFiZWw+DQotCQkJCQkJCQkJCSAJPGRpdiBjbGFzcz0iY29sLXNtLTciPg0KLQkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibG9jYXRpb24iIG5hbWU9ImxvY2F0aW9uIiBjbGFzcz0iZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iQmFuZ2xvcmUiLz4NCi0JCQkJCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJCQkNCi0JCQkJCQkJCQkNCi0JCQkJCQkJCTwvZGl2Pg0KLQkJCQkJCQk8L2Rpdj4NCi0JCQkJCQkJPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4JCQkJCQkJDQotCQkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBTREJ0biIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1oaWRkZW49InRydWUiIGlkPSJjcmVhdGVTaXRlIj4NCi0JCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1jYW5jZWxCdG4iPk9LPC9zcGFuPg0KLQkJCQkJCQkJPC9idXR0b24+CQkJCQkJCQ0KLQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnV0dG9uLXByZXZpb3VzIFNEQnRuIj4NCi0JCQkJCQkJCQk8c3BhbiBpZD0ibmZ2LXZpcnR1YWxBcHBsaWNhdGlvbi1pdWktdGV4dC1wcmV2aW91c0J0biI+Q2FuY2VsPC9zcGFuPg0KLQkJCQkJCQkJPC9idXR0b24+DQotCQkJCQkJCQkNCi0JCQkJCQkJPC9kaXY+DQotCQkJCQkJPC9kaXY+CQkJCQ0KLQkJCQkJCTwvZm9ybT4NCi0JCQkJCTwvZGl2Pg0KLQkJCQk8L2Rpdj4NCi0JCQk8L2Rpdj4NCi0JCTwvZGl2Pg0KLQk8L2Rpdj4NCi0JPGRpdiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9zZWxlY3RfcG9wdXBjb250YWluZXIiIGNsYXNzPSJvcGVubyBvcGVuby1zZWxlY3QtcG9wdXAtY29udGFpbmVyIG9wZW5vLWhpZGUiIHN0eWxlPSJ3aWR0aDogMTU1cHg7IG1heC1oZWlnaHQ6IDEzMHB4OyBsZWZ0OiA2MjhweDsgdG9wOiAxMDRweDsgei1pbmRleDogMTc2MTsiPjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8wIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzIG9wZW5vLXNlbGVjdC1ibGFuay1pdGVtIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij48L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9Im9wZW5vLXNlbGVjdC1pdGVtIG9wZW5vLWVsbGlwc2lzICAiIGlkPSJmaWx0ZXJUcExvZ2ljYWxUeXBlX29wZW5vLXNlbGVjdC1pZF8xIj48bGFiZWwgY2xhc3M9Im9wZW5vLWVsbGlwc2lzICIgc3R5bGU9IndpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAyMHB4OyI+RVRIPC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJvcGVuby1zZWxlY3QtaXRlbSBvcGVuby1lbGxpcHNpcyAgIiBpZD0iZmlsdGVyVHBMb2dpY2FsVHlwZV9vcGVuby1zZWxlY3QtaWRfMiI+PGxhYmVsIGNsYXNzPSJvcGVuby1lbGxpcHNpcyAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMjBweDsiIHRpdGxlPSJQT1MiPlBPUzwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzMiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5UcnVuazwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ib3Blbm8tc2VsZWN0LWl0ZW0gb3Blbm8tZWxsaXBzaXMgICIgaWQ9ImZpbHRlclRwTG9naWNhbFR5cGVfb3Blbm8tc2VsZWN0LWlkXzQiPjxsYWJlbCBjbGFzcz0ib3Blbm8tZWxsaXBzaXMgIiBzdHlsZT0id2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDIwcHg7Ij5Mb29wYmFjazwvbGFiZWw+PC9kaXY+PC9kaXY+DQotDQotDQotPC9ib2R5Pg0KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zZXJ2aWNlZ2F0ZXdheS9kZXBsb3ltZW50L3BvbS54bWwgYi9zZXJ2aWNlZ2F0ZXdheS9kZXBsb3ltZW50L3BvbS54bWwKaW5kZXggODhkNmY0ZS4uMmYwMjVlOSAxMDA2NDQKLS0tIGEvc2VydmljZWdhdGV3YXkvZGVwbG95bWVudC9wb20ueG1sCisrKyBiL3NlcnZpY2VnYXRld2F5L2RlcGxveW1lbnQvcG9tLnhtbApAQCAtMTgsMjIgKzE4LDk3IEBACiAgICAgPG1vZGVsVmVyc2lvbj40LjAuMDwvbW9kZWxWZXJzaW9uPgogICAgIDxwYXJlbnQ+CiAgICAgICAgIDxncm91cElkPm9yZy5vcGVuby5nc28uZ3VpPC9ncm91cElkPgotICAgICAgICA8YXJ0aWZhY3RJZD5zZXJ2aWNlZ2F0ZXdheTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgPGFydGlmYWN0SWQ+c2VydmljZS1nYXRld2F5LXJvb3Q8L2FydGlmYWN0SWQ+CiAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgIDwvcGFyZW50PgogCi0gICAgPGFydGlmYWN0SWQ+ZGVwbG95bWVudDwvYXJ0aWZhY3RJZD4KLSAgICA8bmFtZT5kZXBsb3ltZW50PC9uYW1lPgotICAgIDxwYWNrYWdpbmc+amFyPC9wYWNrYWdpbmc+CisgICAgPGFydGlmYWN0SWQ+c2VydmljZS1nYXRld2F5LWRlcGxveW1lbnQ8L2FydGlmYWN0SWQ+CisgICAgPG5hbWU+U2VydmljZUdhdGV3YXlSb290RGVwbG95bWVudDwvbmFtZT4KKyAgICA8cGFja2FnaW5nPnBvbTwvcGFja2FnaW5nPgogCiAgICAgPHByb3BlcnRpZXM+CiAgICAgICAgIDxwcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nPlVURi04PC9wcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nPgogICAgIDwvcHJvcGVydGllcz4KLSAgICA8ZGVwZW5kZW5jaWVzPgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5vcGVuby5jb21tb24tc2VydmljZXMuY29tbW9uLXV0aWxpdGllczwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbW1vbmxpYi1jYmI8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgIDwvZGVwZW5kZW5jaWVzPgorCisgICAgPGJ1aWxkPgorICAgICAgICA8cGx1Z2luTWFuYWdlbWVudD4KKyAgICAgICAgICAgIDxwbHVnaW5zPgorICAgICAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5jb2RlaGF1cy5nbWF2ZW48L2dyb3VwSWQ+CisgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmdyb292eS1tYXZlbi1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjIuMDwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgICAgIDwvcGx1Z2lucz4KKyAgICAgICAgPC9wbHVnaW5NYW5hZ2VtZW50PgorICAgICAgICA8cGx1Z2lucz4KKyAgICAgICAgICAgIDxwbHVnaW4+CisgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLmdtYXZlbjwvZ3JvdXBJZD4KKyAgICAgICAgICAgICAgICA8YXJ0aWZhY3RJZD5nbWF2ZW4tcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjEuNTwvdmVyc2lvbj4KKyAgICAgICAgICAgICAgICA8ZXhlY3V0aW9ucz4KKyAgICAgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxpZD5TZXJ2aWNlR2F0ZXdheSBwYWNrYWdlPC9pZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxwaGFzZT5wYWNrYWdlPC9waGFzZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxnb2Fscz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbD5leGVjdXRlPC9nb2FsPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9nb2Fscz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2U+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiKioqKioqKiogR29pbmcgdG8gbWFrZSByZWxlYXNlIHppcCAqKioqKioqKiIpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwbG95Rm9sZGVyID0gIiR7cHJvamVjdC5idWlsZC5kaXJlY3Rvcnl9L2RlcGxveW91dHB1dCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwbG95VW56aXAgPSAiJHtwcm9qZWN0LmJ1aWxkLmRpcmVjdG9yeX0vZGVwbG95dW56aXAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGZpbGVOYW1lID0gIlNlcnZpY2VHYXRld2F5LS4ke3Byb2plY3QudmVyc2lvbn0uemlwIgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5kZWxldGUoZGlyOiAiJHtkZXBsb3lGb2xkZXJ9IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50Lm1rZGlyKGRpcjogIiR7ZGVwbG95Rm9sZGVyfSIpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50LmRlbGV0ZShkaXI6ICIke2RlcGxveVVuemlwfSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5ta2RpcihkaXI6ICIke2RlcGxveVVuemlwfSIpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50Lm1rZGlyKGRpcjogIiR7ZGVwbG95VW56aXB9L3dlYmFwcHMvUk9PVCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5ta2RpcihkaXI6ICIke2RlcGxveVVuemlwfS93ZWJhcHBzL29wZW5vdWkjc2VydmljZWdhdGV3YXkjdjEiKQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5jb3B5KHRvZGlyOiAiJHtkZXBsb3lVbnppcH0iKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzZXQoZGlyOiAiJHtiYXNlZGlyfS9zcmMvbWFpbi9yZWxlYXNlIil7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGUobmFtZTogIioqLy5naXRpZ25vcmUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnQuY29weSh0b2RpcjogIiR7ZGVwbG95VW56aXB9L3dlYmFwcHMvUk9PVCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNldChkaXI6ICIke3Byb2plY3QuYnVpbGQuZGlyZWN0b3J5fS8uLi8uLi9zZXJ2aWNlL3RhcmdldC9ST09UIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC56aXAoZGVzdGZpbGU6ICIke2RlcGxveUZvbGRlcn0vJHtvdXRmaWxlTmFtZX0iKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzZXQoZGlyOiAiJHtkZXBsb3lVbnppcH0iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiKioqKioqKiogY29tcGxldGVkLiAqKioqKioqKioqKioiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbj4KKyAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbnM+CisgICAgICAgICAgICA8L3BsdWdpbj4KKyAgICAgICAgICAgICA8cGx1Z2luPgorICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5jb2RlaGF1cy5tb2pvPC9ncm91cElkPgorICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmJ1aWxkLWhlbHBlci1tYXZlbi1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAgICAgPGV4ZWN1dGlvbnM+CisgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+CisgICAgICAgICAgICAgICAgICAgICAgICA8aWQ+YXR0YWNoLWFydGlmYWN0czwvaWQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8cGhhc2U+cGFja2FnZTwvcGhhc2U+CisgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbHM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWw+YXR0YWNoLWFydGlmYWN0PC9nb2FsPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9nb2Fscz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdHM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlPiR7cHJvamVjdC5idWlsZC5kaXJlY3Rvcnl9L2RlcGxveW91dHB1dC9TZXJ2aWNlR2F0ZXdheS0uJHtwcm9qZWN0LnZlcnNpb259LnppcDwvZmlsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlPnppcDwvdHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hcnRpZmFjdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FydGlmYWN0cz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgPC9leGVjdXRpb24+CisgICAgICAgICAgICAgICAgPC9leGVjdXRpb25zPgorICAgICAgICAgICAgPC9wbHVnaW4+CisgICAgICAgIDwvcGx1Z2lucz4KKyAgICA8L2J1aWxkPgogPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvc2VydmljZWdhdGV3YXkvZGVwbG95bWVudC9zcmMvbWFpbi9yZWxlYXNlL2Jpbi9zdGFydC5zaCBiL3NlcnZpY2VnYXRld2F5L2RlcGxveW1lbnQvc3JjL21haW4vcmVsZWFzZS9iaW4vc3RhcnQuc2gKaW5kZXggMjM1YjMxOS4uNGFkNmRiNCAxMDA2NDQKLS0tIGEvc2VydmljZWdhdGV3YXkvZGVwbG95bWVudC9zcmMvbWFpbi9yZWxlYXNlL2Jpbi9zdGFydC5zaAorKysgYi9zZXJ2aWNlZ2F0ZXdheS9kZXBsb3ltZW50L3NyYy9tYWluL3JlbGVhc2UvYmluL3N0YXJ0LnNoCkBAIC0xNSw1ICsxNSw3IEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogIyEvYmluL2Jhc2gKIGNkIC4uCitta2RpciBsb2dzCitta2RpciB0ZW1wCiBleHBvcnQgQ0FUQUxJTkFfQkFTRT0kKGNkIGBkaXJuYW1lICQwYDsgcHdkKQotY2F0YWxpbmEuc2ggc3RhcnQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiskQ0FUQUxJTkFfSE9NRS9iaW4vY2F0YWxpbmEuc2ggc3RhcnQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zZXJ2aWNlZ2F0ZXdheS9kZXBsb3ltZW50L3NyYy9tYWluL3JlbGVhc2UvYmluL3N0b3Auc2ggYi9zZXJ2aWNlZ2F0ZXdheS9kZXBsb3ltZW50L3NyYy9tYWluL3JlbGVhc2UvYmluL3N0b3Auc2gKaW5kZXggYmNjNjA0My4uMzY1ZGEwMCAxMDA2NDQKLS0tIGEvc2VydmljZWdhdGV3YXkvZGVwbG95bWVudC9zcmMvbWFpbi9yZWxlYXNlL2Jpbi9zdG9wLnNoCisrKyBiL3NlcnZpY2VnYXRld2F5L2RlcGxveW1lbnQvc3JjL21haW4vcmVsZWFzZS9iaW4vc3RvcC5zaApAQCAtMTYsNCArMTYsNCBAQAogIyEvYmluL2Jhc2gKIGNkIC4uCiBleHBvcnQgQ0FUQUxJTkFfQkFTRT0kKGNkIGBkaXJuYW1lICQwYDsgcHdkKQotY2F0YWxpbmEuc2ggc3RvcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyRDQVRBTElOQV9IT01FL2Jpbi9jYXRhbGluYS5zaCBzdG9wClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc2VydmljZWdhdGV3YXkvcG9tLnhtbCBiL3NlcnZpY2VnYXRld2F5L3BvbS54bWwKaW5kZXggMzgzNmRkNS4uNGIyZWQ0NSAxMDA2NDQKLS0tIGEvc2VydmljZWdhdGV3YXkvcG9tLnhtbAorKysgYi9zZXJ2aWNlZ2F0ZXdheS9wb20ueG1sCkBAIC0yMSwyNzEgKzIxLDEyOSBAQAogICAgICAgPGFydGlmYWN0SWQ+Z3NvLWd1aTwvYXJ0aWZhY3RJZD4KICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgogICAgIDwvcGFyZW50PgotICAgIDxhcnRpZmFjdElkPnNlcnZpY2VnYXRld2F5PC9hcnRpZmFjdElkPgotICAgIDxuYW1lPnNlcnZpY2VnYXRld2F5PC9uYW1lPgorICAgIDxncm91cElkPm9yZy5vcGVuby5nc28uZ3VpPC9ncm91cElkPgorICAgIDxhcnRpZmFjdElkPnNlcnZpY2UtZ2F0ZXdheS1yb290PC9hcnRpZmFjdElkPgorICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgIDxuYW1lPlNlcnZpY2VHYXRld2F5Um9vdDwvbmFtZT4KICAgICA8cGFja2FnaW5nPnBvbTwvcGFja2FnaW5nPgogCiAgICAgPHByb3BlcnRpZXM+CiAgICAgICAgIDxwcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nPlVURi04PC9wcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nPgorICAgICAgICA8Y3hmLnZlcnNpb24+My4xLjY8L2N4Zi52ZXJzaW9uPgogICAgIDwvcHJvcGVydGllcz4KICAgICA8bW9kdWxlcz4KICAgICAgICAgPG1vZHVsZT5zZXJ2aWNlPC9tb2R1bGU+CiAgICAgICAgIDxtb2R1bGU+ZGVwbG95bWVudDwvbW9kdWxlPgogICAgIDwvbW9kdWxlcz4KKyAgICA8c2NtPgorICAgICAgICA8dGFnPkhFQUQ8L3RhZz4KKyAgICA8L3NjbT4KKyAgICAgICAgPGRlcGVuZGVuY2llcz4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcub3Blbm8uY29tbW9uLXNlcnZpY2VzLmNvbW1vbi11dGlsaXRpZXM8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21tb25saWItY2JiPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcub3Blbm8uY29tbW9uLXNlcnZpY2VzLmNvbW1vbi11dGlsaXRpZXM8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21tb25saWItcmVzdGNsaWVudDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5jeGY8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5jeGYtcnQtZnJvbnRlbmQtamF4cnM8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4zLjEuNjwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmNvbW1vbnMtaHR0cGNsaWVudDwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbW1vbnMtaHR0cGNsaWVudDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjMuMTwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgogCi0gICAgPHByb2ZpbGVzPgotICAgICAgICA8cHJvZmlsZT4KLSAgICAgICAgICAgIDxhY3RpdmF0aW9uPgotICAgICAgICAgICAgICAgIDxmaWxlPgotICAgICAgICAgICAgICAgICAgICA8ZXhpc3RzPnNyYy9tYWluL3JlbGVhc2UvcHViPC9leGlzdHM+Ci0gICAgICAgICAgICAgICAgPC9maWxlPgotICAgICAgICAgICAgPC9hY3RpdmF0aW9uPgotICAgICAgICAgICAgPGJ1aWxkPgotICAgICAgICAgICAgICAgIDxwbHVnaW5zPgotICAgICAgICAgICAgICAgICAgICA8cGx1Z2luPgotICAgICAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5tYXZlbi5wbHVnaW5zPC9ncm91cElkPgotICAgICAgICAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tY29tcGlsZXItcGx1Z2luPC9hcnRpZmFjdElkPgotICAgICAgICAgICAgICAgICAgICAgICAgPHZlcnNpb24+My4zPC92ZXJzaW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZT4xLjg8L3NvdXJjZT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFyZ2V0PjEuODwvdGFyZ2V0PgotICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgotICAgICAgICAgICAgICAgICAgICA8L3BsdWdpbj4KLSAgICAgICAgICAgICAgICAgICAgPHBsdWdpbj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPm1hdmVuLWRlcGVuZGVuY3ktcGx1Z2luPC9hcnRpZmFjdElkPgotICAgICAgICAgICAgICAgICAgICAgICAgPHZlcnNpb24+Mi4xMDwvdmVyc2lvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb25zPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleGVjdXRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpZD5jb3B5LWRlcGVuZGVuY2llczwvaWQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwaGFzZT5wYWNrYWdlPC9waGFzZT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWxzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGdvYWw+Y29weS1kZXBlbmRlbmNpZXM8L2dvYWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZ29hbHM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25maWd1cmF0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG91dHB1dERpcmVjdG9yeT4ke3Byb2plY3QuYnVpbGQuZGlyZWN0b3J5fS9kZXBsb3lkZXBlbmRlbmNpczwvb3V0cHV0RGlyZWN0b3J5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG92ZXJXcml0ZVJlbGVhc2VzPmZhbHNlPC9vdmVyV3JpdGVSZWxlYXNlcz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvdmVyV3JpdGVTbmFwc2hvdHM+ZmFsc2U8L292ZXJXcml0ZVNuYXBzaG90cz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvdmVyV3JpdGVJZk5ld2VyPnRydWU8L292ZXJXcml0ZUlmTmV3ZXI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5jbHVkZVNjb3BlPmNvbXBpbGU8L2luY2x1ZGVTY29wZT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbmNsdWRlU2NvcGU+cnVudGltZTwvaW5jbHVkZVNjb3BlPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmZpZ3VyYXRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leGVjdXRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbnM+Ci0gICAgICAgICAgICAgICAgICAgIDwvcGx1Z2luPgotICAgICAgICAgICAgICAgICAgICA8cGx1Z2luPgotICAgICAgICAgICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLmdtYXZlbjwvZ3JvdXBJZD4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdElkPmdtYXZlbi1wbHVnaW48L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8dmVyc2lvbj4xLjU8L3ZlcnNpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZXhlY3V0aW9ucz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhlY3V0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aWQ+bWFrZSBuZXcgamFyPC9pZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBoYXNlPnBhY2thZ2U8L3BoYXNlPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbHM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z29hbD5leGVjdXRlPC9nb2FsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2dvYWxzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2U+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSBTdHJpbmcgZ2V0V2ViQ29udGV4dEZyb21NYW5pZmVzdChGaWxlIHdhckZpbGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgY29udGV4dCA9IG51bGw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamF2YS51dGlsLmphci5KYXJGaWxlIGphckZpbGUgPSBudWxsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamFyRmlsZSA9IG5ldyBqYXZhLnV0aWwuamFyLkphckZpbGUod2FyRmlsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamFyRmlsZS5nZXRNYW5pZmVzdCgpLmdldE1haW5BdHRyaWJ1dGVzKCkuZ2V0VmFsdWUoIldlYkNvbnRleHQtTmFtZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0ID09IG51bGwgPyAiUk9PVCIgOiBjb250ZXh0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LnJlcGxhY2UoIlwiLCAiLyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LnJlcGxhY2VBbGwoIlsvXXsyLH0iLCAiLyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmVuZHNXaXRoKCIvIikgPyBjb250ZXh0LnN1YnN0cmluZygwLCBjb250ZXh0Lmxlbmd0aCgpIC0gMSkgOiBjb250ZXh0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LnN0YXJ0c1dpdGgoIi8iKSA/IGNvbnRleHQuc3Vic3RyaW5nKDEsIGNvbnRleHQubGVuZ3RoKCkpIDogY29udGV4dDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5yZXBsYWNlQWxsKCIvIiwgIiMiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0tLWNvbnRleHQgZXJvcjogIixlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gIlJPT1QiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZmluYWxseSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGphckZpbGUgIT0gbnVsbCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGphckZpbGUuY2xvc2UoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0tLWNvbnRleHQgaXM6ICIgKyBjb250ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTEiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3QgY29udGV4dHM9bmV3IEFycmF5TGlzdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGxveWRlcGVuZGVuY2lzZGlyID0gIiR7cHJvamVjdC5idWlsZC5kaXJlY3Rvcnl9L2RlcGxveWRlcGVuZGVuY2lzIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnppcGRpciA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR7cHJvamVjdC5idWlsZC5kaXJlY3Rvcnl9L2RlcGxveXVuemlwIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRkaXIgPQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIke3Byb2plY3QuYnVpbGQuZGlyZWN0b3J5fS9kZXBsb3lvdXRwdXQiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc2RpciA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR7cHJvamVjdC5iYXNlZGlyfS9zcmMvbWFpbi9yZWxlYXNlIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqYXJzZGlyID0gIiR7dW56aXBkaXJ9L2xpYiI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHBhdGggPQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIke3Byb2plY3QuYnVpbGQuZGlyZWN0b3J5fS9kZXBsb3lvdXRwdXRqYXJzIjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tMiIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50ID0gbmV3IEFudEJ1aWxkZXIoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5kZWxldGUoZGlyOiAiJHt1bnppcGRpcn0iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5ta2RpcihkaXI6ICIke3VuemlwZGlyfSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50Lm1rZGlyKGRpcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29scGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnQuZGVsZXRlKGRpcjogIiR7b3V0cHV0ZGlyfSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50Lm1rZGlyKGRpcjogIiR7b3V0cHV0ZGlyfSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50LmRlbGV0ZShkaXI6ICIke2phcnNkaXJ9IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnQubWtkaXIoZGlyOiAiJHtqYXJzZGlyfSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0RmlsZU5hbWUgPQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIke3Byb2plY3QubmFtZX0iCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTMiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGUoIiR7ZGVwbG95ZGVwZW5kZW5jaXNkaXJ9IikuZXhpc3RzKCkpewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoRmlsZSBmaWxlIDogbmV3IEZpbGUoIiR7ZGVwbG95ZGVwZW5kZW5jaXNkaXJ9IikubGlzdEZpbGVzKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBmaWxlUGF0aCA9IGZpbGUuZ2V0QWJzb2x1dGVQYXRoKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWUgPSBmaWxlLmdldE5hbWUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZU5hbWUuZW5kc1dpdGgoIi53YXIiKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRXZWJDb250ZXh0RnJvbU1hbmlmZXN0KGZpbGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50Lm1rZGlyKGRpcjogIiR7dW56aXBkaXJ9L3dlYmFwcHMvIiArIGNvbnRleHQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50LnVuemlwKHNyYzogZmlsZVBhdGgsIGRlc3Q6ICIke3VuemlwZGlyfS93ZWJhcHBzLyIgKyBjb250ZXh0KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5jb3B5KHRvZGlyOiB0b29scGF0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzZXQoZGlyOiAiJHt1bnppcGRpcn0vd2ViYXBwcy8iICsgY29udGV4dCArICIvV0VCLUlORi9saWIiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZShuYW1lOiAiKi5qYXIiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dHMuYWRkKHRvb2xwYXRoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5jb3B5KHRvZGlyOiB0b29scGF0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzZXQoZGlyOiAiJHtkZXBsb3lkZXBlbmRlbmNpc2Rpcn0iKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZShuYW1lOiAiKi5qYXIiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5vcGVuby5nc288L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5vcmcub3Blbm8uZ3NvLmNvbW1zdmMuY29tbW9uPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3ByaW5nLWJlYW5zPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+My4xLjAuUkVMRUFTRTwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcms8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctY29udGV4dDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjMuMS4wLlJFTEVBU0U8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3ByaW5nLWpkYmM8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4zLjEuMC5SRUxFQVNFPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLnNwcmluZ2ZyYW1ld29yazwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPnNwcmluZy13ZWI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4zLjEuMC5SRUxFQVNFPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLm9zZ2k8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5vcmcub3NnaS5jb3JlPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+NC4xLjA8L3ZlcnNpb24+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcubXliYXRpczwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPm15YmF0aXM8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4zLjIuNzwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPm9yZy5teWJhdGlzPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+bXliYXRpcy1zcHJpbmc8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjIuMDwvdmVyc2lvbj4KKyAgICAgICAgICAgIDx0eXBlPmphcjwvdHlwZT4KKyAgICAgICAgICAgIDxzY29wZT5jb21waWxlPC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmNvbS5tY2hhbmdlPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+YzNwMDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjAuOS4yLjE8L3ZlcnNpb24+CisgICAgICAgICAgICA8dHlwZT5qYXI8L3R5cGU+CisgICAgICAgICAgICA8c2NvcGU+Y29tcGlsZTwvc2NvcGU+CisgICAgICAgIDwvZGVwZW5kZW5jeT4KKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuY29kZWhhdXMuamFja3NvbjwvZ3JvdXBJZD4KKyAgICAgICAgICAgIDxhcnRpZmFjdElkPmphY2tzb24tamF4cnM8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjkuMjwvdmVyc2lvbj4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmphdmF4LnNlcnZsZXQ8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5qYXZheC5zZXJ2bGV0LWFwaTwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjMuMS4wPC92ZXJzaW9uPgorICAgICAgICA8L2RlcGVuZGVuY3k+ICAgICAgICAKKyAgICAgICAgPGRlcGVuZGVuY3k+CisgICAgICAgICAgICA8Z3JvdXBJZD5jb20uZ29vZ2xlY29kZS5qbW9ja2l0PC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+am1vY2tpdDwvYXJ0aWZhY3RJZD4KKyAgICAgICAgICAgIDx2ZXJzaW9uPjEuMTwvdmVyc2lvbj4KKyAgICAgICAgICAgIDxzY29wZT50ZXN0PC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmp1bml0PC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+anVuaXQ8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj40LjEyPC92ZXJzaW9uPgorICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgICAgIDxkZXBlbmRlbmN5PgorICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmptb2NraXQ8L2dyb3VwSWQ+CisgICAgICAgICAgICA8YXJ0aWZhY3RJZD5qbW9ja2l0LWNvdmVyYWdlPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgPHZlcnNpb24+MS4xODwvdmVyc2lvbj4KKyAgICAgICAgICAgIDxzY29wZT50ZXN0PC9zY29wZT4KKyAgICAgICAgPC9kZXBlbmRlbmN5PgorICAgICAgICA8ZGVwZW5kZW5jeT4KKyAgICAgICAgICAgIDxncm91cElkPmNvbS5oMmRhdGFiYXNlPC9ncm91cElkPgorICAgICAgICAgICAgPGFydGlmYWN0SWQ+aDI8L2FydGlmYWN0SWQ+CisgICAgICAgICAgICA8dmVyc2lvbj4xLjQuMTkwPC92ZXJzaW9uPgorICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgorICAgICAgICA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmNpZXM+CiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tNCIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50LmNvcHkodG9kaXI6IHRvb2xwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNldChkaXI6ICIke3Byb2plY3QuYnVpbGQuZGlyZWN0b3J5fSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlKG5hbWU6ICIqLmphciIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5jb3B5KHRvZGlyOiAiJHt1bnppcGRpcn0iKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNldChkaXI6ICIke3Jlc291cmNlc2Rpcn0iKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZShuYW1lOiAiKioiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNvbXBpbGUgcHl0aG9uIC5weSBmaWxlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTUtLS0tLS0tLS0tLS0tLS0tLS0iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbkZpbGUgPSAiJHtwcm9qZWN0LmJhc2VkaXJ9L3NyYy9tYWluL3B5dGhvbiI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZShweXRob25GaWxlKS5leGlzdHMoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50LmV4ZWMoZGlyOiAiJHtwcm9qZWN0LmJhc2VkaXJ9L3NyYy9tYWluL3B5dGhvbiIsIGV4ZWN1dGFibGU6ICJweXRob24iKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnKHZhbHVlOiAiLW0iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZyh2YWx1ZTogImNvbXBpbGVhbGwiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZyh2YWx1ZTogIi4iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5jb3B5KHRvZGlyOiAiJHt1bnppcGRpcn0iKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNldChkaXI6ICIke3Byb2plY3QuYmFzZWRpcn0vc3JjL21haW4vcHl0aG9uIikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUobmFtZTogIioqLyouKiIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVkZShuYW1lOiAiKiovKi5weSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gZWVlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tJmd0OyZndDsmZ3Q7IitlZWUudG9TdHJpbmcoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29weSBhbGwgZGVwZW5kZW5jaWVzIHRvICRBUFBfUk9PVC9saWIuICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS02LS0tLS0tLS0tLS0tLS0tLS0tIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IoU3RyaW5nIHRlbVBhdGggOiBjb250ZXh0cykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobmV3IEZpbGUodGVtUGF0aCkuZXhpc3RzKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChGaWxlIGZpbGUgOiBuZXcgRmlsZSh0ZW1QYXRoKS5saXN0RmlsZXMoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lID0gZmlsZS5nZXROYW1lKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVOYW1lLmVuZHNXaXRoKCIuamFyIikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnQuY29weShmaWxlOiBmaWxlLmdldEFic29sdXRlUGF0aCgpLCB0b2RpcjogIiR7amFyc2Rpcn0iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBkZXBsb3kgdGhlIHVwemlwIGZpbGUgdG8gJHtvdXRwdXRkaXJ9LyR7b3V0cHV0RmlsZU5hbWV9ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS03LS0tLS0tLS0tLS0tLS0tLS0tIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRGaWxlTmFtZSA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0RmlsZU5hbWUuZW5kc1dpdGgoIkRlcGxveW1lbnQiKT9vdXRwdXRGaWxlTmFtZTpvdXRwdXRGaWxlTmFtZSsiRGVwbG95bWVudCI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0RmlsZU5hbWUgPSBvdXRwdXRGaWxlTmFtZS5zdWJzdHJpbmcoMCwgb3V0cHV0RmlsZU5hbWUubGVuZ3RoKCkgLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZXBsb3ltZW50Ii5sZW5ndGgoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0RmlsZU5hbWUgPSBvdXRwdXRGaWxlTmFtZSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0ke3Byb2plY3QudmVyc2lvbn0uemlwIjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dEZpbGVOYW1lID0gb3V0cHV0RmlsZU5hbWUucmVwbGFjZSgiLVNOQVBTSE9UIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiIgKyBuZXcgamF2YS50ZXh0LlNpbXBsZURhdGVGb3JtYXQoInl5eXlNTWRkSEhtbXNzIikuZm9ybWF0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKCkpKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5kZWxldGUoZGlyOiAiJHt1bnppcGRpcn0vd2ViYXBwcy9ST09UL1dFQi1JTkYvbGliIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50Lm1rZGlyKGRpcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJHt1bnppcGRpcn0vd2ViYXBwcy9ST09UL1dFQi1JTkYvbGliIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW50LmNvcHkodG9kaXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR7dW56aXBkaXJ9L3dlYmFwcHMvUk9PVC9XRUItSU5GL2xpYiIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc2V0KGRpcjogIiR7dW56aXBkaXJ9L2xpYiIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlKG5hbWU6ICJvcmcub3Blbm8uY29tbW9uLXNlcnZpY2VzLmNvbW1vbi11dGlsaXRpZXMuY29tbW9ubGliLmRiLSouamFyIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlKG5hbWU6ICJvcmcub3Blbm8uY29tbW9uLXNlcnZpY2VzLmNvbW1vbi11dGlsaXRpZXMuY29tbW9ubGliLmNiYi0qLmphciIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC5kZWxldGUoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXNldChkaXI6ICIke3VuemlwZGlyfS9saWIiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZShuYW1lOiAib3JnLm9wZW5vLmNvbW1vbi1zZXJ2aWNlcy5jb21tb24tdXRpbGl0aWVzLmNvbW1vbmxpYi5kYi0qLmphciIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZShuYW1lOiAib3JnLm9wZW5vLmNvbW1vbi1zZXJ2aWNlcy5jb21tb24tdXRpbGl0aWVzLmNvbW1vbmxpYi5jYmItKi5qYXIiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBnZW5lcmF0ZSBkZXBlbmRlbmNpZXMubGlzdCBpbiAkQVBQX1JPT1QvbGliLiBSZXF1aXJlbWVudCBmb3IgaW5zdGFsbCBkaXNrIHNpemUuICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS04LS0tLS0tLS0tLS0tLS0tLS0tIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXNQYXRoPSIke3VuemlwZGlyfS9saWIiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmIHdyaXRlciA9IG5ldyBGaWxlKGRlcGVuZGVuY2llc1BhdGgrIi9kZXBlbmRlbmNpZXMubGlzdCIpLm5ld1dyaXRlcignVVRGLTgnKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoU3RyaW5nIGZpbGVOYW1lIDogbmV3IEZpbGUoZGVwZW5kZW5jaWVzUGF0aCkubGlzdCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVOYW1lLmVuZHNXaXRoKCIuamFyIikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIud3JpdGVMaW5lKGZpbGVOYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlci5jbG9zZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWFrZSB0aGUgYXJjaGl2ZS4gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTktLS0tLS0tLS0tLS0tLS0tLS0iKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFudC56aXAoZGVzdGZpbGU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR7b3V0cHV0ZGlyfS8ke291dHB1dEZpbGVOYW1lfSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc2V0KGRpcjogIiR7dW56aXBkaXJ9IikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGUobmFtZTogIioqLy5naXRpZ25vcmUiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWRvbmUiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZmlndXJhdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4ZWN1dGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhlY3V0aW9ucz4KLSAgICAgICAgICAgICAgICAgICAgPC9wbHVnaW4+Ci0gICAgICAgICAgICAgICAgPC9wbHVnaW5zPgotICAgICAgICAgICAgPC9idWlsZD4KLSAgICAgICAgPC9wcm9maWxlPgotICAgIDwvcHJvZmlsZXM+CiA8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9zZXJ2aWNlZ2F0ZXdheS9zZXJ2aWNlL3BvbS54bWwgYi9zZXJ2aWNlZ2F0ZXdheS9zZXJ2aWNlL3BvbS54bWwKaW5kZXggM2ZmNmZkYy4uYjBjZDU1MSAxMDA2NDQKLS0tIGEvc2VydmljZWdhdGV3YXkvc2VydmljZS9wb20ueG1sCisrKyBiL3NlcnZpY2VnYXRld2F5L3NlcnZpY2UvcG9tLnhtbApAQCAtMTcsMTU1ICsxNyw2MyBAQAogPHByb2plY3QgeG1sbnM9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnL1BPTS80LjAuMCBodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy94c2QvbWF2ZW4tNC4wLjAueHNkIj4KICAgICA8bW9kZWxWZXJzaW9uPjQuMC4wPC9tb2RlbFZlcnNpb24+Ci0gICAgPHBhcmVudD4KKyAgICA8cGFyZW50PiAKICAgICAgICAgPGdyb3VwSWQ+b3JnLm9wZW5vLmdzby5ndWk8L2dyb3VwSWQ+Ci0gICAgICAgIDxhcnRpZmFjdElkPnNlcnZpY2VnYXRld2F5PC9hcnRpZmFjdElkPgorICAgICAgICA8YXJ0aWZhY3RJZD5zZXJ2aWNlLWdhdGV3YXktcm9vdDwvYXJ0aWZhY3RJZD4KICAgICAgICAgPHZlcnNpb24+MS4wLjAtU05BUFNIT1Q8L3ZlcnNpb24+CiAgICAgPC9wYXJlbnQ+CiAKLSAgICA8YXJ0aWZhY3RJZD5zZXJ2aWNlPC9hcnRpZmFjdElkPgotICAgIDxuYW1lPnNlcnZpY2U8L25hbWU+CisgICAgPGFydGlmYWN0SWQ+c2VydmljZS1nYXRld2F5LXNlcnZpY2U8L2FydGlmYWN0SWQ+CisgICAgPG5hbWU+U2VydmljZUdhdGV3YXlTZXJ2aWNlPC9uYW1lPgogICAgIDxwYWNrYWdpbmc+d2FyPC9wYWNrYWdpbmc+Ci0KLSAgICA8ZGVwZW5kZW5jaWVzPgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5vcGVuby5jb21tb24tc2VydmljZXMuY29tbW9uLXV0aWxpdGllczwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbW1vbmxpYi1jYmI8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgICAgICA8IS0tIHJvYSAtLT4KLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcub3Blbm8uY29tbW9uLXNlcnZpY2VzLmNvbW1vbi11dGlsaXRpZXM8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5jb21tb25saWItcmVzdGNsaWVudDwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjEuMC4wLVNOQVBTSE9UPC92ZXJzaW9uPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmFwYWNoZS5jeGY8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5jeGYtcnQtZnJvbnRlbmQtamF4cnM8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4zLjEuNjwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPmNvbW1vbnMtaHR0cGNsaWVudDwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmNvbW1vbnMtaHR0cGNsaWVudDwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjMuMTwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotCi0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLm9wZW5vLmdzbzwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPm9yZy5vcGVuby5nc28uY29tbXN2Yy5jb21tb248L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjAuMC1TTkFQU0hPVDwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcms8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctYmVhbnM8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4zLjEuMC5SRUxFQVNFPC92ZXJzaW9uPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLnNwcmluZ2ZyYW1ld29yazwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPnNwcmluZy1jb250ZXh0PC9hcnRpZmFjdElkPgotICAgICAgICAgICAgPHZlcnNpb24+My4xLjAuUkVMRUFTRTwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5zcHJpbmdmcmFtZXdvcms8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5zcHJpbmctamRiYzwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjMuMS4wLlJFTEVBU0U8L3ZlcnNpb24+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4KLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcuc3ByaW5nZnJhbWV3b3JrPC9ncm91cElkPgotICAgICAgICAgICAgPGFydGlmYWN0SWQ+c3ByaW5nLXdlYjwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjMuMS4wLlJFTEVBU0U8L3ZlcnNpb24+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4KLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcub3NnaTwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPm9yZy5vc2dpLmNvcmU8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj40LjEuMDwvdmVyc2lvbj4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5teWJhdGlzPC9ncm91cElkPgotICAgICAgICAgICAgPGFydGlmYWN0SWQ+bXliYXRpczwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjMuMi43PC92ZXJzaW9uPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLm15YmF0aXM8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5teWJhdGlzLXNwcmluZzwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjEuMi4wPC92ZXJzaW9uPgotICAgICAgICAgICAgPHR5cGU+amFyPC90eXBlPgotICAgICAgICAgICAgPHNjb3BlPmNvbXBpbGU8L3Njb3BlPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLm1jaGFuZ2U8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5jM3AwPC9hcnRpZmFjdElkPgotICAgICAgICAgICAgPHZlcnNpb24+MC45LjIuMTwvdmVyc2lvbj4KLSAgICAgICAgICAgIDx0eXBlPmphcjwvdHlwZT4KLSAgICAgICAgICAgIDxzY29wZT5jb21waWxlPC9zY29wZT4KLSAgICAgICAgPC9kZXBlbmRlbmN5PgotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPm9yZy5jb2RlaGF1cy5qYWNrc29uPC9ncm91cElkPgotICAgICAgICAgICAgPGFydGlmYWN0SWQ+amFja3Nvbi1qYXhyczwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjEuOS4yPC92ZXJzaW9uPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+amF2YXguc2VydmxldDwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmphdmF4LnNlcnZsZXQtYXBpPC9hcnRpZmFjdElkPgotICAgICAgICAgICAgPHZlcnNpb24+My4xLjA8L3ZlcnNpb24+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4gICAgICAgIAotICAgICAgICA8ZGVwZW5kZW5jeT4KLSAgICAgICAgICAgIDxncm91cElkPmNvbS5nb29nbGVjb2RlLmptb2NraXQ8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5qbW9ja2l0PC9hcnRpZmFjdElkPgotICAgICAgICAgICAgPHZlcnNpb24+MS4xPC92ZXJzaW9uPgotICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+anVuaXQ8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5qdW5pdDwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjQuMTI8L3ZlcnNpb24+Ci0gICAgICAgICAgICA8c2NvcGU+dGVzdDwvc2NvcGU+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4KLSAgICAgICAgPGRlcGVuZGVuY3k+Ci0gICAgICAgICAgICA8Z3JvdXBJZD5vcmcuam1vY2tpdDwvZ3JvdXBJZD4KLSAgICAgICAgICAgIDxhcnRpZmFjdElkPmptb2NraXQtY292ZXJhZ2U8L2FydGlmYWN0SWQ+Ci0gICAgICAgICAgICA8dmVyc2lvbj4xLjE4PC92ZXJzaW9uPgotICAgICAgICAgICAgPHNjb3BlPnRlc3Q8L3Njb3BlPgotICAgICAgICA8L2RlcGVuZGVuY3k+Ci0gICAgICAgIDxkZXBlbmRlbmN5PgotICAgICAgICAgICAgPGdyb3VwSWQ+Y29tLmgyZGF0YWJhc2U8L2dyb3VwSWQ+Ci0gICAgICAgICAgICA8YXJ0aWZhY3RJZD5oMjwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgIDx2ZXJzaW9uPjEuNC4xOTA8L3ZlcnNpb24+Ci0gICAgICAgICAgICA8c2NvcGU+dGVzdDwvc2NvcGU+Ci0gICAgICAgIDwvZGVwZW5kZW5jeT4KLSAgICA8L2RlcGVuZGVuY2llcz4KLSAgICAKKyAgICA8cHJvcGVydGllcz4KKyAgICAgICAgPHByb2plY3QuYnVpbGQuc291cmNlRW5jb2Rpbmc+VVRGLTg8L3Byb2plY3QuYnVpbGQuc291cmNlRW5jb2Rpbmc+CisgICAgICAgIDxjeGYudmVyc2lvbj4zLjEuNjwvY3hmLnZlcnNpb24+CisgICAgICAgIDxzbGY0ai52ZXJzaW9uPjEuNi4xPC9zbGY0ai52ZXJzaW9uPgorICAgICAgICAgPG1hdmVuLnRlc3Quc2tpcD5mYWxzZTwvbWF2ZW4udGVzdC5za2lwPgorICAgICAgICAgPG1hdmVuLnRlc3QuZmFpbHVyZS5pZ25vcmU+ZmFsc2U8L21hdmVuLnRlc3QuZmFpbHVyZS5pZ25vcmU+CisgICAgPC9wcm9wZXJ0aWVzPgorICAgCisgICAgPHByb2ZpbGVzPgorICAgICAgICA8cHJvZmlsZT4KKyAgICAgICAgICAgIDxpZD5hbGwtdGVzdHM8L2lkPgorICAgICAgICAgICAgPHByb3BlcnRpZXM+CisgICAgICAgICAgICAgICAgPGJ1aWxkLnByb2ZpbGUuaWQ+YWxsLXRlc3RzPC9idWlsZC5wcm9maWxlLmlkPgorICAgICAgICAgICAgICAgIDxza2lwLnVuaXQudGVzdHM+ZmFsc2U8L3NraXAudW5pdC50ZXN0cz4KKyAgICAgICAgICAgIDwvcHJvcGVydGllcz4KKyAgICAgICAgPC9wcm9maWxlPgorICAgIDwvcHJvZmlsZXM+CiAgICAgPGJ1aWxkPgorICAgICAgICA8ZmluYWxOYW1lPlJPT1Q8L2ZpbmFsTmFtZT4KICAgICAgICAgPHBsdWdpbnM+CisgICAgICAgIAk8cGx1Z2luPgorICAgICAgICAgICAgCTxncm91cElkPm9yZy5hcGFjaGUubWF2ZW4ucGx1Z2luczwvZ3JvdXBJZD4KKyAgICAgICAgICAgIAk8YXJ0aWZhY3RJZD5tYXZlbi1jb21waWxlci1wbHVnaW48L2FydGlmYWN0SWQ+CisgICAgICAgICAgICAJPHZlcnNpb24+My4xPC92ZXJzaW9uPgorICAgICAgICAgICAgCTxjb25maWd1cmF0aW9uPgorICAgICAgICAgICAgICAgCQk8c291cmNlPjEuODwvc291cmNlPgorICAgICAgICAgICAgICAgIAk8dGFyZ2V0PjEuODwvdGFyZ2V0PgorICAgICAgICAgICAgCTwvY29uZmlndXJhdGlvbj4KKyAgICAgICAgCTwvcGx1Z2luPgorICAgICAgICAgICAgPCEtLSBVc2VkIGZvciB1bml0IHRlc3RzIC0tPgogICAgICAgICAgICAgPHBsdWdpbj4KICAgICAgICAgICAgICAgICA8Z3JvdXBJZD5vcmcuYXBhY2hlLm1hdmVuLnBsdWdpbnM8L2dyb3VwSWQ+CiAgICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+bWF2ZW4tc3VyZWZpcmUtcGx1Z2luPC9hcnRpZmFjdElkPgorICAgICAgICAgICAgICAgIDx2ZXJzaW9uPjIuMTkuMTwvdmVyc2lvbj4KICAgICAgICAgICAgICAgICA8Y29uZmlndXJhdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgPGFyZ0xpbmU+LVhYOi1Vc2VTcGxpdFZlcmlmaWVyPC9hcmdMaW5lPgotICAgICAgICAgICAgICAgICAgICA8c2tpcFRlc3RzPnRydWU8L3NraXBUZXN0cz4KKyAgICAgICAgICAgICAgICAgICAgPGZvcmtNb2RlPmFsd2F5czwvZm9ya01vZGU+CisgICAgICAgICAgICAgICAgICAgIDxhcmdMaW5lPiR7c3VyZWZpcmVBcmdMaW5lfTwvYXJnTGluZT4KKyAgICAgICAgICAgICAgICAgICAgPHNraXA+JHttYXZlbi50ZXN0LnNraXB9PC9za2lwPgorICAgICAgICAgICAgICAgICAgICA8IS0tIAorICAgICAgICAgICAgICAgICAgICA8dGVzdEZhaWx1cmVJZ25vcmU+JHttYXZlbi50ZXN0LmZhaWx1cmUuaWdub3JlfTwvdGVzdEZhaWx1cmVJZ25vcmU+CisgICAgICAgICAgICAgICAgICAgICAtLT4KICAgICAgICAgICAgICAgICAgICAgPHRlc3RGYWlsdXJlSWdub3JlPnRydWU8L3Rlc3RGYWlsdXJlSWdub3JlPgorICAgICAgICAgICAgICAgICAgICA8IS0tIEV4Y2x1ZGVzIGludGVncmF0aW9uIHRlc3RzIHdoZW4gdW5pdCB0ZXN0cyBhcmUgcnVuLiAtLT4KICAgICAgICAgICAgICAgICAgICAgPGV4Y2x1ZGVzPgotICAgICAgICAgICAgICAgICAgICAgICAgPGV4Y2x1ZGU+JHtleGNsdWRlc0ZpbGV9PC9leGNsdWRlPgorICAgICAgICAgICAgICAgICAgICAgICAgPGV4Y2x1ZGU+KiovSVQqLmphdmE8L2V4Y2x1ZGU+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhjbHVkZXM+CiAgICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgogICAgICAgICAgICAgPC9wbHVnaW4+Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIDxwbHVnaW4+Ci0gICAgICAgICAgICAgICAgPGdyb3VwSWQ+b3JnLmNvZGVoYXVzLm1vam88L2dyb3VwSWQ+Ci0gICAgICAgICAgICAgICAgPGFydGlmYWN0SWQ+Y29iZXJ0dXJhLW1hdmVuLXBsdWdpbjwvYXJ0aWZhY3RJZD4KLSAgICAgICAgICAgICAgICA8dmVyc2lvbj4yLjc8L3ZlcnNpb24+Ci0gICAgICAgICAgICAgICAgPGNvbmZpZ3VyYXRpb24+Ci0gICAgICAgICAgICAgICAgICAgIDxmb3JtYXRzPgotICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm1hdD5odG1sPC9mb3JtYXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybWF0PnhtbDwvZm9ybWF0PgotICAgICAgICAgICAgICAgICAgICA8L2Zvcm1hdHM+Ci0gICAgICAgICAgICAgICAgICAgIDxpbnN0cnVtZW50YXRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8ZXhjbHVkZXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4Y2x1ZGU+b3JnLyoqLypUZXN0LmNsYXNzPC9leGNsdWRlPgotICAgICAgICAgICAgICAgICAgICAgICAgPC9leGNsdWRlcz4KLSAgICAgICAgICAgICAgICAgICAgPC9pbnN0cnVtZW50YXRpb24+Ci0gICAgICAgICAgICAgICAgPC9jb25maWd1cmF0aW9uPgotICAgICAgICAgICAgPC9wbHVnaW4+CiAgICAgICAgIDwvcGx1Z2lucz4KICAgICA8L2J1aWxkPgogPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvc2VydmljZWdhdGV3YXkvc2VydmljZS9zcmMvbWFpbi9qYXZhL29yZy9vcGVuby9nc28vZ3VpL3NlcnZpY2VnYXRld2F5L3JvYS9pbXBsL1NlcnZpY2VHYXRld2F5Um9hTW9kdWxlSW1wbC5qYXZhIGIvc2VydmljZWdhdGV3YXkvc2VydmljZS9zcmMvbWFpbi9qYXZhL29yZy9vcGVuby9nc28vZ3VpL3NlcnZpY2VnYXRld2F5L3JvYS9pbXBsL1NlcnZpY2VHYXRld2F5Um9hTW9kdWxlSW1wbC5qYXZhCmluZGV4IGZmMzM3NTEuLjNjNDdjNjUgMTAwNjQ0Ci0tLSBhL3NlcnZpY2VnYXRld2F5L3NlcnZpY2Uvc3JjL21haW4vamF2YS9vcmcvb3Blbm8vZ3NvL2d1aS9zZXJ2aWNlZ2F0ZXdheS9yb2EvaW1wbC9TZXJ2aWNlR2F0ZXdheVJvYU1vZHVsZUltcGwuamF2YQorKysgYi9zZXJ2aWNlZ2F0ZXdheS9zZXJ2aWNlL3NyYy9tYWluL2phdmEvb3JnL29wZW5vL2dzby9ndWkvc2VydmljZWdhdGV3YXkvcm9hL2ltcGwvU2VydmljZUdhdGV3YXlSb2FNb2R1bGVJbXBsLmphdmEKQEAgLTEyNCw0ICsxMjQsMTUgQEAKIAogICAgICAgICByZXR1cm4gUmVzcG9uc2UuYWNjZXB0ZWQoKS5lbnRpdHkocmVzdWx0KS5idWlsZCgpOwogICAgIH0KKworCXB1YmxpYyBJU2VydmljZUdhdGV3YXkgZ2V0U2VydmljZUdhdGV3YXkoKSAKKwl7CisJCXJldHVybiBzZXJ2aWNlR2F0ZXdheTsKKwl9CisKKwlwdWJsaWMgdm9pZCBzZXRTZXJ2aWNlR2F0ZXdheShJU2VydmljZUdhdGV3YXkgc2VydmljZUdhdGV3YXkpIAorCXsKKwkJdGhpcy5zZXJ2aWNlR2F0ZXdheSA9IHNlcnZpY2VHYXRld2F5OworCX0KKyAgICAKIH0KZGlmZiAtLWdpdCBhL3NlcnZpY2VnYXRld2F5L3NlcnZpY2Uvc3JjL21haW4vcmVzb3VyY2VzL2xvZzRqLnByb3BlcnRpZXMgYi9zZXJ2aWNlZ2F0ZXdheS9zZXJ2aWNlL3NyYy9tYWluL3Jlc291cmNlcy9sb2c0ai5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlM2I5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9zZXJ2aWNlZ2F0ZXdheS9zZXJ2aWNlL3NyYy9tYWluL3Jlc291cmNlcy9sb2c0ai5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMjEgQEAKKyMgQ29weXJpZ2h0IDIwMTYgSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4KKworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KK2xvZzRqLnJvb3RMb2dnZXI9SU5GTyxyb290Citsb2c0ai5hcHBlbmRlci5yb290LkFwcGVuZD10cnVlCitsb2c0ai5hcHBlbmRlci5yb290LkZpbGU9JHtjYXRhbGluYS5iYXNlfS9sb2dzL3NlcnZpY2VnYXRld2F5LmxvZworbG9nNGouYXBwZW5kZXIucm9vdC5sYXlvdXQuQ29udmVyc2lvblBhdHRlcm49JWQgJS01cCBbJXRdWyVYe21vZHVsZUlEfV1bJUMgJUxdICVtJW4KK2xvZzRqLmFwcGVuZGVyLnJvb3QubGF5b3V0PW9yZy5hcGFjaGUubG9nNGouUGF0dGVybkxheW91dAorbG9nNGouYXBwZW5kZXIucm9vdC5NYXhCYWNrdXBJbmRleD01MAorbG9nNGouYXBwZW5kZXIucm9vdC5NYXhGaWxlU2l6ZT0yME1CCitsb2c0ai5hcHBlbmRlci5yb290PW9yZy5hcGFjaGUubG9nNGouUm9sbGluZ0ZpbGVBcHBlbmRlcgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NlcnZpY2VnYXRld2F5L3NlcnZpY2Uvc3JjL21haW4vcmVzb3VyY2VzL3NwcmluZy9zZXJ2aWNlLnhtbCBiL3NlcnZpY2VnYXRld2F5L3NlcnZpY2Uvc3JjL21haW4vcmVzb3VyY2VzL3NwcmluZy9zZXJ2aWNlLnhtbAppbmRleCBjMzI4ZDg2Li4zOWU1ZWE3IDEwMDY0NAotLS0gYS9zZXJ2aWNlZ2F0ZXdheS9zZXJ2aWNlL3NyYy9tYWluL3Jlc291cmNlcy9zcHJpbmcvc2VydmljZS54bWwKKysrIGIvc2VydmljZWdhdGV3YXkvc2VydmljZS9zcmMvbWFpbi9yZXNvdXJjZXMvc3ByaW5nL3NlcnZpY2UueG1sCkBAIC0yNiw3ICsyNiw2IEBACiAgICAgaHR0cDovL3d3dy5odWF3ZWkuY29tL3NjaGVtYS9vbXMvb21zLnhzZAogICAgIGh0dHA6Ly9jeGYuYXBhY2hlLm9yZy9qYXhycyAKICAgICBodHRwOi8vY3hmLmFwYWNoZS5vcmcvc2NoZW1hcy9qYXhycy54c2QiPgotCiAgICAgPCEtLSB0aGVzZSBhcmUgaW5jbHVkZWQgaW4gdGhlIGRlcGVuZGVuY3kgamFyIC0tPgogICAgIDxpbXBvcnQgcmVzb3VyY2U9ImNsYXNzcGF0aDpNRVRBLUlORi9jeGYvY3hmLnhtbCIgLz4KICAgICA8aW1wb3J0IHJlc291cmNlPSJjbGFzc3BhdGg6TUVUQS1JTkYvY3hmL2N4Zi1zZXJ2bGV0LnhtbCIgLz4KQEAgLTM1LDggKzM0LDcgQEAKICAgICA8amF4cnM6c2VydmVyIGlkPSJzYW1wbGVTZXJ2ZXIiIGFkZHJlc3M9Ii8iPiAgICAKICAgICAgICAgPCEtLSByZWdpc3RlcmluZyBiZWFucyAtLT4KICAgICAgICAgPGpheHJzOnNlcnZpY2VCZWFucz4KLSAgICAgICAgICAgIDxyZWYgYmVhbj0iU2VydmljZW1nclJvYU1vZHVsZUltcGwiPjwvcmVmPgotICAgICAgICAgICAgPHJlZiBiZWFuPSJTZXJ2aWNlUGFja2FnZU1vZHVsZUltcGwiPjwvcmVmPgorICAgICAgICAgICAgPHJlZiBiZWFuPSJzZXJ2aWNlR2F0ZXdheVJvYU1vZHVsZUltcGwiPjwvcmVmPiAgICAgICAgICAgIAogICAgICAgICA8L2pheHJzOnNlcnZpY2VCZWFucz4KICAgICAgICAgPCEtLSByZWdpc3RlcmluZyBwcm92aWRlcnMgLS0+CiAgICAgICAgIDxqYXhyczpwcm92aWRlcnM+CkBAIC02NSw5ICs2MywxMCBAQAogICAgIDxiZWFuIGlkPSJBY3RpdmF0b3IiIGNsYXNzPSJvcmcub3Blbm8uZ3NvLmd1aS5zZXJ2aWNlZ2F0ZXdheS5hY3RpdmF0b3IuQWN0aXZhdG9yIiBpbml0LW1ldGhvZD0ic3RhcnQiIGRlc3Ryb3ktbWV0aG9kPSJzdG9wIj4KICAgICA8L2JlYW4+CiAgICAgCi0gICAgPGJlYW4gaWQ9IlNlcnZpY0dhdGV3YXlSb2FNb2R1bGVJbXBsIiBjbGFzcz0ib3JnLm9wZW5vLmdzby5ndWkuc2VydmljZWdhdGV3YXkucm9hLmltcGwuU2VydmljR2F0ZXdheVJvYU1vZHVsZUltcGwiPgotICAgICAgICA8cHJvcGVydHkgbmFtZT0iU2VydmljZUdhdGV3YXkiIHJlZj0iU2VydmljZUdhdGV3YXkiPjwvcHJvcGVydHk+CisgICAgPGJlYW4gaWQ9InNlcnZpY2VHYXRld2F5Um9hTW9kdWxlSW1wbCIgY2xhc3M9Im9yZy5vcGVuby5nc28uZ3VpLnNlcnZpY2VnYXRld2F5LnJvYS5pbXBsLlNlcnZpY2VHYXRld2F5Um9hTW9kdWxlSW1wbCI+CisgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzZXJ2aWNlR2F0ZXdheSIgcmVmPSJzZXJ2aWNlR2F0ZXdheSI+PC9wcm9wZXJ0eT4KICAgICA8L2JlYW4+ICAgIAotICAgIAotICAgIDwvYmVhbj4KKwkKKwk8YmVhbiBpZD0ic2VydmljZUdhdGV3YXkiIGNsYXNzPSJvcmcub3Blbm8uZ3NvLmd1aS5zZXJ2aWNlZ2F0ZXdheS5zZXJ2aWNlLmltcGwuU2VydmljZUdhdGV3YXlJbXBsIj4gICAgICAgIAorICAgIDwvYmVhbj4gIAogPC9iZWFucz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==