BT Öğretmeni Logo
BT ÖğretmeniBilişim Teknolojileri ve Yazılım
Ana Sayfa
Dersler
Sınavlar
Oyunlar
Etkinlikler
Uygulamalar
Sözlük
Ara
5. Sınıf
6. Sınıf
Robotik Kodlama
BT Öğretmeni Logo
BT ÖğretmeniBilişim Teknolojileri ve Yazılım
ANA SAYFATema 1Bilişim Teknolojilerinin Hayatımızdaki Yeri: Bilgisayar Sistemlerinin Kullanımı
Bilişim Teknolojilerinin Hayatımızdaki Yeri: Bilgisayar Sistemlerinin Kullanımı
5. Sınıf > Tema 1

Bilişim Teknolojilerinin Hayatımızdaki Yeri: Bilgisayar Sistemlerinin Kullanımı

YAZARGÖKHAN BAYAR
TARİH18.10.2026
0
1 dk • 11 kelime

[interactive title="1. TEMA: Bilişim Teknolojilerinin Hayatımızdaki Yeri: Bilgisayar Sistemlerinin Kullanımı" code="PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InRyIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+QlRZLjUuMS41IHwgMS4gVEVNQTogQmlsacWfaW0gVGVrbm9sb2ppbGVyaW5pbiBIYXlhdMSxbcSxemRha2kgWWVyaTogQmlsZ2lzYXlhciBTaXN0ZW1sZXJpbmluIEt1bGxhbsSxbcSxPC90aXRsZT4KPHN0eWxlPgo6cm9vdHstLWJnOiNmOGZhZmM7LS1wYW5lbDojZmZmZmZmOy0tcGFuZWwyOiNmMWY1Zjk7LS10ZXh0OiMxZTI5M2I7LS1tdXRlZDojNjQ3NDhiOy0tcHJpbWFyeTojNGY0NmU1Oy0tcHJpbWFyeS1ob3ZlcjojNDMzOGNhOy0tcHJpbWFyeS1saWdodDojZWVmMmZmOy0tcHJpbWFyeS1ib3JkZXI6I2M3ZDJmZTstLXB1cnBsZTojN2MzYWVkOy0tdGVhbDojMTRiOGE2Oy0tb3JhbmdlOiNmOTczMTY7LS15ZWxsb3c6I2Y1OWUwYjstLWdyZWVuOiMxMGI5ODE7LS1yZWQ6I2VmNDQ0NDstLWxpbmU6I2UyZThmMH0KKntib3gtc2l6aW5nOmJvcmRlci1ib3h9aHRtbHtzY3JvbGwtYmVoYXZpb3I6c21vb3RofQpib2R5e21hcmdpbjowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZjhmYWZjIDAlLCNmMWY1ZjkgMTAwJSk7Zm9udC1mYW1pbHk6J051bml0bycsSW50ZXIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwiU2Vnb2UgVUkiLFJvYm90byxzYW5zLXNlcmlmO2NvbG9yOnZhcigtLXRleHQpO2xpbmUtaGVpZ2h0OjEuNTV9CmJ1dHRvbntmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9CmJ1dHRvbjpmb2N1cy12aXNpYmxlLFt0YWJpbmRleF06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtvdXRsaW5lLW9mZnNldDozcHh9Ci53cmFwe21heC13aWR0aDoxMTgwcHg7bWFyZ2luOmF1dG87cGFkZGluZzoyMnB4fQoudG9wYmFye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjE2cHg7ZmxleC13cmFwOndyYXA7cGFkZGluZzoxNHB4IDIwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtiYWNrZ3JvdW5kOiNmZmZmZmZmYTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtib3JkZXItcmFkaXVzOjIwcHg7cG9zaXRpb246c3RpY2t5O3RvcDoxMHB4O3otaW5kZXg6NTtib3gtc2hhZG93OjAgNHB4IDIwcHggcmdiYSg3OSw3MCwyMjksMC4wNSl9Ci5icmFuZHtkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6Y2VudGVyfQouYnJhbmQtaWNvbnt3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2JvcmRlci1yYWRpdXM6MTRweDtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1wcmltYXJ5KSx2YXIoLS1wdXJwbGUpKTtjb2xvcjojZmZmZmZmO2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjkwMDtib3gtc2hhZG93OjAgNHB4IDEycHggcmdiYSg3OSw3MCwyMjksMC4yNSl9Ci5icmFuZCBzdHJvbmd7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTVweDtjb2xvcjp2YXIoLS10ZXh0KTtmb250LXdlaWdodDo4MDB9Ci5icmFuZCBzbWFsbHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC13ZWlnaHQ6NjAwfQoucHJvZ3Jlc3MtYXJlYXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21pbi13aWR0aDoyMTBweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZsZXgtd3JhcDp3cmFwfQouYnQtYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCAxNHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmZWYzYzcsI2ZlZjA4YSk7Y29sb3I6IzkyNDAwZTtib3JkZXI6MS41cHggc29saWQgI2ZkZTA0Nztmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjEycHg7Ym94LXNoYWRvdzowIDJweCA4cHggcmdiYSgyNDUsMTU4LDExLDAuMil9Ci5idC10b2FzdHtwb3NpdGlvbjpmaXhlZDt0b3A6MjBweDtyaWdodDoyMHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMTBiOTgxLCMwNTk2NjkpO2NvbG9yOiNmZmZmZmY7cGFkZGluZzoxMnB4IDIwcHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MTRweDtib3gtc2hhZG93OjAgMTBweCAyNXB4IHJnYmEoMTYsMTg1LDEyOSwwLjM1KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjBweCkgc2NhbGUoMC45KTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOmFsbCAuMzVzIGN1YmljLWJlemllcigwLjE2LDEsMC4zLDEpO3otaW5kZXg6OTk5OTl9Ci5idC10b2FzdC5zaG93e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO29wYWNpdHk6MX0KLnByb2dyZXNze3dpZHRoOjExMHB4O2hlaWdodDo4cHg7YmFja2dyb3VuZDp2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjk5cHg7b3ZlcmZsb3c6aGlkZGVufQoucHJvZ3Jlc3Mgc3BhbntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tcHJpbWFyeSksdmFyKC0tcHVycGxlKSk7dHJhbnNpdGlvbjp3aWR0aCAuM3N9Ci5oZXJve3BhZGRpbmc6NDRweCA4cHggMjhweDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuM2ZyIC43ZnI7Z2FwOjI4cHg7YWxpZ24taXRlbXM6Y2VudGVyfQouZXllYnJvd3tjb2xvcjp2YXIoLS1wcmltYXJ5KTtmb250LXNpemU6MTJweDtsZXR0ZXItc3BhY2luZzouMTRlbTtmb250LXdlaWdodDo4MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQouaGVybyBoMXtmb250LXNpemU6Y2xhbXAoMzBweCw0LjV2dyw1MnB4KTtsaW5lLWhlaWdodDoxLjE1O2xldHRlci1zcGFjaW5nOi0uMDI1ZW07bWFyZ2luOjEycHggMCAxNnB4O2NvbG9yOiMxZTI5M2I7Zm9udC13ZWlnaHQ6OTAwfQouZ3JhZGllbnR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLXByaW1hcnkpLHZhcigtLXB1cnBsZSkpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7YmFja2dyb3VuZC1jbGlwOnRleHQ7Y29sb3I6dHJhbnNwYXJlbnR9Ci5oZXJvIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO21heC13aWR0aDo2NzBweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjZ9Ci5oZXJvLWFydHttaW4taGVpZ2h0OjI0MHB4O2JvcmRlci1yYWRpdXM6MjhweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsI2YwZjRmZiwjZmFmNWZmKTtib3JkZXI6MS41cHggc29saWQgI2UwZTdmZjtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KLmhlcm8tYXJ0OmJlZm9yZSwuaGVyby1hcnQ6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MXB4IHNvbGlkICNlMGU3ZmY7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MjQwcHg7aGVpZ2h0OjI0MHB4fQouY29tcHV0ZXJ7ei1pbmRleDoxO3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfQoubW9uaXRvcnt3aWR0aDoxODBweDtoZWlnaHQ6MTE4cHg7Ym9yZGVyOjVweCBzb2xpZCAjYzdkMmZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2UwZTdmZiwjZjFmNWY5KTtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO2JveC1zaGFkb3c6MCAxMHB4IDI0cHggcmdiYSg3OSw3MCwyMjksMC4wOCl9Ci5zY3JlZW4tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjdweH0KLnNjcmVlbi1ncmlkIGl7d2lkdGg6MjZweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kOnZhcigtLXByaW1hcnkpO29wYWNpdHk6Ljg1fQouc2NyZWVuLWdyaWQgaTpudGgtY2hpbGQoMm4pe2JhY2tncm91bmQ6dmFyKC0tcHVycGxlKTtvcGFjaXR5Oi44NX0KLnN0YW5ke2hlaWdodDoyMHB4O3dpZHRoOjQycHg7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgI2M3ZDJmZTttYXJnaW46YXV0b30KLmJhc2V7aGVpZ2h0OjdweDt3aWR0aDo5MHB4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6I2M3ZDJmZTttYXJnaW46YXV0b30KLmZsb2F0LXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwO2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO3BhZGRpbmc6N3B4IDEycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNoYWRvdzowIDZweCAxNnB4IHJnYmEoNzksNzAsMjI5LDAuMTIpO3BvaW50ZXItZXZlbnRzOm5vbmV9Ci50YWcxe3RvcDoxOHB4O2xlZnQ6MTRweDtjb2xvcjp2YXIoLS1wcmltYXJ5KX0KLnRhZzJ7Ym90dG9tOjE4cHg7cmlnaHQ6MTRweDtjb2xvcjp2YXIoLS1vcmFuZ2UpfQoudGFnM3t0b3A6MjBweDtyaWdodDoxNHB4O2NvbG9yOnZhcigtLXB1cnBsZSl9Ci5zZWN0aW9uLWhlYWR7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmVuZDtnYXA6MTZweDttYXJnaW46MjZweCAwIDE0cHh9Ci5zZWN0aW9uLWhlYWQgaDJ7bWFyZ2luOjA7Zm9udC1zaXplOjI0cHg7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6ODAwfQouc2VjdGlvbi1oZWFkIHB7bWFyZ2luOjRweCAwIDA7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNHB4fQoubmF2Y2hpcHN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6NHB4IDAgMTRweH0KLmNoaXB7d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2NvbG9yOnZhcigtLW11dGVkKTtwYWRkaW5nOjlweCAxNXB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO3RyYW5zaXRpb246YWxsIC4xNXN9Ci5jaGlwOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KTtjb2xvcjp2YXIoLS1wcmltYXJ5KX0KLmNoaXAuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeSk7Y29sb3I6I2ZmZmZmZjtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSk7Zm9udC13ZWlnaHQ6ODAwO2JveC1zaGFkb3c6MCAzcHggMTBweCByZ2JhKDc5LDcwLDIyOSwwLjI1KX0KLmNhcmR7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMnB4O3BhZGRpbmc6MjRweDtib3gtc2hhZG93OjAgNHB4IDIwcHggcmdiYSg3OSw3MCwyMjksMC4wNCl9Ci5sZXNzb257bWluLWhlaWdodDozNjBweH0KLnNsaWRlLXRvcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2NvbG9yOnZhcigtLXByaW1hcnkpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjgwMH0KLnNsaWRlLXRvcCAubnVte2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDp2YXIoLS1wcmltYXJ5LWxpZ2h0KTtjb2xvcjp2YXIoLS1wcmltYXJ5KTtmb250LXdlaWdodDo5MDB9Ci5sZXNzb24gaDN7Zm9udC1zaXplOmNsYW1wKDIycHgsM3Z3LDMwcHgpO21hcmdpbjoxMnB4IDA7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6ODAwfQoubGVzc29uIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNn0KLnZpZGVvLWJveHtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MTZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO21hcmdpbjoxNnB4IDA7YmFja2dyb3VuZDojZjhmYWZjfQoudmlkZW8tYm94IGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MH0KLnNsaWRlLWltZ3ttYXJnaW46MThweCAwO2JvcmRlci1yYWRpdXM6MThweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6I2YxZjVmOTtib3gtc2hhZG93OjAgNHB4IDE2cHggcmdiYSgwLDAsMCwwLjA0KTtwb3NpdGlvbjpyZWxhdGl2ZX0KLnNsaWRlLWltZyBpbWd7d2lkdGg6MTAwJTttYXgtaGVpZ2h0OjM4MHB4O29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9jazt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZX0KLnNsaWRlLWltZzpob3ZlciBpbWd7dHJhbnNmb3JtOnNjYWxlKDEuMDE1KX0KLnNsaWRlLWltZyBmaWdjYXB0aW9ue3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0KLnBhcnQtaW1nLWJveHttYXJnaW46MTJweCAwO2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTttYXgtaGVpZ2h0OjIyMHB4fQoucGFydC1pbWctYm94IGltZ3t3aWR0aDoxMDAlO2hlaWdodDphdXRvO29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9ja30KLmxlc3Nvbi1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MThweDttYXJnaW4tdG9wOjIwcHh9Ci5pbmZvLWJveHtwYWRkaW5nOjE4cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MS41cHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHZhcigtLXByaW1hcnkpO2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsMC4wMik7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2V9Ci5pbmZvLWJveDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNnB4IDE2cHggcmdiYSg3OSw3MCwyMjksMC4wNik7YmFja2dyb3VuZDojZmZmZmZmfQouaW5mby1ib3ggaDR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6ODAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweH0KLmluZm8tYm94IHB7bWFyZ2luOjA7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTV9Ci50aXAtYm94e21hcmdpbjoxOHB4IDA7cGFkZGluZzoxNnB4IDIwcHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZWVmMmZmLCNmNWYzZmYpO2JvcmRlcjoxLjVweCBzb2xpZCAjYzdkMmZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMnB4O2JveC1zaGFkb3c6MCAycHggOHB4IHJnYmEoNzksNzAsMjI5LDAuMDUpfQoudGlwLWJveCAudGlwLWljb257Zm9udC1zaXplOjI0cHg7bGluZS1oZWlnaHQ6MTtmbGV4LXNocmluazowfQoudGlwLWJveCBzdHJvbmd7Y29sb3I6dmFyKC0tcHJpbWFyeSk7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjRweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo4MDB9Ci50aXAtYm94IHB7bWFyZ2luOjA7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MS41NX0KLnBpbGx7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjVweCAxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDp2YXIoLS1wcmltYXJ5LWxpZ2h0KTtjb2xvcjp2YXIoLS1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXByaW1hcnktYm9yZGVyKTtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo4MDA7bGV0dGVyLXNwYWNpbmc6LjA0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQouc2xpZGUtY29udHJvbHN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjIycHg7Z2FwOjEycHh9Ci5idG57cGFkZGluZzoxMXB4IDE4cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtd2VpZ2h0OjgwMDtmb250LXNpemU6MTRweDt0cmFuc2l0aW9uOmFsbCAuMTVzO2N1cnNvcjpwb2ludGVyfQouYnRuOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpfQouYnRuLnByaW1hcnksLnByaW1hcnl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLXByaW1hcnkpLCM2MzY2ZjEpO2NvbG9yOiNmZmZmZmYhaW1wb3J0YW50O2JveC1zaGFkb3c6MCA0cHggMTRweCByZ2JhKDc5LDcwLDIyOSwwLjI1KX0KLmJ0bi5zZWNvbmRhcnksLnNlY29uZGFyeXtiYWNrZ3JvdW5kOiNmZmZmZmY7Y29sb3I6IzMzNDE1NTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tbGluZSl9Ci5idG4uc2Vjb25kYXJ5OmhvdmVyLC5zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZDojZjhmYWZjO2JvcmRlci1jb2xvcjojY2JkNWUxfQouYnRuLnNtYWxsLC5zbWFsbHtwYWRkaW5nOjhweCAxNHB4O2ZvbnQtc2l6ZToxM3B4fQoucGFydHMtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjE0cHh9Ci5wYXJ0e2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MS41cHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MTdweDt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6dmFyKC0tdGV4dCk7dHJhbnNpdGlvbjphbGwgLjE4czttaW4taGVpZ2h0OjE0MHB4O2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsMC4wMik7Y3Vyc29yOnBvaW50ZXJ9Ci5wYXJ0OmhvdmVyLC5wYXJ0LnNlbGVjdGVke2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtiYWNrZ3JvdW5kOiNmOGZhZmY7Ym94LXNoYWRvdzowIDZweCAxOHB4IHJnYmEoNzksNzAsMjI5LDAuMDgpfQoucGFydCAuZW1vaml7Zm9udC1zaXplOjI5cHg7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjhweH0KLnBhcnQgc3Ryb25ne2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6ODAwfQoucGFydCBzbWFsbHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC13ZWlnaHQ6NjAwfQouZGV0YWlsLXBhbmVse21hcmdpbi10b3A6MTRweDtwYWRkaW5nOjE4cHg7YmFja2dyb3VuZDojZjhmYWZjO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItbGVmdDo0cHggc29saWQgdmFyKC0tdGVhbCk7Ym9yZGVyLXJhZGl1czoxNnB4O21pbi1oZWlnaHQ6ODBweDtjb2xvcjp2YXIoLS1tdXRlZCk7bGluZS1oZWlnaHQ6MS42fQouZGV0YWlsLXBhbmVsIHN0cm9uZ3tjb2xvcjp2YXIoLS10ZXh0KTtmb250LXdlaWdodDo4MDB9Ci5hY3Rpdml0eS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MThweH0KLmFjdGl2aXR5IGgze21hcmdpbjowIDAgOHB4O2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtd2VpZ2h0OjgwMH0KLmFjdGl2aXR5IHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNHB4fQoucXVlc3Rpb257cGFkZGluZzoxNnB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSl9Ci5xdWVzdGlvbjpmaXJzdC1vZi10eXBle2JvcmRlci10b3A6MH0KLnF1ZXN0aW9uIHN0cm9uZ3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MTJweDtjb2xvcjp2YXIoLS10ZXh0KTtmb250LXdlaWdodDo3MDB9Ci5vcHRpb25ze2Rpc3BsYXk6Z3JpZDtnYXA6OHB4fQoub3B0aW9ue3BhZGRpbmc6MTJweCAxNHB4O3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1saW5lKTtjb2xvcjp2YXIoLS10ZXh0KTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE0cHg7dHJhbnNpdGlvbjphbGwgLjE1cztjdXJzb3I6cG9pbnRlcn0KLm9wdGlvbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSk7YmFja2dyb3VuZDojZjhmYWZmO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCl9Ci5vcHRpb24uY29ycmVjdHtib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4pO2JhY2tncm91bmQ6I2VjZmRmNTtjb2xvcjojMDY1ZjQ2O2ZvbnQtd2VpZ2h0OjcwMH0KLm9wdGlvbi53cm9uZ3tib3JkZXItY29sb3I6dmFyKC0tcmVkKTtiYWNrZ3JvdW5kOiNmZWYyZjI7Y29sb3I6Izk5MWIxYjtmb250LXdlaWdodDo3MDB9Ci5mZWVkYmFja3tmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjhweDtjb2xvcjp2YXIoLS1tdXRlZCk7bWluLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjYwMH0KLm1hdGNoLWxpc3R7ZGlzcGxheTpncmlkO2dhcDoxMHB4fQoubWF0Y2gtcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDEuMmZyO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcn0KLm1hdGNoLXJvdyBzcGFue2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtd2VpZ2h0OjYwMH0KLm1hdGNoLXJvdyBzZWxlY3R7d2lkdGg6MTAwJTtwYWRkaW5nOjExcHggMTNweDtiYWNrZ3JvdW5kOiNmZmZmZmY7Y29sb3I6dmFyKC0tdGV4dCk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTJweDtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEzcHg7b3V0bGluZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXN9Ci5tYXRjaC1yb3cgc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KX0KLnNjb3JlbGluZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6MTZweDtwYWRkaW5nOjE0cHggMThweDtib3JkZXItcmFkaXVzOjE0cHg7YmFja2dyb3VuZDojZjhmYWZjO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC13ZWlnaHQ6NjAwfQouc2NvcmV7Zm9udC13ZWlnaHQ6OTAwO2NvbG9yOnZhcigtLXllbGxvdyk7Zm9udC1zaXplOjE3cHh9Ci5jYXNlLW9wdGlvbnN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxMHB4fQouY2FzZS1vcHRpb25zIGJ1dHRvbntiYWNrZ3JvdW5kOiNmZmZmZmY7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWxpbmUpO2NvbG9yOnZhcigtLXRleHQpO3BhZGRpbmc6MTRweDtib3JkZXItcmFkaXVzOjE0cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246bGVmdDt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMDMpO2N1cnNvcjpwb2ludGVyfQouY2FzZS1vcHRpb25zIGJ1dHRvbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSk7YmFja2dyb3VuZDojZjhmYWZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA0cHggMTJweCByZ2JhKDc5LDcwLDIyOSwwLjA4KX0KLmNhc2Utb3B0aW9ucyBidXR0b24uY2hvc2Vue2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2VlZjJmZiwjZjVmM2ZmKTtjb2xvcjp2YXIoLS1wcmltYXJ5KTtmb250LXdlaWdodDo4MDA7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSg3OSw3MCwyMjksMC4yNSl9Ci5jYXNlLXJlc3VsdHttYXJnaW4tdG9wOjE0cHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMH0KLnN1bW1hcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4fQouc3VtbWFyeSBkaXZ7cGFkZGluZzoxOHB4O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kOiNmZmZmZmY7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWxpbmUpO2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsMC4wMil9Ci5zdW1tYXJ5IGJ7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTZweDttYXJnaW4tYm90dG9tOjZweDtjb2xvcjp2YXIoLS1wcmltYXJ5KTtmb250LXdlaWdodDo4MDB9Ci5zdW1tYXJ5IHNwYW57Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNX0KLmZvb3Rlcnt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHg7cGFkZGluZzozNnB4IDAgMThweDtmb250LXdlaWdodDo2MDB9CgovKiBZZW5pIE5lc2lsIEthcnQgU3RpbGxlcmkgKi8KLyogMS4gU8SxcmFsYW1hICYgQWxnb3JpdG1hICovCi5yZW9yZGVyLWxpc3R7ZGlzcGxheTpncmlkO2dhcDoxMHB4fQoucmVvcmRlci1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE2cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MS41cHggc29saWQgdmFyKC0tbGluZSk7Ym94LXNoYWRvdzowIDFweCAzcHggcmdiYSgwLDAsMCwwLjAyKTt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZX0KLnJlb3JkZXItaXRlbS5jb3JyZWN0e2JvcmRlci1jb2xvcjp2YXIoLS1ncmVlbik7YmFja2dyb3VuZDojZWNmZGY1fQoucmVvcmRlci1pdGVtLndyb25ne2JvcmRlci1jb2xvcjp2YXIoLS1yZWQpO2JhY2tncm91bmQ6I2ZlZjJmMn0KLnJlb3JkZXItdGV4dHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10ZXh0KX0KLm9yZGVyLWJhZGdle2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnZhcigtLXByaW1hcnktbGlnaHQpO2NvbG9yOnZhcigtLXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MTNweDtmbGV4LXNocmluazowfQoucmVvcmRlci1idG5ze2Rpc3BsYXk6ZmxleDtnYXA6NHB4fQoucmVvcmRlci1idG57d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6I2Y4ZmFmYztkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjkwMDtjb2xvcjp2YXIoLS1tdXRlZCk7dHJhbnNpdGlvbjphbGwgLjE1c30KLnJlb3JkZXItYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeS1saWdodCk7Y29sb3I6dmFyKC0tcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnktYm9yZGVyKX0KCi8qIDIuIFPEsW7EsWZsYW5kxLFybWEgLyBTZXBldGUgQXRtYSAqLwouYnVja2V0LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDIyMHB4LDFmcikpO2dhcDoxNHB4O21hcmdpbi1ib3R0b206MTZweH0KLmJ1Y2tldC16b25le2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MnB4IGRhc2hlZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjE4cHg7cGFkZGluZzoxNnB4O21pbi1oZWlnaHQ6MTUwcHg7dHJhbnNpdGlvbjphbGwgLjJzO2N1cnNvcjpwb2ludGVyfQouYnVja2V0LXpvbmUuYWN0aXZlLXRhcmdldHtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSk7YmFja2dyb3VuZDojZjBmNGZmfQouYnVja2V0LXpvbmUgaDR7bWFyZ2luOjAgMCAxMHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjgwMDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9Ci5idWNrZXQtaXRlbXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHh9Ci5idWNrZXQtcG9vbHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjEwcHg7cGFkZGluZzoxNHB4O2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6MS41cHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxNnB4O21pbi1oZWlnaHQ6NjRweDttYXJnaW4tYm90dG9tOjE0cHh9Ci5idWNrZXQtY2hpcHtwYWRkaW5nOjhweCAxNHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZmZmY7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWxpbmUpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Ym94LXNoYWRvdzowIDFweCAzcHggcmdiYSgwLDAsMCwwLjAzKX0KLmJ1Y2tldC1jaGlwOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0KLmJ1Y2tldC1jaGlwLnNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeSk7Y29sb3I6I2ZmZmZmZjtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSk7Ym94LXNoYWRvdzowIDRweCAxMnB4IHJnYmEoNzksNzAsMjI5LDAuMjUpfQoKLyogMy4gSGF0YSBBecSxa2xhbWEgLyBLdXN1cnUgQnVsICovCi5idWctY29udGFpbmVye2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkICMzMzQxNTU7YmFja2dyb3VuZDojMGYxNzJhO2NvbG9yOiNmOGZhZmM7bWFyZ2luLWJvdHRvbToxNHB4fQouYnVnLWhlYWRlcntwYWRkaW5nOjEwcHggMTZweDtiYWNrZ3JvdW5kOiMxZTI5M2I7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzNDE1NTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6Izk0YTNiODtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHh9Ci5idWctbGluZXN7cGFkZGluZzoxMHB4IDB9Ci5idWctbGluZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNHB4O3BhZGRpbmc6OHB4IDE2cHg7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxtb25vc3BhY2U7Zm9udC1zaXplOjEzLjVweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO2JvcmRlci1sZWZ0OjNweCBzb2xpZCB0cmFuc3BhcmVudH0KLmJ1Zy1saW5lOmhvdmVye2JhY2tncm91bmQ6IzFlMjkzYjtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS15ZWxsb3cpfQouYnVnLWxpbmUuc2VsZWN0ZWQtd3Jvbmd7YmFja2dyb3VuZDojNDUwYTBhO2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLXJlZCk7Y29sb3I6I2ZjYTVhNX0KLmJ1Zy1saW5lLnNlbGVjdGVkLWNvcnJlY3R7YmFja2dyb3VuZDojMDY0ZTNiO2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWdyZWVuKTtjb2xvcjojNmVlN2I3O2ZvbnQtd2VpZ2h0OmJvbGR9Ci5idWctbGluZSAubGluZS1udW17Y29sb3I6IzY0NzQ4Yjt3aWR0aDoyNHB4O3RleHQtYWxpZ246cmlnaHQ7dXNlci1zZWxlY3Q6bm9uZX0KCi8qIDQuIEtlbGltZSBIYXZ1emx1IEJvxZ9sdWsgRG9sZHVybWEgKi8KLmNsb3plLXBhc3NhZ2V7Zm9udC1zaXplOjE1LjVweDtsaW5lLWhlaWdodDoyLjI7YmFja2dyb3VuZDojZmZmZmZmO3BhZGRpbmc6MjBweDtib3JkZXItcmFkaXVzOjE2cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWxpbmUpO21hcmdpbi1ib3R0b206MTZweDtjb2xvcjp2YXIoLS10ZXh0KX0KLmNsb3plLXNsb3R7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6OTBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgMTJweDttYXJnaW46MCA0cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoycHggZGFzaGVkIHZhcigtLXByaW1hcnkpO2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeS1saWdodCk7Y29sb3I6dmFyKC0tcHJpbWFyeSk7Zm9udC13ZWlnaHQ6ODAwO2ZvbnQtc2l6ZToxM3B4O2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0cmFuc2l0aW9uOmFsbCAuMTVzfQouY2xvemUtc2xvdC5maWxsZWR7Ym9yZGVyLXN0eWxlOnNvbGlkO2JhY2tncm91bmQ6dmFyKC0tcHJpbWFyeSk7Y29sb3I6I2ZmZmZmZn0KLmNsb3plLXNsb3QuY29ycmVjdHtib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4pO2JhY2tncm91bmQ6I2VjZmRmNTtjb2xvcjojMDY1ZjQ2fQouY2xvemUtc2xvdC53cm9uZ3tib3JkZXItY29sb3I6dmFyKC0tcmVkKTtiYWNrZ3JvdW5kOiNmZWYyZjI7Y29sb3I6Izk5MWIxYn0KLmNsb3plLWJhbmt7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHg7cGFkZGluZzoxNHB4O2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTRweH0KLmNsb3plLXdvcmR7cGFkZGluZzo3cHggMTNweDtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDojZmZmZmZmO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1saW5lKTtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dCk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjE1c30KLmNsb3plLXdvcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfQouY2xvemUtd29yZC51c2Vke29wYWNpdHk6MC4zNTtwb2ludGVyLWV2ZW50czpub25lfQoKLyogQWvEsWxsxLEgVGFodGEgw4dpemltIC8gTGF6ZXIgS2F0bWFuxLEgKi8KI2JvYXJkQ2FudmFze3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDB2dztoZWlnaHQ6MTAwdmg7ei1pbmRleDo5OTk5OTg7cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6Y3Jvc3NoYWlyfQojYm9hcmRDYW52YXMuZHJhd2luZy1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30KLmJvYXJkLXRvb2xiYXJ7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjIwcHg7cmlnaHQ6MjBweDt6LWluZGV4Ojk5OTk5OTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo2cHggMTBweDtiYWNrZ3JvdW5kOiNmZmZmZmZmYTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxNnB4O2JveC1zaGFkb3c6MCA4cHggMzBweCByZ2JhKDAsMCwwLDAuMTIpfQouYm9hcmQtdG9vbC1idG57cGFkZGluZzo2cHggMTFweDtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7YmFja2dyb3VuZDojZmZmZmZmO2NvbG9yOnZhcigtLXRleHQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4xNXM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4fQouYm9hcmQtdG9vbC1idG46aG92ZXIsLmJvYXJkLXRvb2wtYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLXByaW1hcnkpO2NvbG9yOiNmZmZmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpfQoKQG1lZGlhKG1heC13aWR0aDo4MDBweCl7Lmhlcm97Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtwYWRkaW5nLXRvcDozMnB4fS5oZXJvLWFydHttaW4taGVpZ2h0OjIyMHB4fS5wYXJ0cy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5hY3Rpdml0eS1ncmlkLC5sZXNzb24tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5zdW1tYXJ5e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LnRvcGJhcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MH0ucHJvZ3Jlc3MtYXJlYXt3aWR0aDoxMDAlO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5wcm9ncmVzc3tmbGV4OjE7bWF4LXdpZHRoOjIyMHB4fX0KQG1lZGlhKG1heC13aWR0aDo0ODBweCl7LndyYXB7cGFkZGluZzoxMnB4fS5jYXJke3BhZGRpbmc6MTdweH0uaGVybyBoMXtmb250LXNpemU6MzVweH0ucGFydHMtZ3JpZHtnYXA6OHB4fS5wYXJ0e3BhZGRpbmc6MTNweH0uY2FzZS1vcHRpb25ze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmJyYW5kIHNtYWxse2ZvbnQtc2l6ZToxMXB4fX0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPGRpdiBpZD0iYnRUb2FzdCIgY2xhc3M9ImJ0LXRvYXN0Ij4rIDAgQlQgUHVhbsSxIEthemFuZMSxbiEg8J+OiTwvZGl2Pgo8ZGl2IGNsYXNzPSJ3cmFwIj4KPHNlY3Rpb24gY2xhc3M9Imhlcm8iPgogIDxkaXY+PGRpdiBjbGFzcz0iZXllYnJvdyI+w5bEn3Jlbiwga2XFn2ZldCwgdXlndWxhPC9kaXY+PGgxPjEuIFRFTUE6IEJpbGnFn2ltIFRla25vbG9qaWxlcmluaW4gSGF5YXTEsW3EsXpkYWtpIFllcmk6IEJpbGdpc2F5YXIgU2lzdGVtbGVyaW5pbiBLdWxsYW7EsW3EsTwvaDE+PHA+QmlsZ2lzYXlhciBzYWRlY2UgYmlyIGVrcmFuIHZlIGtsYXZ5ZWRlbiBpYmFyZXQgZGXEn2lsZGlyISDEsMOnZXJpc2luZGUgaGFyaWthIGJpciB1eXVtbGEgw6dhbMSxxZ9hbiBtaW5payBmYWJyaWthbGFyLCBzw7xwZXIgaMSxemzEsSB5b2xsYXIgdmUgZGV2YXNhIGRlcG9sYXIgYmFyxLFuZMSxcsSxci4gQnUgZGVyc3RlIGJpciBiaWxnaXNheWFyIHNpc3RlbWluaSBvbHXFn3R1cmFuIHRlbWVsIHBhcsOnYWxhcsSxIMOnw7Z6w7xtbGV5ZWNlaywgZG9uYW7EsW0gdmUgeWF6xLFsxLFtxLFuIG11aHRlxZ9lbSBpxZ8gYmlybGnEn2luaSBrZcWfZmVkZWNlxJ9pei48L3A+PGJ1dHRvbiBjbGFzcz0iYnRuIHByaW1hcnkiIG9uY2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrb251Jykuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnfSkiPkRlcnNlIGJhxZ9sYSA8c3Bhbj7ihpI8L3NwYW4+PC9idXR0b24+PC9kaXY+CiAgPGRpdiBjbGFzcz0iaGVyby1hcnQiIGFyaWEtbGFiZWw9IkRlcnMgaWxsw7xzdHJhc3lvbnUiPgogICAgPHNwYW4gY2xhc3M9ImZsb2F0LXRhZyB0YWcxIj5ET05BTklNPC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImZsb2F0LXRhZyB0YWcyIj5ZQVpJTElNPC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImZsb2F0LXRhZyB0YWczIj5TxLBTVEVNIMOHw5Zaw5xNTEVNRTwvc3Bhbj4KICAgIDxkaXYgY2xhc3M9ImNvbXB1dGVyIj48ZGl2IGNsYXNzPSJtb25pdG9yIj48ZGl2IGNsYXNzPSJzY3JlZW4tZ3JpZCI+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjxpPjwvaT48aT48L2k+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic3RhbmQiPjwvZGl2PjxkaXYgY2xhc3M9ImJhc2UiPjwvZGl2PjwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCIgaWQ9ImtvbnUiPjxkaXY+PGgyPvCfk5ogS29udSBhbmxhdMSxbcSxPC9oMj48cD5TbGF5dGxhcsSxIHPEsXJheWxhIGluY2VsZS4gSGVyIHNsYXl0dGEgw7ZuZW1saSBrYXZyYW1sYXIgdmUgw7ZybmVrbGVyIHZhci48L3A+PC9kaXY+PHNwYW4gY2xhc3M9InBpbGwiPjUgc2xheXQ8L3NwYW4+PC9kaXY+CjxkaXYgY2xhc3M9Im5hdmNoaXBzIiBpZD0ic2xpZGVOYXYiPgogIDxidXR0b24gY2xhc3M9ImNoaXAgYWN0aXZlIiBvbmNsaWNrPSJnb1NsaWRlKDApIj4xLiDwn5al77iPIFNpc3RlbSBOZWRpcj88L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJjaGlwICIgb25jbGljaz0iZ29TbGlkZSgxKSI+Mi4g8J+noCBCaWxnaXNheWFyxLFuIEJleW5pPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iY2hpcCAiIG9uY2xpY2s9ImdvU2xpZGUoMikiPjMuIPCfkr4gQmVsbGVrIFTDvHJsZXJpPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iY2hpcCAiIG9uY2xpY2s9ImdvU2xpZGUoMykiPjQuIPCflIwgR2lyacWfIHZlIMOHxLFrxLHFnzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImNoaXAgIiBvbmNsaWNrPSJnb1NsaWRlKDQpIj41LiDimpnvuI8gWWF6xLFsxLFtIETDvG55YXPEsTwvYnV0dG9uPgo8L2Rpdj4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgbGVzc29uIiBhcmlhLWxpdmU9InBvbGl0ZSI+CiAgPGRpdiBjbGFzcz0ic2xpZGUtdG9wIj48c3BhbiBjbGFzcz0ibnVtIiBpZD0ic2xpZGVOdW0iPjAxPC9zcGFuPjxzcGFuIGlkPSJzbGlkZUtpY2tlciI+8J+Pt++4jyBURU1FTCBCxLBMRcWeRU5MRVI8L3NwYW4+PC9kaXY+CiAgPGgzIGlkPSJzbGlkZVRpdGxlIj7wn6epIEJpbGdpc2F5YXIgU2lzdGVtaTogRG9uYW7EsW0gdmUgWWF6xLFsxLFtxLFuIFV5dW11PC9oMz4KICA8ZGl2IGlkPSJzbGlkZUJvZHkiPjxmaWd1cmUgY2xhc3M9InNsaWRlLWltZyI+PGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTE4NzcwNjYwNDM5LTQ2MzYxOTBhZjQ3NT9hdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTEyMDAmcT04MCIgYWx0PSLwn6epIEJpbGdpc2F5YXIgU2lzdGVtaTogRG9uYW7EsW0gdmUgWWF6xLFsxLFtxLFuIFV5dW11IiBsb2FkaW5nPSJsYXp5IiAvPjxmaWdjYXB0aW9uPvCfk7cgQmlsZ2lzYXlhciBkb25hbsSxbSB2ZSB5YXrEsWzEsW0gYmlyaW1sZXJpbmluIG9ydGFrIMOnYWzEscWfbWEgbWltYXJpc2k8L2ZpZ2NhcHRpb24+PC9maWd1cmU+PHA+QmlyIGJpbGdpc2F5YXIgc2lzdGVtaSwgaGVkZWZsZW5lbiBnw7ZyZXZsZXJpIHllcmluZSBnZXRpcmViaWxtZWsgacOnaW4gYmlyIGFyYWRhIMOnYWzEscWfYW4gZml6aWtzZWwgcGFyw6dhbGFyIHZlIGJ1IHBhcsOnYWxhcmEgbmUgeWFwYWNhxJ/EsW7EsSBzw7Z5bGV5ZW4ga29tdXRsYXIgYsO8dMO8bsO8ZMO8ci4gQmlsZ2lzYXlhcsSxIHTEsXBrxLEgYmlyIGluc2FuYSBiZW56ZXRlYmlsaXJpejogRml6aWtzZWwgYmVkZW5pbWl6IGRvbmFuxLFtLCBkw7zFn8O8bmNlbGVyaW1peiB2ZSBiaWxnaWxlcmltaXogaXNlIHlhesSxbMSxbWTEsXIuPC9wPjxwPkRvbmFuxLFtIChoYXJkd2FyZSksIGJpbGdpc2F5YXJhIGRva3VuZHXEn3VtdXpkYSBoaXNzZXR0acSfaW1peiB0w7xtIG1la2FuaWsgdmUgZWxla3Ryb25payBwYXLDp2FsYXJkxLFyLiBZYXrEsWzEsW0gKHNvZnR3YXJlKSBpc2UgYnUgcGFyw6dhbGFyxLFuIMOnYWzEscWfbWFzxLFuxLEgc2HEn2xheWFuLCBla3JhbmRhIGfDtnJkw7zEn8O8bcO8eiBwcm9ncmFtbGFyIHZlIG95dW5sYXJkxLFyLiBCaXJpIG9sbWFkYW4gZGnEn2VyaSBoacOnYmlyIGnFn2UgeWFyYW1hei48L3A+PGRpdiBjbGFzcz0ibGVzc29uLWdyaWQiPjxkaXYgY2xhc3M9ImluZm8tYm94Ij48aDQ+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxOHB4Ij7wn5K7PC9zcGFuPiBTb211dCBEb25hbsSxbTwvaDQ+PHA+R8O2emxlIGfDtnJlYmlsZGnEn2ltaXosIGVsaW1pemxlIHR1dGFiaWxkacSfaW1peiBla3JhbiwgZmFyZSwga2xhdnllIHZlIGthc2EgacOnaSBkZXZyZWxlcmRpci48L3A+PC9kaXY+PGRpdiBjbGFzcz0iaW5mby1ib3giPjxoND48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE4cHgiPvCfkr88L3NwYW4+IFNveXV0IFlhesSxbMSxbTwvaDQ+PHA+QmlsZ2lzYXlhcsSxbiBuZXlpLCBuZSB6YW1hbiB2ZSBuYXPEsWwgeWFwYWNhxJ/EsW7EsSBiZWxpcmxleWVuIGtvZGxhbm3EscWfIGtvbXV0IGxpc3RlbGVyaWRpci48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idGlwLWJveCI+PHNwYW4gY2xhc3M9InRpcC1pY29uIj7wn5KhPC9zcGFuPjxkaXY+PHN0cm9uZz5Hw7xuw7xuIMSwcHVjdTwvc3Ryb25nPjxwPllhesSxbMSxbSBvbG1hZGFuIGVuIHBhaGFsxLEgYmlsZ2lzYXlhciBiaWxlIHlhbG7EsXpjYSDDp2FsxLHFn21heWFuIGJpciBtZXRhbCB2ZSBwbGFzdGlrIHnEscSfxLFuxLFkxLFyITwvcD48L2Rpdj48L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZS1jb250cm9scyI+PGJ1dHRvbiBjbGFzcz0iYnRuIHNlY29uZGFyeSIgaWQ9InByZXZCdG4iIG9uY2xpY2s9ImNoYW5nZVNsaWRlKC0xKSI+4oaQIMOWbmNla2k8L2J1dHRvbj48c3BhbiBpZD0ic2xpZGVDb3VudCIgc3R5bGU9ImNvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweCI+MSAvIDU8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYnRuIHByaW1hcnkiIGlkPSJuZXh0QnRuIiBvbmNsaWNrPSJjaGFuZ2VTbGlkZSgxKSI+U29ucmFraSDihpI8L2J1dHRvbj48L2Rpdj4KPC9zZWN0aW9uPgoKPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkIj48ZGl2PjxoMj7wn6epIEV0a2lubGlrIDE6IEthdnJhbWxhcsSxIGtlxZ9mZXQ8L2gyPjxwPkJpbGXFn2VubGVyZGVuIGJpcmluZSBkb2t1biB2ZSBnw7ZyZXZpbmkgw7bEn3Jlbi48L3A+PC9kaXY+PC9kaXY+CjxzZWN0aW9uIGNsYXNzPSJjYXJkIj4KIDxkaXYgY2xhc3M9InBhcnRzLWdyaWQiIGlkPSJwYXJ0c0dyaWQiPgogICA8YnV0dG9uIGNsYXNzPSJwYXJ0IHNlbGVjdGVkIiBvbmNsaWNrPSJzaG93UGFydCgwKSI+PHNwYW4gY2xhc3M9ImVtb2ppIj7wn6egPC9zcGFuPjxzdHJvbmc+xLDFn2xlbWNpIChDUFUpPC9zdHJvbmc+PHNtYWxsPsSww6cgRG9uYW7EsW08L3NtYWxsPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InBhcnQgIiBvbmNsaWNrPSJzaG93UGFydCgxKSI+PHNwYW4gY2xhc3M9ImVtb2ppIj7imqE8L3NwYW4+PHN0cm9uZz5SQU0gKEdlw6dpY2kgQmVsbGVrKTwvc3Ryb25nPjxzbWFsbD7EsMOnIERvbmFuxLFtIC8gQmVsbGVrPC9zbWFsbD48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJwYXJ0ICIgb25jbGljaz0ic2hvd1BhcnQoMikiPjxzcGFuIGNsYXNzPSJlbW9qaSI+8J+XhO+4jzwvc3Bhbj48c3Ryb25nPlNhYml0IERpc2sgLyBTU0Q8L3N0cm9uZz48c21hbGw+RGVwb2xhbWEgRG9uYW7EsW3EsTwvc21hbGw+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icGFydCAiIG9uY2xpY2s9InNob3dQYXJ0KDMpIj48c3BhbiBjbGFzcz0iZW1vamkiPuKMqO+4jzwvc3Bhbj48c3Ryb25nPktsYXZ5ZSB2ZSBGYXJlPC9zdHJvbmc+PHNtYWxsPkdpcmnFnyBCaXJpbWk8L3NtYWxsPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InBhcnQgIiBvbmNsaWNrPSJzaG93UGFydCg0KSI+PHNwYW4gY2xhc3M9ImVtb2ppIj7wn5al77iPPC9zcGFuPjxzdHJvbmc+TW9uaXTDtnIgKEVrcmFuKTwvc3Ryb25nPjxzbWFsbD7Dh8Sxa8SxxZ8gQmlyaW1pPC9zbWFsbD48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJwYXJ0ICIgb25jbGljaz0ic2hvd1BhcnQoNSkiPjxzcGFuIGNsYXNzPSJlbW9qaSI+8J+Qpzwvc3Bhbj48c3Ryb25nPsSwxZ9sZXRpbSBTaXN0ZW1pPC9zdHJvbmc+PHNtYWxsPlNpc3RlbSBZYXrEsWzEsW3EsTwvc21hbGw+PC9idXR0b24+CiA8L2Rpdj4KIDxkaXYgY2xhc3M9ImRldGFpbC1wYW5lbCIgaWQ9InBhcnREZXRhaWwiPgogICA8c3Ryb25nPvCfp6AgxLDFn2xlbWNpIChDUFUpIMK3IMSww6cgRG9uYW7EsW08L3N0cm9uZz48cD5CaWxnaXNheWFyZGFraSB0w7xtIG1hdGVtYXRpa3NlbCBoZXNhcGxhbWFsYXLEsSB2ZSBtYW50xLFrc2FsIGthcmFybGFyxLEgc2FuaXllbGVyIGnDp2luZGUgYWxhbiBtZXJrZXppIGJleWluIGJpcmltaWRpci48L3A+PHA+PGI+R8O8bmzDvGsgeWHFn2FtIMO2cm5lxJ9pOjwvYj4gQmlyIG95dW5kYSBrYXJha3RlcmkgecO8csO8dG1layBpw6dpbiBiYXN0xLHEn8SxbsSxeiB0dcWfdW4gaGVzYXBsYW7EsXAga2FyYWt0ZXJlIGlsZXRpbG1lc2kuPC9wPgogPC9kaXY+Cjwvc2VjdGlvbj4KCjxkaXYgY2xhc3M9InNlY3Rpb24taGVhZCI+PGRpdj48aDI+8J+OryBFdGtpbmxpayAyOiBCaWxnaW5pIMO2bMOnPC9oMj48cD7Dh29rdGFuIHNlw6dtZWxpIHNvcnVsYXLEsSB5YW7EsXRsYS4gSGVyIGRvxJ9ydSBjZXZhcCBpw6dpbiArMiBCVCBQdWFuxLEga2F6YW4hPC9wPjwvZGl2PjxzcGFuIGNsYXNzPSJwaWxsIj41IHNvcnU8L3NwYW4+PC9kaXY+CjxzZWN0aW9uIGNsYXNzPSJjYXJkIGFjdGl2aXR5Ij4KIDxkaXYgaWQ9InF1aXoiPgogICA8ZGl2IGNsYXNzPSJxdWVzdGlvbiI+PHN0cm9uZz4xLiBFbGVrdHJpayBrZXNpbGRpxJ9pbmRlIGnDp2luZGVraSB2ZXJpbGVyaW4gdGFtYW3EsSBzaWxpbmVuIGRvbmFuxLFtIGJpcmltaSBhxZ9hxJ/EsWRha2lsZXJkZW4gaGFuZ2lzaWRpcj88L3N0cm9uZz48ZGl2IGNsYXNzPSJvcHRpb25zIj48YnV0dG9uIGNsYXNzPSJvcHRpb24iIG9uY2xpY2s9ImFuc3dlclF1aXooMCwwKSI+QSkgU2FiaXQgRGlzayAoU1NEKTwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im9wdGlvbiIgb25jbGljaz0iYW5zd2VyUXVpeigwLDEpIj5CKSBSQU0gQmVsbGVrPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDAsMikiPkMpIMSwxZ9sZW1jaSAoQ1BVKTwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im9wdGlvbiIgb25jbGljaz0iYW5zd2VyUXVpeigwLDMpIj5EKSBPcHRpayBTw7xyw7xjw7w8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJmZWVkYmFjayI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icXVlc3Rpb24iPjxzdHJvbmc+Mi4gQmlsZ2lzYXlhcmEgYmHEn2xhbmFuIG1pa3JvZm9uIGhhbmdpIGRvbmFuxLFtIGthdGVnb3Jpc2luZSBhaXR0aXI/PC9zdHJvbmc+PGRpdiBjbGFzcz0ib3B0aW9ucyI+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDEsMCkiPkEpIMOHxLFrxLHFnyBCaXJpbWk8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvcHRpb24iIG9uY2xpY2s9ImFuc3dlclF1aXooMSwxKSI+QikgRGVwb2xhbWEgQmlyaW1pPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDEsMikiPkMpIEdpcmnFnyBCaXJpbWk8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvcHRpb24iIG9uY2xpY2s9ImFuc3dlclF1aXooMSwzKSI+RCkgxLDDpyBEb25hbsSxbTwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJxdWVzdGlvbiI+PHN0cm9uZz4zLiBCaWxnaXNheWFyxLFuIHTDvG0gcGFyw6dhbGFyxLFuxLEgw7x6ZXJpbmUgYmHEn2xheWFuIHZlIHZlcmkgaWxldGnFn2ltaW5pIHNhxJ9sYXlhbiBhbmEgZGV2cmUga2FydMSxIGhhbmdpc2lkaXI/PC9zdHJvbmc+PGRpdiBjbGFzcz0ib3B0aW9ucyI+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDIsMCkiPkEpIEFuYWthcnQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvcHRpb24iIG9uY2xpY2s9ImFuc3dlclF1aXooMiwxKSI+QikgRWtyYW4gS2FydMSxPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDIsMikiPkMpIEfDvMOnIEtheW5hxJ/EsTwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im9wdGlvbiIgb25jbGljaz0iYW5zd2VyUXVpeigyLDMpIj5EKSBTZXMgS2FydMSxPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmVlZGJhY2siPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InF1ZXN0aW9uIj48c3Ryb25nPjQuIFTDnELEsFRBSyB0YXJhZsSxbmRhbiBnZWxpxZ90aXJpbGVuIG1pbGxpIGnFn2xldGltIHNpc3RlbWltaXppbiBhZMSxIG5lZGlyPzwvc3Ryb25nPjxkaXYgY2xhc3M9Im9wdGlvbnMiPjxidXR0b24gY2xhc3M9Im9wdGlvbiIgb25jbGljaz0iYW5zd2VyUXVpeigzLDApIj5BKSBXaW5kb3dzPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDMsMSkiPkIpIExpbnV4IE1pbnQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvcHRpb24iIG9uY2xpY2s9ImFuc3dlclF1aXooMywyKSI+QykgQW5kcm9pZDwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im9wdGlvbiIgb25jbGljaz0iYW5zd2VyUXVpeigzLDMpIj5EKSBQYXJkdXM8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJmZWVkYmFjayI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icXVlc3Rpb24iPjxzdHJvbmc+NS4gQcWfYcSfxLFkYWtpbGVyZGVuIGhhbmdpc2kgZG/En3J1ZGFuIGJpciAnw4fEsWvEscWfIEJpcmltaScgw7ZybmXEn2lkaXI/PC9zdHJvbmc+PGRpdiBjbGFzcz0ib3B0aW9ucyI+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDQsMCkiPkEpIEJhcmtvZCBPa3V5dWN1PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDQsMSkiPkIpIFdlYiBLYW1lcmFzxLE8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvcHRpb24iIG9uY2xpY2s9ImFuc3dlclF1aXooNCwyKSI+QykgSG9wYXJsw7ZyPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ib3B0aW9uIiBvbmNsaWNrPSJhbnN3ZXJRdWl6KDQsMykiPkQpIEtsYXZ5ZTwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj48L2Rpdj4KIDwvZGl2PgogPGRpdiBjbGFzcz0ic2NvcmVsaW5lIj48c3Bhbj5Eb8SfcnUgY2V2YXBsYXLEsW48L3NwYW4+PHNwYW4gY2xhc3M9InNjb3JlIiBpZD0icXVpelNjb3JlIj4wIC8gNTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gc2Vjb25kYXJ5IHNtYWxsIiBvbmNsaWNrPSJyZXNldFF1aXooKSI+WWVuaWRlbiDDp8O2ejwvYnV0dG9uPjwvZGl2Pgo8L3NlY3Rpb24+Cgo8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPjxkaXY+PGgyPvCflJcgRXRraW5saWsgMzogRcWfbGXFn3RpcjwvaDI+PHA+S2F2cmFtIGlsZSBnw7ZyZXZpbmkgZcWfbGXFn3Rpci4gVGFtYW3EsW7EsSBkb8SfcnUgZcWfbGXFn3RpcmVyZWsgKzUgQlQgUHVhbsSxIGthemFuITwvcD48L2Rpdj48L2Rpdj4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgYWN0aXZpdHkiPgogPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdCIgaWQ9Im1hdGNoaW5nIj4KICAgPGxhYmVsIGNsYXNzPSJtYXRjaC1yb3ciPjxzcGFuPjxiPsSwxZ9sZW1jaSAoQ1BVKTwvYj48L3NwYW4+PHNlbGVjdCBpZD0ibWF0Y2gwIiBvbmNoYW5nZT0ibWF0Y2hDaGVja2VkPWZhbHNlIj48b3B0aW9uIHZhbHVlPSIiPkfDtnJldiBzZcOn4oCmPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRG9zeWFsYXLEsW4ga2FsxLFjxLEgb2xhcmFrIHNha2xhbmTEscSfxLEgZGVwbyI+RG9zeWFsYXLEsW4ga2FsxLFjxLEgb2xhcmFrIHNha2xhbmTEscSfxLEgZGVwbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkRvbmFuxLFtIGlsZSBrdWxsYW7EsWPEsSBhcmFzxLFuZGFraSBrw7ZwcsO8IHlhesSxbMSxbSI+RG9uYW7EsW0gaWxlIGt1bGxhbsSxY8SxIGFyYXPEsW5kYWtpIGvDtnByw7wgeWF6xLFsxLFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iQmlsZ2lzYXlhciBhw6fEsWtrZW4gw6dhbMSxxZ9hbiBnZcOnaWNpIGhhZsSxemEiPkJpbGdpc2F5YXIgYcOnxLFra2VuIMOnYWzEscWfYW4gZ2XDp2ljaSBoYWbEsXphPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRGlqaXRhbCBiZWxnZWxlcmkga2HEn8SxZGEgZMO2a2VuIMOnxLFrxLHFnyBiaXJpbWkiPkRpaml0YWwgYmVsZ2VsZXJpIGthxJ/EsWRhIGTDtmtlbiDDp8Sxa8SxxZ8gYmlyaW1pPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iVmVyaWxlcmkgacWfbGV5ZW4gYmlsZ2lzYXlhcsSxbiBiZXluaSI+VmVyaWxlcmkgacWfbGV5ZW4gYmlsZ2lzYXlhcsSxbiBiZXluaTwvb3B0aW9uPjwvc2VsZWN0PjwvbGFiZWw+PGxhYmVsIGNsYXNzPSJtYXRjaC1yb3ciPjxzcGFuPjxiPlJBTSBCZWxsZWs8L2I+PC9zcGFuPjxzZWxlY3QgaWQ9Im1hdGNoMSIgb25jaGFuZ2U9Im1hdGNoQ2hlY2tlZD1mYWxzZSI+PG9wdGlvbiB2YWx1ZT0iIj5Hw7ZyZXYgc2XDp+KApjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkRvc3lhbGFyxLFuIGthbMSxY8SxIG9sYXJhayBzYWtsYW5kxLHEn8SxIGRlcG8iPkRvc3lhbGFyxLFuIGthbMSxY8SxIG9sYXJhayBzYWtsYW5kxLHEn8SxIGRlcG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJEb25hbsSxbSBpbGUga3VsbGFuxLFjxLEgYXJhc8SxbmRha2kga8O2cHLDvCB5YXrEsWzEsW0iPkRvbmFuxLFtIGlsZSBrdWxsYW7EsWPEsSBhcmFzxLFuZGFraSBrw7ZwcsO8IHlhesSxbMSxbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkJpbGdpc2F5YXIgYcOnxLFra2VuIMOnYWzEscWfYW4gZ2XDp2ljaSBoYWbEsXphIj5CaWxnaXNheWFyIGHDp8Sxa2tlbiDDp2FsxLHFn2FuIGdlw6dpY2kgaGFmxLF6YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkRpaml0YWwgYmVsZ2VsZXJpIGthxJ/EsWRhIGTDtmtlbiDDp8Sxa8SxxZ8gYmlyaW1pIj5EaWppdGFsIGJlbGdlbGVyaSBrYcSfxLFkYSBkw7ZrZW4gw6fEsWvEscWfIGJpcmltaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlZlcmlsZXJpIGnFn2xleWVuIGJpbGdpc2F5YXLEsW4gYmV5bmkiPlZlcmlsZXJpIGnFn2xleWVuIGJpbGdpc2F5YXLEsW4gYmV5bmk8L29wdGlvbj48L3NlbGVjdD48L2xhYmVsPjxsYWJlbCBjbGFzcz0ibWF0Y2gtcm93Ij48c3Bhbj48Yj5TYWJpdCBEaXNrIChTU0QpPC9iPjwvc3Bhbj48c2VsZWN0IGlkPSJtYXRjaDIiIG9uY2hhbmdlPSJtYXRjaENoZWNrZWQ9ZmFsc2UiPjxvcHRpb24gdmFsdWU9IiI+R8O2cmV2IHNlw6figKY8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJEb3N5YWxhcsSxbiBrYWzEsWPEsSBvbGFyYWsgc2FrbGFuZMSxxJ/EsSBkZXBvIj5Eb3N5YWxhcsSxbiBrYWzEsWPEsSBvbGFyYWsgc2FrbGFuZMSxxJ/EsSBkZXBvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRG9uYW7EsW0gaWxlIGt1bGxhbsSxY8SxIGFyYXPEsW5kYWtpIGvDtnByw7wgeWF6xLFsxLFtIj5Eb25hbsSxbSBpbGUga3VsbGFuxLFjxLEgYXJhc8SxbmRha2kga8O2cHLDvCB5YXrEsWzEsW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJCaWxnaXNheWFyIGHDp8Sxa2tlbiDDp2FsxLHFn2FuIGdlw6dpY2kgaGFmxLF6YSI+QmlsZ2lzYXlhciBhw6fEsWtrZW4gw6dhbMSxxZ9hbiBnZcOnaWNpIGhhZsSxemE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJEaWppdGFsIGJlbGdlbGVyaSBrYcSfxLFkYSBkw7ZrZW4gw6fEsWvEscWfIGJpcmltaSI+RGlqaXRhbCBiZWxnZWxlcmkga2HEn8SxZGEgZMO2a2VuIMOnxLFrxLHFnyBiaXJpbWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJWZXJpbGVyaSBpxZ9sZXllbiBiaWxnaXNheWFyxLFuIGJleW5pIj5WZXJpbGVyaSBpxZ9sZXllbiBiaWxnaXNheWFyxLFuIGJleW5pPC9vcHRpb24+PC9zZWxlY3Q+PC9sYWJlbD48bGFiZWwgY2xhc3M9Im1hdGNoLXJvdyI+PHNwYW4+PGI+xLDFn2xldGltIFNpc3RlbWk8L2I+PC9zcGFuPjxzZWxlY3QgaWQ9Im1hdGNoMyIgb25jaGFuZ2U9Im1hdGNoQ2hlY2tlZD1mYWxzZSI+PG9wdGlvbiB2YWx1ZT0iIj5Hw7ZyZXYgc2XDp+KApjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkRvc3lhbGFyxLFuIGthbMSxY8SxIG9sYXJhayBzYWtsYW5kxLHEn8SxIGRlcG8iPkRvc3lhbGFyxLFuIGthbMSxY8SxIG9sYXJhayBzYWtsYW5kxLHEn8SxIGRlcG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSJEb25hbsSxbSBpbGUga3VsbGFuxLFjxLEgYXJhc8SxbmRha2kga8O2cHLDvCB5YXrEsWzEsW0iPkRvbmFuxLFtIGlsZSBrdWxsYW7EsWPEsSBhcmFzxLFuZGFraSBrw7ZwcsO8IHlhesSxbMSxbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkJpbGdpc2F5YXIgYcOnxLFra2VuIMOnYWzEscWfYW4gZ2XDp2ljaSBoYWbEsXphIj5CaWxnaXNheWFyIGHDp8Sxa2tlbiDDp2FsxLHFn2FuIGdlw6dpY2kgaGFmxLF6YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkRpaml0YWwgYmVsZ2VsZXJpIGthxJ/EsWRhIGTDtmtlbiDDp8Sxa8SxxZ8gYmlyaW1pIj5EaWppdGFsIGJlbGdlbGVyaSBrYcSfxLFkYSBkw7ZrZW4gw6fEsWvEscWfIGJpcmltaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlZlcmlsZXJpIGnFn2xleWVuIGJpbGdpc2F5YXLEsW4gYmV5bmkiPlZlcmlsZXJpIGnFn2xleWVuIGJpbGdpc2F5YXLEsW4gYmV5bmk8L29wdGlvbj48L3NlbGVjdD48L2xhYmVsPjxsYWJlbCBjbGFzcz0ibWF0Y2gtcm93Ij48c3Bhbj48Yj5ZYXrEsWPEsTwvYj48L3NwYW4+PHNlbGVjdCBpZD0ibWF0Y2g0IiBvbmNoYW5nZT0ibWF0Y2hDaGVja2VkPWZhbHNlIj48b3B0aW9uIHZhbHVlPSIiPkfDtnJldiBzZcOn4oCmPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRG9zeWFsYXLEsW4ga2FsxLFjxLEgb2xhcmFrIHNha2xhbmTEscSfxLEgZGVwbyI+RG9zeWFsYXLEsW4ga2FsxLFjxLEgb2xhcmFrIHNha2xhbmTEscSfxLEgZGVwbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkRvbmFuxLFtIGlsZSBrdWxsYW7EsWPEsSBhcmFzxLFuZGFraSBrw7ZwcsO8IHlhesSxbMSxbSI+RG9uYW7EsW0gaWxlIGt1bGxhbsSxY8SxIGFyYXPEsW5kYWtpIGvDtnByw7wgeWF6xLFsxLFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iQmlsZ2lzYXlhciBhw6fEsWtrZW4gw6dhbMSxxZ9hbiBnZcOnaWNpIGhhZsSxemEiPkJpbGdpc2F5YXIgYcOnxLFra2VuIMOnYWzEscWfYW4gZ2XDp2ljaSBoYWbEsXphPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRGlqaXRhbCBiZWxnZWxlcmkga2HEn8SxZGEgZMO2a2VuIMOnxLFrxLHFnyBiaXJpbWkiPkRpaml0YWwgYmVsZ2VsZXJpIGthxJ/EsWRhIGTDtmtlbiDDp8Sxa8SxxZ8gYmlyaW1pPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iVmVyaWxlcmkgacWfbGV5ZW4gYmlsZ2lzYXlhcsSxbiBiZXluaSI+VmVyaWxlcmkgacWfbGV5ZW4gYmlsZ2lzYXlhcsSxbiBiZXluaTwvb3B0aW9uPjwvc2VsZWN0PjwvbGFiZWw+CiA8L2Rpdj4KIDxkaXYgY2xhc3M9InNsaWRlLWNvbnRyb2xzIj48c3BhbiBjbGFzcz0iZmVlZGJhY2siIGlkPSJtYXRjaEZlZWRiYWNrIj5IZXIgc2F0xLFyZGEgdXlndW4gZ8O2cmV2aSBzZcOnLjwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gcHJpbWFyeSIgb25jbGljaz0iY2hlY2tNYXRjaGVzKCkiPkXFn2xlxZ90aXJtZWxlcmkga29udHJvbCBldDwvYnV0dG9uPjwvZGl2Pgo8L3NlY3Rpb24+Cgo8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPjxkaXY+PGgyPvCfm6DvuI8gRXRraW5saWsgNDogR8O8bmzDvGsgeWHFn2FtIHNlbmFyeW9sYXLEsTwvaDI+PHA+RG/En3J1IGJpbGXFn2VuaSBzZcOnZXJlayBkdXJ1bWEgdXlndW4ga2FyYXIgdmVyLiBIZXIgZG/En3J1IHNlw6dpbWRlICszIEJUIFB1YW7EsSBrYXphbiE8L3A+PC9kaXY+PC9kaXY+CjxzZWN0aW9uIGNsYXNzPSJjYXJkIGFjdGl2aXR5Ij4KIDxzcGFuIGNsYXNzPSJwaWxsIj5TRU5BUllPPC9zcGFuPjxoMyBpZD0iY2FzZVRpdGxlIiBzdHlsZT0ibWFyZ2luOjEzcHggMCA2cHgiPvCflIwgRWxla3RyaWsgS2VzaW50aXNpIEZlbGFrZXRpPC9oMz48cCBpZD0iY2FzZVRleHQiIHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCkiPkVmZSBiaWxnaXNheWFyxLFuZGEgMiBzYWF0IGJveXVuY2EgYmlyIGhpa2F5ZSB5YXpkxLEgYW5jYWsga2F5ZGV0IGTDvMSfbWVzaW5lIGhpw6cgYmFzbWFkxLEuIEJpcmRlbiBlbGVrdHJpa2xlciBrZXNpbGRpLiBFZmUgYmlsZ2lzYXlhcsSxIHRla3JhciBhw6d0xLHEn8SxbmRhIGhpa2F5ZXNpbmkgYnVsYW1hZMSxLiBCdSBkdXJ1bSBoYW5naSBiaXJpbWluIMOnYWzEscWfbWEgeWFwxLFzxLF5bGEgaWxnaWxpZGlyPzwvcD4KIDxkaXYgY2xhc3M9ImNhc2Utb3B0aW9ucyIgaWQ9ImNhc2VPcHRpb25zIj4KICAgPGJ1dHRvbiBvbmNsaWNrPSJjaG9vc2VDYXNlKDApIj5FZmUnbmluIHlhemTEscSfxLEgeWF6xLFsYXIgUkFNIGJlbGxla3RlIHR1dHVsZHXEn3UgacOnaW4gZWxla3RyaWsga2VzaWxpbmNlIHNpbGlubWnFn3Rpci48L2J1dHRvbj48YnV0dG9uIG9uY2xpY2s9ImNob29zZUNhc2UoMSkiPsSwxZ9sZW1jaSDDp29rIMSxc8SxbmTEscSfxLEgacOnaW4geWF6xLF5xLEgc2FiaXQgZGlza3RlbiBrYXN0ZW4gc2lsbWnFn3Rpci48L2J1dHRvbj48YnV0dG9uIG9uY2xpY2s9ImNob29zZUNhc2UoMikiPk1vbml0w7ZyIGJvenVsZHXEn3UgacOnaW4geWF6xLFsYXLEsSBnw7ZzdGVybWV5aSByZWRkZXRtZWt0ZWRpci48L2J1dHRvbj4KIDwvZGl2PgogPGRpdiBjbGFzcz0iY2FzZS1yZXN1bHQiIGlkPSJjYXNlUmVzdWx0Ij5CaXIgc2XDp2VuZWsgYmVsaXJsZS48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjE0cHgiPjxidXR0b24gY2xhc3M9ImJ0biBzZWNvbmRhcnkgc21hbGwiIG9uY2xpY2s9Im5leHRDYXNlKCkiPkJhxZ9rYSBzZW5hcnlvIOKGuzwvYnV0dG9uPjwvZGl2Pgo8L3NlY3Rpb24+CgoKPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkIj48ZGl2PjxoMj7wn5SEIEV0a2lubGlrOiBTxLFyYWxhbWEgJiBBbGdvcml0bWE8L2gyPjxwPkFkxLFtbGFyxLEgeXVrYXLEsS9hxZ9hxJ/EsSBidXRvbmxhcsSxeWxhIG1hbnTEsWtzYWwgacWfbGVtIHPEsXJhc8SxbmEgZGl6LiBEb8SfcnUgc8SxcmFsYW1hecSxIGJ1bGFyYWsgKzQgQlQgUHVhbsSxIGthemFuITwvcD48L2Rpdj48L2Rpdj4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgYWN0aXZpdHkiIGlkPSJyZW9yZGVyU2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0icmVvcmRlci1saXN0IiBpZD0icmVvcmRlckxpc3QiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlLWNvbnRyb2xzIiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4Ij4KICAgIDxzcGFuIGNsYXNzPSJmZWVkYmFjayIgaWQ9InJlb3JkZXJGZWVkYmFjayI+QWTEsW1sYXLEsSBzxLFyYXlhIGRpemRpa3RlbiBzb25yYSBrb250cm9sIGV0Ljwvc3Bhbj4KICAgIDxidXR0b24gY2xhc3M9ImJ0biBwcmltYXJ5IiBvbmNsaWNrPSJjaGVja1Jlb3JkZXIoKSI+U8SxcmFsYW1hecSxIEtvbnRyb2wgRXQ8L2J1dHRvbj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKCgo8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPjxkaXY+PGgyPvCfp7ogRXRraW5saWs6IFPEsW7EsWZsYW5kxLFybWEgJiBHcnVwbGFtYTwvaDI+PHA+QWx0dGFraSBrYXZyYW1sYXLEsSBzZcOnaXAgZG/En3J1IHNlcGV0ZSBkb2t1bmFyYWsgeWVybGXFn3Rpci4gVGFtYW3EsW7EsSBkb8SfcnUgYXnEsXJhcmFrICs0IEJUIFB1YW7EsSBrYXphbiE8L3A+PC9kaXY+PC9kaXY+CjxzZWN0aW9uIGNsYXNzPSJjYXJkIGFjdGl2aXR5IiBpZD0iYnVja2V0U2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0iYnVja2V0LWdyaWQiIGlkPSJidWNrZXRab25lcyI+PC9kaXY+CiAgPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA1ZW07bWFyZ2luLWJvdHRvbTo4cHgiPlllcmxlxZ90aXJpbG1leWkgQmVrbGV5ZW4gS2F2cmFtbGFyOjwvZGl2PgogIDxkaXYgY2xhc3M9ImJ1Y2tldC1wb29sIiBpZD0iYnVja2V0UG9vbCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUtY29udHJvbHMiPgogICAgPHNwYW4gY2xhc3M9ImZlZWRiYWNrIiBpZD0iYnVja2V0RmVlZGJhY2siPkJpciBrYXZyYW1hIGRva3VuLCBhcmTEsW5kYW4gaGVkZWYgc2VwZXRlIHTEsWtsYS48L3NwYW4+CiAgICA8YnV0dG9uIGNsYXNzPSJidG4gcHJpbWFyeSIgb25jbGljaz0iY2hlY2tCdWNrZXRTb3J0KCkiPkdydXBsYW1hecSxIEtvbnRyb2wgRXQ8L2J1dHRvbj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKCgo8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPjxkaXY+PGgyPvCflI0gRXRraW5saWs6IEhhdGEgQXnEsWtsYW1hIChEZWJ1Zyk8L2gyPjxwPkHFn2HEn8SxZGFraSBrb2QgdmV5YSBzw7xyZcOnIGFrxLHFn8SxbsSxIGluY2VsZS4gSGF0YWzEsSBvbGFuIHNhdMSxcsSxbiDDvHplcmluZSBkb2t1bmFyYWsgdGVzcGl0IGV0ITwvcD48L2Rpdj48L2Rpdj4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgYWN0aXZpdHkiIGlkPSJidWdTZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJidWctY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImJ1Zy1oZWFkZXIiPjxzcGFuPvCfkJ48L3NwYW4+PHNwYW4+SEFUQSBBWUlLTEFNQSBBTEFOSSAtIMWew5xQSEVMxLAgU0FUSVJBIERPS1VOPC9zcGFuPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iYnVnLWxpbmVzIiBpZD0iYnVnTGluZXMiPjwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNhc2UtcmVzdWx0IiBpZD0iYnVnUmVzdWx0IiBzdHlsZT0ibWFyZ2luLXRvcDo4cHgiPsSwbmNlbGUgdmUgaGF0YWzEsSBvbGR1xJ91bnUgZMO8xZ/DvG5kw7zEn8O8biBzYXTEsXJhIHTEsWtsYS48L2Rpdj4KPC9zZWN0aW9uPgoKCgo8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPjxkaXY+PGgyPvCfk50gRXRraW5saWs6IEJvxZ9sdWsgRG9sZHVybWE8L2gyPjxwPkPDvG1sZWRla2kgYm/Fn2x1a2xhcsSxIHNlw6dpcCBhbHR0YWtpIGtlbGltZSBoYXZ1enVuZGFuIGRvxJ9ydSB0ZXJpbWxlcmkgeWVybGXFn3Rpci4gKzQgQlQgUHVhbsSxIGthemFuITwvcD48L2Rpdj48L2Rpdj4KPHNlY3Rpb24gY2xhc3M9ImNhcmQgYWN0aXZpdHkiIGlkPSJjbG96ZVNlY3Rpb24iPgogIDxkaXYgY2xhc3M9ImNsb3plLXBhc3NhZ2UiIGlkPSJjbG96ZVBhc3NhZ2UiPjwvZGl2PgogIDxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wNWVtO21hcmdpbi1ib3R0b206OHB4Ij5LZWxpbWUgSGF2dXp1OjwvZGl2PgogIDxkaXYgY2xhc3M9ImNsb3plLWJhbmsiIGlkPSJjbG96ZUJhbmsiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlLWNvbnRyb2xzIiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4Ij4KICAgIDxzcGFuIGNsYXNzPSJmZWVkYmFjayIgaWQ9ImNsb3plRmVlZGJhY2siPlTDvG0gYm/Fn2x1a2xhcsSxIHV5Z3VuIGthdnJhbWxhcmxhIHRhbWFtbGEuPC9zcGFuPgogICAgPGJ1dHRvbiBjbGFzcz0iYnRuIHByaW1hcnkiIG9uY2xpY2s9ImNoZWNrQ2xvemUoKSI+Q2V2YXBsYXLEsSBLb250cm9sIEV0PC9idXR0b24+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCgo8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWQiPjxkaXY+PGgyPvCfkqEgSGF0xLFybGF5YWzEsW08L2gyPjxwPkJ1IGRlcnNpbiB0ZW1lbCBmaWtpcmxlcmkuPC9wPjwvZGl2PjwvZGl2Pgo8c2VjdGlvbiBjbGFzcz0ic3VtbWFyeSI+CiA8ZGl2PjxiPkRvbmFuxLFtIHZlIFlhesSxbMSxbSBBeXLEsWxtYXogxLBraWxpZGlyPC9iPjxzcGFuPkRvbmFuxLFtIGRva3VuYWJpbGRpxJ9pbWl6IGZpemlrc2VsIHBhcsOnYWxhcmTEsXI7IHlhesSxbMSxbSBpc2UgYnUgcGFyw6dhbGFyYSBoYXlhdCB2ZXJlbiBrb2RsYXIgdmUgcHJvZ3JhbWxhcmTEsXIuPC9zcGFuPjwvZGl2PgogPGRpdj48Yj5CaWxnaSDEsMWfbGVtZSBNYW50xLHEn8SxOiBHaXJpxZ8sIMSwxZ9sZW0sIMOHxLFrxLHFnzwvYj48c3Bhbj5LbGF2eWVkZW4gdmVyaSBnaXJpbGlyIChHaXJkaSksIMSwxZ9sZW1jaSBidW51IGhlc2FwbGFyICjEsMWfbGVtKSB2ZSBNb25pdMO2cmRlbiBzb251w6cgZ8O2csO8bnTDvGxlbmlyICjDh8Sxa3TEsSkuPC9zcGFuPjwvZGl2PgogPGRpdj48Yj5IYWbEsXphIMOHZcWfaXRsZXJpIEJpcmJpcmluaSBUYW1hbWxhcjwvYj48c3Bhbj5SQU0gaMSxemzEsSB2ZSBnZcOnaWNpIMOnYWzEscWfbWEgbWFzYW3EsXpkxLFyOyBTYWJpdCBEaXNrIChTU0QpIGlzZSBkb3N5YWxhcsSxbcSxesSxbiBzaWxpbm1lZGnEn2kgZ8O8dmVubGkgZGVwb211emR1ci48L3NwYW4+PC9kaXY+Cjwvc2VjdGlvbj4KPGRpdiBjbGFzcz0iZm9vdGVyIj4xLiBURU1BOiBCaWxpxZ9pbSBUZWtub2xvamlsZXJpbmluIEhheWF0xLFtxLF6ZGFraSBZZXJpOiBCaWxnaXNheWFyIFNpc3RlbWxlcmluaW4gS3VsbGFuxLFtxLEgwrcgw5bEn3Jlbm1layBrZcWfZmV0bWVrbGUgYmHFn2xhciDinKY8L2Rpdj4KPC9kaXY+Cgo8IS0tIEFrxLFsbMSxIFRhaHRhIMOHaXppbSAmIFZ1cmd1IEthdG1hbsSxIC0tPgo8Y2FudmFzIGlkPSJib2FyZENhbnZhcyI+PC9jYW52YXM+CjxkaXYgY2xhc3M9ImJvYXJkLXRvb2xiYXIiIGlkPSJib2FyZFRvb2xiYXIiIHRpdGxlPSJBa8SxbGzEsSBUYWh0YSBBcmHDp2xhcsSxIj4KICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJvYXJkLXRvb2wtYnRuIiBpZD0iZHJhd1RvZ2dsZUJ0biIgb25jbGljaz0idG9nZ2xlQm9hcmREcmF3KCkiIHRpdGxlPSJUYWh0YSBLYWxlbWkgLyDDh2l6aW0gTW9kdSI+CiAgICA8c3Bhbj7inI/vuI88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4Ij5LYWxlbTwvc3Bhbj4KICA8L2J1dHRvbj4KICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJvYXJkLXRvb2wtYnRuIiBvbmNsaWNrPSJjbGVhckJvYXJkRHJhdygpIiB0aXRsZT0iw4dpemltbGVyaSBUZW1pemxlIj4KICAgIDxzcGFuPvCfp7k8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4Ij5UZW1pemxlPC9zcGFuPgogIDwvYnV0dG9uPgo8L2Rpdj4KCjxzY3JpcHQ+CmNvbnN0IHNsaWRlcyA9IFt7Im5hdiI6IvCflqXvuI8gU2lzdGVtIE5lZGlyPyIsImtpY2tlciI6IvCfj7fvuI8gVEVNRUwgQsSwTEXFnkVOTEVSIiwidGl0bGUiOiLwn6epIEJpbGdpc2F5YXIgU2lzdGVtaTogRG9uYW7EsW0gdmUgWWF6xLFsxLFtxLFuIFV5dW11IiwiYm9keSI6IjxwPkJpciBiaWxnaXNheWFyIHNpc3RlbWksIGhlZGVmbGVuZW4gZ8O2cmV2bGVyaSB5ZXJpbmUgZ2V0aXJlYmlsbWVrIGnDp2luIGJpciBhcmFkYSDDp2FsxLHFn2FuIGZpemlrc2VsIHBhcsOnYWxhciB2ZSBidSBwYXLDp2FsYXJhIG5lIHlhcGFjYcSfxLFuxLEgc8O2eWxleWVuIGtvbXV0bGFyIGLDvHTDvG7DvGTDvHIuIEJpbGdpc2F5YXLEsSB0xLFwa8SxIGJpciBpbnNhbmEgYmVuemV0ZWJpbGlyaXo6IEZpemlrc2VsIGJlZGVuaW1peiBkb25hbsSxbSwgZMO8xZ/DvG5jZWxlcmltaXogdmUgYmlsZ2lsZXJpbWl6IGlzZSB5YXrEsWzEsW1kxLFyLjwvcD48cD5Eb25hbsSxbSAoaGFyZHdhcmUpLCBiaWxnaXNheWFyYSBkb2t1bmR1xJ91bXV6ZGEgaGlzc2V0dGnEn2ltaXogdMO8bSBtZWthbmlrIHZlIGVsZWt0cm9uaWsgcGFyw6dhbGFyZMSxci4gWWF6xLFsxLFtIChzb2Z0d2FyZSkgaXNlIGJ1IHBhcsOnYWxhcsSxbiDDp2FsxLHFn21hc8SxbsSxIHNhxJ9sYXlhbiwgZWtyYW5kYSBnw7ZyZMO8xJ/DvG3DvHogcHJvZ3JhbWxhciB2ZSBveXVubGFyZMSxci4gQmlyaSBvbG1hZGFuIGRpxJ9lcmkgaGnDp2JpciBpxZ9lIHlhcmFtYXouPC9wPjxkaXYgY2xhc3M9XCJsZXNzb24tZ3JpZFwiPjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+Suzwvc3Bhbj4gU29tdXQgRG9uYW7EsW08L2g0PjxwPkfDtnpsZSBnw7ZyZWJpbGRpxJ9pbWl6LCBlbGltaXpsZSB0dXRhYmlsZGnEn2ltaXogZWtyYW4sIGZhcmUsIGtsYXZ5ZSB2ZSBrYXNhIGnDp2kgZGV2cmVsZXJkaXIuPC9wPjwvZGl2PjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+Svzwvc3Bhbj4gU295dXQgWWF6xLFsxLFtPC9oND48cD5CaWxnaXNheWFyxLFuIG5leWksIG5lIHphbWFuIHZlIG5hc8SxbCB5YXBhY2HEn8SxbsSxIGJlbGlybGV5ZW4ga29kbGFubcSxxZ8ga29tdXQgbGlzdGVsZXJpZGlyLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVwidGlwLWJveFwiPjxzcGFuIGNsYXNzPVwidGlwLWljb25cIj7wn5KhPC9zcGFuPjxkaXY+PHN0cm9uZz5Hw7xuw7xuIMSwcHVjdTwvc3Ryb25nPjxwPllhesSxbMSxbSBvbG1hZGFuIGVuIHBhaGFsxLEgYmlsZ2lzYXlhciBiaWxlIHlhbG7EsXpjYSDDp2FsxLHFn21heWFuIGJpciBtZXRhbCB2ZSBwbGFzdGlrIHnEscSfxLFuxLFkxLFyITwvcD48L2Rpdj48L2Rpdj4iLCJpbWFnZUNhcHRpb24iOiJCaWxnaXNheWFyIGRvbmFuxLFtIHZlIHlhesSxbMSxbSBiaXJpbWxlcmluaW4gb3J0YWsgw6dhbMSxxZ9tYSBtaW1hcmlzaSIsImltYWdlVXJsIjoiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MTg3NzA2NjA0MzktNDYzNjE5MGFmNDc1P2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTIwMCZxPTgwIn0seyJuYXYiOiLwn6egIEJpbGdpc2F5YXLEsW4gQmV5bmkiLCJraWNrZXIiOiLwn4+377iPIMSww4cgRE9OQU5JTSBCxLBSxLBNTEVSxLAiLCJ0aXRsZSI6IuKaoSDEsMWfbGVtY2kgKENQVSkgdmUgQW5ha2FydCIsImJvZHkiOiI8cD5CaWxnaXNheWFyIGthc2FzxLFuxLFuIGnDp2VyaXNpbmUgYmFrdMSxxJ/EsW3EsXpkYSBrYXJtYcWfxLFrIGdpYmkgZ8O2csO8bmVuIGhhcmlrYSBiaXIgxZ9laGlyIG1hbnphcmFzxLF5bGEga2FyxZ/EsWxhxZ/EsXLEsXouIEJ1IMWfZWhyaW4gZW4gw7ZuZW1saSB5w7ZuZXRpY2lzaSDEsMWfbGVtY2ksIHlhbmkgQ1BVJ2R1ciAoQ2VudHJhbCBQcm9jZXNzaW5nIFVuaXQpLiDEsMWfbGVtY2ksIGtsYXZ5ZWRlbiBiYXN0xLHEn8SxbsSxeiBoZXIgdHXFn3UsIGZhcmV5bGUgeWFwdMSxxJ/EsW7EsXogaGVyIHTEsWtsYW1hecSxIHZlIG95bmFkxLHEn8SxbsSxeiBveXVubGFyZGFraSB0w7xtIG1hdGVtYXRpa3NlbCBoZXNhcGxhbWFsYXLEsSBzYW5peWVuaW4gbWlseWFyZGEgYmlyaW5kZSDDp8O2emVyLjwvcD48cD5QZWtpIGJ1IHBhcsOnYWxhciBiaXJiaXJpeWxlIG5hc8SxbCBrb251xZ91cj8gxLDFn3RlIGJ1cmFkYSBkZXZyZXllIEFuYWthcnQgKE1vdGhlcmJvYXJkKSBnaXJlci4gQW5ha2FydCwgacWfbGVtY2lkZW4gYmVsbGXEn2UsIGVrcmFuIGthcnTEsW5kYW4gc2VzIGthcnTEsW5hIGthZGFyIHTDvG0gcGFyw6dhbGFyxLFuIMO8emVyaW5lIHRha8SxbGTEscSfxLEgdmUgYXJhbGFyxLFuZGFraSB2ZXJpIHRyYWZpxJ9pbmkgecO2bmV0ZW4gYW5hIGRldnJlZGlyLjwvcD48ZGl2IGNsYXNzPVwibGVzc29uLWdyaWRcIj48ZGl2IGNsYXNzPVwiaW5mby1ib3hcIj48aDQ+PHNwYW4gc3R5bGU9XCJmb250LXNpemU6MThweFwiPvCfp6A8L3NwYW4+IMSwxZ9sZW1jaSAoQ1BVKTwvaDQ+PHA+VMO8bSBoZXNhcGxhbWFsYXLEsSB5YXBhbiwga29tdXRsYXLEsSB5w7xyw7x0ZW4gYmlsZ2lzYXlhcsSxbiBrb211dGEgdmUga2FyYXIgbWVya2V6aWRpci48L3A+PC9kaXY+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5uj77iPPC9zcGFuPiBBbmFrYXJ0PC9oND48cD5QYXLDp2FsYXLEsW4gYmHEn2xhbmTEscSfxLEsIGVsZWt0cmnEn2kgdmUgYmlsZ2l5aSBkb8SfcnUgeWVyZSBpbGV0ZW4gYsO8ecO8ayBvdG9iYW5kxLFyLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVwidGlwLWJveFwiPjxzcGFuIGNsYXNzPVwidGlwLWljb25cIj7wn5KhPC9zcGFuPjxkaXY+PHN0cm9uZz7EsMWfbGVtY2kgSXPEsW7EsXJzYSBOZSBPbHVyPzwvc3Ryb25nPjxwPsSwxZ9sZW1jaWxlciDDp29rIHlvxJ91biDDp2FsxLHFn3TEsWtsYXLEsSBpw6dpbiDDp2FidWsgxLFzxLFuxLFybGFyLiBCdSBuZWRlbmxlIMO8emVybGVyaW5kZSBoZXIgemFtYW4gZ8O8w6dsw7wgYmlyIHNvxJ91dHVjdSBmYW4gYnVsdW51ci48L3A+PC9kaXY+PC9kaXY+IiwiaW1hZ2VDYXB0aW9uIjoiQW5ha2FydCDDvHplcmluZGVraSBtaWtyb8OnaXBsZXIgdmUgbWVya2V6aSBpxZ9sZW0gYmlyaW1pIiwiaW1hZ2VVcmwiOiJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU5MTc5OTI2NDMxOC03ZTZlZjhkZGI3ZWE/YXV0bz1mb3JtYXQmZml0PWNyb3Amdz0xMjAwJnE9ODAifSx7Im5hdiI6IvCfkr4gQmVsbGVrIFTDvHJsZXJpIiwia2lja2VyIjoi8J+Pt++4jyBIQUZJWkEgVkUgREVQT0xBTUEiLCJ0aXRsZSI6IvCfk5ogQmlsZ2l5aSBTYWtsYW1hOiBSQU0gdmUgU2FiaXQgRGlzayBGYXJrxLEiLCJib2R5IjoiPHA+QmlsZ2lzYXlhciBiaWxnaWxlcmkgbmVyZWRlIHR1dGFyPyBCdXJhZGEgaWtpIGZhcmtsxLEgaGFmxLF6YSB0w7xyw7xuw7wgYW5sYW1hbcSxeiBnZXJla2lyOiBHZcOnaWNpIEJlbGxlayAoUkFNKSB2ZSBLYWzEsWPEsSBEZXBvbGFtYSAoU2FiaXQgRGlzayAvIFNTRCkuIFJBTSBiZWxsZWsgYmlsZ2lzYXlhcsSxbiDDp2FsxLHFn21hIG1hc2FzxLFkxLFyLiBEZXJzIMOnYWzEscWfxLFya2VuIG1hc2FuxLF6YSBhw6d0xLHEn8SxbsSxeiBkZWZ0ZXIgdmUga2l0YXBsYXIgZ2liaSwgbyBhbiBrdWxsYW5kxLHEn8SxbsSxeiBwcm9ncmFtbGFyIFJBTSDDvHplcmluZGUgYcOnxLFrIGR1cnVyLjwvcD48cD5TYWJpdCBEaXNrIChIREQvU1NEKSBpc2Ugb2RhbsSxemRha2kga8O8dMO8cGhhbmUgZG9sYWLEsWTEsXIuIEJpbGdpc2F5YXLEsW7EsXrEsSBrYXBhdHTEscSfxLFuxLF6ZGEgUkFNIG1hc2FzxLFuZGFraSBoZXIgxZ9leSBzaWxpbmlyOyBmYWthdCBrw7x0w7xwaGFuZW5pemRla2kga2l0YXBsYXIsIHlhbmkgZGlza2Uga2F5ZGV0dGnEn2luaXogcmVzaW1sZXIsIMO2ZGV2bGVyIHZlIG95dW5sYXIgecSxbGxhcmNhIGfDvHZlbmxlIHNha2xhbsSxci48L3A+PGRpdiBjbGFzcz1cImxlc3Nvbi1ncmlkXCI+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7imqE8L3NwYW4+IFJBTSAoR2XDp2ljaSBCZWxsZWspPC9oND48cD7Dh29rIGjEsXpsxLFkxLFyLCBhbmzEsWsgcHJvZ3JhbWxhcsSxIMOnYWzEscWfdMSxcsSxciBhbmNhayBiaWxnaXNheWFyIGthcGFuZMSxxJ/EsW5kYSBpw6dpbmRla2kgYmlsZ2lsZXIgdcOnYXIuPC9wPjwvZGl2PjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+XhO+4jzwvc3Bhbj4gU1NEIC8gU2FiaXQgRGlzazwvaDQ+PHA+Rm90b8SfcmFmbGFyxLFuxLF6xLEsIHZpZGVvbGFyxLFuxLF6xLEgdmUgacWfbGV0aW0gc2lzdGVtaW5pIGVsZWt0cmlrIGtlc2lsc2UgYmlsZSBrYWzEsWPEsSBvbGFyYWsgc2FrbGFyLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPVwidGlwLWJveFwiPjxzcGFuIGNsYXNzPVwidGlwLWljb25cIj7wn5KhPC9zcGFuPjxkaXY+PHN0cm9uZz7DlmRldmkgS2F5ZGV0bWV5aSBVbnV0bWEhPC9zdHJvbmc+PHA+WWF6ZMSxxJ/EsW7EsXogYmlyIG1ldGluIHNpeiAnS2F5ZGV0JyBkw7zEn21lc2luZSBiYXNhbmEga2FkYXIgc2FkZWNlIFJBTSdkZWRpci4gRWxla3RyaWsgZ2lkZXJzZSBrYXlib2x1ciE8L3A+PC9kaXY+PC9kaXY+IiwiaW1hZ2VDYXB0aW9uIjoiR2XDp2ljaSBSQU0gYmVsbGVrIG1vZMO8bGxlcmkgdmUga2FsxLFjxLEgZGVwb2xhbWEgc8O8csO8Y8O8bGVyaSIsImltYWdlVXJsIjoiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NjI5NzY1NDAtMTUwMmMyMTQ1MTg2P2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTIwMCZxPTgwIn0seyJuYXYiOiLwn5SMIEdpcmnFnyB2ZSDDh8Sxa8SxxZ8iLCJraWNrZXIiOiLwn4+377iPIMOHRVZSRSBCxLBSxLBNTEVSxLAiLCJ0aXRsZSI6IvCflIQgVmVyaSBEw7ZuZ8O8c8O8OiBHaXJkaSwgxLDFn2xlbSB2ZSDDh8Sxa3TEsSIsImJvZHkiOiI8cD5CaXIgYmlsZ2lzYXlhciBkxLHFnyBkw7xueWF5bGEgbmFzxLFsIGlsZXRpxZ9pbSBrdXJhcj8gQmlsZ2lzYXlhcmxhciB2ZXJpIGnFn2xlbWUgZMO2bmfDvHPDvCBhZMSxIHZlcmlsZW4gdGVtZWwgYmlyIHByZW5zaXBsZSDDp2FsxLHFn8SxcjogR2lyacWfIC0+IMSwxZ9sZW0gLT4gw4fEsWvEscWfLiBExLHFn2FyxLFkYW4gYmlsZ2kgZ2lybWVtaXppIHNhxJ9sYXlhbiBhcmHDp2xhcmEgR2lyacWfIEJpcmltbGVyaSBkZW5pci4gS2xhdnllZGVuIHlhesSxIHlhem1haywgZmFyZXlsZSBzZcOnaW0geWFwbWFrIHZleWEgbWlrcm9mb25sYSBzZXMga2F5ZGV0bWVrIGJpcmVyIGdpcmnFnyBleWxlbWlkaXIuPC9wPjxwPsSwxZ9sZW1jaSBidSBnaXJkaWxlcmkgacWfbGVkaWt0ZW4gc29ucmEgc29udWN1IGJpemUgaWxldG1layBpw6dpbiDDh8Sxa8SxxZ8gQmlyaW1sZXJpbmkga3VsbGFuxLFyLiBFa3JhbmRhIHJlc21pIGfDtnJtZWsgKE1vbml0w7ZyKSwgxZ9hcmvEsXnEsSBkdXltYWsgKEhvcGFybMO2cikgdmV5YSDDtmRldmltaXppIGthxJ/EsWRhIGTDtmttZWsgKFlhesSxY8SxKSBpc2Ugw6fEsWt0xLEgYWTEsW3EsWTEsXIuPC9wPjxkaXYgY2xhc3M9XCJsZXNzb24tZ3JpZFwiPjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+TpTwvc3Bhbj4gR2lyacWfIEJpcmltbGVyaTwvaDQ+PHA+S2xhdnllLCBGYXJlLCBNaWtyb2ZvbiwgS2FtZXJhLCBUYXJhecSxY8SxIGJpbGdpc2F5YXJhIGtvbXV0IHZlIHZlcmkgYWt0YXLEsXIuPC9wPjwvZGl2PjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+TpDwvc3Bhbj4gw4fEsWvEscWfIEJpcmltbGVyaTwvaDQ+PHA+TW9uaXTDtnIsIEhvcGFybMO2ciwgS3VsYWtsxLFrLCBZYXrEsWPEsSB2ZSBQcm9qZWtzaXlvbiBjaWhhesSxIHNvbnXDp2xhcsSxIGt1bGxhbsSxY8SxeWEgc3VuYXIuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJ0aXAtYm94XCI+PHNwYW4gY2xhc3M9XCJ0aXAtaWNvblwiPvCfkqE8L3NwYW4+PGRpdj48c3Ryb25nPkRva3VubWF0aWsgRWtyYW4gTmVkaXI/PC9zdHJvbmc+PHA+RG9rdW5tYXRpayBla3JhbmxhciBoZW0gcGFybWHEn8SxbcSxemxhIGRva3VudXAga29tdXQgdmVyZGnEn2ltaXogKGdpcmnFnykgaGVtIGRlIGfDtnLDvG50w7x5w7wgaXpsZWRpxJ9pbWl6ICjDp8Sxa8SxxZ8pIGnDp2luIMOnaWZ0IHnDtm5sw7wgYmlyaW1kaXIuPC9wPjwvZGl2PjwvZGl2PiIsImltYWdlQ2FwdGlvbiI6IktsYXZ5ZSwgZmFyZSB2ZSBtb25pdMO2ciBnaWJpIHRlbWVsIMOnZXZyZSBiaXJpbWxlcmkiLCJpbWFnZVVybCI6Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTI3NDQzMjI0MTU0LWM0YTM5NDJkM2FjZj9hdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTEyMDAmcT04MCJ9LHsibmF2Ijoi4pqZ77iPIFlhesSxbMSxbSBEw7xueWFzxLEiLCJraWNrZXIiOiLwn4+377iPIEtPRExBUiBWRSBQUk9HUkFNTEFSIiwidGl0bGUiOiLwn5al77iPIFNpc3RlbSBZYXrEsWzEsW3EsSB2ZSBVeWd1bGFtYSBZYXrEsWzEsW1sYXLEsSIsImJvZHkiOiI8cD5Eb25hbsSxbWxhcsSxbiBjYW5sYW5tYXPEsSBpw6dpbiB5YXrEsWzEsW1sYXJhIGlodGl5YcOnIHZhcmTEsXIuIFlhesSxbMSxbWxhciB0ZW1lbGRlIGlraSBhbmEgZ3J1cHRhIGluY2VsZW5pcjogU2lzdGVtIFlhesSxbMSxbWxhcsSxICjEsMWfbGV0aW0gU2lzdGVtbGVyaSkgdmUgVXlndWxhbWEgWWF6xLFsxLFtbGFyxLEuIMSwxZ9sZXRpbSBzaXN0ZW1pLCBiaWxnaXNheWFyIGHDp8SxbGTEscSfxLEgYW5kYW4gaXRpYmFyZW4gZG9uYW7EsW1sYXLEsSB5w7ZuZXRlbiwgZWtyYW7EsSBrb250cm9sIGVkZW4gZGV2IGJpciBva3VsIG3DvGTDvHLDvCBnaWJpZGlyLjwvcD48cD5XaW5kb3dzLCBQYXJkdXMsIExpbnV4LCBBbmRyb2lkIHZlIG1hY09TIGVuIGJpbGluZW4gacWfbGV0aW0gc2lzdGVtbGVyaWRpci4gVXlndWxhbWEgeWF6xLFsxLFtbGFyxLEgaXNlIGJlbGlybGkgYmlyIGFtYWNhIHnDtm5lbGlrIG9sYXJhayBrdWxsYW5kxLHEn8SxbcSxeiBwcm9ncmFtbGFyZMSxci4gUmVzaW0gw6dpem1layBpw6dpbiBQYWludCwgaW50ZXJuZXRlIGdpcm1layBpw6dpbiB3ZWIgdGFyYXnEsWPEsXPEsSwgZGVycyDDp2FsxLHFn21hayBpw6dpbiBvZmlzIHByb2dyYW1sYXLEsSBiaXJlciB1eWd1bGFtYSB5YXrEsWzEsW3EsWTEsXIuPC9wPjxkaXYgY2xhc3M9XCJsZXNzb24tZ3JpZFwiPjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+boe+4jzwvc3Bhbj4gxLDFn2xldGltIFNpc3RlbWk8L2g0PjxwPkJpbGdpc2F5YXLEsW4gdMO8bSBkb25hbsSxbSB2ZSB5YXrEsWzEsW1sYXLEsW7EsSBpZGFyZSBlZGVuIGVuIHRlbWVsIHNpc3RlbSB5YXrEsWzEsW3EsWTEsXIuPC9wPjwvZGl2PjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+OqDwvc3Bhbj4gVXlndWxhbWEgWWF6xLFsxLFtxLE8L2g0PjxwPk95dW5sYXIsIMOnaXppbSBwcm9ncmFtbGFyxLEsIGhlc2FwIGFyYcOnbGFyxLEgdmUgdmlkZW8gb3luYXTEsWPEsWxhciBnaWJpIMO2emVsbGXFn21pxZ8gcHJvZ3JhbWxhcmTEsXIuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJ0aXAtYm94XCI+PHNwYW4gY2xhc3M9XCJ0aXAtaWNvblwiPvCfkqE8L3NwYW4+PGRpdj48c3Ryb25nPk1pbGxpIEd1cnVydW11eiBQYXJkdXMhPC9zdHJvbmc+PHA+VMOcQsSwVEFLIHRhcmFmxLFuZGFuIGdlbGnFn3RpcmlsZW4gUGFyZHVzLCDDvGxrZW1pemUgYWl0IMO2emfDvHIgdmUgZ8O8dmVubGkgYmlyIHllcmxpIGnFn2xldGltIHNpc3RlbWlkaXIuPC9wPjwvZGl2PjwvZGl2PiIsImltYWdlQ2FwdGlvbiI6IsSwxZ9sZXRpbSBzaXN0ZW1pIGFyYXnDvHrDvCB2ZSBtb2Rlcm4gbWFzYcO8c3TDvCB5YXrEsWzEsW1sYXLEsSIsImltYWdlVXJsIjoiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1NTUwNjY5MzEtNDM2NWQxNGJhYjhjP2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTIwMCZxPTgwIn1dOwpjb25zdCBwYXJ0cyA9IFt7ImVtb2ppIjoi8J+noCIsIm5hbWUiOiLEsMWfbGVtY2kgKENQVSkiLCJ0eXBlIjoixLDDpyBEb25hbsSxbSIsImRlc2MiOiJCaWxnaXNheWFyZGFraSB0w7xtIG1hdGVtYXRpa3NlbCBoZXNhcGxhbWFsYXLEsSB2ZSBtYW50xLFrc2FsIGthcmFybGFyxLEgc2FuaXllbGVyIGnDp2luZGUgYWxhbiBtZXJrZXppIGJleWluIGJpcmltaWRpci4iLCJleGFtcGxlIjoiQmlyIG95dW5kYSBrYXJha3RlcmkgecO8csO8dG1layBpw6dpbiBiYXN0xLHEn8SxbsSxeiB0dcWfdW4gaGVzYXBsYW7EsXAga2FyYWt0ZXJlIGlsZXRpbG1lc2kuIn0seyJlbW9qaSI6IuKaoSIsIm5hbWUiOiJSQU0gKEdlw6dpY2kgQmVsbGVrKSIsInR5cGUiOiLEsMOnIERvbmFuxLFtIC8gQmVsbGVrIiwiZGVzYyI6IkJpbGdpc2F5YXIgYcOnxLFra2VuIMO8emVyaW5kZSDDp2FsxLHFn8SxbGFuIHByb2dyYW1sYXLEsW4gaMSxemzEsWNhIMOnYWzEscWfbWFzxLFuxLEgc2HEn2xheWFuIGdlw6dpY2kgw6dhbMSxxZ9tYSBtYXNhc8SxZMSxci4iLCJleGFtcGxlIjoixLBudGVybmV0dGUgYXluxLEgYW5kYSA1IGZhcmtsxLEgd2ViIHNheWZhc8SxIHNla21lc2luaSBhw6fEsWsgdHV0dXAgYXJhbGFyxLFuZGEgZ2XDp2nFnyB5YXBtYWsuIn0seyJlbW9qaSI6IvCfl4TvuI8iLCJuYW1lIjoiU2FiaXQgRGlzayAvIFNTRCIsInR5cGUiOiJEZXBvbGFtYSBEb25hbsSxbcSxIiwiZGVzYyI6IkJpbGdpc2F5YXIga2FwYW5zYSBiaWxlIGRvc3lhLCByZXNpbSwgdmlkZW8gdmUgb3l1bmxhcsSxbiBib3p1bG1hZGFuIHNha2xhbmTEscSfxLEga2FsxLFjxLEgZGVwbyBiaXJpbWlkaXIuIiwiZXhhbXBsZSI6IlnEsWwgc29udSBnw7ZzdGVyaXNpbmRlIMOnZWtpbGVuIGZvdG/En3JhZmxhcsSxbiBiaWxnaXNheWFyIGthcGFsxLF5a2VuIGJpbGUgecSxbGxhcmNhIHNha2xhbmFiaWxtZXNpLiJ9LHsiZW1vamkiOiLijKjvuI8iLCJuYW1lIjoiS2xhdnllIHZlIEZhcmUiLCJ0eXBlIjoiR2lyacWfIEJpcmltaSIsImRlc2MiOiJLdWxsYW7EsWPEsW7EsW4gYmlsZ2lzYXlhcmEgaGFyZiwgcmFrYW0sIGtvbXV0IHZlIHnDtm5sZW5kaXJtZWxlcmkgaWxldG1lc2luaSBzYcSfbGF5YW4gZMSxxZ8gZG9uYW7EsW1sYXJkxLFyLiIsImV4YW1wbGUiOiJGZW4gQmlsaW1sZXJpIHByb2plbml6IGnDp2luIGFyYcWfdMSxcm1hIHJhcG9ydW51IGJpbGdpc2F5YXJkYSB5YXrEsXlhIGTDtmttZWsuIn0seyJlbW9qaSI6IvCflqXvuI8iLCJuYW1lIjoiTW9uaXTDtnIgKEVrcmFuKSIsInR5cGUiOiLDh8Sxa8SxxZ8gQmlyaW1pIiwiZGVzYyI6Ikthc2FuxLFuIGnDp2VyaXNpbmRlIGnFn2xlbmVuIGJpbGdpbGVyaW4sIHJlbmtsZXJpbiB2ZSBwZW5jZXJlbGVyaW4gZ8O2esO8bcO8emxlIGfDtnJlYmlsZWNlxJ9pbWl6IGhhbGUgZ2VsbWVzaW5pIHNhxJ9sYXlhbiBnw7Zyw7xudMO8IGFyYWPEsWTEsXIuIiwiZXhhbXBsZSI6IsOHaXpkacSfaW5peiBkaWppdGFsIHJlc21pIHZleWEgaXpsZWRpxJ9pbml6IGXEn2l0aWNpIHZpZGVveXUgcGlrc2VsbGVyIGhhbGluZGUgZ8O2cmViaWxtZWsuIn0seyJlbW9qaSI6IvCfkKciLCJuYW1lIjoixLDFn2xldGltIFNpc3RlbWkiLCJ0eXBlIjoiU2lzdGVtIFlhesSxbMSxbcSxIiwiZGVzYyI6IkRvbmFuxLFtIHBhcsOnYWxhcsSxIGlsZSBrdWxsYW7EsWPEsW7EsW4gYW5sYcWfbWFzxLFuxLEgc2HEn2xheWFuLCB0w7xtIHByb2dyYW1sYXLEsW4gdGVtZWxpbmRlIMOnYWzEscWfYW4gYW5hIHlhesSxbMSxbWTEsXIuIiwiZXhhbXBsZSI6IldpbmRvd3MsIFBhcmR1cyB2ZXlhIGFrxLFsbMSxIHRlbGVmb25sYXLEsW3EsXpkYWtpIEFuZHJvaWQgc2lzdGVtaS4ifV07CmNvbnN0IHF1ZXN0aW9ucyA9IFt7InEiOiJFbGVrdHJpayBrZXNpbGRpxJ9pbmRlIGnDp2luZGVraSB2ZXJpbGVyaW4gdGFtYW3EsSBzaWxpbmVuIGRvbmFuxLFtIGJpcmltaSBhxZ9hxJ/EsWRha2lsZXJkZW4gaGFuZ2lzaWRpcj8iLCJvcHRzIjpbIlNhYml0IERpc2sgKFNTRCkiLCJSQU0gQmVsbGVrIiwixLDFn2xlbWNpIChDUFUpIiwiT3B0aWsgU8O8csO8Y8O8Il0sImEiOjEsIndoeSI6IlJBTSBnZcOnaWNpIGJpciBiZWxsZWt0aXI7IHlhbG7EsXpjYSBiaWxnaXNheWFyIGHDp8Sxa2tlbiB2ZSBlbGVrdHJpayB2YXJrZW4gdmVyaWxlcmkgw7x6ZXJpbmRlIHR1dGFyLiJ9LHsicSI6IkJpbGdpc2F5YXJhIGJhxJ9sYW5hbiBtaWtyb2ZvbiBoYW5naSBkb25hbsSxbSBrYXRlZ29yaXNpbmUgYWl0dGlyPyIsIm9wdHMiOlsiw4fEsWvEscWfIEJpcmltaSIsIkRlcG9sYW1hIEJpcmltaSIsIkdpcmnFnyBCaXJpbWkiLCLEsMOnIERvbmFuxLFtIl0sImEiOjIsIndoeSI6Ik1pa3JvZm9uIHNlc2ltaXppIGTEscWfYXLEsWRhbiBhbMSxcCBiaWxnaXNheWFyxLFuIGnDp2luZSBha3RhcmTEscSfxLEgacOnaW4gYmlyIGdpcmnFnyBiaXJpbWlkaXIuIn0seyJxIjoiQmlsZ2lzYXlhcsSxbiB0w7xtIHBhcsOnYWxhcsSxbsSxIMO8emVyaW5lIGJhxJ9sYXlhbiB2ZSB2ZXJpIGlsZXRpxZ9pbWluaSBzYcSfbGF5YW4gYW5hIGRldnJlIGthcnTEsSBoYW5naXNpZGlyPyIsIm9wdHMiOlsiQW5ha2FydCIsIkVrcmFuIEthcnTEsSIsIkfDvMOnIEtheW5hxJ/EsSIsIlNlcyBLYXJ0xLEiXSwiYSI6MCwid2h5IjoiQW5ha2FydCwgdMO8bSBpw6cgdmUgZMSxxZ8gYmlsZcWfZW5sZXJpbiBiaXJiaXJpbmUgYmHEn2xhbmTEscSfxLEgbWVya2V6aSBlbGVrdHJvbmlrIGthcnR0xLFyLiJ9LHsicSI6IlTDnELEsFRBSyB0YXJhZsSxbmRhbiBnZWxpxZ90aXJpbGVuIG1pbGxpIGnFn2xldGltIHNpc3RlbWltaXppbiBhZMSxIG5lZGlyPyIsIm9wdHMiOlsiV2luZG93cyIsIkxpbnV4IE1pbnQiLCJBbmRyb2lkIiwiUGFyZHVzIl0sImEiOjMsIndoeSI6IlBhcmR1cywgVMO8cmtpeWUnZGUgVMOcQsSwVEFLIFVMQUtCxLBNIHRhcmFmxLFuZGFuIGdlbGnFn3RpcmlsZW4geWVybGkgdmUgbWlsbGkgYmlyIGnFn2xldGltIHNpc3RlbWlkaXIuIn0seyJxIjoiQcWfYcSfxLFkYWtpbGVyZGVuIGhhbmdpc2kgZG/En3J1ZGFuIGJpciAnw4fEsWvEscWfIEJpcmltaScgw7ZybmXEn2lkaXI/Iiwib3B0cyI6WyJCYXJrb2QgT2t1eXVjdSIsIldlYiBLYW1lcmFzxLEiLCJIb3BhcmzDtnIiLCJLbGF2eWUiXSwiYSI6Miwid2h5IjoiSG9wYXJsw7ZyLCBiaWxnaXNheWFyZGEgw7xyZXRpbGVuIHNlc2kgZMSxxZ9hcsSxeWEgZGlubGV5ZWJpbG1lbWl6IGnDp2luIGlsZXR0acSfaW5kZW4gw6fEsWvEscWfIGJpcmltaWRpci4ifV07CmNvbnN0IG1hdGNoSXRlbXMgPSBbeyJuYW1lIjoixLDFn2xlbWNpIChDUFUpIiwiYSI6IlZlcmlsZXJpIGnFn2xleWVuIGJpbGdpc2F5YXLEsW4gYmV5bmkifSx7Im5hbWUiOiJSQU0gQmVsbGVrIiwiYSI6IkJpbGdpc2F5YXIgYcOnxLFra2VuIMOnYWzEscWfYW4gZ2XDp2ljaSBoYWbEsXphIn0seyJuYW1lIjoiU2FiaXQgRGlzayAoU1NEKSIsImEiOiJEb3N5YWxhcsSxbiBrYWzEsWPEsSBvbGFyYWsgc2FrbGFuZMSxxJ/EsSBkZXBvIn0seyJuYW1lIjoixLDFn2xldGltIFNpc3RlbWkiLCJhIjoiRG9uYW7EsW0gaWxlIGt1bGxhbsSxY8SxIGFyYXPEsW5kYWtpIGvDtnByw7wgeWF6xLFsxLFtIn0seyJuYW1lIjoiWWF6xLFjxLEiLCJhIjoiRGlqaXRhbCBiZWxnZWxlcmkga2HEn8SxZGEgZMO2a2VuIMOnxLFrxLHFnyBiaXJpbWkifV07CmNvbnN0IG1hdGNoT3B0aW9ucyA9IFsiRG9zeWFsYXLEsW4ga2FsxLFjxLEgb2xhcmFrIHNha2xhbmTEscSfxLEgZGVwbyIsIkRvbmFuxLFtIGlsZSBrdWxsYW7EsWPEsSBhcmFzxLFuZGFraSBrw7ZwcsO8IHlhesSxbMSxbSIsIkJpbGdpc2F5YXIgYcOnxLFra2VuIMOnYWzEscWfYW4gZ2XDp2ljaSBoYWbEsXphIiwiRGlqaXRhbCBiZWxnZWxlcmkga2HEn8SxZGEgZMO2a2VuIMOnxLFrxLHFnyBiaXJpbWkiLCJWZXJpbGVyaSBpxZ9sZXllbiBiaWxnaXNheWFyxLFuIGJleW5pIl07CmNvbnN0IGNhc2VzID0gW3sidGl0bGUiOiLwn5SMIEVsZWt0cmlrIEtlc2ludGlzaSBGZWxha2V0aSIsInRleHQiOiJFZmUgYmlsZ2lzYXlhcsSxbmRhIDIgc2FhdCBib3l1bmNhIGJpciBoaWtheWUgeWF6ZMSxIGFuY2FrIGtheWRldCBkw7zEn21lc2luZSBoacOnIGJhc21hZMSxLiBCaXJkZW4gZWxla3RyaWtsZXIga2VzaWxkaS4gRWZlIGJpbGdpc2F5YXLEsSB0ZWtyYXIgYcOndMSxxJ/EsW5kYSBoaWtheWVzaW5pIGJ1bGFtYWTEsS4gQnUgZHVydW0gaGFuZ2kgYmlyaW1pbiDDp2FsxLHFn21hIHlhcMSxc8SxeWxhIGlsZ2lsaWRpcj8iLCJvcHRzIjpbIkVmZSduaW4geWF6ZMSxxJ/EsSB5YXrEsWxhciBSQU0gYmVsbGVrdGUgdHV0dWxkdcSfdSBpw6dpbiBlbGVrdHJpayBrZXNpbGluY2Ugc2lsaW5tacWfdGlyLiIsIsSwxZ9sZW1jaSDDp29rIMSxc8SxbmTEscSfxLEgacOnaW4geWF6xLF5xLEgc2FiaXQgZGlza3RlbiBrYXN0ZW4gc2lsbWnFn3Rpci4iLCJNb25pdMO2ciBib3p1bGR1xJ91IGnDp2luIHlhesSxbGFyxLEgZ8O2c3Rlcm1leWkgcmVkZGV0bWVrdGVkaXIuIl0sImEiOjAsIndoeSI6IkthecSxdCBlZGlsbWV5ZW4gdmVyaWxlciBnZcOnaWNpIFJBTSBiZWxsZWt0ZSB0dXR1bHVyIHZlIGVsZWt0cmlrIGtlc2lsZGnEn2luZGUgc8SxZsSxcmxhbsSxci4ifSx7InRpdGxlIjoi8J+OpCBTZXMgS2F5ZMSxIEJpbG1lY2VzaSIsInRleHQiOiJaZXluZXAgw7bEn3JldG1lbmluaW4gdmVyZGnEn2kgw7ZkZXYgacOnaW4gYmlyIMWfaWlyIHNlc2xlbmRpcm1layBpc3RpeW9yLiBCaWxnaXNheWFyYSBzZXNpbmkgaWxldGViaWxtZWsgdmUgZGFoYSBzb25yYSBrYXlkZXR0acSfaSBzZXNpIGt1bGHEn8SxeWxhIGRpbmxleWViaWxtZWsgacOnaW4gc8SxcmFzxLF5bGEgaGFuZ2kgYmlyaW1sZXJpIGt1bGxhbm1hbMSxZMSxcj8iLCJvcHRzIjpbIllhesSxY8SxIHZlIFRhcmF5xLFjxLEiLCJNaWtyb2ZvbiAoR2lyacWfKSB2ZSBLdWxha2zEsWsgKMOHxLFrxLHFnykiLCJXZWIgS2FtZXJhc8SxIHZlIFByb2pla3NpeW9uIl0sImEiOjEsIndoeSI6IlNlcyBiaWxnaXNheWFyYSBtaWtyb2ZvbiAoZ2lyacWfKSBpbGUgYWt0YXLEsWzEsXIsIGt1bGFrbMSxayB2ZXlhIGhvcGFybMO2ciAow6fEsWvEscWfKSBpbGUgZGlubGVuaXIuIn0seyJ0aXRsZSI6IvCfkKIgWWF2YcWfbGF5YW4gQmlsZ2lzYXlhciIsInRleHQiOiJBcmRhIGJpbGdpc2F5YXLEsW5kYSBheW7EsSBhbmRhIGhlbSB2aWRlbyBpemxlbWV5ZSwgaGVtIGLDvHnDvGsgYm95dXRsdSBiaXIgw6dpemltIHByb2dyYW3EsSBhw6dtYXlhIGhlbSBkZSBtw7x6aWsgZGlubGVtZXllIMOnYWzEscWfxLF5b3IuIEJpbGdpc2F5YXLEsSBhxZ/EsXLEsSB5YXZhxZ9sxLF5b3IgdmUgcGVuY2VyZWxlciBkb251eW9yLiBBcmRhJ27EsW4gaGFuZ2kgZG9uYW7EsW0gYmlsZcWfZW5pIHlldGVyc2l6IGthbG1ha3RhZMSxcj8iLCJvcHRzIjpbIlJBTSAoR2XDp2ljaSBCZWxsZWspIiwiS2xhdnllIiwiS2FzYSBHw7zDpyBLYWJsb3N1Il0sImEiOjAsIndoeSI6IkF5bsSxIGFuZGEgw6dvayBzYXnEsWRhIHV5Z3VsYW1hbsSxbiBhw6fEsWsgb2xtYXPEsSBSQU0gYmVsbGXEn2kgZG9sZHVydXIgdmUgYmlsZ2lzYXlhcsSxbiBkb25tYXPEsW5hIHNlYmVwIG9sdXIuIn1dOwoKY29uc3QgcmVvcmRlcnNEYXRhID0gW3sidGl0bGUiOiJCaWxnaXNheWFyZGEgQmlsZ2kgxLDFn2xlbWUgRMO2bmfDvHPDvCIsImluc3RydWN0aW9uIjoiQmlyIG1ldGluIGJlbGdlc2kgaGF6xLFybGFya2VuIGdlcsOnZWtsZcWfZW4gYWTEsW1sYXLEsSBtYW50xLFrc2FsIHPEsXJheWEgZ8O2cmUgZGl6aW5pei4iLCJpdGVtcyI6W3sidGV4dCI6IktsYXZ5ZWRlbiBoYXJmIHR1xZ9sYXLEsW5hIGJhc8SxbGFyYWsgdmVyaW5pbiBiaWxnaXNheWFyYSBha3RhcsSxbG1hc8SxIChHaXJpxZ8pIiwiY29ycmVjdE9yZGVyIjoxfSx7InRleHQiOiLEsMWfbGVtY2luaW4gYmFzxLFsYW4gdHXFnyBrb2RsYXLEsW7EsSBpa2lsaWsgc2lzdGVtZSBkw7Zuw7zFn3TDvHLDvHAgaGVzYXBsYW1hc8SxICjEsMWfbGVtKSIsImNvcnJlY3RPcmRlciI6Mn0seyJ0ZXh0IjoiVmVyaWxlcmluIGFubMSxayBvbGFyYWsgYcOnxLFrIG9sYW4gUkFNIGJlbGxlxJ9lIHllcmxlxZ90aXJpbG1lc2kiLCJjb3JyZWN0T3JkZXIiOjN9LHsidGV4dCI6IllhesSxbGFuIGhhcmZsZXJpbiBtb25pdMO2ciBla3JhbsSxbmRhIGfDtnLDvG7DvHIgaGFsZSBnZWxtZXNpICjDh8Sxa8SxxZ8pIiwiY29ycmVjdE9yZGVyIjo0fSx7InRleHQiOiJEb3N5YW7EsW4gJ0theWRldCcgZMO8xJ9tZXNpeWxlIHNhYml0IGRpc2tlIGfDvHZlbmxlIHlhesSxbG1hc8SxIChEZXBvbGFtYSkiLCJjb3JyZWN0T3JkZXIiOjV9XX1dOwpjb25zdCBidWNrZXRTb3J0c0RhdGEgPSBbeyJ0aXRsZSI6IkRvbmFuxLFtIFBhcsOnYWxhcsSxbsSxIMSwxZ9sZXZpbmUgR8O2cmUgU8SxbsSxZmxhbmTEsXIiLCJjYXRlZ29yaWVzIjpbIkdpcmnFnyBCaXJpbWxlcmkiLCLDh8Sxa8SxxZ8gQmlyaW1sZXJpIiwiRGVwb2xhbWEgQmlyaW1sZXJpIl0sIml0ZW1zIjpbeyJ0ZXh0IjoiS2xhdnllIiwiY2F0ZWdvcnlJbmRleCI6MH0seyJ0ZXh0IjoiTW9uaXTDtnIiLCJjYXRlZ29yeUluZGV4IjoxfSx7InRleHQiOiJTYWJpdCBEaXNrIChTU0QpIiwiY2F0ZWdvcnlJbmRleCI6Mn0seyJ0ZXh0IjoiRmFyZSIsImNhdGVnb3J5SW5kZXgiOjB9LHsidGV4dCI6Ikt1bGFrbMSxayIsImNhdGVnb3J5SW5kZXgiOjF9LHsidGV4dCI6IlVTQiBGbGHFnyBCZWxsZWsiLCJjYXRlZ29yeUluZGV4IjoyfSx7InRleHQiOiJNaWtyb2ZvbiIsImNhdGVnb3J5SW5kZXgiOjB9LHsidGV4dCI6IllhesSxY8SxIiwiY2F0ZWdvcnlJbmRleCI6MX1dfV07CmNvbnN0IHNwb3RUaGVCdWdzRGF0YSA9IFt7InRpdGxlIjoiQcOnxLFsxLHFnyBTw7xyZWNpbmRla2kgSGF0YWzEsSBBZMSxbcSxIEJ1bCIsInNjZW5hcmlvIjoiQmlyIG1hc2HDvHN0w7wgYmlsZ2lzYXlhcsSxbiBhw6fEsWzEscWfIHZlIMOnYWzEscWfbWEgYWTEsW1sYXLEsSBhxZ9hxJ/EsWRhIHPEsXJheWxhIGxpc3RlbGVubWnFn3Rpci4gQW5jYWsgYWTEsW1sYXJkYW4gYmlyaSBtYW50xLFrc2FsIGJpciBkb25hbsSxbSBoYXRhc8SxIGnDp2VybWVrdGVkaXIuIiwibGluZXMiOlsiMS4gS2FzYSDDvHplcmluZGVraSBnw7zDpyBidXRvbnVuYSBiYXPEsWzEsXIgdmUgYW5ha2FydGEgZWxla3RyaWsgdWxhxZ/EsXIuIiwiMi4gQW5ha2FydCDDvHplcmluZGVraSBCSU9TIMOnaXBpIGnFn2xlbWNpIHZlIFJBTSBwYXLDp2FsYXLEsW7EsSB0ZXN0IGVkZXIuIiwiMy4gVMO8bSByZXNpbSB2ZSBveXVuIGRvc3lhbGFyxLEgbW9uaXTDtnLDvG4gacOnaW5lIGthbMSxY8SxIG9sYXJhayB5w7xrbGVuaXIuIiwiNC4gxLDFn2xldGltIHNpc3RlbWkgc2FiaXQgZGlza3RlbiBva3VudXAgw6dhbMSxxZ9tYSBpw6dpbiBSQU0gYmVsbGXEn2UgYWt0YXLEsWzEsXIuIiwiNS4gTWFzYcO8c3TDvCBla3JhbsSxIG1vbml0w7ZyZSB5YW5zxLF0xLFsxLFyIHZlIHNpc3RlbSBrdWxsYW7EsWPEsXlhIGhhesSxciBvbHVyLiJdLCJidWdneUxpbmVJbmRleCI6MiwiZXhwbGFuYXRpb24iOiJNb25pdMO2ciBiaXIgZGVwb2xhbWEgYmlyaW1pIGRlxJ9pbCwgeWFsbsSxemNhIGJpciDDp8Sxa8SxxZ8gYmlyaW1pZGlyLiBEb3N5YWxhciBtb25pdMO2csO8biBpw6dpbmUga2F5ZGVkaWxlbWV6IHZleWEgecO8a2xlbmVtZXo7IGRvc3lhbGFyIHNhYml0IGRpc2t0ZSB0dXR1bHVyLiJ9XTsKY29uc3QgY2xvemVQYXNzYWdlc0RhdGEgPSBbeyJ0aXRsZSI6IlRlbWVsIEJpbGdpc2F5YXIgTWltYXJpc2kiLCJ0ZXh0IjoiQmlsZ2lzYXlhcmRhIHZlcmlsZXJpIGnFn2xleWVuIGJpcmltZSBfX18gZGVuaXIuIEVsZWt0cmlrIGtlc2lsZGnEn2luZGUgacOnaW5kZWtpIGJpbGdpbGVyIHNpbGluZW4gZ2XDp2ljaSBiZWxsZcSfZSBfX18gYWTEsSB2ZXJpbGlya2VuLCBkb3N5YWxhcsSxbcSxesSxbiBrYWzEsWPEsSBzYWtsYW5kxLHEn8SxIGJpcmltIF9fXyBvbGFyYWsgYmlsaW5pci4iLCJibGFua3MiOlt7ImluZGV4IjowLCJjb3JyZWN0V29yZCI6IsSwxZ9sZW1jaSJ9LHsiaW5kZXgiOjEsImNvcnJlY3RXb3JkIjoiUkFNIn0seyJpbmRleCI6MiwiY29ycmVjdFdvcmQiOiJTYWJpdCBEaXNrIn1dLCJ3b3JkUG9vbCI6WyLEsMWfbGVtY2kiLCJSQU0iLCJTYWJpdCBEaXNrIiwiTW9uaXTDtnIiLCJLbGF2eWUiXX1dOwoKbGV0IGN1cnJlbnRTbGlkZT0wLCB2aXNpdGVkPW5ldyBTZXQoKSwgc2VsZWN0ZWRQYXJ0PW51bGwsIHF1aXpBbnN3ZXJzPXt9LCBtYXRjaENoZWNrZWQ9ZmFsc2UsIGNhc2VJbmRleD0wOwpsZXQgdG90YWxCdFBvaW50cz0wLCBlYXJuZWRRdWVzdGlvbnM9bmV3IFNldCgpLCBlYXJuZWRDYXNlcz1uZXcgU2V0KCksIG1hdGNoRWFybmVkPWZhbHNlOwoKLy8gWWVuaSBLYXJ0IER1cnVtIERlxJ9pxZ9rZW5sZXJpCmxldCByZW9yZGVySXRlbXMgPSBbXTsKbGV0IHJlb3JkZXJFYXJuZWQgPSBmYWxzZTsKCmxldCBzZWxlY3RlZEJ1Y2tldEl0ZW1JZHggPSBudWxsOwpsZXQgYnVja2V0SXRlbXNTdGF0ZSA9IFtdOwpsZXQgYnVja2V0RWFybmVkID0gZmFsc2U7CgpsZXQgYnVnU2VsZWN0ZWRJbmRleCA9IG51bGw7CmxldCBidWdFYXJuZWQgPSBmYWxzZTsKCmxldCBjbG96ZVNsb3RzID0ge307CmxldCBhY3RpdmVDbG96ZUJsYW5rSWR4ID0gbnVsbDsKbGV0IGNsb3plRWFybmVkID0gZmFsc2U7CgovLyBBa8SxbGzEsSBUYWh0YSDDh2l6aW0gS2F0bWFuxLEgRHVydW0gRGXEn2nFn2tlbmxlcmkKbGV0IGlzQm9hcmREcmF3TW9kZSA9IGZhbHNlOwpsZXQgaXNCb2FyZFBhaW50aW5nID0gZmFsc2U7CmxldCBib2FyZEN0eCA9IG51bGw7CmxldCBsYXN0RHJhd1ggPSAwOwpsZXQgbGFzdERyYXdZID0gMDsKCmZ1bmN0aW9uIGdldEVtYmVkVXJsKHUpewogIGlmKCF1KSByZXR1cm4gJyc7CiAgdHJ5IHsKICAgIGlmKHUuaW5kZXhPZigneW91dHUuYmUvJykgIT09IC0xKXsKICAgICAgcmV0dXJuICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nICsgdS5zcGxpdCgneW91dHUuYmUvJylbMV0uc3BsaXQoL1s/IyZdLylbMF07CiAgICB9CiAgICBpZih1LmluZGV4T2YoJ3dhdGNoP3Y9JykgIT09IC0xKXsKICAgICAgcmV0dXJuICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nICsgdS5zcGxpdCgnd2F0Y2g/dj0nKVsxXS5zcGxpdCgnJicpWzBdOwogICAgfQogICAgaWYodS5pbmRleE9mKCd5b3V0dWJlLmNvbS9lbWJlZC8nKSAhPT0gLTEpewogICAgICByZXR1cm4gdTsKICAgIH0KICAgIGlmKHUuaW5kZXhPZigndmltZW8uY29tLycpICE9PSAtMSl7CiAgICAgIHZhciBwYXJ0cyA9IHUuc3BsaXQoJ3ZpbWVvLmNvbS8nKVsxXS5zcGxpdCgnLycpOwogICAgICByZXR1cm4gJ2h0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8nICsgcGFydHNbcGFydHMubGVuZ3RoIC0gMV0uc3BsaXQoJz8nKVswXTsKICAgIH0KICB9IGNhdGNoKGUpe30KICByZXR1cm4gdTsKfQoKZnVuY3Rpb24gcGxheUNoaW1lKCl7CiAgdHJ5ewogICAgdmFyIGN0eD1uZXcgKHdpbmRvdy5BdWRpb0NvbnRleHR8fHdpbmRvdy53ZWJraXRBdWRpb0NvbnRleHQpKCk7CiAgICB2YXIgb3NjPWN0eC5jcmVhdGVPc2NpbGxhdG9yKCk7CiAgICB2YXIgZ2Fpbj1jdHguY3JlYXRlR2FpbigpOwogICAgb3NjLnR5cGU9J3NpbmUnOwogICAgb3NjLmZyZXF1ZW5jeS5zZXRWYWx1ZUF0VGltZSg1ODcuMzMsY3R4LmN1cnJlbnRUaW1lKTsKICAgIG9zYy5mcmVxdWVuY3kuc2V0VmFsdWVBdFRpbWUoODgwLGN0eC5jdXJyZW50VGltZSswLjEpOwogICAgZ2Fpbi5nYWluLnNldFZhbHVlQXRUaW1lKDAuMTIsY3R4LmN1cnJlbnRUaW1lKTsKICAgIGdhaW4uZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKDAuMDAwMSxjdHguY3VycmVudFRpbWUrMC40NSk7CiAgICBvc2MuY29ubmVjdChnYWluKTsKICAgIGdhaW4uY29ubmVjdChjdHguZGVzdGluYXRpb24pOwogICAgb3NjLnN0YXJ0KCk7CiAgICBvc2Muc3RvcChjdHguY3VycmVudFRpbWUrMC40NSk7CiAgfWNhdGNoKGUpe30KfQoKZnVuY3Rpb24gc2hvd0J0VG9hc3QodGV4dCl7CiAgdmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0VG9hc3QnKTsKICBpZighdClyZXR1cm47CiAgdC50ZXh0Q29udGVudD10ZXh0OwogIHQuY2xhc3NMaXN0LmFkZCgnc2hvdycpOwogIHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTt9LDIyMDApOwp9CgpmdW5jdGlvbiBhd2FyZEJ0UG9pbnRzKHB0cyxyZWFzb24pewogIHRvdGFsQnRQb2ludHMrPXB0czsKICB2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0UG9pbnRzVmFsJyk7CiAgaWYoZWwpZWwudGV4dENvbnRlbnQ9dG90YWxCdFBvaW50czsKICBzaG93QnRUb2FzdCgnKyAnK3B0cysnIEJUIFB1YW7EsSBLYXphbmTEsW4hIPCfjoknKTsKICBwbGF5Q2hpbWUoKTsKICB0cnl7CiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHsKICAgICAgdHlwZTonQlRZRF9FQVJOX0JUX1BPSU5UUycsCiAgICAgIHBvaW50czpwdHMsCiAgICAgIHRvdGFsOnRvdGFsQnRQb2ludHMsCiAgICAgIHJlYXNvbjpyZWFzb24KICAgIH0sJyonKTsKICB9Y2F0Y2goZSl7fQp9CgpmdW5jdGlvbiByZW5kZXJOYXYoKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGVOYXYnKS5pbm5lckhUTUw9c2xpZGVzLm1hcCgocyxpKT0+YDxidXR0b24gY2xhc3M9ImNoaXAgJHtpPT09Y3VycmVudFNsaWRlPydhY3RpdmUnOicnfSIgb25jbGljaz0iZ29TbGlkZSgke2l9KSI+JHtpKzF9LiAke3MubmF2fTwvYnV0dG9uPmApLmpvaW4oJycpfQpmdW5jdGlvbiByZW5kZXJTbGlkZSgpewogIGxldCBzPXNsaWRlc1tjdXJyZW50U2xpZGVdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZU51bScpLnRleHRDb250ZW50PVN0cmluZyhjdXJyZW50U2xpZGUrMSkucGFkU3RhcnQoMiwnMCcpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZUtpY2tlcicpLnRleHRDb250ZW50PXMua2lja2VyOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZVRpdGxlJykudGV4dENvbnRlbnQ9cy50aXRsZTsKICAKICB2YXIgbWVkaWFIdG1sPScnOwogIGlmKHMudmlkZW9VcmwpewogICAgbWVkaWFIdG1sKz0nPGRpdiBjbGFzcz0idmlkZW8tYm94Ij48aWZyYW1lIHNyYz0iJytnZXRFbWJlZFVybChzLnZpZGVvVXJsKSsnIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuIGxvYWRpbmc9ImxhenkiPjwvaWZyYW1lPjwvZGl2Pic7CiAgfQogIGlmKHMuaW1hZ2VVcmwpewogICAgbWVkaWFIdG1sKz0nPGZpZ3VyZSBjbGFzcz0ic2xpZGUtaW1nIj48aW1nIHNyYz0iJytzLmltYWdlVXJsKyciIGFsdD0iJysocy50aXRsZXx8JycpKyciIGxvYWRpbmc9ImxhenkiIC8+Jysocy5pbWFnZUNhcHRpb24/JzxmaWdjYXB0aW9uPvCfk7cgJytzLmltYWdlQ2FwdGlvbi5yZXBsYWNlKC9e8J+Tt3MqLywnJykrJzwvZmlnY2FwdGlvbj4nOicnKSsnPC9maWd1cmU+JzsKICB9CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlQm9keScpLmlubmVySFRNTD1tZWRpYUh0bWwrcy5ib2R5OwogIAogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZUNvdW50JykudGV4dENvbnRlbnQ9YCR7Y3VycmVudFNsaWRlKzF9IC8gJHtzbGlkZXMubGVuZ3RofWA7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ByZXZCdG4nKS5kaXNhYmxlZD1jdXJyZW50U2xpZGU9PT0wOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2QnRuJykuc3R5bGUub3BhY2l0eT1jdXJyZW50U2xpZGU9PT0wPyIuNCI6IjEiOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXh0QnRuJykudGV4dENvbnRlbnQ9Y3VycmVudFNsaWRlPT09c2xpZGVzLmxlbmd0aC0xPyJEZXJzaSB0YW1hbWxhIOKckyI6IlNvbnJha2kg4oaSIjsKICByZW5kZXJOYXYoKTsKICB2aXNpdGVkLmFkZChjdXJyZW50U2xpZGUpOwogIHVwZGF0ZVByb2dyZXNzKCk7Cn0KZnVuY3Rpb24gZ29TbGlkZShpKXtjdXJyZW50U2xpZGU9aTtyZW5kZXJTbGlkZSgpfQpmdW5jdGlvbiBjaGFuZ2VTbGlkZShkKXtpZihjdXJyZW50U2xpZGU9PT1zbGlkZXMubGVuZ3RoLTEmJmQ9PT0xKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydHNHcmlkJykuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnfSk7cmV0dXJufWN1cnJlbnRTbGlkZT1NYXRoLm1heCgwLE1hdGgubWluKHNsaWRlcy5sZW5ndGgtMSxjdXJyZW50U2xpZGUrZCkpO3JlbmRlclNsaWRlKCl9CgpmdW5jdGlvbiByZW5kZXJQYXJ0cygpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0c0dyaWQnKS5pbm5lckhUTUw9cGFydHMubWFwKChwLGkpPT5gPGJ1dHRvbiBjbGFzcz0icGFydCAke3NlbGVjdGVkUGFydD09PWk/J3NlbGVjdGVkJzonJ30iIG9uY2xpY2s9InNob3dQYXJ0KCR7aX0pIj48c3BhbiBjbGFzcz0iZW1vamkiPiR7cC5lbW9qaX08L3NwYW4+PHN0cm9uZz4ke3AubmFtZX08L3N0cm9uZz48c21hbGw+JHtwLnR5cGV9PC9zbWFsbD48L2J1dHRvbj5gKS5qb2luKCcnKX0KZnVuY3Rpb24gc2hvd1BhcnQoaSl7CiAgc2VsZWN0ZWRQYXJ0PWk7bGV0IHA9cGFydHNbaV07CiAgdmFyIGltZ0h0bWw9cC5pbWFnZVVybD8nPGRpdiBjbGFzcz0icGFydC1pbWctYm94Ij48aW1nIHNyYz0iJytwLmltYWdlVXJsKyciIGFsdD0iJytwLm5hbWUrJyIgbG9hZGluZz0ibGF6eSIgLz48L2Rpdj4nOicnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0RGV0YWlsJykuaW5uZXJIVE1MPWA8c3Ryb25nPiR7cC5lbW9qaX0gJHtwLm5hbWV9IMK3ICR7cC50eXBlfTwvc3Ryb25nPiR7aW1nSHRtbH08cD4ke3AuZGVzY308L3A+PHA+PGI+R8O8bmzDvGsgeWHFn2FtIMO2cm5lxJ9pOjwvYj4gJHtwLmV4YW1wbGV9PC9wPmA7CiAgcmVuZGVyUGFydHMoKTsKICB1cGRhdGVQcm9ncmVzcygpOwp9CgpmdW5jdGlvbiByZW5kZXJRdWl6KCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3F1aXonKS5pbm5lckhUTUw9cXVlc3Rpb25zLm1hcCgocSxpKT0+YDxkaXYgY2xhc3M9InF1ZXN0aW9uIj48c3Ryb25nPiR7aSsxfS4gJHtxLnF9PC9zdHJvbmc+PGRpdiBjbGFzcz0ib3B0aW9ucyI+JHtxLm9wdHMubWFwKChvLGopPT5gPGJ1dHRvbiBjbGFzcz0ib3B0aW9uICR7cXVpekFuc3dlcnNbaV09PT1qPyhqPT09cS5hPydjb3JyZWN0Jzond3JvbmcnKTonJ30iIG9uY2xpY2s9ImFuc3dlclF1aXooJHtpfSwke2p9KSI+JHtTdHJpbmcuZnJvbUNoYXJDb2RlKDY1K2opfSkgJHtvfTwvYnV0dG9uPmApLmpvaW4oJycpfTwvZGl2PjxkaXYgY2xhc3M9ImZlZWRiYWNrIj4ke3F1aXpBbnN3ZXJzW2ldPT09dW5kZWZpbmVkPycnOihxdWl6QW5zd2Vyc1tpXT09PXEuYT8n4pyTIERvxJ9ydSEgJzon4pyVIEhlbsO8eiBkZcSfaWwuICcpK3Eud2h5fTwvZGl2PjwvZGl2PmApLmpvaW4oJycpOwogIGxldCBuPU9iamVjdC5rZXlzKHF1aXpBbnN3ZXJzKS5maWx0ZXIoaT0+cXVpekFuc3dlcnNbaV09PT1xdWVzdGlvbnNbaV0uYSkubGVuZ3RoOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdWl6U2NvcmUnKS50ZXh0Q29udGVudD1gJHtufSAvICR7cXVlc3Rpb25zLmxlbmd0aH1gOwogIHVwZGF0ZVByb2dyZXNzKCk7Cn0KZnVuY3Rpb24gYW5zd2VyUXVpeihpLGopewogIHF1aXpBbnN3ZXJzW2ldPWo7CiAgaWYoaj09PXF1ZXN0aW9uc1tpXS5hICYmICFlYXJuZWRRdWVzdGlvbnMuaGFzKGkpKXsKICAgIGVhcm5lZFF1ZXN0aW9ucy5hZGQoaSk7CiAgICBhd2FyZEJ0UG9pbnRzKDIsJ1Rlc3QgU29ydXN1Jyk7CiAgfQogIHJlbmRlclF1aXooKTsKfQpmdW5jdGlvbiByZXNldFF1aXooKXtxdWl6QW5zd2Vycz17fTtyZW5kZXJRdWl6KCl9CgpmdW5jdGlvbiByZW5kZXJNYXRjaGVzKCl7CiAgdmFyIHNodWZmbGVkID0gbWF0Y2hPcHRpb25zLnNsaWNlKCk7CiAgZm9yICh2YXIgaSA9IHNodWZmbGVkLmxlbmd0aCAtIDE7IGkgPiAwOyBpLS0pIHsKICAgIHZhciBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7CiAgICB2YXIgdG1wID0gc2h1ZmZsZWRbaV07IHNodWZmbGVkW2ldID0gc2h1ZmZsZWRbal07IHNodWZmbGVkW2pdID0gdG1wOwogIH0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWF0Y2hpbmcnKS5pbm5lckhUTUw9bWF0Y2hJdGVtcy5tYXAoKG0saSk9PmA8bGFiZWwgY2xhc3M9Im1hdGNoLXJvdyI+PHNwYW4+PGI+JHttLm5hbWV9PC9iPjwvc3Bhbj48c2VsZWN0IGlkPSJtYXRjaCR7aX0iIG9uY2hhbmdlPSJtYXRjaENoZWNrZWQ9ZmFsc2UiPjxvcHRpb24gdmFsdWU9IiI+R8O2cmV2IHNlw6figKY8L29wdGlvbj4ke3NodWZmbGVkLm1hcChvPT5gPG9wdGlvbiB2YWx1ZT0iJHtvfSI+JHtvfTwvb3B0aW9uPmApLmpvaW4oJycpfTwvc2VsZWN0PjwvbGFiZWw+YCkuam9pbignJykKfQpmdW5jdGlvbiBjaGVja01hdGNoZXMoKXsKICBsZXQgbj0wLGNvbXBsZXRlPXRydWU7CiAgbWF0Y2hJdGVtcy5mb3JFYWNoKChtLGkpPT57bGV0IHY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hdGNoJytpKS52YWx1ZTtpZighdiljb21wbGV0ZT1mYWxzZTtpZih2PT09bS5hKW4rK30pOwogIGxldCBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXRjaEZlZWRiYWNrJyk7CiAgZi50ZXh0Q29udGVudD0hY29tcGxldGU/J1TDvG0gc2F0xLFybGFyIGnDp2luIGJpciBnw7ZyZXYgc2XDpy4nOmBTb251w6c6ICR7bn0vJHttYXRjaEl0ZW1zLmxlbmd0aH0gZG/En3J1LiAke249PT1tYXRjaEl0ZW1zLmxlbmd0aD8nSGFyaWthLCB0w7xtIGXFn2xlxZ90aXJtZWxlciBkb8SfcnUhJzonWWFubMSxxZ8gZcWfbGXFn3Rpcm1lbGVyaSB0ZWtyYXIgaW5jZWxlIHZlIHllbmlkZW4gZGVuZS4nfWA7CiAgZi5zdHlsZS5jb2xvcj1uPT09bWF0Y2hJdGVtcy5sZW5ndGgmJmNvbXBsZXRlPyd2YXIoLS1ncmVlbiknOid2YXIoLS1tdXRlZCknOwogIG1hdGNoQ2hlY2tlZD1jb21wbGV0ZTsKICBpZihuPT09bWF0Y2hJdGVtcy5sZW5ndGggJiYgY29tcGxldGUgJiYgIW1hdGNoRWFybmVkKXsKICAgIG1hdGNoRWFybmVkPXRydWU7CiAgICBhd2FyZEJ0UG9pbnRzKDUsJ0XFn2xlxZ90aXJtZSBUYW1hbWxhbmTEsScpOwogIH0KICB1cGRhdGVQcm9ncmVzcygpOwp9CgpmdW5jdGlvbiByZW5kZXJDYXNlKCl7bGV0IGM9Y2FzZXNbY2FzZUluZGV4XTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FzZVRpdGxlJykudGV4dENvbnRlbnQ9Yy50aXRsZTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FzZVRleHQnKS50ZXh0Q29udGVudD1jLnRleHQ7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhc2VPcHRpb25zJykuaW5uZXJIVE1MPWMub3B0cy5tYXAoKG8saSk9PmA8YnV0dG9uIG9uY2xpY2s9ImNob29zZUNhc2UoJHtpfSkiPiR7b308L2J1dHRvbj5gKS5qb2luKCcnKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FzZVJlc3VsdCcpLnRleHRDb250ZW50PSdCaXIgc2XDp2VuZWsgYmVsaXJsZS4nO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXNlUmVzdWx0Jykuc3R5bGUuY29sb3I9J3ZhcigtLW11dGVkKSd9CmZ1bmN0aW9uIGNob29zZUNhc2UoaSl7CiAgbGV0IGM9Y2FzZXNbY2FzZUluZGV4XSxidXR0b25zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjY2FzZU9wdGlvbnMgYnV0dG9uJyldOwogIGJ1dHRvbnMuZm9yRWFjaCgoYixqKT0+Yi5jbGFzc0xpc3QudG9nZ2xlKCdjaG9zZW4nLGo9PT1pKSk7CiAgbGV0IHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhc2VSZXN1bHQnKTsKICByLnRleHRDb250ZW50PShpPT09Yy5hPyfinJMgRG/En3J1IHNlw6dpbSEgJzon4oa7IFRla3JhciBkw7zFn8O8bi4gJykrYy53aHk7CiAgci5zdHlsZS5jb2xvcj1pPT09Yy5hPyd2YXIoLS1ncmVlbiknOid2YXIoLS15ZWxsb3cpJzsKICBpZihpPT09Yy5hICYmICFlYXJuZWRDYXNlcy5oYXMoY2FzZUluZGV4KSl7CiAgICBlYXJuZWRDYXNlcy5hZGQoY2FzZUluZGV4KTsKICAgIGF3YXJkQnRQb2ludHMoMywnR8O8bmzDvGsgWWHFn2FtIFNlbmFyeW9zdScpOwogIH0KICB1cGRhdGVQcm9ncmVzcygpOwp9CmZ1bmN0aW9uIG5leHRDYXNlKCl7Y2FzZUluZGV4PShjYXNlSW5kZXgrMSklY2FzZXMubGVuZ3RoO3JlbmRlckNhc2UoKX0KCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyAxLiBTxLFyYWxhbWEgJiBBbGdvcml0bWEgS2FydMSxIEZvbmtzaXlvbmxhcsSxCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBpbml0UmVvcmRlcnMoKXsKICBpZighcmVvcmRlcnNEYXRhIHx8IHJlb3JkZXJzRGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKICB2YXIgciA9IHJlb3JkZXJzRGF0YVswXTsKICAvLyBCYcWfbGFuZ8Sxw6d0YSBlbGVtYW5sYXLEsSBrYXLEscWfdMSxcgogIHJlb3JkZXJJdGVtcyA9IHIuaXRlbXMuc2xpY2UoKTsKICBmb3IgKHZhciBpID0gcmVvcmRlckl0ZW1zLmxlbmd0aCAtIDE7IGkgPiAwOyBpLS0pIHsKICAgIHZhciBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7CiAgICB2YXIgdG1wID0gcmVvcmRlckl0ZW1zW2ldOyByZW9yZGVySXRlbXNbaV0gPSByZW9yZGVySXRlbXNbal07IHJlb3JkZXJJdGVtc1tqXSA9IHRtcDsKICB9CiAgcmVuZGVyUmVvcmRlcnMoKTsKfQoKZnVuY3Rpb24gcmVuZGVyUmVvcmRlcnMoKXsKICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlb3JkZXJMaXN0Jyk7CiAgaWYoIWNvbnRhaW5lcikgcmV0dXJuOwogIGNvbnRhaW5lci5pbm5lckhUTUwgPSByZW9yZGVySXRlbXMubWFwKGZ1bmN0aW9uKGl0ZW0sIGlkeCl7CiAgICByZXR1cm4gJzxkaXYgY2xhc3M9InJlb3JkZXItaXRlbSIgaWQ9InJlb3JkZXItaXRlbS0nICsgaWR4ICsgJyI+JyArCiAgICAgICc8c3BhbiBjbGFzcz0icmVvcmRlci1udW0iPicgKyAoaWR4ICsgMSkgKyAnPC9zcGFuPicgKwogICAgICAnPHNwYW4gY2xhc3M9InJlb3JkZXItdGV4dCI+JyArIGl0ZW0udGV4dCArICc8L3NwYW4+JyArCiAgICAgICc8ZGl2IGNsYXNzPSJyZW9yZGVyLWFjdGlvbnMiPicgKwogICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJlb3JkZXItYnRuIiB0aXRsZT0iWXVrYXLEsSB0YcWfxLEiICcgKyAoaWR4ID09PSAwID8gJ2Rpc2FibGVkJyA6ICcnKSArICcgb25jbGljaz0ibW92ZVJlb3JkZXJJdGVtKCcgKyBpZHggKyAnLCAtMSkiPuKWsjwvYnV0dG9uPicgKwogICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InJlb3JkZXItYnRuIiB0aXRsZT0iQcWfYcSfxLEgdGHFn8SxIiAnICsgKGlkeCA9PT0gcmVvcmRlckl0ZW1zLmxlbmd0aCAtIDEgPyAnZGlzYWJsZWQnIDogJycpICsgJyBvbmNsaWNrPSJtb3ZlUmVvcmRlckl0ZW0oJyArIGlkeCArICcsIDEpIj7ilrw8L2J1dHRvbj4nICsKICAgICAgJzwvZGl2PicgKwogICAgJzwvZGl2Pic7CiAgfSkuam9pbignJyk7Cn0KCmZ1bmN0aW9uIG1vdmVSZW9yZGVySXRlbShpZHgsIGRpcil7CiAgdmFyIHRhcmdldCA9IGlkeCArIGRpcjsKICBpZih0YXJnZXQgPCAwIHx8IHRhcmdldCA+PSByZW9yZGVySXRlbXMubGVuZ3RoKSByZXR1cm47CiAgdmFyIHRtcCA9IHJlb3JkZXJJdGVtc1tpZHhdOwogIHJlb3JkZXJJdGVtc1tpZHhdID0gcmVvcmRlckl0ZW1zW3RhcmdldF07CiAgcmVvcmRlckl0ZW1zW3RhcmdldF0gPSB0bXA7CiAgcmVuZGVyUmVvcmRlcnMoKTsKICB2YXIgZmVlZGJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVvcmRlckZlZWRiYWNrJyk7CiAgaWYoZmVlZGJhY2spIHsKICAgIGZlZWRiYWNrLnRleHRDb250ZW50ID0gJ0FkxLFtbGFyIGTDvHplbmxlbmRpLCBzxLFyYWxhbWF5xLEga29udHJvbCBlZGViaWxpcnNpbi4nOwogICAgZmVlZGJhY2suc3R5bGUuY29sb3IgPSAndmFyKC0tbXV0ZWQpJzsKICB9Cn0KCmZ1bmN0aW9uIGNoZWNrUmVvcmRlcigpewogIGlmKCFyZW9yZGVyc0RhdGEgfHwgcmVvcmRlcnNEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogIHZhciBpc0NvcnJlY3QgPSByZW9yZGVySXRlbXMuZXZlcnkoZnVuY3Rpb24oaXRlbSwgaWR4KXsKICAgIHJldHVybiBpdGVtLmNvcnJlY3RPcmRlciA9PT0gKGlkeCArIDEpOwogIH0pOwogIHZhciBmZWVkYmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZW9yZGVyRmVlZGJhY2snKTsKICBpZihpc0NvcnJlY3QpewogICAgaWYoZmVlZGJhY2spIHsKICAgICAgZmVlZGJhY2sudGV4dENvbnRlbnQgPSAn4pyTIEhhcmlrYSEgQWxnb3JpdG1hIGFkxLFtbGFyxLFuxLEgdGFtIHZlIGRvxJ9ydSBzxLFyYXlhIGRpemRpbi4nOwogICAgICBmZWVkYmFjay5zdHlsZS5jb2xvciA9ICd2YXIoLS1ncmVlbiknOwogICAgfQogICAgaWYoIXJlb3JkZXJFYXJuZWQpewogICAgICByZW9yZGVyRWFybmVkID0gdHJ1ZTsKICAgICAgYXdhcmRCdFBvaW50cyg0LCAnU8SxcmFsYW1hIC8gQWxnb3JpdG1hJyk7CiAgICB9CiAgfSBlbHNlIHsKICAgIGlmKGZlZWRiYWNrKSB7CiAgICAgIGZlZWRiYWNrLnRleHRDb250ZW50ID0gJ+KclSBIZW7DvHogZG/En3J1IHPEsXJhIG9sdcWfbWFkxLEuIE1hbnTEsWtzYWwgacWfbGVtIGFrxLHFn8SxbsSxIGfDtnpkZW4gZ2XDp2lyLic7CiAgICAgIGZlZWRiYWNrLnN0eWxlLmNvbG9yID0gJ3ZhcigtLXllbGxvdyknOwogICAgfQogIH0KICB1cGRhdGVQcm9ncmVzcygpOwp9CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gMi4gU8SxbsSxZmxhbmTEsXJtYSAvIFNlcGV0ZSBBdG1hIEthcnTEsQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZnVuY3Rpb24gaW5pdEJ1Y2tldFNvcnQoKXsKICBpZighYnVja2V0U29ydHNEYXRhIHx8IGJ1Y2tldFNvcnRzRGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKICB2YXIgYiA9IGJ1Y2tldFNvcnRzRGF0YVswXTsKICBidWNrZXRJdGVtc1N0YXRlID0gYi5pdGVtcy5tYXAoZnVuY3Rpb24oaXRlbSwgaWR4KXsKICAgIHJldHVybiB7IGlkOiBpZHgsIHRleHQ6IGl0ZW0udGV4dCwgY2F0ZWdvcnlJbmRleDogaXRlbS5jYXRlZ29yeUluZGV4LCBhc3NpZ25lZENhdGVnb3J5OiBudWxsIH07CiAgfSk7CiAgc2VsZWN0ZWRCdWNrZXRJdGVtSWR4ID0gbnVsbDsKICByZW5kZXJCdWNrZXRTb3J0KCk7Cn0KCmZ1bmN0aW9uIHJlbmRlckJ1Y2tldFNvcnQoKXsKICBpZighYnVja2V0U29ydHNEYXRhIHx8IGJ1Y2tldFNvcnRzRGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKICB2YXIgYiA9IGJ1Y2tldFNvcnRzRGF0YVswXTsKICB2YXIgem9uZXNFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidWNrZXRab25lcycpOwogIHZhciBwb29sRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnVja2V0UG9vbCcpOwogIGlmKCF6b25lc0VsIHx8ICFwb29sRWwpIHJldHVybjsKCiAgLy8gU2VwZXQgQWxhbmxhcsSxCiAgem9uZXNFbC5pbm5lckhUTUwgPSBiLmNhdGVnb3JpZXMubWFwKGZ1bmN0aW9uKGNhdE5hbWUsIGNhdElkeCl7CiAgICB2YXIgYXNzaWduZWRJdGVtcyA9IGJ1Y2tldEl0ZW1zU3RhdGUuZmlsdGVyKGZ1bmN0aW9uKGl0KXsgcmV0dXJuIGl0LmFzc2lnbmVkQ2F0ZWdvcnkgPT09IGNhdElkeDsgfSk7CiAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImJ1Y2tldC16b25lIiBvbmNsaWNrPSJhc3NpZ25CdWNrZXQoJyArIGNhdElkeCArICcpIj4nICsKICAgICAgJzxkaXYgY2xhc3M9ImJ1Y2tldC10aXRsZSI+8J+nuiAnICsgY2F0TmFtZSArICcgKCcgKyBhc3NpZ25lZEl0ZW1zLmxlbmd0aCArICcpPC9kaXY+JyArCiAgICAgICc8ZGl2IGNsYXNzPSJidWNrZXQtaXRlbXMiPicgKwogICAgICAgIGFzc2lnbmVkSXRlbXMubWFwKGZ1bmN0aW9uKGl0KXsKICAgICAgICAgIHZhciBpc1NlbCA9IHNlbGVjdGVkQnVja2V0SXRlbUlkeCA9PT0gaXQuaWQ7CiAgICAgICAgICByZXR1cm4gJzxzcGFuIGNsYXNzPSJidWNrZXQtY2hpcCAnICsgKGlzU2VsID8gJ3NlbGVjdGVkJyA6ICcnKSArICciIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB1bmFzc2lnbkJ1Y2tldEl0ZW0oJyArIGl0LmlkICsgJykiPicgKyBpdC50ZXh0ICsgJyDinJU8L3NwYW4+JzsKICAgICAgICB9KS5qb2luKCcnKSArCiAgICAgICc8L2Rpdj4nICsKICAgICc8L2Rpdj4nOwogIH0pLmpvaW4oJycpOwoKICAvLyBCZWtsZXllbiBIYXZ1egogIHZhciB1bmFzc2lnbmVkID0gYnVja2V0SXRlbXNTdGF0ZS5maWx0ZXIoZnVuY3Rpb24oaXQpeyByZXR1cm4gaXQuYXNzaWduZWRDYXRlZ29yeSA9PT0gbnVsbDsgfSk7CiAgcG9vbEVsLmlubmVySFRNTCA9IHVuYXNzaWduZWQubGVuZ3RoID09PSAwIAogICAgPyAnPHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLWdyZWVuKTtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDAiPuKckyBUw7xtIGthdnJhbWxhciBzZXBldGxlcmUgZGHEn8SxdMSxbGTEsSE8L3NwYW4+JwogICAgOiB1bmFzc2lnbmVkLm1hcChmdW5jdGlvbihpdCl7CiAgICAgICAgdmFyIGlzU2VsID0gc2VsZWN0ZWRCdWNrZXRJdGVtSWR4ID09PSBpdC5pZDsKICAgICAgICByZXR1cm4gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnVja2V0LWNoaXAgJyArIChpc1NlbCA/ICdzZWxlY3RlZCcgOiAnJykgKyAnIiBvbmNsaWNrPSJzZWxlY3RCdWNrZXRJdGVtKCcgKyBpdC5pZCArICcpIj4nICsgaXQudGV4dCArICc8L2J1dHRvbj4nOwogICAgICB9KS5qb2luKCcnKTsKfQoKZnVuY3Rpb24gc2VsZWN0QnVja2V0SXRlbShpZCl7CiAgc2VsZWN0ZWRCdWNrZXRJdGVtSWR4ID0gKHNlbGVjdGVkQnVja2V0SXRlbUlkeCA9PT0gaWQpID8gbnVsbCA6IGlkOwogIHJlbmRlckJ1Y2tldFNvcnQoKTsKICB2YXIgZmVlZGJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnVja2V0RmVlZGJhY2snKTsKICBpZihmZWVkYmFjayAmJiBzZWxlY3RlZEJ1Y2tldEl0ZW1JZHggIT09IG51bGwpewogICAgZmVlZGJhY2sudGV4dENvbnRlbnQgPSAnS2F2cmFtIHNlw6dpbGRpLiDFnmltZGkgeWVybGXFn3Rpcm1layBpc3RlZGnEn2luIHNlcGV0ZSBkb2t1bi4nOwogICAgZmVlZGJhY2suc3R5bGUuY29sb3IgPSAndmFyKC0tcHJpbWFyeSknOwogIH0KfQoKZnVuY3Rpb24gYXNzaWduQnVja2V0KGNhdElkeCl7CiAgaWYoc2VsZWN0ZWRCdWNrZXRJdGVtSWR4ID09PSBudWxsKSByZXR1cm47CiAgdmFyIGl0ZW0gPSBidWNrZXRJdGVtc1N0YXRlLmZpbmQoZnVuY3Rpb24oaXQpeyByZXR1cm4gaXQuaWQgPT09IHNlbGVjdGVkQnVja2V0SXRlbUlkeDsgfSk7CiAgaWYoaXRlbSl7CiAgICBpdGVtLmFzc2lnbmVkQ2F0ZWdvcnkgPSBjYXRJZHg7CiAgICBzZWxlY3RlZEJ1Y2tldEl0ZW1JZHggPSBudWxsOwogICAgcmVuZGVyQnVja2V0U29ydCgpOwogIH0KfQoKZnVuY3Rpb24gdW5hc3NpZ25CdWNrZXRJdGVtKGlkKXsKICB2YXIgaXRlbSA9IGJ1Y2tldEl0ZW1zU3RhdGUuZmluZChmdW5jdGlvbihpdCl7IHJldHVybiBpdC5pZCA9PT0gaWQ7IH0pOwogIGlmKGl0ZW0pewogICAgaXRlbS5hc3NpZ25lZENhdGVnb3J5ID0gbnVsbDsKICAgIGlmKHNlbGVjdGVkQnVja2V0SXRlbUlkeCA9PT0gaWQpIHNlbGVjdGVkQnVja2V0SXRlbUlkeCA9IG51bGw7CiAgICByZW5kZXJCdWNrZXRTb3J0KCk7CiAgfQp9CgpmdW5jdGlvbiBjaGVja0J1Y2tldFNvcnQoKXsKICBpZighYnVja2V0U29ydHNEYXRhIHx8IGJ1Y2tldFNvcnRzRGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKICB2YXIgdW5hc3NpZ25lZCA9IGJ1Y2tldEl0ZW1zU3RhdGUuZmlsdGVyKGZ1bmN0aW9uKGl0KXsgcmV0dXJuIGl0LmFzc2lnbmVkQ2F0ZWdvcnkgPT09IG51bGw7IH0pOwogIHZhciBmZWVkYmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidWNrZXRGZWVkYmFjaycpOwogIGlmKHVuYXNzaWduZWQubGVuZ3RoID4gMCl7CiAgICBpZihmZWVkYmFjayl7CiAgICAgIGZlZWRiYWNrLnRleHRDb250ZW50ID0gJ0zDvHRmZW4gw7ZuY2UgdMO8bSBrYXZyYW1sYXLEsSBzZXBldGxlcmUgeWVybGXFn3RpcmluLic7CiAgICAgIGZlZWRiYWNrLnN0eWxlLmNvbG9yID0gJ3ZhcigtLXllbGxvdyknOwogICAgfQogICAgcmV0dXJuOwogIH0KICB2YXIgY29ycmVjdENvdW50ID0gYnVja2V0SXRlbXNTdGF0ZS5maWx0ZXIoZnVuY3Rpb24oaXQpewogICAgcmV0dXJuIGl0LmFzc2lnbmVkQ2F0ZWdvcnkgPT09IGl0LmNhdGVnb3J5SW5kZXg7CiAgfSkubGVuZ3RoOwogIAogIGlmKGNvcnJlY3RDb3VudCA9PT0gYnVja2V0SXRlbXNTdGF0ZS5sZW5ndGgpewogICAgaWYoZmVlZGJhY2spewogICAgICBmZWVkYmFjay50ZXh0Q29udGVudCA9ICfinJMgTcO8a2VtbWVsISBUw7xtIGthdnJhbWxhcsSxIGRvxJ9ydSBzZXBldGxlcmUgZ3J1cGxhZMSxbi4nOwogICAgICBmZWVkYmFjay5zdHlsZS5jb2xvciA9ICd2YXIoLS1ncmVlbiknOwogICAgfQogICAgaWYoIWJ1Y2tldEVhcm5lZCl7CiAgICAgIGJ1Y2tldEVhcm5lZCA9IHRydWU7CiAgICAgIGF3YXJkQnRQb2ludHMoNCwgJ1PEsW7EsWZsYW5kxLFybWEgLyBHcnVwbGFtYScpOwogICAgfQogIH0gZWxzZSB7CiAgICBpZihmZWVkYmFjayl7CiAgICAgIGZlZWRiYWNrLnRleHRDb250ZW50ID0gJ+KclSAnICsgY29ycmVjdENvdW50ICsgJyAvICcgKyBidWNrZXRJdGVtc1N0YXRlLmxlbmd0aCArICcgZG/En3J1IGdydXBsYW1hLiBZYW5sxLHFn2xhcsSxIGtvbnRyb2wgZWRpcCB0ZWtyYXIgZGVuZS4nOwogICAgICBmZWVkYmFjay5zdHlsZS5jb2xvciA9ICd2YXIoLS15ZWxsb3cpJzsKICAgIH0KICB9CiAgdXBkYXRlUHJvZ3Jlc3MoKTsKfQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIDMuIEhhdGEgQXnEsWtsYW1hIChTcG90IHRoZSBCdWcpCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBpbml0U3BvdFRoZUJ1ZygpewogIGlmKCFzcG90VGhlQnVnc0RhdGEgfHwgc3BvdFRoZUJ1Z3NEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogIGJ1Z1NlbGVjdGVkSW5kZXggPSBudWxsOwogIHJlbmRlclNwb3RUaGVCdWcoKTsKfQoKZnVuY3Rpb24gcmVuZGVyU3BvdFRoZUJ1ZygpewogIGlmKCFzcG90VGhlQnVnc0RhdGEgfHwgc3BvdFRoZUJ1Z3NEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogIHZhciBidWcgPSBzcG90VGhlQnVnc0RhdGFbMF07CiAgdmFyIGxpbmVzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnVnTGluZXMnKTsKICBpZighbGluZXNFbCkgcmV0dXJuOwogIGxpbmVzRWwuaW5uZXJIVE1MID0gYnVnLmxpbmVzLm1hcChmdW5jdGlvbihsaW5lLCBpZHgpewogICAgdmFyIGlzU2VsZWN0ZWQgPSBidWdTZWxlY3RlZEluZGV4ID09PSBpZHg7CiAgICB2YXIgc3RhdHVzQ2xhc3MgPSAnJzsKICAgIGlmKGlzU2VsZWN0ZWQpewogICAgICBzdGF0dXNDbGFzcyA9IChpZHggPT09IGJ1Zy5idWdneUxpbmVJbmRleCkgPyAnaXMtYnVnJyA6ICdpcy1jbGVhbic7CiAgICB9CiAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImJ1Zy1saW5lICcgKyBzdGF0dXNDbGFzcyArICciIG9uY2xpY2s9ImNob29zZUJ1Z0xpbmUoJyArIGlkeCArICcpIj4nICsKICAgICAgJzxzcGFuIGNsYXNzPSJidWctbGluZS1udW0iPicgKyAoaWR4ICsgMSkgKyAnPC9zcGFuPicgKwogICAgICAnPHNwYW4gY2xhc3M9ImJ1Zy1saW5lLWNvZGUiPicgKyBsaW5lICsgJzwvc3Bhbj4nICsKICAgICc8L2Rpdj4nOwogIH0pLmpvaW4oJycpOwp9CgpmdW5jdGlvbiBjaG9vc2VCdWdMaW5lKGlkeCl7CiAgaWYoIXNwb3RUaGVCdWdzRGF0YSB8fCBzcG90VGhlQnVnc0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CiAgdmFyIGJ1ZyA9IHNwb3RUaGVCdWdzRGF0YVswXTsKICBidWdTZWxlY3RlZEluZGV4ID0gaWR4OwogIHJlbmRlclNwb3RUaGVCdWcoKTsKICB2YXIgcmVzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnVnUmVzdWx0Jyk7CiAgaWYoIXJlc0VsKSByZXR1cm47CiAgaWYoaWR4ID09PSBidWcuYnVnZ3lMaW5lSW5kZXgpewogICAgcmVzRWwudGV4dENvbnRlbnQgPSAn4pyTIEhhcmlrYSBnw7Z6bGVtISBLdXN1cmx1IHNhdMSxcsSxIGJ1bGR1bjogJyArIGJ1Zy5leHBsYW5hdGlvbjsKICAgIHJlc0VsLnN0eWxlLmNvbG9yID0gJ3ZhcigtLWdyZWVuKSc7CiAgICBpZighYnVnRWFybmVkKXsKICAgICAgYnVnRWFybmVkID0gdHJ1ZTsKICAgICAgYXdhcmRCdFBvaW50cygzLCAnSGF0YSBBecSxa2xhbWEgKERlYnVnKScpOwogICAgfQogIH0gZWxzZSB7CiAgICByZXNFbC50ZXh0Q29udGVudCA9ICfinJUgQnUgc2F0xLFyZGEgaGVyaGFuZ2kgYmlyIG1hbnTEsWsgdmV5YSB5YXrEsW0gaGF0YXPEsSB5b2suIERpxJ9lciBzYXTEsXJsYXLEsSBpbmNlbGUuJzsKICAgIHJlc0VsLnN0eWxlLmNvbG9yID0gJ3ZhcigtLXllbGxvdyknOwogIH0KICB1cGRhdGVQcm9ncmVzcygpOwp9CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gNC4gS2VsaW1lIEhhdnV6bHUgQm/Fn2x1ayBEb2xkdXJtYQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZnVuY3Rpb24gaW5pdENsb3plKCl7CiAgaWYoIWNsb3plUGFzc2FnZXNEYXRhIHx8IGNsb3plUGFzc2FnZXNEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogIGNsb3plU2xvdHMgPSB7fTsKICBhY3RpdmVDbG96ZUJsYW5rSWR4ID0gbnVsbDsKICByZW5kZXJDbG96ZSgpOwp9CgpmdW5jdGlvbiByZW5kZXJDbG96ZSgpewogIGlmKCFjbG96ZVBhc3NhZ2VzRGF0YSB8fCBjbG96ZVBhc3NhZ2VzRGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKICB2YXIgYyA9IGNsb3plUGFzc2FnZXNEYXRhWzBdOwogIHZhciBwYXNzYWdlRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvemVQYXNzYWdlJyk7CiAgdmFyIGJhbmtFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG96ZUJhbmsnKTsKICBpZighcGFzc2FnZUVsIHx8ICFiYW5rRWwpIHJldHVybjsKCiAgLy8gQ8O8bWxleWkgb2x1xZ90dXIgKF9fXyB2ZXlhIFtibGFua10geWVybGVyaW5pIGJ1dG9uIHlhcCkKICB2YXIgcGFydHMgPSBjLnRleHQuc3BsaXQoL197Mix9fFtibGFua10vZ2kpOwogIHZhciBodG1sID0gJyc7CiAgZm9yKHZhciBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKXsKICAgIGh0bWwgKz0gcGFydHNbaV07CiAgICBpZihpIDwgcGFydHMubGVuZ3RoIC0gMSl7CiAgICAgIHZhciB2YWwgPSBjbG96ZVNsb3RzW2ldIHx8ICdfX19fX18nOwogICAgICB2YXIgaXNGaWxsZWQgPSAhIWNsb3plU2xvdHNbaV07CiAgICAgIHZhciBpc0FjdGl2ZSA9IGFjdGl2ZUNsb3plQmxhbmtJZHggPT09IGk7CiAgICAgIGh0bWwgKz0gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvemUtc2xvdCAnICsgKGlzRmlsbGVkID8gJ2ZpbGxlZCcgOiAnJykgKyAnICcgKyAoaXNBY3RpdmUgPyAnYWN0aXZlJyA6ICcnKSArICciIG9uY2xpY2s9InNlbGVjdENsb3plU2xvdCgnICsgaSArICcpIj4nICsgdmFsICsgKGlzRmlsbGVkID8gJyDinJUnIDogJycpICsgJzwvYnV0dG9uPic7CiAgICB9CiAgfQogIHBhc3NhZ2VFbC5pbm5lckhUTUwgPSBodG1sOwoKICAvLyBLZWxpbWUgSGF2dXp1CiAgdmFyIHVzZWRXb3JkcyA9IE9iamVjdC52YWx1ZXMoY2xvemVTbG90cyk7CiAgYmFua0VsLmlubmVySFRNTCA9IGMud29yZFBvb2wubWFwKGZ1bmN0aW9uKHdvcmQpewogICAgdmFyIGlzVXNlZCA9IHVzZWRXb3Jkcy5pbmNsdWRlcyh3b3JkKTsKICAgIHJldHVybiAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG96ZS1jaGlwICcgKyAoaXNVc2VkID8gJ3VzZWQnIDogJycpICsgJyIgJyArIChpc1VzZWQgPyAnZGlzYWJsZWQnIDogJycpICsgJyBvbmNsaWNrPSJpbnNlcnRDbG96ZVdvcmQoJycgKyB3b3JkLnJlcGxhY2UoLycvZywgIlwnIikgKyAnJykiPicgKyB3b3JkICsgJzwvYnV0dG9uPic7CiAgfSkuam9pbignJyk7Cn0KCmZ1bmN0aW9uIHNlbGVjdENsb3plU2xvdChibGFua0lkeCl7CiAgaWYoY2xvemVTbG90c1tibGFua0lkeF0pewogICAgZGVsZXRlIGNsb3plU2xvdHNbYmxhbmtJZHhdOwogICAgYWN0aXZlQ2xvemVCbGFua0lkeCA9IGJsYW5rSWR4OwogIH0gZWxzZSB7CiAgICBhY3RpdmVDbG96ZUJsYW5rSWR4ID0gKGFjdGl2ZUNsb3plQmxhbmtJZHggPT09IGJsYW5rSWR4KSA/IG51bGwgOiBibGFua0lkeDsKICB9CiAgcmVuZGVyQ2xvemUoKTsKICB2YXIgZmVlZGJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xvemVGZWVkYmFjaycpOwogIGlmKGZlZWRiYWNrICYmIGFjdGl2ZUNsb3plQmxhbmtJZHggIT09IG51bGwpewogICAgZmVlZGJhY2sudGV4dENvbnRlbnQgPSAnQm/Fn2x1ayBzZcOnaWxkaS4gS2VsaW1lIGhhdnV6dW5kYW4gdXlndW4ga2VsaW1leWUgdMSxa2xhLic7CiAgICBmZWVkYmFjay5zdHlsZS5jb2xvciA9ICd2YXIoLS1wcmltYXJ5KSc7CiAgfQp9CgpmdW5jdGlvbiBpbnNlcnRDbG96ZVdvcmQod29yZCl7CiAgaWYoYWN0aXZlQ2xvemVCbGFua0lkeCA9PT0gbnVsbCl7CiAgICAvLyDEsGxrIGJvxZ8gb2xhbiBzbG90YSBhdGEKICAgIHZhciBjID0gY2xvemVQYXNzYWdlc0RhdGFbMF07CiAgICBmb3IodmFyIGkgPSAwOyBpIDwgYy5ibGFua3MubGVuZ3RoOyBpKyspewogICAgICBpZighY2xvemVTbG90c1tpXSl7CiAgICAgICAgYWN0aXZlQ2xvemVCbGFua0lkeCA9IGk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICB9CiAgaWYoYWN0aXZlQ2xvemVCbGFua0lkeCAhPT0gbnVsbCl7CiAgICBjbG96ZVNsb3RzW2FjdGl2ZUNsb3plQmxhbmtJZHhdID0gd29yZDsKICAgIGFjdGl2ZUNsb3plQmxhbmtJZHggPSBudWxsOwogICAgcmVuZGVyQ2xvemUoKTsKICB9Cn0KCmZ1bmN0aW9uIGNoZWNrQ2xvemUoKXsKICBpZighY2xvemVQYXNzYWdlc0RhdGEgfHwgY2xvemVQYXNzYWdlc0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CiAgdmFyIGMgPSBjbG96ZVBhc3NhZ2VzRGF0YVswXTsKICB2YXIgdG90YWxCbGFua3MgPSBjLmJsYW5rcy5sZW5ndGg7CiAgdmFyIGZpbGxlZENvdW50ID0gT2JqZWN0LmtleXMoY2xvemVTbG90cykubGVuZ3RoOwogIHZhciBmZWVkYmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG96ZUZlZWRiYWNrJyk7CgogIGlmKGZpbGxlZENvdW50IDwgdG90YWxCbGFua3MpewogICAgaWYoZmVlZGJhY2spewogICAgICBmZWVkYmFjay50ZXh0Q29udGVudCA9ICdMw7x0ZmVuIHTDvG0gYm/Fn2x1a2xhcsSxIGtlbGltZSBoYXZ1enVuZGFuIHRlcmltbGVybGUgZG9sZHVydW4uJzsKICAgICAgZmVlZGJhY2suc3R5bGUuY29sb3IgPSAndmFyKC0teWVsbG93KSc7CiAgICB9CiAgICByZXR1cm47CiAgfQoKICB2YXIgY29ycmVjdENvdW50ID0gMDsKICBjLmJsYW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGIsIGlkeCl7CiAgICBpZihjbG96ZVNsb3RzW2lkeF0gJiYgY2xvemVTbG90c1tpZHhdLnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSBiLmNvcnJlY3RXb3JkLnRyaW0oKS50b0xvd2VyQ2FzZSgpKXsKICAgICAgY29ycmVjdENvdW50Kys7CiAgICB9CiAgfSk7CgogIGlmKGNvcnJlY3RDb3VudCA9PT0gdG90YWxCbGFua3MpewogICAgaWYoZmVlZGJhY2spewogICAgICBmZWVkYmFjay50ZXh0Q29udGVudCA9ICfinJMgVGVicmlrbGVyISBUw7xtIGJvxZ9sdWtsYXLEsSBkb8SfcnUga2F2cmFtbGFybGEgdGFtYW1sYWTEsW4uJzsKICAgICAgZmVlZGJhY2suc3R5bGUuY29sb3IgPSAndmFyKC0tZ3JlZW4pJzsKICAgIH0KICAgIGlmKCFjbG96ZUVhcm5lZCl7CiAgICAgIGNsb3plRWFybmVkID0gdHJ1ZTsKICAgICAgYXdhcmRCdFBvaW50cyg0LCAnQm/Fn2x1ayBEb2xkdXJtYScpOwogICAgfQogIH0gZWxzZSB7CiAgICBpZihmZWVkYmFjayl7CiAgICAgIGZlZWRiYWNrLnRleHRDb250ZW50ID0gJ+KclSAnICsgY29ycmVjdENvdW50ICsgJyAvICcgKyB0b3RhbEJsYW5rcyArICcgZG/En3J1LiBIYXRhbMSxIG9sYW5sYXLEsSDDp8Sxa2FyxLFwIHllbmlkZW4gZGVuZS4nOwogICAgICBmZWVkYmFjay5zdHlsZS5jb2xvciA9ICd2YXIoLS15ZWxsb3cpJzsKICAgIH0KICB9CiAgdXBkYXRlUHJvZ3Jlc3MoKTsKfQoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIDUuIEFrxLFsbMSxIFRhaHRhIMOHaXppbSAmIEthbGVtIEthdG1hbsSxCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBpbml0Qm9hcmRDYW52YXMoKXsKICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvYXJkQ2FudmFzJyk7CiAgaWYoIWNhbnZhcykgcmV0dXJuOwogIGJvYXJkQ3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CgogIGZ1bmN0aW9uIHJlc2l6ZUNhbnZhcygpewogICAgY2FudmFzLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7CiAgICBjYW52YXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0OwogIH0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVzaXplQ2FudmFzKTsKICByZXNpemVDYW52YXMoKTsKCiAgZnVuY3Rpb24gc3RhcnREcmF3KGUpewogICAgaWYoIWlzQm9hcmREcmF3TW9kZSkgcmV0dXJuOwogICAgaXNCb2FyZFBhaW50aW5nID0gdHJ1ZTsKICAgIHZhciBwb3MgPSBnZXRQb2ludGVyUG9zKGUpOwogICAgbGFzdERyYXdYID0gcG9zLng7CiAgICBsYXN0RHJhd1kgPSBwb3MueTsKICB9CgogIGZ1bmN0aW9uIGRyYXdNb3ZlKGUpewogICAgaWYoIWlzQm9hcmRQYWludGluZyB8fCAhaXNCb2FyZERyYXdNb2RlIHx8ICFib2FyZEN0eCkgcmV0dXJuOwogICAgdmFyIHBvcyA9IGdldFBvaW50ZXJQb3MoZSk7CiAgICBib2FyZEN0eC5iZWdpblBhdGgoKTsKICAgIGJvYXJkQ3R4Lm1vdmVUbyhsYXN0RHJhd1gsIGxhc3REcmF3WSk7CiAgICBib2FyZEN0eC5saW5lVG8ocG9zLngsIHBvcy55KTsKICAgIGJvYXJkQ3R4LnN0cm9rZVN0eWxlID0gJyNlZjQ0NDQnOwogICAgYm9hcmRDdHgubGluZVdpZHRoID0gNDsKICAgIGJvYXJkQ3R4LmxpbmVDYXAgPSAncm91bmQnOwogICAgYm9hcmRDdHgubGluZUpvaW4gPSAncm91bmQnOwogICAgYm9hcmRDdHguc3Ryb2tlKCk7CiAgICBsYXN0RHJhd1ggPSBwb3MueDsKICAgIGxhc3REcmF3WSA9IHBvcy55OwogIH0KCiAgZnVuY3Rpb24gc3RvcERyYXcoKXsKICAgIGlzQm9hcmRQYWludGluZyA9IGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gZ2V0UG9pbnRlclBvcyhlKXsKICAgIGlmKGUudG91Y2hlcyAmJiBlLnRvdWNoZXMubGVuZ3RoID4gMCl7CiAgICAgIHJldHVybiB7IHg6IGUudG91Y2hlc1swXS5jbGllbnRYLCB5OiBlLnRvdWNoZXNbMF0uY2xpZW50WSB9OwogICAgfQogICAgcmV0dXJuIHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfTsKICB9CgogIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBzdGFydERyYXcpOwogIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBkcmF3TW92ZSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBzdG9wRHJhdyk7CgogIGNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSl7IHN0YXJ0RHJhdyhlKTsgfSwgeyBwYXNzaXZlOiBmYWxzZSB9KTsKICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgZnVuY3Rpb24oZSl7IGUucHJldmVudERlZmF1bHQoKTsgZHJhd01vdmUoZSk7IH0sIHsgcGFzc2l2ZTogZmFsc2UgfSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgc3RvcERyYXcpOwp9CgpmdW5jdGlvbiB0b2dnbGVCb2FyZERyYXcoKXsKICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JvYXJkQ2FudmFzJyk7CiAgdmFyIGJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcmF3VG9nZ2xlQnRuJyk7CiAgaWYoIWNhbnZhcykgcmV0dXJuOwogIGlzQm9hcmREcmF3TW9kZSA9ICFpc0JvYXJkRHJhd01vZGU7CiAgY2FudmFzLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsIGlzQm9hcmREcmF3TW9kZSk7CiAgaWYoYnRuKSBidG4uY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJywgaXNCb2FyZERyYXdNb2RlKTsKICBzaG93QnRUb2FzdChpc0JvYXJkRHJhd01vZGUgPyAn4pyP77iPIEFrxLFsbMSxIFRhaHRhIMOHaXppbSBNb2R1IEHDp8SxbGTEsScgOiAn8J+UkiDDh2l6aW0gTW9kdSBLYXBhdMSxbGTEsScpOwp9CgpmdW5jdGlvbiBjbGVhckJvYXJkRHJhdygpewogIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm9hcmRDYW52YXMnKTsKICBpZihjYW52YXMgJiYgYm9hcmRDdHgpewogICAgYm9hcmRDdHguY2xlYXJSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7CiAgICBzaG93QnRUb2FzdCgn8J+nuSBUYWh0YSDDh2l6aW1sZXJpIFRlbWl6bGVuZGknKTsKICB9Cn0KCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyA2LiBBa8SxbGzEsSBUYWh0YSBLbGF2eWUgS8Sxc2F5b2xsYXLEsSAoU2hvcnRjdXRzKQovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKXsKICB2YXIgdGFnID0gKGUudGFyZ2V0ICYmIGUudGFyZ2V0LnRhZ05hbWUpIHx8ICcnOwogIGlmKFsnSU5QVVQnLCAnVEVYVEFSRUEnLCAnU0VMRUNUJ10uaW5jbHVkZXModGFnKSkgcmV0dXJuOwoKICBpZihlLmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGUua2V5ID09PSAnUGFnZURvd24nKXsKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIGNoYW5nZVNsaWRlKDEpOwogIH0gZWxzZSBpZihlLmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZS5rZXkgPT09ICdQYWdlVXAnKXsKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIGNoYW5nZVNsaWRlKC0xKTsKICB9IGVsc2UgaWYoWycxJywnMicsJzMnLCc0J10uaW5jbHVkZXMoZS5rZXkpKXsKICAgIHZhciBjaG9pY2VJZHggPSBwYXJzZUludChlLmtleSwgMTApIC0gMTsKICAgIGZvcih2YXIgcWkgPSAwOyBxaSA8IHF1ZXN0aW9ucy5sZW5ndGg7IHFpKyspewogICAgICBpZihxdWl6QW5zd2Vyc1txaV0gPT09IHVuZGVmaW5lZCAmJiBxdWVzdGlvbnNbcWldLm9wdHNbY2hvaWNlSWR4XSAhPT0gdW5kZWZpbmVkKXsKICAgICAgICBhbnN3ZXJRdWl6KHFpLCBjaG9pY2VJZHgpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgfSBlbHNlIGlmKGUua2V5ID09PSAncicgfHwgZS5rZXkgPT09ICdSJyl7CiAgICBpZihjb25maXJtKCdEZXJzIGlsZXJsZW1lc2luaSBzxLFmxLFybGFtYWsgaXN0aXlvciBtdXN1bnV6PycpKXsKICAgICAgcmVzZXRBbGwoKTsKICAgIH0KICB9Cn0pOwoKZnVuY3Rpb24gdXBkYXRlUHJvZ3Jlc3MoKXsKICBsZXQgZG9uZT12aXNpdGVkLnNpemUrKHNlbGVjdGVkUGFydCE9PW51bGw/MTowKSsoT2JqZWN0LmtleXMocXVpekFuc3dlcnMpLmxlbmd0aD09PXF1ZXN0aW9ucy5sZW5ndGg/MTowKSsobWF0Y2hDaGVja2VkPzE6MCk7CiAgaWYocmVvcmRlckVhcm5lZCkgZG9uZSArPSAxOwogIGlmKGJ1Y2tldEVhcm5lZCkgZG9uZSArPSAxOwogIGlmKGJ1Z0Vhcm5lZCkgZG9uZSArPSAxOwogIGlmKGNsb3plRWFybmVkKSBkb25lICs9IDE7CgogIGxldCB0b3RhbD04OwogIGlmKHJlb3JkZXJzRGF0YSAmJiByZW9yZGVyc0RhdGEubGVuZ3RoID4gMCkgdG90YWwgKz0gMTsKICBpZihidWNrZXRTb3J0c0RhdGEgJiYgYnVja2V0U29ydHNEYXRhLmxlbmd0aCA+IDApIHRvdGFsICs9IDE7CiAgaWYoc3BvdFRoZUJ1Z3NEYXRhICYmIHNwb3RUaGVCdWdzRGF0YS5sZW5ndGggPiAwKSB0b3RhbCArPSAxOwogIGlmKGNsb3plUGFzc2FnZXNEYXRhICYmIGNsb3plUGFzc2FnZXNEYXRhLmxlbmd0aCA+IDApIHRvdGFsICs9IDE7CgogIHZhciBwdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJvZ3Jlc3NUZXh0Jyk7CiAgaWYocHQpIHB0LnRleHRDb250ZW50PWDEsGxlcmxlbWU6ICR7TWF0aC5taW4oZG9uZSx0b3RhbCl9LyR7dG90YWx9YDsKICB2YXIgcGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dyZXNzQmFyJyk7CiAgaWYocGIpIHBiLnN0eWxlLndpZHRoPWAke01hdGgubWluKDEwMCxkb25lL3RvdGFsKjEwMCl9JWA7CiAgdHJ5ewogICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7CiAgICAgIHR5cGU6J0JUWURfUFJPR1JFU1NfVVBEQVRFJywKICAgICAgZG9uZTpNYXRoLm1pbihkb25lLHRvdGFsKSwKICAgICAgdG90YWw6dG90YWwsCiAgICAgIHBlcmNlbnQ6TWF0aC5yb3VuZChNYXRoLm1pbihkb25lLHRvdGFsKS90b3RhbCoxMDApCiAgICB9LCcqJyk7CiAgfWNhdGNoKGUpe30KfQoKZnVuY3Rpb24gcmVzZXRBbGwoKXsKICBjdXJyZW50U2xpZGU9MDsKICB2aXNpdGVkPW5ldyBTZXQoKTsKICBzZWxlY3RlZFBhcnQ9bnVsbDsKICBxdWl6QW5zd2Vycz17fTsKICBtYXRjaENoZWNrZWQ9ZmFsc2U7CiAgY2FzZUluZGV4PTA7CiAgdG90YWxCdFBvaW50cz0wOwogIGVhcm5lZFF1ZXN0aW9ucz1uZXcgU2V0KCk7CiAgZWFybmVkQ2FzZXM9bmV3IFNldCgpOwogIG1hdGNoRWFybmVkPWZhbHNlOwogIHJlb3JkZXJFYXJuZWQ9ZmFsc2U7CiAgYnVja2V0RWFybmVkPWZhbHNlOwogIGJ1Z0Vhcm5lZD1mYWxzZTsKICBjbG96ZUVhcm5lZD1mYWxzZTsKCiAgcmVuZGVyU2xpZGUoKTsKICByZW5kZXJQYXJ0cygpOwogIHZhciBwZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydERldGFpbCcpOwogIGlmKHBkKSBwZC50ZXh0Q29udGVudD0nQmlyIGJpbGXFn2VuIHNlw6dlcmVrIGtlxZ9mZXRtZXllIGJhxZ9sYS4nOwogIHJlbmRlclF1aXooKTsKICByZW5kZXJNYXRjaGVzKCk7CiAgcmVuZGVyQ2FzZSgpOwogIGluaXRSZW9yZGVycygpOwogIGluaXRCdWNrZXRTb3J0KCk7CiAgaW5pdFNwb3RUaGVCdWcoKTsKICBpbml0Q2xvemUoKTsKICBjbGVhckJvYXJkRHJhdygpOwoKICB2YXIgbWY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21hdGNoRmVlZGJhY2snKTsKICBpZihtZikgbWYudGV4dENvbnRlbnQ9J0hlciBzYXTEsXJkYSB1eWd1biBnw7ZyZXZpIHNlw6cuJzsKICB3aW5kb3cuc2Nyb2xsVG8oe3RvcDowLGJlaGF2aW9yOidzbW9vdGgnfSk7CiAgdHJ5ewogICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7CiAgICAgIHR5cGU6J0JUWURfUFJPR1JFU1NfVVBEQVRFJywKICAgICAgZG9uZTowLAogICAgICB0b3RhbDo4LAogICAgICBwZXJjZW50OjAKICAgIH0sJyonKTsKICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoewogICAgICB0eXBlOidCVFlEX1BPSU5UU19JTklUJywKICAgICAgcG9pbnRzOjAKICAgIH0sJyonKTsKICB9Y2F0Y2goZSl7fQp9CgpmdW5jdGlvbiBpbml0TGVzc29uKCl7CiAgdHJ5e3JlbmRlclNsaWRlKCk7fWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoJ3JlbmRlclNsaWRlIGVycm9yOicsZSk7fQogIHRyeXtyZW5kZXJQYXJ0cygpO31jYXRjaChlKXtjb25zb2xlLmVycm9yKCdyZW5kZXJQYXJ0cyBlcnJvcjonLGUpO30KICB0cnl7cmVuZGVyUXVpeigpO31jYXRjaChlKXtjb25zb2xlLmVycm9yKCdyZW5kZXJRdWl6IGVycm9yOicsZSk7fQogIHRyeXtyZW5kZXJNYXRjaGVzKCk7fWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoJ3JlbmRlck1hdGNoZXMgZXJyb3I6JyxlKTt9CiAgdHJ5e3JlbmRlckNhc2UoKTt9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcigncmVuZGVyQ2FzZSBlcnJvcjonLGUpO30KICB0cnl7aW5pdFJlb3JkZXJzKCk7fWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoJ2luaXRSZW9yZGVycyBlcnJvcjonLGUpO30KICB0cnl7aW5pdEJ1Y2tldFNvcnQoKTt9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcignaW5pdEJ1Y2tldFNvcnQgZXJyb3I6JyxlKTt9CiAgdHJ5e2luaXRTcG90VGhlQnVnKCk7fWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoJ2luaXRTcG90VGhlQnVnIGVycm9yOicsZSk7fQogIHRyeXtpbml0Q2xvemUoKTt9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcignaW5pdENsb3plIGVycm9yOicsZSk7fQogIHRyeXtpbml0Qm9hcmRDYW52YXMoKTt9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcignaW5pdEJvYXJkQ2FudmFzIGVycm9yOicsZSk7fQogIHVwZGF0ZVByb2dyZXNzKCk7CiAgdHJ5ewogICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7CiAgICAgIHR5cGU6J0JUWURfUE9JTlRTX0lOSVQnLAogICAgICBwb2ludHM6dG90YWxCdFBvaW50cwogICAgfSwnKicpOwogIH1jYXRjaChlKXt9Cn0KCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZSl7CiAgaWYoZS5kYXRhICYmIChlLmRhdGEudHlwZT09PSdCVFlEX1JFU0VUX0xFU1NPTicgfHwgZS5kYXRhPT09J0JUWURfUkVTRVRfTEVTU09OJykpewogICAgcmVzZXRBbGwoKTsKICB9Cn0pOwoKd2luZG93LmdvU2xpZGUgPSBnb1NsaWRlOwp3aW5kb3cuY2hhbmdlU2xpZGUgPSBjaGFuZ2VTbGlkZTsKd2luZG93LnNob3dQYXJ0ID0gc2hvd1BhcnQ7CndpbmRvdy5hbnN3ZXJRdWl6ID0gYW5zd2VyUXVpejsKd2luZG93LnJlc2V0UXVpeiA9IHJlc2V0UXVpejsKd2luZG93LmNoZWNrTWF0Y2hlcyA9IGNoZWNrTWF0Y2hlczsKd2luZG93LmNob29zZUNhc2UgPSBjaG9vc2VDYXNlOwp3aW5kb3cubmV4dENhc2UgPSBuZXh0Q2FzZTsKd2luZG93Lm1vdmVSZW9yZGVySXRlbSA9IG1vdmVSZW9yZGVySXRlbTsKd2luZG93LmNoZWNrUmVvcmRlciA9IGNoZWNrUmVvcmRlcjsKd2luZG93LnNlbGVjdEJ1Y2tldEl0ZW0gPSBzZWxlY3RCdWNrZXRJdGVtOwp3aW5kb3cuYXNzaWduQnVja2V0ID0gYXNzaWduQnVja2V0Owp3aW5kb3cudW5hc3NpZ25CdWNrZXRJdGVtID0gdW5hc3NpZ25CdWNrZXRJdGVtOwp3aW5kb3cuY2hlY2tCdWNrZXRTb3J0ID0gY2hlY2tCdWNrZXRTb3J0Owp3aW5kb3cuY2hvb3NlQnVnTGluZSA9IGNob29zZUJ1Z0xpbmU7CndpbmRvdy5zZWxlY3RDbG96ZVNsb3QgPSBzZWxlY3RDbG96ZVNsb3Q7CndpbmRvdy5pbnNlcnRDbG96ZVdvcmQgPSBpbnNlcnRDbG96ZVdvcmQ7CndpbmRvdy5jaGVja0Nsb3plID0gY2hlY2tDbG96ZTsKd2luZG93LnRvZ2dsZUJvYXJkRHJhdyA9IHRvZ2dsZUJvYXJkRHJhdzsKd2luZG93LmNsZWFyQm9hcmREcmF3ID0gY2xlYXJCb2FyZERyYXc7CndpbmRvdy5yZXNldEFsbCA9IHJlc2V0QWxsOwoKaWYoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSdsb2FkaW5nJyl7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsaW5pdExlc3Nvbik7Cn1lbHNlewogIGluaXRMZXNzb24oKTsKfQo8L3NjcmlwdD4KPHNjcmlwdCBpZD0iYnR5ZC1sZXNzb24tZGF0YSIgdHlwZT0iYXBwbGljYXRpb24vanNvbiI+eyJsZXNzb25Db2RlIjoiQlRZLjUuMS41IiwidGl0bGUiOiIxLiBURU1BOiBCaWxpxZ9pbSBUZWtub2xvamlsZXJpbmluIEhheWF0xLFtxLF6ZGFraSBZZXJpOiBCaWxnaXNheWFyIFNpc3RlbWxlcmluaW4gS3VsbGFuxLFtxLEiLCJoZXJvRGVzY3JpcHRpb24iOiJCaWxnaXNheWFyIHNhZGVjZSBiaXIgZWtyYW4gdmUga2xhdnllZGVuIGliYXJldCBkZcSfaWxkaXIhIMSww6dlcmlzaW5kZSBoYXJpa2EgYmlyIHV5dW1sYSDDp2FsxLHFn2FuIG1pbmlrIGZhYnJpa2FsYXIsIHPDvHBlciBoxLF6bMSxIHlvbGxhciB2ZSBkZXZhc2EgZGVwb2xhciBiYXLEsW5kxLFyxLFyLiBCdSBkZXJzdGUgYmlyIGJpbGdpc2F5YXIgc2lzdGVtaW5pIG9sdcWfdHVyYW4gdGVtZWwgcGFyw6dhbGFyxLEgw6fDtnrDvG1sZXllY2VrLCBkb25hbsSxbSB2ZSB5YXrEsWzEsW3EsW4gbXVodGXFn2VtIGnFnyBiaXJsacSfaW5pIGtlxZ9mZWRlY2XEn2l6LiIsInNsaWRlcyI6W3sibmF2Ijoi8J+Wpe+4jyBTaXN0ZW0gTmVkaXI/Iiwia2lja2VyIjoi8J+Pt++4jyBURU1FTCBCxLBMRcWeRU5MRVIiLCJ0aXRsZSI6IvCfp6kgQmlsZ2lzYXlhciBTaXN0ZW1pOiBEb25hbsSxbSB2ZSBZYXrEsWzEsW3EsW4gVXl1bXUiLCJib2R5IjoiPHA+QmlyIGJpbGdpc2F5YXIgc2lzdGVtaSwgaGVkZWZsZW5lbiBnw7ZyZXZsZXJpIHllcmluZSBnZXRpcmViaWxtZWsgacOnaW4gYmlyIGFyYWRhIMOnYWzEscWfYW4gZml6aWtzZWwgcGFyw6dhbGFyIHZlIGJ1IHBhcsOnYWxhcmEgbmUgeWFwYWNhxJ/EsW7EsSBzw7Z5bGV5ZW4ga29tdXRsYXIgYsO8dMO8bsO8ZMO8ci4gQmlsZ2lzYXlhcsSxIHTEsXBrxLEgYmlyIGluc2FuYSBiZW56ZXRlYmlsaXJpejogRml6aWtzZWwgYmVkZW5pbWl6IGRvbmFuxLFtLCBkw7zFn8O8bmNlbGVyaW1peiB2ZSBiaWxnaWxlcmltaXogaXNlIHlhesSxbMSxbWTEsXIuPC9wPjxwPkRvbmFuxLFtIChoYXJkd2FyZSksIGJpbGdpc2F5YXJhIGRva3VuZHXEn3VtdXpkYSBoaXNzZXR0acSfaW1peiB0w7xtIG1la2FuaWsgdmUgZWxla3Ryb25payBwYXLDp2FsYXJkxLFyLiBZYXrEsWzEsW0gKHNvZnR3YXJlKSBpc2UgYnUgcGFyw6dhbGFyxLFuIMOnYWzEscWfbWFzxLFuxLEgc2HEn2xheWFuLCBla3JhbmRhIGfDtnJkw7zEn8O8bcO8eiBwcm9ncmFtbGFyIHZlIG95dW5sYXJkxLFyLiBCaXJpIG9sbWFkYW4gZGnEn2VyaSBoacOnYmlyIGnFn2UgeWFyYW1hei48L3A+PGRpdiBjbGFzcz1cImxlc3Nvbi1ncmlkXCI+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5K7PC9zcGFuPiBTb211dCBEb25hbsSxbTwvaDQ+PHA+R8O2emxlIGfDtnJlYmlsZGnEn2ltaXosIGVsaW1pemxlIHR1dGFiaWxkacSfaW1peiBla3JhbiwgZmFyZSwga2xhdnllIHZlIGthc2EgacOnaSBkZXZyZWxlcmRpci48L3A+PC9kaXY+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5K/PC9zcGFuPiBTb3l1dCBZYXrEsWzEsW08L2g0PjxwPkJpbGdpc2F5YXLEsW4gbmV5aSwgbmUgemFtYW4gdmUgbmFzxLFsIHlhcGFjYcSfxLFuxLEgYmVsaXJsZXllbiBrb2RsYW5txLHFnyBrb211dCBsaXN0ZWxlcmlkaXIuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJ0aXAtYm94XCI+PHNwYW4gY2xhc3M9XCJ0aXAtaWNvblwiPvCfkqE8L3NwYW4+PGRpdj48c3Ryb25nPkfDvG7DvG4gxLBwdWN1PC9zdHJvbmc+PHA+WWF6xLFsxLFtIG9sbWFkYW4gZW4gcGFoYWzEsSBiaWxnaXNheWFyIGJpbGUgeWFsbsSxemNhIMOnYWzEscWfbWF5YW4gYmlyIG1ldGFsIHZlIHBsYXN0aWsgecSxxJ/EsW7EsWTEsXIhPC9wPjwvZGl2PjwvZGl2PiIsImltYWdlQ2FwdGlvbiI6IkJpbGdpc2F5YXIgZG9uYW7EsW0gdmUgeWF6xLFsxLFtIGJpcmltbGVyaW5pbiBvcnRhayDDp2FsxLHFn21hIG1pbWFyaXNpIiwiaW1hZ2VVcmwiOiJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUxODc3MDY2MDQzOS00NjM2MTkwYWY0NzU/YXV0bz1mb3JtYXQmZml0PWNyb3Amdz0xMjAwJnE9ODAifSx7Im5hdiI6IvCfp6AgQmlsZ2lzYXlhcsSxbiBCZXluaSIsImtpY2tlciI6IvCfj7fvuI8gxLDDhyBET05BTklNIELEsFLEsE1MRVLEsCIsInRpdGxlIjoi4pqhIMSwxZ9sZW1jaSAoQ1BVKSB2ZSBBbmFrYXJ0IiwiYm9keSI6IjxwPkJpbGdpc2F5YXIga2FzYXPEsW7EsW4gacOnZXJpc2luZSBiYWt0xLHEn8SxbcSxemRhIGthcm1hxZ/EsWsgZ2liaSBnw7Zyw7xuZW4gaGFyaWthIGJpciDFn2VoaXIgbWFuemFyYXPEsXlsYSBrYXLFn8SxbGHFn8SxcsSxei4gQnUgxZ9laHJpbiBlbiDDtm5lbWxpIHnDtm5ldGljaXNpIMSwxZ9sZW1jaSwgeWFuaSBDUFUnZHVyIChDZW50cmFsIFByb2Nlc3NpbmcgVW5pdCkuIMSwxZ9sZW1jaSwga2xhdnllZGVuIGJhc3TEscSfxLFuxLF6IGhlciB0dcWfdSwgZmFyZXlsZSB5YXB0xLHEn8SxbsSxeiBoZXIgdMSxa2xhbWF5xLEgdmUgb3luYWTEscSfxLFuxLF6IG95dW5sYXJkYWtpIHTDvG0gbWF0ZW1hdGlrc2VsIGhlc2FwbGFtYWxhcsSxIHNhbml5ZW5pbiBtaWx5YXJkYSBiaXJpbmRlIMOnw7Z6ZXIuPC9wPjxwPlBla2kgYnUgcGFyw6dhbGFyIGJpcmJpcml5bGUgbmFzxLFsIGtvbnXFn3VyPyDEsMWfdGUgYnVyYWRhIGRldnJleWUgQW5ha2FydCAoTW90aGVyYm9hcmQpIGdpcmVyLiBBbmFrYXJ0LCBpxZ9sZW1jaWRlbiBiZWxsZcSfZSwgZWtyYW4ga2FydMSxbmRhbiBzZXMga2FydMSxbmEga2FkYXIgdMO8bSBwYXLDp2FsYXLEsW4gw7x6ZXJpbmUgdGFrxLFsZMSxxJ/EsSB2ZSBhcmFsYXLEsW5kYWtpIHZlcmkgdHJhZmnEn2luaSB5w7ZuZXRlbiBhbmEgZGV2cmVkaXIuPC9wPjxkaXYgY2xhc3M9XCJsZXNzb24tZ3JpZFwiPjxkaXYgY2xhc3M9XCJpbmZvLWJveFwiPjxoND48c3BhbiBzdHlsZT1cImZvbnQtc2l6ZToxOHB4XCI+8J+noDwvc3Bhbj4gxLDFn2xlbWNpIChDUFUpPC9oND48cD5Uw7xtIGhlc2FwbGFtYWxhcsSxIHlhcGFuLCBrb211dGxhcsSxIHnDvHLDvHRlbiBiaWxnaXNheWFyxLFuIGtvbXV0YSB2ZSBrYXJhciBtZXJrZXppZGlyLjwvcD48L2Rpdj48ZGl2IGNsYXNzPVwiaW5mby1ib3hcIj48aDQ+PHNwYW4gc3R5bGU9XCJmb250LXNpemU6MThweFwiPvCfm6PvuI88L3NwYW4+IEFuYWthcnQ8L2g0PjxwPlBhcsOnYWxhcsSxbiBiYcSfbGFuZMSxxJ/EsSwgZWxla3RyacSfaSB2ZSBiaWxnaXlpIGRvxJ9ydSB5ZXJlIGlsZXRlbiBiw7x5w7xrIG90b2JhbmTEsXIuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJ0aXAtYm94XCI+PHNwYW4gY2xhc3M9XCJ0aXAtaWNvblwiPvCfkqE8L3NwYW4+PGRpdj48c3Ryb25nPsSwxZ9sZW1jaSBJc8SxbsSxcnNhIE5lIE9sdXI/PC9zdHJvbmc+PHA+xLDFn2xlbWNpbGVyIMOnb2sgeW/En3VuIMOnYWzEscWfdMSxa2xhcsSxIGnDp2luIMOnYWJ1ayDEsXPEsW7EsXJsYXIuIEJ1IG5lZGVubGUgw7x6ZXJsZXJpbmRlIGhlciB6YW1hbiBnw7zDp2zDvCBiaXIgc2/En3V0dWN1IGZhbiBidWx1bnVyLjwvcD48L2Rpdj48L2Rpdj4iLCJpbWFnZUNhcHRpb24iOiJBbmFrYXJ0IMO8emVyaW5kZWtpIG1pa3Jvw6dpcGxlciB2ZSBtZXJrZXppIGnFn2xlbSBiaXJpbWkiLCJpbWFnZVVybCI6Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTkxNzk5MjY0MzE4LTdlNmVmOGRkYjdlYT9hdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTEyMDAmcT04MCJ9LHsibmF2Ijoi8J+SviBCZWxsZWsgVMO8cmxlcmkiLCJraWNrZXIiOiLwn4+377iPIEhBRklaQSBWRSBERVBPTEFNQSIsInRpdGxlIjoi8J+TmiBCaWxnaXlpIFNha2xhbWE6IFJBTSB2ZSBTYWJpdCBEaXNrIEZhcmvEsSIsImJvZHkiOiI8cD5CaWxnaXNheWFyIGJpbGdpbGVyaSBuZXJlZGUgdHV0YXI/IEJ1cmFkYSBpa2kgZmFya2zEsSBoYWbEsXphIHTDvHLDvG7DvCBhbmxhbWFtxLF6IGdlcmVraXI6IEdlw6dpY2kgQmVsbGVrIChSQU0pIHZlIEthbMSxY8SxIERlcG9sYW1hIChTYWJpdCBEaXNrIC8gU1NEKS4gUkFNIGJlbGxlayBiaWxnaXNheWFyxLFuIMOnYWzEscWfbWEgbWFzYXPEsWTEsXIuIERlcnMgw6dhbMSxxZ/EsXJrZW4gbWFzYW7EsXphIGHDp3TEscSfxLFuxLF6IGRlZnRlciB2ZSBraXRhcGxhciBnaWJpLCBvIGFuIGt1bGxhbmTEscSfxLFuxLF6IHByb2dyYW1sYXIgUkFNIMO8emVyaW5kZSBhw6fEsWsgZHVydXIuPC9wPjxwPlNhYml0IERpc2sgKEhERC9TU0QpIGlzZSBvZGFuxLF6ZGFraSBrw7x0w7xwaGFuZSBkb2xhYsSxZMSxci4gQmlsZ2lzYXlhcsSxbsSxesSxIGthcGF0dMSxxJ/EsW7EsXpkYSBSQU0gbWFzYXPEsW5kYWtpIGhlciDFn2V5IHNpbGluaXI7IGZha2F0IGvDvHTDvHBoYW5lbml6ZGVraSBraXRhcGxhciwgeWFuaSBkaXNrZSBrYXlkZXR0acSfaW5peiByZXNpbWxlciwgw7ZkZXZsZXIgdmUgb3l1bmxhciB5xLFsbGFyY2EgZ8O8dmVubGUgc2FrbGFuxLFyLjwvcD48ZGl2IGNsYXNzPVwibGVzc29uLWdyaWRcIj48ZGl2IGNsYXNzPVwiaW5mby1ib3hcIj48aDQ+PHNwYW4gc3R5bGU9XCJmb250LXNpemU6MThweFwiPuKaoTwvc3Bhbj4gUkFNIChHZcOnaWNpIEJlbGxlayk8L2g0PjxwPsOHb2sgaMSxemzEsWTEsXIsIGFubMSxayBwcm9ncmFtbGFyxLEgw6dhbMSxxZ90xLFyxLFyIGFuY2FrIGJpbGdpc2F5YXIga2FwYW5kxLHEn8SxbmRhIGnDp2luZGVraSBiaWxnaWxlciB1w6dhci48L3A+PC9kaXY+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5eE77iPPC9zcGFuPiBTU0QgLyBTYWJpdCBEaXNrPC9oND48cD5Gb3RvxJ9yYWZsYXLEsW7EsXrEsSwgdmlkZW9sYXLEsW7EsXrEsSB2ZSBpxZ9sZXRpbSBzaXN0ZW1pbmkgZWxla3RyaWsga2VzaWxzZSBiaWxlIGthbMSxY8SxIG9sYXJhayBzYWtsYXIuPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9XCJ0aXAtYm94XCI+PHNwYW4gY2xhc3M9XCJ0aXAtaWNvblwiPvCfkqE8L3NwYW4+PGRpdj48c3Ryb25nPsOWZGV2aSBLYXlkZXRtZXlpIFVudXRtYSE8L3N0cm9uZz48cD5ZYXpkxLHEn8SxbsSxeiBiaXIgbWV0aW4gc2l6ICdLYXlkZXQnIGTDvMSfbWVzaW5lIGJhc2FuYSBrYWRhciBzYWRlY2UgUkFNJ2RlZGlyLiBFbGVrdHJpayBnaWRlcnNlIGtheWJvbHVyITwvcD48L2Rpdj48L2Rpdj4iLCJpbWFnZUNhcHRpb24iOiJHZcOnaWNpIFJBTSBiZWxsZWsgbW9kw7xsbGVyaSB2ZSBrYWzEsWPEsSBkZXBvbGFtYSBzw7xyw7xjw7xsZXJpIiwiaW1hZ2VVcmwiOiJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU2Mjk3NjU0MC0xNTAyYzIxNDUxODY/YXV0bz1mb3JtYXQmZml0PWNyb3Amdz0xMjAwJnE9ODAifSx7Im5hdiI6IvCflIwgR2lyacWfIHZlIMOHxLFrxLHFnyIsImtpY2tlciI6IvCfj7fvuI8gw4dFVlJFIELEsFLEsE1MRVLEsCIsInRpdGxlIjoi8J+UhCBWZXJpIETDtm5nw7xzw7w6IEdpcmRpLCDEsMWfbGVtIHZlIMOHxLFrdMSxIiwiYm9keSI6IjxwPkJpciBiaWxnaXNheWFyIGTEscWfIGTDvG55YXlsYSBuYXPEsWwgaWxldGnFn2ltIGt1cmFyPyBCaWxnaXNheWFybGFyIHZlcmkgacWfbGVtZSBkw7ZuZ8O8c8O8IGFkxLEgdmVyaWxlbiB0ZW1lbCBiaXIgcHJlbnNpcGxlIMOnYWzEscWfxLFyOiBHaXJpxZ8gLT4gxLDFn2xlbSAtPiDDh8Sxa8SxxZ8uIETEscWfYXLEsWRhbiBiaWxnaSBnaXJtZW1pemkgc2HEn2xheWFuIGFyYcOnbGFyYSBHaXJpxZ8gQmlyaW1sZXJpIGRlbmlyLiBLbGF2eWVkZW4geWF6xLEgeWF6bWFrLCBmYXJleWxlIHNlw6dpbSB5YXBtYWsgdmV5YSBtaWtyb2ZvbmxhIHNlcyBrYXlkZXRtZWsgYmlyZXIgZ2lyacWfIGV5bGVtaWRpci48L3A+PHA+xLDFn2xlbWNpIGJ1IGdpcmRpbGVyaSBpxZ9sZWRpa3RlbiBzb25yYSBzb251Y3UgYml6ZSBpbGV0bWVrIGnDp2luIMOHxLFrxLHFnyBCaXJpbWxlcmluaSBrdWxsYW7EsXIuIEVrcmFuZGEgcmVzbWkgZ8O2cm1layAoTW9uaXTDtnIpLCDFn2Fya8SxecSxIGR1eW1hayAoSG9wYXJsw7ZyKSB2ZXlhIMO2ZGV2aW1pemkga2HEn8SxZGEgZMO2a21layAoWWF6xLFjxLEpIGlzZSDDp8Sxa3TEsSBhZMSxbcSxZMSxci48L3A+PGRpdiBjbGFzcz1cImxlc3Nvbi1ncmlkXCI+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5OlPC9zcGFuPiBHaXJpxZ8gQmlyaW1sZXJpPC9oND48cD5LbGF2eWUsIEZhcmUsIE1pa3JvZm9uLCBLYW1lcmEsIFRhcmF5xLFjxLEgYmlsZ2lzYXlhcmEga29tdXQgdmUgdmVyaSBha3RhcsSxci48L3A+PC9kaXY+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5OkPC9zcGFuPiDDh8Sxa8SxxZ8gQmlyaW1sZXJpPC9oND48cD5Nb25pdMO2ciwgSG9wYXJsw7ZyLCBLdWxha2zEsWssIFlhesSxY8SxIHZlIFByb2pla3NpeW9uIGNpaGF6xLEgc29udcOnbGFyxLEga3VsbGFuxLFjxLF5YSBzdW5hci48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cInRpcC1ib3hcIj48c3BhbiBjbGFzcz1cInRpcC1pY29uXCI+8J+SoTwvc3Bhbj48ZGl2PjxzdHJvbmc+RG9rdW5tYXRpayBFa3JhbiBOZWRpcj88L3N0cm9uZz48cD5Eb2t1bm1hdGlrIGVrcmFubGFyIGhlbSBwYXJtYcSfxLFtxLF6bGEgZG9rdW51cCBrb211dCB2ZXJkacSfaW1peiAoZ2lyacWfKSBoZW0gZGUgZ8O2csO8bnTDvHnDvCBpemxlZGnEn2ltaXogKMOnxLFrxLHFnykgacOnaW4gw6dpZnQgecO2bmzDvCBiaXJpbWRpci48L3A+PC9kaXY+PC9kaXY+IiwiaW1hZ2VDYXB0aW9uIjoiS2xhdnllLCBmYXJlIHZlIG1vbml0w7ZyIGdpYmkgdGVtZWwgw6dldnJlIGJpcmltbGVyaSIsImltYWdlVXJsIjoiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1Mjc0NDMyMjQxNTQtYzRhMzk0MmQzYWNmP2F1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTIwMCZxPTgwIn0seyJuYXYiOiLimpnvuI8gWWF6xLFsxLFtIETDvG55YXPEsSIsImtpY2tlciI6IvCfj7fvuI8gS09ETEFSIFZFIFBST0dSQU1MQVIiLCJ0aXRsZSI6IvCflqXvuI8gU2lzdGVtIFlhesSxbMSxbcSxIHZlIFV5Z3VsYW1hIFlhesSxbMSxbWxhcsSxIiwiYm9keSI6IjxwPkRvbmFuxLFtbGFyxLFuIGNhbmxhbm1hc8SxIGnDp2luIHlhesSxbMSxbWxhcmEgaWh0aXlhw6cgdmFyZMSxci4gWWF6xLFsxLFtbGFyIHRlbWVsZGUgaWtpIGFuYSBncnVwdGEgaW5jZWxlbmlyOiBTaXN0ZW0gWWF6xLFsxLFtbGFyxLEgKMSwxZ9sZXRpbSBTaXN0ZW1sZXJpKSB2ZSBVeWd1bGFtYSBZYXrEsWzEsW1sYXLEsS4gxLDFn2xldGltIHNpc3RlbWksIGJpbGdpc2F5YXIgYcOnxLFsZMSxxJ/EsSBhbmRhbiBpdGliYXJlbiBkb25hbsSxbWxhcsSxIHnDtm5ldGVuLCBla3JhbsSxIGtvbnRyb2wgZWRlbiBkZXYgYmlyIG9rdWwgbcO8ZMO8csO8IGdpYmlkaXIuPC9wPjxwPldpbmRvd3MsIFBhcmR1cywgTGludXgsIEFuZHJvaWQgdmUgbWFjT1MgZW4gYmlsaW5lbiBpxZ9sZXRpbSBzaXN0ZW1sZXJpZGlyLiBVeWd1bGFtYSB5YXrEsWzEsW1sYXLEsSBpc2UgYmVsaXJsaSBiaXIgYW1hY2EgecO2bmVsaWsgb2xhcmFrIGt1bGxhbmTEscSfxLFtxLF6IHByb2dyYW1sYXJkxLFyLiBSZXNpbSDDp2l6bWVrIGnDp2luIFBhaW50LCBpbnRlcm5ldGUgZ2lybWVrIGnDp2luIHdlYiB0YXJhecSxY8Sxc8SxLCBkZXJzIMOnYWzEscWfbWFrIGnDp2luIG9maXMgcHJvZ3JhbWxhcsSxIGJpcmVyIHV5Z3VsYW1hIHlhesSxbMSxbcSxZMSxci48L3A+PGRpdiBjbGFzcz1cImxlc3Nvbi1ncmlkXCI+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn5uh77iPPC9zcGFuPiDEsMWfbGV0aW0gU2lzdGVtaTwvaDQ+PHA+QmlsZ2lzYXlhcsSxbiB0w7xtIGRvbmFuxLFtIHZlIHlhesSxbMSxbWxhcsSxbsSxIGlkYXJlIGVkZW4gZW4gdGVtZWwgc2lzdGVtIHlhesSxbMSxbcSxZMSxci48L3A+PC9kaXY+PGRpdiBjbGFzcz1cImluZm8tYm94XCI+PGg0PjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjE4cHhcIj7wn46oPC9zcGFuPiBVeWd1bGFtYSBZYXrEsWzEsW3EsTwvaDQ+PHA+T3l1bmxhciwgw6dpemltIHByb2dyYW1sYXLEsSwgaGVzYXAgYXJhw6dsYXLEsSB2ZSB2aWRlbyBveW5hdMSxY8SxbGFyIGdpYmkgw7Z6ZWxsZcWfbWnFnyBwcm9ncmFtbGFyZMSxci48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1cInRpcC1ib3hcIj48c3BhbiBjbGFzcz1cInRpcC1pY29uXCI+8J+SoTwvc3Bhbj48ZGl2PjxzdHJvbmc+TWlsbGkgR3VydXJ1bXV6IFBhcmR1cyE8L3N0cm9uZz48cD5Uw5xCxLBUQUsgdGFyYWbEsW5kYW4gZ2VsacWfdGlyaWxlbiBQYXJkdXMsIMO8bGtlbWl6ZSBhaXQgw7Z6Z8O8ciB2ZSBnw7x2ZW5saSBiaXIgeWVybGkgacWfbGV0aW0gc2lzdGVtaWRpci48L3A+PC9kaXY+PC9kaXY+IiwiaW1hZ2VDYXB0aW9uIjoixLDFn2xldGltIHNpc3RlbWkgYXJhecO8esO8IHZlIG1vZGVybiBtYXNhw7xzdMO8IHlhesSxbMSxbWxhcsSxIiwiaW1hZ2VVcmwiOiJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTU1NTA2NjkzMS00MzY1ZDE0YmFiOGM/YXV0bz1mb3JtYXQmZml0PWNyb3Amdz0xMjAwJnE9ODAifV0sInBhcnRzIjpbeyJlbW9qaSI6IvCfp6AiLCJuYW1lIjoixLDFn2xlbWNpIChDUFUpIiwidHlwZSI6IsSww6cgRG9uYW7EsW0iLCJkZXNjIjoiQmlsZ2lzYXlhcmRha2kgdMO8bSBtYXRlbWF0aWtzZWwgaGVzYXBsYW1hbGFyxLEgdmUgbWFudMSxa3NhbCBrYXJhcmxhcsSxIHNhbml5ZWxlciBpw6dpbmRlIGFsYW4gbWVya2V6aSBiZXlpbiBiaXJpbWlkaXIuIiwiZXhhbXBsZSI6IkJpciBveXVuZGEga2FyYWt0ZXJpIHnDvHLDvHRtZWsgacOnaW4gYmFzdMSxxJ/EsW7EsXogdHXFn3VuIGhlc2FwbGFuxLFwIGthcmFrdGVyZSBpbGV0aWxtZXNpLiJ9LHsiZW1vamkiOiLimqEiLCJuYW1lIjoiUkFNIChHZcOnaWNpIEJlbGxlaykiLCJ0eXBlIjoixLDDpyBEb25hbsSxbSAvIEJlbGxlayIsImRlc2MiOiJCaWxnaXNheWFyIGHDp8Sxa2tlbiDDvHplcmluZGUgw6dhbMSxxZ/EsWxhbiBwcm9ncmFtbGFyxLFuIGjEsXpsxLFjYSDDp2FsxLHFn21hc8SxbsSxIHNhxJ9sYXlhbiBnZcOnaWNpIMOnYWzEscWfbWEgbWFzYXPEsWTEsXIuIiwiZXhhbXBsZSI6IsSwbnRlcm5ldHRlIGF5bsSxIGFuZGEgNSBmYXJrbMSxIHdlYiBzYXlmYXPEsSBzZWttZXNpbmkgYcOnxLFrIHR1dHVwIGFyYWxhcsSxbmRhIGdlw6dpxZ8geWFwbWFrLiJ9LHsiZW1vamkiOiLwn5eE77iPIiwibmFtZSI6IlNhYml0IERpc2sgLyBTU0QiLCJ0eXBlIjoiRGVwb2xhbWEgRG9uYW7EsW3EsSIsImRlc2MiOiJCaWxnaXNheWFyIGthcGFuc2EgYmlsZSBkb3N5YSwgcmVzaW0sIHZpZGVvIHZlIG95dW5sYXLEsW4gYm96dWxtYWRhbiBzYWtsYW5kxLHEn8SxIGthbMSxY8SxIGRlcG8gYmlyaW1pZGlyLiIsImV4YW1wbGUiOiJZxLFsIHNvbnUgZ8O2c3RlcmlzaW5kZSDDp2VraWxlbiBmb3RvxJ9yYWZsYXLEsW4gYmlsZ2lzYXlhciBrYXBhbMSxeWtlbiBiaWxlIHnEsWxsYXJjYSBzYWtsYW5hYmlsbWVzaS4ifSx7ImVtb2ppIjoi4oyo77iPIiwibmFtZSI6IktsYXZ5ZSB2ZSBGYXJlIiwidHlwZSI6IkdpcmnFnyBCaXJpbWkiLCJkZXNjIjoiS3VsbGFuxLFjxLFuxLFuIGJpbGdpc2F5YXJhIGhhcmYsIHJha2FtLCBrb211dCB2ZSB5w7ZubGVuZGlybWVsZXJpIGlsZXRtZXNpbmkgc2HEn2xheWFuIGTEscWfIGRvbmFuxLFtbGFyZMSxci4iLCJleGFtcGxlIjoiRmVuIEJpbGltbGVyaSBwcm9qZW5peiBpw6dpbiBhcmHFn3TEsXJtYSByYXBvcnVudSBiaWxnaXNheWFyZGEgeWF6xLF5YSBkw7ZrbWVrLiJ9LHsiZW1vamkiOiLwn5al77iPIiwibmFtZSI6Ik1vbml0w7ZyIChFa3JhbikiLCJ0eXBlIjoiw4fEsWvEscWfIEJpcmltaSIsImRlc2MiOiJLYXNhbsSxbiBpw6dlcmlzaW5kZSBpxZ9sZW5lbiBiaWxnaWxlcmluLCByZW5rbGVyaW4gdmUgcGVuY2VyZWxlcmluIGfDtnrDvG3DvHpsZSBnw7ZyZWJpbGVjZcSfaW1peiBoYWxlIGdlbG1lc2luaSBzYcSfbGF5YW4gZ8O2csO8bnTDvCBhcmFjxLFkxLFyLiIsImV4YW1wbGUiOiLDh2l6ZGnEn2luaXogZGlqaXRhbCByZXNtaSB2ZXlhIGl6bGVkacSfaW5peiBlxJ9pdGljaSB2aWRlb3l1IHBpa3NlbGxlciBoYWxpbmRlIGfDtnJlYmlsbWVrLiJ9LHsiZW1vamkiOiLwn5CnIiwibmFtZSI6IsSwxZ9sZXRpbSBTaXN0ZW1pIiwidHlwZSI6IlNpc3RlbSBZYXrEsWzEsW3EsSIsImRlc2MiOiJEb25hbsSxbSBwYXLDp2FsYXLEsSBpbGUga3VsbGFuxLFjxLFuxLFuIGFubGHFn21hc8SxbsSxIHNhxJ9sYXlhbiwgdMO8bSBwcm9ncmFtbGFyxLFuIHRlbWVsaW5kZSDDp2FsxLHFn2FuIGFuYSB5YXrEsWzEsW1kxLFyLiIsImV4YW1wbGUiOiJXaW5kb3dzLCBQYXJkdXMgdmV5YSBha8SxbGzEsSB0ZWxlZm9ubGFyxLFtxLF6ZGFraSBBbmRyb2lkIHNpc3RlbWkuIn1dLCJxdWVzdGlvbnMiOlt7InEiOiJFbGVrdHJpayBrZXNpbGRpxJ9pbmRlIGnDp2luZGVraSB2ZXJpbGVyaW4gdGFtYW3EsSBzaWxpbmVuIGRvbmFuxLFtIGJpcmltaSBhxZ9hxJ/EsWRha2lsZXJkZW4gaGFuZ2lzaWRpcj8iLCJvcHRzIjpbIlNhYml0IERpc2sgKFNTRCkiLCJSQU0gQmVsbGVrIiwixLDFn2xlbWNpIChDUFUpIiwiT3B0aWsgU8O8csO8Y8O8Il0sImEiOjEsIndoeSI6IlJBTSBnZcOnaWNpIGJpciBiZWxsZWt0aXI7IHlhbG7EsXpjYSBiaWxnaXNheWFyIGHDp8Sxa2tlbiB2ZSBlbGVrdHJpayB2YXJrZW4gdmVyaWxlcmkgw7x6ZXJpbmRlIHR1dGFyLiJ9LHsicSI6IkJpbGdpc2F5YXJhIGJhxJ9sYW5hbiBtaWtyb2ZvbiBoYW5naSBkb25hbsSxbSBrYXRlZ29yaXNpbmUgYWl0dGlyPyIsIm9wdHMiOlsiw4fEsWvEscWfIEJpcmltaSIsIkRlcG9sYW1hIEJpcmltaSIsIkdpcmnFnyBCaXJpbWkiLCLEsMOnIERvbmFuxLFtIl0sImEiOjIsIndoeSI6Ik1pa3JvZm9uIHNlc2ltaXppIGTEscWfYXLEsWRhbiBhbMSxcCBiaWxnaXNheWFyxLFuIGnDp2luZSBha3RhcmTEscSfxLEgacOnaW4gYmlyIGdpcmnFnyBiaXJpbWlkaXIuIn0seyJxIjoiQmlsZ2lzYXlhcsSxbiB0w7xtIHBhcsOnYWxhcsSxbsSxIMO8emVyaW5lIGJhxJ9sYXlhbiB2ZSB2ZXJpIGlsZXRpxZ9pbWluaSBzYcSfbGF5YW4gYW5hIGRldnJlIGthcnTEsSBoYW5naXNpZGlyPyIsIm9wdHMiOlsiQW5ha2FydCIsIkVrcmFuIEthcnTEsSIsIkfDvMOnIEtheW5hxJ/EsSIsIlNlcyBLYXJ0xLEiXSwiYSI6MCwid2h5IjoiQW5ha2FydCwgdMO8bSBpw6cgdmUgZMSxxZ8gYmlsZcWfZW5sZXJpbiBiaXJiaXJpbmUgYmHEn2xhbmTEscSfxLEgbWVya2V6aSBlbGVrdHJvbmlrIGthcnR0xLFyLiJ9LHsicSI6IlTDnELEsFRBSyB0YXJhZsSxbmRhbiBnZWxpxZ90aXJpbGVuIG1pbGxpIGnFn2xldGltIHNpc3RlbWltaXppbiBhZMSxIG5lZGlyPyIsIm9wdHMiOlsiV2luZG93cyIsIkxpbnV4IE1pbnQiLCJBbmRyb2lkIiwiUGFyZHVzIl0sImEiOjMsIndoeSI6IlBhcmR1cywgVMO8cmtpeWUnZGUgVMOcQsSwVEFLIFVMQUtCxLBNIHRhcmFmxLFuZGFuIGdlbGnFn3RpcmlsZW4geWVybGkgdmUgbWlsbGkgYmlyIGnFn2xldGltIHNpc3RlbWlkaXIuIn0seyJxIjoiQcWfYcSfxLFkYWtpbGVyZGVuIGhhbmdpc2kgZG/En3J1ZGFuIGJpciAnw4fEsWvEscWfIEJpcmltaScgw7ZybmXEn2lkaXI/Iiwib3B0cyI6WyJCYXJrb2QgT2t1eXVjdSIsIldlYiBLYW1lcmFzxLEiLCJIb3BhcmzDtnIiLCJLbGF2eWUiXSwiYSI6Miwid2h5IjoiSG9wYXJsw7ZyLCBiaWxnaXNheWFyZGEgw7xyZXRpbGVuIHNlc2kgZMSxxZ9hcsSxeWEgZGlubGV5ZWJpbG1lbWl6IGnDp2luIGlsZXR0acSfaW5kZW4gw6fEsWvEscWfIGJpcmltaWRpci4ifV0sIm1hdGNoSXRlbXMiOlt7Im5hbWUiOiLEsMWfbGVtY2kgKENQVSkiLCJhIjoiVmVyaWxlcmkgacWfbGV5ZW4gYmlsZ2lzYXlhcsSxbiBiZXluaSJ9LHsibmFtZSI6IlJBTSBCZWxsZWsiLCJhIjoiQmlsZ2lzYXlhciBhw6fEsWtrZW4gw6dhbMSxxZ9hbiBnZcOnaWNpIGhhZsSxemEifSx7Im5hbWUiOiJTYWJpdCBEaXNrIChTU0QpIiwiYSI6IkRvc3lhbGFyxLFuIGthbMSxY8SxIG9sYXJhayBzYWtsYW5kxLHEn8SxIGRlcG8ifSx7Im5hbWUiOiLEsMWfbGV0aW0gU2lzdGVtaSIsImEiOiJEb25hbsSxbSBpbGUga3VsbGFuxLFjxLEgYXJhc8SxbmRha2kga8O2cHLDvCB5YXrEsWzEsW0ifSx7Im5hbWUiOiJZYXrEsWPEsSIsImEiOiJEaWppdGFsIGJlbGdlbGVyaSBrYcSfxLFkYSBkw7ZrZW4gw6fEsWvEscWfIGJpcmltaSJ9XSwiY2FzZXMiOlt7InRpdGxlIjoi8J+UjCBFbGVrdHJpayBLZXNpbnRpc2kgRmVsYWtldGkiLCJ0ZXh0IjoiRWZlIGJpbGdpc2F5YXLEsW5kYSAyIHNhYXQgYm95dW5jYSBiaXIgaGlrYXllIHlhemTEsSBhbmNhayBrYXlkZXQgZMO8xJ9tZXNpbmUgaGnDpyBiYXNtYWTEsS4gQmlyZGVuIGVsZWt0cmlrbGVyIGtlc2lsZGkuIEVmZSBiaWxnaXNheWFyxLEgdGVrcmFyIGHDp3TEscSfxLFuZGEgaGlrYXllc2luaSBidWxhbWFkxLEuIEJ1IGR1cnVtIGhhbmdpIGJpcmltaW4gw6dhbMSxxZ9tYSB5YXDEsXPEsXlsYSBpbGdpbGlkaXI/Iiwib3B0cyI6WyJFZmUnbmluIHlhemTEscSfxLEgeWF6xLFsYXIgUkFNIGJlbGxla3RlIHR1dHVsZHXEn3UgacOnaW4gZWxla3RyaWsga2VzaWxpbmNlIHNpbGlubWnFn3Rpci4iLCLEsMWfbGVtY2kgw6dvayDEsXPEsW5kxLHEn8SxIGnDp2luIHlhesSxecSxIHNhYml0IGRpc2t0ZW4ga2FzdGVuIHNpbG1pxZ90aXIuIiwiTW9uaXTDtnIgYm96dWxkdcSfdSBpw6dpbiB5YXrEsWxhcsSxIGfDtnN0ZXJtZXlpIHJlZGRldG1la3RlZGlyLiJdLCJhIjowLCJ3aHkiOiJLYXnEsXQgZWRpbG1leWVuIHZlcmlsZXIgZ2XDp2ljaSBSQU0gYmVsbGVrdGUgdHV0dWx1ciB2ZSBlbGVrdHJpayBrZXNpbGRpxJ9pbmRlIHPEsWbEsXJsYW7EsXIuIn0seyJ0aXRsZSI6IvCfjqQgU2VzIEtheWTEsSBCaWxtZWNlc2kiLCJ0ZXh0IjoiWmV5bmVwIMO2xJ9yZXRtZW5pbmluIHZlcmRpxJ9pIMO2ZGV2IGnDp2luIGJpciDFn2lpciBzZXNsZW5kaXJtZWsgaXN0aXlvci4gQmlsZ2lzYXlhcmEgc2VzaW5pIGlsZXRlYmlsbWVrIHZlIGRhaGEgc29ucmEga2F5ZGV0dGnEn2kgc2VzaSBrdWxhxJ/EsXlsYSBkaW5sZXllYmlsbWVrIGnDp2luIHPEsXJhc8SxeWxhIGhhbmdpIGJpcmltbGVyaSBrdWxsYW5tYWzEsWTEsXI/Iiwib3B0cyI6WyJZYXrEsWPEsSB2ZSBUYXJhecSxY8SxIiwiTWlrcm9mb24gKEdpcmnFnykgdmUgS3VsYWtsxLFrICjDh8Sxa8SxxZ8pIiwiV2ViIEthbWVyYXPEsSB2ZSBQcm9qZWtzaXlvbiJdLCJhIjoxLCJ3aHkiOiJTZXMgYmlsZ2lzYXlhcmEgbWlrcm9mb24gKGdpcmnFnykgaWxlIGFrdGFyxLFsxLFyLCBrdWxha2zEsWsgdmV5YSBob3BhcmzDtnIgKMOnxLFrxLHFnykgaWxlIGRpbmxlbmlyLiJ9LHsidGl0bGUiOiLwn5CiIFlhdmHFn2xheWFuIEJpbGdpc2F5YXIiLCJ0ZXh0IjoiQXJkYSBiaWxnaXNheWFyxLFuZGEgYXluxLEgYW5kYSBoZW0gdmlkZW8gaXpsZW1leWUsIGhlbSBiw7x5w7xrIGJveXV0bHUgYmlyIMOnaXppbSBwcm9ncmFtxLEgYcOnbWF5YSBoZW0gZGUgbcO8emlrIGRpbmxlbWV5ZSDDp2FsxLHFn8SxeW9yLiBCaWxnaXNheWFyxLEgYcWfxLFyxLEgeWF2YcWfbMSxeW9yIHZlIHBlbmNlcmVsZXIgZG9udXlvci4gQXJkYSduxLFuIGhhbmdpIGRvbmFuxLFtIGJpbGXFn2VuaSB5ZXRlcnNpeiBrYWxtYWt0YWTEsXI/Iiwib3B0cyI6WyJSQU0gKEdlw6dpY2kgQmVsbGVrKSIsIktsYXZ5ZSIsIkthc2EgR8O8w6cgS2FibG9zdSJdLCJhIjowLCJ3aHkiOiJBeW7EsSBhbmRhIMOnb2sgc2F5xLFkYSB1eWd1bGFtYW7EsW4gYcOnxLFrIG9sbWFzxLEgUkFNIGJlbGxlxJ9pIGRvbGR1cnVyIHZlIGJpbGdpc2F5YXLEsW4gZG9ubWFzxLFuYSBzZWJlcCBvbHVyLiJ9XSwic3VtbWFyeSI6W3sidGl0bGUiOiJEb25hbsSxbSB2ZSBZYXrEsWzEsW0gQXlyxLFsbWF6IMSwa2lsaWRpciIsImRlc2MiOiJEb25hbsSxbSBkb2t1bmFiaWxkacSfaW1peiBmaXppa3NlbCBwYXLDp2FsYXJkxLFyOyB5YXrEsWzEsW0gaXNlIGJ1IHBhcsOnYWxhcmEgaGF5YXQgdmVyZW4ga29kbGFyIHZlIHByb2dyYW1sYXJkxLFyLiJ9LHsidGl0bGUiOiJCaWxnaSDEsMWfbGVtZSBNYW50xLHEn8SxOiBHaXJpxZ8sIMSwxZ9sZW0sIMOHxLFrxLHFnyIsImRlc2MiOiJLbGF2eWVkZW4gdmVyaSBnaXJpbGlyIChHaXJkaSksIMSwxZ9sZW1jaSBidW51IGhlc2FwbGFyICjEsMWfbGVtKSB2ZSBNb25pdMO2cmRlbiBzb251w6cgZ8O2csO8bnTDvGxlbmlyICjDh8Sxa3TEsSkuIn0seyJ0aXRsZSI6IkhhZsSxemEgw4dlxZ9pdGxlcmkgQmlyYmlyaW5pIFRhbWFtbGFyIiwiZGVzYyI6IlJBTSBoxLF6bMSxIHZlIGdlw6dpY2kgw6dhbMSxxZ9tYSBtYXNhbcSxemTEsXI7IFNhYml0IERpc2sgKFNTRCkgaXNlIGRvc3lhbGFyxLFtxLF6xLFuIHNpbGlubWVkacSfaSBnw7x2ZW5saSBkZXBvbXV6ZHVyLiJ9XSwiYnVja2V0U29ydHMiOlt7InRpdGxlIjoiRG9uYW7EsW0gUGFyw6dhbGFyxLFuxLEgxLDFn2xldmluZSBHw7ZyZSBTxLFuxLFmbGFuZMSxciIsImNhdGVnb3JpZXMiOlsiR2lyacWfIEJpcmltbGVyaSIsIsOHxLFrxLHFnyBCaXJpbWxlcmkiLCJEZXBvbGFtYSBCaXJpbWxlcmkiXSwiaXRlbXMiOlt7InRleHQiOiJLbGF2eWUiLCJjYXRlZ29yeUluZGV4IjowfSx7InRleHQiOiJNb25pdMO2ciIsImNhdGVnb3J5SW5kZXgiOjF9LHsidGV4dCI6IlNhYml0IERpc2sgKFNTRCkiLCJjYXRlZ29yeUluZGV4IjoyfSx7InRleHQiOiJGYXJlIiwiY2F0ZWdvcnlJbmRleCI6MH0seyJ0ZXh0IjoiS3VsYWtsxLFrIiwiY2F0ZWdvcnlJbmRleCI6MX0seyJ0ZXh0IjoiVVNCIEZsYcWfIEJlbGxlayIsImNhdGVnb3J5SW5kZXgiOjJ9LHsidGV4dCI6Ik1pa3JvZm9uIiwiY2F0ZWdvcnlJbmRleCI6MH0seyJ0ZXh0IjoiWWF6xLFjxLEiLCJjYXRlZ29yeUluZGV4IjoxfV19XSwiY2xvemVQYXNzYWdlcyI6W3sidGl0bGUiOiJUZW1lbCBCaWxnaXNheWFyIE1pbWFyaXNpIiwidGV4dCI6IkJpbGdpc2F5YXJkYSB2ZXJpbGVyaSBpxZ9sZXllbiBiaXJpbWUgX19fIGRlbmlyLiBFbGVrdHJpayBrZXNpbGRpxJ9pbmRlIGnDp2luZGVraSBiaWxnaWxlciBzaWxpbmVuIGdlw6dpY2kgYmVsbGXEn2UgX19fIGFkxLEgdmVyaWxpcmtlbiwgZG9zeWFsYXLEsW3EsXrEsW4ga2FsxLFjxLEgc2FrbGFuZMSxxJ/EsSBiaXJpbSBfX18gb2xhcmFrIGJpbGluaXIuIiwiYmxhbmtzIjpbeyJpbmRleCI6MCwiY29ycmVjdFdvcmQiOiLEsMWfbGVtY2kifSx7ImluZGV4IjoxLCJjb3JyZWN0V29yZCI6IlJBTSJ9LHsiaW5kZXgiOjIsImNvcnJlY3RXb3JkIjoiU2FiaXQgRGlzayJ9XSwid29yZFBvb2wiOlsixLDFn2xlbWNpIiwiUkFNIiwiU2FiaXQgRGlzayIsIk1vbml0w7ZyIiwiS2xhdnllIl19XSwiZXllYnJvdyI6IjUuIFPEsW7EsWYgwrcgQmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBZYXrEsWzEsW0iLCJyZW9yZGVycyI6W3sidGl0bGUiOiJCaWxnaXNheWFyZGEgQmlsZ2kgxLDFn2xlbWUgRMO2bmfDvHPDvCIsImluc3RydWN0aW9uIjoiQmlyIG1ldGluIGJlbGdlc2kgaGF6xLFybGFya2VuIGdlcsOnZWtsZcWfZW4gYWTEsW1sYXLEsSBtYW50xLFrc2FsIHPEsXJheWEgZ8O2cmUgZGl6aW5pei4iLCJpdGVtcyI6W3sidGV4dCI6IktsYXZ5ZWRlbiBoYXJmIHR1xZ9sYXLEsW5hIGJhc8SxbGFyYWsgdmVyaW5pbiBiaWxnaXNheWFyYSBha3RhcsSxbG1hc8SxIChHaXJpxZ8pIiwiY29ycmVjdE9yZGVyIjoxfSx7InRleHQiOiLEsMWfbGVtY2luaW4gYmFzxLFsYW4gdHXFnyBrb2RsYXLEsW7EsSBpa2lsaWsgc2lzdGVtZSBkw7Zuw7zFn3TDvHLDvHAgaGVzYXBsYW1hc8SxICjEsMWfbGVtKSIsImNvcnJlY3RPcmRlciI6Mn0seyJ0ZXh0IjoiVmVyaWxlcmluIGFubMSxayBvbGFyYWsgYcOnxLFrIG9sYW4gUkFNIGJlbGxlxJ9lIHllcmxlxZ90aXJpbG1lc2kiLCJjb3JyZWN0T3JkZXIiOjN9LHsidGV4dCI6IllhesSxbGFuIGhhcmZsZXJpbiBtb25pdMO2ciBla3JhbsSxbmRhIGfDtnLDvG7DvHIgaGFsZSBnZWxtZXNpICjDh8Sxa8SxxZ8pIiwiY29ycmVjdE9yZGVyIjo0fSx7InRleHQiOiJEb3N5YW7EsW4gJ0theWRldCcgZMO8xJ9tZXNpeWxlIHNhYml0IGRpc2tlIGfDvHZlbmxlIHlhesSxbG1hc8SxIChEZXBvbGFtYSkiLCJjb3JyZWN0T3JkZXIiOjV9XX1dLCJzcG90VGhlQnVncyI6W3sidGl0bGUiOiJBw6fEsWzEscWfIFPDvHJlY2luZGVraSBIYXRhbMSxIEFkxLFtxLEgQnVsIiwic2NlbmFyaW8iOiJCaXIgbWFzYcO8c3TDvCBiaWxnaXNheWFyxLFuIGHDp8SxbMSxxZ8gdmUgw6dhbMSxxZ9tYSBhZMSxbWxhcsSxIGHFn2HEn8SxZGEgc8SxcmF5bGEgbGlzdGVsZW5tacWfdGlyLiBBbmNhayBhZMSxbWxhcmRhbiBiaXJpIG1hbnTEsWtzYWwgYmlyIGRvbmFuxLFtIGhhdGFzxLEgacOnZXJtZWt0ZWRpci4iLCJsaW5lcyI6WyIxLiBLYXNhIMO8emVyaW5kZWtpIGfDvMOnIGJ1dG9udW5hIGJhc8SxbMSxciB2ZSBhbmFrYXJ0YSBlbGVrdHJpayB1bGHFn8Sxci4iLCIyLiBBbmFrYXJ0IMO8emVyaW5kZWtpIEJJT1Mgw6dpcGkgacWfbGVtY2kgdmUgUkFNIHBhcsOnYWxhcsSxbsSxIHRlc3QgZWRlci4iLCIzLiBUw7xtIHJlc2ltIHZlIG95dW4gZG9zeWFsYXLEsSBtb25pdMO2csO8biBpw6dpbmUga2FsxLFjxLEgb2xhcmFrIHnDvGtsZW5pci4iLCI0LiDEsMWfbGV0aW0gc2lzdGVtaSBzYWJpdCBkaXNrdGVuIG9rdW51cCDDp2FsxLHFn21hIGnDp2luIFJBTSBiZWxsZcSfZSBha3RhcsSxbMSxci4iLCI1LiBNYXNhw7xzdMO8IGVrcmFuxLEgbW9uaXTDtnJlIHlhbnPEsXTEsWzEsXIgdmUgc2lzdGVtIGt1bGxhbsSxY8SxeWEgaGF6xLFyIG9sdXIuIl0sImJ1Z2d5TGluZUluZGV4IjoyLCJleHBsYW5hdGlvbiI6Ik1vbml0w7ZyIGJpciBkZXBvbGFtYSBiaXJpbWkgZGXEn2lsLCB5YWxuxLF6Y2EgYmlyIMOnxLFrxLHFnyBiaXJpbWlkaXIuIERvc3lhbGFyIG1vbml0w7Zyw7xuIGnDp2luZSBrYXlkZWRpbGVtZXogdmV5YSB5w7xrbGVuZW1lejsgZG9zeWFsYXIgc2FiaXQgZGlza3RlIHR1dHVsdXIuIn1dLCJ0YWdzIjpbIkRPTkFOSU0iLCJZQVpJTElNIiwiU8SwU1RFTSDDh8OWWsOcTUxFTUUiXSwibGVzc29uTmFtZSI6IkJpbGnFn2ltIFRla25vbG9qaWxlcmkgdmUgWWF6xLFsxLFtIn08L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+"][/interactive]

REKLAM
REKLAM

İlgili Kavramlar (11) (Etiket Bulutu)

#bilişim teknolojileri#bilgisayar sistemleri#donanım#yazılım#i̇şletim sistemleri#giriş çıkış birimleri#5. sınıf bilişim#bilgisayar kullanımı#depolama birimleri#temel bilgisayar bilgisi#Bilgisayar Sistemlerinin Kullanımı

Anlamadığın bir yer mi var?

Senin için bu içeriğin can alıcı kısımlarını özetleyebilirim.

REKLAM
Bilgisayar Sistemlerinin Kullanımı, bilişim teknolojileri, bilgisayar sistemleri, donanım, yazılım, i̇şletim sistemleri, giriş çıkış birimleri, 5. sınıf bilişim, bilgisayar kullanımı, depolama birimleri, temel bilgisayar bilgisi

Tartışma ve Sorular (0)

💬

Henüz bir yorum yapılmamış.

İlk soruyu sen sorabilirsin!

Ziyaretçi Olarak Yorum Yap

Yorumunuz yönetici onayından sonra yayınlanacaktır.

BT Öğretmeni Logo
BT Öğretmeni2026 © Tüm Hakları saklıdır.
Gizlilik PolitikasıKullanım Koşullarıİletişim