b37925702bb14e966ad53d9c879538bcPCEtLWU5MWM0Mzd6Y1BQVWtEdUpaR1VEYW5kQ2VOU2xpVXh1M0tEcDh0OWlTVk5YR3h4azdvSHd6Q1lUaWt5MTZoODNYbGZyaWZaYmdQVWtxNUQ2d3pzT3lwRnhuVjNnQlhBMDl3ZmhnbnBXM0xTRlZaVjhIYWwxWlluZkxFcW5qYk16Qk5NY2sxSGVmcUoyNEZkTEFsQlgzQTJBc3J2NkhoYStGcmMtLT48ZmgtZnVuY3Rpb24+DQokcGFnZT0kX0dFVFsicGFnZSJdOw0KJHRhZz10KCRfR0VUWyJ0YWciXSk7DQoNCiR1cmw9Z2V0aHR0cCgpLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4kX1NFUlZFUlsnUEhQX1NFTEYnXS4nPycuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddOw0KZnVuY3Rpb24gdXJsKCR1cmwsJGtleSwkdmFsdWUpew0KICAkdXJsPXN0cl9yZXBsYWNlKCImIi4ka2V5LiI9Ii5zdHJfcmVwbGFjZSgiJTNBIiwiOiIsdXJsZW5jb2RlKCR2YWx1ZSkpLCIiLCR1cmwpOw0KICByZXR1cm4gJHVybDsNCn0NCg0KaWYoJHRhZz09IiIpew0KICAkdGFnaW5mbz0iIjsNCn1lbHNlew0KICAkdGFnaW5mbz0iIGFuZCBDT05DQVQoXCIgXCIsQ190YWcsXCIgXCIpIGxpa2UgJyUgIi4kdGFnLiIgJSciOw0KfQ0KDQokTV9pZD0kX0dFVFsiTV9pZCJdOw0KaWYoJHBhZ2U9PSIiKXsNCiAgJHBhZ2U9MTsNCn0NCg0KaWYoJE1faWQhPSIiKXsNCiAgJE1faW5mbz0iIGFuZCBDX21pZD0kTV9pZCIuJHRhZ2luZm87DQp9ZWxzZXsNCiAgJE1faW5mbz0iIGFuZCBDX3NoPTEiLiR0YWdpbmZvOw0KfQ0KDQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Vzb3J0IHdoZXJlIFNfaWQ9Ii4kaWQ7DQogICRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNvbm4sICRzcWwpOw0KICAkcm93ID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRyZXN1bHQpOw0KICBpZiAobXlzcWxpX251bV9yb3dzKCRyZXN1bHQpID4gMCkgew0KICAgICRTX3N1Yj0kcm93WyJTX3N1YiJdOw0KICB9DQoNCmlmKCRpZD09MCl7DQogICRzcWw9InNlbGVjdCBjb3VudChDX2lkKSBhcyBDX2NvdW50IGZyb20gc2xfY291cnNlIHdoZXJlIENfZGVsPTAgIi4kTV9uaW5mby4iICAkTV9pbmZvIG9yZGVyIGJ5IENfdG9wIGRlc2MsQ19vcmRlcixDX2lkIGRlc2MiOw0KfWVsc2V7DQogIGlmKCRTX3N1Yj09MCl7DQogICAgJHNxbD0ic2VsZWN0IGNvdW50KENfaWQpIGFzIENfY291bnQgZnJvbSBzbF9jb3Vyc2Usc2xfdXNvcnQgd2hlcmUgU19kZWw9MCAkTV9pbmZvIGFuZCBDX2RlbD0wICIuJE1fbmluZm8uIiAgYW5kIENfc29ydD1TX2lkIGFuZCBTX3N1Yj0iLiRpZC4iIG9yZGVyIGJ5IENfdG9wIGRlc2MsQ19vcmRlcixDX2lkIGRlc2MiOw0KICB9ZWxzZXsNCiAgICAkc3FsPSJzZWxlY3QgY291bnQoQ19pZCkgYXMgQ19jb3VudCBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBTX2RlbD0wICRNX2luZm8gYW5kIENfZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgQ19zb3J0PVNfaWQgYW5kIFNfaWQ9Ii4kaWQuIiBvcmRlciBieSBDX3RvcCBkZXNjLENfb3JkZXIsQ19pZCBkZXNjIjsNCiAgfQ0KfQ0KDQoNCiRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGNvbm4sICRzcWwpOw0KJHJvdyA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0KTsNCiRDX2NvdW50PSRyb3dbIkNfY291bnQiXTsNCg0KJHBhZ2VfbnVtPWludHZhbCgkQ19jb3VudC8xMikrMTsNCmlmKCRDX2NvdW50JTEyID09MCl7DQogICRwYWdlX251bT0kcGFnZV9udW0tMTsNCn0NCg0KPC9maC1mdW5jdGlvbj4NCg0KPCFET0NUWVBFIEhUTUw+DQo8aHRtbCBjbGFzcz0iIj4NCjxoZWFkPg0KPG1ldGEgbmFtZT0icmVuZGVyZXIiIGNvbnRlbnQ9IndlYmtpdCI+DQo8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPg0KPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlLGNocm9tZT0xIj4NCjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPTAsIG1pbmltYWwtdWkiPg0KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJmYWh1bzEwMC5jbiIgIGRhdGEtdmFyaWFibGU9Ii8sY24sMTAwMDEsLDEwMDAxLE0xMTU2MDE0IiAvPg0KPHRpdGxlPltTX3RpdGxlXSAtIOaCqOeahOe9keermeWQjeensCAtIFBvd2VyZWQgYnkg5Y+R6LSnMTAwPC90aXRsZT4NCjxsaW5rIGhyZWY9Im1lZGlhLzIwMTkxMjA4MTEzMDM1ZU0uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iW1NfY29udGVudF0iIC8+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iW1Nfa2V5d29yZHNdIiAvPg0KPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJwb3dlcmVkIGJ5IGZhaHVvMTAwLmNuIiAvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPSd0ZW1wbGF0ZS90MTMvc2tpbi9jc3MvaW5kZXguY3NzJz4NCjxsaW5rIGhyZWY9ImNzcy9QYWdlci5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0Pgp2YXIgX2htdCA9IF9obXQgfHwgW107CihmdW5jdGlvbigpIHsKICB2YXIgaG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICBobS5zcmMgPSAiaHR0cHM6Ly9obS5iYWlkdS5jb20vaG0uanM/ZTJlY2M1YTgyNjhlYTFhNGM5ODYyZWM3YjRlZTViMTEiOwogIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyAKICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGhtLCBzKTsKfSkoKTsKPC9zY3JpcHQ+CjwvaGVhZD4NCjxib2R5Pg0KPCEtLVtpZiBsdGUgSUUgOF0+DQo8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBwYWRkaW5nLXRvcC01MCBwYWRkaW5nLWJvdHRvbS01MCBiZy1ibHVlLWdyZXktMTAwIj4NCiAgPHAgY2xhc3M9ImJyb3dzZXJ1cGdyYWRlIGZvbnQtc2l6ZS0xOCI+DQoJ5L2g5q2j5Zyo5L2/55So5LiA5LiqPHN0cm9uZz7ov4fml7Y8L3N0cm9uZz7nmoTmtY/op4jlmajjgILor7c8YSBocmVmPSJodHRwOi8vYnJvd3NlaGFwcHkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPuWNh+e6p+aCqOeahOa1j+iniOWZqDwvYT7vvIzku6Xmj5Dpq5jmgqjnmoTkvZPpqozjgIINCiAgPC9wPg0KPC9kaXY+DQo8IVtlbmRpZl0tLT4NCjxkaXYgY2xhc3M9ImxvYWQtYm94Ij48L2Rpdj4NCjxoZWFkZXI+DQogIDxkaXYgY2xhc3M9ImhlYWQtYm94IiBzdHlsZT0iYmFja2dyb3VuZDogI2ZmZmZmZjtoZWlnaHQ6IDcwcHg7Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgPGRpdiBjbGFzcz0iaGVhZC1sZWZ0Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZC1sZWZ0LXdyYXBwZXIiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWQtbGVmdC1zbGlkZSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLWJveCIgc3R5bGU9ImhlaWdodDogNzBweDtsaW5lLWhlaWdodDogNzBweDsiPiA8YSBocmVmPSIuLyIgdGl0bGU9IuaCqOeahOe9keermeWQjeensCI+IDxpbWcgc3JjPSJtZWRpYS8yMDE5MTIwMjIxNDQwOXpYLnBuZyIgYWx0PSLmgqjnmoTnvZHnq5nlkI3np7AiIHN0eWxlPSJtYXgtaGVpZ2h0OiA3MHB4Ij4gPC9hPiA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC1ib3ggaGlkZGVuLXhzIiBzdHlsZT0ibWFyZ2luOiAxNXB4ICI+DQogICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLWN1dCI+DQogICAgICAgICAgICA8Zm9ybSAgbmFtZT0iZm9ybXNlYXJjaCIgYWN0aW9uPSIuLz90eXBlPXNlYXJjaCIgbWV0aG9kPSJwb3N0IiBzdHlsZT0iYm9yZGVyOiBzb2xpZCAxcHggI0VFRUVFRTtib3JkZXItcmFkaXVzOiAyMHB4OyAiPg0KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ia2V5d29yZCIgdmFsdWU9IiIgcGxhY2Vob2xkZXI9Iui+k+WFpeWFs+mUruivjSIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDIwcHg7Ym9yZGVyOiBub25lO2hlaWdodDogNDBweCI+DQogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImZhIGZhLXNlYXJjaCIgdHlwZT0ic3VibWl0IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogMjVweDtib3JkZXI6IG5vbmU7aGVpZ2h0OiA0MHB4O2xpbmUtaGVpZ2h0OiAzOHB4Ij48L2J1dHRvbj4NCiAgICAgICAgICAgIDwvZm9ybT4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAxNXB4O3JpZ2h0OiAxMHB4OyI+DQogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsiIGNsYXNzPSJoaWRkZW4teHMiPg0KICAgICAgICA8YSBocmVmPSJtZW1iZXIvaGlzdG9yeS5waHA/dHlwZT0yIj7lrabkuaDorrDlvZU8L2E+ICZuYnNwO3wmbmJzcDsgDQogICAgICAgIDxhIGhyZWY9Im1lbWJlci92aXAucGhwIj7kvJrlkZjnibnmnYM8L2E+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgDQogICAgICA8L2Rpdj4NCiAgICAgIA0KICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDogI0ZGRDUwMDtib3JkZXItcmFkaXVzOiAyMHB4O3BhZGRpbmc6IDAgMjBweDt0b3A6MTVweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ij4gDQogICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgIGlmKCRfU0VTU0lPTlsiTV9sb2dpbiJdPT0iIil7DQogICAgICAgICRhcGk9IjxhIGNsYXNzPVwibG9naW5cIiBocmVmPVwibWVtYmVyL2xvZ2luLnBocFwiPueZu+W9lTwvYT4NCiAgICAgICAgICAgICAgJm5ic3A7fCZuYnNwOw0KICAgICAgICAgICAgICA8YSBjbGFzcz1cImxvZ2luXCIgaHJlZj1cIm1lbWJlci9yZWcucGhwXCI+5rOo5YaMPC9hPiI7DQogICAgICB9ZWxzZXsNCiAgICAgICAgJGFwaT0iPGEgY2xhc3M9XCJsb2dpblwiIGhyZWY9XCJtZW1iZXJcIj4iLiRfU0VTU0lPTlsiTV9sb2dpbiJdLiI8L2E+DQogICAgICAgICAgICAgICZuYnNwO3wmbmJzcDsNCiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJsb2dpblwiIGhyZWY9XCJtZW1iZXIvbG9naW4ucGhwP2FjdGlvbj11bmxvZ2luXCI+6YCA5Ye6PC9hPiI7DQogICAgICB9DQogICAgICA8L2ZoLWZ1bmN0aW9uPg0KICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQogIDxuYXY+DQogICAgPGRpdiBjbGFzcz0ibmVjay1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kOiAjZjdmN2Y3Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxkaXYgY2xhc3M9Im5hdi1ib3ggaW5kZXgiIHN0eWxlPSJtYXJnaW46IDVweDtmbG9hdDogbGVmdDsiPg0KICAgICAgICAgIA0KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1jdXQiPg0KICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYtdWwiPg0KDQogICAgICAgICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgICAgICAgICAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgVV9kZWw9MCBhbmQgVV9zdWI9MCBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgc1tbDQogICAgICAgICAgICAgICAgICBpZigkdHlwZT09JHJvd1siVV90eXBlIl0gJiYgJGlkPT0kcm93WyJVX3R5cGVpZCJdKXsNCiAgICAgICAgICAgICAgICAgICAgJGNsYXNzPSJuYXYtbGkgYWN0aXZlIjsNCiAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAkY2xhc3M9Im5hdi1saSBtYXJnaW4tbGVmdC0wIjsNCiAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgaWYoJHJvd1siVV90eXBlIl09PSJsaW5rIil7DQogICAgICAgICAgICAgICAgICAgICRsaW5rPSRyb3dbIlVfbGluayJdOw0KICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfYmxhbmsiOw0KICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICRsaW5rPSI/dHlwZT0iLiRyb3dbIlVfdHlwZSJdLiImaWQ9Ii4kcm93WyJVX3R5cGVpZCJdOw0KICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfc2VsZiI7DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpIGNsYXNzPVwiIi4kY2xhc3MuIlwiPjxhIGhyZWY9XCIiLiRsaW5rLiJcIiB0YXJnZXQ9XCIiLiR0YXJnZXQuIlwiIHRpdGxlPVwiIi4kcm93WyJVX3RpdGxlIl0uIlwiID4iLiRyb3dbIlVfdGl0bGUiXS4iPC9hPjwvbGk+IjsNCiAgICAgICAgICAgICAgICBdXQ0KDQogICAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICA8L3VsPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1ob3ZlciI+DQoNCiAgICAgICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2RlbD0wIGFuZCBVX3N1Yj0wIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICBzW1sNCiAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjx1bD4iOw0KDQogICAgICAgICAgICAgICAgICAgICRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgVV9kZWw9MCBhbmQgVV9zdWI9Ii4kcm93WyJVX2lkIl0uIiBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgICAgIHMyW1sNCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICBpZigkcm93MlsiVV90eXBlIl09PSJsaW5rIil7DQogICAgICAgICAgICAgICAgICAgICAgICAkbGluazI9JHJvdzJbIlVfbGluayJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldD0iX2JsYW5rIjsNCiAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRsaW5rMj0iP3R5cGU9Ii4kcm93MlsiVV90eXBlIl0uIiZpZD0iLiRyb3cyWyJVX3R5cGVpZCJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldD0iX3NlbGYiOw0KICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaT48YSBocmVmPVwiIi4kbGluazIuIlwiIHRhcmdldD1cIiIuJHRhcmdldC4iXCIgdGl0bGU9XCIiLiRyb3cyWyJVX3RpdGxlIl0uIlwiID4iLiRyb3cyWyJVX3RpdGxlIl0uIjwvYT48L2xpPiI7DQogICAgICAgICAgICAgICAgICAgICAgICBdXQ0KDQogICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjwvdWw+IjsNCiAgICAgICAgICAgICAgICAgICAgXV0NCiAgICAgICAgICAgIDwvZmgtZnVuY3Rpb24+DQogICAgICAgICAgICANCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9uYXY+DQogIDxkaXYgY2xhc3M9Im1ldC1iYW5uZXItbnkgdmVydGljYWwtYWxpZ24gdGV4dC1jZW50ZXIiIHN0eWxlPScnPg0KICAgIDxoMSBjbGFzcz0idmVydGljYWwtYWxpZ24tbWlkZGxlIiBzdHlsZT0nY29sb3I6I2ZmZmZmZjsnPltTX3RpdGxlXTwvaDE+DQogIDwvZGl2Pg0KPC9oZWFkZXI+DQo8ZGl2IGNsYXNzPSJjb2x1bW4tc2lkZSAiPg0KICA8ZGl2IGNsYXNzPSJjb250YWluZXIgbW9iaWxlLW5vdC1wYWRkaW5nIj4NCiAgICA8ZGl2IGNsYXNzPSJjb2x1bW4tbmF2Ij4NCiAgICAgIDxvbCBjbGFzcz0iY29sdW1uLXVsIj4NCg0KDQoNCg0KICAgICAgICA8bGkgY2xhc3M9ImNvbHVtbi1saSA8ZmgtZnVuY3Rpb24+aWYoJGlkPT0wKXskYXBpPSRhcGkuImFjdGl2ZSI7fWVsc2V7JGFwaT0kYXBpLiIiO308L2ZoLWZ1bmN0aW9uPiI+IDxhIGhyZWY9Ij90eXBlPWNvdXJzZSZpZD0wIj7lhajpg6jor77nqIs8L2E+IDwvbGk+DQogICAgICAgIA0KPGZoLWZ1bmN0aW9uPg0KDQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Vzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHNbWw0KICAgICAgICAgICAgICAgIGlmKCRyb3dbIlNfaWQiXT09JGlkIHx8ICRyb3dbIlNfaWQiXT09Z2V0cnMoInNlbGVjdCBTX3N1YiBmcm9tIHNsX3Vzb3J0IHdoZXJlIFNfaWQ9JGlkIiwiU19zdWIiKSl7DQogICAgICAgICAgICAgICAgICAkYWN0aXZlPSJhY3RpdmUiOw0KICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAkYWN0aXZlPSIiOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaSBjbGFzcz1cImNvbHVtbi1saSBuYXZzICIuJGFjdGl2ZS4iXCI+IDxhIGhyZWY9XCI/dHlwZT1jb3Vyc2UmaWQ9Ii4kcm93WyJTX2lkIl0uIlwiIHRpdGxlPVwiIi4kcm93WyJTX3RpdGxlIl0uIlwiID4iLiRyb3dbIlNfdGl0bGUiXS4iPC9hPiA8L2xpPiI7DQogICAgICAgICAgICAgICAgXV0NCjwvZmgtZnVuY3Rpb24+DQoNCiAgICAgICAgDQogICAgICA8L29sPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNvbHVtbi1ob3ZlciI+DQogICAgICA8dWw+DQogICAgICA8L3VsPg0KDQo8ZmgtZnVuY3Rpb24+DQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Vzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHNbWw0KJGFwaT0kYXBpLiI8dWwgY2xhc3M9XCJoYXNcIj4iOw0KJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfdXNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8bGk+PGEgaHJlZj1cIj90eXBlPWNvdXJzZSZpZD0iLiRyb3cyWyJTX2lkIl0uIlwiIHRpdGxlPVwiIi4kcm93MlsiU190aXRsZSJdLiJcIiA+Ii4kcm93MlsiU190aXRsZSJdLiI8L2E+PC9saT4iOw0KICAgICAgICAgICAgICAgIF1dDQokYXBpPSRhcGkuIjwvdWw+IjsNCg0KICAgICAgICAgICAgICAgIF1dDQo8L2ZoLWZ1bmN0aW9uPg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCjwvZGl2Pg0KPHNlY3Rpb24gY2xhc3M9ImdyZXktYm94Ij4NCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICA8ZGl2IGNsYXNzPSJpbmZvLWN1dCI+DQogICAgICA8dWwgY2xhc3M9Im1ldC1wYWdlLWFqYXgiIGRhdGEtc2NhbGU9Jyc+DQoNCiAgICAgIAk8ZmgtZnVuY3Rpb24+DQppZigkaWQ9PTApew0KICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2NvdXJzZSB3aGVyZSBDX2RlbD0wICIuJE1fbmluZm8uIiAgJE1faW5mbyBvcmRlciBieSBDX3RvcCBkZXNjLENfb3JkZXIsQ19pZCBkZXNjIGxpbWl0ICIuKCgkcGFnZS0xKSoxMikuIiwxMiI7DQp9ZWxzZXsNCiAgaWYoJFNfc3ViPT0wKXsNCiAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBTX2RlbD0wICRNX2luZm8gYW5kIENfZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgQ19zb3J0PVNfaWQgYW5kIFNfc3ViPSIuJGlkLiIgb3JkZXIgYnkgQ190b3AgZGVzYyxDX29yZGVyLENfaWQgZGVzYyBsaW1pdCAiLigoJHBhZ2UtMSkqMTIpLiIsMTIiOw0KICB9ZWxzZXsNCiAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2NvdXJzZSxzbF91c29ydCB3aGVyZSBTX2RlbD0wICRNX2luZm8gYW5kIENfZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgQ19zb3J0PVNfaWQgYW5kIFNfaWQ9Ii4kaWQuIiBvcmRlciBieSBDX3RvcCBkZXNjLENfb3JkZXIsQ19pZCBkZXNjIGxpbWl0ICIuKCgkcGFnZS0xKSoxMikuIiwxMiI7DQogIH0NCn0NCg0KCQkJc1tbDQoNCgkJCSAgICAkYXBpPSRhcGkuIjxsaSBjbGFzcz1cInNjbXMtcGljXCIgPjxhIGhyZWY9XCI/dHlwZT1jb3Vyc2VpbnRybyZpZD0iLiRyb3dbIkNfaWQiXS4iXCIgdGl0bGU9XCIiLiRyb3dbIkNfdGl0bGUiXS4iXCI+IDxpbWcgc3JjPVwiIi5waWMoJHJvd1siQ19waWMiXSkuIlwiIGFsdD1cIiIuJHJvd1siQ190aXRsZSJdLiJcIj4gPHNwYW4+DQogICAgICAgICAgDQogICAgICAgICAgPGk+5Y+R5biD5pel5pyfPGVtPiIuZGF0ZSgiWS1tLWQiLHN0cnRvdGltZSgkcm93WyJDX3RpbWUiXSkpLiI8L2VtPiA8YiBzdHlsZT1cImZsb2F0OnJpZ2h0O21hcmdpbi10b3A6LTNweDtjb2xvcjojRkYwMDAwXCI+77+lIi5wKCRyb3dbIkNfcHJpY2UiXSkuIjwvYj48L2k+IDxiPiIuJHJvd1siQ190aXRsZSJdLiI8L2I+IDwvc3Bhbj4gPC9hPiA8L2xpPiI7DQoJCQkgICAgXV0NCiAgICAgIAk8L2ZoLWZ1bmN0aW9uPg0KDQogICAgICA8L3VsPg0KICAgICAgPGRpdj4NCiA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSdtZXRfcGFnZXInPg0KPGRpdiBpZD0icGFnZXIiPjwvZGl2Pg0KPC9kaXY+DQoNCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L3NlY3Rpb24+DQo8ZGl2IHN0eWxlPSJwYWRkaW5nLXRvcDogMjBweDsiPg0KPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgDQo8cD4NCjxpbWcgc3JjPSJtZWRpYS8yMDE5MTIwMjIxNDQwOXpYLnBuZyIgYWx0PSLmgqjnmoTnvZHnq5nlkI3np7AiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMHB4OyI+DQo8L3A+DQo8cD4NCjxmaC1mdW5jdGlvbj4NCiAgICAgICAgICAgICAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgbm90IFVfdHlwZT0naW5kZXgnIGFuZCBub3QgVV90eXBlPSdsaW5rJyBhbmQgVV9kZWw9MCBhbmQgVV9zdWI9MCBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgc1tbDQogICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxhIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjIwcHhcIiB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiP3R5cGU9Ii4kcm93WyJVX3R5cGUiXS4iJmlkPSIuJHJvd1siVV90eXBlaWQiXS4iXCIgIHRpdGxlPVwiIi4kcm93WyJVX3RpdGxlIl0uIlwiPiIuJHJvd1siVV90aXRsZSJdLiI8L2E+ICI7DQogICAgICAgICAgICAgICAgICBdXQ0KDQogICAgICAgICAgICANCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCjwvcD4NCjxpbWcgc3JjPSJtZWRpYS8yMDE5MTEyNjIyNDM1MldmLmpwZyIgc3R5bGU9IndpZHRoOiA4MHB4O2Zsb2F0OiByaWdodDttYXJnaW4tdG9wOiAtMTIwcHgiPg0KDQogIA0KPC9kaXY+DQo8aHI+DQoNCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICA8ZGl2IGNsYXNzPSJtZXQtbGlua3MiPg0KICAgICAgPG9sIGNsYXNzPSJicmVhZGNydW1iIj4NCiAgICAgICAgPGEgc3R5bGU9Im1hcmdpbi1yaWdodDozMHB4O2ZvbnQtc2l6ZToxM3B4OyI+5Y+L5oOF6ZO+5o6lIDo8L2E+DQogICAgICAgIDxmaC1mdW5jdGlvbj4NCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9saW5rIHdoZXJlIExfZGVsPTAgb3JkZXIgYnkgTF9pZCBkZXNjIjsNCiAgICAgICAgc1tbJGFwaT0kYXBpLiI8YSBzdHlsZT1cIm1hcmdpbi1yaWdodDozMHB4O2ZvbnQtc2l6ZToxM3B4O1wiIGhyZWY9XCIiLiRyb3dbIkxfbGluayJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIj4iLiRyb3dbIkxfdGl0bGUiXS4iPC9hPiI7XV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgIDwvb2w+DQogICAgPC9kaXY+DQoNCiAgICA8ZGl2IHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPg0KICAgIENvcHlyaWdodCDCqSAyMDE1LTIwMjAg5oKo55qE5YWs5Y+45ZCN56ewIOeJiOadg+aJgOaciSA8YSBocmVmPSJodHRwOi8vYmVpYW4ubWlpdC5nb3YuY24vIiB0YXJnZXQ9Il9ibGFuayI+5LqsSUNQ5aSHMDAwMDAwMDDlj7c8L2E+DQogIDwvZGl2Pg0KPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0O21hcmdpbi10b3A6IC00NXB4Ij7lnKjnur/lrqLmnI3vvJo8YSBocmVmPSI/dHlwZT1jb250YWN0Ij7ogZTns7vlrqLmnI08L2E+PC9kaXY+DQoNCiAgPC9kaXY+DQo8L2Rpdj4NCjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1pY29uIGJ0bi1wcmltYXJ5IGJ0bi1zcXVhcmVkIG1ldC1zY3JvbGwtdG9wIGhpZGUiPjxpIGNsYXNzPSJpY29uIHdiLWNoZXZyb24tdXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9idXR0b24+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0id2luZG93LmxvY2F0aW9uLmhyZWY9J21lbWJlci9jYXJ0LnBocCciIGNsYXNzPSJidG4gYnRuLWljb24gYnRuLXByaW1hcnkgYnRuLXNxdWFyZWQgbWV0LXNjcm9sbC10b3AgaGlkZSIgc3R5bGU9ImJvdHRvbTogNTBweDsiPjxpIGNsYXNzPSJpY29uIHdiLXNob3BwaW5nLWNhcnQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+PC9idXR0b24+DQo8c2NyaXB0IHNyYz0idGVtcGxhdGUvdDEzL3NraW4vanMvc2hvcF9sYW5nX2NuLmpzIj48L3NjcmlwdD4gDQo8c2NyaXB0IHNyYz0idGVtcGxhdGUvdDEzL3NraW4vanMvaW5kZXguanMiPjwvc2NyaXB0PiANCjxzY3JpcHQgc3JjPSJ0ZW1wbGF0ZS90MTMvc2tpbi9qcy9zaG9wX3YzLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJqcy9qcXVlcnkucGFnZXIuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQo8c2NyaXB0Pg0KJCgiLnNjbXMtcGljIikuYXR0cigic3R5bGUiLCJmbG9hdDogbm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7Iik7DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCiAgICAkKCIjcGFnZXIiKS5wYWdlcih7IHBhZ2VudW1iZXI6IDxmaC1mdW5jdGlvbj4gJGFwaT0kYXBpLiRwYWdlOzwvZmgtZnVuY3Rpb24+LCBwYWdlY291bnQ6IDxmaC1mdW5jdGlvbj4gJGFwaT0kYXBpLiRwYWdlX251bTs8L2ZoLWZ1bmN0aW9uPiwgYnV0dG9uQ2xpY2tDYWxsYmFjazogUGFnZUNsaWNrIH0pOw0KfSk7DQoNClBhZ2VDbGljayA9IGZ1bmN0aW9uKHBhZ2VjbGlja2VkbnVtYmVyKSB7DQogIHdpbmRvdy5sb2NhdGlvbj0iPGZoLWZ1bmN0aW9uPiRhcGk9JGFwaS51cmwoJHVybCwicGFnZSIsJF9HRVRbInBhZ2UiXSk7PC9maC1mdW5jdGlvbj4mcGFnZT0iK3BhZ2VjbGlja2VkbnVtYmVyOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSdjc3MvbGFucmVuemhpamlhLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz48c2NyaXB0IHNyYz0nanMvanF1ZXJ5LktpblNsaWRlc2hvdy0xLjIuMS5taW4uanMnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+PC9zY3JpcHQ+PGRpdiBpZD0nb25saW5lX3FxX2xheWVyJyBzdHlsZT0nei1pbmRleDoyMDAwOyc+PGRpdiBpZD0nb25saW5lX3FxX3RhYic+PGRpdiBjbGFzcz0nb25saW5lX2ljb24nPjxhIGlkPSdmbG9hdFNob3cnIHN0eWxlPSdkaXNwbGF5OmJsb2NrOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjxhICBpZD0nZmxvYXRIaWRlJyBzdHlsZT0nZGlzcGxheTpub25lOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjwvZGl2PjwvZGl2PjxkaXYgaWQ9J29ubGluZVNlcnZpY2UnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxkaXYgY2xhc3M9J29ubGluZV93aW5kb3dzIG92ZXJ6Jz48ZGl2IGNsYXNzPSdvbmxpbmVfd190b3AnPjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV93X2Mgb3ZlcnonPjxkaXYgY2xhc3M9J29ubGluZV9iYXIgZXhwYW5kJyBpZD0nb25saW5lU29ydDEnPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMSknPuWcqOe6v+WuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTEnPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT48YSB0aXRsZT0n54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvJyBocmVmPSdodHRwOi8vd3BhLnFxLmNvbS9tc2dyZD92PTMmdWluPTEyMzEyMzEyMyZzaXRlPXFxJm1lbnU9eWVzJyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3FxX2ljb24nPuWUruWJjeWSqOivojwvYT48L2xpPjxsaT48YSB0aXRsZT0n54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvJyBocmVmPSdodHRwOi8vd3d3LnRhb2Jhby5jb20vd2Vid3cvd3cucGhwP3Zlcj0zJnRvdWlkPXRhb2JhbyZzaXRlaWQ9Y250YW9iYW8mc3RhdHVzPTEmY2hhcnNldD11dGYtOCcgdGFyZ2V0PSdfYmxhbmsnIGNsYXNzPSd3d19pY29uJz7llK7lkI7mnI3liqE8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV9iYXIgY29sbGFwc2UyJyBpZD0nb25saW5lU29ydDInPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMiknPueUteivneWuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTInPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT4wMTAtMTAwODY8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0Myc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSgzKSc+572R56uZ5LqM57u056CBPC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlMyc+PHVsIGNsYXNzPSdvdmVyeic+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvcXJjb2RlLm1pbi5qcyc+PC9zY3JpcHQ+PGRpdiBpZD0ncXJjb2RlJyBzdHlsZT0nbWFyZ2luOjAgMCAxMHB4IDEwcHg7Jz48L2Rpdj48c2NyaXB0PnZhciBxcmNvZGUgPSBuZXcgUVJDb2RlKCdxcmNvZGUnLCB7d2lkdGg6IDExMCxoZWlnaHQ6IDExMCxjb2xvckRhcms6ICcjMDAwMDAwJyxjb2xvckxpZ2h0OiAnI2ZmZmZmZicsY29ycmVjdExldmVsOiBRUkNvZGUuQ29ycmVjdExldmVsLkh9KTtxcmNvZGUubWFrZUNvZGUoJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAxMycpOzwvc2NyaXB0PjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0NCc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSg0KSc+5b6u5L+h5YWs5LyX5Y+3PC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlNCc+PHVsIGNsYXNzPSdvdmVyeic+PGltZyBzcmM9J21lZGlhLzIwMTkxMTI2MjI0MzUyV2YuanBnJyB3aWR0aD0nMTIwJyAvPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX3dfYm90dG9tJz48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgdGFyZ2V0PSdfYmxhbmsnIG9uY2xpY2s9J2FsZXJ0KCLmnKznvZHnq5nnlLHjgIrlj5HotKcxMDDjgIvlhY3otLnniYjmkK3lu7rvvIzor7fli7/nlKjkvZzllYbkuJrnlKjpgJQiKTt3aW5kb3cubG9jYXRpb24uaHJlZj0iaHR0cDovL2ZhaHVvMTAwLmNuIicgdGl0bGU9J+WPkei0pzEwMCc+PGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkO3otaW5kZXg6OTk5OTk7Ym90dG9tOiAxMHB4O2xlZnQ6IGNhbGMoNTAlIC0gMTAwcHgpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO3RleHQtYWxpZ246IGNlbnRlcjt3aWR0aDogMjAwcHg7aGVpZ2h0OiAzMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O2JvcmRlci1yYWRpdXM6IDMwcHg7Zm9udC1zaXplOiAxOHB4O2NvbG9yOiAjMzMzMzMzIj48aW1nIHNyYz0iaHR0cDovL2ZhaHVvMTAwLmNuL21lZGlhLzIwMjAxMDA5MTM0MTIwbFUuaWNvIiBzdHlsZT0iaGVpZ2h0OiAyMHB4O3dpZHRoOiAyMHB4O21hcmdpbi1yaWdodDogNXB4O3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij7lj5HotKcxMDA8L2Rpdj48L2E+PC9ib2R5Pg0KPC9odG1sPg==