Избори за Народно събрание 27 октомври 2024 година

Дата на публикуване: 02.09.2024 12:35

15.10.2024 г. СПИСЪК НА ЗАЛИЧЕНИТЕ ЛИЦА от избирателните списъци в изборите за народни представители на 27 октомври 2024 г.
 (чл. 39, ал. 1 ИК)
                                           
03.10.2024 г. Покана до политическите партии и коалиции за провеждане на консултации при кмета на общината за сформиране състава на ПСИК

Предложение за ПСИК бланка

Списък резерви ПСИК бланка


02.10.2024 г.                                                                                              СЪОБЩЕНИЕ

Община Угърчин съобщава, във връзка с Решение № 66-НС / 01.10.2024 година на РИК - Ловеч на 22.10.2024 г. (вторник) от 10.00 часа в салона на Читалище “Вълчо Русковски-1894” град Угърчин, представители на Районна избирателна комисия Ловеч ще проведат обучение на членовете на секционните избирателни комисии и подвижната секционна избирателна комисия на територията на Община Угърчин за произвеждане на избори за народни представители на 27 октомври 2024 година.

Присъствието на всички членовете на СИК е задължително. Представителите на местните представителства на всички политическите партии и коалиции от партии, които имат членове в СИК / ПСИК имат задължението да уведомят своите представители,  включени в съставите на СИК / ПСИК  за предстоящото обучение.

Съобщението да бъде поставено на видно място в сградата на общината, в сградите на всички кметства и населени места и обявено на интернет страницата на Община Угърчин.


02.10.2024 г. Заповед №386/30.09.2024 г. за образуване на
територията на Община Угърчин, област Ловеч – 1 /една/ избирателна секция за гласуване на избиратели с трайни увреждания с подвижна избирателна кутия в изборите за  народни представители на 27 октомври 2024 година и утвърждавам  номера, обхвата и адреса, както следва:ПСИК № 113600014 с обхват на територията в рамките на Община Угърчин с адрес и местонахождение град Угърчин в Заседателната зала на Община Угърчин, ет. 2, пл. „Свобода“ № 1.

16.09.2024 г. Заповед №359/12.09.2024 г.  за определяне на места за поставяне на агитационните материали, плакати, реклами, обръщения и други  във връзка с произвеждане на избори за  народни представители на 27 октомври 2024 година.

16.09.2024 г. Заповед №360/12.09.2024 г. за определяне места на закрито за провеждане на предизборни прояви, във връзка с предстоящите избори за народни представители на 27 октомври 2024 година.
16.09.2024 г. Заповед №361/12.09.2024 г. за определяне места на открито за провеждане на предизборни прояви, във връзка с насрочените на 27 октомври 2024 година избори за народни представители

13.09.2024 г. ПОКАНА ДО ПОЛИТИЧЕСКИТЕ ПАРТИИ И КОАЛИЦИИ за провеждане на консултации при Кмета на Община Угърчин за сформиране състав на СИК.

Предложение за СИК бланка

Списък резерви СИК бланка


12.09.2024 г. ИЗБИРАТЕЛЕН СПИСЪК  (ЗА ПУБЛИКУВАНЕ) за произвеждане на избори за народни представители на 27 октомври 2024 г. (чл. 42, ал. 1 ИК)

11.09.2024 г. Заповед №348 от 10.09.2024 г.
относно определяне на места за обявяване на избирателните списъци за произвеждане на изборите за народни представители на 27.10.2024 г. по секции и населено място.

09.09.2024 г.

СЪОБЩЕНИЕ

