e0df90503e5adb8857df59ee787f071dPCEtLSDlj5HotKcxMDAgMzAwZURPalM3T0l3aDkwNW4zT3lveS93aGFPRHhFc0FHUHhBUmFmSmliYVhHRjlWRXZQbjkvLzNsV1REM2l6SlhaQ3FWWjUyYmYzdGxGT1UzZVVZT1Z0dnB5cm0xWEJjN1g0NkRDL2YxYlBDemorYU9ZUU1ieTBJQUZaOStMN3NjRDd6em5HOTRnWFNvRGRsb1lZM3cvT0RpVmhyNFBmS05YUS0tPg0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IngtdWEtY29tcGF0aWJsZSIgY29udGVudD0iaWU9NyIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KPHRpdGxlPuaCqOeahOe9keermeWQjeensCAtIFBvd2VyZWQgYnkg5Y+R6LSnMTAwPC90aXRsZT4NCjxsaW5rIGhyZWY9Im1lZGlhLzIwMTkxMjA4MTEzMDM1ZU0uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0i5Y+R6LSnMTAwLeiZmuaLn+WVhuWTgeiHquWKqOWPkei0p+ezu+e7nyIgLz4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSLomZrmi5/llYblk4Es6Ieq5Yqo5Y+R6LSnLOWcqOe6v+aUr+S7mCzku5jotLnpmIXor7siIC8+DQo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9InBvd2VyZWQgYnkgZmFodW8xMDAuY24iIC8+DQo8bGluayBocmVmPSJ0ZW1wbGF0ZS90MTEvY3NzL2dsb2JhbC5jc3M/dD0wMzY0NDQzMDAxNTg4NDc1MDk4IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPGxpbmsgaHJlZj0idGVtcGxhdGUvdDExL2Nzcy9iYXNpYy5jc3M/dD0wMzY0NDQzMDAxNTg4NDc1MDk4IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPGxpbmsgaHJlZj0idGVtcGxhdGUvdDExL2Nzcy9pbmRleC5jc3M/dD0wMzY0NDQzMDAxNTg4NDc1MDk4IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSJ0ZW1wbGF0ZS90MTEvanMvZ2xvYmFsLmpzP3Q9MDM2NDQ0MzAwMTU4ODQ3NTA5OCI+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9InRlbXBsYXRlL3QxMS9qcy9iYXNpYy5qcz90PTAzNjQ0NDMwMDE1ODg0NzUwOTgiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSJ0ZW1wbGF0ZS90MTEvanMvanF1ZXJ5Lm1pbi5qcz90PTAzNjQ0NDMwMDE1ODg0NzUwOTgiPjwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSJ0ZW1wbGF0ZS90MTEvanMvbGF5ZXIuanM/dD0wMzY0NDQzMDAxNTg4NDc1MDk4Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0idGVtcGxhdGUvdDExL2pzL2luZGV4LmpzP3Q9MDM2NDQ0MzAwMTU4ODQ3NTA5OCI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0ZW1wbGF0ZS90MTEvanMvanF1ZXJ5LlN1cGVyU2xpZGUuMi4xLjMuanM/dD0wMzY0NDQzMDAxNTg4NDc1MDk4Ij48L3NjcmlwdD4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQouYmcwe2JhY2tncm91bmQ6ICMzMzN9DQouYmcxe2JhY2tncm91bmQ6ICNGRjY2Njh9DQouYmcye2JhY2tncm91bmQ6ICMzQUJDOEZ9DQouYmcze2JhY2tncm91bmQ6ICNCMTZCRkZ9DQouYmc0e2JhY2tncm91bmQ6ICM1NUEzRjJ9DQouYmc1e2JhY2tncm91bmQ6ICNFMzg5MDJ9DQpib2R5IGRpdnttYXJnaW46YXV0b30NCg0KdWx7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCn0NCi5kcm9wLWRvd24tY29udGVudHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIHotaW5kZXg6IDk5OTk5Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOw0KICAgIHRvcDoxNzBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgcGFkZGluZzogMHB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAxMHB4Ow0KICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICM4ODg4ODg7DQp9DQouZHJvcC1kb3duLWNvbnRlbnQgbGkgYXsNCiAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50Ow0KICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7DQogIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50Ow0KfQ0KLmRyb3AtZG93bi1jb250ZW50IGxpOmhvdmVyIGF7DQogICAgYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Ow0KfQ0KLm5hdiAuZHJvcC1kb3duOmhvdmVyIC5kcm9wLWRvd24tY29udGVudHsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5uYXY+bGl7DQogICAgZmxvYXQ6IGxlZnQ7DQp9DQo8L3N0eWxlPg0KPHNjcmlwdD4KdmFyIF9obXQgPSBfaG10IHx8IFtdOwooZnVuY3Rpb24oKSB7CiAgdmFyIGhtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgaG0uc3JjID0gImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzP2UyZWNjNWE4MjY4ZWExYTRjOTg2MmVjN2I0ZWU1YjExIjsKICB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgCiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShobSwgcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8L2hlYWQ+DQo8Ym9keT4NCjxkaXYgY2xhc3M9ImJmYiBiZmJ0b3AiPg0KPGRpdiBjbGFzcz0ieWpjb2RlIj4NCg0KPGRpdiBjbGFzcz0iZHRzIj7mrKLov47mnaXliLDmgqjnmoTnvZHnq5nlkI3np7A8L2Rpdj4NCjxkaXYgY2xhc3M9InRvcGxvZ2luIj4NCg0KPGZoLWZ1bmN0aW9uPg0KCQkJaWYoJF9TRVNTSU9OWyJNX2xvZ2luIl09PSIiKXsNCgkJCQkkYXBpPSI8YSBocmVmPVwibWVtYmVyL2xvZ2luLnBocFwiIGNsYXNzPVwiYTFcIj7nmbvlvZU8L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOyZuYnNwOw0KCQkJCTxhIGhyZWY9XCJtZW1iZXIvcmVnLnBocFwiPuWFjei0ueazqOWGjDwvYT4mbmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7Jm5ic3A7Jm5ic3A7IjsNCgkJCX1lbHNlew0KCQkJJGFwaT0iPGEgaHJlZj1cIm1lbWJlci9cIiBjbGFzcz1cImExXCI+Ii4kX1NFU1NJT05bIk1fbG9naW4iXS4iPC9hPiZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsNCiAgICAgIDxhIGhyZWY9XCJtZW1iZXIvY2FydC5waHBcIiBjbGFzcz1cImExXCI+6LSt54mp6L2mPC9hPiZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsNCgkJCTxhIGhyZWY9XCJtZW1iZXIvbG9naW4ucGhwP2FjdGlvbj11bmxvZ2luXCI+6YCA5Ye6PC9hPiZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsiOw0KICAgICAgfQ0KPC9maC1mdW5jdGlvbj4NCg0KIDwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iYmZiIGJmYnRvcDEiPg0KPGRpdiBjbGFzcz0ieWpjb2RlIj4NCiA8ZGl2IGNsYXNzPSJ0b3AxIj4NCiAgPGgxIGNsYXNzPSJsb2dvIj48YSBocmVmPSIuLyI+PGltZyBhbHQ9IuaCqOeahOe9keermeWQjeensCIgYm9yZGVyPSIwIiBzcmM9Im1lZGlhLzIwMTkxMjAyMjE0NDA5elgucG5nIiBoZWlnaHQ9IjUwIiAvPjwvYT48L2gxPg0KICANCiAgPGRpdiBjbGFzcz0icmVzb3UiPg0KICA8Zm9ybSBuYW1lPSJ0b3BmMSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii4vP3R5cGU9c2VhcmNoIj4NCiAgPHVsIGNsYXNzPSJ1MSI+DQogIDxsaSBjbGFzcz0ibDEiIG9uTW91c2VPdmVyPSJ0b3BvdmVyKCkiIG9uTW91c2VPdXQ9InRvcG91dCgpIj4NCiAgPHNwYW4gaWQ9InRvcG53ZCI+5YWo6YOoPC9zcGFuPg0KICA8ZGl2IGlkPSJ0b3BkaXYiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4NCiAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCk7IiBvbkNsaWNrPSJ0b3BqY29uYygwLCflhajpg6gnKSI+5YWo6YOoPC9hPg0KICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoKTsiIG9uQ2xpY2s9InRvcGpjb25jKDEsJ+WVhuWTgScpIj7llYblk4E8L2E+DQogIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgpOyIgb25DbGljaz0idG9wamNvbmMoMiwn5bqX6ZO6JykiPuW6l+mTujwvYT4NCiAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkKCk7IiBvbkNsaWNrPSJ0b3BqY29uYygzLCfmlofnq6AnKSI+5paH56ugPC9hPg0KICA8L2Rpdj4NCiAgPC9saT4NCiAgPGxpIGNsYXNzPSJsMiI+PGlucHV0IG5hbWU9ImtleXdvcmQiIGlkPSJ0b3B0IiB0eXBlPSJ0ZXh0IiAvPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGUiIGlkPSJ0eXBlIiB2YWx1ZT0iMCI+PC9saT4NCiAgPGxpIGNsYXNzPSJsMyI+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuaQnCDntKIiIC8+PC9saT4NCiAgPC91bD4NCiAgPC9mb3JtPg0KPGRpdiBjbGFzcz0iZDEiPg0KICDng63pl6jmkJzntKLvvJoNCjxmaC1mdW5jdGlvbj4NCiRrZXl3b3JkPWV4cGxvZGUoIiwiLCRIX2RhdGFbIkNfaG90d29yZHMiXSk7DQpmb3IoJGk9MDskaTxjb3VudCgka2V5d29yZCk7JGkrKyl7DQoJJGFwaT0kYXBpLiI8YSBocmVmPVwiLi8/dHlwZT1zZWFyY2gma2V5d29yZD0iLiRrZXl3b3JkWyRpXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Ii4ka2V5d29yZFskaV0uIjwvYT4mbmJzcDsmbmJzcDsmbmJzcDsiOw0KfQ0KPC9maC1mdW5jdGlvbj4NCg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCg0KDQo8c3R5bGU+DQouc2hvcHh7ZmxvYXQ6IHJpZ2h0O21hcmdpbi10b3A6IDQ1cHg7Zm9udC1zaXplOiAxOHB4O2JhY2tncm91bmQ6ICNmN2Y3Zjc7cGFkZGluZzogMTBweDtib3JkZXItcmFkaXVzOiA1cHg7Ym9yZGVyOiBzb2xpZCAxcHggI0VFRUVFRX0NCi5zaG9weDpob3ZlcntiYWNrZ3JvdW5kOiAjMDA5OWZmO2NvbG9yOiAjZmZmZmZmfQ0KPC9zdHlsZT4NCjxmaC1mdW5jdGlvbj4NCiRDX3J6b249Z2V0cnMoInNlbGVjdCBDX3J6b24gZnJvbSBzbF9jb25maWciLCJDX3J6b24iKTsNCmlmKCRDX3J6b249PTEpew0KICAkYXBpPSRhcGkuIjxhIGhyZWY9XCJtZW1iZXIvc2VsbGVyLnBocFwiPjxkaXYgY2xhc3M9XCJzaG9weFwiPjxpbWcgc3JjPVwidGVtcGxhdGUvdDExL2ltZy9zaG9wLnBuZ1wiIHdpZHRoPVwiMjJcIiBzdHlsZT1cInZlcnRpY2FsLWFsaWduOiB0b3A7XCI+IOWVhuWutuWFpempuzwvZGl2PjwvYT4iOw0KfQ0KPC9maC1mdW5jdGlvbj4NCiAgPGRpdiBjbGFzcz0ibWVudSBmb250eWgiPg0KICAgPCEtLeW3pkItLT4NCiAgICAgIDxzcGFuIGlkPSJ0eXBlYWxsbnVtIiBzdHlsZT0iZGlzcGxheTpub25lOyI+PGZoLWZ1bmN0aW9uPiRhcGk9JGFwaS5nZXRycygic2VsZWN0IGNvdW50KFNfaWQpIGFzIFNfY291bnQgZnJvbSBzbF9wc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3N1Yj0wIiwiU19jb3VudCIpOzwvZmgtZnVuY3Rpb24+PC9zcGFuPg0KICAgPGRpdiBjbGFzcz0ibTEiIG9ubW91c2VvdmVyPSJsZWZ0bWVudW92ZXIoKSIgb25tb3VzZW91dD0ibGVmdG1lbnVvdXQoKSI+DQogICA8c3BhbiBjbGFzcz0idCI+5YWo6YOo5ZWG5ZOB5YiG57G7PC9zcGFuPg0KICAgPCEtLeS4u+WvvOiIquS4i+aLieW8gOWniy0tPg0KICAgPGRpdiBjbGFzcz0ibWVudW4gZm9udHloIiBpZD0ibGVmdG1lbnUiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4NCg0KPGZoLWZ1bmN0aW9uPg0KICBmdW5jdGlvbiBpc19oYXZlcygkYSwkYil7DQogIGlmKGluX2FycmF5KCRhLCRiKSl7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfWVsc2V7DQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCn0NCiRpPTE7DQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3Bzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHNbWw0KICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGRpdiBjbGFzcz1cIm1lbnUxXCIgaWQ9XCJ5aG1lbnUiLiRpLiJcIiBvbm1vdXNlb3Zlcj1cInlobWVudW92ZXIoIi4kaS4iKVwiIG9ubW91c2VvdXQ9XCJ5aG1lbnVvdXQoIi4kaS4iKVwiPg0KICAgICA8ZGl2IGNsYXNzPVwibWxlZnRcIj4NCiAgICAgIDx1bCBjbGFzcz1cInUxXCI+PGxpIGNsYXNzPVwibDFcIj48L2xpPjxsaSBjbGFzcz1cImwyXCI+PGEgaHJlZj1cIj90eXBlPXByb2R1Y3QmaWQ9Ii4kcm93WyJTX2lkIl0uIlwiPjxiPiIuJHJvd1siU190aXRsZSJdLiI8L2I+PC9hPjwvbGk+PGxpIGNsYXNzPVwibDFcIj48L2xpPjwvdWw+DQogICAgICA8dWwgY2xhc3M9XCJ1MlwiPiI7DQoNCiRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX3Bzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPSIuJHJvd1siU19pZCJdLiIgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgOSI7DQogICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8bGk+PGEgaHJlZj1cIj90eXBlPXByb2R1Y3QmaWQ9Ii4kcm93MlsiU19pZCJdLiJcIiB0aXRsZT1cIiIuJHJvdzJbIlNfdGl0bGUiXS4iXCI+Ii4kcm93MlsiU190aXRsZSJdLiI8L2E+PC9saT4iOw0KICAgICAgICAgICAgICAgICAgICBdXQ0KJGFwaT0kYXBpLiINCiAgICAgICAgICAgIDwvdWw+DQogICAgIDwvZGl2Pg0KICAgICA8ZGl2IGNsYXNzPVwicm1lbnUgcm1lbnUxXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDotIi4oMTEwKiRpKS4icHg7aGVpZ2h0OjY1OHB4O292ZXJmbG93OmhpZGRlbjtcIiBpZD1cInJtZW51Ii4kaS4iXCI+DQogICAgICA8ZGl2IGNsYXNzPVwiZXNtZW51XCI+DQoNCg0KICAgICAgPHVsIGNsYXNzPVwiZXN1MVwiPg0KICAgICAgPGxpIGNsYXNzPVwibDFcIj48c3BhbiBjbGFzcz1cInMxXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiczJcIj7liIbnsbvvvJo8L3NwYW4+PC9saT4NCiAgICAgIDxsaSBjbGFzcz1cImwyXCI+DQogICAgICA8ZGl2PiI7DQoNCiRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX3Bzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPSIuJHJvd1siU19pZCJdLiIgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHMyW1sNCiAgICAgICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPHNwYW4gY2xhc3M9XCJzZm9udFwiPjxhIGhyZWY9XCI/dHlwZT1wcm9kdWN0JmlkPSIuJHJvdzJbIlNfaWQiXS4iXCI+Ii4kcm93MlsiU190aXRsZSJdLiI8L2E+PC9zcGFuPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQokYXBpPSRhcGkuIg0KICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9saT4NCiAgICAgIDwvdWw+IjsNCg0KDQokYXJyID0gYXJyYXkoKTsNCg0KJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfcHJvZHVjdCxzbF9wc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBQX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIFBfc2g9MSBhbmQgUF9zb3J0PVNfaWQgYW5kIFNfc3ViPSIuJHJvd1siU19pZCJdLiIgb3JkZXIgYnkgUF90b3AgZGVzYyxQX29yZGVyLFBfaWQgZGVzYyI7DQokcmVzdWx0MiA9IG15c3FsaV9xdWVyeSgkY29ubiwgICRzcWwyKTsNCmlmIChteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdDIpID4gMCkgew0Kd2hpbGUoJHJvdzIgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJHJlc3VsdDIpKSB7DQogICAgICAgICRzeD1leHBsb2RlKCJcclxuIiwkcm93MlsiUF9zaHV4aW5nIl0pOw0KICAgICAgICBmb3IoJGlpPTA7JGlpPGNvdW50KCRzeCk7JGlpKyspew0KICAgICAgICAgIGlmKHNwbGl0eCgkc3hbJGlpXSwiOiIsMCkhPSIiKXsNCiAgICAgICAgICAgICRjPWpzb25fZGVjb2RlKCJ7XCJTX3RpdGxlXCI6XCIiLnNwbGl0eCgkc3hbJGlpXSwiOiIsMCkuIlwifSIsdHJ1ZSk7DQogICAgICAgICAgICBpZighaXNfaGF2ZXMoJGMsJGFycikpew0KICAgICAgICAgICAgICBhcnJheV9wdXNoKCRhcnIsJGMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0gDQoNCg0KZm9yKCRpaT0wOyRpaTxjb3VudCgkYXJyKTskaWkrKyl7DQogICRhcnJbJGlpXVsibGlzdCJdPWFycmF5KCk7DQogICRyZXN1bHQyID0gbXlzcWxpX3F1ZXJ5KCRjb25uLCAgJHNxbDIpOw0KICBpZiAobXlzcWxpX251bV9yb3dzKCRyZXN1bHQpID4gMCkgew0KICB3aGlsZSgkcm93MiA9IG15c3FsaV9mZXRjaF9hc3NvYygkcmVzdWx0MikpIHsNCiAgICAgICAgICAkc3g9ZXhwbG9kZSgiXHJcbiIsJHJvdzJbIlBfc2h1eGluZyJdKTsNCiAgICAgICAgICBmb3IoJG09MDskbTxjb3VudCgkc3gpOyRtKyspew0KICAgICAgICAgICAgJHM9c3BsaXR4KCRzeFskbV0sIjoiLDApOw0KICAgICAgICAgICAgaWYoJHM9PSRhcnJbJGlpXVsiU190aXRsZSJdKXsNCiAgICAgICAgICAgICAgJHY9c3BsaXR4KCRzeFskbV0sIjoiLDEpOw0KICAgICAgICAgICAgICAgIGlmKCR2IT0iIil7DQogICAgICAgICAgICAgICAgICAkeD1qc29uX2RlY29kZSgie1wic2h1eGluZ1wiOlwiIi4kdi4iXCJ9Iix0cnVlKTsNCiAgICAgICAgICAgICAgICAgIGlmKCFpc19oYXZlcygkeCwkYXJyWyRpaV1bImxpc3QiXSkpew0KICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRhcnJbJGlpXVsibGlzdCJdLCR4KTsNCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgfQ0KfQ0KDQoNCg0KZm9yKCRpaT0wOyRpaTxjb3VudCgkYXJyKTskaWkrKyl7DQogIGZvcigkamo9MDskamo8Y291bnQoJGFyclskaWldWyJsaXN0Il0pOyRqaisrKXsNCiAgICAkc2h1eGluZz0kc2h1eGluZy4iPHNwYW4gY2xhc3M9XCJzZm9udFwiPjxhIGhyZWY9XCI/dHlwZT1wcm9kdWN0JmlkPSIuJHJvd1siU19pZCJdLiImZjA9Ii4kYXJyWyRpaV1bIlNfdGl0bGUiXS4iOiIuJGFyclskaWldWyJsaXN0Il1bJGpqXVsic2h1eGluZyJdLiJcIj4iLiRhcnJbJGlpXVsibGlzdCJdWyRqal1bInNodXhpbmciXS4iPC9hPjwvc3Bhbj4iOw0KICB9DQoNCiAgJGFwaT0kYXBpLiAiDQogIDx1bCBjbGFzcz1cImVzdTFcIj4NCiAgICAgIDxsaSBjbGFzcz1cImwxXCI+PHNwYW4gY2xhc3M9XCJzMVwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cInMyXCI+Ii4kYXJyWyRpaV1bIlNfdGl0bGUiXS4i77yaPC9zcGFuPjwvbGk+DQogICAgICA8bGkgY2xhc3M9XCJsMlwiPg0KICAgICAgPGRpdj4iLiRzaHV4aW5nLiI8L2Rpdj4NCiAgICAgIDwvbGk+DQogICAgICA8L3VsPiI7DQogICRzaHV4aW5nPSIiOw0KfQ0KDQogICAgICANCiAgICAgICRhcGk9JGFwaS4gIjwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz1cInNob3B0alwiIHN0eWxlPVwiaGVpZ2h0OjY1OHB4O292ZXJmbG93OmhpZGRlbjtcIj4NCiAgICAgIAk8dWwgY2xhc3M9XCJzaG9wdTFcIj4NCiAgICAgIDxsaSBjbGFzcz1cImwxXCI+PGEgaHJlZj1cIi4vXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PGltZyB3aWR0aD1cIjExMFwiIGhlaWdodD1cIjExMFwiIHNyYz1cIm1lZGlhLzIwMTkxMjA4MTEzMDM1ZU0uaWNvXCIgLz48L2E+PC9saT4NCiAgICAgIDxsaSBjbGFzcz1cImwyXCI+PGEgaHJlZj1cIi4vXCIgdGFyZ2V0PVwiX2JsYW5rXCI+5a6Y5pa55peX6Iiw5bqXPC9hPjxzcGFuIGNsYXNzPVwiczFcIj7lhbHmnIkgPHNwYW4gY2xhc3M9XCJyZWRcIj4iLmdldHJzKCJzZWxlY3QgY291bnQoUF9pZCkgYXMgUF9jb3VudCBmcm9tIHNsX3Byb2R1Y3Qgd2hlcmUgUF9kZWw9MCAiLiRNX3BpbmZvLiIgIGFuZCBQX21pZD0wIiwiUF9jb3VudCIpLiI8L3NwYW4+IOS7tuWVhuWTgeWcqOWUrjwvc3Bhbj48L2xpPg0KICAgICAgPC91bD4iOw0KDQoNCiRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX21lbWJlciB3aGVyZSBNX2RlbD0wIGFuZCBNX3R5cGU9MSBvcmRlciBieSByYW5kKCkgZGVzYyBsaW1pdCA1IjsNCiAgICAgICAgICAgICAgICBzMltbDQogICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8dWwgY2xhc3M9XCJzaG9wdTFcIj4NCiAgICAgIDxsaSBjbGFzcz1cImwxXCI+PGEgaHJlZj1cIi4vP3R5cGU9cHJvZHVjdCZNX2lkPSIuJHJvdzJbIk1faWQiXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PGltZyB3aWR0aD1cIjExMFwiIGhlaWdodD1cIjExMFwiIHNyYz1cIm1lZGlhLyIuJHJvdzJbIk1faGVhZCJdLiJcIi8+PC9hPjwvbGk+DQogICAgICA8bGkgY2xhc3M9XCJsMlwiPjxhIGhyZWY9XCIuLz90eXBlPXByb2R1Y3QmTV9pZD0iLiRyb3cyWyJNX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPiIuJHJvdzJbIk1fc2hvcCJdLiI8L2E+PHNwYW4gY2xhc3M9XCJzMVwiPuWFseaciSA8c3BhbiBjbGFzcz1cInJlZFwiPiIuZ2V0cnMoInNlbGVjdCBjb3VudChQX2lkKSBhcyBQX2NvdW50IGZyb20gc2xfcHJvZHVjdCB3aGVyZSBQX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIFBfc2g9MSBhbmQgUF9taWQ9Ii4kcm93MlsiTV9pZCJdLCJQX2NvdW50IikuIjwvc3Bhbj4g5Lu25ZWG5ZOB5Zyo5ZSuPC9zcGFuPjwvbGk+DQogICAgICA8L3VsPiI7DQogICAgICAgICAgICAgICAgXV0NCg0KICAgICAgCSRhcGk9JGFwaS4iDQoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4iOw0KICAgICRpPSRpKzE7DQogICAgICAgICAgICAgICAgICAgIF1dDQoNCg0KDQo8L2ZoLWZ1bmN0aW9uPg0KDQogICAgICAgIA0KICAgICAgICA8IS0t5ZWG5ZOBRS0tPg0KICAgPC9kaXY+DQogICA8IS0t5Li75a+86Iiq5LiL5ouJ57uT5p2fLS0+DQogICA8L2Rpdj4gDQogICA8IS0t5bemRS0tPg0KDQogICA8ZGl2IGNsYXNzPSJtMiI+DQo8dWwgY2xhc3M9Im5hdiI+DQogICAJPGZoLWZ1bmN0aW9uPg0KICAgICAgICAgICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2RlbD0wIGFuZCBVX3N1Yj0wIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICBzW1sNCiAgICAgICAgICAgICAgICAgIGlmKCR0eXBlPT0kcm93WyJVX3R5cGUiXSAmJiAkaWQ9PSRyb3dbIlVfdHlwZWlkIl0pew0KICAgICAgICAgICAgICAgICAgICAkY2xhc3M9Im5hdi1saSBhY3RpdmUiOw0KICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICRjbGFzcz0ibmF2LWxpIG1hcmdpbi1sZWZ0LTAiOw0KICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICBpZigkcm93WyJVX3R5cGUiXT09ImxpbmsiKXsNCiAgICAgICAgICAgICAgICAgICAgJGxpbms9JHJvd1siVV9saW5rIl07DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9ibGFuayI7DQogICAgICAgICAgICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgJGxpbms9Ij90eXBlPSIuJHJvd1siVV90eXBlIl0uIiZpZD0iLiRyb3dbIlVfdHlwZWlkIl07DQogICAgICAgICAgICAgICAgICAgICR0YXJnZXQ9Il9zZWxmIjsNCiAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaSBjbGFzcz1cImRyb3AtZG93blwiPjxhIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDE1cHg7XCIgaHJlZj1cIiIuJGxpbmsuIlwiIHRhcmdldD1cIiIuJHRhcmdldC4iXCIgdGl0bGU9XCIiLiRyb3dbIlVfdGl0bGUiXS4iXCI+Ii4kcm93WyJVX3RpdGxlIl0uIjwvYT48dWwgY2xhc3M9XCJkcm9wLWRvd24tY29udGVudFwiPiI7DQoNCiAgICAgICAgICAgICAgICAgICAgJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfbWVudSB3aGVyZSBVX2RlbD0wIGFuZCBVX3N1Yj0iLiRyb3dbIlVfaWQiXS4iIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgIGlmKCRyb3cyWyJVX3R5cGUiXT09ImxpbmsiKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRsaW5rMj0kcm93MlsiVV9saW5rIl07DQogICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfYmxhbmsiOw0KICAgICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgJGxpbmsyPSI/dHlwZT0iLiRyb3cyWyJVX3R5cGUiXS4iJmlkPSIuJHJvdzJbIlVfdHlwZWlkIl07DQogICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0PSJfc2VsZiI7DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpPjxhIGhyZWY9XCIiLiRsaW5rMi4iXCIgdGFyZ2V0PVwiIi4kdGFyZ2V0LiJcIj4iLiRyb3cyWyJVX3RpdGxlIl0uIjwvYT48L2xpPiI7DQogICAgICAgICAgICAgICAgICAgICAgICBdXQ0KDQokYXBpPSRhcGkuIjwvdWw+PC9saT4iOw0KICAgICAgICAgICAgICAgIF1dDQoNCiAgICAgICAgICAgICAgPC9maC1mdW5jdGlvbj4NCiAgICAgICAgICAgIDwvdWw+DQogICAgICA8L2Rpdj4NCiAgPC9kaXY+DQogDQogPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPHNwYW4gaWQ9ImxlZnRub25lIiBzdHlsZT0iZGlzcGxheTpub25lIj4wPC9zcGFuPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQpsZWZ0bWVudW92ZXIoKTsNCnloaWZkaXMoMCk7DQo8L3NjcmlwdD4NCg0KPCEtLeWIh+aNokItLT4NCjxkaXYgY2xhc3M9ImJhbm5lciIgaWQ9ImJhbm5lciIgPg0KDQo8ZmgtZnVuY3Rpb24+DQppZihnZXRycygic2VsZWN0IGNvdW50KFNfaWQpIGFzIFNfY291bnQgZnJvbSBzbF9zbGlkZSB3aGVyZSBTX2RlbD0wIGFuZCBTX21pZD0kZm1pZCIsIlNfY291bnQiKT4wICYmICRmbWlkPjApew0KICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3NsaWRlIHdoZXJlIFNfZGVsPTAgYW5kIFNfbWlkPSRmbWlkIG9yZGVyIGJ5IFNfb3JkZXIsU19pZCBkZXNjIjsNCn1lbHNlew0KICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX3NsaWRlIHdoZXJlIFNfZGVsPTAgYW5kIFNfbWlkPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KfQ0KICAgICAgICBzW1sNCiAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxhIGhyZWY9XCIiLiRyb3dbIlNfdXJsIl0uIlwiIGNsYXNzPVwiZDFcIiB0YXJnZXQ9XCJfYmxhbmtcIiBzdHlsZT1cImJhY2tncm91bmQ6dXJsKCIucGljKCRyb3dbIlNfcGljIl0pLiIpIGNlbnRlciBuby1yZXBlYXQ7XCI+PC9hPiI7DQogICAgICAgICAgICBdXQ0KDQo8L2ZoLWZ1bmN0aW9uPg0KDQoNCjxkaXYgY2xhc3M9ImQyIiBpZD0iYmFubmVyX2lkIj4NCjx1bCBzdHlsZT0ibWFyZ2luLWxlZnQ6LTE2cHg7Ij4NCg0KPGZoLWZ1bmN0aW9uPg0KaWYoZ2V0cnMoInNlbGVjdCBjb3VudChTX2lkKSBhcyBTX2NvdW50IGZyb20gc2xfc2xpZGUgd2hlcmUgU19kZWw9MCBhbmQgU19taWQ9JGZtaWQiLCJTX2NvdW50Iik+MCAmJiAkZm1pZD4wKXsNCiAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9zbGlkZSB3aGVyZSBTX2RlbD0wIGFuZCBTX21pZD0kZm1pZCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyI7DQp9ZWxzZXsNCiAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9zbGlkZSB3aGVyZSBTX2RlbD0wIGFuZCBTX21pZD0wIG9yZGVyIGJ5IFNfb3JkZXIsU19pZCBkZXNjIjsNCn0NCiAgICBzW1sNCiAgICAgICAgICAgICRhcGk9JGFwaS4iPGxpPjwvbGk+IjsNCiAgICAgICAgXV0NCjwvZmgtZnVuY3Rpb24+DQo8L3VsPg0KPC9kaXY+DQo8L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5iYW5uZXIoKTs8L3NjcmlwdD4NCjwhLS3liIfmjaJFLS0+DQoNCjxkaXYgY2xhc3M9InlqY29kZSI+DQogPGRpdiBjbGFzcz0icWhyaWdodCI+DQogDQogPHVsIGNsYXNzPSJiaWFveXUiPg0KIDxsaSBjbGFzcz0ibDEiPuWKoOWFpeaIkeS7rO+8jOaQuuaJi+WFsei1ojwvbGk+DQogPGxpIGNsYXNzPSJsMiI+PG1hcnF1ZWUgZGlyZWN0aW9uPSJsZWZ0IiBzdHlsZT0id2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO3ZlcnRpY2FsLWFsaWduOnRvcDsgIiBvbk1vdXNlT3Zlcj0idGhpcy5zdG9wKCkiIG9uTW91c2VPdXQ9InRoaXMuc3RhcnQoKSI+PC9tYXJxdWVlPjwvbGk+DQogPC91bD4NCiAgDQogPGRpdiBjbGFzcz0iZ2RtYWluIiBpZD0iTWFycXVlZTEiPg0KIDwhLS3mu5rliqjlvIDlp4stLT4NCiA8ZGl2IGNsYXNzPSJnZCI+PHNwYW4gY2xhc3M9InMxIj48ZmgtZnVuY3Rpb24+JGFwaT0kYXBpLiRNX2NvdW50OzwvZmgtZnVuY3Rpb24+PC9zcGFuPjxzcGFuIGNsYXNzPSJzMiI+572R56uZ5oC75Lya5ZGYPC9zcGFuPjwvZGl2Pg0KIDxkaXYgY2xhc3M9ImdkIj48c3BhbiBjbGFzcz0iczEiPjxmaC1mdW5jdGlvbj4kYXBpPSRhcGkuJFBfY291bnQ7PC9maC1mdW5jdGlvbj48L3NwYW4+PHNwYW4gY2xhc3M9InMyIj7lnKjllK7llYblk4HmlbA8L3NwYW4+PC9kaXY+DQogPGRpdiBjbGFzcz0iZ2QiPjxzcGFuIGNsYXNzPSJzMSI+PGZoLWZ1bmN0aW9uPiRhcGk9JGFwaS4kTl9jb3VudDs8L2ZoLWZ1bmN0aW9uPjwvc3Bhbj48c3BhbiBjbGFzcz0iczIiPuWcqOWUruaWh+eroOaVsDwvc3Bhbj48L2Rpdj4NCiA8ZGl2IGNsYXNzPSJnZCI+PHNwYW4gY2xhc3M9InMxIj48ZmgtZnVuY3Rpb24+JGFwaT0kYXBpLiRMX2NvdW50OzwvZmgtZnVuY3Rpb24+PC9zcGFuPjxzcGFuIGNsYXNzPSJzMiI+5Lqk5piT5oC75pWwPC9zcGFuPjwvZGl2Pg0KIDxkaXYgY2xhc3M9ImdkIj48c3BhbiBjbGFzcz0iczEiPjxmaC1mdW5jdGlvbj4kYXBpPSRhcGkuJExfc3VtOzwvZmgtZnVuY3Rpb24+PC9zcGFuPjxzcGFuIGNsYXNzPSJzMiI+5oC75oiQ5Lqk6YeR6aKdPC9zcGFuPjwvZGl2Pg0KIDxkaXYgY2xhc3M9ImdkIj48c3BhbiBjbGFzcz0iczEiPjxmaC1mdW5jdGlvbj4kYXBpPSRhcGkuJFNfY291bnQ7PC9maC1mdW5jdGlvbj48L3NwYW4+PHNwYW4gY2xhc3M9InMyIj7lt7LlhaXpqbvllYblrrY8L3NwYW4+PC9kaXY+DQoNCiAgPHNjcmlwdD4NCiB2YXIgTWFyMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNYXJxdWVlMSIpOw0KIHZhciBjaGlsZF9kaXYxPU1hcjEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpDQogdmFyIHBpY0gxID0gNjA7Ly/np7vliqjpq5jluqYNCiB2YXIgc2Nyb2xsc3RlcDE9MzsvL+enu+WKqOatpeW5hSzotorlpKfotorlv6sNCiB2YXIgc2Nyb2xsdGltZTE9NTA7Ly/np7vliqjpopHluqYo5q+r56eSKei2iuWkp+i2iuaFog0KIHZhciBzdG9wdGltZTE9MzAwMDsvL+mXtOaWreaXtumXtCjmr6vnp5IpDQogdmFyIHRtcEgxID0gMDsNCiBNYXIxLmlubmVySFRNTCArPSBNYXIxLmlubmVySFRNTDsNCiBmdW5jdGlvbiBzdGFydDEoKXsNCglpZih0bXBIMSA8IHBpY0gxKXsNCgkJdG1wSDEgKz0gc2Nyb2xsc3RlcDE7DQoJCWlmKHRtcEgxID4gcGljSDEgKXRtcEgxID0gcGljSDEgOw0KCQlNYXIxLnNjcm9sbFRvcCA9IHRtcEgxOw0KCQlzZXRUaW1lb3V0KHN0YXJ0MSxzY3JvbGx0aW1lMSk7DQoJfWVsc2V7DQoJCXRtcEgxID0gMDsNCgkJTWFyMS5hcHBlbmRDaGlsZChjaGlsZF9kaXYxWzBdKTsNCgkJTWFyMS5zY3JvbGxUb3AgPSAwOw0KCQlzZXRUaW1lb3V0KHN0YXJ0MSxzdG9wdGltZTEpOw0KCX0NCiB9DQogc3RhcnQxKCk7DQogPC9zY3JpcHQ+DQogPCEtLea7muWKqOe7k+adny0tPg0KIDwvZGl2Pg0KDQogPGRpdiBjbGFzcz0iemh1Y2UiPjxhIGhyZWY9Im1lbWJlciIgdGFyZ2V0PSJfYmxhbmsiPuWFjei0ueazqOWGjOS8muWRmO+8jOWKoOWFpeaIkeS7rDwvYT48L2Rpdj4NCiAgDQogPHVsIGNsYXNzPSJ6eGp5Ij4NCiA8bGkgY2xhc3M9ImwxIj7kuqTmmJPmkq3miqU8L2xpPg0KIDxsaSBjbGFzcz0ibDIiPg0KIDxkaXYgY2xhc3M9ImdkbWFpbjIiIGlkPSJNYXJxdWVlMiI+DQogPCEtLea7muWKqOW8gOWniy0tPg0KPGZoLWZ1bmN0aW9uPg0KDQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX2xpc3Qgd2hlcmUgTF9kZWw9MCBhbmQgTF9tb25leT4wIG9yZGVyIGJ5IExfaWQgZGVzYyBsaW1pdCAyMCI7DQogICAgc1tbDQogICAgICAgICAgICAkYXBpPSRhcGkuIjxkaXYgY2xhc3M9XCJnZFwiPiIuZmRhdGUoJHJvd1siTF90aW1lIl0pLiIg5Lqn55Sf5Lqk5piTICIuJHJvd1siTF9tb25leSJdLiLlhYM8L2Rpdj4iOw0KICAgICAgICBdXQ0KDQo8L2ZoLWZ1bmN0aW9uPg0KDQogIDxzY3JpcHQ+DQogdmFyIE1hcjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiTWFycXVlZTIiKTsNCiB2YXIgY2hpbGRfZGl2Mj1NYXIyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKQ0KIHZhciBwaWNIMiA9IDE2Oy8v56e75Yqo6auY5bqmDQogdmFyIHNjcm9sbHN0ZXAyPTM7Ly/np7vliqjmraXluYUs6LaK5aSn6LaK5b+rDQogdmFyIHNjcm9sbHRpbWUyPTUwOy8v56e75Yqo6aKR5bqmKOavq+enkinotorlpKfotormhaINCiB2YXIgc3RvcHRpbWUyPTQwMDA7Ly/pl7Tmlq3ml7bpl7Qo5q+r56eSKQ0KIHZhciB0bXBIMiA9IDA7DQogTWFyMi5pbm5lckhUTUwgKz0gTWFyMi5pbm5lckhUTUw7DQogZnVuY3Rpb24gc3RhcnQyKCl7DQoJaWYodG1wSDIgPCBwaWNIMil7DQoJCXRtcEgyICs9IHNjcm9sbHN0ZXAyOw0KCQlpZih0bXBIMiA+IHBpY0gyICl0bXBIMiA9IHBpY0gyIDsNCgkJTWFyMi5zY3JvbGxUb3AgPSB0bXBIMjsNCgkJc2V0VGltZW91dChzdGFydDIsc2Nyb2xsdGltZTIpOw0KCX1lbHNlew0KCQl0bXBIMiA9IDA7DQoJCU1hcjIuYXBwZW5kQ2hpbGQoY2hpbGRfZGl2MlswXSk7DQoJCU1hcjIuc2Nyb2xsVG9wID0gMDsNCgkJc2V0VGltZW91dChzdGFydDIsc3RvcHRpbWUyKTsNCgl9DQogfQ0KIHN0YXJ0MigpOw0KIDwvc2NyaXB0Pg0KIDwhLS3mu5rliqjnu5PmnZ8tLT4NCiA8L2Rpdj4NCiA8L2xpPg0KIDwvdWw+DQogIA0KIDx1bCBjbGFzcz0iZ2djYXAiPg0KIDxsaSBjbGFzcz0ibDEgbDExIiBpZD0iaWtzYTEiIG9uQ2xpY2s9Imlrc2FvdmVyKDEpIj48c3Bhbj48ZmgtZnVuY3Rpb24+JGFwaT0kYXBpLmdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX25zb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMSIsIlNfdGl0bGUiKTs8L2ZoLWZ1bmN0aW9uPjwvc3Bhbj48L2xpPg0KIDxsaSBjbGFzcz0ibDEiIGlkPSJpa3NhMiIgb25DbGljaz0iaWtzYW92ZXIoMikiPjxzcGFuPjxmaC1mdW5jdGlvbj4kYXBpPSRhcGkuZ2V0cnMoInNlbGVjdCAqIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zdWI9MCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCAxLDEiLCJTX3RpdGxlIik7PC9maC1mdW5jdGlvbj48L3NwYW4+PC9saT4NCiA8bGkgY2xhc3M9ImwxIiBpZD0iaWtzYTMiIG9uQ2xpY2s9Imlrc2FvdmVyKDMpIj48c3Bhbj48ZmgtZnVuY3Rpb24+JGFwaT0kYXBpLmdldHJzKCJzZWxlY3QgKiBmcm9tIHNsX25zb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMiwxIiwiU190aXRsZSIpOzwvZmgtZnVuY3Rpb24+PC9zcGFuPjwvbGk+DQogPC91bD4NCiA8ZGl2IGNsYXNzPSJrc20iIGlkPSJrc20xIj4NCjxmaC1mdW5jdGlvbj4NCg0KJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9uZXdzLHNsX25zb3J0IHdoZXJlIE5fZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgTl9zaD0xIGFuZCBTX2RlbD0wIGFuZCBOX3NvcnQ9U19pZCBhbmQgU19zdWIgaW4gKHNlbGVjdCBTX2lkIGZyb20oc2VsZWN0IFNfaWQgZnJvbSBzbF9uc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3Nob3c9MSBhbmQgU19zdWI9MCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCAxKWFzIHQpIG9yZGVyIGJ5IE5fb3JkZXIsTl9pZCBkZXNjIGxpbWl0IDUiOw0KICAgIHNbWw0KICAgICAgICAgICAgJGFwaT0kYXBpLiI8c3Bhbj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93WyJOX2lkIl0uIlwiIHRpdGxlPVwiIi4kcm93WyJOX3RpdGxlIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPiIuJHJvd1siTl90aXRsZSJdLiI8L2E+PC9zcGFuPiI7DQogICAgICAgIF1dDQo8L2ZoLWZ1bmN0aW9uPg0KICA8L2Rpdj4NCiA8ZGl2IGNsYXNzPSJrc20iIGlkPSJrc20yIiBzdHlsZT0iZGlzcGxheTpub25lOyI+DQogIDxmaC1mdW5jdGlvbj4NCiRzcWw9InNlbGVjdCAqIGZyb20gc2xfbmV3cyxzbF9uc29ydCB3aGVyZSBOX2RlbD0wICIuJE1fbmluZm8uIiAgYW5kIE5fc2g9MSBhbmQgU19kZWw9MCBhbmQgTl9zb3J0PVNfaWQgYW5kIFNfc3ViIGluIChzZWxlY3QgU19pZCBmcm9tKHNlbGVjdCBTX2lkIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMSwxKWFzIHQpIG9yZGVyIGJ5IE5fb3JkZXIsTl9pZCBkZXNjIGxpbWl0IDUiOw0KICAgIHNbWw0KICAgICAgICAgICAgJGFwaT0kYXBpLiI8c3Bhbj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93WyJOX2lkIl0uIlwiIHRpdGxlPVwiIi4kcm93WyJOX3RpdGxlIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPiIuJHJvd1siTl90aXRsZSJdLiI8L2E+PC9zcGFuPiI7DQogICAgICAgIF1dDQo8L2ZoLWZ1bmN0aW9uPg0KICA8L2Rpdj4NCiA8ZGl2IGNsYXNzPSJrc20iIGlkPSJrc20zIiBzdHlsZT0iZGlzcGxheTpub25lOyI+DQogIDxmaC1mdW5jdGlvbj4NCiRzcWw9InNlbGVjdCAqIGZyb20gc2xfbmV3cyxzbF9uc29ydCB3aGVyZSBOX2RlbD0wICIuJE1fbmluZm8uIiAgYW5kIE5fc2g9MSBhbmQgU19kZWw9MCBhbmQgTl9zb3J0PVNfaWQgYW5kIFNfc3ViIGluIChzZWxlY3QgU19pZCBmcm9tKHNlbGVjdCBTX2lkIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMiwxKWFzIHQpIG9yZGVyIGJ5IE5fb3JkZXIsTl9pZCBkZXNjIGxpbWl0IDUiOw0KICAgIHNbWw0KICAgICAgICAgICAgJGFwaT0kYXBpLiI8c3Bhbj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93WyJOX2lkIl0uIlwiIHRpdGxlPVwiIi4kcm93WyJOX3RpdGxlIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPiIuJHJvd1siTl90aXRsZSJdLiI8L2E+PC9zcGFuPiI7DQogICAgICAgIF1dDQo8L2ZoLWZ1bmN0aW9uPg0KICA8L2Rpdj4NCiA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJ5amNvZGUiPg0KICA8IS0t5o6o6I2Q5Lqn5ZOBQi0tPg0KIDx1bCBjbGFzcz0icHJvY2FwIj4NCiA8bGkgY2xhc3M9ImwxIj7pmZDml7bkvJjmg6Dkv4PplIA8L2xpPg0KIDxsaSBjbGFzcz0ibDIiPjxhIGhyZWY9Ij90eXBlPXByb2R1Y3QmaWQ9MCIgdGFyZ2V0PSJfYmxhbmsiPuafpeeci+abtOWkmj4+PC9hPjwvbGk+DQogPC91bD4NCiANCiA8ZGl2IGNsYXNzPSJ4aWFuc2hpdGoiPg0KPGZoLWZ1bmN0aW9uPg0KJGk9MTsNCiRzcWw9InNlbGVjdCAqIGZyb20gc2xfcHJvZHVjdCxzbF9wc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBQX2RlbD0wICIuJE1fcGluZm8uIiAgYW5kIFBfc2g9MSBhbmQgUF9zb3J0PVNfaWQgb3JkZXIgYnkgUF90b3AgZGVzYyxQX29yZGVyLFBfaWQgZGVzYyBsaW1pdCA1IjsNCiAgICAgICAgICAgICAgICBzW1sgDQogICAgICAgICAgICAgICAgaWYoJHJvd1siUF9taWQiXT09MCl7DQogICAgICAgICAgICAgICAgCSR6eT0iPHNwYW4gY2xhc3M9XCJzMFwiPuiHquiQpTwvc3Bhbj4iOw0KICAgICAgICAgICAgCX1lbHNlew0KICAgICAgICAgICAgCQkkenk9IjxzcGFuIGNsYXNzPVwiczFcIj4iLmdldHJzKCJzZWxlY3QgTV9zaG9wIGZyb20gc2xfbWVtYmVyIHdoZXJlIE1faWQ9Ii4kcm93WyJQX21pZCJdLCJNX3Nob3AiKS4iPC9zcGFuPiI7DQogICAgICAgIAkJfQ0KDQokYXBpPSRhcGkuIiA8c3BhbiBpZD1cImRxc2oiLiRpLiJcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIj4yMDMwLzAzLzE5IDE3OjM1OjEwPC9zcGFuPg0KIDx1bCBjbGFzcz1cInUxIHUxIi4kaS4iXCI+DQogPGxpIGNsYXNzPVwibDFcIj48YSBocmVmPVwiP3R5cGU9cHJvZHVjdGluZm8maWQ9Ii4kcm93WyJQX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPg0KPGRpdiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6dXJsKCIucGljKHNwbGl0eCgkcm93WyJQX3BpYyJdLCJ8IiwwKSkuIik7YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7d2lkdGg6MjA1cHg7aGVpZ2h0OjIwNXB4O2JhY2tncm91bmQtc2l6ZTogY292ZXI7XCI+PC9kaXY+DQoNCjwvYT4NCiANCiA8L2xpPg0KIDxsaSBjbGFzcz1cImwyXCI+DQogPHNwYW4gY2xhc3M9XCJzMVwiPuacrOermTwvc3Bhbj48c3BhbiBjbGFzcz1cInMyXCI+57K+6YCJPC9zcGFuPg0KIDxhIGhyZWY9XCI/dHlwZT1wcm9kdWN0aW5mbyZpZD0iLiRyb3dbIlBfaWQiXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCIgdGl0bGU9XCIiLiRyb3dbIlBfdGl0bGUiXS4iXCI+Ii4kcm93WyJQX3RpdGxlIl0uIjwvYT4NCiA8L2xpPg0KIDxsaSBjbGFzcz1cImwzXCI+77+lIi5wKCRyb3dbIlBfcHJpY2UiXSkuIjwvbGk+DQogPGxpIGNsYXNzPVwibDRcIj7ntK/orqHlt7LllK4iLiRyb3dbIlBfc29sZCJdLiLku7Y8L2xpPg0KDQogPGxpIGNsYXNzPVwibDZcIj4iLiR6eS4iPC9saT4NCiA8ZGl2IHN0eWxlPVwiZmxvYXQ6cmlnaHQ7bWFyZ2luLXRvcDotMjVweFwiPjxhIGhyZWY9XCI/dHlwZT1wcm9kdWN0JmlkPSIuJHJvd1siU19pZCJdLiJcIj4iLiRyb3dbIlNfdGl0bGUiXS4iPC9hPjwvZGl2Pg0KIDwvdWw+DQogIjsNCiRpPSRpKzE7DQogICAgICAgICAgICAgICAgICAgIF1dDQo8L2ZoLWZ1bmN0aW9uPg0KICA8L2Rpdj4NCiA8IS0t5o6o6I2Q5Lqn5ZOBRS0tPg0KPGZoLWZ1bmN0aW9uPg0KJHg9MDsNCiRzcWw9InNlbGVjdCAqIGZyb20gc2xfcHNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zdWI9MCBhbmQgU19zaG93PTEgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KICAgICAgICAgICAgICAgIHNbWw0KICAgICAgICAgICAgICAgICRhcGk9JGFwaS4iPGRpdiBjbGFzcz1cInByb2xpc3RcIj4NCg0KIDxkaXYgY2xhc3M9XCJwbGVmdCBiZyIuKCR4JTYpLiJcIj4NCiAgPHVsIGNsYXNzPVwidTFcIj4NCiAgPGxpIGNsYXNzPVwibDFcIj48c3Bhbj4iLiRyb3dbIlNfdGl0bGUiXS4iPC9zcGFuPjwvbGk+DQogIDxsaSBjbGFzcz1cImwyXCI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L2xpPg0KICA8bGkgY2xhc3M9XCJsMyBsMzFcIiBpZD1cImVqbCIuJHguIl8wXCIgb25Nb3VzZU92ZXI9XCJlamxvdmVyKCIuJHguIiwwKVwiPg0KICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPuacgOaWsOS4iuaetjwvYT4NCiAgPC9saT4iOw0KJGk9MTsNCiRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX3Bzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc2hvdz0xIGFuZCBTX3N1Yj0iLiRyb3dbIlNfaWQiXS4iIG9yZGVyIGJ5IFNfb3JkZXIsU19pZCBkZXNjIjsNCiAgICAgICAgICAgICAgICBzMltbDQogICAgICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjxsaSBjbGFzcz1cImwzXCIgaWQ9XCJlamwiLiR4LiJfIi4kaS4iXCIgb25Nb3VzZU92ZXI9XCJlamxvdmVyKCIuJHguIiwiLiRpLiIpXCI+DQogIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+Ii4kcm93MlsiU190aXRsZSJdLiI8L2E+DQogIDwvbGk+IjsNCiAgJGk9JGkrMTsNCiAgICAgICAgICAgICAgICAgICAgXV0NCiAgJGFwaT0kYXBpLiINCiAgICA8L3VsPg0KICA8c3BhbiBpZD1cImVqbCIuJHguImFsbFwiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiPiIuKGdldHJzKCJzZWxlY3QgY291bnQoU19pZCkgYXMgU19jb3VudCBmcm9tIHNsX3Bzb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc2hvdz0xIGFuZCBTX3N1Yj0iLiRyb3dbIlNfaWQiXSwiU19jb3VudCIpKzEpLiI8L3NwYW4+DQogPC9kaXY+DQoNCiA8ZGl2IGNsYXNzPVwicHJvcmlnaHRcIiBpZD1cInJzbWFsbCIuJHguIl8wXCI+DQogIDx1bCBjbGFzcz1cInUxXCI+DQogIDxsaSBjbGFzcz1cImwxXCI+5pyA5paw5LiK5p62PC9saT4NCiAgPGxpIGNsYXNzPVwibDJcIj7nsr7pgInllYblk4HlhbEgPHNwYW4+Ii5nZXRycygic2VsZWN0IGNvdW50KFBfaWQpIGFzIFBfY291bnQgZnJvbSBzbF9wcm9kdWN0LHNsX3Bzb3J0IHdoZXJlIFBfZGVsPTAgIi4kTV9waW5mby4iICBhbmQgUF9zaD0xIGFuZCBTX2RlbD0wIGFuZCBQX3NvcnQ9U19pZCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0sIlBfY291bnQiKS4iPC9zcGFuPiDku7Y8L2xpPg0KICA8bGkgY2xhc3M9XCJsM1wiPjxhIGhyZWY9XCI/dHlwZT1wcm9kdWN0JmlkPSIuJHJvd1siU19pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIj7mn6XnnIvmm7TlpJogPj48L2E+PC9saT4NCiAgPC91bD4NCg0KICA8ZGl2IGNsYXNzPVwiZHRqXCI+IjsNCgkkc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9wcm9kdWN0LHNsX3Bzb3J0IHdoZXJlIFBfZGVsPTAgIi4kTV9waW5mby4iICBhbmQgUF9zaD0xIGFuZCBTX2RlbD0wIGFuZCBQX3NvcnQ9U19pZCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBQX3ZpZXcgZGVzYyxQX2lkIGRlc2MgbGltaXQgNSI7DQogICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8dWwgY2xhc3M9XCJ1dGpcIj4NCiAgPGxpIGNsYXNzPVwibDFcIj4NCiAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvdzJbIlBfaWQiXS4iXCI+PGltZyBjbGFzcz1cImltZzFcIiBib3JkZXI9MCBzcmM9XCIiLnBpYyhzcGxpdHgoJHJvdzJbIlBfcGljIl0sInwiLDApKS4iXCIgLz48L2E+PHNwYW4gY2xhc3M9XCJzMSBiZyIuKCR4JTYpLiJcIj7mjqjojZA8L3NwYW4+DQogIDxzcGFuIGNsYXNzPVwiczJcIiBzdHlsZT1cImJvcmRlcjojZGRkIHNvbGlkIDFweDtcIj4NCg0KICAJPGRpdiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6dXJsKCIucGljKHNwbGl0eCgkcm93MlsiUF9waWMiXSwifCIsMCkpLiIpO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDoxNjBweDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1wiIGNsYXNzPVwic3NzXCI+PC9kaXY+DQogIDwvc3Bhbj4NCiAgPC9saT4NCiAgPGxpIGNsYXNzPVwibDJcIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiP3R5cGU9cHJvZHVjdGluZm8maWQ9Ii4kcm93MlsiUF9pZCJdLiJcIiB0aXRsZT1cIiIuJHJvdzJbIlBfdGl0bGUiXS4iXCI+Ii4kcm93MlsiUF90aXRsZSJdLiI8L2E+PHNwYW4+77+lIi5wKCRyb3cyWyJQX3ByaWNlIl0pLiI8L3NwYW4+PC9saT4NCiAgPC9saT4NCiAgPC91bD4iOw0KICAgICAgICAgICAgICAgICAgICBdXQ0KJGFwaT0kYXBpLiINCg0KICAgIDwvZGl2PiI7DQokc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9wc29ydCxzbF9wcm9kdWN0IHdoZXJlIFNfZGVsPTAgYW5kIFBfc2g9MSBhbmQgUF9kZWw9MCAiLiRNX3BpbmZvLiIgIGFuZCBQX3NvcnQ9U19pZCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBQX29yZGVyLFBfaWQgZGVzYyBsaW1pdCA1IjsNCiAgICAgICAgICAgICAgICBzMltbDQogICAgICAgICAgICAgICAgICAgICAgICAkYXBpPSRhcGkuIjx1bCBjbGFzcz1cInUyXCI+DQogIDxsaSBjbGFzcz1cImwxXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvdzJbIlBfaWQiXS4iXCI+DQogICAgPGltZyBib3JkZXI9MCBzcmM9XCIiLnBpYyhzcGxpdHgoJHJvdzJbIlBfcGljIl0sInwiLDApKS4iXCIgLz4NCiAgPC9hPjwvbGk+DQogIDxsaSBjbGFzcz1cImwyXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvdzJbIlBfaWQiXS4iXCI+Ii4kcm93MlsiUF90aXRsZSJdLiI8L2E+PC9saT4NCiAgPGxpIGNsYXNzPVwibDNcIj7vv6U8c3Ryb25nPiIucCgkcm93MlsiUF9wcmljZSJdKS4iPC9zdHJvbmc+PC9saT4NCiAgPGxpIGNsYXNzPVwibDRcIj48c3BhbiBjbGFzcz1cInMxXCI+5bey5ZSuIi4kcm93MlsiUF9zb2xkIl0uIjwvc3Bhbj48YSBocmVmPVwiP3R5cGU9cHJvZHVjdCZpZD0iLiRyb3cyWyJTX2lkIl0uIlwiIGNsYXNzPVwiczJcIj4iLiRyb3cyWyJTX3RpdGxlIl0uIjwvYT48L2xpPg0KICA8L2xpPg0KICA8L3VsPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQoNCiAgICAkYXBpPSRhcGkuIjwvZGl2PiI7DQoNCiRqPTE7DQokc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9wc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3Nob3c9MSBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyI7DQogICAgICAgICAgICAgICAgczJbWw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8ZGl2IGNsYXNzPVwicHJvcmlnaHRcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIiBpZD1cInJzbWFsbCIuJHguIl8iLiRqLiJcIj4NCiAgPHVsIGNsYXNzPVwidTFcIj4NCiAgPGxpIGNsYXNzPVwibDFcIj4iLiRyb3cyWyJTX3RpdGxlIl0uIjwvbGk+DQogIDxsaSBjbGFzcz1cImwyXCI+57K+6YCJ5ZWG5ZOB5YWxIDxzcGFuPiIuZ2V0cnMoInNlbGVjdCBjb3VudChQX2lkKSBhcyBQX2NvdW50IGZyb20gc2xfcHJvZHVjdCB3aGVyZSBQX3NoPTEgYW5kIFBfc29ydD0iLiRyb3cyWyJTX2lkIl0sIlBfY291bnQiKS4iPC9zcGFuPiDku7Y8L2xpPg0KICA8bGkgY2xhc3M9XCJsM1wiPjxhIGhyZWY9XCI/dHlwZT1wcm9kdWN0JmlkPSIuJHJvdzJbIlNfaWQiXS4iXCIgdGFyZ2V0PVwiX2JsYW5rXCI+5p+l55yL5pu05aSaID4+PC9hPjwvbGk+DQogIDwvdWw+DQoNCiAgPGRpdiBjbGFzcz1cImR0alwiPiI7DQoNCiRzcWwzPSJzZWxlY3QgKiBmcm9tIHNsX3Byb2R1Y3Qgd2hlcmUgUF9kZWw9MCAiLiRNX3BpbmZvLiIgIGFuZCBQX3NoPTEgYW5kIFBfc29ydD0iLiRyb3cyWyJTX2lkIl0uIiBvcmRlciBieSBQX3ZpZXcgZGVzYyxQX2lkIGRlc2MgbGltaXQgNSI7DQogICAgICAgICAgICAgICAgczNbWw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8dWwgY2xhc3M9XCJ1dGpcIj4NCiAgPGxpIGNsYXNzPVwibDFcIj4NCiAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvdzNbIlBfaWQiXS4iXCI+PGltZyBjbGFzcz1cImltZzFcIiBib3JkZXI9MCBzcmM9XCIiLnBpYyhzcGxpdHgoJHJvdzNbIlBfcGljIl0sInwiLDApKS4iXCIgLz48L2E+PHNwYW4gY2xhc3M9XCJzMSBiZyIuKCR4JTYpLiJcIj7mjqjojZA8L3NwYW4+DQogIDxzcGFuIGNsYXNzPVwiczJcIiBzdHlsZT1cImJvcmRlcjojZGRkIHNvbGlkIDFweDtcIj4NCg0KICAJPGRpdiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6dXJsKCIucGljKHNwbGl0eCgkcm93M1siUF9waWMiXSwifCIsMCkpLiIpO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDoxNjBweDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1wiIGNsYXNzPVwic3NzXCI+PC9kaXY+DQoNCiAgPC9zcGFuPg0KICA8L2xpPg0KICA8bGkgY2xhc3M9XCJsMlwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCI/dHlwZT1wcm9kdWN0aW5mbyZpZD0iLiRyb3czWyJQX2lkIl0uIlwiIHRpdGxlPVwiIi4kcm93M1siUF90aXRsZSJdLiJcIj4iLiRyb3czWyJQX3RpdGxlIl0uIjwvYT48c3Bhbj7vv6UiLnAoJHJvdzNbIlBfcHJpY2UiXSkuIjwvc3Bhbj48L2xpPg0KICA8L2xpPg0KICA8L3VsPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQogICAgJGFwaT0kYXBpLiINCiAgICA8L2Rpdj4iOw0KICANCiRzcWwzPSJzZWxlY3QgKiBmcm9tIHNsX3Byb2R1Y3Qgd2hlcmUgUF9kZWw9MCAiLiRNX3BpbmZvLiIgIGFuZCBQX3NoPTEgYW5kIFBfc29ydD0iLiRyb3cyWyJTX2lkIl0uIiBvcmRlciBieSBQX2lkIGRlc2MgbGltaXQgNSI7DQogICAgICAgICAgICAgICAgczNbWw0KICAgICAgICAgICAgICAgICAgICAgICAgJGFwaT0kYXBpLiI8dWwgY2xhc3M9XCJ1MlwiPg0KICA8bGkgY2xhc3M9XCJsMVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCI/dHlwZT1wcm9kdWN0aW5mbyZpZD0iLiRyb3czWyJQX2lkIl0uIlwiPjxpbWcgYm9yZGVyPTAgc3JjPVwiIi5waWMoc3BsaXR4KCRyb3czWyJQX3BpYyJdLCJ8IiwwKSkuIlwiIC8+PC9hPjwvbGk+DQogIDxsaSBjbGFzcz1cImwyXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIj90eXBlPXByb2R1Y3RpbmZvJmlkPSIuJHJvdzNbIlBfaWQiXS4iXCI+Ii4kcm93M1siUF90aXRsZSJdLiI8L2E+PC9saT4NCiAgPGxpIGNsYXNzPVwibDNcIj7vv6U8c3Ryb25nPiIucCgkcm93M1siUF9wcmljZSJdKS4iPC9zdHJvbmc+PC9saT4NCiAgPGxpIGNsYXNzPVwibDRcIj48c3BhbiBjbGFzcz1cInMxXCI+5bey5ZSuIi4kcm93M1siUF9zb2xkIl0uIjwvc3Bhbj48YSBocmVmPVwiP3R5cGU9cHJvZHVjdCZpZD0iLiRyb3cyWyJTX2lkIl0uIlwiIGNsYXNzPVwiczJcIj4iLiRyb3cyWyJTX3RpdGxlIl0uIjwvYT48L2xpPg0KICA8L2xpPg0KICA8L3VsPiI7DQogICAgICAgICAgICAgICAgICAgIF1dDQoNCiAgICAkYXBpPSRhcGkuIg0KIDwvZGl2PiI7DQogJGorPTE7DQogICAgICAgICAgICAgICAgICAgIF1dDQoNCg0KJGFwaT0kYXBpLiI8L2Rpdj4iOw0KJHgrPTE7DQogICAgICAgICAgICAgICAgXV0NCjwvZmgtZnVuY3Rpb24+DQoNCjxzcGFuIGlkPSJiaWdpYWxsIiBzdHlsZT0iZGlzcGxheTpub25lOyI+Njwvc3Bhbj4NCjwhLS3liJfooahFLS0+DQoNCg0KPCEtLei1hOiur0ItLT4NCjx1bCBjbGFzcz0ibmV3c2NhcCI+DQo8bGkgY2xhc3M9ImwxIj7otYTorq/pgJ/pgJI8L2xpPg0KPGxpIGNsYXNzPSJsMiI+DQo8ZmgtZnVuY3Rpb24+DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkYXBpPSRhcGkuIiZuYnNwOyZuYnNwOy8mbmJzcDsmbmJzcDs8YSBocmVmPVwiP3R5cGU9bmV3cyZpZD0iLiRyb3dbIlNfaWQiXS4iXCI+Ii4kcm93WyJTX3RpdGxlIl0uIjwvYT4iOw0KICAgICAgICBdXQ0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KDQo8L2xpPg0KPC91bD4NCjxkaXYgY2xhc3M9Im5ld3NsZWZ0Ij4NCg0KIDxkaXYgY2xhc3M9Im50cCI+DQoNCjxmaC1mdW5jdGlvbj4NCiAgJGk9MTsNCg0KDQogICAgICAgICRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX25ld3Mgd2hlcmUgTl9kZWw9MCAiLiRNX25pbmZvLiIgIGFuZCBOX3NoPTEgb3JkZXIgYnkgTl90b3AgZGVzYyxOX29yZGVyLE5faWQgZGVzYyBsaW1pdCAyIjsNCiAgICAgICAgczJbWw0KDQoNCmlmKHN0cnBvcygkcm93MlsiTl9jb250ZW50Il0sIltmaF9mcmVlXSIpIT09ZmFsc2UgfHwgJHJvdzJbIk5fcHJpY2UiXT09MCl7DQogICAgJGludHJvPW1iX3N1YnN0cihzdHJpcF90YWdzKHNwbGl0eCgkcm93MlsiTl9jb250ZW50Il0sIltmaF9mcmVlXSIsMCkpLDAsMjAwLCJ1dGYtOCIpOw0KICB9ZWxzZXsNCiAgICAkaW50cm89IuWGheWuueWKoOWvhiI7DQogIH0NCg0KDQokYXBpPSRhcGkuIiAgPHVsIGNsYXNzPVwidTEgdWgiLiRpLiJcIj4NCiA8bGkgY2xhc3M9XCJsMVwiPjxhIGhyZWY9XCI/dHlwZT1uZXdzaW5mbyZpZD0iLiRyb3cyWyJOX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPjxpbWcgc3JjPVwiIi5waWMoJHJvdzJbIk5fcGljIl0pLiJcIiB3aWR0aD1cIjE5MFwiIGhlaWdodD1cIjE1NVwiIC8+PC9hPjwvbGk+DQogPGxpIGNsYXNzPVwibDJcIj4NCiA8YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImExXCIgdGl0bGU9XCIiLiRyb3cyWyJOX3RpdGxlIl0uIlwiPiIuJHJvdzJbIk5fdGl0bGUiXS4iPC9hPg0KIDxzcGFuIGNsYXNzPVwiczFcIj7jgIDjgIAiLiRpbnRyby4iPC9zcGFuPg0KIDxhIGhyZWY9XCI/dHlwZT1uZXdzaW5mbyZpZD0iLiRyb3cyWyJOX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiYTJcIj7pmIXor7vor6bmg4U8L2E+DQogPC9saT4NCiA8L3VsPiI7DQogJGk9JGkrMTsNCg0KDQogICAgICAgIF1dDQogICAgICAgIDwvZmgtZnVuY3Rpb24+DQoNCg0KICA8L2Rpdj4NCiA8ZGl2IGNsYXNzPSJucWgiPg0KIA0KCQk8ZGl2IGNsYXNzPSJwaWNNYXJxdWVlLWxlZnQiPg0KCQkJPGRpdiBjbGFzcz0iaGQiPg0KICAgICAgICAgICAgPHNwYW4+57K+5b2p54Ot54K56IGa6ZuGPC9zcGFuPg0KCQkJCTxhIGNsYXNzPSJuZXh0Ij48L2E+DQoJCQkJPGEgY2xhc3M9InByZXYiPjwvYT4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iYmQiPg0KCQkJCTx1bCBjbGFzcz0icGljTGlzdCI+DQoNCg0KPGZoLWZ1bmN0aW9uPg0KIA0KDQogICAgICAgICRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX25ld3Mgd2hlcmUgTl9kZWw9MCAiLiRNX25pbmZvLiIgIGFuZCBOX3NoPTEgb3JkZXIgYnkgTl92aWV3IGRlc2MgbGltaXQgNSI7DQogICAgICAgIHMyW1sNCg0KDQppZihzdHJwb3MoJHJvdzJbIk5fY29udGVudCJdLCJbZmhfZnJlZV0iKSE9PWZhbHNlIHx8ICRyb3cyWyJOX3ByaWNlIl09PTApew0KICAgICRpbnRybz1tYl9zdWJzdHIoc3RyaXBfdGFncyhzcGxpdHgoJHJvdzJbIk5fY29udGVudCJdLCJbZmhfZnJlZV0iLDApKSwwLDIwMCwidXRmLTgiKTsNCiAgfWVsc2V7DQogICAgJGludHJvPSLlhoXlrrnliqDlr4YiOw0KICB9DQoNCg0KJGFwaT0kYXBpLiIgIDxsaT4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaWNcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIj48aW1nIHNyYz1cIiIucGljKCRyb3cyWyJOX3BpYyJdKS4iXCIgLz48L2E+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIiB0aXRsZT1cIiIuJHJvdzJbIk5fdGl0bGUiXS4iXCI+Ii4kcm93MlsiTl90aXRsZSJdLiI8L2E+PC9kaXY+DQogICAgICAgICAgPC9saT4iOw0KDQogICAgICAgIF1dDQoNCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KDQoNCiAgICAgICAgICAgICAgICAJCQkJCQ0KCQkJCQkJCQkJPC91bD4NCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCjxzY3JpcHQgaWQ9ImpzSUQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJCSB2YXIgYXJ5ID0gbG9jYXRpb24uaHJlZi5zcGxpdCgiJiIpOw0KCQlqUXVlcnkoIi5waWNNYXJxdWVlLWxlZnQiKS5zbGlkZSggeyBtYWluQ2VsbDoiLmJkIHVsIixhdXRvUGxheTp0cnVlLGVmZmVjdDphcnlbMV0sdmlzOmFyeVsyXSxpbnRlclRpbWU6YXJ5WzNdLG9wcDphcnlbNF0scG5Mb29wOmFyeVs1XSx0cmlnZ2VyOmFyeVs2XSxtb3VzZU92ZXJTdG9wOmFyeVs3XSB9KTsNCgkJPC9zY3JpcHQ+DQogDQogPC9kaXY+DQogIDxkaXYgY2xhc3M9Im50eSBudHkxIj4NCiAgPHVsIGNsYXNzPSJ1dHkxIj4NCiAgPGZoLWZ1bmN0aW9uPg0KICAgICAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX25zb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc2hvdz0xIGFuZCBTX3N1Yj0wIG9yZGVyIGJ5IFNfb3JkZXIsU19pZCBkZXNjIGxpbWl0IDEiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkYXBpPSRhcGkuIjxsaSBjbGFzcz1cImwxXCI+Ii4kcm93WyJTX3RpdGxlIl0uIjwvbGk+DQogIDxsaSBjbGFzcz1cImwyXCI+PGEgaHJlZj1cIj90eXBlPW5ld3MmaWQ9Ii4kcm93WyJTX2lkIl0uIlwiPuabtOWkmj4+PC9hPjwvbGk+IjsNCiAgICAgICAgXV0NCg0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KICA8L3VsPg0KICA8dWwgY2xhc3M9InV0eTIiPg0KDQo8ZmgtZnVuY3Rpb24+DQogICRpPTE7DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMSI7DQogICAgICAgIHNbWw0KDQogICAgICAgICRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX25ld3Msc2xfbnNvcnQgd2hlcmUgTl9kZWw9MCAiLiRNX25pbmZvLiIgIGFuZCBOX3NoPTEgYW5kIFNfZGVsPTAgYW5kIE5fc29ydD1TX2lkIGFuZCBTX3N1Yj0iLiRyb3dbIlNfaWQiXS4iIG9yZGVyIGJ5IE5fdG9wIGRlc2MsTl9vcmRlcixOX2lkIGRlc2MgbGltaXQgOCI7DQogICAgICAgIHMyW1sNCg0KaWYoc3RycG9zKCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIikhPT1mYWxzZSB8fCAkcm93MlsiTl9wcmljZSJdPT0wKXsNCiAgICAkaW50cm89bWJfc3Vic3RyKHN0cmlwX3RhZ3Moc3BsaXR4KCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIiwwKSksMCwyMDAsInV0Zi04Iik7DQogIH1lbHNlew0KICAgICRpbnRybz0i5YaF5a655Yqg5a+GIjsNCiAgfQ0KDQokYXBpPSRhcGkuIiAgPGxpIGNsYXNzPVwibDFcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIiB0aXRsZT1cIiIuJHJvdzJbIk5fdGl0bGUiXS4iXCI+Ii4kcm93MlsiTl90aXRsZSJdLiI8L2E+PC9saT4iOw0KICRpPSRpKzE7DQogICAgICAgIF1dDQoNCiAgICAgICAgXV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KICAgIDwvdWw+DQogPC9kaXY+DQogIDxkaXYgY2xhc3M9Im50eSBudHkyIj4NCiAgPHVsIGNsYXNzPSJ1dHkxIj4NCiAgICA8ZmgtZnVuY3Rpb24+DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMSwxIjsNCiAgICAgICAgc1tbDQoNCiAgICAgICAgJGFwaT0kYXBpLiI8bGkgY2xhc3M9XCJsMVwiPiIuJHJvd1siU190aXRsZSJdLiI8L2xpPg0KICA8bGkgY2xhc3M9XCJsMlwiPjxhIGhyZWY9XCI/dHlwZT1uZXdzJmlkPSIuJHJvd1siU19pZCJdLiJcIj7mm7TlpJo+PjwvYT48L2xpPiI7DQogICAgICAgIF1dDQoNCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KICANCiAgPC91bD4NCiAgPHVsIGNsYXNzPSJ1dHkyIj4NCg0KICAgIDxmaC1mdW5jdGlvbj4NCiAgJGk9MTsNCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9uc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3Nob3c9MSBhbmQgU19zdWI9MCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCAxLDEiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9uZXdzLHNsX25zb3J0IHdoZXJlIE5fZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgTl9zaD0xIGFuZCBTX2RlbD0wIGFuZCBOX3NvcnQ9U19pZCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBOX3RvcCBkZXNjLE5fb3JkZXIsTl9pZCBkZXNjIGxpbWl0IDgiOw0KICAgICAgICBzMltbDQoNCg0KaWYoc3RycG9zKCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIikhPT1mYWxzZSB8fCAkcm93MlsiTl9wcmljZSJdPT0wKXsNCiAgICAkaW50cm89bWJfc3Vic3RyKHN0cmlwX3RhZ3Moc3BsaXR4KCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIiwwKSksMCwyMDAsInV0Zi04Iik7DQogIH1lbHNlew0KICAgICRpbnRybz0i5YaF5a655Yqg5a+GIjsNCiAgfQ0KDQoNCiRhcGk9JGFwaS4iICA8bGkgY2xhc3M9XCJsMVwiPjxhIGhyZWY9XCI/dHlwZT1uZXdzaW5mbyZpZD0iLiRyb3cyWyJOX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiIHRpdGxlPVwiIi4kcm93MlsiTl90aXRsZSJdLiJcIj4iLiRyb3cyWyJOX3RpdGxlIl0uIjwvYT48L2xpPiI7DQogJGk9JGkrMTsNCiAgICAgICAgXV0NCg0KICAgICAgICBdXQ0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KDQogICAgPC91bD4NCiA8L2Rpdj4NCiANCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJuZXdzcmlnaHQiPg0KIDxkaXYgY2xhc3M9Im5jYXAiPg0KICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbk1vdXNlT3Zlcj0ibmV3c2NhcG9uYygwKSIgaWQ9Im5ld3NjYXAwIiBjbGFzcz0iYTEiPjxmaC1mdW5jdGlvbj4NCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9uc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3Nob3c9MSBhbmQgU19zdWI9MCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCAyLDEiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkYXBpPSRhcGkuJHJvd1siU190aXRsZSJdOw0KICAgICAgICBdXQ0KDQogICAgICAgIDwvZmgtZnVuY3Rpb24+PC9hPg0KICA8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbk1vdXNlT3Zlcj0ibmV3c2NhcG9uYygxKSIgaWQ9Im5ld3NjYXAxIj48ZmgtZnVuY3Rpb24+DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMywxIjsNCiAgICAgICAgc1tbDQoNCiAgICAgICAgJGFwaT0kYXBpLiRyb3dbIlNfdGl0bGUiXTsNCiAgICAgICAgXV0NCg0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPjwvYT4NCiAgPC9kaXY+DQoNCiAgPGRpdiBjbGFzcz0ibm1haW4iIGlkPSJubWFpbjAiPg0KDQoNCjxmaC1mdW5jdGlvbj4NCiAgJGk9MTsNCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9uc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3Nob3c9MSBhbmQgU19zdWI9MCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCAyLDEiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9uZXdzLHNsX25zb3J0IHdoZXJlIE5fZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgTl9zaD0xIGFuZCBTX2RlbD0wIGFuZCBOX3NvcnQ9U19pZCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBOX3RvcCBkZXNjLE5fb3JkZXIsTl9pZCBkZXNjIGxpbWl0IDIiOw0KICAgICAgICBzMltbDQoNCmlmKHN0cnBvcygkcm93MlsiTl9jb250ZW50Il0sIltmaF9mcmVlXSIpIT09ZmFsc2UgfHwgJHJvdzJbIk5fcHJpY2UiXT09MCl7DQogICAgJGludHJvPW1iX3N1YnN0cihzdHJpcF90YWdzKHNwbGl0eCgkcm93MlsiTl9jb250ZW50Il0sIltmaF9mcmVlXSIsMCkpLDAsMjAwLCJ1dGYtOCIpOw0KICB9ZWxzZXsNCiAgICAkaW50cm89IuWGheWuueWKoOWvhiI7DQogIH0NCg0KJGFwaT0kYXBpLiI8dWwgY2xhc3M9XCJ1MVwiPg0KICA8bGkgY2xhc3M9XCJsMVwiPjxhIGhyZWY9XCI/dHlwZT1uZXdzaW5mbyZpZD0iLiRyb3cyWyJOX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPjxpbWcgc3JjPVwiIi5waWMoJHJvdzJbIk5fcGljIl0pLiJcIiAvPjwvYT48L2xpPg0KICA8bGkgY2xhc3M9XCJsMlwiPjxhIGhyZWY9XCI/dHlwZT1uZXdzaW5mbyZpZD0iLiRyb3cyWyJOX2lkIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiYTFcIiB0aXRsZT1cIiIuJHJvdzJbIk5fdGl0bGUiXS4iXCI+Ii4kcm93MlsiTl90aXRsZSJdLiI8L2E+PHNwYW4gY2xhc3M9XCJzMVwiPg0K44CA44CAIi4kaW50cm8uIjwvc3Bhbj48L2xpPg0KICA8L3VsPiI7DQogJGk9JGkrMTsNCiAgICAgICAgXV0NCg0KICAgICAgICBdXQ0KICAgICAgICA8L2ZoLWZ1bmN0aW9uPg0KDQoNCg0KDQogICAgPHVsIGNsYXNzPSJ1MiI+DQoNCjxmaC1mdW5jdGlvbj4NCiAgJGk9MTsNCiAgICAgICAgJHNxbD0ic2VsZWN0ICogZnJvbSBzbF9uc29ydCB3aGVyZSBTX2RlbD0wIGFuZCBTX3Nob3c9MSBhbmQgU19zdWI9MCBvcmRlciBieSBTX29yZGVyLFNfaWQgZGVzYyBsaW1pdCAyLDEiOw0KICAgICAgICBzW1sNCg0KICAgICAgICAkc3FsMj0ic2VsZWN0ICogZnJvbSBzbF9uZXdzLHNsX25zb3J0IHdoZXJlIE5fZGVsPTAgIi4kTV9uaW5mby4iICBhbmQgTl9zaD0xIGFuZCBTX2RlbD0wIGFuZCBOX3NvcnQ9U19pZCBhbmQgU19zdWI9Ii4kcm93WyJTX2lkIl0uIiBvcmRlciBieSBOX3RvcCBkZXNjLE5fb3JkZXIsTl9pZCBkZXNjIGxpbWl0IDIsMTAiOw0KICAgICAgICBzMltbDQoNCg0KaWYoc3RycG9zKCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIikhPT1mYWxzZSB8fCAkcm93MlsiTl9wcmljZSJdPT0wKXsNCiAgICAkaW50cm89bWJfc3Vic3RyKHN0cmlwX3RhZ3Moc3BsaXR4KCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIiwwKSksMCwyMDAsInV0Zi04Iik7DQogIH1lbHNlew0KICAgICRpbnRybz0i5YaF5a655Yqg5a+GIjsNCiAgfQ0KDQoNCiRhcGk9JGFwaS4iPGxpIGNsYXNzPVwibDFcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIiB0aXRsZT1cIiIuJHJvdzJbIk5fdGl0bGUiXS4iXCI+Ii4kcm93MlsiTl90aXRsZSJdLiI8L2E+PC9saT4iOw0KICRpPSRpKzE7DQogICAgICAgIF1dDQoNCiAgICAgICAgXV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KICAgIDwvdWw+DQogPC9kaXY+DQogIDxkaXYgY2xhc3M9Im5tYWluIiBpZD0ibm1haW4xIiBzdHlsZT0iZGlzcGxheTpub25lOyI+DQogICAgPGZoLWZ1bmN0aW9uPg0KICAkaT0xOw0KICAgICAgICAkc3FsPSJzZWxlY3QgKiBmcm9tIHNsX25zb3J0IHdoZXJlIFNfZGVsPTAgYW5kIFNfc2hvdz0xIGFuZCBTX3N1Yj0wIG9yZGVyIGJ5IFNfb3JkZXIsU19pZCBkZXNjIGxpbWl0IDMsMSI7DQogICAgICAgIHNbWw0KDQogICAgICAgICRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX25ld3Msc2xfbnNvcnQgd2hlcmUgTl9kZWw9MCAiLiRNX25pbmZvLiIgIGFuZCBOX3NoPTEgYW5kIFNfZGVsPTAgYW5kIE5fc29ydD1TX2lkIGFuZCBTX3N1Yj0iLiRyb3dbIlNfaWQiXS4iIG9yZGVyIGJ5IE5fdG9wIGRlc2MsTl9vcmRlcixOX2lkIGRlc2MgbGltaXQgMiI7DQogICAgICAgIHMyW1sNCg0KaWYoc3RycG9zKCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIikhPT1mYWxzZSB8fCAkcm93MlsiTl9wcmljZSJdPT0wKXsNCiAgICAkaW50cm89bWJfc3Vic3RyKHN0cmlwX3RhZ3Moc3BsaXR4KCRyb3cyWyJOX2NvbnRlbnQiXSwiW2ZoX2ZyZWVdIiwwKSksMCwyMDAsInV0Zi04Iik7DQogIH1lbHNlew0KICAgICRpbnRybz0i5YaF5a655Yqg5a+GIjsNCiAgfQ0KDQoNCiRhcGk9JGFwaS4iPHVsIGNsYXNzPVwidTFcIj4NCiAgPGxpIGNsYXNzPVwibDFcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIj48aW1nIHNyYz1cIiIucGljKCRyb3cyWyJOX3BpYyJdKS4iXCIgLz48L2E+PC9saT4NCiAgPGxpIGNsYXNzPVwibDJcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImExXCIgdGl0bGU9XCIiLiRyb3cyWyJOX3RpdGxlIl0uIlwiPiIuJHJvdzJbIk5fdGl0bGUiXS4iPC9hPjxzcGFuIGNsYXNzPVwiczFcIj4NCuOAgOOAgCIuJGludHJvLiI8L3NwYW4+PC9saT4NCiAgPC91bD4iOw0KICRpPSRpKzE7DQogICAgICAgIF1dDQoNCiAgICAgICAgXV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KDQoNCg0KICAgIDx1bCBjbGFzcz0idTIiPg0KDQo8ZmgtZnVuY3Rpb24+DQogICRpPTE7DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbnNvcnQgd2hlcmUgU19kZWw9MCBhbmQgU19zaG93PTEgYW5kIFNfc3ViPTAgb3JkZXIgYnkgU19vcmRlcixTX2lkIGRlc2MgbGltaXQgMywxIjsNCiAgICAgICAgc1tbDQoNCiAgICAgICAgJHNxbDI9InNlbGVjdCAqIGZyb20gc2xfbmV3cyxzbF9uc29ydCB3aGVyZSBOX2RlbD0wICIuJE1fbmluZm8uIiAgYW5kIE5fc2g9MSBhbmQgU19kZWw9MCBhbmQgTl9zb3J0PVNfaWQgYW5kIFNfc3ViPSIuJHJvd1siU19pZCJdLiIgb3JkZXIgYnkgTl90b3AgZGVzYyxOX29yZGVyLE5faWQgZGVzYyBsaW1pdCAyLDEwIjsNCiAgICAgICAgczJbWw0KDQppZihzdHJwb3MoJHJvdzJbIk5fY29udGVudCJdLCJbZmhfZnJlZV0iKSE9PWZhbHNlIHx8ICRyb3cyWyJOX3ByaWNlIl09PTApew0KICAgICRpbnRybz1tYl9zdWJzdHIoc3RyaXBfdGFncyhzcGxpdHgoJHJvdzJbIk5fY29udGVudCJdLCJbZmhfZnJlZV0iLDApKSwwLDIwMCwidXRmLTgiKTsNCiAgfWVsc2V7DQogICAgJGludHJvPSLlhoXlrrnliqDlr4YiOw0KICB9DQoNCiRhcGk9JGFwaS4iPGxpIGNsYXNzPVwibDFcIj48YSBocmVmPVwiP3R5cGU9bmV3c2luZm8maWQ9Ii4kcm93MlsiTl9pZCJdLiJcIiB0YXJnZXQ9XCJfYmxhbmtcIiB0aXRsZT1cIiIuJHJvdzJbIk5fdGl0bGUiXS4iXCI+Ii4kcm93MlsiTl90aXRsZSJdLiI8L2E+PC9saT4iOw0KICRpPSRpKzE7DQogICAgICAgIF1dDQoNCiAgICAgICAgXV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KICAgIDwvdWw+DQogPC9kaXY+DQogPC9kaXY+DQo8IS0t6LWE6K6vRS0tPg0KDQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iYmZiIGJmYmJvdHRvbSI+DQo8ZGl2IGNsYXNzPSJ5amNvZGUiPg0KDQogPGRpdiBjbGFzcz0iZDEiPg0KPHVsIGNsYXNzPSJ1MSI+DQo8ZmgtZnVuY3Rpb24+DQokc3FsPSJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgVV9kZWw9MCBhbmQgVV9zdWI9MCBhbmQgbm90IFVfdHlwZT0naW5kZXgnIG9yZGVyIGJ5IFVfb3JkZXIsVV9pZCBkZXNjIjsNCnNbWw0KDQogIGlmKCRyb3dbIlVfdHlwZSJdPT0ibGluayIpew0KICAgICRsaW5rPSRyb3dbIlVfbGluayJdOw0KICAgICR0YXJnZXQ9Il9ibGFuayI7DQogIH1lbHNlew0KICAgICRsaW5rPSI/dHlwZT0iLiRyb3dbIlVfdHlwZSJdLiImaWQ9Ii4kcm93WyJVX3R5cGVpZCJdOw0KICAgICR0YXJnZXQ9Il9zZWxmIjsNCiAgfQ0KDQoNCiAgICAgJGFwaT0kYXBpLiINCiAgPGxpPg0KIDxzcGFuPjxhIGhyZWY9XCIiLiRsaW5rLiJcIiB0YXJnZXQ9XCIiLiR0YXJnZXQuIlwiPiIuJHJvd1siVV90aXRsZSJdLiI8L2E+PC9zcGFuPiI7DQoNCiRzcWwyPSJzZWxlY3QgKiBmcm9tIHNsX21lbnUgd2hlcmUgVV9kZWw9MCBhbmQgVV9zdWI9Ii4kcm93WyJVX2lkIl0uIiBvcmRlciBieSBVX29yZGVyLFVfaWQgZGVzYyI7DQpzMltbDQoNCiAgaWYoJHJvdzJbIlVfdHlwZSJdPT0ibGluayIpew0KICAgICRsaW5rMj0kcm93MlsiVV9saW5rIl07DQogICAgJHRhcmdldDI9Il9ibGFuayI7DQogIH1lbHNlew0KICAgICRsaW5rMj0iP3R5cGU9Ii4kcm93MlsiVV90eXBlIl0uIiZpZD0iLiRyb3cyWyJVX3R5cGVpZCJdOw0KICAgICR0YXJnZXQyPSJfc2VsZiI7DQogIH0NCg0KICAgICRhcGk9JGFwaS4iPGEgaHJlZj1cIiIuJGxpbmsyLiJcIiB0YXJnZXQ9XCIiLiR0YXJnZXQyLiJcIiBjbGFzcz1cImExXCI+Ii4kcm93MlsiVV90aXRsZSJdLiI8L2E+PGJyPiI7DQogIF1dDQogICAgICAkYXBpPSRhcGkuIg0KICAgPC9saT4iOw0KICAgIF1dDQoNCjwvZmgtZnVuY3Rpb24+DQoNCg0KPC91bD4NCiANCiAgDQogPC9kaXY+DQogDQogPGRpdiBjbGFzcz0iZDIiPg0KDQoNCiA8c3Ryb25nPuiBlOezu+aIkeS7rDwvc3Ryb25nPjxicj4NCiA8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPuWcsOWdgO+8muWMl+S6rOW4gnh45Yy6eHjot694eOW5v+Wcunjlj7c8L3NwYW4+PGJyIC8+DQo8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPueUteivne+8mjg2LTAxMC14eHh4eHh4eDwvc3Bhbj48YnIgLz4NCjxzcGFuIHN0eWxlPSJjb2xvcjojMjIyMjIyO2ZvbnQtZmFtaWx5OiIgZm9udC1zaXplOjE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyI9IiI+5Lyg55yf77yaODYtMDEwLXh4eHh4eHh4eHh4eHh4eHg8L3NwYW4+PGJyIC8+DQo8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPumCrueuse+8mnh4eHh4eHh4eEBxcS5jb208L3NwYW4+PGJyIC8+DQo8c3BhbiBzdHlsZT0iY29sb3I6IzIyMjIyMjtmb250LWZhbWlseToiIGZvbnQtc2l6ZToxOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPSIiPue9keWdgO+8mnd3dy54eHh4eHguY29tPC9zcGFuPg0KPC9kaXY+DQogDQogPGRpdiBjbGFzcz0iZDMiPg0KPGltZyBzcmM9Im1lZGlhLzIwMTkxMTI2MjI0MzUyV2YuanBnIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgLz48YnI+5LqM57u056CBDQogIDwvZGl2Pg0KIDx1bCBjbGFzcz0idTIiPg0KIDxsaSBjbGFzcz0ibDEiPg0K5Y+L5oOF6ZO+5o6l77yaDQo8ZmgtZnVuY3Rpb24+DQogICAgICAgICRzcWw9InNlbGVjdCAqIGZyb20gc2xfbGluayB3aGVyZSBMX2RlbD0wIG9yZGVyIGJ5IExfaWQgZGVzYyI7DQogICAgICAgIHNbWw0KDQogICAgICAgICRhcGk9JGFwaS4iPGEgaHJlZj1cIiIuJHJvd1siTF9saW5rIl0uIlwiIHRhcmdldD1cIl9ibGFua1wiPiIuJHJvd1siTF90aXRsZSJdLiI8L2E+Jm5ic3A7Jm5ic3A7IjsNCiAgICAgICAgXV0NCiAgICAgICAgPC9maC1mdW5jdGlvbj4NCg0KIDxicj4NCkNvcHlyaWdodCDCqSAyMDE1LTIwMjAg5oKo55qE5YWs5Y+45ZCN56ewIOeJiOadg+aJgOaciSA8YSBocmVmPSJodHRwOi8vYmVpYW4ubWlpdC5nb3YuY24vIiB0YXJnZXQ9Il9ibGFuayI+5LqsSUNQ5aSHMDAwMDAwMDDlj7c8L2E+DQogPC9saT4NCiA8bGkgY2xhc3M9ImwyIj4NCiAgPC9saT4NCiA8L3VsPg0KIA0KPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQpmdW5jdGlvbiBpbmRleFlKVFNDTE8oKXsNCmxheWVyLmNsb3NlQWxsKCk7DQp9DQppZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmlnaHRjb250YWN0Iikpew0KZ2V0SW5kZXhDb29raWUoKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyaWdodGNvbnRhY3QiKS5jbGFzc05hbWU9ImNvbnRhY3QgZm9udHloIGRpc3llcyI7DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmlnaHR0ZWwiKS5jbGFzc05hbWU9InRlbCBmb250eWggZGlzbm8iOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSdjc3MvbGFucmVuemhpamlhLmNzcycgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz48c2NyaXB0IHNyYz0nanMvanF1ZXJ5LktpblNsaWRlc2hvdy0xLjIuMS5taW4uanMnIHR5cGU9J3RleHQvamF2YXNjcmlwdCc+PC9zY3JpcHQ+PGRpdiBpZD0nb25saW5lX3FxX2xheWVyJyBzdHlsZT0nei1pbmRleDoyMDAwOyc+PGRpdiBpZD0nb25saW5lX3FxX3RhYic+PGRpdiBjbGFzcz0nb25saW5lX2ljb24nPjxhIGlkPSdmbG9hdFNob3cnIHN0eWxlPSdkaXNwbGF5OmJsb2NrOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjxhICBpZD0nZmxvYXRIaWRlJyBzdHlsZT0nZGlzcGxheTpub25lOycgaHJlZj0namF2YXNjcmlwdDp2b2lkKDApOyc+Jm5ic3A7PC9hPjwvZGl2PjwvZGl2PjxkaXYgaWQ9J29ubGluZVNlcnZpY2UnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxkaXYgY2xhc3M9J29ubGluZV93aW5kb3dzIG92ZXJ6Jz48ZGl2IGNsYXNzPSdvbmxpbmVfd190b3AnPjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV93X2Mgb3ZlcnonPjxkaXYgY2xhc3M9J29ubGluZV9iYXIgZXhwYW5kJyBpZD0nb25saW5lU29ydDEnPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMSknPuWcqOe6v+WuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTEnPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT48YSB0aXRsZT0n54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvJyBocmVmPSdodHRwOi8vd3BhLnFxLmNvbS9tc2dyZD92PTMmdWluPTEyMzEyMzEyMyZzaXRlPXFxJm1lbnU9eWVzJyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3FxX2ljb24nPuWUruWJjeWSqOivojwvYT48L2xpPjxsaT48YSB0aXRsZT0n54K55Ye76L+Z6YeM57uZ5oiR5Y+R5raI5oGvJyBocmVmPSdodHRwOi8vd3d3LnRhb2Jhby5jb20vd2Vid3cvd3cucGhwP3Zlcj0zJnRvdWlkPXRhb2JhbyZzaXRlaWQ9Y250YW9iYW8mc3RhdHVzPTEmY2hhcnNldD11dGYtOCcgdGFyZ2V0PSdfYmxhbmsnIGNsYXNzPSd3d19pY29uJz7llK7lkI7mnI3liqE8L2E+PC9saT48L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9J29ubGluZV9iYXIgY29sbGFwc2UyJyBpZD0nb25saW5lU29ydDInPjxoMj48YSBvbmNsaWNrPSdjaGFuZ2VPbmxpbmUoMiknPueUteivneWuouacjTwvYT48L2gyPjxkaXYgY2xhc3M9J29ubGluZV9jb250ZW50IG92ZXJ6JyBpZD0nb25saW5lVHlwZTInPjx1bCBjbGFzcz0nb3ZlcnonPjxsaT4wMTAtMTAwODY8L2xpPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0Myc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSgzKSc+572R56uZ5LqM57u056CBPC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlMyc+PHVsIGNsYXNzPSdvdmVyeic+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nanMvcXJjb2RlLm1pbi5qcyc+PC9zY3JpcHQ+PGRpdiBpZD0ncXJjb2RlJyBzdHlsZT0nbWFyZ2luOjAgMCAxMHB4IDEwcHg7Jz48L2Rpdj48c2NyaXB0PnZhciBxcmNvZGUgPSBuZXcgUVJDb2RlKCdxcmNvZGUnLCB7d2lkdGg6IDExMCxoZWlnaHQ6IDExMCxjb2xvckRhcms6ICcjMDAwMDAwJyxjb2xvckxpZ2h0OiAnI2ZmZmZmZicsY29ycmVjdExldmVsOiBRUkNvZGUuQ29ycmVjdExldmVsLkh9KTtxcmNvZGUubWFrZUNvZGUoJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAxMScpOzwvc2NyaXB0PjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX2JhciBjb2xsYXBzZTInIGlkPSdvbmxpbmVTb3J0NCc+PGgyPjxhIG9uY2xpY2s9J2NoYW5nZU9ubGluZSg0KSc+5b6u5L+h5YWs5LyX5Y+3PC9hPjwvaDI+PGRpdiBjbGFzcz0nb25saW5lX2NvbnRlbnQgb3ZlcnonIGlkPSdvbmxpbmVUeXBlNCc+PHVsIGNsYXNzPSdvdmVyeic+PGltZyBzcmM9J21lZGlhLzIwMTkxMTI2MjI0MzUyV2YuanBnJyB3aWR0aD0nMTIwJyAvPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nb25saW5lX3dfYm90dG9tJz48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCjxhIGhyZWY9J2phdmFzY3JpcHQ6OycgdGFyZ2V0PSdfYmxhbmsnIG9uY2xpY2s9J2FsZXJ0KCLmnKznvZHnq5nnlLHjgIrlj5HotKcxMDDjgIvlhY3otLnniYjmkK3lu7rvvIzor7fli7/nlKjkvZzllYbkuJrnlKjpgJQiKTt3aW5kb3cubG9jYXRpb24uaHJlZj0iaHR0cDovL2ZhaHVvMTAwLmNuIicgdGl0bGU9J+WPkei0pzEwMCc+PGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkO3otaW5kZXg6OTk5OTk7Ym90dG9tOiAxMHB4O2xlZnQ6IGNhbGMoNTAlIC0gMTAwcHgpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO3RleHQtYWxpZ246IGNlbnRlcjt3aWR0aDogMjAwcHg7aGVpZ2h0OiAzMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O2JvcmRlci1yYWRpdXM6IDMwcHg7Zm9udC1zaXplOiAxOHB4O2NvbG9yOiAjMzMzMzMzIj48aW1nIHNyYz0iaHR0cDovL2ZhaHVvMTAwLmNuL21lZGlhLzIwMjAxMDA5MTM0MTIwbFUuaWNvIiBzdHlsZT0iaGVpZ2h0OiAyMHB4O3dpZHRoOiAyMHB4O21hcmdpbi1yaWdodDogNXB4O3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij7lj5HotKcxMDA8L2Rpdj48L2E+PC9ib2R5Pg0KPC9odG1sPg==