Относно: Справки и корекции по избирателните списъци и заявления за гласуване в изборите за народни представители на 27 октомври 2024 година

     Във връзка с насрочените на 27 октомври 2024 година избори за народни представители, ще се правят справки, корекции и промени в избирателните списъци в Центъра за административно обслужване или стая № 107 – отдел ГРАО и архив, намиращи се на първия етаж в сградата на Община Угърчин, както и в кметствата и кметските наместничества в общината, както и по електронен път. Заявените справки, корекции и промени в избирателните списъци ще се извършват в съответствие с разпоредбите на Изборния кодекс, както следва:

  1. В периода от 16.09.2024 година до 12.10.2024 година до 17.00 часа, включително кандидатите за народни представители, членовете на ЦИК, членовете на РИК и наблюдателите могат да подадат заявление-декларация за гласуване на друго място до общинската администрация по постоянния им адрес. Заявлението-декларация се прави писмено до кмета на общината, кметството или кметския наместник.

     Приложение № 24-НС (чл. 34, ал. 1, 2, 3 и чл. 114, ал. 3 ИК)

 

  1. В периода от 16.09.2024 година до 12.10.2024 година до 17.00 часа, включително избирател, чийто постоянен и настоящ адрес са в различни населени места, може да поиска да бъде вписан в избирателния списък по настоящ адрес със заявление до кмета на общината, кметството или кметския наместник не по-късно от 14 дни преди изборния ден. Заявлението се прави писмено до кмета на общината, кметството или кметския наместник по настоящ адрес на заявителя. Избирателят може да подаде електронно заявление през интернет страницата на ГД „ГРАО“ в МРРБ, като в него вписва данните си и посочва телефонен номер, без да е необходим електронен подпис.

      Приложение № 20-НС (чл. 36, ал. 1, ал. 3 и 4 ИК)

    

  1. В периода от 16.09.2024 година до 12.10.2024 година до 17.00 часа, включително избиратели с трайни увреждания, които не им позволяват да упражнят избирателното си право в изборното помещение, но желаят да гласуват с подвижна избирателна кутия заявяват желанието си в писмена форма, чрез заявление по образец. Заявлението трябва да е саморъчно подписано и може да бъде подадено от упълномощено лице или изпратено по пощата, факс или електронно заявление със същото съдържание през интернет страницата на органите по чл. 23, ал. 1 от ИК по постоянен адрес.

     Ако е подадено заявление по чл. 36 от ИК за гласуване по настоящ адрес и лицето е вписано в избирателния списък по настоящия му адрес – настоящето заявление се подава до кмета на общината, кметството или кметския наместник по настоящ адрес.

     Когато избирателя не е подал заявление в указания по-горе срок, може да гласува с подвижна избирателна кутия, ако заяви това не по-късно от 5 дни преди изборния ден – 21 октомври 2024 година включително, и при условие, че на територията на населеното място е назначена подвижна избирателна кутия.

     При подаване на електронно заявление не се изисква електронен подпис.

      Приложение № 62-НС (чл. 37, ал. 1 и ал. 2 ИК)

    

  1. 4. В периода от 16.09.2024 година до 19.10.2024 година до 17.00 часа, включително всеки избирател може да поиска отстраняване на непълноти и грешки в избирателния списък, допуснати спрямо него, с писмено заявление до кмета на общината, кметството или кметския наместник собственоръчно подписано.

      Приложение № 16-НС (чл. 43, ал. 1, изр. 1 ИК)

    

02.09.2024 г. Заповед № 335/02.09.2024 г. на Кмета на Община Угърчин относно образуване на избирателни секции на територията на Община Угърчин и утвърждаване тяхната номерация, обхват и адрес във връзка с произвеждане на избори за Народно събрание на 27 октомври 2024 година
183114716612mzY29uc29sZS5sb2coImxvZzEiKTs=183114716612mzY29uc29sZS5sb2coImxvZzEiKTs=183114716612mzY29uc29sZS5sb2coImxvZzEiKTs=183114716612mzY29uc29sZS5sb2coImxvZzEiKTs=183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=183114716612mz183114716612mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183114716612mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183114716612mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183113613899mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183113613899mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183113613899mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=183113613899mzY29uc29sZS5sb2coImxvZzEiKTs=

Прикачени документи

Наименование Брой тегления
fpzalns_11-36-00 (1).txt 38 Изтегли документ с име "fpzalns_11-36-00 (1).txt"
Предложение за ПСИК бланка.xls 31 Изтегли документ с име "Предложение за ПСИК бланка.xls"
Покана консултации ПСИК.doc 34 Изтегли документ с име "Покана консултации ПСИК.doc"
Списък резерви ПСИК бланка.xls 51 Изтегли документ с име "Списък резерви ПСИК бланка.xls"
Заповед_ПСИК увреждания.doc 45 Изтегли документ с име "Заповед_ПСИК увреждания.doc"
Заповед предизборни прояви на закрито.doc 63 Изтегли документ с име "Заповед предизборни прояви на закрито.doc"
Заповед агитационни материали.doc 50 Изтегли документ с име "Заповед агитационни материали.doc"
Заповед предизборни прояви на открито.doc 69 Изтегли документ с име "Заповед предизборни прояви на открито.doc"
Покана консултации СИК.doc 78 Изтегли документ с име "Покана консултации СИК.doc"
Списък резерви СИК бланка.xls 69 Изтегли документ с име "Списък резерви СИК бланка.xls"
Предложение за СИК бланка.xls 85 Изтегли документ с име "Предложение за СИК бланка.xls"
fspns_11-36-00 (1).txt 73 Изтегли документ с име "fspns_11-36-00 (1).txt"
Заповед избирателни списъци.doc 78 Изтегли документ с име "Заповед избирателни списъци.doc"
Приложение № 16-НС-Заявление за отстраняване непълноти и грешки чл. 43, ал. 1.doc 57 Изтегли документ с име "Приложение № 16-НС-Заявление за отстраняване непълноти и грешки чл. 43, ал. 1.doc"
Приложение № 20-НС-заявление за гласуване по настоящ адрес-чл. 36.doc 110 Изтегли документ с име "Приложение № 20-НС-заявление за гласуване по настоящ адрес-чл. 36.doc"
Приложение № 24 НС-Заявление за гласуване на друго място-чл 34 ал. 1, 2 и 3.doc 74 Изтегли документ с име "Приложение № 24 НС-Заявление за гласуване на друго място-чл 34 ал. 1, 2 и 3.doc"
Приложение № 62-НС-Заявление за гласуване с подвижна избирателна кутия.doc 71 Изтегли документ с име "Приложение № 62-НС-Заявление за гласуване с подвижна избирателна кутия.doc"
Заповед_СИК.doc 113 Изтегли документ с име "Заповед_СИК.doc"