AppCentre应用中心客户端https://www.zblogcn.com/Z-BlogPHP版的资源大本营main.phpinclude.php1zx.asdrainbowsoft@gmail.comhttps://www.zblogcn.com/1501012.662013-07-072021-08-2405.2
AppCentre/images/
AppCentre/language/
AppCentre/tpl/
AppCentre/app_del.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdHRVQnKSwgJ0FwcENlbnRyZScpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDUsIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgZGllKCk7DQp9DQoNCkFwcENlbnRyZV9DaGVja0luU2VjdXJpdHlNb2RlKCk7DQoNCmlmICgkYmxvZ3ZlcnNpb24gPj0gMTUxNTI1KSB7DQogICAgJGFwcCA9ICR6YnAtPkxvYWRBcHAoJF9HRVRbJ3R5cGUnXSwgJF9HRVRbJ2lkJ10pOw0KICAgIGlmICgkYXBwLT5pZCAhPSAnJyAmJiAoJGFwcC0+dHlwZSA9PSAncGx1Z2luJyB8fCAkYXBwLT50eXBlID09ICd0aGVtZScpKSB7DQogICAgICAgIGlmICgkYXBwLT5DYW5EZWwoKSkgew0KICAgICAgICAgICAgJGFwcC0+RGVsKCk7DQogICAgICAgIH0NCiAgICB9DQp9IGVsc2Ugew0KDQogICAgZnVuY3Rpb24gcnJtZGlyKCRkaXIpDQogICAgew0KICAgICAgICBpZiAoaXNfZGlyKCRkaXIpKSB7DQogICAgICAgICAgICAkb2JqZWN0cyA9IHNjYW5kaXIoJGRpcik7DQogICAgICAgICAgICBmb3JlYWNoICgkb2JqZWN0cyBhcyAkb2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKCRvYmplY3QgIT0gJy4nICYmICRvYmplY3QgIT0gJy4uJykgew0KICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZXR5cGUoJGRpciAuICcvJyAuICRvYmplY3QpID09ICdkaXInKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBycm1kaXIoJGRpciAuICcvJyAuICRvYmplY3QpOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgdW5saW5rKCRkaXIgLiAnLycgLiAkb2JqZWN0KTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJlc2V0KCRvYmplY3RzKTsNCiAgICAgICAgICAgIHJtZGlyKCRkaXIpOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmICgkX0dFVFsndHlwZSddID09ICdwbHVnaW4nIHx8ICRfR0VUWyd0eXBlJ10gPT0gJ3RoZW1lJykgew0KICAgIAkkX0dFVFsnaWQnXSA9IHN0cl9yZXBsYWNlKGFycmF5KCcuJywgJy8nLCAnXFwnKSwgJycsICRfR0VUWydpZCddKTsNCiAgICAgICAgcnJtZGlyKCR6YnAtPnVzZXJzZGlyIC4gJF9HRVRbJ3R5cGUnXSAuICcvJyAuICRfR0VUWydpZCddKTsNCiAgICB9DQp9DQoNClJlZGlyZWN0KCRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSk7DQo=
AppCentre/app_pack.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdHRVQnKSwgJ0FwcENlbnRyZScpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDUsIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgZGllKCk7DQp9DQoNCkFwcENlbnRyZV9DaGVja0luU2VjdXJpdHlNb2RlKCk7DQoNCiR0eXBlID0gJF9HRVRbJ3R5cGUnXTsNCg0KJGlkID0gJF9HRVRbJ2lkJ107DQoNCiRhcHAgPSBuZXcgQXBwOw0KDQppZiAoISRhcHAtPkxvYWRJbmZvQnlYbWwoJHR5cGUsICRpZCkpIHsNCiAgICBleGl0Ow0KfQ0KDQpvYl9jbGVhbigpOw0KDQppZiAoZnVuY3Rpb25fZXhpc3RzKCdnemVuY29kZScpDQogICAgJiYgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlZ3ppcGFwcA0KICAgICYmICRhcHAtPmFkYXB0ZWQgPiAxNDA2MTQvLyAxLjPlkozkuYvliY3niYjmnKzkuI3miZPljIXkuLpnemJhDQopIHsNCiAgICAkYiA9IHRydWU7DQp9IGVsc2Ugew0KICAgICRiID0gZmFsc2U7DQp9DQovL2hlYWRlcignQ29udGVudC10eXBlOnRleHQveG1sJyk7DQpoZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246YXR0YWNobWVudDtmaWxlbmFtZT0nIC4gJGlkIC4gJ18nIC4gJGFwcC0+dmVyc2lvbiAuICdfJyAuICRhcHAtPm1vZGlmaWVkIC4gJy56YmEnKTsNCmVjaG8gQXBwQ2VudHJlX1BhY2soJGFwcCwgJGIpOw0KbG9ncygieyR6YnAtPnVzZXItPk5hbWV9IGV4cG9ydCBhcHAgW3skaWR9XSAoeyRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXX0pIik7DQo=
AppCentre/app_sort.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdHRVQnKSwgJ0FwcENlbnRyZScpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDUsIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgZGllKCk7DQp9DQokaWQgPSBHZXRWYXJzKCdpZCcpOw0KJHNvcnQgPSBHZXRWYXJzKCdzb3J0Jyk7DQpBcHBDZW50cmVfQ2hlY2tJblNlY3VyaXR5TW9kZSgpOw0KJGFycmF5ID0gJHpicC0+R2V0UHJlQWN0aXZlUGx1Z2luKCk7DQokYXJyYXkyID0gYXJyYXlfZmxpcCgkYXJyYXkpOw0KLy92YXJfZHVtcCgkYXJyYXkyKTsNCi8vdmFyX2R1bXAoY3VycmVudCgkYXJyYXkyKSk7DQovL3Zhcl9kdW1wKHByZXYoJGFycmF5MikpOw0KZm9yZWFjaCgkYXJyYXkyIGFzICRrZXk9PiRvcmRlcil7DQogICAgaWYoJGtleSA9PSAkaWQpew0KICAgICAgICAvL3Zhcl9kdW1wKCRrZXkpOw0KaWYoJHNvcnQgPT0gJ3RvcCcpew0KICAgICRhcnJheTJbJGtleV0gPSAtMTsNCiAgICBicmVhazsNCn0NCmlmKCRzb3J0ID09ICdib3R0b20nKXsNCiAgICAkYXJyYXkyWyRrZXldID0gY291bnQoJGFycmF5MikrMTsgDQogICAgYnJlYWs7DQp9DQppZigkc29ydCA9PSAndXAnKXsNCiAgICBpZihpc3NldCgkYXJyYXlbJG9yZGVyLTFdKSl7DQogICAgICAgICRhcnJheTJbJGtleV0gPSAkb3JkZXItMTsNCiAgICAgICAgJGFycmF5MlskYXJyYXlbJG9yZGVyLTFdXSA9ICRvcmRlcjsNCiAgICB9DQogICAgYnJlYWs7DQp9DQppZigkc29ydCA9PSAnZG93bicpew0KICAgIGlmKGlzc2V0KCRhcnJheVskb3JkZXIrMV0pKXsNCiAgICAgICAgJGFycmF5Mlska2V5XSA9ICRvcmRlcisxOw0KICAgICAgICAkYXJyYXkyWyRhcnJheVskb3JkZXIrMV1dID0gJG9yZGVyOw0KICAgIH0NCiAgICBicmVhazsNCn0NCg0KDQogICAgfQ0KfQ0KJGFycmF5MyA9IGFycmF5X2ZsaXAoJGFycmF5Mik7DQprc29ydCgkYXJyYXkzKTsNCiRzID0gaW1wbG9kZSgnfCcsICRhcnJheTMpOw0KDQokemJwLT5vcHRpb25bJ1pDX1VTSU5HX1BMVUdJTl9MSVNUJ10gPSAkczsNCiR6YnAtPlNhdmVPcHRpb24oKTsNCg0KUmVkaXJlY3QoJF9TRVJWRVJbIkhUVFBfUkVGRVJFUiJdKTsNCg==
AppCentre/app_upload.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdQT1NUJyksICdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig1LCBfX0ZJTEVfXywgX19MSU5FX18pOw0KICAgIGRpZSgpOw0KfQ0KDQpBcHBDZW50cmVfQ2hlY2tJblNlY3VyaXR5TW9kZSgpOw0KDQpmb3JlYWNoICgkX0ZJTEVTIGFzICRrZXkgPT4gJHZhbHVlKSB7DQogICAgaWYgKCRfRklMRVNbJGtleV1bJ2Vycm9yJ10gPT0gMCkgew0KICAgICAgICBpZiAoaXNfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyRrZXldWyd0bXBfbmFtZSddKSkgew0KICAgICAgICAgICAgJHRtcF9uYW1lID0gJF9GSUxFU1ska2V5XVsndG1wX25hbWUnXTsNCiAgICAgICAgICAgICRuYW1lID0gJF9GSUxFU1ska2V5XVsnbmFtZSddOw0KDQogICAgICAgICAgICAkeG1sID0gZmlsZV9nZXRfY29udGVudHMoJHRtcF9uYW1lKTsNCiAgICAgICAgICAgIGlmIChBcHA6OlVuUGFjaygkeG1sKSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eV9leGlzdHMoJ0FwcCcsICdjaGVja19lcnJvcl9jb3VudCcpKSB7DQogICAgICAgICAgICAgICAgICAgICRpID0gQXBwOjokY2hlY2tfZXJyb3JfY291bnQ7DQogICAgICAgICAgICAgICAgICAgIGlmICgkaSA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPlNldEhpbnQoJ2JhZCcsICRpIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2ZpbGVzX3dyaXRlX2ZhaWxlZCddKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHlfZXhpc3RzKCdBcHAnLCAndW5wYWNrX2FwcCcpKSB7DQogICAgICAgICAgICAgICAgICAgICRhcHAgPSBBcHA6OiR1bnBhY2tfYXBwOw0KICAgICAgICAgICAgICAgICAgICBpZiAoaXNfb2JqZWN0KCRhcHApICYmIGdldF9jbGFzcygkYXBwKSA9PSAnQXBwJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgJGlkID0gJGFwcC0+aWQ7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5fYXJyYXkoJGlkLCAkemJwLT5HZXRQcmVBY3RpdmVQbHVnaW4oKSkgPT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPmNhY2hlLT5zdWNjZXNzX3VwZGF0ZWRfYXBwID0gJGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPlNhdmVDYWNoZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICR6YnAtPlNldEhpbnQoJ2dvb2QnLCAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsndXBsb2FkX3N1Y2Nlc3NmdWxseSddKTsNCiAgICAgICAgICAgICAgICBSZWRpcmVjdCgkX1NFUlZFUlsiSFRUUF9SRUZFUkVSIl0pOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkemJwLT5TZXRIaW50KCdiYWQnLCAkemJwLT5sYW5nWydlcnJvciddWyc2NCddKTsNCiAgICAgICAgICAgICAgICBSZWRpcmVjdCgkX1NFUlZFUlsiSFRUUF9SRUZFUkVSIl0pOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KUmVkaXJlY3QoJF9TRVJWRVJbIkhUVFBfUkVGRVJFUiJdKTsNCg==
AppCentre/client.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQpyZXF1aXJlICcuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19zeXN0ZW1fYWRtaW4ucGhwJzsNCnJlcXVpcmUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLnBocCc7DQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KaWYgKCEkemJwLT5DaGVja1BsdWdpbignQXBwQ2VudHJlJykpIHsNCiAgICAkemJwLT5TaG93RXJyb3IoNDgpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnRva2VuKSB7DQogICAgJGJsb2d0aXRsZSA9ICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyduYW1lJ10gLiAnLScgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbG9naW5fc3RvcmUnXTsNCn0gZWxzZSB7DQogICAgJGJsb2d0aXRsZSA9ICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyduYW1lJ10gLiAnLScgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbXlfc3RvcmUnXTsNCn0NCg0KQWRkX0ZpbHRlcl9QbHVnaW4oJ0ZpbHRlcl9QbHVnaW5fQ1NQX0JhY2tlbmQnLCAnQXBwQ2VudHJlX1VwZGF0ZUNTUCcpOw0KDQppZiAoR2V0VmFycygnYWN0JykgPT0gJ2xvZ2luJykgew0KICAgIGlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdHRVQnKSwgJ0FwcENlbnRyZScpKSB7DQogICAgICAgICR6YnAtPlNob3dFcnJvcig1LCBfX0ZJTEVfXywgX19MSU5FX18pOw0KICAgICAgICBkaWUoKTsNCiAgICB9DQogICAgQXBwQ2VudHJlX0NoZWNrSW5TZWN1cml0eU1vZGUoKTsNCiAgICAkcyA9IHRyaW0oU2VydmVyX09wZW4oJ2xvZ2luJykpOw0KICAgIGlmICgkcyAhPT0gJycpIHsNCiAgICAgICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+dG9rZW4gPSBHZXRWYXJzKCJhcHBfdG9rZW4iLCAiUE9TVCIpOw0KICAgICAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT51bmlxX2lkID0gdHJpbSgkcyk7DQogICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPm9sZF90b2tlbiA9ICdmYWxzZSc7DQogICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPkRlbEtleSgnb2xkX3Rva2VuJyk7DQoNCiAgICAgICAgJHpicC0+U2F2ZUNvbmZpZygnQXBwQ2VudHJlJyk7DQoNCiAgICAgICAgJHpicC0+U2V0SGludCgnZ29vZCcsICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydsb2dpbl9zdWNjZXNzJ10pOw0KICAgICAgICBSZWRpcmVjdCgnLi9tYWluLnBocCcpOw0KICAgICAgICBkaWU7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJHpicC0+U2V0SGludCgnYmFkJywgJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3Rva2VuX25vdF9leGlzdCddKTsNCiAgICAgICAgUmVkaXJlY3QoJy4vY2xpZW50LnBocCcpOw0KICAgICAgICBkaWU7DQogICAgfQ0KfQ0KDQppZiAoR2V0VmFycygnYWN0JykgPT0gJ2xvZ291dCcpIHsNCiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdDaGVja0hUVFBSZWZlcmVyVmFsaWQnKSkgew0KICAgICAgICBDaGVja0hUVFBSZWZlcmVyVmFsaWQoKTsNCiAgICB9DQogICAgQXBwQ2VudHJlX0NoZWNrSW5TZWN1cml0eU1vZGUoKTsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT50b2tlbiA9ICcnOw0KICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnVuaXFfaWQgPSAnJzsNCiAgICAkemJwLT5TYXZlQ29uZmlnKCdBcHBDZW50cmUnKTsNCiAgICAkemJwLT5TZXRIaW50KCdnb29kJywgJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2xvZ291dCddKTsNCiAgICBSZWRpcmVjdCgnLi9jbGllbnQucGhwJyk7DQogICAgZGllOw0KfQ0KDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5faGVhZGVyLnBocCc7DQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fdG9wLnBocCc7DQo/Pg0KPGRpdiBpZD0iZGl2TWFpbiI+DQoNCiAgPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICRibG9ndGl0bGU7ID8+PC9kaXY+DQo8ZGl2IGNsYXNzPSJTdWJNZW51Ij48P3BocCBBcHBDZW50cmVfU3ViTWVudXMoOSk7ID8+PC9kaXY+DQogIDxkaXYgaWQ9ImRpdk1haW4yIj4NCjw/cGhwIGlmICghJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+dG9rZW4pIHsgPz4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpdkhlYWRlcjIiPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FjY291bnRfbG9naW4nXTsgPz48L2Rpdj4NCiAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iP2FjdD1sb2dpbiZ0b2tlbj08P3BocCBlY2hvICR6YnAtPkdldFRva2VuKCdBcHBDZW50cmUnKTsgPz4iIG1ldGhvZD0icG9zdCI+DQogICAgICAgICAgICAgIDx0YWJsZSBzdHlsZT0ibGluZS1oZWlnaHQ6M2VtOyIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCI+DQogICAgICAgICAgICAgICAgPHRyIGhlaWdodD0iMzIiPg0KICAgICAgICAgICAgICAgICAgPHRoIGFsaWduPSJjZW50ZXIiPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FjY291bnRfbG9naW4nXTsgPz4NCiAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0ciBoZWlnaHQ9IjMyIj4NCiAgICAgICAgICAgICAgICAgIDx0ZCAgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsndG9rZW4nXTsgPz46DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0iYXBwX3Rva2VuIiB2YWx1ZT0iIiBzdHlsZT0id2lkdGg6NDAlIi8+PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0ciBoZWlnaHQ9IjMyIiBhbGlnbj0iY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iPD9waHAgZWNobyAkemJwLT5sYW5nWydtc2cnXVsnbG9naW4nXTsgPz4iIGNsYXNzPSJidXR0b24iIC8+PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0ciBoZWlnaHQ9IjMyIiBhbGlnbj0iY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwczovL3VzZXIuemJsb2djbi5jb20vdXNlci9zZWN1cml0eS90b2tlbiIgdGFyZ2V0PSJfYmxhbmsiPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2dldF90b2tlbiddOyA/PjwvYT4NCgkJCQkgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly91Yy56YmxvZ2NuLmNvbS91c2VyL3NlY3VyaXR5L3Rva2VuIiB0YXJnZXQ9Il9ibGFuayI+PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZ2V0X3Rva2VuMiddOyA/PjwvYT48L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgIDwvdGFibGU+DQogICAgICAgICAgICA8L2Zvcm0+DQogICAgPD9waHANCn0gZWxzZSB7DQovL+W3sueZu+W9lQ0KICAgIFNlcnZlcl9PcGVuKCdzaG9wbGlzdCcpOw0KfQ0KPz4NCg0KDQoNCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+QWN0aXZlTGVmdE1lbnUoImFBcHBDZW50cmUiKTs8L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+QWRkSGVhZGVySWNvbigiPD9waHAgZWNobyAkYmxvZ2hvc3QgLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9sb2dvLnBuZyc7ID8+Iik7PC9zY3JpcHQ+DQogIDwvZGl2Pg0KPC9kaXY+DQoNCjw/cGhwDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fZm9vdGVyLnBocCc7DQpSdW5UaW1lKCk7DQoNCg==
AppCentre/function.phpPD9waHANCg0KZnVuY3Rpb24gQXBwQ2VudHJlX1N1Yk1lbnVzKCRpZCkNCnsNCiAgICAvL20tbm93DQogICAgZ2xvYmFsICR6YnA7DQoNCiAgICBpZiAoIUFwcENlbnRyZV9JblNlY3VyaXR5TW9kZSgpKSB7DQogICAgICAgIGVjaG8gJzxhIGhyZWY9Im1haW4ucGhwIj48c3BhbiBjbGFzcz0ibS1sZWZ0ICcgLiAoJGlkID09IDEgPyAnbS1ub3cnIDogJycpIC4gJyI+JyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydicm93c2VfYXBwJ10gLiAnPC9zcGFuPjwvYT4nOw0KICAgIH0NCiAgICANCiAgICBlY2hvICc8YSBocmVmPSJtYWluLnBocD9tZXRob2Q9Y2hlY2siPjxzcGFuIGNsYXNzPSJtLWxlZnQgJyAuICgkaWQgPT0gMiA/ICdtLW5vdycgOiAnJykgLiAnIj4nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2NoZWNrX2FwcF91cGRhdGVzJ10gLiAnPC9zcGFuPjwvYT4nOw0KICAgIGVjaG8gJzxhIGhyZWY9InVwZGF0ZS5waHAiPjxzcGFuIGNsYXNzPSJtLWxlZnQgJyAuICgkaWQgPT0gMyA/ICdtLW5vdycgOiAnJykgLiAnIj4nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3N5c3RlbV91cGRhdGUnXSAuICc8L3NwYW4+PC9hPic7DQoNCiAgICBpZiAoJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+dG9rZW4pIHsNCiAgICAgICAgZWNobyAnPGEgaHJlZj0iY2xpZW50LnBocCI+PHNwYW4gY2xhc3M9Im0tbGVmdCAnIC4gKCRpZCA9PSA5ID8gJ20tbm93JyA6ICcnKSAuICciPicgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbXlfc3RvcmUnXSAuICc8L3NwYW4+PC9hPic7DQogICAgfSBlbHNlIHsNCiAgICAgICAgZWNobyAnPGEgaHJlZj0iY2xpZW50LnBocCI+PHNwYW4gY2xhc3M9Im0tbGVmdCAnIC4gKCRpZCA9PSA5ID8gJ20tbm93JyA6ICcnKSAuICciPicgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbG9naW5fc3RvcmUnXSAuICc8L3NwYW4+PC9hPic7DQogICAgfQ0KDQogICAgaWYgKCFBcHBDZW50cmVfSW5TZWN1cml0eU1vZGUoKSkgew0KICAgICAgICBlY2hvICc8YSBocmVmPSJzZXR0aW5nLnBocCI+PHNwYW4gY2xhc3M9Im0tcmlnaHQgJyAuICgkaWQgPT0gNCA/ICdtLW5vdycgOiAnJykgLiAnIj4nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3NldHRpbmdzJ10gLiAnPC9zcGFuPjwvYT4nOw0KICAgICAgICBlY2hvICc8YSBocmVmPSJwbHVnaW5fZWRpdC5waHAiPjxzcGFuIGNsYXNzPSJtLXJpZ2h0ICcgLiAoJGlkID09IDUgPyAnbS1ub3cnIDogJycpIC4gJyI+JyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyduZXdfcGx1Z2luJ10gLiAnPC9zcGFuPjwvYT4nOw0KICAgICAgICBlY2hvICc8YSBocmVmPSJ0aGVtZV9lZGl0LnBocCI+PHNwYW4gY2xhc3M9Im0tcmlnaHQgJyAuICgkaWQgPT0gNiA/ICdtLW5vdycgOiAnJykgLiAnIj4nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ25ld190aGVtZSddIC4gJzwvc3Bhbj48L2E+JzsNCiAgICB9DQoNCiAgICBlY2hvICc8YSBocmVmPSJzZWN1cml0eS5waHAiPjxzcGFuIGNsYXNzPSJtLXJpZ2h0ICcgLiAoJGlkID09IDcgPyAnbS1ub3cnIDogJycpIC4gJyI+JyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydzYWZlX21vZGUnXSAuICc8L3NwYW4+PC9hPic7DQp9DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9HZXRDaGVja1F1ZXJ5U3RyaW5nKCR3aXRoX2lnbm9yZXMgPSBmYWxzZSkNCnsNCiAgICBnbG9iYWwgJHpicDsNCg0KICAgIGlmKCFpc19hcnJheSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3JlcykpIHsNCiAgICAgICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+YXBwX2lnbm9yZXMgPSBhcnJheSgpOw0KICAgIH0NCiAgICAkaWEgPSAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3JlczsNCiAgICBmb3JlYWNoKCRpYSBhcyAkaz0+JHYpew0KICAgICAgICBpZigkdiA9PSAnQXBwQ2VudHJlJyl7DQogICAgICAgICAgICB1bnNldCgkaWFbJGtdKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAoJHdpdGhfaWdub3JlcyA9PSBmYWxzZSkgew0KICAgICAgICAkaWEgPSBhcnJheSgpOw0KICAgIH0NCg0KICAgICRjaGVjayA9ICcnOw0KICAgICRhcHAgPSBuZXcgYXBwOw0KICAgIGlmICgkYXBwLT5Mb2FkSW5mb0J5WG1sKCd0aGVtZScsICR6YnAtPnRoZW1lKSA9PSB0cnVlICYmICFpbl9hcnJheSgkemJwLT50aGVtZSwgJGlhKSkgew0KICAgICAgICAkYXBwLT5tb2RpZmllZCA9IHN0cl9yZXBsYWNlKGFycmF5KCc6JywnOycpLCAnJywgJGFwcC0+bW9kaWZpZWQpOw0KICAgICAgICAkYXBwLT52ZXJzaW9uICA9IHN0cl9yZXBsYWNlKGFycmF5KCc6JywnOycpLCAnJywgJGFwcC0+dmVyc2lvbik7DQogICAgICAgICRjaGVjayAuPSAkYXBwLT5pZCAuICc6JyAuICRhcHAtPm1vZGlmaWVkIC4gJzonIC4gJGFwcC0+dmVyc2lvbiAuICc7JzsNCg0KICAgIH0NCiAgICBmb3JlYWNoIChleHBsb2RlKCd8JywgJHpicC0+b3B0aW9uWydaQ19VU0lOR19QTFVHSU5fTElTVCddKSBhcyAkaWQpIHsNCiAgICAgICAgJGFwcCA9IG5ldyBhcHA7DQogICAgICAgIGlmICgkYXBwLT5Mb2FkSW5mb0J5WG1sKCdwbHVnaW4nLCAkaWQpID09IHRydWUgJiYgIWluX2FycmF5KCRpZCwgJGlhKSkgew0KICAgICAgICAgICAgJGFwcC0+bW9kaWZpZWQgPSBzdHJfcmVwbGFjZShhcnJheSgnOicsJzsnKSwgJycsICRhcHAtPm1vZGlmaWVkKTsNCiAgICAgICAgICAgICRhcHAtPnZlcnNpb24gID0gc3RyX3JlcGxhY2UoYXJyYXkoJzonLCc7JyksICcnLCAkYXBwLT52ZXJzaW9uKTsNCiAgICAgICAgICAgICRjaGVjayAuPSAkYXBwLT5pZCAuICc6JyAuICRhcHAtPm1vZGlmaWVkIC4gJzonIC4gJGFwcC0+dmVyc2lvbiAuICc7JzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gdXJsZW5jb2RlKCRjaGVjayk7DQp9DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9HZXRBcHBzSWdub3Jlc1N0cmluZygpIHsNCiAgICBnbG9iYWwgJHpicDsNCiAgICAkYyA9ICcnOw0KICAgIGlmIChpc19hcnJheSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3JlcykgJiYgY291bnQoJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+YXBwX2lnbm9yZXMpID4gMCkgew0KICAgICAgICAkYyA9IGltcGxvZGUoJ3wnLCAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3Jlcyk7DQogICAgfQ0KICAgIHJldHVybiB1cmxlbmNvZGUoJGMpOw0KfQ0KDQpmdW5jdGlvbiBTZXJ2ZXJfT3BlbigkbWV0aG9kKQ0Kew0KICAgIGdsb2JhbCAkemJwLCAkYmxvZ3ZlcnNpb247DQoNCiAgICBzd2l0Y2ggKCRtZXRob2QpIHsNCiAgICAgICAgY2FzZSAnZG93bic6DQogICAgICAgICAgICBpZiAoISR6YnAtPlZhbGlkVG9rZW4oR2V0VmFycygndG9rZW4nLCAnR0VUJyksICdBcHBDZW50cmUnKSkgew0KICAgICAgICAgICAgICAgICR6YnAtPlNob3dFcnJvcig1LCBfX0ZJTEVfXywgX19MSU5FX18pOw0KICAgICAgICAgICAgICAgIGRpZSgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX1picF9TaG93RXJyb3InLCAnU2NyaXB0RXJyb3InLCBQTFVHSU5fRVhJVFNJR05BTF9SRVRVUk4pOw0KICAgICAgICAgICAgaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdDsgQ2hhcnNldD11dGYtOCcpOw0KICAgICAgICAgICAgb2JfY2xlYW4oKTsNCg0KICAgICAgICAgICAgaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMy4wJykgPCAwKSB7DQogICAgICAgICAgICAgICAgZGVmaW5lKCdBUFBDRU5UUkVfQ0FOX05PVF9IVFRQUycsIHRydWUpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoc3RyaXBvcyhBUFBDRU5UUkVfVVJMLCAnaHR0cHM6Ly8nKSA9PT0gZmFsc2UgJiYgZGVmaW5lZCgnQVBQQ0VOVFJFX0NBTl9OT1RfSFRUUFMnKSA9PT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAkdGVzdGh0dHBzID0gU2VydmVyX1NlbmRSZXF1ZXN0KHN0cl9yZXBsYWNlKCdodHRwOi8vJywgJ2h0dHBzOi8vJywgQVBQQ0VOVFJFX1VSTCkgLiAndGVzdGh0dHBzLnR4dCcpOw0KICAgICAgICAgICAgICAgIGlmICghJHRlc3RodHRwcykgew0KICAgICAgICAgICAgICAgICAgICBkZWZpbmUoJ0FQUENFTlRSRV9DQU5fTk9UX0hUVFBTJywgdHJ1ZSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkcyA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9kb3duPScgLiBHZXRWYXJzKCdpZCcsICdHRVQnKSk7DQoNCiAgICAgICAgICAgICR4bWwgPSAkczsNCiAgICAgICAgICAgICRjaGFyc2V0ID0gYXJyYXkoKTsNCiAgICAgICAgICAgICRjaGFyc2V0WzFdID0gc3Vic3RyKCR4bWwsIDAsIDEpOw0KICAgICAgICAgICAgJGNoYXJzZXRbMl0gPSBzdWJzdHIoJHhtbCwgMSwgMSk7DQogICAgICAgICAgICBpZiAob3JkKCRjaGFyc2V0WzFdKSA9PSAzMSAmJiBvcmQoJGNoYXJzZXRbMl0pID09IDEzOSkgew0KICAgICAgICAgICAgICAgICR4bWwgPSBnemRlY29kZSgkeG1sKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICR4bWwgPSBAc2ltcGxleG1sX2xvYWRfc3RyaW5nKCR4bWwsICdTaW1wbGVYTUxFbGVtZW50JywgKExJQlhNTF9DT01QQUNUIHwgTElCWE1MX1BBUlNFSFVHRSkpOw0KICAgICAgICAgICAgaWYgKCR4bWwgPT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgJHpicC0+U2V0SGludCgnYmFkJywgJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9kb3dubG9hZF9mYWlsZWQnXSk7DQogICAgICAgICAgICAgICAgJHpicC0+U2hvd0Vycm9yKCR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfZG93bmxvYWRfZmFpbGVkJ10sIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRpZCA9ICR4bWwtPmlkOw0KDQogICAgICAgICAgICBpZiAoISR6YnAtPkNoZWNrQXBwKCRpZCkpIHsNCiAgICAgICAgICAgICAgICBBcHBDZW50cmVfQ2hlY2tJblNlY3VyaXR5TW9kZSgpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoQXBwOjpVblBhY2soJHMpKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5X2V4aXN0cygnQXBwJywgJ2NoZWNrX2Vycm9yX2NvdW50JykpIHsNCiAgICAgICAgICAgICAgICAgICAgJGkgPSBBcHA6OiRjaGVja19lcnJvcl9jb3VudDsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRpID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHpicC0+U2V0SGludCgnYmFkJywgJGkgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZmlsZXNfd3JpdGVfZmFpbGVkJ10pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgJHR5cGUgPSAkeG1sWyd0eXBlJ107DQogICAgICAgICAgICAgICAgJGRpciA9ICR6YnAtPnBhdGggLiAnemJfdXNlcnMvJyAuICR0eXBlIC4gJy8nIC4gJGlkIC4gJy8nOw0KICAgICAgICAgICAgICAgIGlmIChpc19yZWFkYWJsZSgkZGlyIC4gJHR5cGUgLiAnLnhtbCcpKSB7DQogICAgICAgICAgICAgICAgICAgICRjID0gZmlsZV9nZXRfY29udGVudHMoJGRpciAuICR0eXBlIC4gJy54bWwnKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmlwb3MoJGMsICc8cHViZGF0ZT4nIC4gJHhtbC0+cHViZGF0ZSAuICc8L3B1YmRhdGU+JykgIT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5fYXJyYXkoKHN0cmluZykgJGlkLCAkemJwLT5HZXRQcmVBY3RpdmVQbHVnaW4oKSkgPT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPmNhY2hlLT5zdWNjZXNzX3VwZGF0ZWRfYXBwID0gKHN0cmluZykgJGlkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR6YnAtPlNhdmVDYWNoZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgJHpicC0+U2V0SGludCgnZ29vZCcsICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkb3dubG9hZF9zdWNjZXNzZnVsbHknXSk7DQogICAgICAgICAgICAgICAgICAgICAgICBkaWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJHpicC0+U2V0SGludCgnYmFkJywgJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ25vX2xvY2FsX3dyaXRlX3Blcm1pc3Npb24nXSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICR6YnAtPlNldEhpbnQoJ2JhZCcsICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfZGVjb21wcmVzc2lvbl9mYWlsZWQnXSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBkaWUoKTsNCiAgICAgICAgICAgIC8vYnJlYWs7DQogICAgICAgIGNhc2UgJ3NlYXJjaCc6DQogICAgICAgICAgICBpZiAodHJpbShHZXRWYXJzKCdxJywgJ0dFVCcpKSA9PSAnJykgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgJHMgPSBTZXJ2ZXJfU2VuZFJlcXVlc3QoQVBQQ0VOVFJFX1VSTCAuICc/c2VhcmNoPScgLiB1cmxlbmNvZGUoR2V0VmFycygncScsICdHRVQnKSkgLiAnJicgLiBHZXRWYXJzKCdRVUVSWV9TVFJJTkcnLCAnU0VSVkVSJykpOw0KICAgICAgICAgICAgJHMgPSBzdHJfcmVwbGFjZSgnJWJsb2dob3N0JScsICR6YnAtPmhvc3QgLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9tYWluLnBocCcsICRzKTsNCiAgICAgICAgICAgIGVjaG8gc3RyX3JlcGxhY2UoJyVjc3JmX3Rva2VuJScsICR6YnAtPkdldFRva2VuKCdBcHBDZW50cmUnKSwgJHMpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ3ZpZXcnOg0KICAgICAgICAgICAgJHMgPSBTZXJ2ZXJfU2VuZFJlcXVlc3QoQVBQQ0VOVFJFX1VSTCAuICc/JyAuIEdldFZhcnMoJ1FVRVJZX1NUUklORycsICdTRVJWRVInKSk7DQogICAgICAgICAgICBpZiAoc3RycG9zKCRzLCAnPCEtLWRldmVsb3Blci1ub2xvZ2luLS0+JykgIT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgaWYgKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnRva2VuKSB7DQogICAgICAgICAgICAgICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnRva2VuID0gJyc7DQogICAgICAgICAgICAgICAgICAgICR6YnAtPlNhdmVDb25maWcoJ0FwcENlbnRyZScpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChzdHJwb3MoJHMsIEFQUENFTlRSRV9ET01BSU4pID09PSBmYWxzZSkgew0KICAgICAgICAgICAgICAgICR6YnAtPlNob3dIaW50KCdiYWQnLCBzdHJfcmVwbGFjZShhcnJheSgnJXMxJywgJyVzMicpLCBhcnJheShBUFBDRU5UUkVfRE9NQUlOLCBzdHJfcmVwbGFjZShhcnJheSggc3RyX3JlcGxhY2UoJ2FwcC4nLCAnJywgQVBQQ0VOVFJFX0RPTUFJTiksJ3wnKSwgJycsIEFQUENFTlRSRV9ET01BSU5TKSksICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydjbGllbnRfYWNjZXNzX3RvX3N0b3JlX2ZhaWx1cmUnXSkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJHMgPSBzdHJfcmVwbGFjZSgnJWJsb2dob3N0JScsICR6YnAtPmhvc3QgLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9tYWluLnBocCcsICRzKTsNCiAgICAgICAgICAgIGVjaG8gc3RyX3JlcGxhY2UoJyVjc3JmX3Rva2VuJScsICR6YnAtPkdldFRva2VuKCdBcHBDZW50cmUnKSwgJHMpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ2NtZCc6DQogICAgICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC1qYXZhc2NyaXB0OyBDaGFyc2V0PXV0Zi04Jyk7DQogICAgICAgICAgICBvYl9jbGVhbigpOw0KICAgICAgICAgICAgJHJlcXVlc3RfdXJsID0gQVBQQ0VOVFJFX0NNRF9VUkwgLiBodHRwX2J1aWxkX3F1ZXJ5KCRfR0VUKTsNCiAgICAgICAgICAgICRzID0gU2VydmVyX1NlbmRSZXF1ZXN0KCRyZXF1ZXN0X3VybCk7DQogICAgICAgICAgICBlY2hvICRzOw0KICAgICAgICAgICAgZGllOw0KICAgICAgICAgICAgLy9icmVhazsNCiAgICAgICAgY2FzZSAnY2hlY2snOg0KICAgICAgICAgICAgJHMgPSBTZXJ2ZXJfU2VuZFJlcXVlc3QoQVBQQ0VOVFJFX1VSTCAuICc/Y2hlY2s9JyAuIEFwcENlbnRyZV9HZXRDaGVja1F1ZXJ5U3RyaW5nKCkgLiAnJmlnbm9yZXM9JyAuIEFwcENlbnRyZV9HZXRBcHBzSWdub3Jlc1N0cmluZygpKTsNCiAgICAgICAgICAgICRzID0gc3RyX3JlcGxhY2UoJyVibG9naG9zdCUnLCAkemJwLT5ob3N0IC4gJ3piX3VzZXJzL3BsdWdpbi9BcHBDZW50cmUvbWFpbi5waHAnLCAkcyk7DQogICAgICAgICAgICBlY2hvIHN0cl9yZXBsYWNlKCclY3NyZl90b2tlbiUnLCAkemJwLT5HZXRUb2tlbignQXBwQ2VudHJlJyksICRzKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICdjaGVja3NpbGVudCc6DQogICAgICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC1qYXZhc2NyaXB0OyBDaGFyc2V0PXV0Zi04Jyk7DQogICAgICAgICAgICBvYl9jbGVhbigpOw0KICAgICAgICAgICAgJHMgPSBTZXJ2ZXJfU2VuZFJlcXVlc3QoQVBQQ0VOVFJFX1VSTCAuICc/YmxvZ3NpbGVudD0xJyAuICgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5jaGVja2JldGEgPyAnJmJldGFibG9nPTEnIDogJycpIC4gJyZjaGVjaz0nIC4gQXBwQ2VudHJlX0dldENoZWNrUXVlcnlTdHJpbmcodHJ1ZSkgLiAnJmlnbm9yZXM9JyAuIEFwcENlbnRyZV9HZXRBcHBzSWdub3Jlc1N0cmluZygpKTsNCiAgICAgICAgICAgIGlmIChzdHJwb3MoJHMsICc7JykgIT09IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgJG5ld3ZlcnNpb24gPSBTcGxpdEFuZEdldCgkcywgJzsnLCAwKTsNCiAgICAgICAgICAgICAgICAkcyA9IHN0cl9yZXBsYWNlKCgkbmV3dmVyc2lvbiAuICc7JyksICcnLCAkcyk7DQogICAgICAgICAgICAgICAgaWYgKChpbnQpICRuZXd2ZXJzaW9uID4gKGludCkgJGJsb2d2ZXJzaW9uKSB7DQogICAgICAgICAgICAgICAgICAgIGVjaG8gJyQoIi5tYWluIikucHJlcGVuZCgiPGRpdiBjbGFzcz1cJ2hpbnRcJz48cCBjbGFzcz1cJ2hpbnQgaGludF90aXBzXCc+JyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd0aXBzX3N5c3RlbV91cGRhdGVkJ10gLiAkbmV3dmVyc2lvbiAuICgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5jaGVja2JldGEgPyAnIChCZXRhKScgOiAnJykgLiAnPC9wPjwvZGl2PiIpOyc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKCRzICE9IDApIHsNCiAgICAgICAgICAgICAgICBlY2hvICckKCIubWFpbiIpLnByZXBlbmQoIjxkaXYgY2xhc3M9XCdoaW50XCc+PHAgY2xhc3M9XCdoaW50IGhpbnRfdGlwc1wnPicgLiBzdHJfcmVwbGFjZSgnJW4nLCAkcywgJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3RpcHNfYXBwX3VwZGF0ZWQnXSkgLiAnPC9wPjwvZGl2PiIpOyc7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBkaWUoKTsNCiAgICAgICAgICAgIC8vYnJlYWs7DQogICAgICAgIGNhc2UgJ2xvZ2luJzoNCiAgICAgICAgICAgICRkYXRhID0gYXJyYXkoKTsNCiAgICAgICAgICAgICRkYXRhWyJ0b2tlbiJdID0gR2V0VmFycygiYXBwX3Rva2VuIiwgIlBPU1QiKTsNCiAgICAgICAgICAgICRkYXRhWyJzaWduIl0gPSBBcHBDZW50cmVfR2V0X1NpZ24oR2V0VmFycygiYXBwX3Rva2VuIiwgIlBPU1QiKSk7DQogICAgICAgICAgICAkcyA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9sb2dpbicsICRkYXRhKTsNCiAgICAgICAgICAgIHJldHVybiAkczsNCiAgICAgICAgICAgIC8vYnJlYWs7DQogICAgICAgIGNhc2UgJ2xvZ291dCc6DQogICAgICAgICAgICAkcyA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9sb2dvdXQnKTsNCiAgICAgICAgICAgIHJldHVybiAkczsNCiAgICAgICAgICAgIC8vYnJlYWs7DQogICAgICAgIGNhc2UgJ3N1Ym1pdHByZSc6DQogICAgICAgICAgICAkcyA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9zdWJtaXRwcmU9JyAuIHVybGVuY29kZShHZXRWYXJzKCdpZCcpKSk7DQogICAgICAgICAgICByZXR1cm4gJHM7DQogICAgICAgIGNhc2UgJ3N1Ym1pdCc6DQogICAgICAgICAgICAkYXBwID0gbmV3IEFwcDsNCiAgICAgICAgICAgICRhcHAtPkxvYWRJbmZvQnlYbWwoJF9HRVRbJ3R5cGUnXSwgJF9HRVRbJ2lkJ10pOw0KICAgICAgICAgICAgJGRhdGFbInpiYSJdID0gJGFwcC0+UGFjaygpOw0KICAgICAgICAgICAgJHMgPSBTZXJ2ZXJfU2VuZFJlcXVlc3QoQVBQQ0VOVFJFX1VSTCAuICc/c3VibWl0PScgLiB1cmxlbmNvZGUoR2V0VmFycygnaWQnKSksICRkYXRhKTsNCiAgICAgICAgICAgIHJldHVybiAkczsNCiAgICAgICAgY2FzZSAnc2hvcHZhaWxkJzoNCiAgICAgICAgICAgICRkYXRhID0gYXJyYXkoKTsNCiAgICAgICAgICAgICRkYXRhWyJzaG9wX3VzZXJuYW1lIl0gPSBHZXRWYXJzKCJzaG9wX3VzZXJuYW1lIik7DQogICAgICAgICAgICAkZGF0YVsic2hvcF9wYXNzd29yZCJdID0gbWQ1KEdldFZhcnMoInNob3BfcGFzc3dvcmQiKSk7DQogICAgICAgICAgICAkcyA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9zaG9wdmFpbGQnLCAkZGF0YSk7DQogICAgICAgICAgICByZXR1cm4gJHM7DQogICAgICAgICAgICAvL2JyZWFrOw0KICAgICAgICBjYXNlICdzaG9wbGlzdCc6DQogICAgICAgICAgICAkcyA9IFNlcnZlcl9TZW5kUmVxdWVzdChBUFBDRU5UUkVfVVJMIC4gJz9zaG9wbGlzdCcpOw0KICAgICAgICAgICAgJHMgPSBzdHJfcmVwbGFjZSgnJWJsb2dob3N0JScsICR6YnAtPmhvc3QgLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9tYWluLnBocCcsICRzKTsNCiAgICAgICAgICAgIGVjaG8gc3RyX3JlcGxhY2UoJyVjc3JmX3Rva2VuJScsICR6YnAtPkdldFRva2VuKCdBcHBDZW50cmUnKSwgJHMpOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ2FwcHR5cGUnOg0KICAgICAgICAgICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+YXBwdHlwZSA9IEdldFZhcnMoInR5cGUiKTsNCiAgICAgICAgICAgICR6YnAtPlNhdmVDb25maWcoJ0FwcENlbnRyZScpOw0KICAgICAgICAgICAgUmVkaXJlY3QoJ21haW4ucGhwJyk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICMgY29kZS4uLg0KICAgICAgICAgICAgYnJlYWs7DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBTZXJ2ZXJfU2VuZFJlcXVlc3QoJHVybCwgJGRhdGEgPSBhcnJheSgpLCAkdTIgPSAnJywgJGMyID0gJycpDQp7DQogICAgZ2xvYmFsICR6YnA7DQoNCiAgICAkYyA9IEFwcENlbnRyZV9HZXRfQ29va2llcygpOw0KICAgICR1ID0gQXBwQ2VudHJlX0dldF9Vc2VyQWdlbnQoKTsNCiAgICBpZiAoJHUyICE9ICcnKSB7DQogICAgICAgICR1IC49ICcgJyAuICR1MjsNCiAgICB9DQogICAgaWYgKCRjMiAhPSAnJykgew0KICAgICAgICAkYyAuPSAnIDsnIC4gJGMyOw0KICAgIH0NCg0KICAgIGlmIChjbGFzc19leGlzdHMoJ05ldHdvcmsnKSkgew0KICAgICAgICByZXR1cm4gU2VydmVyX1NlbmRSZXF1ZXN0X05ldHdvcmsoJHVybCwgJGRhdGEsICR1LCAkYyk7DQogICAgfQ0KDQogICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygiY3VybF9pbml0IikgJiYgZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2V4ZWMnKSkgew0KICAgICAgICByZXR1cm4gU2VydmVyX1NlbmRSZXF1ZXN0X0NVcmwoJHVybCwgJGRhdGEsICR1LCAkYyk7DQogICAgfQ0KDQogICAgaWYgKCFpbmlfZ2V0KCJhbGxvd191cmxfZm9wZW4iKSkgew0KICAgICAgICByZXR1cm4gIiI7DQogICAgfQ0KICAgIHJldHVybiAiIjsNCn0NCg0KZnVuY3Rpb24gU2VydmVyX1NlbmRSZXF1ZXN0X0NVcmwoJHVybCwgJGRhdGEgPSBhcnJheSgpLCAkdSA9IG51bGwsICRjID0gbnVsbCkNCnsNCiAgICBnbG9iYWwgJHpicDsNCg0KICAgICRjaCA9IGN1cmxfaW5pdCgkdXJsKTsNCiAgICBpZiAoZXh0ZW5zaW9uX2xvYWRlZCgnemxpYicpKSB7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9FTkNPRElORywgJ2d6aXAnKTsNCiAgICB9DQogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsNCiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVElNRU9VVCwgMTIwKTsNCiAgICBpZiAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUJ10pKSB7DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBhcnJheSgnQWNjZXB0OiAnIC4gJF9TRVJWRVJbJ0hUVFBfQUNDRVBUJ10pKTsNCiAgICB9DQogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHUpOw0KICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7DQogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsNCiAgICBpZiAoaW5pX2dldCgic2FmZV9tb2RlIikgPT0gZmFsc2UpIHsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX01BWFJFRElSUywgMTApOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOw0KICAgIH0NCiAgICBpZiAoJGMpIHsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRSwgJGMpOw0KICAgIH0NCg0KICAgIGlmICgkZGF0YSkgew0KICAgICAgICAvL1BPU1QNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIDEpOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJGRhdGEpOw0KICAgIH0gZWxzZSB7DQogICAgICAgIC8vR0VUDQogICAgICAgICRpID0gMDsNCiAgICB9DQoNCiAgICAkciA9IGN1cmxfZXhlYygkY2gpOw0KICAgIGN1cmxfY2xvc2UoJGNoKTsNCg0KICAgIHJldHVybiAkcjsNCn0NCg0KZnVuY3Rpb24gU2VydmVyX1NlbmRSZXF1ZXN0X05ldHdvcmsoJHVybCwgJGRhdGEgPSBhcnJheSgpLCAkdSA9IG51bGwsICRjID0gbnVsbCkNCnsNCiAgICBnbG9iYWwgJHpicDsNCiAgICAkYWpheCA9IE5ldHdvcms6OkNyZWF0ZSh0cmltKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPm5ldHdvcmt0eXBlKSk7DQogICAgaWYgKCEkYWpheCkgew0KICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkb2VzX25vdF9hY2Nlc3NfbmV0d29ya3MnXSk7DQogICAgfQ0KDQogICAgaWYgKCRkYXRhKSB7DQovL1BPU1QNCiAgICAgICAgJGFqYXgtPm9wZW4oJ1BPU1QnLCAkdXJsKTsNCiAgICAgICAgJGFqYXgtPmVuYWJsZUd6aXAoKTsNCiAgICAgICAgJGFqYXgtPnNldFRpbWVPdXRzKDEyMCwgMTIwLCAwLCAwKTsNCiAgICAgICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ1VzZXItQWdlbnQnLCAkdSk7DQogICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdDb29raWUnLCAkYyk7DQogICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdXZWJzaXRlJywgJHpicC0+aG9zdCk7DQogICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSkpIHsNCiAgICAgICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCAkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSk7DQogICAgICAgIH0NCiAgICAgICAgJGFqYXgtPnNlbmQoJGRhdGEpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRhamF4LT5vcGVuKCdHRVQnLCAkdXJsKTsNCiAgICAgICAgJGFqYXgtPmVuYWJsZUd6aXAoKTsNCiAgICAgICAgJGFqYXgtPnNldFRpbWVPdXRzKDEyMCwgMTIwLCAwLCAwKTsNCiAgICAgICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ1VzZXItQWdlbnQnLCAkdSk7DQogICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdDb29raWUnLCAkYyk7DQogICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdXZWJzaXRlJywgJHpicC0+aG9zdCk7DQogICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSkpIHsNCiAgICAgICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCAkX1NFUlZFUlsnSFRUUF9BQ0NFUFQnXSk7DQogICAgICAgIH0NCiAgICAgICAgaWYgKGRlZmluZWQoJ0FQUENFTlRSRV9DQU5fTk9UX0hUVFBTJykpIHsNCiAgICAgICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdub2h0dHBzJywgJ3RydWUnKTsNCiAgICAgICAgfQ0KICAgICAgICAkYWpheC0+c2VuZCgpOw0KDQogICAgICAgICRpID0gMDsNCiAgICAgICAgd2hpbGUgKCRpIDwgMyAmJiAoJGFqYXgtPnN0YXR1cyA9PSAzMDEgfHwgJGFqYXgtPnN0YXR1cyA9PSAzMDIpKSB7DQogICAgICAgICAgICAkaSA9ICgkaSArIDEpOw0KICAgICAgICAgICAgJGFqYXgtPm9wZW4oJ0dFVCcsICRhamF4LT5nZXRSZXNwb25zZUhlYWRlcignbG9jYXRpb24nKSk7DQogICAgICAgICAgICAkYWpheC0+ZW5hYmxlR3ppcCgpOw0KICAgICAgICAgICAgJGFqYXgtPnNldFRpbWVPdXRzKDEyMCwgMTIwLCAwLCAwKTsNCiAgICAgICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdVc2VyLUFnZW50JywgJHUpOw0KICAgICAgICAgICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ0Nvb2tpZScsICRjKTsNCiAgICAgICAgICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdXZWJzaXRlJywgJHpicC0+aG9zdCk7DQogICAgICAgICAgICBpZiAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUJ10pKSB7DQogICAgICAgICAgICAgICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ0FjY2VwdCcsICRfU0VSVkVSWydIVFRQX0FDQ0VQVCddKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChkZWZpbmVkKCdBUFBDRU5UUkVfQ0FOX05PVF9IVFRQUycpKSB7DQogICAgICAgICAgICAgICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ25vaHR0cHMnLCAndHJ1ZScpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGFqYXgtPnNlbmQoKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiAkYWpheC0+cmVzcG9uc2VUZXh0Ow0KfQ0KDQpmdW5jdGlvbiBBcHBDZW50cmVfQ3JlYXRlT3B0aW9uc09mVmVyc2lvbigkZGVmYXVsdCkNCnsNCiAgICBnbG9iYWwgJHpicDsNCg0KICAgICRzID0gbnVsbDsNCiAgICAkYXJyYXkgPSAkR0xPQkFMU1snemJwdmVycyddOw0KICAgIGtyc29ydCgkYXJyYXkpOw0KICAgICRpID0gMDsNCiAgICBmb3JlYWNoICgkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgJGkgKz0gMTsNCiAgICAgICAgaWYgKCgkaSA9PSAxKSB8fCBzdHJwb3MoJHZhbHVlLCAnQmV0YScpID09PSBmYWxzZSkgew0KICAgICAgICAgICAgJHMgLj0gJzxvcHRpb24gdmFsdWU9IicgLiAka2V5IC4gJyIgJyAuICgkZGVmYXVsdCA9PSAka2V5ID8gJ3NlbGVjdGVkPSJzZWxlY3RlZCInIDogJycpIC4gJyA+JyAuICR2YWx1ZSAuICc8L29wdGlvbj4nOw0KICAgICAgICB9DQogICAgfQ0KICAgIHJldHVybiAkczsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0dldEh0dHBDb250ZW50KCR1cmwpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgJGFqYXggPSBOZXR3b3JrOjpDcmVhdGUodHJpbSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5uZXR3b3JrdHlwZSkpOw0KICAgIGlmICghJGFqYXgpIHsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCiAgICAkYyA9IEFwcENlbnRyZV9HZXRfQ29va2llcygpOw0KICAgICR1ID0gQXBwQ2VudHJlX0dldF9Vc2VyQWdlbnQoKTsNCg0KICAgICRhamF4LT5vcGVuKCdHRVQnLCAkdXJsKTsNCiAgICAkYWpheC0+ZW5hYmxlR3ppcCgpOw0KICAgICRhamF4LT5zZXRUaW1lT3V0cyg2MCwgNjAsIDAsIDApOw0KICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdVc2VyLUFnZW50JywgJHUpOw0KICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdDb29raWUnLCAkYyk7DQogICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ1dlYnNpdGUnLCAkemJwLT5ob3N0KTsNCiAgICAkYWpheC0+c2VuZCgpOw0KDQogICAgcmV0dXJuICgkYWpheC0+c3RhdHVzID09IDIwMCkgPyAkYWpheC0+cmVzcG9uc2VUZXh0IDogbnVsbDsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX2NyYzMyX3NpZ25lZCgkbnVtKQ0Kew0KICAgICRjcmMgPSBjcmMzMigkbnVtKTsNCiAgICBpZiAoKCRjcmMgJiAweDgwMDAwMDAwKSkgew0KICAgICAgICAkY3JjIF49IDB4ZmZmZmZmZmY7DQogICAgICAgICRjcmMgKz0gMTsNCiAgICAgICAgJGNyYyA9ICgwIC0gJGNyYyk7DQogICAgfQ0KICAgIHJldHVybiAkY3JjOw0KfQ0KDQokQXBwQ2VudHJlX2RpcnMgPSBhcnJheSgpOw0KJEFwcENlbnRyZV9maWxlcyA9IGFycmF5KCk7DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9HZXRBbGxGaWxlRGlyKCRkaXIpDQp7DQogICAgZ2xvYmFsICRBcHBDZW50cmVfZGlyczsNCiAgICBnbG9iYWwgJEFwcENlbnRyZV9maWxlczsNCiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdzY2FuZGlyJykpIHsNCiAgICAgICAgZm9yZWFjaCAoc2NhbmRpcigkZGlyKSBhcyAkZCkgew0KICAgICAgICAgICAgaWYgKGlzX2RpcigkZGlyIC4gJGQpKSB7DQogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkZCwgMCwgMSkgIT0gJy4nKSB7DQogICAgICAgICAgICAgICAgICAgIEFwcENlbnRyZV9HZXRBbGxGaWxlRGlyKCRkaXIgLiAkZCAuICcvJyk7DQogICAgICAgICAgICAgICAgICAgICRBcHBDZW50cmVfZGlyc1tdID0gJGRpciAuICRkIC4gJy8nOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJEFwcENlbnRyZV9maWxlc1tdID0gJGRpciAuICRkOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKCRoYW5kbGUgPSBvcGVuZGlyKCRkaXIpKSB7DQogICAgICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpKSB7DQogICAgICAgICAgICAgICAgaWYgKHN1YnN0cigkZmlsZSwgMCwgMSkgIT0gJy4nKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJGRpciAuICRmaWxlKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJEFwcENlbnRyZV9kaXJzW10gPSAkZGlyIC4gJGZpbGUgLiAnLyc7DQogICAgICAgICAgICAgICAgICAgICAgICBBcHBDZW50cmVfR2V0QWxsRmlsZURpcigkZGlyIC4gJGZpbGUgLiAnLycpOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJEFwcENlbnRyZV9maWxlc1tdID0gJGRpciAuICRmaWxlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgY2xvc2VkaXIoJGhhbmRsZSk7DQogICAgICAgIH0NCiAgICB9DQp9DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9QYWNrKCRhcHAsICRnemlwKQ0Kew0KICAgICRzID0gJGFwcC0+UGFjaygpOw0KDQogICAgaWYgKCRnemlwKSB7DQogICAgICAgIHJldHVybiBnemVuY29kZSgkcywgOSwgRk9SQ0VfR1pJUCk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgcmV0dXJuICRzOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX1BIUFZlcnNpb24oJGRlZmF1bHQpDQp7DQogICAgZ2xvYmFsICR6YnA7DQoNCiAgICAkcyA9IG51bGw7DQogICAgJGFycmF5ID0gYXJyYXkoDQogICAgICAgICc1LjInID0+ICc1LjInLA0KICAgICAgICAnNS4zJyA9PiAnNS4zJywNCiAgICAgICAgJzUuNCcgPT4gJzUuNCcsDQogICAgICAgICc1LjUnID0+ICc1LjUnLA0KICAgICAgICAnNS42JyA9PiAnNS42JywNCiAgICAgICAgJzcuMCcgPT4gJzcuMCcsDQogICAgICAgICc3LjEnID0+ICc3LjEnLA0KICAgICAgICAnNy4yJyA9PiAnNy4yJywNCiAgICAgICAgJzcuMycgPT4gJzcuMycsDQogICAgICAgICc3LjQnID0+ICc3LjQnLA0KICAgICAgICAnOC4wJyA9PiAnOC4wJw0KICAgICk7DQogICAgJGkgPSAwOw0KICAgIGZvcmVhY2ggKCRhcnJheSBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgICAgICAkcyAuPSAnPG9wdGlvbiB2YWx1ZT0iJyAuICRrZXkgLiAnIiAnIC4gKCRkZWZhdWx0ID09ICRrZXkgPyAnc2VsZWN0ZWQ9InNlbGVjdGVkIicgOiAnJykgLiAnID4nIC4gJHZhbHVlIC4gJzwvb3B0aW9uPic7DQogICAgfQ0KICAgIHJldHVybiAkczsNCn0NCg==
AppCentre/images/Cube1.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD+SURBVDhPY2DADniAws1AfB2IDwNxAA51WIUTgKLPgfg/Gj4N5DvgMwgkCVKErhGdvx+oxgDdIAGgwHciNMMM+w1UK4NuiAvUz4Rc8BioLgSmmQnKqIDSukC6Eoi/YPHrH6BYBxBrAvEdIJ6MrAZm62KgoAQQKwDxeiQvgWJCB4hBsdMNxCAvgPTAAbKz3wNFM4CYBYg1gNgAqioASIOcj6wWqwEwBceBsj5A7IDmGhQDGKFGoDgH2WkE2IywQCRBD6pSmAEfyDUBZsBEMgzYg64nASiALQ+gJyxQFM4HYlCUYgAOoAgoUYGiEpdGFWJcKwBUBEown6EYZCNWjQB3TmS8FZfGWwAAAABJRU5ErkJggg==
AppCentre/images/Cube2.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEVSURBVDhPY2DAAv7//8/z79+/ZiC+DsSHgfwAbOqwigEVJwA1PQfSKAAodhoo4IDTIJAkVBG6XnSD9gMFDFAMAgoIADV/x6sTSRKo9jcQy6Ab4gLyMyFDgGoeA3EITDMTiAHUVAGiGRkZdYFUJZD/Bd2vQLE/QNwBVKMJxHeAhkyGq4HZChRcDGRLALECkL0eSfwwkK8DjZ1ukBdAchgGgASBku+BOAPIZAFiDViAAekAkPORvYjVACRbjwM1+EBjB+4adAMYoWGAcA7RKQYcZozgQKQEwGLhA7mGgA0AumQiqQYAw2IPekLCmgfQExY0Fc4HRSmGpUBBDlCiAkUlLo1AORWCrgVqBuUNUIL5DMXzcWkEAHOd5eUQrTtQAAAAAElFTkSuQmCC
AppCentre/images/application_edit.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJRSURBVBgZpcHda81xHMDx9+d3fudYzuYw2RaZ5yTWolEiuZpCSjGJFEktUUr8A6ZxQZGHmDtqdrGUXHgoeZqSp1F2bLFWjtkOB8PZzvmd7+djv5XaBRfL6yVmxv+QjQeu7l25uuZYJmtxM0AVU8Wpw9RQU8w51AxzDqfKhFjwq6Mjdbj1RN0Zv2ZFzaloUdwrL2Is4r+y7hRwxs8G5mUzPxmrwcA8hvnmjIZtcxmr3Y09hHwzJZQvOAwwNZyCYqgaThVXMFzBCD7fJfv8MpHiKvaV3ePV2f07fMwIiSeIGeYJJoao4HmCiIeIQzPXifY+paJqO4lZi/nWPZ/krabjvlNHyANMBAQiBiqgakQMCunbxHJviM9bQeZdBzHJUzKhguLJlQnf1BghAmZ4gImAgAjk++8jP56QmL2GXG8zsfFCz8skA1mQXKbaU3X8ISIgQsgDcun7FL7cJjFnLUMfLyLRr0SLS4hbhiup5Szd19rpFYKAESKICCERoS95neyHmyTmbmAodQ4vGpAfmEn6YTtTahv4ODiRkGdOCUUAAUSE/uQNfqTaKFu4jvynJiIxIzcwg/SjF1RsOk9R+QJMlZCvqvwhQFdbM4XvrynIVHpfn2ZSWYyhzHS+PUtSueUC0cQ0QmpGyE9197TUnwzq1DnUKbXSxOb6S7xtPkjngzbGVVbzvS/FjaGt9DU8xlRRJdTCMDEzRjuyZ1FwaFe9j+d4eecaPd1dPxNTSlfWHm1v5y/EzBitblXp4JLZ5f6yBbOwaK5tsD+9c33jq/f8w2+mRSjOllPhkAAAAABJRU5ErkJggg==
AppCentre/images/bricks.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
AppCentre/images/delete.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==
AppCentre/images/document_empty.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASNJREFUeNqUUktugzAQHQd3waLpomoPwBWaRU6S5BTcI93BHVAX7VHSG5SERYCQVpWaRmIDcj2DbeFSAn3S8/gz83gaBoQQEEXR/HG9FiAxFDWwDkkLPg4hSZLntoglIPGASfEuEdsW37Y7Kg6CgGIcx09aRAtwZW+D8Yo7wBiTxAQjDr7vQ5rn4HnearFcvmC9JDNWtIM0y0WWHwz3aWY5CMOQosrv9uBQFKI4Hg3xfDqfO/1Q+VTLaGEMFTfvH59kv9PtZkOu7+9uMX8m71/x2uoB5xPoQ/OhZq/y6WQ5+Dp9wxBuptf9DhxnAmPQ66Asy8Fi13UvOeDm3/8FpprQdmDNQV3XoqqqXuL7xTkYi/YcGAdqxkfH3wIk8p+oBX4EGAD0+smJ54nbiwAAAABJRU5ErkJggg==
AppCentre/images/download.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMi8xNy8wOCCcqlgAAAQRdEVYdFhNTDpjb20uYWRvYmUueG1wADw/eHBhY2tldCBiZWdpbj0iICAgIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1jMDM0IDQ2LjI3Mjk3NiwgU2F0IEphbiAyNyAyMDA3IDIyOjExOjQxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0b3JUb29sPkFkb2JlIEZpcmV3b3JrcyBDUzM8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhhcDpDcmVhdGVEYXRlPjIwMDgtMDItMTdUMDI6MzY6NDVaPC94YXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhhcDpNb2RpZnlEYXRlPjIwMDgtMDMtMjRUMTk6MDA6NDJaPC94YXA6TW9kaWZ5RGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUdUmQAAAE7SURBVDiNpZM7TsNAEIb/8WPNwwJKh5qGBiNxAiqa+AjQ5iCufQBaOILTUHEBIyEaGmoIVAkyEHshQ7HedSzbUiSvtNqZ0fzfzmhniZkxZFmD1AAcbRCRCQYpdZY1i9gk6cqdrkQAuD1n5H/K9m3g8p4683oBH7/AolT2vujLWgMEKaUAxtp/l8C8AizJ5OjWpgAiACDdy2hq8dVZs/XFd1XBTvPWmwfC23hFDQARIUiJL05qSP6lTn+3Ft89EWYR17p1gC7z9FjFlp8qtrWn/MdnMi/RC9CQwyPGaq5i1gHj9YU6n7EToCHbvrJ/8uYMbATQEKAtbgAqP2qpN1jMnOo5GGVZdu26LjzPgxACQgh4ngdmhpSytcMwnJgKkiRhKSWKokBZluYsSzVJjuPAtm2ztR/HMdHQ7/wPj7WgYLMWxPQAAAAASUVORK5CYII=
AppCentre/images/drive-upload.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAoxJREFUeNqMkstrE1EUxr95JdOUCUmrlb6wKLGY6sLOogWxIgjNRmJxIW5ciODarnWXhX+B2C61/4GbgkKhaoOFZNHaLFrRNphU+pqYMO+ZjOdOjNYUxAMfubnn3N98883l8KtiI+M4feMRkulrkGUZEkkQxSnW8z1v2bUsWCSt9A77S3MwtovhOa73+kPEzo6ji8QLAuTu7hYgGs2A43LhVBA8cW17kQEsXUfT92HuFGGQhOH7zyEl+ls0nocYiUAQhAwN5e5lhtTUUPfA+ubhxSAIyr7vf/Zcl3hBeIY9mEdHUTNj23buzs1htVIxUS4bmJ7sV9ke63XO8ycOG0bubua86jg+dN1AtbpL2seVc7LKep0Q0XOc44AZZm/uZb7A/menR1XX9/Dm/ZdCe4bjuBnS4m9Ah4NHLKBmswkCfzjyeOuHJLPgbMrmKk8ZsaAJ8MfBmYN8m4xG1yAO0QujXmdbW7ucLOzKAgNs0vsgFo+j1/0OxayEQYaAvoOVVhhEHxRFHHGnsIJJtlWs8LG9vWgA2zS/sQ3VXEJPcADP80KXJ16BFRuYDFaw7KprWiCWdQHwbLs2JRXQwx11joPLZrNtBwp9/1u0VPDvatB9eE0OGqGDthX6vT07O/s0Ho+nLMuEaRoki+z67DkkiRSBYRhbCwsvyBdehYBqtYpEIsHWyYmJiRQDMgC7tnR5jgFEaJoORUmm5ueNJDtQq9UgFgoFjI2NUUORNE1DPp/HxsYGHMcmOWgZjJCi0J7t4MHHx/RBdKnRaIRzLMQuWijpdDq6urq6TbCR0dELoQvbdv5yYL71sfa1uF2v16OlUqmP5cE6PaQBcnBJkqTL+I9yXXedHHyiZfWnAAMAWVdZh+j/CRIAAAAASUVORK5CYII=
AppCentre/images/loading.gifR0lGODlhZAAJAKIFAM4xMc5jY86cnM7Ozv///////wAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAHACwAAAAAZAAJAAADazi6S/zuNTnpiBRLDe31DiGO4UWK34mGatqypxvDpFzTo53jqzn7N+BO2FOVjLrii3hcInnN35OZjAanWKdWur12h1mu2DsGf5VlNHltTlvbbDV8Lq+/7dU8VE/d+0GAFhwMgxUZgYeCIAkAACH5BAUKAAcALAAAAAAJAAkAAAMRCLpM/kTBJ2cE9uY6OWQgkAAAIfkEBQoABwAsAAAAABMACQAAAyQYukvwEAZCK5nAVjD1dZ7TaVjIhaV3eqm2kqA6Wq3FMYwTRQkAIfkEBQoABwAsAAAAAB0ACQAAAzcoukvxEBJAaxUka4LD1h7wZQA2dqMzpWWKjiFrfu8Xj+2pwis+b7XN7ZOj7Ww9ImPpiEQmFksCACH5BAUKAAcALAAAAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALAoAAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALBQAAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALB4AAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALCgAAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALDIAAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALDwAAAAnAAkAAANLOLpL8hCSQGslIGs9iP9EJ4DfGJDeCaBYh4qsyaos4JIwKqM0arM50o7UI/1ejthkhqndQEHQEFQEHXFJ3ZLX9DG+jkhkYrFgNpsEACH5BAUKAAcALEYAAAAdAAkAAAM3OLpL8hCSQGsdJGuCxdZe8GUBNnajM6Vlio4ha37vF4/tqcIrPm+1ze2To+1sPSJj6YhEJhZLAgAh+QQFCgAHACxQAAAAEwAJAAADJDi6S/IQDkIrmcJWMfV1ntNpWMiFpXd6qbaSoDparcUxjBNFCQA7
AppCentre/images/plugin.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
AppCentre/images/refresh.pngiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMi8xNy8wOCCcqlgAAAQRdEVYdFhNTDpjb20uYWRvYmUueG1wADw/eHBhY2tldCBiZWdpbj0iICAgIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1jMDM0IDQ2LjI3Mjk3NiwgU2F0IEphbiAyNyAyMDA3IDIyOjExOjQxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0b3JUb29sPkFkb2JlIEZpcmV3b3JrcyBDUzM8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhhcDpDcmVhdGVEYXRlPjIwMDgtMDItMTdUMDI6MzY6NDVaPC94YXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhhcDpNb2RpZnlEYXRlPjIwMDgtMDMtMjRUMTk6MDA6NDJaPC94YXA6TW9kaWZ5RGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUdUmQAAAFrSURBVDiNxZM9S4JRFMd/JyRIg54g4lLLMxgY9KLgnl8gcHIKFPoA+Q201gahD1BTS0vFHQuq/YIRvYyaLlaUIZRDw2nI8tGMhobOdDn33t/5n/+5V1SVv8TQn24D8usJhwJV4BAokuT5RwXGys4PGB9YAyo44gMBxkppOkzOWCkMIiQikIjgASc4vB6AsZIaDZHfTCpmhKKx0q2SRIBU+YXzRBgAr6PmA2CseMD+yowiIUj7CrDfyX9CzoD09gNs+QDkggp2omN4sQm4e4PYBETH8IFSTw9JboHTjgr/M92dgkNvFmD2AoDxoNvGSmkyTH51oftmdq+FWouD4BTOr9pf62yfh8X7V6r1JkwNQ70JtRbVYCvgyOLQjQaKQ3Hkg24bK0vzR6IHT+j8kaixssi3cJQzFTRT+YIojkIAUoofiwZHHepDpPYeOQXicyMfict2z36x0YbGsq5/r96rJIuj3K9gUMi//8Z352t3ii8LCZIAAAAASUVORK5CYII=
AppCentre/images/refresh2.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
AppCentre/images/style.cssLmFwcC10aGVtZXsNCglmbG9hdDpsZWZ0Ow0KCWZsb2F0OmxlZnQ7DQoJd2lkdGg6MzUwcHg7DQoJYmFja2dyb3VuZDojZjBmMGYwOw0KCW1hcmdpbjo1cHggMjBweCA0MHB4IDVweDsNCg0KfQ0KDQoNCi5hcHAtcGx1Z2luew0KCWZsb2F0OmxlZnQ7DQoJd2lkdGg6MzUwcHg7DQoJYmFja2dyb3VuZDojZjBmMGYwOw0KCW1hcmdpbjo1cHggMjBweCA0MHB4IDVweDsNCglib3gtc2hhZG93OiAwIDAgMTBweCAjYWFhOw0KfQ0KDQouYXBwLXRoZW1lLWltYWdlIGltZ3sNCgl3aWR0aDozMjBweDsNCgloZWlnaHQ6MjQwcHg7DQp9DQoNCi5hcHAtcGx1Z2luLWltYWdlIGltZ3sNCgl3aWR0aDoxMjhweDsNCgloZWlnaHQ6MTI4cHg7DQp9DQoNCg0KLmFwcC1wbHVnaW4taWQsLmFwcC10aGVtZS1pZHsNCglkaXNwbGF5Om5vbmU7DQp9DQo=
AppCentre/images/theme.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
AppCentre/include.phpPD9waHANCiPms6jlhozmj5Lku7YNClJlZ2lzdGVyUGx1Z2luKCJBcHBDZW50cmUiLCAiQWN0aXZlUGx1Z2luX0FwcENlbnRyZSIpOw0KDQppZiAoIWZ1bmN0aW9uX2V4aXN0cygnU3BsaXRBbmRHZXQnKSkgew0KDQogICAgZnVuY3Rpb24gU3BsaXRBbmRHZXQoJHN0cmluZywgJGRlbGltaXRlciA9ICc7JywgJG4gPSAwKQ0KICAgIHsNCiAgICAgICAgJGEgPSBleHBsb2RlKCRkZWxpbWl0ZXIsICRzdHJpbmcpOw0KICAgICAgICBpZiAoIWlzX2FycmF5KCRhKSkgew0KICAgICAgICAgICAgJGEgPSBhcnJheSgpOw0KICAgICAgICB9DQogICAgICAgIGlmIChpc3NldCgkYVskbl0pKSB7DQogICAgICAgICAgICByZXR1cm4gKHN0cmluZykgJGFbJG5dOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICcnOw0KICAgIH0NCg0KfQ0KDQpkZWZpbmUoJ0FQUENFTlRSRV9ET01BSU5TJywgJ3pibG9nY24uY29tfHpibG9nY24ubmV0Jyk7DQoNCmRlZmluZSgNCiAgICAnQVBQQ0VOVFJFX1BVQkxJQ19LRVknLA0KICAgICctLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLQ0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEzSFlUanlPSXpZbkp0SWw0TTUwbA0KYVlnRVFtUkdlT1FBKzVIMVplM0ZnYzdiYkVjK0R0Sk1BbXdZYUdSMytVTGtMNGMwbS9LWFh4dWpUZ0VmeEdraw0KZk83WEk3WjBiMUVXRm00TTdJYlhveDZMYUxVNm1LNE9LNW5NV1d5SXlhd1luMGJkdzZYL3ZhWEV5emtERThmUA0KWkdHUG81T3lkeVpkVG00N2xYZENld3l4azFDUTZuTXM3NXUwbUxqbkRmc0ZYTmlEeDhodlhPRG5UU0pLemIrQw0KMTU0cWcwdVJYamFCMnlsbmhKS0RjUUNGQWJnNXV5MGlSY3JwNytDRkc0cXZrMGM3ZC94UlJqcVkveTNISStvNQ0KMjkvdnZCeUQ5S1ZYZldRUUk2dW5mV2ZPMXVFZWdYY2d5cEhLSFJtdXlab0lESDdyNTZzbGVYS2NOME9MZXN4cA0KendJREFRQUINCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLScNCik7DQoNCiRkb21haW4gPSAoc3RyaW5nKSAkR0xPQkFMU1snemJwJ10tPkNvbmZpZygnQXBwQ2VudHJlJyktPmZpcnN0ZG9tYWluOw0KDQppZiAoJGRvbWFpbiA9PSAnJyB8fCBzdHJpcG9zKEFQUENFTlRSRV9ET01BSU5TLCAkZG9tYWluKSA9PT0gZmFsc2UpIHsNCiAgICAkZG9tYWluID0gU3BsaXRBbmRHZXQoQVBQQ0VOVFJFX0RPTUFJTlMsICd8JywgMCk7DQp9DQoNCmRlZmluZSgnQVBQQ0VOVFJFX0RPTUFJTicsICdhcHAuJyAuICRkb21haW4pOw0KDQppZiAoc3RyaXBvcygkR0xPQkFMU1snYmxvZ2hvc3QnXSwgJ2h0dHBzOi8vJykgIT09IGZhbHNlKSB7DQogICAgZGVmaW5lKCdBUFBDRU5UUkVfVVJMJywgJ2h0dHBzOi8vJyAuIEFQUENFTlRSRV9ET01BSU4gLiAnL2NsaWVudC8nKTsNCiAgICBkZWZpbmUoJ0FQUENFTlRSRV9DTURfVVJMJywgJ2h0dHBzOi8vJyAuIEFQUENFTlRSRV9ET01BSU4gLiAnL3piX3N5c3RlbS9jbWQucGhwPycpOw0KICAgIGRlZmluZSgnQVBQQ0VOVFJFX1NZU1RFTV9VUERBVEUnLCAnaHR0cHM6Ly91cGRhdGUuJyAuICRkb21haW4gLiAnL3pibG9ncGhwLycpOw0KICAgIGRlZmluZSgnQVBQQ0VOVFJFX1ZFUklGWScsICdodHRwczovL3ZlcmlmeS4nIC4gQVBQQ0VOVFJFX0RPTUFJTiAuICcvcmVsZWFzZS92MS8nKTsNCiAgICBkZWZpbmUoJ0FQUENFTlRSRV9WRVJJRllfVjInLCAnaHR0cHM6Ly92ZXJpZnkuJyAuIEFQUENFTlRSRV9ET01BSU4gLiAnL3JlbGVhc2UvdjIvJyk7DQp9IGVsc2Ugew0KICAgIGRlZmluZSgnQVBQQ0VOVFJFX1VSTCcsICdodHRwOi8vJyAuIEFQUENFTlRSRV9ET01BSU4gLiAnL2NsaWVudC8nKTsNCiAgICBkZWZpbmUoJ0FQUENFTlRSRV9DTURfVVJMJywgJ2h0dHA6Ly8nIC4gQVBQQ0VOVFJFX0RPTUFJTiAuICcvemJfc3lzdGVtL2NtZC5waHA/Jyk7DQogICAgZGVmaW5lKCdBUFBDRU5UUkVfU1lTVEVNX1VQREFURScsICdodHRwOi8vdXBkYXRlLicgLiAkZG9tYWluIC4gJy96YmxvZ3BocC8nKTsNCiAgICBkZWZpbmUoJ0FQUENFTlRSRV9WRVJJRlknLCAnaHR0cDovL3ZlcmlmeS4nIC4gQVBQQ0VOVFJFX0RPTUFJTiAuICcvcmVsZWFzZS92MS8nKTsNCiAgICBkZWZpbmUoJ0FQUENFTlRSRV9WRVJJRllfVjInLCAnaHR0cDovL3ZlcmlmeS4nIC4gQVBQQ0VOVFJFX0RPTUFJTiAuICcvcmVsZWFzZS92Mi8nKTsNCn0NCg0KdW5zZXQoJGRvbWFpbik7DQoNCiPlrprkuYnniYjmnKzlj7fliJcNCiR6YnB2ZXJzID0gYXJyYXkoKTsNCiR6YnB2ZXJzWycxMzA3MDcnXSA9ICcxLjAgQmV0YSBCdWlsZCAxMzA3MDcnOw0KJHpicHZlcnNbJzEzMTExMSddID0gJzEuMCBCZXRhMiBCdWlsZCAxMzExMTEnOw0KJHpicHZlcnNbJzEzMTIyMSddID0gJzEuMSBUYWljaGkgQnVpbGQgMTMxMjIxJzsNCiR6YnB2ZXJzWycxNDAyMjAnXSA9ICcxLjIgSGlwcG8gQnVpbGQgMTQwMjIwJzsNCiR6YnB2ZXJzWycxNDA2MTQnXSA9ICcxLjMgV29uY2UgQnVpbGQgMTQwNjE0JzsNCiR6YnB2ZXJzWycxNTAxMDEnXSA9ICcxLjQgRGVlcGx1ZSBCdWlsZCAxNTAxMDEnOw0KJHpicHZlcnNbJzE1MTYyNiddID0gJzEuNSBaZXJvIEJ1aWxkIDE1MTYyNic7DQokemJwdmVyc1snMTUxOTM1J10gPSAnMS41LjIgWmVybyBCdWlsZCAxNTE5MzUnOw0KJHpicHZlcnNbJzE2MjA5MCddID0gJzEuNi4wIFZhbHlyaWEgQnVpbGQgMTYyMDkwJzsNCiR6YnB2ZXJzWycxNjIyMTAnXSA9ICcxLjYuOCBWYWx5cmlhIEJ1aWxkIDE2MjIxMCc7DQokemJwdmVyc1snMTcyOTAwJ10gPSAnMS43LjAgVGVuZXQgQnVpbGQgMTcyOTAwJzsNCg0KaWYgKCFpc3NldCgkemJwdmVyc1skR0xPQkFMU1snYmxvZ3ZlcnNpb24nXV0pKSB7DQogICAgaWYgKGRlZmluZWQoJ1pDX1ZFUlNJT05fRlVMTCcpKSB7DQogICAgICAgICR6YnB2ZXJzWyRHTE9CQUxTWydibG9ndmVyc2lvbiddXSA9IFpDX1ZFUlNJT05fRlVMTDsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkemJwdmVyc1skR0xPQkFMU1snYmxvZ3ZlcnNpb24nXV0gPSBaQ19CTE9HX1ZFUlNJT047DQogICAgfQ0KfQ0KDQokYXBwY2VudHJlX3ZlcmlmaWVkID0gYXJyYXkoKTsNCg0KZnVuY3Rpb24gQWN0aXZlUGx1Z2luX0FwcENlbnRyZSgpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgQWRkX0ZpbHRlcl9QbHVnaW4oJ0ZpbHRlcl9QbHVnaW5fQWRtaW5fTGVmdE1lbnUnLCAnQXBwQ2VudHJlX0FkZE1lbnUnKTsNCiAgICBBZGRfRmlsdGVyX1BsdWdpbignRmlsdGVyX1BsdWdpbl9BZG1pbl9UaGVtZU1uZ19TdWJNZW51JywgJ0FwcENlbnRyZV9BZGRUaGVtZU1lbnUnKTsNCiAgICBBZGRfRmlsdGVyX1BsdWdpbignRmlsdGVyX1BsdWdpbl9BZG1pbl9QbHVnaW5NbmdfU3ViTWVudScsICdBcHBDZW50cmVfQWRkUGx1Z2luTWVudScpOw0KICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0FkbWluX1NpdGVJbmZvX1N1Yk1lbnUnLCAnQXBwQ2VudHJlX0FkZFNpdGVJbmZvTWVudScpOw0KICAgIEFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0NtZF9CZWdpbicsICdBcHBDZW50cmVfQ21kX0JlZ2luJyk7DQogICAgLy9BZGRfRmlsdGVyX1BsdWdpbignRmlsdGVyX1BsdWdpbl9EaXNhYmxlUGx1Z2luJywgJ0FwcENlbnRyZV9EaXNhYmxlUGx1Z2luJyk7DQoNCiAgICBpZiAobWV0aG9kX2V4aXN0cygnWkJsb2dQSFAnLCAnTG9hZExhbmd1YWdlJykpIHsNCiAgICAgICAgJHpicC0+TG9hZExhbmd1YWdlKCdwbHVnaW4nLCAnQXBwQ2VudHJlJyk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKGlzX3JlYWRhYmxlKCRmID0gJHpicC0+cGF0aCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2xhbmd1YWdlLycgLiAkemJwLT5vcHRpb25bJ1pDX0JMT0dfTEFOR1VBR0VQQUNLJ10gLiAnLnBocCcpKSB7DQogICAgICAgICAgICAkemJwLT5sYW5nWydBcHBDZW50cmUnXSA9IGluY2x1ZGUgJGY7DQogICAgICAgIH0gZWxzZWlmIChpc19yZWFkYWJsZSgkZiA9ICR6YnAtPnBhdGggLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9sYW5ndWFnZS8nIC4gJ3poLWNuJyAuICcucGhwJykpIHsNCiAgICAgICAgICAgICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddID0gaW5jbHVkZSAkZjsNCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KZnVuY3Rpb24gSW5zdGFsbFBsdWdpbl9BcHBDZW50cmUoKQ0Kew0KICAgIGdsb2JhbCAkemJwOw0KICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmVuYWJsZWRjaGVjayA9IDE7DQogICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+Y2hlY2tiZXRhID0gMDsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVkZXZlbG9wID0gMDsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVnemlwYXBwID0gMDsNCiAgICAkemJwLT5TYXZlQ29uZmlnKCdBcHBDZW50cmUnKTsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0FkZE1lbnUoJiRtKQ0Kew0KICAgIGdsb2JhbCAkemJwOw0KICAgICRtWyduYXZfQXBwQ2VudHJlJ10gPSBNYWtlTGVmdE1lbnUoInJvb3QiLCAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbmFtZSddLCAkemJwLT5ob3N0IC4gInpiX3VzZXJzL3BsdWdpbi9BcHBDZW50cmUvbWFpbi5waHAiLCAibmF2X0FwcENlbnRyZSIsICJhQXBwQ2VudHJlIiwgJHpicC0+aG9zdCAuICJ6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2ltYWdlcy9DdWJlMS5wbmciLCAiaWNvbi16YmxvZy1hcHBjZW50ZXIiKTsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0FkZFNpdGVJbmZvTWVudSgpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgaWYgKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmVuYWJsZWRjaGVjaykgew0KICAgICAgICAkbGFzdCA9IChpbnQpICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmxhc3RjaGVja3RpbWU7DQogICAgICAgIGlmICgodGltZSgpIC0gJGxhc3QpID4gKDExICogNjAgKiA2MCkpIHsNCiAgICAgICAgICAgIGVjaG8gIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeyAgJC5nZXRTY3JpcHQoJ3skemJwLT5ob3N0fXpiX3VzZXJzL3BsdWdpbi9BcHBDZW50cmUvbWFpbi5waHA/bWV0aG9kPWNoZWNrc2lsZW50JnJuZD0nKTsgfSk7PC9zY3JpcHQ+IjsNCiAgICAgICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmxhc3RjaGVja3RpbWUgPSB0aW1lKCk7DQogICAgICAgICAgICAkemJwLT5TYXZlQ29uZmlnKCdBcHBDZW50cmUnKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAoJHpicC0+dmVyc2lvbiA8IDE3MDAwMCAmJiAkemJwLT52ZXJzaW9uID49IDE2MjA5MCAmJiAoaW50KSAkemJwLT5vcHRpb25bJ1pDX0xBU1RfVkVSU0lPTiddIDwgMTYyMDkwKSB7DQogICAgICAgIGVjaG8gIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4kKCcubWFpbicpLnByZXBlbmQoJzxkaXYgY2xhc3M9XCJoaW50XCI+PHAgY2xhc3M9XCJoaW50IGhpbnRfdGlwcyBoaW50X2Fsd2F5c1wiPjxhIGhyZWY9XCJ7JHpicC0+aG9zdH16Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL3VwZGF0ZS5waHA/dXBkYXRlZGJcIj57JHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2NsaWNrX3RvX3VwZ3JhZGVfZGF0YWJhc2UnXX08L2E+PC9wPjwvZGl2PicpOzwvc2NyaXB0PiI7DQogICAgfSBlbHNlaWYgKGlzX3JlYWRhYmxlKCR6YnAtPnBhdGggLiAnemJfc3lzdGVtL2FkbWluL3VwZGF0ZWRiLnBocCcpICYmIGRlZmluZWQoJ1pDX0xBU1RfVkVSU0lPTicpKSB7DQogICAgICAgIC8vaWYgKCR6YnAtPnZlcnNpb24gPj0gWkNfTEFTVF9WRVJTSU9OICYmIChpbnQpICR6YnAtPm9wdGlvblsnWkNfTEFTVF9WRVJTSU9OJ10gPCBaQ19MQVNUX1ZFUlNJT04pIHsNCiAgICAgICAgICAgIC8vZWNobyAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiQoJy5tYWluJykucHJlcGVuZCgnPGRpdiBjbGFzcz1cImhpbnRcIj48cCBjbGFzcz1cImhpbnQgaGludF90aXBzIGhpbnRfYWx3YXlzXCI+PGEgaHJlZj1cInskemJwLT5ob3N0fXpiX3N5c3RlbS9hZG1pbi91cGRhdGVkYi5waHA/dXBkYXRlZGJcIiB0YXJnZXQ9XCJfYmxhbmtcIj57JHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2NsaWNrX3RvX3VwZ3JhZGVfZGF0YWJhc2UnXX08L2E+PC9wPjwvZGl2PicpOzwvc2NyaXB0PiI7DQogICAgICAgIC8vfQ0KICAgIH0NCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0NtZF9CZWdpbigpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgJGFjdGlvbiA9IEdldFZhcnMoJ2FjdCcsICdHRVQnKTsNCiAgICAkdHlwZSA9ICcnOw0KICAgICRuYW1lID0gJyc7DQogICAgaWYgKCRhY3Rpb24gPT0gJ1BsdWdpbkVuYicpIHsNCiAgICAgICAgJG5hbWUgPSBHZXRWYXJzKCduYW1lJywgJ0dFVCcpOw0KICAgICAgICAkdHlwZSA9ICdwbHVnaW4nOw0KICAgIH0gZWxzZWlmICgkYWN0aW9uID09ICdUaGVtZVNldCcpIHsNCiAgICAgICAgJG5hbWUgPSBHZXRWYXJzKCd0aGVtZScsICdQT1NUJyk7DQogICAgICAgICR0eXBlID0gJ3RoZW1lJzsNCiAgICB9DQoNCiAgICBpZiAoJHR5cGUgIT0gJycpIHsNCiAgICAgICAgJGFwcCA9ICR6YnAtPkxvYWRBcHAoJHR5cGUsICRuYW1lKTsNCiAgICAgICAgaWYgKCRhcHAtPnByaWNlID4gMCkgew0KICAgICAgICAgICAgJHMgPSBBcHBDZW50cmVfVmVyaWZ5VjIoJGFwcC0+aWQsICR0eXBlKTsNCiAgICAgICAgICAgIGlmICgoc3RybGVuKCRzKSAlIDMyKSA+IDAgJiYgIXByZWdfbWF0Y2goJy9eWzAtOWEtZl0qJC8nLCAkcykpIHsNCiAgICAgICAgICAgICAgICAkemJwLT5TaG93RXJyb3IoJHMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBBcHBDZW50cmVfQWRkVGhlbWVNZW51KCkNCnsNCiAgICBnbG9iYWwgJHpicDsNCiAgICBlY2hvICI8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+dmFyIGFwcF9lbmFibGVkZXZlbG9wPSIgLiAoaW50KSAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVkZXZlbG9wIC4gIjt2YXIgYXBwX2VuYWJsZXBsdWdpbnNvcnQ9IiAuIChpbnQpICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmVuYWJsZXBsdWdpbnNvcnQgLiAiOzwvc2NyaXB0PiI7DQogICAgaWYgKEFwcENlbnRyZV9JblNlY3VyaXR5TW9kZSgpKSB7DQogICAgICAgIHJldHVybjsNCiAgICB9DQogICAgQWRkX0ZpbHRlcl9QbHVnaW4oJ0ZpbHRlcl9QbHVnaW5fQWRtaW5fRW5kJywgJ0FwcENlbnRyZV9UaGVtZV9BZG1pbl9FbmQnKTsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0FkZFBsdWdpbk1lbnUoKQ0Kew0KICAgIGdsb2JhbCAkemJwOw0KICAgIGVjaG8gIjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz52YXIgYXBwX2VuYWJsZWRldmVsb3A9IiAuIChpbnQpICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmVuYWJsZWRldmVsb3AgLiAiO3ZhciBhcHBfZW5hYmxlcGx1Z2luc29ydD0iIC4gKGludCkgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlcGx1Z2luc29ydCAuICI7PC9zY3JpcHQ+IjsNCiAgICBpZiAoQXBwQ2VudHJlX0luU2VjdXJpdHlNb2RlKCkpIHsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCiAgICBBZGRfRmlsdGVyX1BsdWdpbignRmlsdGVyX1BsdWdpbl9BZG1pbl9FbmQnLCAnQXBwQ2VudHJlX1BsdWdpbl9BZG1pbl9FbmQnKTsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX1RoZW1lX0FkbWluX0VuZCgpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPic7DQogICAgaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvdGhlbWUuanMucGhwJzsNCiAgICBlY2hvICc8L3NjcmlwdD4nOw0KfQ0KDQpmdW5jdGlvbiBBcHBDZW50cmVfUGx1Z2luX0FkbWluX0VuZCgpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPic7DQogICAgaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvcGx1Z2luLmpzLnBocCc7DQogICAgZWNobyAnPC9zY3JpcHQ+JzsNCn0NCg0KLyoqDQogKiBAZGVwcmVjYXRlZA0KICovDQpmdW5jdGlvbiBBcHBDZW50cmVfQXBwX0NoZWNrX0lTQlVZKCRhcHBpZCkNCnsNCiAgICByZXR1cm4ganNvbl9kZWNvZGUoJ3siZGF0YSI6IHsiaXNidXkiOiB0cnVlfX0nLCB0cnVlKTsNCn0NCg0KLyoqDQogKiDkuI3nuq/vvIzlkKvml6fniYjmnKzljYfnuqfku6PnoIHjgIINCiAqIOWvueS6juaWsOeJiCg+MjAxOTAyMDEp77yM5Y+v5YGH5a6a5YW25pivcHVyZeeahOOAgg0KICovDQpmdW5jdGlvbiBBcHBDZW50cmVfR2V0X0Nvb2tpZXMoKQ0Kew0KICAgIGdsb2JhbCAkemJwOw0KDQogICAgaWYgKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnVzZXJuYW1lICE9ICcnKSB7DQogICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnRva2VuID0gJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+dXNlcm5hbWU7DQogICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnVuaXFfaWQgPSAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5wYXNzd29yZDsNCiAgICAgICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+b2xkX3Rva2VuID0gJ3RydWUnOw0KICAgICAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT51c2VybmFtZSA9ICcnOw0KICAgICAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5wYXNzd29yZCA9ICcnOw0KICAgICAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5EZWxLZXkoJ3VzZXJuYW1lJyk7DQogICAgICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPkRlbEtleSgncGFzc3dvcmQnKTsNCiAgICAgICAgJHpicC0+U2F2ZUNvbmZpZygnQXBwQ2VudHJlJyk7DQogICAgfQ0KDQogICAgJGMgPSAnJzsNCg0KICAgICRjIC49ICcgYXBwdHlwZT0nIC4gdXJsZW5jb2RlKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmFwcHR5cGUpOw0KICAgICRjIC49ICcgO2FwcF9ndWVzdHZlcj0nIC4gdXJsZW5jb2RlKCcyLjAnKTsNCiAgICAkYyAuPSAnIDthcHBfaG9zdD0nIC4gdXJsZW5jb2RlKCR6YnAtPmhvc3QpOw0KICAgICRjIC49ICcgO2FwcF9lbWFpbD0nIC4gdXJsZW5jb2RlKCR6YnAtPnVzZXItPkVtYWlsKTsNCiAgICAkYyAuPSAnIDthcHBfdXNlcj0nIC4gdXJsZW5jb2RlKCR6YnAtPnVzZXItPk5hbWUpOw0KDQogICAgJHRva2VuID0gc3Vic3RyKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnRva2VuLCAwLCAxMDApOw0KICAgICR1bmlxX2lkID0gc3Vic3RyKCR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPnVuaXFfaWQsIDAsIDEwMCk7DQogICAgaWYgKCR0b2tlbikgew0KICAgICAgICAkYyAuPSAiOyB0b2tlbj0iIC4gdXJsZW5jb2RlKCR0b2tlbik7DQogICAgICAgIGlmICgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5vbGRfdG9rZW4gPT09ICd0cnVlJykgew0KICAgICAgICAgICAgJGMgLj0gIjsgc2lnbj0iIC4gdXJsZW5jb2RlKCR1bmlxX2lkKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRjIC49ICI7IHNpZ249IiAuIHVybGVuY29kZShBcHBDZW50cmVfR2V0X1NpZ24oJHRva2VuKSk7DQogICAgICAgIH0NCiAgICAgICAgJGMgLj0gIjsgdW5pcV9pZD0iIC4gdXJsZW5jb2RlKCR1bmlxX2lkKTsNCiAgICB9DQoNCiAgICByZXR1cm4gJGM7DQp9DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9HZXRfU2lnbigkdG9rZW4pDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgLy8kemJwLT51c2VyLT5MZXZlbCAhPSAxDQogICAgaWYgKCR6YnAtPnVzZXItPkxldmVsICE9IDEpIHsNCiAgICAgICAgZm9yZWFjaCAoJHpicC0+bWVtYmVycyBhcyAka2V5ID0+ICRtKSB7DQogICAgICAgICAgICBpZiAoJG0tPkxldmVsID09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaGFzaF9obWFjKCdzaGEyNTYnLCAkbS0+TmFtZSAuICd8JyAuICRtLT5QYXNzd29yZCAuICd8JyAuICRtLT5HdWlkLCAkdG9rZW4pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIHJldHVybiBoYXNoX2htYWMoJ3NoYTI1NicsICR6YnAtPnVzZXItPk5hbWUgLiAnfCcgLiAkemJwLT51c2VyLT5QYXNzd29yZCAuICd8JyAuICR6YnAtPnVzZXItPkd1aWQsICR0b2tlbik7DQp9DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9HZXRfVXNlckFnZW50KCkNCnsNCiAgICBnbG9iYWwgJHpicDsNCiAgICAkYXBwID0gJHpicC0+TG9hZEFwcCgncGx1Z2luJywgJ0FwcENlbnRyZScpOw0KICAgICRwdiA9IHN0cnBvcyhwaHB2ZXJzaW9uKCksICctJykgPT09IGZhbHNlID8gcGhwdmVyc2lvbigpIDogc3Vic3RyKHBocHZlcnNpb24oKSwgMCwgc3RycG9zKHBocHZlcnNpb24oKSwgJy0nKSk7DQogICAgJHUgPSAnWkJsb2dQSFAvJyAuICRHTE9CQUxTWydibG9ndmVyc2lvbiddIC4gJyBBcHBDZW50cmUvJyAuICRhcHAtPm1vZGlmaWVkIC4gJyBQaHBWZXIvJyAuICRwdiAuICcgTGFuZy8nIC4gJHpicC0+b3B0aW9uWydaQ19CTE9HX0xBTkdVQUdFUEFDSyddIC4gJyAnIC4gR2V0R3Vlc3RBZ2VudCgpOw0KDQogICAgcmV0dXJuICR1Ow0KfQ0KDQovKioNCiAqIEBkZXByZWNhdGVkDQogKi8NCmZ1bmN0aW9uIEFwcENlbnRyZV9DaGVja19BcHBfSXNCdXkoJGFwcGlkLCAkdGhyb3dlcnJvciA9IHRydWUpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgJGFqYXggPSBOZXR3b3JrOjpDcmVhdGUodHJpbSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5uZXR3b3JrdHlwZSkpOw0KDQogICAgLy8kdXJsID0gc3RyX3JlcGxhY2UoJ2h0dHA6Ly8nLCdodHRwczovLycsQVBQQ0VOVFJFX1VSTCkgLiAnP2NoZWNrYnV5JzsNCiAgICAkdXJsID0gQVBQQ0VOVFJFX1ZFUklGWTsNCiAgICAkYyA9IEFwcENlbnRyZV9HZXRfQ29va2llcygpOw0KICAgICR1ID0gQXBwQ2VudHJlX0dldF9Vc2VyQWdlbnQoKTsNCg0KICAgICRhcHBpZCA9ICRhcHBpZDsNCiAgICAkdG9rZW4gPSAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT50b2tlbjsNCiAgICAkaG9zdCA9ICR6YnAtPmhvc3Q7DQoNCiAgICAkZGF0YSA9IGFycmF5KCk7DQoNCiAgICAkZGF0YVsnYXBwaWQnXSA9ICRhcHBpZDsNCiAgICAkZGF0YVsnaG9zdCddID0gJHpicC0+aG9zdDsNCg0KICAgICRkYXRhWydpbmNsdWRlZmlsZWhhc2gnXSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCR6YnAtPnBhdGggLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9pbmNsdWRlLnBocCcpOw0KICAgICRkYXRhWydpbmNsdWRlZmlsZWhhc2gnXSA9IG1kNShzdHJfcmVwbGFjZShhcnJheSgnXHInLCdcbicpLCAnJywgJGRhdGFbJ2luY2x1ZGVmaWxlaGFzaCddKSk7DQoNCiAgICAkcHVfa2V5ID0gb3BlbnNzbF9wa2V5X2dldF9wdWJsaWMoQVBQQ0VOVFJFX1BVQkxJQ19LRVkpOw0KDQogICAgJGVuY3J5cHRlZCA9ICcnOw0KICAgIG9wZW5zc2xfcHVibGljX2VuY3J5cHQoaW1wbG9kZSgnfCcsICRkYXRhKSwgJGVuY3J5cHRlZCwgJHB1X2tleSk7Ly/lhazpkqXliqDlr4YNCiAgICAkZW5jcnlwdGVkID0gYmFzZTY0X2VuY29kZSgkZW5jcnlwdGVkKTsNCiAgICAkZGF0YSA9IGFycmF5KCk7DQogICAgJGRhdGFbJ2luZm8nXSA9ICRlbmNyeXB0ZWQ7DQoNCiAgICAkYWpheC0+b3BlbignUE9TVCcsICR1cmwpOw0KICAgIC8vJGFqYXgtPmVuYWJsZUd6aXAoKTsNCiAgICAkYWpheC0+c2V0VGltZU91dHMoMTIwLCAxMjAsIDAsIDApOw0KICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdVc2VyLUFnZW50JywgJHUpOw0KICAgICRhamF4LT5zZXRSZXF1ZXN0SGVhZGVyKCdDb29raWUnLCAkYyk7DQogICAgJGFqYXgtPnNldFJlcXVlc3RIZWFkZXIoJ1dlYnNpdGUnLCAkemJwLT5ob3N0KTsNCiAgICAkYWpheC0+c2VuZCgkZGF0YSk7DQoNCg0KICAgICRlbmNyeXB0ZWQgPSAkYWpheC0+cmVzcG9uc2VUZXh0Ow0KICAgICRlbmNyeXB0ZWQgPSBzdHJfcmVwbGFjZSgnIicsICcnLCAkZW5jcnlwdGVkKTsNCiAgICBvcGVuc3NsX3B1YmxpY19kZWNyeXB0KGJhc2U2NF9kZWNvZGUoJGVuY3J5cHRlZCksICRkZWNyeXB0ZWQsICRwdV9rZXkpOy8v5YWs6ZKl6Kej5a+GDQogICAgLy9kaWUoJGRlY3J5cHRlZCk7DQogICAgaWYgKG1kNSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT50b2tlbiAuICdvaycpID09ICRkZWNyeXB0ZWQpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKCR0aHJvd2Vycm9yID09IHRydWUpIHsNCiAgICAgICAgICAgICR6YnAtPlNob3dFcnJvcigkZGVjcnlwdGVkKTsNCiAgICAgICAgICAgIGRpZSgpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBBcHBDZW50cmVfVmVyaWZ5VjIoJGFwcGlkLCAkdHlwZSA9ICdwbHVnaW4nKQ0Kew0KICAgIGdsb2JhbCAkYXBwY2VudHJlX3ZlcmlmaWVkLCAkemJwOw0KICAgICR2ZXJpZnlIYXNoID0gbWQ1KCRhcHBpZCAuICctJyAuICR0eXBlKTsNCiAgICBpZiAoaXNzZXQoJGFwcGNlbnRyZV92ZXJpZmllZFskdmVyaWZ5SGFzaF0pKSB7DQogICAgICAgIHJldHVybiAkYXBwY2VudHJlX3ZlcmlmaWVkWyR2ZXJpZnlIYXNoXTsNCiAgICB9DQogICAgdHJ5IHsNCiAgICAgICAgJGFwcCA9IG5ldyBBcHAoKTsNCiAgICAgICAgJGFwcC0+TG9hZEluZm9CeVhtbCgkdHlwZSwgJGFwcGlkKTsNCiAgICAgICAgJGFqYXggPSBOZXR3b3JrOjpDcmVhdGUodHJpbSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5uZXR3b3JrdHlwZSkpOw0KDQogICAgICAgICR1cmwgPSBBUFBDRU5UUkVfVkVSSUZZX1YyOw0KICAgICAgICAkY29va2llcyA9IEFwcENlbnRyZV9HZXRfQ29va2llcygpOw0KICAgICAgICAkdXNlckFnZW50ID0gQXBwQ2VudHJlX0dldF9Vc2VyQWdlbnQoKTsNCiAgICAgICAgJGhvc3QgPSAkemJwLT5ob3N0Ow0KICAgICAgICAkcnNhUHVibGljS2V5ID0gb3BlbnNzbF9wa2V5X2dldF9wdWJsaWMoQVBQQ0VOVFJFX1BVQkxJQ19LRVkpOw0KICAgICAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdvcGVuc3NsX3JhbmRvbV9wc2V1ZG9fYnl0ZXMnKSkgew0KICAgICAgICAgICAgJGFlc0tleSA9IG9wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcygzMik7DQogICAgICAgICAgICAkYWVzSXYgPSBvcGVuc3NsX3JhbmRvbV9wc2V1ZG9fYnl0ZXMoMTYpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGFlc0tleSA9IG1kNSh1bmlxaWQoKSk7DQogICAgICAgICAgICAkYWVzSXYgPSBzdWJzdHIobWQ1KHVuaXFpZCgpKSwgMCwgMTYpOw0KICAgICAgICB9DQogICAgICAgICRlbmNyeXB0ZWRBZXNLZXkgPSAnJzsNCiAgICAgICAgb3BlbnNzbF9wdWJsaWNfZW5jcnlwdChiYXNlNjRfZW5jb2RlKCRhZXNLZXkpIC4gJy4nIC4gYmFzZTY0X2VuY29kZSgkYWVzSXYpLCAkZW5jcnlwdGVkQWVzS2V5LCAkcnNhUHVibGljS2V5KTsNCiAgICAgICAgJGVuY3J5cHRlZEFlc0tleSA9IGJhc2U2NF9lbmNvZGUoJGVuY3J5cHRlZEFlc0tleSk7DQoNCiAgICAgICAgJGxpY2Vuc2VQYXRoID0gJHpicC0+cGF0aCAuICd6Yl91c2Vycy8nIC4gJHR5cGUgLiAnLycgLiAkYXBwaWQgLiAnL3piLWFwcC1saWNlbnNlLnBocCc7DQoNCiAgICAgICAgJGRhdGEgPSBhcnJheSgNCiAgICAgICAgICAgICdhcHBJZCcgPT4gJGFwcGlkLA0KICAgICAgICAgICAgJ2Nvb2tpZScgPT4gJGNvb2tpZXMsDQogICAgICAgICAgICAndXNlckFnZW50JyA9PiAkdXNlckFnZW50LA0KICAgICAgICAgICAgJ2hvc3QnID0+ICRob3N0LA0KICAgICAgICAgICAgJ2xpY2Vuc2UnID0+IGZpbGVfZXhpc3RzKCRsaWNlbnNlUGF0aCkgPyBmaWxlX2dldF9jb250ZW50cygkbGljZW5zZVBhdGgpIDogJycsDQogICAgICAgICAgICAnbW9kaWZpZWQnID0+IHN0cnRvdGltZSgkYXBwLT5tb2RpZmllZCkNCiAgICAgICAgKTsNCiAgICAgICAgJGRhdGFbJ2luY2x1ZGVmaWxlaGFzaCddID0gZmlsZV9nZXRfY29udGVudHMoJHpicC0+cGF0aCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2luY2x1ZGUucGhwJyk7DQogICAgICAgICRkYXRhWydpbmNsdWRlZmlsZWhhc2gnXSA9IG1kNShzdHJfcmVwbGFjZShhcnJheSgnXHInLCAnXG4nKSwgJycsICRkYXRhWydpbmNsdWRlZmlsZWhhc2gnXSkpOw0KDQogICAgICAgICRzdHJpbmdpZmllckRhdGEgPSBqc29uX2VuY29kZSgkZGF0YSk7DQoNCiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnb3BlbnNzbF9lbmNyeXB0JykpIHsNCiAgICAgICAgICAgICRlbmNyeXB0ZWRUZXh0ID0gJ08nIC4gYmFzZTY0X2VuY29kZShvcGVuc3NsX2VuY3J5cHQoJHN0cmluZ2lmaWVyRGF0YSwgJ2Flcy0yNTYtY2JjJywgJGFlc0tleSwgMSwgJGFlc0l2KSk7DQogICAgICAgIH0gZWxzZSB7IC8vIEZ1Y2sgUEhQIDUuMg0KICAgICAgICAgICAgJGVuY3J5cHRlZFRleHQgPSAnTScgLiBiYXNlNjRfZW5jb2RlKG1jcnlwdF9lbmNyeXB0KE1DUllQVF9SSUpOREFFTF8xMjgsICRhZXNLZXksICRzdHJpbmdpZmllckRhdGEsIE1DUllQVF9NT0RFX0NCQywgJGFlc0l2KSk7DQogICAgICAgIH0NCg0KICAgICAgICAkc2VuZERhdGEgPSAkZW5jcnlwdGVkQWVzS2V5IC4gJy4nIC4gJGVuY3J5cHRlZFRleHQ7DQoNCiAgICAgICAgJGFqYXgtPm9wZW4oJ1BPU1QnLCAkdXJsKTsNCiAgICAgICAgLy8kYWpheC0+ZW5hYmxlR3ppcCgpOw0KICAgICAgICAkYWpheC0+c2V0VGltZU91dHMoMTIwLCAxMjAsIDAsIDApOw0KICAgICAgICAkYWpheC0+c2V0UmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3pibG9ncGhwLXZlcmlmeScpOw0KICAgICAgICAkYWpheC0+c2V0UmVxdWVzdEhlYWRlcignVXNlci1BZ2VudCcsICR1c2VyQWdlbnQpOw0KICAgICAgICAkYWpheC0+c2V0UmVxdWVzdEhlYWRlcignV2Vic2l0ZScsICR6YnAtPmhvc3QpOw0KICAgICAgICAkYWpheC0+c2VuZCgkc2VuZERhdGEpOw0KDQogICAgICAgICRyZXR1cm5EYXRhID0gc3RyX3JlcGxhY2UoJyInLCAnJywgJGFqYXgtPnJlc3BvbnNlVGV4dCk7DQogICAgICAgIGlmIChzdWJzdHIoJHJldHVybkRhdGEsIDAsIDMpID09PSAnQUVTJykgew0KICAgICAgICAgICAgJGNvbnRlbnRzID0gZXhwbG9kZSgnfCcsICRyZXR1cm5EYXRhKTsNCiAgICAgICAgICAgICRoYXNoID0gJGNvbnRlbnRzWzFdOw0KICAgICAgICAgICAgaWYgKGhhc2hfaG1hYygnc2hhMjU2JywgJGNvbnRlbnRzWzJdLCAnemJsb2d2ZXJpZmljYXRpb24nKSAhPT0gJGhhc2gpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJ1Jlc3VsdCBIYXNoIEVycm9yISc7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkZW5jcnlwdGVkRGF0YSA9IGJhc2U2NF9kZWNvZGUoJGNvbnRlbnRzWzJdKTsNCiAgICAgICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ29wZW5zc2xfZGVjcnlwdCcpKSB7DQogICAgICAgICAgICAgICAgJGRlY3J5cHRlZFRleHQgPSBvcGVuc3NsX2RlY3J5cHQoJGVuY3J5cHRlZERhdGEsICdhZXMtMjU2LWNiYycsICRhZXNLZXksIDEsICRhZXNJdik7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRkZWNyeXB0ZWRUZXh0ID0gbWNyeXB0X2RlY3J5cHQoTUNSWVBUX1JJSk5EQUVMXzEyOCwgJGFlc0tleSwgJGVuY3J5cHRlZERhdGEsIE1DUllQVF9NT0RFX0NCQywgJGFlc0l2KTsNCiAgICAgICAgICAgICAgICAkdGV4dExlbmd0aCA9IHN0cmxlbigkZGVjcnlwdGVkVGV4dCk7DQogICAgICAgICAgICAgICAgJHBhZGRpbmcgPSBvcmQoJGRlY3J5cHRlZFRleHRbKCR0ZXh0TGVuZ3RoIC0gMSldKTsNCiAgICAgICAgICAgICAgICAkZGVjcnlwdGVkVGV4dCA9IHN1YnN0cigkZGVjcnlwdGVkVGV4dCwgMCwgLSRwYWRkaW5nKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRkZWNyeXB0ZWRUZXh0ID0gJHJldHVybkRhdGE7DQogICAgICAgIH0NCg0KICAgICAgICAkcmV0dXJuID0gdHJpbSgkZGVjcnlwdGVkVGV4dCk7DQogICAgICAgICRhcHBjZW50cmVfdmVyaWZpZWRbJHZlcmlmeUhhc2hdID0gJHJldHVybjsNCiAgICAgICAgcmV0dXJuICRyZXR1cm47DQogICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7DQogICAgICAgIHJldHVybiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsndW5hYmxlX3RvX3ZlcmlmeSddOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX1VwZGF0ZUNTUCgmJGNzcCkNCnsNCiAgICAkdXJscyA9ICIgKi56YmxvZ2NuLmNvbSI7DQogICAgJGl0ZW1zID0gYXJyYXkoJ2RlZmF1bHQtc3JjJywgJ2ltZy1zcmMnLCAnc2NyaXB0LXNyYycsICdzdHlsZS1zcmMnKTsNCiAgICBmb3JlYWNoICgkaXRlbXMgYXMgJGl0ZW0pIHsNCiAgICAgICAgaWYgKGlzc2V0KCRjc3BbJGl0ZW1dKSkgew0KICAgICAgICAgICAgJGNzcFskaXRlbV0gLj0gJHVybHM7DQogICAgICAgIH0NCiAgICB9DQogICAgaWYgKGlzc2V0KCRjc3BbJ29iamVjdC1zcmMnXSkpIHsNCiAgICAgICAgJGNzcFsnb2JqZWN0LXNyYyddIC49ICIgJ25vbmUnIjsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkY3NwWydvYmplY3Qtc3JjJ10gPSAiJ25vbmUnIjsNCiAgICB9DQp9DQoNCmZ1bmN0aW9uIEFwcENlbnRyZV9JblNlY3VyaXR5TW9kZSgpDQp7DQogICAgZ2xvYmFsICR6YnA7DQogICAgcmV0dXJuIGZpbGVfZXhpc3RzKCR6YnAtPnBhdGggLiAnemJfdXNlcnMvZGF0YS9hcHBjZW50cmVfc2VjdXJpdHlfbW9kZS5waHAnKTsNCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0NoZWNrSW5TZWN1cml0eU1vZGUoKQ0Kew0KICAgIGdsb2JhbCAkemJwOw0KICAgIGlmIChBcHBDZW50cmVfSW5TZWN1cml0eU1vZGUoKSkgew0KICAgICAgICAkemJwLT5TaG93RXJyb3IoJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wZXJhdGlvbl9pc19wcm9oaWJpdGVkJ10pOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0Rpc2FibGVQbHVnaW4oJiRuYW1lKQ0Kew0KICAgIGdsb2JhbCAkemJwOw0KDQogICAgaWYgKCRuYW1lID09ICdBcHBDZW50cmUnKSB7DQogICAgICAgICRwID0gJHpicC0+TG9hZFBsdWdpbnMoKTsNCiAgICAgICAgZm9yZWFjaCAoJHAgYXMgJGtleSA9PiAkdmFsdWUpIHsNCiAgICAgICAgICAgIGlmICgkemJwLT5DaGVja1BsdWdpbigkdmFsdWUtPmlkKSAmJiAoZG91YmxlKSAkdmFsdWUtPnByaWNlID4gMCkgew0KICAgICAgICAgICAgICAgIFNldFBsdWdpblNpZ25hbCgnRmlsdGVyX1BsdWdpbl9EaXNhYmxlUGx1Z2luJywgX19GVU5DVElPTl9fLCBQTFVHSU5fRVhJVFNJR05BTF9SRVRVUk4pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCn0NCg0KZnVuY3Rpb24gQXBwQ2VudHJlX0NyZWF0ZUJ1dHRvbigkbmFtZSl7DQogICAgaWYgKCRHTE9CQUxTWydibG9ndmVyc2lvbiddID49IDE3MjM2MCkgew0KDQogICAgICAgIHN3aXRjaCAoJG5hbWUpIHsNCiAgICAgICAgICAgIGNhc2UgJ2VkaXQnOg0KICAgICAgICAgICAgICAgIHJldHVybiAnPGkgY2xhc3M9XCdpY29uLXBlbmNpbC1zcXVhcmVcJz48L2k+JzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpIGNsYXNzPVwnaWNvbi1kb3dubG9hZFwnPjwvaT4nOw0KICAgICAgICAgICAgY2FzZSAnY2xvdWR1cCc6DQogICAgICAgICAgICAgICAgcmV0dXJuICc8aSBjbGFzcz1cJ2ljb24tY2xvdWQtYXJyb3ctdXAtZmlsbFwnPjwvaT4nOw0KICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpIGNsYXNzPVwnaWNvbi10cmFzaFwnPjwvaT4nOw0KICAgICAgICAgICAgY2FzZSAnbW9kdWxlJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpIGNsYXNzPVwnaWNvbi1ncmlkLWZpbGxcJz48L2k+JzsNCiAgICAgICAgICAgIGNhc2UgJ3NldCc6DQogICAgICAgICAgICAgICAgcmV0dXJuICc8aSBjbGFzcz1cJ2ljb24tdG9vbHNcJz48L2k+JzsNCiAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgIyBjb2RlLi4uDQogICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIH0NCg0KDQogICAgfSBlbHNlIHsNCg0KICAgICAgICBzd2l0Y2ggKCRuYW1lKSB7DQogICAgICAgICAgICBjYXNlICdlZGl0JzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpbWcgaGVpZ2h0PVwnMTZcJyB3aWR0aD1cJzE2XCcgc3JjPVwnIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9pbWFnZXMvYXBwbGljYXRpb25fZWRpdC5wbmdcJy8+JzsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpbWcgaGVpZ2h0PVwnMTZcJyB3aWR0aD1cJzE2XCcgc3JjPVwnIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9pbWFnZXMvZG93bmxvYWQucG5nXCcvPic7DQogICAgICAgICAgICBjYXNlICdjbG91ZHVwJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpbWcgaGVpZ2h0PVwnMTZcJyB3aWR0aD1cJzE2XCcgc3JjPVwnIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9pbWFnZXMvZHJpdmUtdXBsb2FkLnBuZ1wnLz4nOw0KICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpbWcgaGVpZ2h0PVwnMTZcJyB3aWR0aD1cJzE2XCcgc3JjPVwnIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9pbWFnZXMvZGVsZXRlLnBuZ1wnLz4nOw0KICAgICAgICAgICAgY2FzZSAnbW9kdWxlJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpbWcgaGVpZ2h0PVwnMTZcJyB3aWR0aD1cJzE2XCcgc3JjPVwnIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9pbWFnZXMvYnJpY2tzLnBuZ1wnLz4nOw0KICAgICAgICAgICAgY2FzZSAnc2V0JzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxpbWcgaGVpZ2h0PVwnMTZcJyB3aWR0aD1cJzE2XCcgc3JjPVwnIitibG9naG9zdCsiemJfc3lzdGVtL2ltYWdlL2FkbWluL3NldHRpbmdfdG9vbHMucG5nXCcvPic7DQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICMgY29kZS4uLg0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQoNCiAgICB9DQp9DQo=
AppCentre/language/en.phpPD9waHANCnJldHVybiBhcnJheSgNCiAgICAnbmFtZScgPT4gJ0FwcCBTdG9yZScsDQogICAgJ2FwcF9uYW1lJyA9PiAnQXBwIFN0b3JlKENsaWVudCknLA0KICAgICdzeXN0ZW1fdXBkYXRlJyA9PiAnU3lzdGVtIHVwZGF0ZSBhbmQgdmVyaWZpY2F0aW9uJywNCiAgICAnZGF0YWJhc2VfdXBkYXRlJyA9PiAnVXBncmFkZSBkYXRhYmFzZSBzdHJ1Y3R1cmUnLA0KICAgICdjdXJyZW50X3ZlcnNpb24nID0+ICdDdXJyZW50IHZlcnNpb24nLA0KICAgICdsYXRlc3RfdmVyc2lvbicgPT4gJ0xhdGVzdCB2ZXJzaW9uJywNCiAgICAndXBncmFkZV9wcm9ncmFtJyA9PiAnVXBncmFkZSBwcm9ncmFtJywNCiAgICAndmVyaWZ5X2NvcmVfZmlsZScgPT4gJ1ZlcmlmeSBjb3JlIGZpbGUgb2YgdGhlIGN1cnJlbnQgdmVyc2lvbicsDQogICAgJ3N0YXJ0X2NoZWNrJyA9PiAnU3RhcnQgY2hlY2snLA0KICAgICdjaGVjaycgPT4gJ0NoZWNrJywNCiAgICAnZmlsZW5hbWUnID0+ICdGaWxlbmFtZScsDQogICAgJ3N0YXRlcycgPT4gJ1N0YXRlcycsDQogICAgJ2ZpbGVzX2FyZV9kaWZmZXJlbnRfb3JfbW9kaWZpZWQnID0+ICcgZmlsZXMgYXJlIGRpZmZlcmVudCBvciBtb2RpZmllZCcsDQogICAgJ2F1dG9tYXRpY2FsbHlfdXBkYXRlX2ZpbGVzJyA9PiAnQXV0b21hdGljYWxseSB1cGRhdGUgZmlsZXMnLA0KICAgICdmaWxlc193cml0ZV9mYWlsZWQnID0+ICcgZmlsZXMgd3JpdGUgZmFpbGVkJywNCiAgICAndXBsb2FkX3N1Y2Nlc3NmdWxseScgPT4gJ1VwbG9hZCBhbmQgZGVjb21wcmVzcyBzdWNjZXNzZnVsbHkhJywNCiAgICAnZG93bmxvYWRfc3VjY2Vzc2Z1bGx5JyA9PiAnRG93bmxvYWQgYW5kIGRlY29tcHJlc3Mgc3VjY2Vzc2Z1bGx5IScsDQogICAgJ2xvZ2luX3N0b3JlJyA9PiAnTG9naW4gc3RvcmUnLA0KICAgICdteV9zdG9yZScgPT4gJ015IHN0b3JlJywNCiAgICAnbG9naW5fc3VjY2VzcycgPT4gJ1lvdSBoYXZlIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4gdG8gdGhlIGFwcCBhcHBsaWNhdGlvbiBjZW50ZXIuJywNCiAgICAndG9rZW5fbm90X2V4aXN0JyA9PiAnVGhlIHRva2VuIHlvdSBlbnRlcmVkIGRvZXMgbm90IGV4aXN0IG9yIGhhcyBiZWVuIGJvdW5kLCBwbGVhc2UgYXBwbHkgZm9yIGEgbmV3IHRva2VuLicsDQogICAgJ2xvZ291dCcgPT4gJ1lvdSBoYXZlIGV4aXRlZCB0aGUgQVBQIEFwcGxpY2F0aW9uIENlbnRlci4nLA0KICAgICdhY2NvdW50X2xvZ2luJyA9PiAnQWNjb3VudCBsb2dpbicsDQogICAgJ3Rva2VuJyA9PiAnVG9rZW4nLA0KICAgICdnZXRfdG9rZW4nID0+ICdDbGljayB0byBnZXQgdGhlIGFjY291bnQgbG9naW4gdG9rZW4uJywNCiAgICAnZ2V0X3Rva2VuMicgPT4gJyhCYWNrdXAgRG9tYWluKScsDQogICAgJ2NsaWNrX3RvX3VwZ3JhZGVfZGF0YWJhc2UnID0+ICdQbGVhc2UgY2xpY2sgdGhlIGxpbmsgdG8gdXBncmFkZSB0aGUgZGF0YWJhc2Ugc3RydWN0dXJlJywNCiAgICAndW5hYmxlX3RvX3ZlcmlmeScgPT4gJ1VuYWJsZSB0byB2ZXJpZnkgdGhlIGFwcGxpY2F0aW9uLCBwbGVhc2UgY29udGFjdCB1cy4nLA0KICAgICdvcGVyYXRpb25faXNfcHJvaGliaXRlZCcgPT4gJ1RoaXMgb3BlcmF0aW9uIGlzIHByb2hpYml0ZWQgaW4gc2FmZSBtb2RlJywNCiAgICAnY2xpZW50JyA9PiAnQ2xpZW50JywNCiAgICAndHVybmVkX29uX3NhZmVfbW9kZScgPT4gJ1lvdSBoYXZlIHR1cm5lZCBvbiBzYWZlIG1vZGUgYW5kIGNhbiBvbmx5IHVwZGF0ZSBleGlzdGluZyBhcHBzLCBub3QgZG93bmxvYWQgbmV3IG9uZXMuJywNCiAgICAnZG9lc19ub3RfYWNjZXNzX25ldHdvcmtzJyA9PiAnVGhlIGhvc3QgZG9lcyBub3QgZW5hYmxlIGFjY2VzcyB0byBleHRlcm5hbCBuZXR3b3JrcycsDQogICAgJ3NhZmVfbW9kZScgPT4gJ1NhZmUgbW9kZScsDQogICAgJ3NldHRpbmdzJyA9PiAnU2V0dGluZ3MnLA0KICAgICduZXdfcGx1Z2luJyA9PiAnTmV3IHBsdWdpbicsDQogICAgJ25ld190aGVtZScgPT4gJ05ldyB0aGVtZScsDQogICAgJ2Jyb3dzZV9hcHAnID0+ICdCcm93c2Ugb25saW5lIGFwcCcsDQogICAgJ2NoZWNrX2FwcF91cGRhdGVzJyA9PiAnQ2hlY2sgYXBwIHVwZGF0ZXMnLA0KICAgICdhcHBfZG93bmxvYWRfZmFpbGVkJyA9PiAnQXBwIGRvd25sb2FkIGZhaWxlZCEnLA0KICAgICdhcHBfZGVjb21wcmVzc2lvbl9mYWlsZWQnID0+ICdBcHAgZGVjb21wcmVzc2lvbiBmYWlsZWQhJywNCiAgICAnbm9fbG9jYWxfd3JpdGVfcGVybWlzc2lvbicgPT4gJ05vIGxvY2FsIHdyaXRlIHBlcm1pc3Npb24hJywNCiAgICAnY2xpZW50X2FjY2Vzc190b19zdG9yZV9mYWlsdXJlJyA9PiAnVGhlIGNsaWVudCBhY2Nlc3MgdG8gdGhlIGFwcGxpY2F0aW9uIGNlbnRlciBpcyBmYXVsdHksIGFuZCB5b3UgY2Fubm90IGxvZyBpbiBhbmQgZG93bmxvYWQgdGhlIGFwcGxpY2F0aW9uLiBQbGVhc2UgY2hlY2s6ICgxKSB3aGV0aGVyIHRoZSBob3N0IHNwYWNlIGNhbiByZW1vdGVseSBhY2Nlc3MgJXMxLCAoMikgc3dpdGNoIHRoZSBiYWNrZ3JvdW5kIHJlbW90ZSBjb25uZWN0aW9uIG1ldGhvZCBpbiB0aGUgc2V0dGluZywgKDMpIHN3aXRjaCB0aGUgYXBwbGljYXRpb24gY2VudGVyIGFsdGVybmF0ZSBhY2Nlc3MgZG9tYWluIG5hbWUgJXMyIGluIHRoZSBzZXR0aW5nIGZvciBhY2Nlc3MuJywNCiAgICAndGlwc19hcHBfdXBkYXRlZCcgPT4gJ1RpcHM6IFRoZXJlIGFyZSAlbiBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRvIGJlIHVwZGF0ZWQsIHBsZWFzZSB1cGdyYWRlIG9uIHRoZSA8YSBocmVmPVwnLi4vLi4vemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9tYWluLnBocD9tZXRob2Q9Y2hlY2tcJz4iQ2hlY2sgZm9yIEFwcGxpY2F0aW9uIFVwZGF0ZXMiPC9hPiBwYWdlIG9mIHRoZSBBcHAgU3RvcmUgQ2xpZW50LicsDQogICAgJ3RpcHNfc3lzdGVtX3VwZGF0ZWQnID0+ICdUaXBzOiBUaGVyZSBpcyBhIG5ldyB2ZXJzaW9uIG9mIFotQmxvZ1BIUCwgcGxlYXNlIHVzZSB0aGUgIlN5c3RlbSBVcGRhdGUgYW5kIFZlcmlmaWNhdGlvbiIgb2YgdGhlIGFwcCBzdG9yZSBjbGllbnQgdG8gdXBncmFkZSAnLA0KICAgICdzdWJtaXRfYXBwJyA9PiAnU3VibWl0IGFwcCcsDQogICAgJ3Vuc3VibWl0dGVkJyA9PiAndW5zdWJtaXR0ZWQnLA0KICAgICd3YW50X3RvX3N1Ym1pdCcgPT4gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzdWJtaXQ/JywNCiAgICAnYXBwX3RvX2JlX3N1Ym1pdHRlZCcgPT4gJ0FwcCBpbmZvcm1hdGlvbiB0byBiZSBzdWJtaXR0ZWQgZm9yIHB1YmxpY2F0aW9uIG9yIHVwZGF0ZScsDQogICAgJ2FwcF9pZCcgPT4gJ0FwcCBJRCcsDQogICAgJ3RhcmdldF9hcHBsaWNhdGlvbicgPT4gJ0luZm9ybWF0aW9uIGFib3V0IHRoZSB0YXJnZXQgYXBwJywNCiAgICAnYXBwX2F1dGhvcicgPT4gJ0FwcCBBdXRob3InLA0KICAgICdjdXJyZW50X3VwZGF0ZScgPT4gJ0N1cnJlbnQgVXBkYXRlJywNCiAgICAnY3VycmVudF92ZXJzaW9uJyA9PiAnQ3VycmVudCBWZXJzaW9uJywNCiAgICAnbGF0ZXN0X3VwZGF0ZScgPT4gJ0xhdGVzdCBVcGRhdGUnLA0KICAgICdsYXRlc3RfdmVyc2lvbicgPT4gJ0xhdGVzdCBWZXJzaW9uJywNCiAgICAndHVybl9vbl9zYWZlX21vZGUnID0+ICdUdXJuIG9uIHNhZmUgbW9kZScsDQogICAgJ3R1cm5fb25fc2FmZV9tb2RlX25vdGUnID0+ICc8cD4gSWYgeW91IG5vIGxvbmdlciBpbnN0YWxsIG5ldyBhcHBzLCB5b3UgY2FuIGNsaWNrIGhlcmUgdG8gdHVybiBvbiBzYWZlIG1vZGUuIDwvIHA+DQogICAgPHA+IEFmdGVyIHNhZmUgbW9kZSBpcyB0dXJuZWQgb24sIHlvdSB3aWxsIG5vdCBiZSBhbGxvd2VkIHRvIGRvd25sb2FkIG5ldyBhcHBzIHRvIGRlZmVuZCBhZ2FpbnN0IGhhY2tlciB0aHJlYXRzLiA8LyBwPg0KICAgIDxwPiBQbGVhc2Ugbm90ZSB0aGF0IHRoZXJlIGFyZSBwbHVnLWlucyBmb3IgZmlsZSBtYW5hZ2VtZW50LCBkYXRhYmFzZSBtYW5hZ2VtZW50LCB0aGVtZSBlZGl0aW5nLCB3ZWJzaXRlIGJhY2t1cCwgZXRjLiB0aGF0IHN0aWxsIHBvc2UgYSB0aHJlYXQgdG8geW91ciB3ZWJzaXRlLiBCZWZvcmUgZW5hYmxpbmcgU2FmZSBNb2RlLCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgcmVtb3ZlIHRoZXNlIHBsdWdpbnMuIDwvIHA+JywNCiAgICAndHVybl9vZmZfc2FmZV9tb2RlX25vdGUnID0+ICc8cD4gWW91IGhhdmUgdHVybmVkIG9uIHNhZmUgbW9kZS4gVG8gdHVybiBpdCBvZmYsIHBsZWFzZSBtYW51YWxseSBkZWxldGUgdGhlIGZvbGxvd2luZyBmaWxlczogPC8gcD4NCiAgICA8cD4gV2Vic2l0ZSBkaXJlY3RvcnkgLyB6Yl91c2VycyAvIGRhdGEgLyBhcHBjZW50cmVfc2VjdXJpdHlfbW9kZS5waHAgPC8gcD4NCiAgICA8cD4gUGxlYXNlIG5vdGUgdGhhdCB0aGVyZSBhcmUgcGx1Zy1pbnMgZm9yIGZpbGUgbWFuYWdlbWVudCwgZGF0YWJhc2UgbWFuYWdlbWVudCwgdGhlbWUgZWRpdGluZywgd2Vic2l0ZSBiYWNrdXAsIGV0Yy4gdGhhdCBzdGlsbCBwb3NlIGEgdGhyZWF0IHRvIHlvdXIgd2Vic2l0ZS4gSWYgeW91IGRvIG7igJl0IG5lZWQgdG8gdXNlIHRoZXNlIHBsdWctaW5zIGZvciB0aGUgdGltZSBiZWluZywgYmUgc3VyZSB0byBkZWxldGUgdGhlbS4gPC8gcD4nLA0KICAgICdlbmFibGVfYXV0b21hdGljX3VwZGF0ZXMnID0+ICdFbmFibGUgYXV0b21hdGljIGNoZWNrIGZvciB1cGRhdGVzJywNCiAgICAnZW5hYmxlX2F1dG9tYXRpY191cGRhdGVzX25vdGUnID0+ICdBcHAgdXBkYXRlcyBhbmQgc3lzdGVtIHVwZGF0ZXMgYXJlIGNoZWNrZWQgd2hlbiBlbnRlcmluZyB0aGUgYmFja2dyb3VuZCcsDQogICAgJ2RvbWFpbl9vZl9hcHBjZW50cmUnID0+ICdEb21haW4gb2YgdGhlIEFwcCBTdG9yZScsDQogICAgJ2RvbWFpbl9vZl9hcHBjZW50cmVfbm90ZScgPT4gJ0lmIHlvdSBjYW5cJ3QgY29ubmVjdCwgcGxlYXNlIHRyeSB0byBzd2l0Y2ggdGhlIGRvbWFpbiBuYW1lJywNCiAgICAnY2hlY2tfdGhlX2JldGFfdmVyc2lvbicgPT4gJ0NoZWNrIHRoZSBCZXRhIHZlcnNpb24gb2YgdGhlIHByb2dyYW0nLA0KICAgICdjaGVja190aGVfYmV0YV92ZXJzaW9uX25vdGUnID0+ICdUaGUgc3lzdGVtIHdpbGwgY2hlY2sgdGhlIGxhdGVzdCBiZXRhIHZlcnNpb24gb2YgdGhlIFotQmxvZyB1cGRhdGUnLA0KICAgICdlbmFibGVfZGV2ZWxvcGVyX21vZGUnID0+ICdFbmFibGUgZGV2ZWxvcGVyIG1vZGUnLA0KICAgICdlbmFibGVfZGV2ZWxvcGVyX21vZGVfbm90ZScgPT4gJ0VuYWJsZSBkZXZlbG9wZXIgbW9kZSB0byBtb2RpZnkgYXBwbGljYXRpb24gaW5mb3JtYXRpb24sIGV4cG9ydCBhcHBsaWNhdGlvbnMgYW5kIHN1Ym1pdCBhcHBsaWNhdGlvbnMgcmVtb3RlbHknLA0KICAgICdleHBvcnRfZ3ppcF9jb21wcmVzc2VkJyA9PiAnRXhwb3J0IEdaaXAgY29tcHJlc3NlZCBhcHBsaWNhdGlvbiBwYWNrYWdlJywNCiAgICAnY29ubmVjdF90eXBlX2JhY2tncm91bmQnID0+ICdDb25uZWN0IHR5cGUgb2YgdGhlIEFwcCBTdG9yZSBpbiB0aGUgYmFja2dyb3VuZCcsDQogICAgJ2Nvbm5lY3RfdHlwZV9iYWNrZ3JvdW5kX25vdGUnID0+ICdJZiB5b3UgY2FuXCd0IGNvbm5lY3QsIHBsZWFzZSBzd2l0Y2ggdG8gdHJ5IG90aGVyIG1ldGhvZHMnLA0KICAgICd1cGxvYWRfcGx1Z2luX3piYScgPT4gJ1VwbG9hZCBhbmQgaW5zdGFsbCBwbHVnaW4gZmlsZScsDQogICAgJ3VwbG9hZF90aGVtZV96YmEnID0+ICdVcGxvYWQgYW5kIGluc3RhbGwgdGhlbWUgZmlsZScsDQogICAgJ2RldmVsb3Blcl9tb2RlJyA9PiAnRGV2ZWxvcGVyIG1vZGUnLA0KICAgICdlZGl0X2FwcCcgPT4gJ0VkaXQgQXBwJywNCiAgICAnZXhwb3J0X2FwcCcgPT4gJ0V4cG9ydCBBcHAnLA0KICAgICd1cGxvYWRfYXBwX3RvX2FwcGNlbnRyZScgPT4gJ1VwbG9hZCBhcHAgdG8gdGhlIGFwcCBzdG9yZScsDQogICAgJ2RlbF9hcHAnID0+ICdEZWwgQXBwJywNCiAgICAnYWRkX21vZHVsZV9mb3JfdGhlbWUnID0+ICdBZGQgbW9kdWxlIGZvciB0aGVtZScsDQogICAgJ2FwcF9pZF9ub3RlJyA9PiAnQXBwIElEIGlzIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiB0aGUgQXBwLCBhbmQgaXQgY2Fubm90IGJlIHJlcGVhdGVkLiBUaGUgSUQgbmFtZSBjYW4gb25seSBiZSBhIGNvbWJpbmF0aW9uIG9mIGFscGhhbnVtZXJpYyBhbmQgdW5kZXJzY29yZS4nLA0KICAgICdhcHBfbmFtZScgPT4gJ0FwcCBOYW1lJywNCiAgICAncHVibGlzaF91cmwnID0+ICdQdWJsaXNoIHVybCcsDQogICAgJ2FwcF9pbnRybycgPT4gJ0FwcCBJbnRybycsDQogICAgJ2FkYXB0ZWRfemJsb2dfdmVyc2lvbicgPT4gJ0FkYXB0ZWQgWi1CbG9nIHZlcnNpb24nLA0KICAgICdhcHBfdmVyc2lvbicgPT4gJ0FwcCBWZXJzaW9uJywNCiAgICAnZmlyc3RfcmVsZWFzZV9kYXRlJyA9PiAnRmlyc3QgcmVsZWFzZSBkYXRlJywNCiAgICAnZGF0ZV9mb3JtYXQnID0+ICdkYXRlIGZvcm1hdDoyMDEyLTEyLTEyJywNCiAgICAnbGFzdF9tb2RpZmllZCcgPT4gJ0xhc3QgTW9kaWZpZWQnLA0KICAgICdhdXRob3JfbmFtZScgPT4gJ0F1dGhvciBuYW1lJywNCiAgICAnYXV0aG9yX2VtYWlsJyA9PiAnQXV0aG9yIGVtYWlsJywNCiAgICAnYXV0aG9yX3dlYnNpdGUnID0+ICdBdXRob3Igd2Vic2l0ZScsDQogICAgJ3NvdXJjZV9hdXRob3JfbmFtZScgPT4gJ1NvdXJjZSBhdXRob3IgbmFtZScsDQogICAgJ3NvdXJjZV9hdXRob3JfZW1haWwnID0+ICdTb3VyY2UgYXV0aG9yIGVtYWlsJywNCiAgICAnc291cmNlX2F1dGhvcl93ZWJzaXRlJyA9PiAnU291cmNlIGF1dGhvciB3ZWJzaXRlJywNCiAgICAnb3B0aW9uYWwnID0+ICdPcHRpb25hbCcsDQogICAgJ2FwcF9tYW5hZ2VtZW50X3BhZ2UnID0+ICdCdWlsdC1pbiBhcHAgbWFuYWdlbWVudCBwYWdlJywNCiAgICAnYXBwX21hbmFnZW1lbnRfcGFnZV9ub3RlJyA9PiAnSGFiaXR1YWxseSBuYW1lZCBtYWluLnBocCcsDQogICAgJ2FwcF9lbWJlZGRpbmdfcGFnZScgPT4gJ0J1aWx0LWluIGFwcCBlbWJlZGRpbmcgcGFnZScsDQogICAgJ2FwcF9lbWJlZGRpbmdfcGFnZV9ub3RlJyA9PiAnbXVzdCBiZSBuYW1lZCBpbmNsdWRlLnBocCcsDQogICAgJ3BsdWdpbl9sb2dvX3RpcHMnID0+ICdUaXA6IFRoZSBpY29uIG9mIHRoZSBwbHVnLWluIGlzIGEgMTI4IHggMTI4IHB4IHBuZyBmaWxlIG5hbWVkIGxvZ28ucG5nLkl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSA8YSBocmVmPSJodHRwOi8vd3d3LnN5bmNmdXNpb24uY29tL2Rvd25sb2Fkcy9tZXRyb3N0dWRpbyIgdGFyZ2V0PSJfYmxhbmsiPnRoZSBNZXRybyBTdHVkaW8gc29mdHdhcmU8L2E+IHRvIGNyZWF0ZSB0aGUgbG9nby4gVGhlIHRodW1ibmFpbCBvZiB0aGUgcGx1Zy1pbiAob3B0aW9uYWwpIGlzIGEgMzIweDIwMHB4IHBuZyBmaWxlIG5hbWVkIHNjcmVlbnNob3QucG5nIFB1dCBpdCBpbiB0aGUgcGx1Z2luXCdzIGRpcmVjdG9yeS4nLA0KICAgICd0aGVtZV9sb2dvX3RpcHMnID0+ICdUaXA6IFRoZSB0aHVtYm5haWwgb2YgdGhlIHRoZW1lIGlzIGEgPGI+IDMyMHgyMDBweCA8LyBiPiBwbmcgZmlsZSBuYW1lZCBzY3JlZW5zaG90LnBuZywgd2hpY2ggaXMgcGxhY2VkIGluIHRoZSB0aGVtZVwncyBkaXJlY3RvcnkuJywNCiAgICAnZGV0YWlsZWRfZGVzY3JpcHRpb24nID0+ICdEZXRhaWxlZCBkZXNjcmlwdGlvbicsDQogICAgJ2V4cG9ydF9zaWRlYmFyJyA9PiAnRXhwb3J0IHNpZGViYXIgY29uZmlndXJhdGlvbicsDQogICAgJ2RlcGVuZGVudF9hcHBzJyA9PiAnW0FkdmFuY2VkXSBMaXN0IG9mIGRlcGVuZGVudCBhcHBzIChzZXBhcmF0ZWQgYnkgfCknLA0KICAgICdjb25mbGljdF9hcHBzJyA9PiAnW0FkdmFuY2VkXSBMaXN0IG9mIGNvbmZsaWN0IGFwcHMgKHNlcGFyYXRlZCBieSB8KScsDQogICAgJ3Jld3JpdGVfZnVuY3Rpb25zJyA9PiAnW0FkdmFuY2VkXSBMaXN0IG9mIHJld3JpdGUgZnVuY3Rpb25zIChzZXBhcmF0ZWQgYnkgfCknLA0KICAgICdleGlzdHNfZnVuY3Rpb25zJyA9PiAnW0FkdmFuY2VkXSBMaXN0IG9mIGRlcGVuZGVudCBmdW5jdGlvbnMgKHNlcGFyYXRlZCBieSB8KScsDQogICAgJ2FwcF9wcmljZScgPT4gJ0FwcCBQcmljZScsDQogICAgJ3BocF9yZXF1aXJlZF92ZXJzaW9uJyA9PiAnUEhQIHJlcXVpcmVkIHZlcnNpb24nLA0KICAgICdhcHBfbWFuYWdlbWVudF9wZXJtaXNzaW9ucycgPT4gJ0FwcCBtYW5hZ2VtZW50IHBlcm1pc3Npb25zJywNCiAgICAnc3VibWl0dGVkIHN1Y2Nlc3NmdWxseScgPT4gJ1N1Ym1pdHRlZCBzdWNjZXNzZnVsbHksIHVwbG9hZCBpdCB0byB0aGUgYXBwbGljYXRpb24gY2VudGVyIG5vdyEnLA0KICAgICdhcHBfd2l0aF9zYW1lX25hbWUnID0+ICdBbiBBUFAgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzJywNCiAgICAnYXBwX2lkX25hbWVfcnVsZScgPT4gJ1RoZSBBcHAgSUQgbmFtZSBtdXN0IGNvbnNpc3Qgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHVuZGVyc2NvcmVzLCBhbmQgdGhlIGxlbmd0aCBpcyAzLTMwIGNoYXJhY3RlcnMuJywNCiAgICAnZW5hYmxlX211bHRpX2Rvd25sb2FkJyA9PiAnU3RhcnQgQ1VybCBsYXJnZSBmaWxlIHNwbGl0IGRvd25sb2FkJywNCiAgICAnaWdub3JlX3VwZGF0ZWRfYXBwcycgPT4gJ0lnbm9yZSB1cGRhdGVkIGFwcHMnLA0KICAgICdjb25maWdfdGhlbWUnPT4nQ29uZml0IHRoZW1lJywNCiAgICAncHJpb3JpdHlfc29ydCc9PidQcmlvcml0eScsDQogICAgJ21vdmVfdG9wJz0+J01vdmUgdG9wJywNCiAgICAnbW92ZV91cCc9PidNb3ZlIHVwJywNCiAgICAnbW92ZV9kb3duJz0+J01vdmUgZG93bicsDQogICAgJ21vdmVfYm90dG9tJz0+J01vdmUgYm90dG9tJywNCiAgICAnZW5hYmxlX3BsdWdpbl9zb3J0Jz0+J0VuYWJsZSBwbHVnaW4gc29ydCcsDQopOw0K
AppCentre/language/zh-cn.phpPD9waHANCnJldHVybiBhcnJheSgNCiAgICAnbmFtZScgPT4gJ+W6lOeUqOS4reW/gycsDQogICAgJ2FwcF9uYW1lJyA9PiAn5bqU55So5Lit5b+DKOWuouaIt+erryknLA0KICAgICdzeXN0ZW1fdXBkYXRlJyA9PiAn57O757uf5pu05paw5LiO5qCh6aqMJywNCiAgICAnZGF0YWJhc2VfdXBkYXRlJyA9PiAn5Y2H57qn5pWw5o2u5bqT57uT5p6EJywNCiAgICAnY3VycmVudF92ZXJzaW9uJyA9PiAn5b2T5YmN54mI5pysJywNCiAgICAnbGF0ZXN0X3ZlcnNpb24nID0+ICfmnIDmlrDniYjmnKwnLA0KICAgICd1cGdyYWRlX3Byb2dyYW0nID0+ICfljYfnuqfmlrDniYjnqIvluo8nLA0KICAgICd2ZXJpZnlfY29yZV9maWxlJyA9PiAn5qCh6aqM5b2T5YmN54mI5pys55qE57O757uf5qC45b+D5paH5Lu2JywNCiAgICAnc3RhcnRfY2hlY2snID0+ICflvIDlp4vmoKHpqownLA0KICAgICdjaGVjaycgPT4gJ+agoemqjCcsDQogICAgJ2ZpbGVuYW1lJyA9PiAn5paH5Lu25ZCNJywNCiAgICAnc3RhdGVzJyA9PiAn54q25oCBJywNCiAgICAnZmlsZXNfYXJlX2RpZmZlcmVudF9vcl9tb2RpZmllZCcgPT4gJ+S4quaWh+S7tuS4jeWQjOaIluiiq+S/ruaUuei/hycsDQogICAgJ2F1dG9tYXRpY2FsbHlfdXBkYXRlX2ZpbGVzJyA9PiAn6Ieq5Yqo5pu05paw5paH5Lu2JywNCiAgICAnZmlsZXNfd3JpdGVfZmFpbGVkJyA9PiAn5paH5Lu25YaZ5YWl5aSx6LSlLOivt+ajgOafpeS4u+acuuadg+mZkOmFjee9riEnLA0KICAgICd1cGxvYWRfc3VjY2Vzc2Z1bGx5JyA9PiAn5LiK5LygQVBQ5bm26Kej5Y6L5oiQ5YqfIScsDQogICAgJ2Rvd25sb2FkX3N1Y2Nlc3NmdWxseScgPT4gJ+S4i+i9vUFQUOW5tuino+WOi+aIkOWKnyEnLA0KICAgICdsb2dpbl9zdG9yZScgPT4gJ+eZu+W9leW6lOeUqOWVhuWfjicsDQogICAgJ215X3N0b3JlJyA9PiAn5oiR55qE5bqU55So5LuT5bqTJywNCiAgICAnbG9naW5fc3VjY2VzcycgPT4gJ+aCqOW3suaIkOWKn+eZu+W9lUFQUOW6lOeUqOS4reW/gy4nLA0KICAgICd0b2tlbl9ub3RfZXhpc3QnID0+ICfmgqjovpPlhaXnmoTku6TniYzkuI3lrZjlnKjmiJblt7Looqvnu5HlrprvvIzor7fnlLPor7fkuIDkuKrmlrDnmoTku6TniYzjgIInLA0KICAgICdsb2dvdXQnID0+ICfmgqjlt7LpgIDlh7pBUFDlupTnlKjkuK3lv4MuJywNCiAgICAnYWNjb3VudF9sb2dpbicgPT4gJ+i0puaIt+eZu+W9lScsDQogICAgJ3Rva2VuJyA9PiAn5Luk54mMJywNCiAgICAnZ2V0X3Rva2VuJyA9PiAn54K55Ye76I635Y+W6LSm5oi355m75b2V5Luk54mMLicsDQogICAgJ2dldF90b2tlbjInID0+ICco5aSH55So5Z+f5ZCNKScsDQogICAgJ2NsaWNrX3RvX3VwZ3JhZGVfZGF0YWJhc2UnID0+ICfor7fngrnlh7vor6Xpk77mjqXljYfnuqfmlbDmja7lupPnu5PmnoQnLA0KICAgICd1bmFibGVfdG9fdmVyaWZ5JyA9PiAn5peg5rOV6aqM6K+B5bqU55So77yM6K+36IGU57O75oiR5Lus44CCJywNCiAgICAnb3BlcmF0aW9uX2lzX3Byb2hpYml0ZWQnID0+ICflronlhajmqKHlvI/kuIvnpoHmraLmiafooYzmraTmk43kvZwnLA0KICAgICdjbGllbnQnID0+ICflrqLmiLfnq68nLA0KICAgICd0dXJuZWRfb25fc2FmZV9tb2RlJyA9PiAn5oKo5bey5byA5ZCv5a6J5YWo5qih5byP77yM5Y+q6IO95pu05paw546w5pyJ5bqU55So77yM5peg5rOV5LiL6L295paw5bqU55So44CCJywNCiAgICAnZG9lc19ub3RfYWNjZXNzX25ldHdvcmtzJyA9PiAn5Li75py65rKh5pyJ5byA5ZCv6K6/6Zeu5aSW6YOo572R57uc5Yqf6IO9JywNCiAgICAnc2FmZV9tb2RlJyA9PiAn5a6J5YWo5qih5byPJywNCiAgICAnc2V0dGluZ3MnID0+ICforr7nva4nLA0KICAgICduZXdfcGx1Z2luJyA9PiAn5paw5bu65o+S5Lu2JywNCiAgICAnbmV3X3RoZW1lJyA9PiAn5paw5bu65Li76aKYJywNCiAgICAnYnJvd3NlX2FwcCcgPT4gJ+a1j+iniOWcqOe6v+W6lOeUqCcsDQogICAgJ2NoZWNrX2FwcF91cGRhdGVzJyA9PiAn5qOA5p+l5bqU55So5pu05pawJywNCiAgICAnYXBwX2Rvd25sb2FkX2ZhaWxlZCcgPT4gJ0FwcOS4i+i9veWksei0pe+8gScsDQogICAgJ2FwcF9kZWNvbXByZXNzaW9uX2ZhaWxlZCcgPT4gJ0FwcOino+WOi+Wksei0pe+8gScsDQogICAgJ25vX2xvY2FsX3dyaXRlX3Blcm1pc3Npb24nID0+ICfmnKzlnLDlhpnlhaXmnYPpmZDkuI3otrMsQXBw6Kej5Y6L5Yiw5a6J6KOF55uu5b2V5aSx6LSlIScsDQogICAgJ2NsaWVudF9hY2Nlc3NfdG9fc3RvcmVfZmFpbHVyZScgPT4gJ+WuouaIt+err+iuv+mXruW6lOeUqOS4reW/g+aVhemanO+8jOS4jeiDveeZu+W9leWSjOS4i+i9veW6lOeUqOOAguivt+ajgOafpe+8migxKeS4u+acuuepuumXtOaYr+WQpuiDvei/nOeoi+iuv+mXriVzMe+8jCgyKeWcqOiuvue9ruS4reWIh+aNouWQjuWPsOi/nOeoi+i/nuaOpeeahOaWueW8j++8jCgzKeWcqOiuvue9ruS4reWIh+aNouW6lOeUqOS4reW/g+Wkh+eUqOiuv+mXruWfn+WQjSVzMui/m+ihjOiuv+mXruOAgicsDQogICAgJ3RpcHNfYXBwX3VwZGF0ZWQnID0+ICfmj5DnpLo65pyJJW7kuKrlupTnlKjpnIDopoHmm7TmlrDvvIzor7flnKjlupTnlKjkuK3lv4PnmoQ8YSBocmVmPVwnLi4vLi4vemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9tYWluLnBocD9tZXRob2Q9Y2hlY2tcJz7igJzmo4Dmn6XlupTnlKjmm7TmlrDigJ08L2E+6aG15Y2H57qn44CCJywNCiAgICAndGlwc19zeXN0ZW1fdXBkYXRlZCcgPT4gJ+aPkOekujpaLUJsb2dQSFDmnInmlrDniYjmnKws6K+355SoQVBQ5bqU55So5Lit5b+D5o+S5Lu255qEPGEgaHJlZj1cJy4uLy4uL3piX3VzZXJzL3BsdWdpbi9BcHBDZW50cmUvdXBkYXRlLnBocFwnPuKAnOezu+e7n+abtOaWsOS4juagoemqjOKAnTwvYT7ljYfnuqcnLA0KICAgICdzdWJtaXRfYXBwJyA9PiAn5o+Q5Lqk5bqU55SoJywNCiAgICAndW5zdWJtaXR0ZWQnID0+ICfmnKrmj5DkuqQnLA0KICAgICd3YW50X3RvX3N1Ym1pdCcgPT4gJ+aCqOehruWumuimgeaPkOS6pOWQl++8nycsDQogICAgJ2FwcF90b19iZV9zdWJtaXR0ZWQnID0+ICfmi5/mj5DkuqTlj5HluIPmiJbmm7TmlrDnmoTlupTnlKjkv6Hmga8nLA0KICAgICdhcHBfaWQnID0+ICflupTnlKhJRCcsDQogICAgJ3RhcmdldF9hcHBsaWNhdGlvbicgPT4gJ+KAnFotQmxvZ+W6lOeUqOS4reW/g+KAneebruagh+W6lOeUqOeahOebuOWFs+S/oeaBrycsDQogICAgJ2FwcF9hdXRob3InID0+ICflupTnlKjkvZzogIUnLA0KICAgICdjdXJyZW50X3VwZGF0ZScgPT4gJ+W9k+WJjeabtOaWsOaXpeacnycsDQogICAgJ2N1cnJlbnRfdmVyc2lvbicgPT4gJ+W9k+WJjeeJiOacrCcsDQogICAgJ2xhdGVzdF91cGRhdGUnID0+ICfmnIDlkI7mm7TmlrDml6XmnJ8nLA0KICAgICdsYXRlc3RfdmVyc2lvbicgPT4gJ+acgOaWsOeJiOacrCcsDQogICAgJ3R1cm5fb25fc2FmZV9tb2RlJyA9PiAn5byA5ZCv5a6J5YWo5qih5byPJywNCiAgICAndHVybl9vbl9zYWZlX21vZGVfbm90ZScgPT4gJzxwPuWmguaenOaCqOS4jeWGjeWuieijheaWsOW6lOeUqO+8jOaCqOWPr+S7peeCueWHu+i/memHjOW8gOWQr+WuieWFqOaooeW8j+OAgjwvcD4NCiAgICA8cD7lronlhajmqKHlvI/lvIDlkK/lkI7vvIzmgqjlsIbkuI3ooqvlhYHorrjkuIvovb3mlrDlupTnlKjvvIzku6XmirXlvqHpu5HlrqLlqIHog4HjgII8L3A+DQogICAgPHA+6K+35rOo5oSP77yM5a2Y5Zyo5paH5Lu2566h55CG44CB5pWw5o2u5bqT566h55CG44CB5Li76aKY57yW6L6R44CB572R56uZ5aSH5Lu9562J5Yqf6IO955qE5o+S5Lu277yM5LuN54S25Lya5a+55oKo55qE572R56uZ5Lqn55Sf5aiB6IOB44CC5Zyo5ZCv55So5a6J5YWo5qih5byP5YmN77yM5oiR5Lus5o6o6I2Q5oKo5YWI5Yig6Zmk6L+Z5Lqb5o+S5Lu244CCPC9wPicsDQogICAgJ3R1cm5fb2ZmX3NhZmVfbW9kZV9ub3RlJyA9PiAnPHA+5oKo5bey5byA5ZCv5a6J5YWo5qih5byP77yM6KaB5YWz6Zet77yM6K+35omL5Yqo5Yig6Zmk5Lul5LiL5paH5Lu277yaPC9wPg0KICAgIDxwPue9keermeebruW9lS96Yl91c2Vycy9kYXRhL2FwcGNlbnRyZV9zZWN1cml0eV9tb2RlLnBocCA8L3A+DQogICAgPHA+6K+35rOo5oSP77yM5a2Y5Zyo5paH5Lu2566h55CG44CB5pWw5o2u5bqT566h55CG44CB5Li76aKY57yW6L6R44CB572R56uZ5aSH5Lu9562J5Yqf6IO955qE5o+S5Lu277yM5LuN54S25Lya5a+55oKo55qE572R56uZ5Lqn55Sf5aiB6IOB44CC5aaC5p6c5oKo5pqC5pe25LiN6ZyA6KaB5L2/55So6L+Z5Lqb5o+S5Lu277yM6K+35Yqh5b+F5Yig6Zmk44CCPC9wPicsDQogICAgJ2VuYWJsZV9hdXRvbWF0aWNfdXBkYXRlcycgPT4gJ+WQr+eUqOiHquWKqOajgOafpeabtOaWsCcsDQogICAgJ2VuYWJsZV9hdXRvbWF0aWNfdXBkYXRlc19ub3RlJyA9PiAn5Zyo6L+b5YWl5ZCO5Y+w5pe25Lya5qOA5p+l5bqU55So5pu05paw5ZKM57O757uf5pu05pawJywNCiAgICAnZG9tYWluX29mX2FwcGNlbnRyZScgPT4gJ+WQjuWPsOiuv+mXruKAnOW6lOeUqOS4reW/g+KAneeahOWfn+WQjScsDQogICAgJ2RvbWFpbl9vZl9hcHBjZW50cmVfbm90ZScgPT4gJ+WmguaenOS4jeiDvei/nuaOpeivt+WIh+aNouWfn+WQjeWwneivlScsDQogICAgJ2NoZWNrX3RoZV9iZXRhX3ZlcnNpb24nID0+ICfmo4Dmn6VCZXRh54mI56iL5bqPJywNCiAgICAnY2hlY2tfdGhlX2JldGFfdmVyc2lvbl9ub3RlJyA9PiAn57O757uf5bCG5qOA5p+l5pyA5paw5rWL6K+V54mI55qEWi1CbG9n5pu05pawJywNCiAgICAnZW5hYmxlX2RldmVsb3Blcl9tb2RlJyA9PiAn5ZCv55So5byA5Y+R6ICF5qih5byPJywNCiAgICAnZW5hYmxlX2RldmVsb3Blcl9tb2RlX25vdGUnID0+ICflkK/nlKjlvIDlj5HogIXmqKHlvI/lj6/ku6Xkv67mlLnlupTnlKjkv6Hmga/jgIHlr7zlh7rlupTnlKjlkozov5znqIvmj5DkuqTlupTnlKgnLA0KICAgICdleHBvcnRfZ3ppcF9jb21wcmVzc2VkJyA9PiAn5a+85Ye657uP6L+HR1ppcOWOi+e8qeeahOW6lOeUqOWMhScsDQogICAgJ2Nvbm5lY3RfdHlwZV9iYWNrZ3JvdW5kJyA9PiAn5ZCO5Y+w6L+e5o6l4oCc5bqU55So5Lit5b+D4oCd55qE5pa55byPJywNCiAgICAnY29ubmVjdF90eXBlX2JhY2tncm91bmRfbm90ZScgPT4gJ+WmguaenOS4jeiDvei/nuaOpeivt+WIh+aNouWwneivleWFtuWug+aWueW8jycsDQogICAgJ3VwbG9hZF9wbHVnaW5femJhJyA9PiAn5pys5Zyw5LiK5Lyg5bm25a6J6KOF5o+S5Lu2emJh5paH5Lu2JywNCiAgICAndXBsb2FkX3RoZW1lX3piYScgPT4gJ+acrOWcsOS4iuS8oOW5tuWuieijheS4u+mimHpiYeaWh+S7ticsDQogICAgJ2RldmVsb3Blcl9tb2RlJyA9PiAn5byA5Y+R6ICF5qih5byPJywNCiAgICAnZWRpdF9hcHAnID0+ICfnvJbovpHlupTnlKjkv6Hmga8nLA0KICAgICdleHBvcnRfYXBwJyA9PiAn5a+85Ye65bqU55SoJywNCiAgICAndXBsb2FkX2FwcF90b19hcHBjZW50cmUnID0+ICfkuIrkvKDlupTnlKjliLDlrpjmlrnnvZHnq5nlupTnlKjkuK3lv4MnLA0KICAgICdkZWxfYXBwJyA9PiAn5Yig6Zmk5bqU55SoJywNCiAgICAnYWRkX21vZHVsZV9mb3JfdGhlbWUnID0+ICfnu5nor6XkuLvpopjlop7liqDkvqfmoI/mqKHlnZcnLA0KICAgICdhcHBfaWRfbm90ZScgPT4gJ+W6lOeUqElE5Li65bqU55So55qE55uu5b2V5ZCNLOS4lOS4jeiDvemHjeWkjS5JROWQjeWPquiDveeUqOWtl+avjeaVsOWtl+WSjOS4i+WIkue6v+eahOe7hOWQiC4nLA0KICAgICdhcHBfbmFtZScgPT4gJ+W6lOeUqOWQjeensCcsDQogICAgJ3B1Ymxpc2hfdXJsJyA9PiAn5Y+R5biD6aG16Z2iJywNCiAgICAnYXBwX2ludHJvJyA9PiAn5bqU55So566A5LuLJywNCiAgICAnYWRhcHRlZF96YmxvZ192ZXJzaW9uJyA9PiAn6YCC6YWN55qEWi1CbG9n5pyA5L2O54mI5pysJywNCiAgICAnYXBwX3ZlcnNpb24nID0+ICflupTnlKjniYjmnKzlj7cnLA0KICAgICdmaXJzdF9yZWxlYXNlX2RhdGUnID0+ICflupTnlKjpppblj5Hml6XmnJ8nLA0KICAgICdkYXRlX2Zvcm1hdCcgPT4gJ+aXpeacn+agvOW8j+S4ujIwMTItMTItMTInLA0KICAgICdsYXN0X21vZGlmaWVkJyA9PiAn5bqU55So5pyA5ZCO5L+u5pS55pe26Ze0JywNCiAgICAnYXV0aG9yX25hbWUnID0+ICfkvZzogIXlkI3np7AnLA0KICAgICdhdXRob3JfZW1haWwnID0+ICfkvZzogIXpgq7nrrEnLA0KICAgICdhdXRob3Jfd2Vic2l0ZScgPT4gJ+S9nOiAhee9keermScsDQogICAgJ3NvdXJjZV9hdXRob3JfbmFtZScgPT4gJ+a6kOS9nOiAheWQjeensCcsDQogICAgJ3NvdXJjZV9hdXRob3JfZW1haWwnID0+ICfmupDkvZzogIXpgq7nrrEnLA0KICAgICdzb3VyY2VfYXV0aG9yX3dlYnNpdGUnID0+ICfmupDkvZzogIXnvZHnq5knLA0KICAgICdvcHRpb25hbCcgPT4gJ+WPr+mAiScsDQogICAgJ2FwcF9tYW5hZ2VtZW50X3BhZ2UnID0+ICflupTnlKjlhoXnva7nrqHnkIbpobUnLA0KICAgICdhcHBfbWFuYWdlbWVudF9wYWdlX25vdGUnID0+ICfpgJrluLjlkb3lkI3kuLptYWluLnBocCcsDQogICAgJ2FwcF9lbWJlZGRpbmdfcGFnZScgPT4gJ+W6lOeUqOW1jOWFpemhtScsDQogICAgJ2FwcF9lbWJlZGRpbmdfcGFnZV9ub3RlJyA9PiAn5Y+q6IO95ZG95ZCN5Li6aW5jbHVkZS5waHAnLA0KICAgICdwbHVnaW5fbG9nb190aXBzJyA9PiAn5o+Q56S6OuaPkuS7tueahOWbvuagh+aYr+WQjeS4umxvZ28ucG5n55qEMTI4IHggMTI4IHB45aSn5bCP55qEcG5n5paH5Lu2LOaOqOiNkOS9v+eUqDxhIGhyZWY9Imh0dHA6Ly93d3cuc3luY2Z1c2lvbi5jb20vZG93bmxvYWRzL21ldHJvc3R1ZGlvIiB0YXJnZXQ9Il9ibGFuayI+TWV0cm8gU3R1ZGlv6L2v5Lu2PC9hPuWIm+W7umxvZ28s5o+S5Lu255qE57yp55Wl5Zu+KOWPr+mAiSnmmK/lkI3kuLpzY3JlZW5zaG90LnBuZ+eahDMyMHgyMDBweOWkp+Wwj+eahHBuZ+aWh+S7tizmlL7lnKjmj5Lku7bnmoTnm67lvZXkuIsuJywNCiAgICAndGhlbWVfbG9nb190aXBzJyA9PiAn5o+Q56S6OuS4u+mimOeahOe8qeeVpeWbvuaYr+WQjeS4unNjcmVlbnNob3QucG5n55qEPGI+MzIweDIwMHB4PC9iPuWkp+Wwj+eahHBuZ+aWh+S7tizmlL7lnKjkuLvpopjnmoTnm67lvZXkuIsuJywNCiAgICAnZGV0YWlsZWRfZGVzY3JpcHRpb24nID0+ICfor6bnu4bor7TmmI4gJywNCiAgICAnZXhwb3J0X3NpZGViYXInID0+ICflr7zlh7rkvqfmoI/phY3nva4nLA0KICAgICdkZXBlbmRlbnRfYXBwcycgPT4gJ+OAkOmrmOe6p+OAkeS+nei1luW6lOeUqOWIl+ihqO+8iOS7pXzliIbpmpTvvIknLA0KICAgICdjb25mbGljdF9hcHBzJyA9PiAn44CQ6auY57qn44CR5Yay56qB5bqU55So5YiX6KGo77yI5LulfOWIhumalO+8iScsDQogICAgJ3Jld3JpdGVfZnVuY3Rpb25zJyA9PiAn44CQ6auY57qn44CR5bqU55So6YeN5YaZ57O757uf5Ye95pWw5YiX6KGo77yI5LulfOWIhumalO+8iScsDQogICAgJ2V4aXN0c19mdW5jdGlvbnMnID0+ICfjgJDpq5jnuqfjgJHkuLvpopjkvp3otZblh73mlbDliJfooajvvIjku6V85YiG6ZqU77yJJywNCiAgICAnYXBwX3ByaWNlJyA9PiAn5bqU55So5a6a5Lu3JywNCiAgICAncGhwX3JlcXVpcmVkX3ZlcnNpb24nID0+ICdQSFDmnIDkvY7opoHmsYLniYjmnKwnLA0KICAgICdhcHBfbWFuYWdlbWVudF9wZXJtaXNzaW9ucycgPT4gJ+W6lOeUqOeuoeeQhuadg+mZkCcsDQogICAgJ3N1Ym1pdHRlZCBzdWNjZXNzZnVsbHknID0+ICfmj5DkuqTmiJDlip/vvIznjrDlnKjnq4vliLvkuIrkvKDliLDlupTnlKjkuK3lv4PvvIEnLA0KICAgICdhcHBfd2l0aF9zYW1lX25hbWUnID0+ICflt7LlrZjlnKjlkIzlkI3nmoRBUFDlupTnlKgnLA0KICAgICdhcHBfaWRfbmFtZV9ydWxlJyA9PiAn5bqU55SoSUTlkI3lv4XpobvmmK/lrZfmr43mlbDlrZflkozkuIvliJLnur/nu4TmiJAs6ZW/5bqmMy0zMOWtl+espi4nLA0KICAgICdlbmFibGVfbXVsdGlfZG93bmxvYWQnID0+ICflkK/liqhDVXJs5aSn5paH5Lu25YiG5Ymy5LiL6L29JywNCiAgICAnaWdub3JlX3VwZGF0ZWRfYXBwcycgPT4gJ+ajgOafpeabtOaWsOaXtuW/veeVpeeahOW6lOeUqCcsDQogICAgJ2NvbmZpZ190aGVtZSc9PifphY3nva7kuLvpopgnLA0KICAgICdwcmlvcml0eV9zb3J0Jz0+J+S8mOWFiOe6pycsDQogICAgJ21vdmVfdG9wJz0+J+enu+WKqOWIsOacgOmhticsDQogICAgJ21vdmVfdXAnPT4n5ZCR5LiK56e75YqoJywNCiAgICAnbW92ZV9kb3duJz0+J+WQkeS4i+enu+WKqCcsDQogICAgJ21vdmVfYm90dG9tJz0+J+enu+WKqOWIsOacgOW6lScsDQogICAgJ2VuYWJsZV9wbHVnaW5fc29ydCc9PiflkK/nlKjmj5Lku7bkvJjlhYjnuqfosIPmlbQnLA0KKTsNCg==
AppCentre/language/zh-tw.phpPD9waHANCnJldHVybiBhcnJheSgNCiAgICAnbmFtZSc9Pifmh4nnlKjkuK3lv4MnLA0KICAgICdhcHBfbmFtZSc9Pifmh4nnlKjkuK3lv4Mo5a6i5oi256uvKScsDQogICAgJ3N5c3RlbV91cGRhdGUnPT4n57O757Wx5pu05paw6IiH5qCh6amXJywNCiAgICAnZGF0YWJhc2VfdXBkYXRlJz0+J+WNh+e0muaVuOaTmuW6q+e1kOaniycsDQogICAgJ2N1cnJlbnRfdmVyc2lvbic9PifnlbbliY3niYjmnKwnLA0KICAgICdsYXRlc3RfdmVyc2lvbic9PifmnIDmlrDniYjmnKwnLA0KICAgICd1cGdyYWRlX3Byb2dyYW0nPT4n5Y2H57Sa5paw54mI56iL5bqPJywNCiAgICAndmVyaWZ5X2NvcmVfZmlsZSc9PifmoKHpqZfnlbbliY3niYjmnKznmoTns7vntbHmoLjlv4Pmlofku7YnLA0KICAgICdzdGFydF9jaGVjayc9Pifplovlp4vmoKHpqZcnLA0KICAgICdjaGVjayc9PifmoKHpqZcnLA0KICAgICdmaWxlbmFtZSc9Pifmlofku7blkI0nLA0KICAgICdzdGF0ZXMnPT4n54uA5oWLJywNCiAgICAnZmlsZXNfYXJlX2RpZmZlcmVudF9vcl9tb2RpZmllZCc9PiflgIvmlofku7bkuI3lkIzmiJbooqvkv67mlLnpgY4nLA0KICAgICdhdXRvbWF0aWNhbGx5X3VwZGF0ZV9maWxlcyc9Pifoh6rli5Xmm7TmlrDmlofku7YnLA0KICAgICdmaWxlc193cml0ZV9mYWlsZWQnPT4n5paH5Lu25a+r5YWl5aSx5pWXLOiri+aqouafpeS4u+apn+asiumZkOmFjee9riEnLA0KICAgICd1cGxvYWRfc3VjY2Vzc2Z1bGx5Jz0+J+S4iuWCs0FQUOS4puino+Wjk+aIkOWKnyEnLA0KICAgICdkb3dubG9hZF9zdWNjZXNzZnVsbHknPT4n5LiL6LyJQVBQ5Lim6Kej5aOT5oiQ5YqfIScsDQogICAgJ2xvZ2luX3N0b3JlJz0+J+eZu+mMhOaHieeUqOWVhuWfjicsDQogICAgJ215X3N0b3JlJz0+J+aIkeeahOaHieeUqOWAieW6qycsDQogICAgJ2xvZ2luX3N1Y2Nlc3MnPT4n5oKo5bey5oiQ5Yqf55m76YyEQVBQ5oeJ55So5Lit5b+DLicsDQogICAgJ3Rva2VuX25vdF9leGlzdCc9PifmgqjovLjlhaXnmoTku6TniYzkuI3lrZjlnKjmiJblt7LooqvntoHlrprvvIzoq4vnlLPoq4vkuIDlgIvmlrDnmoTku6TniYzjgIInLA0KICAgICdsb2dvdXQnPT4n5oKo5bey6YCA5Ye6QVBQ5oeJ55So5Lit5b+DLicsDQogICAgJ2FjY291bnRfbG9naW4nPT4n6LOs5oi255m76YyEJywNCiAgICAndG9rZW4nPT4n5Luk54mMJywNCiAgICAnZ2V0X3Rva2VuJz0+J+m7nuaTiueNsuWPluizrOaItueZu+mMhOS7pOeJjC4nLA0KICAgICdnZXRfdG9rZW4yJyA9PiAnKOWkh+eUqOWfn+WQjSknLA0KICAgICdjbGlja190b191cGdyYWRlX2RhdGFiYXNlJz0+J+iri+m7nuaTiuipsumPiOaOpeWNh+e0muaVuOaTmuW6q+e1kOaniycsDQogICAgJ3VuYWJsZV90b192ZXJpZnknPT4n54Sh5rOV6amX6K2J5oeJ55So77yM6KuL6IGv57O75oiR5YCR44CCJywNCiAgICAnb3BlcmF0aW9uX2lzX3Byb2hpYml0ZWQnPT4n5a6J5YWo5qih5byP5LiL56aB5q2i5Z+36KGM5q2k5pON5L2cJywNCiAgICAnY2xpZW50Jz0+J+WuouaItuerrycsDQogICAgJ3R1cm5lZF9vbl9zYWZlX21vZGUnPT4n5oKo5bey6ZaL5ZWT5a6J5YWo5qih5byP77yM5Y+q6IO95pu05paw54++5pyJ5oeJ55So77yM54Sh5rOV5LiL6LyJ5paw5oeJ55So44CCJywNCiAgICAnZG9lc19ub3RfYWNjZXNzX25ldHdvcmtzJz0+J+S4u+apn+aykuaciemWi+WVk+ioquWVj+WklumDqOe2sue1oeWKn+iDvScsDQogICAgJ3NhZmVfbW9kZSc9PiflronlhajmqKHlvI8nLA0KICAgICdzZXR0aW5ncyc9PifoqK3nva4nLA0KICAgICduZXdfcGx1Z2luJz0+J+aWsOW7uuaPkuS7ticsDQogICAgJ25ld190aGVtZSc9PifmlrDlu7rkuLvpoYwnLA0KICAgICdicm93c2VfYXBwJz0+J+a1j+imveWcqOe3muaHieeUqCcsDQogICAgJ2NoZWNrX2FwcF91cGRhdGVzJz0+J+aqouafpeaHieeUqOabtOaWsCcsDQogICAgJ2FwcF9kb3dubG9hZF9mYWlsZWQnPT4nQXBw5LiL6LyJ5aSx5pWX77yBJywNCiAgICAnYXBwX2RlY29tcHJlc3Npb25fZmFpbGVkJz0+J0FwcOino+Wjk+WkseaVl++8gScsDQogICAgJ25vX2xvY2FsX3dyaXRlX3Blcm1pc3Npb24nPT4n5pys5Zyw5a+r5YWl5qyK6ZmQ5LiN6LazLEFwcOino+Wjk+WIsOWuieijneebrumMhOWkseaVlyEnLA0KICAgICdjbGllbnRfYWNjZXNzX3RvX3N0b3JlX2ZhaWx1cmUnPT4n5a6i5oi256uv6Kiq5ZWP5oeJ55So5Lit5b+D5pWF6Zqc77yM5LiN6IO955m76YyE5ZKM5LiL6LyJ5oeJ55So44CC6KuL5qqi5p+l77yaKDEp5Li75qmf56m66ZaT5piv5ZCm6IO96YGg56iL6Kiq5ZWPJXMx77yMKDIp5Zyo6Kit572u5Lit5YiH5o+b5b6M5Y+w6YGg56iL6YCj5o6l55qE5pa55byP77yMKDMp5Zyo6Kit572u5Lit5YiH5o+b5oeJ55So5Lit5b+D5YKZ55So6Kiq5ZWP5Z+f5ZCNJXMy6YCy6KGM6Kiq5ZWP44CCJywNCiAgICAndGlwc19hcHBfdXBkYXRlZCc9Pifmj5DnpLo65pyJJW7lgIvmh4nnlKjpnIDopoHmm7TmlrDvvIzoq4vlnKjmh4nnlKjkuK3lv4PnmoQ8YSBocmVmPVwnLi4vLi4vemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9tYWluLnBocD9tZXRob2Q9Y2hlY2tcJz7igJzmqqLmn6Xmh4nnlKjmm7TmlrDigJ08L2E+6aCB5Y2H57Sa44CCJywNCiAgICAndGlwc19zeXN0ZW1fdXBkYXRlZCc9Pifmj5DnpLo6Wi1CbG9nUEhQ5pyJ5paw54mI5pysLOiri+eUqEFQUOaHieeUqOS4reW/g+aPkuS7tueahDxhIGhyZWY9XCcuLi8uLi96Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL3VwZGF0ZS5waHBcJz7igJzns7vntbHmm7TmlrDoiIfmoKHpqZfigJ08L2E+5Y2H57SaJywNCiAgICAnc3VibWl0X2FwcCc9Pifmj5DkuqTmh4nnlKgnLA0KICAgICd1bnN1Ym1pdHRlZCc9PifmnKrmj5DkuqQnLA0KICAgICd3YW50X3RvX3N1Ym1pdCc9PifmgqjnorrlrpropoHmj5DkuqTll47vvJ8nLA0KICAgICdhcHBfdG9fYmVfc3VibWl0dGVkJz0+J+aTrOaPkOS6pOeZvOW4g+aIluabtOaWsOeahOaHieeUqOS/oeaBrycsDQogICAgJ2FwcF9pZCc9Pifmh4nnlKhJRCcsDQogICAgJ3RhcmdldF9hcHBsaWNhdGlvbic9PifigJxaLUJsb2fmh4nnlKjkuK3lv4PigJ3nm67mqJnmh4nnlKjnmoTnm7jpl5zkv6Hmga8nLA0KICAgICdhcHBfYXV0aG9yJz0+J+aHieeUqOS9nOiAhScsDQogICAgJ2N1cnJlbnRfdXBkYXRlJz0+J+eVtuWJjeabtOaWsOaXpeacnycsDQogICAgJ2N1cnJlbnRfdmVyc2lvbic9PifnlbbliY3niYjmnKwnLA0KICAgICdsYXRlc3RfdXBkYXRlJz0+J+acgOW+jOabtOaWsOaXpeacnycsDQogICAgJ2xhdGVzdF92ZXJzaW9uJz0+J+acgOaWsOeJiOacrCcsDQogICAgJ3R1cm5fb25fc2FmZV9tb2RlJz0+J+mWi+WVk+WuieWFqOaooeW8jycsDQogICAgJ3R1cm5fb25fc2FmZV9tb2RlX25vdGUnPT4nPHA+5aaC5p6c5oKo5LiN5YaN5a6J6KOd5paw5oeJ55So77yM5oKo5Y+v5Lul6bue5pOK6YCZ6KOP6ZaL5ZWT5a6J5YWo5qih5byP44CCPC9wPg0KICAgIDxwPuWuieWFqOaooeW8j+mWi+WVk+W+jO+8jOaCqOWwh+S4jeiiq+WFgeioseS4i+i8ieaWsOaHieeUqO+8jOS7peaKteempum7keWuouWogeiEheOAgjwvcD4NCiAgICA8cD7oq4vms6jmhI/vvIzlrZjlnKjmlofku7bnrqHnkIbjgIHmlbjmk5rluqvnrqHnkIbjgIHkuLvpoYznt6jovK/jgIHntrLnq5nlgpnku73nrYnlip/og73nmoTmj5Lku7bvvIzku43nhLbmnIPlsI3mgqjnmoTntrLnq5nnlKPnlJ/lqIHohIXjgILlnKjllZPnlKjlronlhajmqKHlvI/liY3vvIzmiJHlgJHmjqjolqbmgqjlhYjliKrpmaTpgJnkupvmj5Lku7bjgII8L3A+JywNCiAgICAndHVybl9vZmZfc2FmZV9tb2RlX25vdGUnPT4nPHA+5oKo5bey6ZaL5ZWT5a6J5YWo5qih5byP77yM6KaB6Zec6ZaJ77yM6KuL5omL5YuV5Yiq6Zmk5Lul5LiL5paH5Lu277yaPC9wPg0KICAgIDxwPue2suermeebrumMhC96Yl91c2Vycy9kYXRhL2FwcGNlbnRyZV9zZWN1cml0eV9tb2RlLnBocCA8L3A+DQogICAgPHA+6KuL5rOo5oSP77yM5a2Y5Zyo5paH5Lu2566h55CG44CB5pW45pOa5bqr566h55CG44CB5Li76aGM57eo6Lyv44CB57ay56uZ5YKZ5Lu9562J5Yqf6IO955qE5o+S5Lu277yM5LuN54S25pyD5bCN5oKo55qE57ay56uZ55Sj55Sf5aiB6ISF44CC5aaC5p6c5oKo5pqr5pmC5LiN6ZyA6KaB5L2/55So6YCZ5Lqb5o+S5Lu277yM6KuL5YuZ5b+F5Yiq6Zmk44CCPC9wPicsDQogICAgJ2VuYWJsZV9hdXRvbWF0aWNfdXBkYXRlcyc9PifllZPnlKjoh6rli5XmqqLmn6Xmm7TmlrAnLA0KICAgICdlbmFibGVfYXV0b21hdGljX3VwZGF0ZXNfbm90ZSc9PiflnKjpgLLlhaXlvozlj7DmmYLmnIPmqqLmn6Xmh4nnlKjmm7TmlrDlkozns7vntbHmm7TmlrAnLA0KICAgICdkb21haW5fb2ZfYXBwY2VudHJlJz0+J+W+jOWPsOioquWVj+KAnOaHieeUqOS4reW/g+KAneeahOWfn+WQjScsDQogICAgJ2RvbWFpbl9vZl9hcHBjZW50cmVfbm90ZSc9PiflpoLmnpzkuI3og73pgKPmjqXoq4vliIfmj5vln5/lkI3lmJfoqaYnLA0KICAgICdjaGVja190aGVfYmV0YV92ZXJzaW9uJz0+J+aqouafpUJldGHniYjnqIvluo8nLA0KICAgICdjaGVja190aGVfYmV0YV92ZXJzaW9uX25vdGUnPT4n57O757Wx5bCH5qqi5p+l5pyA5paw5ris6Kmm54mI55qEWi1CbG9n5pu05pawJywNCiAgICAnZW5hYmxlX2RldmVsb3Blcl9tb2RlJz0+J+WVk+eUqOmWi+eZvOiAheaooeW8jycsDQogICAgJ2VuYWJsZV9kZXZlbG9wZXJfbW9kZV9ub3RlJz0+J+WVk+eUqOmWi+eZvOiAheaooeW8j+WPr+S7peS/ruaUueaHieeUqOS/oeaBr+OAgeWwjuWHuuaHieeUqOWSjOmBoOeoi+aPkOS6pOaHieeUqCcsDQogICAgJ2V4cG9ydF9nemlwX2NvbXByZXNzZWQnPT4n5bCO5Ye657aT6YGOR1ppcOWjk+e4rueahOaHieeUqOWMhScsDQogICAgJ2Nvbm5lY3RfdHlwZV9iYWNrZ3JvdW5kJz0+J+W+jOWPsOmAo+aOpeKAnOaHieeUqOS4reW/g+KAneeahOaWueW8jycsDQogICAgJ2Nvbm5lY3RfdHlwZV9iYWNrZ3JvdW5kX25vdGUnPT4n5aaC5p6c5LiN6IO96YCj5o6l6KuL5YiH5o+b5ZiX6Kmm5YW25a6D5pa55byPJywNCiAgICAndXBsb2FkX3BsdWdpbl96YmEnPT4n5pys5Zyw5LiK5YKz5Lim5a6J6KOd5o+S5Lu2emJh5paH5Lu2JywNCiAgICAndXBsb2FkX3RoZW1lX3piYSc9PifmnKzlnLDkuIrlgrPkuKblronoo53kuLvpoYx6YmHmlofku7YnLA0KICAgICdkZXZlbG9wZXJfbW9kZSc9PifplovnmbzogIXmqKHlvI8nLA0KICAgICdlZGl0X2FwcCc9Pifnt6jovK/mh4nnlKjkv6Hmga8nLA0KICAgICdleHBvcnRfYXBwJz0+J+WwjuWHuuaHieeUqCcsDQogICAgJ3VwbG9hZF9hcHBfdG9fYXBwY2VudHJlJz0+J+S4iuWCs+aHieeUqOWIsOWumOaWuee2suermeaHieeUqOS4reW/gycsDQogICAgJ2RlbF9hcHAnPT4n5Yiq6Zmk5oeJ55SoJywNCiAgICAnYWRkX21vZHVsZV9mb3JfdGhlbWUnPT4n57Wm6Kmy5Li76aGM5aKe5Yqg5YG05qyE5qih5aGKJywNCiAgICAnYXBwX2lkX25vdGUnPT4n5oeJ55SoSUTngrrmh4nnlKjnmoTnm67pjITlkI0s5LiU5LiN6IO96YeN6KSHLklE5ZCN5Y+q6IO955So5a2X5q+N5pW45a2X5ZKM5LiL5YqD57ea55qE57WE5ZCILicsDQogICAgJ2FwcF9uYW1lJz0+J+aHieeUqOWQjeeosScsDQogICAgJ3B1Ymxpc2hfdXJsJz0+J+eZvOW4g+mggemdoicsDQogICAgJ2FwcF9pbnRybyc9Pifmh4nnlKjnsKHku4snLA0KICAgICdhZGFwdGVkX3pibG9nX3ZlcnNpb24nPT4n6YGp6YWN55qEWi1CbG9n5pyA5L2O54mI5pysJywNCiAgICAnYXBwX3ZlcnNpb24nPT4n5oeJ55So54mI5pys6JmfJywNCiAgICAnZmlyc3RfcmVsZWFzZV9kYXRlJz0+J+aHieeUqOmmlueZvOaXpeacnycsDQogICAgJ2RhdGVfZm9ybWF0Jz0+J+aXpeacn+agvOW8j+eCujIwMTItMTItMTInLA0KICAgICdsYXN0X21vZGlmaWVkJz0+J+aHieeUqOacgOW+jOS/ruaUueaZgumWkycsDQogICAgJ2F1dGhvcl9uYW1lJz0+J+S9nOiAheWQjeeosScsDQogICAgJ2F1dGhvcl9lbWFpbCc9PifkvZzogIXpg7XnrrEnLA0KICAgICdhdXRob3Jfd2Vic2l0ZSc9PifkvZzogIXntrLnq5knLA0KICAgICdzb3VyY2VfYXV0aG9yX25hbWUnPT4n5rqQ5L2c6ICF5ZCN56ixJywNCiAgICAnc291cmNlX2F1dGhvcl9lbWFpbCc9PifmupDkvZzogIXpg7XnrrEnLA0KICAgICdzb3VyY2VfYXV0aG9yX3dlYnNpdGUnPT4n5rqQ5L2c6ICF57ay56uZJywNCiAgICAnb3B0aW9uYWwnPT4n5Y+v6YG4JywNCiAgICAnYXBwX21hbmFnZW1lbnRfcGFnZSc9Piflhafnva7mh4nnlKjnrqHnkIbpoIEnLA0KICAgICdhcHBfbWFuYWdlbWVudF9wYWdlX25vdGUnPT4nSGFiaXR1YWxseSBuYW1lZCBtYWluLnBocCcsDQogICAgJ2FwcF9lbWJlZGRpbmdfcGFnZSc9Pifmh4nnlKjltYzlhaXpoIEnLA0KICAgICdhcHBfZW1iZWRkaW5nX3BhZ2Vfbm90ZSc9Piflj6rog73lkb3lkI3ngrppbmNsdWRlLnBocCcsDQogICAgJ3BsdWdpbl9sb2dvX3RpcHMnPT4n5o+Q56S6OuaPkuS7tueahOWcluaomeaYr+WQjeeCumxvZ28ucG5n55qEMTI4IHggMTI4IHB45aSn5bCP55qEcG5n5paH5Lu2LOaOqOiWpuS9v+eUqDxhIGhyZWY9Imh0dHA6Ly93d3cuc3luY2Z1c2lvbi5jb20vZG93bmxvYWRzL21ldHJvc3R1ZGlvIiB0YXJnZXQ9Il9ibGFuayI+TWV0cm8gU3R1ZGlv6Luf5Lu2PC9hPuWJteW7umxvZ28s5o+S5Lu255qE57iu55Wl5ZyWKOWPr+mBuCnmmK/lkI3ngrpzY3JlZW5zaG90LnBuZ+eahDMyMHgyMDBweOWkp+Wwj+eahHBuZ+aWh+S7tizmlL7lnKjmj5Lku7bnmoTnm67pjITkuIsuJywNCiAgICAndGhlbWVfbG9nb190aXBzJz0+J+aPkOekujrkuLvpoYznmoTnuK7nlaXlnJbmmK/lkI3ngrpzY3JlZW5zaG90LnBuZ+eahDxiPjMyMHgyMDBweDwvYj7lpKflsI/nmoRwbmfmlofku7Ys5pS+5Zyo5Li76aGM55qE55uu6YyE5LiLLicsDQogICAgJ2RldGFpbGVkX2Rlc2NyaXB0aW9uJz0+J+ips+e0sOiqquaYjiAnLA0KICAgICdleHBvcnRfc2lkZWJhcic9PiflsI7lh7rlgbTmrITphY3nva4nLA0KICAgICdkZXBlbmRlbnRfYXBwcyc9PifjgJDpq5jntJrjgJHkvp3os7Tmh4nnlKjliJfooajvvIjku6V85YiG6ZqU77yJJywNCiAgICAnY29uZmxpY3RfYXBwcyc9PifjgJDpq5jntJrjgJHooZ3nqoHmh4nnlKjliJfooajvvIjku6V85YiG6ZqU77yJJywNCiAgICAncmV3cml0ZV9mdW5jdGlvbnMnPT4n44CQ6auY57Sa44CR5oeJ55So6YeN5a+r57O757Wx5Ye95pW45YiX6KGo77yI5LulfOWIhumalO+8iScsDQogICAgJ2V4aXN0c19mdW5jdGlvbnMnPT4n44CQ6auY57Sa44CR5Li76aGM5L6d6LO05Ye95pW45YiX6KGo77yI5LulfOWIhumalO+8iScsDQogICAgJ2FwcF9wcmljZSc9Pifmh4nnlKjlrprlg7knLA0KICAgICdwaHBfcmVxdWlyZWRfdmVyc2lvbic9PidQSFDmnIDkvY7opoHmsYLniYjmnKwnLA0KICAgICdhcHBfbWFuYWdlbWVudF9wZXJtaXNzaW9ucyc9Pifmh4nnlKjnrqHnkIbmrIrpmZAnLA0KICAgICdzdWJtaXR0ZWQgc3VjY2Vzc2Z1bGx5Jz0+J+aPkOS6pOaIkOWKn++8jOePvuWcqOeri+WIu+S4iuWCs+WIsOaHieeUqOS4reW/g++8gScsDQogICAgJ2FwcF93aXRoX3NhbWVfbmFtZSc9Piflt7LlrZjlnKjlkIzlkI3nmoRBUFDmh4nnlKgnLA0KICAgICdhcHBfaWRfbmFtZV9ydWxlJz0+J+aHieeUqElE5ZCN5b+F6aCI5piv5a2X5q+N5pW45a2X5ZKM5LiL5YqD57ea57WE5oiQLOmVt+W6pjMtMzDlrZfnrKYuJywNCiAgICAnZW5hYmxlX211bHRpX2Rvd25sb2FkJz0+J+WQr+WKqENVcmzlpKfmlofku7bliIblibLkuIvovb0nLA0KICAgICdpZ25vcmVfdXBkYXRlZF9hcHBzJyA9PiAn5b+955Wl5pu05paw55qE5bqU55SoJywNCiAgICAnY29uZmlnX3RoZW1lJz0+J+mFjee9ruS4u+mhjCcsDQogICAgJ3ByaW9yaXR5X3NvcnQnPT4n5LyY5YWI57qnJywNCiAgICAnbW92ZV90b3AnPT4n56e75Yqo5Yiw5pyA6aG2JywNCiAgICAnbW92ZV91cCc9PiflkJHkuIrnp7vliqgnLA0KICAgICdtb3ZlX2Rvd24nPT4n5ZCR5LiL56e75YqoJywNCiAgICAnbW92ZV9ib3R0b20nPT4n56e75Yqo5Yiw5pyA5bqVJywNCiAgICAnZW5hYmxlX3BsdWdpbl9zb3J0Jz0+J+WQr+eUqOaPkuS7tuS8mOWFiOe6p+iwg+aVtCcsDQopOw0K
AppCentre/logo.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
AppCentre/main.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQokYXBwYyA9ICR6YnAtPkxvYWRBcHAoJ3BsdWdpbicsICdBcHBDZW50cmUnKTsNCiRibG9ndGl0bGUgPSAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbmFtZSddIC4gJy0nIC4gJygnIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2NsaWVudCddIC4gJyB2JyAuICRhcHBjLT52ZXJzaW9uIC4gJyknOw0KdW5zZXQoJGFwcGMpOw0KaWYgKCEkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5IYXNLZXkoJ2VuYWJsZWRjaGVjaycpKSB7DQogICAgQXBwQ2VudHJlX0NoZWNrSW5TZWN1cml0eU1vZGUoKTsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVkY2hlY2sgPSAxOw0KICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmNoZWNrYmV0YSA9IDA7DQogICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlZGV2ZWxvcCA9IDA7DQogICAgJHpicC0+U2F2ZUNvbmZpZygnQXBwQ2VudHJlJyk7DQp9DQoNCmlmIChjb3VudCgkX1BPU1QpID4gMCkgew0KICAgICR6YnAtPlNldEhpbnQoJ2dvb2QnKTsNCiAgICBSZWRpcmVjdCgnLi9tYWluLnBocCcpOw0KfQ0KDQppZiAoQXBwQ2VudHJlX0luU2VjdXJpdHlNb2RlKCkpIHsNCiAgICAkemJwLT5TZXRIaW50KCdnb29kJywgJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3R1cm5lZF9vbl9zYWZlX21vZGUnXSk7DQp9DQoNCkFkZF9GaWx0ZXJfUGx1Z2luKCdGaWx0ZXJfUGx1Z2luX0NTUF9CYWNrZW5kJywgJ0FwcENlbnRyZV9VcGRhdGVDU1AnKTsNCg0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX2hlYWRlci5waHAnOw0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX3RvcC5waHAnOw0KDQo/Pg0KPGRpdiBpZD0iZGl2TWFpbiI+DQoNCiAgPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICRibG9ndGl0bGU7ID8+PC9kaXY+DQo8ZGl2IGNsYXNzPSJTdWJNZW51Ij48P3BocCBBcHBDZW50cmVfU3ViTWVudXMoR2V0VmFycygnbWV0aG9kJywgJ0dFVCcpID09ICdjaGVjaycgPyAyIDogMSk7ID8+PC9kaXY+DQogIDxkaXYgaWQ9ImRpdk1haW4yIj4NCg0KDQo8P3BocA0KJG1ldGhvZCA9IEdldFZhcnMoJ21ldGhvZCcsICdHRVQnKTsNCg0KaWYgKCEkbWV0aG9kKSB7DQogICAgJG1ldGhvZCA9ICd2aWV3JzsNCn0NCg0KU2VydmVyX09wZW4oJG1ldGhvZCk7DQo/Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgd2luZG93LnBsdWdfbGlzdCA9ICI8P3BocCBlY2hvIEFkZE5hbWVJblN0cmluZygkb3B0aW9uWydaQ19VU0lOR19QTFVHSU5fTElTVCddLCAkb3B0aW9uWydaQ19CTE9HX1RIRU1FJ10pOyA/PiI7DQogICAgICAgIHdpbmRvdy5zaWdua2V5ID0gJzw/cGhwIGVjaG8gJHpicC0+R2V0VG9rZW4oKTsgPz4nOw0KICAgIDwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BY3RpdmVMZWZ0TWVudSgiYUFwcENlbnRyZSIpOzwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BZGRIZWFkZXJJY29uKCI8P3BocCBlY2hvICRibG9naG9zdCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2xvZ28ucG5nJzsgPz4iKTs8L3NjcmlwdD4NCiAgPC9kaXY+DQo8L2Rpdj4NCjw/cGhwDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fZm9vdGVyLnBocCc7DQoNClJ1blRpbWUoKTsNCg0K
AppCentre/plugin.js.phpPD9waHANCmlmICghZGVmaW5lZCgnWkJQX1BBVEgnKSkgew0KICAgIGV4aXQoJ0FjY2VzcyBkZW5pZWQnKTsNCn0NCiR0ID0gJyZ0b2tlbj0nIC4gJHpicC0+R2V0VG9rZW4oJ0FwcENlbnRyZScpOw0KPz4NCg0KZnVuY3Rpb24gc2hvd1NvcnRQYW5lbChlbGVtLCBpZCkgew0KICAgIHZhciBlbGVtZW50ID0gJChlbGVtKTsNCiAgICBlbGVtZW50LnBhcmVudCgpLmFwcGVuZChHZXRTb3J0UGFuZWxIdG1sKCkpOw0KICAgIHZhciBlbGVtZW50MiA9ICQoJ2Rpdi5zb3J0cGFuZWwnKTsNCiAgICBlbGVtZW50Mi5kYXRhKCJwbHVnaW5pZCIsIGVsZW1lbnQuYXR0cigncGx1Z2luaWQnKSk7DQogICAgdmFyIG9mZnNldCA9IGVsZW1lbnQucGFyZW50KCkucG9zaXRpb24oKTsNCiAgICBlbGVtZW50Mi5vZmZzZXQoeyB0b3A6IChvZmZzZXQudG9wLTE2KSAsIGxlZnQ6IG9mZnNldC5sZWZ0KzIyICB9KTsNCn0NCg0KZnVuY3Rpb24gaGlkZVNvcnRQYW5lbCgpew0KICAgICQoJ2Rpdi5zb3J0cGFuZWwnKS5yZW1vdmUoKTsNCn0NCg0KZnVuY3Rpb24gc29ydFBsdWdpbihzb3J0KXsNCiAgICB2YXIgaWQgPSAkKCdkaXYuc29ydHBhbmVsJykuZGF0YSgicGx1Z2luaWQiKTsNCiAgICB3aW5kb3cubG9jYXRpb24uaHJlZj1ibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9hcHBfc29ydC5waHA/c29ydD0iK3NvcnQrIiZpZD0iK2lkKyI8P3BocCBlY2hvICR0Oz8+IjsNCn0NCg0KZnVuY3Rpb24gR2V0U29ydFBhbmVsSHRtbCgpIHsNCiAgICByZXR1cm4gIjxkaXYgc3R5bGU9XCdiYWNrZ3JvdW5kOndoaXRlO2JveC1zaGFkb3c6MHB4IDFweCA1cHggMCAjOTk5O3BhZGRpbmc6M3B4O3Bvc2l0aW9uOmFic29sdXRlO1wnIGNsYXNzPVwnc29ydHBhbmVsXCc+PGEgc3R5bGU9XCdmbG9hdDpsZWZ0O2NsZWFyOmJvdGg7XCcgY2xhc3M9XCdidXR0b25cJyBocmVmPVwnI1wnIG9uY2xpY2s9XCdzb3J0UGx1Z2luKFwidG9wXCIpXCcgdGl0bGU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ21vdmVfdG9wJ107ID8+Jz48aSBjbGFzcz1cJ2ljb24tYXJyb3ctdXAtY2lyY2xlLWZpbGxcJz48L2k+PC9hPjxhIHN0eWxlPVwnZmxvYXQ6bGVmdDtjbGVhcjpib3RoO1wnICBjbGFzcz1cJ2J1dHRvblwnIGhyZWY9XCcjXCcgb25jbGljaz1cJ3NvcnRQbHVnaW4oXCJ1cFwiKVwnIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydtb3ZlX3VwJ107ID8+Jz48aSBjbGFzcz1cJ2ljb24tYXJyb3ctdXAtY2lyY2xlXCc+PC9pPjwvYT48YSAgc3R5bGU9XCdmbG9hdDpsZWZ0O2NsZWFyOmJvdGg7XCcgY2xhc3M9XCdidXR0b25cJyBocmVmPVwnI1wnIG9uY2xpY2s9XCdzb3J0UGx1Z2luKFwiZG93blwiKVwnIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydtb3ZlX2Rvd24nXTsgPz4nPjxpIGNsYXNzPVwnaWNvbi1hcnJvdy1kb3duLWNpcmNsZVwnPjwvaT48L2E+PGEgIHN0eWxlPVwnZmxvYXQ6bGVmdDtjbGVhcjpib3RoO1wnIGNsYXNzPVwnYnV0dG9uXCcgaHJlZj1cJyNcJyBvbmNsaWNrPVwnc29ydFBsdWdpbihcImJvdHRvbVwiKVwnIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydtb3ZlX2JvdHRvbSddOyA/Pic+PGkgY2xhc3M9XCdpY29uLWFycm93LWRvd24tY2lyY2xlLWZpbGxcJz48L2k+PC9hPjwvZGl2PiI7DQp9DQoNCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7IA0KDQokKCIjZGl2TWFpbjIiKS5wcmVwZW5kKCI8Zm9ybSBjbGFzcz0nc2VhcmNoJyBuYW1lPSdlZGl0JyBpZD0nZWRpdCcgbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyBhY3Rpb249JyIrYmxvZ2hvc3QrInpiX3VzZXJzL3BsdWdpbi9BcHBDZW50cmUvYXBwX3VwbG9hZC5waHAnPjxwPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3VwbG9hZF9wbHVnaW5femJhJ107ID8+OiZuYnNwOzxpbnB1dCB0eXBlPSdmaWxlJyBpZD0nZWR0RmlsZUxvYWQnIG5hbWU9J2VkdEZpbGVMb2FkJyBzaXplPSc0MCcgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgdHlwZT0nc3VibWl0JyBjbGFzcz0nYnV0dG9uJyB2YWx1ZT0nPD9waHAgZWNobyAkemJwLT5sYW5nWydtc2cnXVsnc3VibWl0J107ID8+JyBuYW1lPSdCMScgLz4mbmJzcDsmbmJzcDs8P3BocCBlY2hvICI8aW5wdXQgaWQ9J3Rva2VuJyBuYW1lPSd0b2tlbicgdHlwZT0naGlkZGVuJyB2YWx1ZT0nIi4kemJwLT5HZXRUb2tlbignQXBwQ2VudHJlJykuIicvPiI/PjxpbnB1dCBjbGFzcz0nYnV0dG9uJyB0eXBlPSdyZXNldCcgdmFsdWU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3Jlc2V0J107ID8+JyBuYW1lPSdCMicgLz4mbmJzcDs8L3A+PC9mb3JtPiIpDQoNCmlmKHpicC5vcHRpb25zLmJsb2d2ZXJzaW9uPjE3MDAwMCAmJiBhcHBfZW5hYmxlcGx1Z2luc29ydCl7DQp2YXIgaXRkID0gMDsNCiQoInRyIikuZWFjaChmdW5jdGlvbigpew0KICAgIGlmIChpdGQgPT0gMCl7DQogICAgICAgICQodGhpcykuYXBwZW5kKCI8dGggY2xhc3M9J3RkNScgYWxpZ249J2NlbnRlcic+PC90aD4iKTsNCiAgICB9ZWxzZXsNCiAgICAgICAgJCh0aGlzKS5hcHBlbmQoIjx0ZCBjbGFzcz0ndGQ1IHRkUHJpb3JpdHknIGFsaWduPSdjZW50ZXInPjwvdGQ+Iik7DQogICAgfQ0KICAgICsraXRkOw0KfSk7DQoNCiQoInRyIikuZmlyc3QoKS5jaGlsZHJlbigpLmxhc3QoKS5hcHBlbmQoIjxiPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3ByaW9yaXR5X3NvcnQnXTsgPz48L2I+Iik7DQoNCiQoInRkLnBsdWdpbiIpLmVhY2goZnVuY3Rpb24oKXsNCiAgICBpZigkKHRoaXMpLmhhc0NsYXNzKCJwbHVnaW4tb24iKSl7DQogICAgICAgIHZhciBwbHVnaW5pZCA9ICQodGhpcykuZGF0YSgicGx1Z2luaWQiKTsNCiAgICAgICAgJCh0aGlzKS5uZXh0QWxsKCIudGRQcmlvcml0eSIpLmh0bWwoIjxhIGNsYXNzPVwnYnV0dG9uIHNob3ctc29ydC1idG5cJyBocmVmPVwnI1wnIHBsdWdpbmlkPVwnIitwbHVnaW5pZCsiXCc+PGkgY2xhc3M9XCdpY29uLWFycm93LWRvd24tdXBcJz48L2k+PC9hPiIpOw0KICAgIH0NCn0pOw0KDQokKCdhLnNob3ctc29ydC1idG4nKS5jbGljayhmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICBpZiAoJCgnZGl2LnNvcnRwYW5lbCcpLmxlbmd0aCA+IDAgJiYgJCgnZGl2LnNvcnRwYW5lbCcpLmRhdGEoJ3BsdWdpbmlkJykgPT0gJCh0aGlzKS5hdHRyKCdwbHVnaW5pZCcpKSB7DQogICAgICAgIGhpZGVTb3J0UGFuZWwoKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIGhpZGVTb3J0UGFuZWwoKTsNCiAgICBzaG93U29ydFBhbmVsKHRoaXMpOw0KICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOw0KDQogICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgew0KICAgICAgICBoaWRlU29ydFBhbmVsKCk7DQogICAgfSk7DQoNCiAgICAkKCdkaXYuc29ydHBhbmVsJykuY2xpY2soZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOw0KICAgIH0pOw0KfSk7DQoNCn0NCg0KaWYoYXBwX2VuYWJsZWRldmVsb3Apew0KDQp2YXIgaXRkID0gMDsNCiQoInRyIikuZWFjaChmdW5jdGlvbigpew0KICAgIGlmIChpdGQgPT0gMCl7DQogICAgICAgICQodGhpcykuYXBwZW5kKCI8dGggY2xhc3M9J3RkMTUnIGFsaWduPSdjZW50ZXInPjwvdGg+Iik7DQogICAgfWVsc2V7DQogICAgICAgICQodGhpcykuYXBwZW5kKCI8dGQgY2xhc3M9J3RkMTUnIGFsaWduPSdjZW50ZXInPjwvdGQ+Iik7DQogICAgfQ0KICAgICsraXRkOw0KfSk7DQokKCJ0ciIpLmZpcnN0KCkuY2hpbGRyZW4oKS5sYXN0KCkuYXBwZW5kKCI8Yj48P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkZXZlbG9wZXJfbW9kZSddOyA/PjwvYj4iKTsNCg0KfQ0KDQokKCIucGx1Z2luIikuZWFjaChmdW5jdGlvbigpew0KDQogICAgdmFyIHQ9JCh0aGlzKS5kYXRhKCJwbHVnaW5pZCIpOw0KICAgIGlmKHQ9PXVuZGVmaW5lZCl0PSQodGhpcykuZmluZCgic3Ryb25nIikuaHRtbCgpOw0KICAgIHZhciBzPSIiDQogICAgcz1zKyI8YSBjbGFzcz1cImJ1dHRvblwiICBocmVmPSciK2Jsb2dob3N0KyJ6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL3BsdWdpbl9lZGl0LnBocD9pZD0iK3QrIjw/cGhwIGVjaG8gJHQ/PicgdGl0bGU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2VkaXRfYXBwJ107ID8+Jz48P3BocCBlY2hvIEFwcENlbnRyZV9DcmVhdGVCdXR0b24oJ2VkaXQnKTsgPz48L2E+IjsNCg0KICAgIHM9cysiJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgY2xhc3M9XCJidXR0b25cIiAgaHJlZj0nIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9hcHBfcGFjay5waHA/dHlwZT1wbHVnaW4maWQ9Iit0KyI8P3BocCBlY2hvICR0Pz4nIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydleHBvcnRfYXBwJ107ID8+JyB0YXJnZXQ9J19ibGFuayc+PD9waHAgZWNobyBBcHBDZW50cmVfQ3JlYXRlQnV0dG9uKCdkb3dubG9hZCcpOyA/PjwvYT4iOw0KDQogICAgaWYoYXBwX2VuYWJsZWRldmVsb3Apew0KICAgICAgICBzPXMrIiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj0nIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9zdWJtaXQucGhwP3R5cGU9cGx1Z2luJmFtcDtpZD0iK3QrIjw/cGhwIGVjaG8gJHQ/PicgdGl0bGU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3VwbG9hZF9hcHBfdG9fYXBwY2VudHJlJ107ID8+JyB0YXJnZXQ9J19ibGFuayc+PD9waHAgZWNobyBBcHBDZW50cmVfQ3JlYXRlQnV0dG9uKCdjbG91ZHVwJyk7ID8+PC9hPiI7DQogICAgfQ0KICAgIA0KICAgIGlmKGFwcF9lbmFibGVkZXZlbG9wKXsNCiAgICANCiAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5jaGlsZHJlbigpLmxhc3QoKS5hcHBlbmQocyk7DQoNCiAgICB9DQoNCiAgICBpZighJCh0aGlzKS5oYXNDbGFzcygicGx1Z2luLW9uIikpew0KICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmNoaWxkcmVuKCkuZXEoNCkuYXBwZW5kKCImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBjbGFzcz1cImJ1dHRvblwiICBocmVmPSciK2Jsb2dob3N0KyJ6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2FwcF9kZWwucGhwP3R5cGU9cGx1Z2luJmlkPSIrdCsiPD9waHAgZWNobyAkdD8+JyB0aXRsZT0nPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZGVsX2FwcCddOyA/Picgb25jbGljaz0ncmV0dXJuIHdpbmRvdy5jb25maXJtKFwiPD9waHAgZWNobyBzdHJfcmVwbGFjZSgnIicsICcnLCAkemJwLT5sYW5nWydtc2cnXVsnY29uZmlybV9vcGVyYXRpbmcnXSk7ID8+XCIpOyc+PD9waHAgZWNobyBBcHBDZW50cmVfQ3JlYXRlQnV0dG9uKCdkZWxldGUnKTsgPz48L2E+Iik7DQogICAgfWVsc2V7DQogICAgfTsNCg0KfSk7DQoNCmlmKHpicC5vcHRpb25zLmJsb2d2ZXJzaW9uPjE3MDAwMCkkKCJhLmJ1dHRvbiIpLnJlbW92ZUNsYXNzKCJidXR0b24iKTsNCg0KfSk7
AppCentre/plugin.xml77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxwbHVnaW4gdmVyc2lvbj0icGhwIj4NCjxpZD5BcHBDZW50cmU8L2lkPg0KPG5hbWU+5bqU55So5Lit5b+D5a6i5oi356uvPC9uYW1lPg0KPHVybD5odHRwczovL3d3dy56YmxvZ2NuLmNvbS88L3VybD4NCjxub3RlPlotQmxvZ1BIUOeJiOeahOi1hOa6kOWkp+acrOiQpTwvbm90ZT4NCjxkZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPg0KPHBhdGg+bWFpbi5waHA8L3BhdGg+DQo8aW5jbHVkZT5pbmNsdWRlLnBocDwvaW5jbHVkZT4NCjxsZXZlbD4xPC9sZXZlbD4NCjxhdXRob3I+DQogIDxuYW1lPnp4LmFzZDwvbmFtZT4NCiAgPGVtYWlsPnJhaW5ib3dzb2Z0QGdtYWlsLmNvbTwvZW1haWw+DQogIDx1cmw+aHR0cHM6Ly93d3cuemJsb2djbi5jb20vPC91cmw+DQo8L2F1dGhvcj4NCjxzb3VyY2U+DQogIDxuYW1lPjwvbmFtZT4NCiAgPGVtYWlsPjwvZW1haWw+DQogIDx1cmw+PC91cmw+DQo8L3NvdXJjZT4NCjxhZGFwdGVkPjE1MDEwMTwvYWRhcHRlZD4NCjx2ZXJzaW9uPjIuNjY8L3ZlcnNpb24+DQo8cHViZGF0ZT4yMDEzLTA3LTA3PC9wdWJkYXRlPg0KPG1vZGlmaWVkPjIwMjEtMDgtMjQ8L21vZGlmaWVkPg0KPHByaWNlPjA8L3ByaWNlPg0KPHBocHZlcj41LjI8L3BocHZlcj4NCjxhZHZhbmNlZD4NCiAgPGRlcGVuZGVuY3k+PC9kZXBlbmRlbmN5Pg0KICA8cmV3cml0ZWZ1bmN0aW9ucz48L3Jld3JpdGVmdW5jdGlvbnM+DQogIDxleGlzdHNmdW5jdGlvbnM+PC9leGlzdHNmdW5jdGlvbnM+DQogIDxjb25mbGljdD48L2NvbmZsaWN0Pg0KPC9hZHZhbmNlZD4NCjxzaWRlYmFycz4NCiAgPHNpZGViYXIxPjwvc2lkZWJhcjE+DQogIDxzaWRlYmFyMj48L3NpZGViYXIyPg0KICA8c2lkZWJhcjM+PC9zaWRlYmFyMz4NCiAgPHNpZGViYXI0Pjwvc2lkZWJhcjQ+DQogIDxzaWRlYmFyNT48L3NpZGViYXI1Pg0KICA8c2lkZWJhcjY+PC9zaWRlYmFyNj4NCiAgPHNpZGViYXI3Pjwvc2lkZWJhcjc+DQogIDxzaWRlYmFyOD48L3NpZGViYXI4Pg0KICA8c2lkZWJhcjk+PC9zaWRlYmFyOT4NCjwvc2lkZWJhcnM+DQo8L3BsdWdpbj4=
AppCentre/plugin_edit.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdHRVQnKSwgJ0FwcENlbnRyZScpICYmIEdldFZhcnMoJ2lkJywgJ0dFVCcpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDUsIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgZGllKCk7DQp9DQoNCiRibG9ndGl0bGUgPSAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbmFtZSddIC4gJy0nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2VkaXRfYXBwJ107DQoNCkFwcENlbnRyZV9DaGVja0luU2VjdXJpdHlNb2RlKCk7DQoNCmlmIChHZXRWYXJzKCdpZCcpKSB7DQogICAgJGFwcCA9ICR6YnAtPkxvYWRBcHAoJ3BsdWdpbicsIEdldFZhcnMoJ2lkJykpOw0KICAgICRtdCA9IGFycmF5KCk7DQogICAgJGZ0ID0gR2V0RmlsZXNJbkRpcigkemJwLT5wYXRoIC4gJy96Yl91c2Vycy9wbHVnaW4vJyAuICRhcHAtPmlkIC4gJy8nLCAncGhwfGluY3xwbmcnKTsNCiAgICBmb3JlYWNoICgkZnQgYXMgJGYpIHsNCiAgICAgICAgJG10W10gPSBmaWxlbXRpbWUoJGYpOw0KICAgIH0NCiAgICByc29ydCgkbXQpOw0KICAgIGlmIChjb3VudCgkbXQpID09IDApIHsNCiAgICAgICAgJG10W10gPSB0aW1lKCk7DQogICAgfQ0KDQogICAgJGFwcC0+bW9kaWZpZWQgPSBkYXRlKCdZLW0tZCcsIHJlc2V0KCRtdCkpOw0KfSBlbHNlIHsNCiAgICAkYXBwID0gbmV3IEFwcDsNCiAgICAkYXBwLT5wcmljZSA9IDA7DQogICAgJGFwcC0+dmVyc2lvbiA9ICcxLjAnOw0KICAgICRhcHAtPnB1YmRhdGUgPSBkYXRlKCdZLW0tZCcsIHRpbWUoKSk7DQogICAgJGFwcC0+bW9kaWZpZWQgPSBkYXRlKCdZLW0tZCcsIHRpbWUoKSk7DQogICAgJHYgPSBhcnJheV9rZXlzKCR6YnB2ZXJzKTsNCiAgLy8kYXBwLT5hZGFwdGVkID0gKHN0cmluZykgZW5kKCR2KTsNCiAgICAkYXBwLT5hZGFwdGVkID0gJEdMT0JBTFNbJ2Jsb2d2ZXJzaW9uJ107DQogICAgJGFwcC0+dHlwZSA9ICdwbHVnaW4nOw0KICAgICRhcHAtPmF1dGhvcl9uYW1lID0gJHpicC0+dXNlci0+TmFtZTsNCiAgICAkYXBwLT5hdXRob3JfZW1haWwgPSAkemJwLT51c2VyLT5FbWFpbDsNCiAgICAkYXBwLT5hdXRob3JfdXJsID0gJHpicC0+dXNlci0+SG9tZVBhZ2U7DQogICAgJGFwcC0+cGF0aCA9ICdtYWluLnBocCc7DQogICAgJGFwcC0+aW5jbHVkZSA9ICdpbmNsdWRlLnBocCc7DQp9DQoNCmlmIChjb3VudCgkX1BPU1QpID4gMCkgew0KICAgIGlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdQT1NUJyksICdBcHBDZW50cmUnKSkgew0KICAgICAgICAkemJwLT5TaG93RXJyb3IoNSwgX19GSUxFX18sIF9fTElORV9fKTsNCiAgICAgICAgZGllKCk7DQogICAgfQ0KDQogICAgJGFwcC0+aWQgPSB0cmltKCRfUE9TVFsnYXBwX2lkJ10pOw0KICAgIGlmICghQ2hlY2tSZWdFeHAoJGFwcC0+aWQsICIvXltBLVphLXowLTlfXXszLDMwfSQvIikpIHsNCiAgICAgICAgJHpicC0+U2hvd0Vycm9yKCR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfaWRfbmFtZV9ydWxlJ10pOw0KICAgICAgICBkaWUoKTsNCiAgICB9DQogICAgaWYgKCFHZXRWYXJzKCdpZCcpKSB7DQogICAgICAgICRhcHAyID0gJHpicC0+TG9hZEFwcCgncGx1Z2luJywgJGFwcC0+aWQpOw0KICAgICAgICBpZiAocHJvcGVydHlfZXhpc3RzKCRhcHAyLCAnaXNsb2FkZWQnKSAmJiAkYXBwMi0+aXNsb2FkZWQpIHsNCiAgICAgICAgICAgICR6YnAtPlNob3dFcnJvcigkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX3dpdGhfc2FtZV9uYW1lJ10pOw0KICAgICAgICAgICAgZGllKCk7DQogICAgICAgIH0NCiAgICAgICAgQG1rZGlyKCR6YnAtPnVzZXJzZGlyIC4gJ3BsdWdpbi8nIC4gJGFwcC0+aWQgLiAnLycpOw0KICAgICAgICBAY29weSgkemJwLT51c2Vyc2RpciAuICdwbHVnaW4vQXBwQ2VudHJlL2ltYWdlcy9wbHVnaW4ucG5nJywgJHpicC0+dXNlcnNkaXIgLiAncGx1Z2luLycgLiAkYXBwLT5pZCAuICcvbG9nby5wbmcnKTsNCg0KICAgICAgICBpZiAodHJpbSgkX1BPU1RbJ2FwcF9wYXRoJ10pKSB7DQogICAgICAgICAgICAkZmlsZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCd0cGwvbWFpbi5odG1sJyk7DQogICAgICAgICAgICAkZmlsZSA9IHN0cl9yZXBsYWNlKCI8JWFwcGlkJT4iLCAkYXBwLT5pZCwgJGZpbGUpOw0KICAgICAgICAgICAgJGZpbGUgPSBzdHJfcmVwbGFjZSgiPCVhcHBuYW1lJT4iLCB0cmltKCRfUE9TVFsnYXBwX25hbWUnXSksICRmaWxlKTsNCiAgICAgICAgICAgICRwYXRoID0gJHpicC0+dXNlcnNkaXIgLiAncGx1Z2luLycgLiAkYXBwLT5pZCAuICcvJyAuIHRyaW0oJF9QT1NUWydhcHBfcGF0aCddKTsNCiAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkcGF0aCwgJGZpbGUpOw0KICAgICAgICB9DQogICAgICAgIGlmICh0cmltKCRfUE9TVFsnYXBwX2luY2x1ZGUnXSkpIHsNCiAgICAgICAgICAgICRmaWxlID0gZmlsZV9nZXRfY29udGVudHMoJ3RwbC9pbmNsdWRlLmh0bWwnKTsNCiAgICAgICAgICAgICRmaWxlID0gc3RyX3JlcGxhY2UoIjwlYXBwaWQlPiIsICRhcHAtPmlkLCAkZmlsZSk7DQogICAgICAgICAgICAkcGF0aCA9ICR6YnAtPnVzZXJzZGlyIC4gJ3BsdWdpbi8nIC4gJGFwcC0+aWQgLiAnL2luY2x1ZGUucGhwJzsNCiAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkcGF0aCwgJGZpbGUpOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgJGFwcC0+bmFtZSA9IHRyaW0oJF9QT1NUWydhcHBfbmFtZSddKTsNCiAgICAkYXBwLT51cmwgPSB0cmltKCRfUE9TVFsnYXBwX3VybCddKTsNCiAgICAkYXBwLT5ub3RlID0gdHJpbSgkX1BPU1RbJ2FwcF9ub3RlJ10pOw0KICAgICRhcHAtPmFkYXB0ZWQgPSAkX1BPU1RbJ2FwcF9hZGFwdGVkJ107DQogICAgaWYgKGlzc2V0KCRfUE9TVFsnYXBwX3ZlcnNpb24nXSkpIHsNCiAgICAgICAgJGFwcC0+dmVyc2lvbiA9IChmbG9hdCkgJF9QT1NUWydhcHBfdmVyc2lvbiddOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRhcHAtPnZlcnNpb24gPSB0cmltKChpbnQpICRfUE9TVFsnYXBwX3ZlcnNpb24xJ10pIC4gJy4nIC4gdHJpbSgoaW50KSAkX1BPU1RbJ2FwcF92ZXJzaW9uMiddKTsNCiAgICAgICAgaWYgKHRyaW0oJF9QT1NUWydhcHBfdmVyc2lvbjMnXSkgIT0gbnVsbCkgew0KICAgICAgICAgICAgJGFwcC0+dmVyc2lvbiAuPSAnLicgLiB0cmltKChpbnQpICRfUE9TVFsnYXBwX3ZlcnNpb24zJ10pOw0KICAgICAgICB9DQogICAgfQ0KDQogICAgaWYgKCRhcHAtPnZlcnNpb24gPT09IDEpIHsNCiAgICAgICAgJGFwcC0+dmVyc2lvbiA9ICcxLjAnOw0KICAgIH0NCg0KICAgICRhcHAtPnB1YmRhdGUgPSBkYXRlKCdZLW0tZCcsIHN0cnRvdGltZSgkX1BPU1RbJ2FwcF9wdWJkYXRlJ10pKTsNCiAgICAkYXBwLT5tb2RpZmllZCA9IGRhdGUoJ1ktbS1kJywgdGltZSgpKTsNCg0KICAgICRhcHAtPmF1dGhvcl9uYW1lID0gdHJpbSgkX1BPU1RbJ2FwcF9hdXRob3JfbmFtZSddKTsNCiAgICAkYXBwLT5hdXRob3JfZW1haWwgPSB0cmltKCRfUE9TVFsnYXBwX2F1dGhvcl9lbWFpbCddKTsNCiAgICAkYXBwLT5hdXRob3JfdXJsID0gdHJpbSgkX1BPU1RbJ2FwcF9hdXRob3JfdXJsJ10pOw0KDQogICAgJGFwcC0+cGF0aCA9IHRyaW0oJF9QT1NUWydhcHBfcGF0aCddKTsNCiAgICAkYXBwLT5pbmNsdWRlID0gdHJpbSgkX1BPU1RbJ2FwcF9pbmNsdWRlJ10pOw0KICAgICRhcHAtPmxldmVsID0gKGludCkgJF9QT1NUWydhcHBfbGV2ZWwnXTsNCiAgICAkYXBwLT5wcmljZSA9IChmbG9hdCkgJF9QT1NUWydhcHBfcHJpY2UnXTsNCg0KICAgIGlmIChwcm9wZXJ0eV9leGlzdHMoJGFwcCwgJ3BocHZlcicpKSB7DQogICAgICAgICRhcHAtPnBocHZlciA9IHRyaW0oJF9QT1NUWydhcHBfcGhwdmVyJ10pOw0KICAgIH0NCiAgICBpZiAocHJvcGVydHlfZXhpc3RzKCRhcHAsICdhZHZhbmNlZF9leGlzdHNmdW5jdGlvbnMnKSkgew0KICAgICAgICAkYXBwLT5hZHZhbmNlZF9leGlzdHNmdW5jdGlvbnMgPSB0cmltKCRfUE9TVFsnYXBwX2FkdmFuY2VkX2V4aXN0c2Z1bmN0aW9ucyddKTsNCiAgICB9DQoNCiAgICAkYXBwLT5hZHZhbmNlZF9kZXBlbmRlbmN5ID0gdHJpbSgkX1BPU1RbJ2FwcF9hZHZhbmNlZF9kZXBlbmRlbmN5J10pOw0KICAgICRhcHAtPmFkdmFuY2VkX2NvbmZsaWN0ID0gdHJpbSgkX1BPU1RbJ2FwcF9hZHZhbmNlZF9jb25mbGljdCddKTsNCiAgICAkYXBwLT5hZHZhbmNlZF9yZXdyaXRlZnVuY3Rpb25zID0gdHJpbSgkX1BPU1RbJ2FwcF9hZHZhbmNlZF9yZXdyaXRlZnVuY3Rpb25zJ10pOw0KDQogICAgJGFwcC0+ZGVzY3JpcHRpb24gPSB0cmltKCRfUE9TVFsnYXBwX2Rlc2NyaXB0aW9uJ10pOw0KDQogICAgJGFwcC0+U2F2ZUluZm9CeVhtbCgpOw0KDQogICAgJHQgPSAnJnRva2VuPScgLiAkemJwLT5HZXRUb2tlbignQXBwQ2VudHJlJyk7DQogICAgJHpicC0+U2V0SGludCgnZ29vZCcsICc8YSBocmVmPSJzdWJtaXQucGhwP3R5cGU9cGx1Z2luJmlkPScgLiAkYXBwLT5pZCAuICR0IC4gJyI+JyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydzdWJtaXR0ZWQgc3VjY2Vzc2Z1bGx5J10gLiAnPC9hPicpOw0KICAgIFJlZGlyZWN0KCRfU0VSVkVSWyJIVFRQX1JFRkVSRVIiXSk7DQp9DQoNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9oZWFkZXIucGhwJzsNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl90b3AucGhwJzsNCg0KPz4NCjxkaXYgaWQ9ImRpdk1haW4iPg0KDQogIDxkaXYgY2xhc3M9ImRpdkhlYWRlciI+PD9waHAgZWNobyAkYmxvZ3RpdGxlOyA/PjwvZGl2Pg0KPGRpdiBjbGFzcz0iU3ViTWVudSI+PD9waHAgQXBwQ2VudHJlX1N1Yk1lbnVzKEdldFZhcnMoJ2lkJywgJ0dFVCcpID09ICcnID8gNSA6ICcnKTsgPz48L2Rpdj4NCiAgPGRpdiBpZD0iZGl2TWFpbjIiPg0KDQo8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iIj4NCjw/cGhwIGVjaG8gJzxpbnB1dCBpZD0idG9rZW4iIG5hbWU9InRva2VuIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSInIC4gJHpicC0+R2V0VG9rZW4oJ0FwcENlbnRyZScpIC4gJyIvPic7ID8+DQogIDx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGNsYXNzPSJ0YWJsZUJvcmRlciB0YWJsZUJvcmRlci10aGNlbnRlciI+DQogICAgPHRyPg0KICAgICAgPHRoIHdpZHRoPScyOCUnPiZuYnNwOzwvdGg+DQogICAgICA8dGg+Jm5ic3A7PC90aD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfaWQnXTsgPz48L2I+PGJyLz4NCiAgICAgICAgICA8c3BhbiBjbGFzcz0ibm90ZSI+Jm5ic3A7Jm5ic3A7PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2lkX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfaWQiIG5hbWU9ImFwcF9pZCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmlkOyA/PiIgPD9waHAgZWNobyAoJGFwcC0+aWQpID8gJ3JlYWRvbmx5PSJyZWFkb25seSInIDogJyc7ID8+IC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9uYW1lJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX25hbWUiIG5hbWU9ImFwcF9uYW1lIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+bmFtZTsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3B1Ymxpc2hfdXJsJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX3VybCIgbmFtZT0iYXBwX3VybCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPnVybDsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9pbnRybyddOyA/PjwvYj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9ub3RlIiBuYW1lPSJhcHBfbm90ZSIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPm5vdGU7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhZGFwdGVkX3pibG9nX3ZlcnNpb24nXTsgPz48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPHNlbGVjdCBuYW1lPSJhcHBfYWRhcHRlZCIgaWQ9ImFwcF9hZGFwdGVkIiBzdHlsZT0id2lkdGg6NDAwcHg7Ij4NCjw/cGhwIGVjaG8gQXBwQ2VudHJlX0NyZWF0ZU9wdGlvbnNPZlZlcnNpb24oJGFwcC0+YWRhcHRlZCk7ID8+DQogICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF92ZXJzaW9uJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX3ZlcnNpb24xIiBuYW1lPSJhcHBfdmVyc2lvbjEiIHN0eWxlPSJ3aWR0aDoxNzVweDsiIHR5cGU9Im51bWJlciIgbWluPSIwIiBzdGVwPSIxIiB2YWx1ZT0iPD9waHAgZWNobyBTcGxpdEFuZEdldCgkYXBwLT52ZXJzaW9uLCAnLicsIDApOyA/PiIgLz4gLg0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX3ZlcnNpb24yIiBuYW1lPSJhcHBfdmVyc2lvbjIiIHN0eWxlPSJ3aWR0aDoxNzVweDsiIHR5cGU9Im51bWJlciIgbWluPSIwIiBzdGVwPSIxIiB2YWx1ZT0iPD9waHAgZWNobyBTcGxpdEFuZEdldCgkYXBwLT52ZXJzaW9uLCAnLicsIDEpOyA/PiIgLz4gLg0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX3ZlcnNpb24zIiBuYW1lPSJhcHBfdmVyc2lvbjMiIHN0eWxlPSJ3aWR0aDoxNzVweDsiIHR5cGU9Im51bWJlciIgbWluPSIwIiBzdGVwPSIxIiB2YWx1ZT0iPD9waHAgZWNobyBTcGxpdEFuZEdldCgkYXBwLT52ZXJzaW9uLCAnLicsIDIpOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZmlyc3RfcmVsZWFzZV9kYXRlJ107ID8+PC9iPjxici8+DQogICAgICAgICAgPHNwYW4gY2xhc3M9Im5vdGUiPiZuYnNwOyZuYnNwOzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2RhdGVfZm9ybWF0J107ID8+PC9zcGFuPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX3B1YmRhdGUiIG5hbWU9ImFwcF9wdWJkYXRlIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+cHViZGF0ZTsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2xhc3RfbW9kaWZpZWQnXTsgPz48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfbW9kaWZpZWQiIG5hbWU9ImFwcF9tb2RpZmllZCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPm1vZGlmaWVkOyA/PiIgcmVhZG9ubHkgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXV0aG9yX25hbWUnXTsgPz48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfYXV0aG9yX25hbWUiIG5hbWU9ImFwcF9hdXRob3JfbmFtZSIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmF1dGhvcl9uYW1lOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXV0aG9yX2VtYWlsJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2F1dGhvcl9lbWFpbCIgbmFtZT0iYXBwX2F1dGhvcl9lbWFpbCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmF1dGhvcl9lbWFpbDsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2F1dGhvcl93ZWJzaXRlJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2F1dGhvcl91cmwiIG5hbWU9ImFwcF9hdXRob3JfdXJsIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+YXV0aG9yX3VybDsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9tYW5hZ2VtZW50X3BhZ2UnXTsgPz48L2I+ICg8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8YnIvPg0KICAgICAgICAgIDxzcGFuIGNsYXNzPSJub3RlIj4mbmJzcDsmbmJzcDs8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfbWFuYWdlbWVudF9wYWdlX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfcGF0aCIgbmFtZT0iYXBwX3BhdGgiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5wYXRoOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2VtYmVkZGluZ19wYWdlJ107ID8+PC9iPiAoPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnb3B0aW9uYWwnXTsgPz4pPGJyLz4NCiAgICAgICAgICA8c3BhbiBjbGFzcz0ibm90ZSI+Jm5ic3A7Jm5ic3A7PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2VtYmVkZGluZ19wYWdlX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfaW5jbHVkZSIgbmFtZT0iYXBwX2luY2x1ZGUiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5pbmNsdWRlOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX21hbmFnZW1lbnRfcGVybWlzc2lvbnMnXTsgPz48L2I+ICg8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8c2VsZWN0IG5hbWU9ImFwcF9sZXZlbCIgaWQ9ImFwcF9sZXZlbCIgc3R5bGU9IndpZHRoOjIwMHB4OyI+DQo8P3BocA0KaWYgKGZ1bmN0aW9uX2V4aXN0cygnT3V0cHV0T3B0aW9uSXRlbXNPZk1lbWJlckxldmVsJykpIHsNCiAgICBlY2hvIE91dHB1dE9wdGlvbkl0ZW1zT2ZNZW1iZXJMZXZlbCgxKTsNCn0gZWxzZSB7DQogICAgZWNobyBDcmVhdGVPcHRvaW5zT2ZNZW1iZXJMZXZlbCgxKTsNCn0NCj8+DQogICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQo8P3BocCBpZiAocHJvcGVydHlfZXhpc3RzKCRhcHAsICdwaHB2ZXInKSkgeyA/Pg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydwaHBfcmVxdWlyZWRfdmVyc2lvbiddOyA/PjwvYj4gKDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxzZWxlY3QgbmFtZT0iYXBwX3BocHZlciIgaWQ9ImFwcF9waHB2ZXIiIHN0eWxlPSJ3aWR0aDo0MDBweDsiPg0KICAgIDw/cGhwIGVjaG8gQXBwQ2VudHJlX1BIUFZlcnNpb24oJGFwcC0+cGhwdmVyKTsgPz4NCiAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCjw/cGhwIH0gPz4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX3ByaWNlJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX3ByaWNlIiBuYW1lPSJhcHBfcHJpY2UiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5wcmljZTsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2RlcGVuZGVudF9hcHBzJ107ID8+PC9iPig8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9hZHZhbmNlZF9kZXBlbmRlbmN5IiBuYW1lPSJhcHBfYWR2YW5jZWRfZGVwZW5kZW5jeSIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmFkdmFuY2VkX2RlcGVuZGVuY3k7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydjb25mbGljdF9hcHBzJ107ID8+PC9iPig8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9hZHZhbmNlZF9jb25mbGljdCIgbmFtZT0iYXBwX2FkdmFuY2VkX2NvbmZsaWN0IiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+YWR2YW5jZWRfY29uZmxpY3Q7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0ciBzdHlsZT0iZGlzcGxheTogbm9uZSI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsncmV3cml0ZV9mdW5jdGlvbnMnXTsgPz48L2I+KDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2FkdmFuY2VkX3Jld3JpdGVmdW5jdGlvbnMiIG5hbWU9ImFwcF9hZHZhbmNlZF9yZXdyaXRlZnVuY3Rpb25zIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+YWR2YW5jZWRfcmV3cml0ZWZ1bmN0aW9uczsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQo8P3BocCBpZiAocHJvcGVydHlfZXhpc3RzKCRhcHAsICdhZHZhbmNlZF9leGlzdHNmdW5jdGlvbnMnKSkgeyA/Pg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydleGlzdHNfZnVuY3Rpb25zJ107ID8+PC9iPig8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9hZHZhbmNlZF9leGlzdHNmdW5jdGlvbnMiIG5hbWU9ImFwcF9hZHZhbmNlZF9leGlzdHNmdW5jdGlvbnMiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5hZHZhbmNlZF9leGlzdHNmdW5jdGlvbnM7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KPD9waHAgfSA/Pg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkZXRhaWxlZF9kZXNjcmlwdGlvbiddOyA/PjwvYj4gKDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDx0ZXh0YXJlYSBjb2xzPSIzIiByb3dzPSI2IiBpZD0iYXBwX2Rlc2NyaXB0aW9uIiBuYW1lPSJhcHBfZGVzY3JpcHRpb24iIHN0eWxlPSJ3aWR0aDo1NTBweDsiPjw/cGhwIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkYXBwLT5kZXNjcmlwdGlvbik7ID8+PC90ZXh0YXJlYT4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgPC90YWJsZT4NCiAgPHA+PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsncGx1Z2luX2xvZ29fdGlwcyddOyA/PjwvcD4NCiAgPHA+PGJyLz4NCiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iYnV0dG9uIiB2YWx1ZT0iPD9waHAgZWNobyAkemJwLT5sYW5nWydtc2cnXVsnc3VibWl0J107ID8+IiBpZD0iYnRuUG9zdCIgb25jbGljaz0nJyAvPg0KICA8L3A+DQogIDxwPiZuYnNwOzwvcD4NCjwvZm9ybT4NCg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BY3RpdmVMZWZ0TWVudSgiYUFwcENlbnRyZSIpOzwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BZGRIZWFkZXJJY29uKCI8P3BocCBlY2hvICRibG9naG9zdCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2xvZ28ucG5nJzsgPz4iKTs8L3NjcmlwdD4NCiAgPC9kaXY+DQo8L2Rpdj4NCjw/cGhwDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fZm9vdGVyLnBocCc7DQoNClJ1blRpbWUoKTsNCg0K
AppCentre/security.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQpyZXF1aXJlICcuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19zeXN0ZW1fYWRtaW4ucGhwJzsNCnJlcXVpcmUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLnBocCc7DQoNCiR6YnAtPkxvYWQoKTsNCg0KJGFjdGlvbiA9ICdyb290JzsNCmlmICghJHpicC0+Q2hlY2tSaWdodHMoJGFjdGlvbikpIHsNCiAgICAkemJwLT5TaG93RXJyb3IoNik7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+Q2hlY2tQbHVnaW4oJ0FwcENlbnRyZScpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDQ4KTsNCiAgICBkaWUoKTsNCn0NCg0KaWYgKGNvdW50KCRfUE9TVCkgPiAwKSB7DQogICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnQ2hlY2tJc1JlZmVyZXJWYWxpZCcpKSB7DQogICAgICAgIENoZWNrSXNSZWZlcmVyVmFsaWQoKTsNCiAgICB9DQogICAgZmlsZV9wdXRfY29udGVudHMoJHpicC0+cGF0aCAuICd6Yl91c2Vycy9kYXRhL2FwcGNlbnRyZV9zZWN1cml0eV9tb2RlLnBocCcsICcnKTsNCn0NCg0KJGJsb2d0aXRsZSA9ICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyduYW1lJ10gLiAnLScgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc2FmZV9tb2RlJ107DQoNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9oZWFkZXIucGhwJzsNCj8+DQo8c3R5bGU+DQoud2FybmluZyB7IA0KICBmb250LXNpemU6IDE1MCU7IA0KICBsaW5lLWhlaWdodDogMmVtOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGJhY2tncm91bmQ6IHdoaXRlOw0KfQ0KLndhcm5pbmcgLmJ1dHRvbiB7DQogIGhlaWdodDogMTAwJTsNCn0NCjwvc3R5bGU+DQo8P3BocA0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX3RvcC5waHAnOw0KPz4NCjxkaXYgaWQ9ImRpdk1haW4iPg0KDQogIDxkaXYgY2xhc3M9ImRpdkhlYWRlciI+PD9waHAgZWNobyAkYmxvZ3RpdGxlOyA/PjwvZGl2Pg0KPGRpdiBjbGFzcz0iU3ViTWVudSI+PD9waHAgQXBwQ2VudHJlX1N1Yk1lbnVzKDcpOyA/PjwvZGl2Pg0KICA8ZGl2IGlkPSJkaXZNYWluMiI+DQogIDxkaXYgY2xhc3M9Indhcm5pbmciPg0KPD9waHANCmlmIChBcHBDZW50cmVfSW5TZWN1cml0eU1vZGUoKSkgew0KICAgIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3R1cm5fb2ZmX3NhZmVfbW9kZV9ub3RlJ107DQp9IGVsc2Ugew0KICAgIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3R1cm5fb25fc2FmZV9tb2RlX25vdGUnXTsNCiAgICA/Pg0KPHA+DQo8Zm9ybSBtZXRob2Q9InBvc3QiPg0KICAgIDw/cGhwIGlmIChmdW5jdGlvbl9leGlzdHMoJ0NoZWNrSXNSZWZlcmVyVmFsaWQnKSkgeyA/Pg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY3NyZlRva2VuIiB2YWx1ZT0iPD9waHAgZWNobyAkemJwLT5HZXRDU1JGVG9rZW4oKTsgPz4iPg0KICAgIDw/cGhwIH0gPz4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidXR0b24iIHZhbHVlPSI8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd0dXJuX29uX3NhZmVfbW9kZSddOyA/PiI+PC9mb3JtPjwvcD4NCjw/cGhwIH0gPz4NCjwvZGl2Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BY3RpdmVMZWZ0TWVudSgiYUFwcENlbnRyZSIpOzwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BZGRIZWFkZXJJY29uKCI8P3BocCBlY2hvICRibG9naG9zdCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2xvZ28ucG5nJzsgPz4iKTs8L3NjcmlwdD4NCiAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8P3BocA0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX2Zvb3Rlci5waHAnOw0KDQpSdW5UaW1lKCk7DQoNCg==
AppCentre/setting.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQpyZXF1aXJlICcuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19zeXN0ZW1fYWRtaW4ucGhwJzsNCnJlcXVpcmUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLnBocCc7DQoNCiR6YnAtPkxvYWQoKTsNCg0KJGFjdGlvbiA9ICdyb290JzsNCmlmICghJHpicC0+Q2hlY2tSaWdodHMoJGFjdGlvbikpIHsNCiAgICAkemJwLT5TaG93RXJyb3IoNik7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+Q2hlY2tQbHVnaW4oJ0FwcENlbnRyZScpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDQ4KTsNCiAgICBkaWUoKTsNCn0NCg0KQXBwQ2VudHJlX0NoZWNrSW5TZWN1cml0eU1vZGUoKTsNCg0KJGJsb2d0aXRsZSA9ICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyduYW1lJ10gLiAnLScgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc2V0dGluZ3MnXTsNCg0KDQppZiAoR2V0VmFycygnYWN0JykgPT0gJ3NhdmUnKSB7DQogICAgaWYgKCEkemJwLT5WYWxpZFRva2VuKEdldFZhcnMoJ3Rva2VuJywgJ1BPU1QnKSwgJ0FwcENlbnRyZScpKSB7DQogICAgICAgICR6YnAtPlNob3dFcnJvcig1LCBfX0ZJTEVfXywgX19MSU5FX18pOw0KICAgICAgICBkaWUoKTsNCiAgICB9DQogICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlZGNoZWNrID0gKGludCkgR2V0VmFycygiYXBwX2VuYWJsZWRjaGVjayIpOw0KICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmNoZWNrYmV0YSA9IChpbnQpIEdldFZhcnMoImFwcF9jaGVja2JldGEiKTsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVkZXZlbG9wID0gKGludCkgR2V0VmFycygiYXBwX2VuYWJsZWRldmVsb3AiKTsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVnemlwYXBwID0gKGludCkgR2V0VmFycygiYXBwX2VuYWJsZWd6aXBhcHAiKTsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5uZXR3b3JrdHlwZSA9IHRyaW0oR2V0VmFycygiYXBwX25ldHdvcmt0eXBlIikpOw0KICAgICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmZpcnN0ZG9tYWluID0gdHJpbShHZXRWYXJzKCJhcHBfZmlyc3Rkb21haW4iKSk7DQogICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlcGx1Z2luc29ydCA9IHRyaW0oR2V0VmFycygiYXBwX2VuYWJsZXBsdWdpbnNvcnQiKSk7DQogICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlbXVsdGlkb3dubG9hZCA9IHRyaW0oR2V0VmFycygiYXBwX2VuYWJsZW11bHRpZG93bmxvYWQiKSk7DQogICAgJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+YXBwX2lnbm9yZXMgPSBHZXRWYXJzKCJhcHBfaWdub3JlcyIpOw0KICAgICR6YnAtPlNhdmVDb25maWcoJ0FwcENlbnRyZScpOw0KDQogICAgJHpicC0+U2V0SGludCgnZ29vZCcpOw0KICAgIFJlZGlyZWN0KCcuL3NldHRpbmcucGhwJyk7DQp9DQoNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9oZWFkZXIucGhwJzsNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl90b3AucGhwJzsNCj8+DQo8ZGl2IGlkPSJkaXZNYWluIj4NCg0KICA8ZGl2IGNsYXNzPSJkaXZIZWFkZXIiPjw/cGhwIGVjaG8gJGJsb2d0aXRsZTsgPz48L2Rpdj4NCjxkaXYgY2xhc3M9IlN1Yk1lbnUiPjw/cGhwIEFwcENlbnRyZV9TdWJNZW51cyg0KTsgPz48L2Rpdj4NCiAgPGRpdiBpZD0iZGl2TWFpbjIiPg0KDQogICAgICAgICAgICA8Zm9ybSBhY3Rpb249Ij9hY3Q9c2F2ZSIgbWV0aG9kPSJwb3N0Ij4NCiAgICAgICAgICAgIDw/cGhwIGVjaG8gJzxpbnB1dCBpZD0idG9rZW4iIG5hbWU9InRva2VuIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSInIC4gJHpicC0+R2V0VG9rZW4oJ0FwcENlbnRyZScpIC4gJyIvPic7ID8+DQogICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj4NCiAgICAgICAgICAgICAgICA8dHIgaGVpZ2h0PSIzMiI+DQogICAgICAgICAgICAgICAgICA8dGggY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc2V0dGluZ3MnXTsgPz4NCiAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0ciBoZWlnaHQ9IjMyIj4NCiAgICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMzAlIiBhbGlnbj0ibGVmdCI+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZW5hYmxlX2F1dG9tYXRpY191cGRhdGVzJ107ID8+PC9iPjxici8+DQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5vdGUiPiZuYnNwOyZuYnNwOzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2VuYWJsZV9hdXRvbWF0aWNfdXBkYXRlc19ub3RlJ107ID8+PC9zcGFuPjwvcD48L3RkPg0KICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0iYXBwX2VuYWJsZWRjaGVjayIgbmFtZT0iYXBwX2VuYWJsZWRjaGVjayIgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlZGNoZWNrOyA/PiIgY2xhc3M9ImNoZWNrYm94Ii8+PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0ciBoZWlnaHQ9IjMyIj4NCiAgICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMzAlIiBhbGlnbj0ibGVmdCI+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnY2hlY2tfdGhlX2JldGFfdmVyc2lvbiddOyA/PjwvYj48YnIvPg0KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJub3RlIj4mbmJzcDsmbmJzcDs8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydjaGVja190aGVfYmV0YV92ZXJzaW9uX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IGlkPSJhcHBfY2hlY2tiZXRhIiBuYW1lPSJhcHBfY2hlY2tiZXRhIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5jaGVja2JldGE7ID8+IiBjbGFzcz0iY2hlY2tib3giLz48L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyIGhlaWdodD0iMzIiPg0KICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIzMCUiIGFsaWduPSJsZWZ0Ij48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydlbmFibGVfZGV2ZWxvcGVyX21vZGUnXTsgPz48L2I+PGJyLz4NCiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibm90ZSI+Jm5ic3A7Jm5ic3A7PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZW5hYmxlX2RldmVsb3Blcl9tb2RlX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IGlkPSJhcHBfZW5hYmxlZGV2ZWxvcCIgbmFtZT0iYXBwX2VuYWJsZWRldmVsb3AiIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmVuYWJsZWRldmVsb3A7ID8+IiBjbGFzcz0iY2hlY2tib3giLz48L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyIGhlaWdodD0iMzIiPg0KICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIzMCUiIGFsaWduPSJsZWZ0Ij48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydleHBvcnRfZ3ppcF9jb21wcmVzc2VkJ107ID8+PC9iPjxici8+DQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5vdGUiPjwvc3Bhbj48L3A+PC90ZD4NCiAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgaWQ9ImFwcF9lbmFibGVnemlwYXBwIiBuYW1lPSJhcHBfZW5hYmxlZ3ppcGFwcCIgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+ZW5hYmxlZ3ppcGFwcDsgPz4iIGNsYXNzPSJjaGVja2JveCIvPjwvdGQ+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICA8dHIgaGVpZ2h0PSIzMiI+DQogICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjMwJSIgYWxpZ249ImxlZnQiPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2Nvbm5lY3RfdHlwZV9iYWNrZ3JvdW5kJ107ID8+PC9iPjxici8+DQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5vdGUiPiZuYnNwOyZuYnNwOzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2Nvbm5lY3RfdHlwZV9iYWNrZ3JvdW5kX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICAgICAgICAgICAgICA8dGQ+DQo8bGFiZWw+PGlucHV0IG5hbWU9ImFwcF9uZXR3b3JrdHlwZSIgdHlwZT0icmFkaW8iIHZhbHVlPSJjdXJsIiA8P3BocCBlY2hvICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPm5ldHdvcmt0eXBlID09ICdjdXJsJyA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJzsgPz4gLz5jdXJsKDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ2RlZmF1bHQnXTsgPz4pPC9sYWJlbD4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjxsYWJlbD48aW5wdXQgbmFtZT0iYXBwX25ldHdvcmt0eXBlIiB0eXBlPSJyYWRpbyIgdmFsdWU9ImZzb2Nrb3BlbiIgPD9waHAgZWNobyAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5uZXR3b3JrdHlwZSA9PSAnZnNvY2tvcGVuJyA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJzsgPz4gLz5mc29ja29wZW48L2xhYmVsPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPGxhYmVsPjxpbnB1dCBuYW1lPSJhcHBfbmV0d29ya3R5cGUiIHR5cGU9InJhZGlvIiB2YWx1ZT0iZmlsZWdldGNvbnRlbnRzIiA8P3BocCBlY2hvICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPm5ldHdvcmt0eXBlID09ICdmaWxlZ2V0Y29udGVudHMnID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnOyA/PiAvPmZpbGVnZXRjb250ZW50czwvbGFiZWw+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQogICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyIGhlaWdodD0iMzIiPg0KICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIzMCUiIGFsaWduPSJsZWZ0Ij48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydpZ25vcmVfdXBkYXRlZF9hcHBzJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgICAgICAgICAgICAgPHRkPg0KPD9waHANCmlmKCFpc19hcnJheSgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3JlcykpIHsNCiAgICAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3JlcyA9IGFycmF5KCk7DQp9DQpmb3JlYWNoICgkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5hcHBfaWdub3JlcyBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgIGVjaG8gIjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgbmFtZT1cImFwcF9pZ25vcmVzW11cIiBjaGVja2VkPVwiY2hlY2tlZFwiIHZhbHVlPVwieyR2YWx1ZX1cIj4mbmJzcDt7JHZhbHVlfTwvbGFiZWw+Jm5ic3A7Jm5ic3A7Jm5ic3A7IjsNCn0NCiRhcHMgPSBhcnJheV9tZXJnZShhcnJheSgkemJwLT50aGVtZSkgLCAkR0xPQkFMU1snemJwJ10tPkdldFByZUFjdGl2ZVBsdWdpbigpKTsNCg0KZm9yZWFjaCAoJGFwcyBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgIGlmIChpbl9hcnJheSgkdmFsdWUsICR6YnAtPkNvbmZpZygnQXBwQ2VudHJlJyktPmFwcF9pZ25vcmVzKSB8fCAkdmFsdWUgPT0gJ0FwcENlbnRyZScpIHsNCiAgICAgICAgY29udGludWU7DQogICAgfQ0KICAgIGVjaG8gIjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgbmFtZT1cImFwcF9pZ25vcmVzW11cIiB2YWx1ZT1cInskdmFsdWV9XCI+Jm5ic3A7eyR2YWx1ZX08L2xhYmVsPiZuYnNwOyZuYnNwOyZuYnNwOyI7DQp9DQoNCj8+DQogICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyIGhlaWdodD0iMzIiPg0KICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIzMCUiIGFsaWduPSJsZWZ0Ij48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydlbmFibGVfcGx1Z2luX3NvcnQnXTsgPz48L2I+PGJyLz4NCiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibm90ZSI+PC9zcGFuPjwvcD48L3RkPg0KICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBpZD0iYXBwX2VuYWJsZXBsdWdpbnNvcnQiIG5hbWU9ImFwcF9lbmFibGVwbHVnaW5zb3J0IiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5lbmFibGVwbHVnaW5zb3J0OyA/PiIgY2xhc3M9ImNoZWNrYm94Ii8+PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0ciBoZWlnaHQ9IjMyIj4NCiAgICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMzAlIiBhbGlnbj0ibGVmdCI+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZG9tYWluX29mX2FwcGNlbnRyZSddOyA/PjwvYj48YnIvPg0KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJub3RlIj4mbmJzcDsmbmJzcDs8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkb21haW5fb2ZfYXBwY2VudHJlX25vdGUnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICAgICAgICAgICAgICA8dGQ+DQo8bGFiZWw+PGlucHV0IG5hbWU9ImFwcF9maXJzdGRvbWFpbiIgdHlwZT0icmFkaW8iIHZhbHVlPSJ6YmxvZ2NuLmNvbSIgPD9waHAgZWNobyAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5maXJzdGRvbWFpbiA9PSAnemJsb2djbi5jb20nID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnOyA/PiAvPmFwcC56YmxvZ2NuLmNvbSg8P3BocCBlY2hvICR6YnAtPmxhbmdbJ21zZyddWydkZWZhdWx0J107ID8+KTwvbGFiZWw+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8bGFiZWw+PGlucHV0IG5hbWU9ImFwcF9maXJzdGRvbWFpbiIgdHlwZT0icmFkaW8iIHZhbHVlPSJ6YmxvZ2NuLm5ldCIgPD9waHAgZWNobyAkemJwLT5Db25maWcoJ0FwcENlbnRyZScpLT5maXJzdGRvbWFpbiA9PSAnemJsb2djbi5uZXQnID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnOyA/PiAvPmFwcC56YmxvZ2NuLm5ldDwvbGFiZWw+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQogICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQoNCiAgICAgICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgICAgICAgPGhyLz4NCiAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ijw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3N1Ym1pdCddOyA/PiIgY2xhc3M9ImJ1dHRvbiIgLz4NCiAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICA8aHIvPg0KICAgICAgICAgICAgPC9mb3JtPg0KDQoNCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+QWN0aXZlTGVmdE1lbnUoImFBcHBDZW50cmUiKTs8L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+QWRkSGVhZGVySWNvbigiPD9waHAgZWNobyAkYmxvZ2hvc3QgLiAnemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9sb2dvLnBuZyc7ID8+Iik7PC9zY3JpcHQ+DQogIDwvZGl2Pg0KPC9kaXY+DQoNCg0KPD9waHANCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9mb290ZXIucGhwJzsNCg0KUnVuVGltZSgpOw0KDQo=
AppCentre/submit.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQpyZXF1aXJlICcuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19zeXN0ZW1fYWRtaW4ucGhwJzsNCnJlcXVpcmUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLnBocCc7DQoNCiR6YnAtPkxvYWQoKTsNCg0KJGFjdGlvbiA9ICdyb290JzsNCmlmICghJHpicC0+Q2hlY2tSaWdodHMoJGFjdGlvbikpIHsNCiAgICAkemJwLT5TaG93RXJyb3IoNik7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+Q2hlY2tQbHVnaW4oJ0FwcENlbnRyZScpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDQ4KTsNCiAgICBkaWUoKTsNCn0NCg0KaWYgKCEkemJwLT5WYWxpZFRva2VuKEdldFZhcnMoJ3Rva2VuJywgJ0dFVCcpLCAnQXBwQ2VudHJlJykpIHsNCiAgICAkemJwLT5TaG93RXJyb3IoNSwgX19GSUxFX18sIF9fTElORV9fKTsNCiAgICBkaWUoKTsNCn0NCg0KQXBwQ2VudHJlX0NoZWNrSW5TZWN1cml0eU1vZGUoKTsNCg0KJGJsb2d0aXRsZSA9ICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyduYW1lJ10gLiAnLScgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc3VibWl0X2FwcCddOw0KDQokcyA9ICcnOw0KJHcgPSBhcnJheSgpOw0KDQokYXBwID0gbmV3IEFwcDsNCiRhcHAtPkxvYWRJbmZvQnlYbWwoJF9HRVRbJ3R5cGUnXSwgJF9HRVRbJ2lkJ10pOw0KDQokd1snaWQnXSA9ICRhcHAtPmlkOw0KJHdbJ2F1dGhvciddID0gJGFwcC0+YXV0aG9yX25hbWU7DQokd1snbW9kaWZpZWQnXSA9ICRhcHAtPm1vZGlmaWVkOw0KJHdbJ3ZlcnNpb24nXSA9ICRhcHAtPnZlcnNpb247DQoNCiR0ID0ganNvbl9lbmNvZGUoJHcpOw0KDQppZiAoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10gPT0gJ0dFVCcpIHsNCiAgICAkcyA9IFNlcnZlcl9PcGVuKCdzdWJtaXRwcmUnKTsNCn0NCg0KaWYgKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICdQT1NUJykgew0KICAgICR1cmwgPSBTZXJ2ZXJfT3Blbignc3VibWl0Jyk7DQogICAgJHVybCA9IHRyaW0oJHVybCk7DQogICAgaWYgKHN1YnN0cigkdXJsLCAwLCA0KSA9PSAnaHR0cCcpIHsNCiAgICAgICAgUmVkaXJlY3QoJHVybCk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmFsZXJ0KFwnJyAuICR1cmwgLiAnXCcpPC9zY3JpcHQ+JzsNCiAgICB9DQp9DQoNCmlmICghJHMpIHsNCiAgICAkcyA9ICd7ImlkIjoiJyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd1bnN1Ym1pdHRlZCddIC4gJyIsImF1dGhvciI6IicgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsndW5zdWJtaXR0ZWQnXSAuICciLCJtb2RpZmllZCI6IicgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsndW5zdWJtaXR0ZWQnXSAuICcifSc7DQp9DQoNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9oZWFkZXIucGhwJzsNCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl90b3AucGhwJzsNCg0KPz4NCjxkaXYgaWQ9ImRpdk1haW4iPg0KDQogIDxkaXYgY2xhc3M9ImRpdkhlYWRlciI+PD9waHAgZWNobyAkYmxvZ3RpdGxlOyA/PjwvZGl2Pg0KPGRpdiBjbGFzcz0iU3ViTWVudSI+PD9waHAgQXBwQ2VudHJlX1N1Yk1lbnVzKCcnKTsgPz48L2Rpdj4NCiAgPGRpdiBpZD0iZGl2TWFpbjIiPg0KDQoNCjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIiPg0KPHRhYmxlIGNsYXNzPSJ0YWJsZUZ1bGwgdGFibGVCb3JkZXIgdGFibGVCb3JkZXItdGhjZW50ZXIiPg0KPHRyPjx0aCBjb2xzcGFuPSIyIj48P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfdG9fYmVfc3VibWl0dGVkJ107ID8+PC90aD48L3RyPg0KDQo8dHI+PHRkIGNsYXNzPSJ0ZDMwIj48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfaWQnXTsgPz48L2I+PC9wPjwvdGQ+PHRkPjxwPiZuYnNwOzxpbnB1dCBpZD0ibG9jYWxfYXBwX2lkIiBuYW1lPSJsb2NhbF9hcHBfaWQiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiByZWFkb25seSAvPjwvcD48L3RkPjwvdHI+DQo8dHI+PHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9hdXRob3InXTsgPz48L2I+PC9wPjwvdGQ+PHRkPjxwPiZuYnNwOzxpbnB1dCBpZD0ibG9jYWxfYXBwX3VzZXIiIG5hbWU9ImxvY2FsX2FwcF91c2VyIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9IiIgcmVhZG9ubHkgLz48L3A+PC90ZD48L3RyPg0KPHRyPjx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydjdXJyZW50X3VwZGF0ZSddOyA/PjwvYj48L3A+PC90ZD48dGQ+PHA+Jm5ic3A7PGlucHV0IGlkPSJsb2NhbF9hcHBfZGF0ZSIgbmFtZT0ibG9jYWxfYXBwX2RhdGUiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiByZWFkb25seSAvPjwvcD48L3RkPjwvdHI+DQo8dHI+PHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2N1cnJlbnRfdmVyc2lvbiddOyA/PjwvYj48L3A+PC90ZD48dGQ+PHA+Jm5ic3A7PGlucHV0IGlkPSJsb2NhbF9hcHBfdmVyIiBuYW1lPSJsb2NhbF9hcHBfdmVyIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9IiIgcmVhZG9ubHkgLz48L3A+PC90ZD48L3RyPg0KPC90YWJsZT4NCg0KDQo8dGFibGUgY2xhc3M9InRhYmxlRnVsbCB0YWJsZUJvcmRlciB0YWJsZUJvcmRlci10aGNlbnRlciI+DQo8dHI+PHRoIGNvbHNwYW49IjIiPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3RhcmdldF9hcHBsaWNhdGlvbiddOyA/PjwvdGg+PC90cj4NCjx0cj48dGQgY2xhc3M9InRkMzAiPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9pZCddOyA/PjwvYj48L3A+PC90ZD48dGQ+PHA+Jm5ic3A7PGlucHV0IGlkPSJ6YmxvZ19hcHBfaWQiIG5hbWU9InpibG9nX2FwcF9pZCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSIiIHJlYWRvbmx5IC8+PC9wPjwvdGQ+PC90cj4NCjx0cj48dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2F1dGhvciddOyA/PjwvYj48L3A+PC90ZD48dGQ+PHA+Jm5ic3A7PGlucHV0IGlkPSJ6YmxvZ19hcHBfdXNlciIgbmFtZT0iemJsb2dfYXBwX3VzZXIiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiByZWFkb25seSAvPjwvcD48L3RkPjwvdHI+DQo8dHI+PHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2xhdGVzdF91cGRhdGUnXTsgPz48L2I+PC9wPjwvdGQ+PHRkPjxwPiZuYnNwOzxpbnB1dCBpZD0iemJsb2dfYXBwX2RhdGUiIG5hbWU9InpibG9nX2FwcF9kYXRlIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9IiIgcmVhZG9ubHkgLz48L3A+PC90ZD48L3RyPg0KPHRyPjx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydsYXRlc3RfdmVyc2lvbiddOyA/PjwvYj48L3A+PC90ZD48dGQ+PHA+Jm5ic3A7PGlucHV0IGlkPSJ6YmxvZ19hcHBfdmVyIiBuYW1lPSJ6YmxvZ19hcHBfdmVyIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9IiIgcmVhZG9ubHkgLz48L3A+PC90ZD48L3RyPg0KPC90YWJsZT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBqc29uaW5mbz1ldmFsKDw/cGhwIGVjaG8gJHQ7ID8+KTsNCiQoIiNsb2NhbF9hcHBfaWQiKS52YWwoanNvbmluZm8uaWQpOw0KJCgiI2xvY2FsX2FwcF91c2VyIikudmFsKGpzb25pbmZvLmF1dGhvcik7DQokKCIjbG9jYWxfYXBwX2RhdGUiKS52YWwoanNvbmluZm8ubW9kaWZpZWQpOw0KJCgiI2xvY2FsX2FwcF92ZXIiKS52YWwoanNvbmluZm8udmVyc2lvbik7DQoNCnZhciBqc29uaW5mbz1ldmFsKDw/cGhwIGVjaG8gJHM7ID8+KTsNCiQoIiN6YmxvZ19hcHBfaWQiKS52YWwoanNvbmluZm8uaWQpOw0KJCgiI3pibG9nX2FwcF91c2VyIikudmFsKGpzb25pbmZvLmF1dGhvcik7DQokKCIjemJsb2dfYXBwX2RhdGUiKS52YWwoanNvbmluZm8ubW9kaWZpZWQpOw0KJCgiI3pibG9nX2FwcF92ZXIiKS52YWwoanNvbmluZm8udmVyc2lvbik7DQo8L3NjcmlwdD4NCg0KDQo8cD48YnIvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidXR0b24iIHZhbHVlPSI8P3BocCBlY2hvICR6YnAtPmxhbmdbJ21zZyddWydzdWJtaXQnXTsgPz4iIGlkPSJidG5Qb3N0IiBvbmNsaWNrPSdyZXR1cm4gY29uZmlybSgiPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnd2FudF90b19zdWJtaXQnXTsgPz4iKScgLz48L3A+PHA+Jm5ic3A7PC9wPg0KDQoNCjwvZm9ybT4NCg0KDQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPkFjdGl2ZUxlZnRNZW51KCJhQXBwQ2VudHJlIik7PC9zY3JpcHQ+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPkFkZEhlYWRlckljb24oIjw/cGhwIGVjaG8gJGJsb2dob3N0IC4gJ3piX3VzZXJzL3BsdWdpbi9BcHBDZW50cmUvbG9nby5wbmcnOyA/PiIpOzwvc2NyaXB0Pg0KICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCjw/cGhwDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fZm9vdGVyLnBocCc7DQoNClJ1blRpbWUoKTsNCg0K
AppCentre/theme.js.phpPD9waHANCmlmICghZGVmaW5lZCgnWkJQX1BBVEgnKSkgew0KICAgIGV4aXQoJ0FjY2VzcyBkZW5pZWQnKTsNCn0NCiR0ID0gJyZ0b2tlbj0nIC4gJHpicC0+R2V0VG9rZW4oJ0FwcENlbnRyZScpOw0KPz4NCg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsgDQoNCiQoIiNkaXZNYWluMiIpLnByZXBlbmQoIjxmb3JtIGNsYXNzPSdzZWFyY2gnIG5hbWU9J2VkaXQnIGlkPSdlZGl0JyBtZXRob2Q9J3Bvc3QnIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnIGFjdGlvbj0nIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9hcHBfdXBsb2FkLnBocCc+PHA+PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsndXBsb2FkX3RoZW1lX3piYSddOyA/PjombmJzcDs8aW5wdXQgdHlwZT0nZmlsZScgaWQ9J2VkdEZpbGVMb2FkJyBuYW1lPSdlZHRGaWxlTG9hZCcgc2l6ZT0nNDAnIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlucHV0IHR5cGU9J3N1Ym1pdCcgY2xhc3M9J2J1dHRvbicgdmFsdWU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3N1Ym1pdCddOyA/PicgbmFtZT0nQjEnIC8+Jm5ic3A7Jm5ic3A7PD9waHAgZWNobyAiPGlucHV0IGlkPSd0b2tlbicgbmFtZT0ndG9rZW4nIHR5cGU9J2hpZGRlbicgdmFsdWU9JyIgLiAkemJwLT5HZXRUb2tlbignQXBwQ2VudHJlJykgLiAiJy8+IjsgPz4NCjxpbnB1dCBjbGFzcz0nYnV0dG9uJyB0eXBlPSdyZXNldCcgdmFsdWU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3Jlc2V0J107ID8+JyBuYW1lPSdCMicgLz4mbmJzcDs8L3A+PC9mb3JtPiIpOw0KDQoNCg0KJCgiLnRoZW1lIikuZWFjaChmdW5jdGlvbigpew0KICAgIHZhciB0PSQodGhpcykuZmluZCgic3Ryb25nIikuaHRtbCgpOw0KICAgIHZhciBzPSI8cCBzdHlsZT0ncGFkZGluZy1ib3R0b206MC41ZW07Jz4iOw0KDQogICAgaWYoJCh0aGlzKS5oYXNDbGFzcygidGhlbWUtbm93Iikpew0KICAgICAgICA8P3BocA0KDQogICAgICAgICAgICBpZiAoJHpicC0+TG9hZEFwcCgndGhlbWUnLCAkemJwLT50aGVtZSktPklzVXNlZCgpICYmICR6YnAtPkxvYWRBcHAoJ3RoZW1lJywgJHpicC0+dGhlbWUpLT5wYXRoKSB7DQo/Pg0KICAgICAgICBzPXMrIjxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj0nPD9waHAgZWNobyAkemJwLT5Mb2FkQXBwKCd0aGVtZScsICR6YnAtPnRoZW1lKS0+R2V0TWFuYWdlVXJsKCk7Pz4nIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydjb25maWdfdGhlbWUnXTsgPz4nPjw/cGhwIGVjaG8gQXBwQ2VudHJlX0NyZWF0ZUJ1dHRvbignc2V0Jyk7ID8+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyI7DQo8P3BocA0KICAgICAgICAgICAgfQ0KICAgICAgICA/Pg0KICAgIH0NCg0KICAgIGlmKGFwcF9lbmFibGVkZXZlbG9wKXsNCg0KICAgIHM9cysiPGEgY2xhc3M9XCJidXR0b25cIiBocmVmPSciK2Jsb2dob3N0KyJ6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL3RoZW1lX2VkaXQucGhwP2lkPSIrdCsiPD9waHAgZWNobyAkdDsgPz4nIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydlZGl0X2FwcCddOyA/Pic+PD9waHAgZWNobyBBcHBDZW50cmVfQ3JlYXRlQnV0dG9uKCdlZGl0Jyk7ID8+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyI7DQoNCiAgICBzPXMrIjxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj0nIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9hcHBfcGFjay5waHA/dHlwZT10aGVtZSZpZD0iK3QrIjw/cGhwIGVjaG8gJHQ7ID8+JyB0aXRsZT0nPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZXhwb3J0X2FwcCddOyA/PicgdGFyZ2V0PSdfYmxhbmsnPjw/cGhwIGVjaG8gQXBwQ2VudHJlX0NyZWF0ZUJ1dHRvbignZG93bmxvYWQnKTsgPz48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IjsNCg0KICAgIH0NCg0KICAgIGlmKCQodGhpcykuaGFzQ2xhc3MoInRoZW1lLW5vdyIpKXsNCiAgICAgICAgcz1zKyI8YSBjbGFzcz1cImJ1dHRvblwiIGhyZWY9JyIrYmxvZ2hvc3QrInpiX3N5c3RlbS9hZG1pbi9tb2R1bGVfZWRpdC5waHA/c291cmNlPXRoZW1lJyB0aXRsZT0nPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYWRkX21vZHVsZV9mb3JfdGhlbWUnXTsgPz4nPjw/cGhwIGVjaG8gQXBwQ2VudHJlX0NyZWF0ZUJ1dHRvbignbW9kdWxlJyk7ID8+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyI7DQogICAgfQ0KDQogICAgaWYoYXBwX2VuYWJsZWRldmVsb3Apew0KICAgICAgICBzPXMrIjxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj0nIitibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS9zdWJtaXQucGhwP3R5cGU9dGhlbWUmYW1wO2lkPSIrdCsiPD9waHAgZWNobyAkdDsgPz4nIHRpdGxlPSc8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd1cGxvYWRfYXBwX3RvX2FwcGNlbnRyZSddOyA/PicgdGFyZ2V0PSdfYmxhbmsnPjw/cGhwIGVjaG8gQXBwQ2VudHJlX0NyZWF0ZUJ1dHRvbignY2xvdWR1cCcpOyA/PjwvYT4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsiOw0KICAgIH0NCg0KDQogICAgaWYoJCh0aGlzKS5oYXNDbGFzcygidGhlbWUtb3RoZXIiKSl7DQogICAgICAgIHM9cysiPGEgY2xhc3M9XCJidXR0b25cIiBocmVmPSciK2Jsb2dob3N0KyJ6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2FwcF9kZWwucGhwP3R5cGU9dGhlbWUmaWQ9Iit0KyI8P3BocCBlY2hvICR0OyA/PicgdGl0bGU9Jzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2RlbF9hcHAnXTsgPz4nIG9uY2xpY2s9J3JldHVybiB3aW5kb3cuY29uZmlybShcIjw/cGhwIGVjaG8gc3RyX3JlcGxhY2UoJyInLCAnJywgJHpicC0+bGFuZ1snbXNnJ11bJ2NvbmZpcm1fb3BlcmF0aW5nJ10pOyA/PlwiKTsnPjw/cGhwIGVjaG8gQXBwQ2VudHJlX0NyZWF0ZUJ1dHRvbignZGVsZXRlJyk7ID8+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyI7DQogICAgfQ0KDQogICAgcz1zKyI8L3A+IjsNCiAgICAkKHRoaXMpLmFwcGVuZChzKTsNCiAgICANCn0pOw0KDQppZih6YnAub3B0aW9ucy5ibG9ndmVyc2lvbj4xNzAwMDApJCgiYS5idXR0b24iKS5yZW1vdmVDbGFzcygiYnV0dG9uIik7DQoNCn0pOw==
AppCentre/theme_edit.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQpyZXF1aXJlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5waHAnOw0KDQokemJwLT5Mb2FkKCk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCmlmICghJHpicC0+VmFsaWRUb2tlbihHZXRWYXJzKCd0b2tlbicsICdHRVQnKSwgJ0FwcENlbnRyZScpICYmIEdldFZhcnMoJ2lkJywgJ0dFVCcpKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDUsIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgZGllKCk7DQp9DQoNCkFwcENlbnRyZV9DaGVja0luU2VjdXJpdHlNb2RlKCk7DQoNCiRibG9ndGl0bGUgPSAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbmFtZSddIC4gJy0nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2VkaXRfYXBwJ107DQoNCmlmIChHZXRWYXJzKCdpZCcpKSB7DQogICAgJGFwcCA9ICR6YnAtPkxvYWRBcHAoJ3RoZW1lJywgR2V0VmFycygnaWQnKSk7DQogICAgJG10ID0gYXJyYXkoKTsNCiAgICAkZnQgPSBHZXRGaWxlc0luRGlyKCR6YnAtPnBhdGggLiAnL3piX3VzZXJzL3RoZW1lLycgLiAkYXBwLT5pZCAuICcvJywgJ3BocHxpbmN8cG5nJyk7DQogICAgZm9yZWFjaCAoJGZ0IGFzICRmKSB7DQogICAgICAgICRtdFtdID0gZmlsZW10aW1lKCRmKTsNCiAgICB9DQogICAgJGZ0ID0gR2V0RmlsZXNJbkRpcigkemJwLT5wYXRoIC4gJy96Yl91c2Vycy90aGVtZS8nIC4gJGFwcC0+aWQgLiAnL2luY2x1ZGUvJywgJ3BocHxpbmN8cG5nJyk7DQogICAgZm9yZWFjaCAoJGZ0IGFzICRmKSB7DQogICAgICAgICRtdFtdID0gZmlsZW10aW1lKCRmKTsNCiAgICB9DQogICAgJGZ0ID0gR2V0RmlsZXNJbkRpcigkemJwLT5wYXRoIC4gJy96Yl91c2Vycy90aGVtZS8nIC4gJGFwcC0+aWQgLiAnL3N0eWxlLycsICdwaHB8aW5jfHBuZycpOw0KICAgIGZvcmVhY2ggKCRmdCBhcyAkZikgew0KICAgICAgICAkbXRbXSA9IGZpbGVtdGltZSgkZik7DQogICAgfQ0KICAgICRmdCA9IEdldEZpbGVzSW5EaXIoJHpicC0+cGF0aCAuICcvemJfdXNlcnMvdGhlbWUvJyAuICRhcHAtPmlkIC4gJy90ZW1wbGF0ZS8nLCAncGhwfGluY3xwbmcnKTsNCiAgICBmb3JlYWNoICgkZnQgYXMgJGYpIHsNCiAgICAgICAgJG10W10gPSBmaWxlbXRpbWUoJGYpOw0KICAgIH0NCiAgICAkZnQgPSBHZXRGaWxlc0luRGlyKCR6YnAtPnBhdGggLiAnL3piX3VzZXJzL3RoZW1lLycgLiAkYXBwLT5pZCAuICcvc291cmNlLycsICdwaHB8aW5jfHBuZycpOw0KICAgIGZvcmVhY2ggKCRmdCBhcyAkZikgew0KICAgICAgICAkbXRbXSA9IGZpbGVtdGltZSgkZik7DQogICAgfQ0KICAgIHJzb3J0KCRtdCk7DQogICAgaWYgKGNvdW50KCRtdCkgPT0gMCkgew0KICAgICAgICAkbXRbXSA9IHRpbWUoKTsNCiAgICB9DQoNCiAgICAkYXBwLT5tb2RpZmllZCA9IGRhdGUoJ1ktbS1kJywgcmVzZXQoJG10KSk7DQp9IGVsc2Ugew0KICAgICRhcHAgPSBuZXcgQXBwOw0KICAgICRhcHAtPnByaWNlID0gMDsNCiAgICAkYXBwLT52ZXJzaW9uID0gJzEuMCc7DQogICAgJGFwcC0+cHViZGF0ZSA9IGRhdGUoJ1ktbS1kJywgdGltZSgpKTsNCiAgICAkYXBwLT5tb2RpZmllZCA9IGRhdGUoJ1ktbS1kJywgdGltZSgpKTsNCiAgICAkdiA9IGFycmF5X2tleXMoJHpicHZlcnMpOw0KICAgIC8vJGFwcC0+YWRhcHRlZCA9IChzdHJpbmcpIGVuZCgkdik7DQogICAgJGFwcC0+YWRhcHRlZCA9ICRHTE9CQUxTWydibG9ndmVyc2lvbiddOw0KICAgICRhcHAtPnR5cGUgPSAndGhlbWUnOw0KfQ0KDQppZiAoY291bnQoJF9QT1NUKSA+IDApIHsNCiAgICBpZiAoISR6YnAtPlZhbGlkVG9rZW4oR2V0VmFycygndG9rZW4nLCAnUE9TVCcpLCAnQXBwQ2VudHJlJykpIHsNCiAgICAgICAgJHpicC0+U2hvd0Vycm9yKDUsIF9fRklMRV9fLCBfX0xJTkVfXyk7DQogICAgICAgIGRpZSgpOw0KICAgIH0NCg0KICAgICRhcHAtPmlkID0gdHJpbSgkX1BPU1RbJ2FwcF9pZCddKTsNCiAgICBpZiAoIUNoZWNrUmVnRXhwKCRhcHAtPmlkLCAiL15bQS1aYS16MC05X117MywzMH0kLyIpKSB7DQogICAgICAgICR6YnAtPlNob3dFcnJvcigkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2lkX25hbWVfcnVsZSddKTsNCiAgICAgICAgZGllKCk7DQogICAgfQ0KICAgIGlmICghR2V0VmFycygnaWQnKSkgew0KICAgICAgICAkYXBwMiA9ICR6YnAtPkxvYWRBcHAoJ3RoZW1lJywgJGFwcC0+aWQpOw0KICAgICAgICBpZiAocHJvcGVydHlfZXhpc3RzKCRhcHAyLCAnaXNsb2FkZWQnKSAmJiAkYXBwMi0+aXNsb2FkZWQpIHsNCiAgICAgICAgICAgICR6YnAtPlNob3dFcnJvcigkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX3dpdGhfc2FtZV9uYW1lJ10pOw0KICAgICAgICAgICAgZGllKCk7DQogICAgICAgIH0NCiAgICAgICAgQG1rZGlyKCR6YnAtPnVzZXJzZGlyIC4gJ3RoZW1lLycgLiAkYXBwLT5pZCk7DQogICAgICAgIEBta2RpcigkemJwLT51c2Vyc2RpciAuICd0aGVtZS8nIC4gJGFwcC0+aWQgLiAnL3N0eWxlJyk7DQogICAgICAgIEBta2RpcigkemJwLT51c2Vyc2RpciAuICd0aGVtZS8nIC4gJGFwcC0+aWQgLiAnL2NvbXBpbGUnKTsNCiAgICAgICAgQG1rZGlyKCR6YnAtPnVzZXJzZGlyIC4gJ3RoZW1lLycgLiAkYXBwLT5pZCAuICcvdGVtcGxhdGUnKTsNCiAgICAgICAgQG1rZGlyKCR6YnAtPnVzZXJzZGlyIC4gJ3RoZW1lLycgLiAkYXBwLT5pZCAuICcvaW5jbHVkZScpOw0KICAgICAgICBAbWtkaXIoJHpicC0+dXNlcnNkaXIgLiAndGhlbWUvJyAuICRhcHAtPmlkIC4gJy9zY3JpcHQnKTsNCiAgICAgICAgQGNvcHkoJHpicC0+dXNlcnNkaXIgLiAncGx1Z2luL0FwcENlbnRyZS9pbWFnZXMvdGhlbWUucG5nJywgJHpicC0+dXNlcnNkaXIgLiAndGhlbWUvJyAuICRhcHAtPmlkIC4gJy9zY3JlZW5zaG90LnBuZycpOw0KICAgICAgICBAZmlsZV9wdXRfY29udGVudHMoJHpicC0+dXNlcnNkaXIgLiAndGhlbWUvJyAuICRhcHAtPmlkIC4gJy9zdHlsZS9zdHlsZS5jc3MnLCAnJyk7DQoNCiAgICAgICAgaWYgKHRyaW0oJF9QT1NUWydhcHBfcGF0aCddKSkgew0KICAgICAgICAgICAgJGZpbGUgPSBmaWxlX2dldF9jb250ZW50cygndHBsL21haW4uaHRtbCcpOw0KICAgICAgICAgICAgJGZpbGUgPSBzdHJfcmVwbGFjZSgiPCVhcHBpZCU+IiwgJGFwcC0+aWQsICRmaWxlKTsNCiAgICAgICAgICAgICRmaWxlID0gc3RyX3JlcGxhY2UoIjwlYXBwbmFtZSU+IiwgdHJpbSgkX1BPU1RbJ2FwcF9uYW1lJ10pLCAkZmlsZSk7DQogICAgICAgICAgICAkcGF0aCA9ICR6YnAtPnVzZXJzZGlyIC4gJ3RoZW1lLycgLiAkYXBwLT5pZCAuICcvJyAuIHRyaW0oJF9QT1NUWydhcHBfcGF0aCddKTsNCiAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkcGF0aCwgJGZpbGUpOw0KICAgICAgICB9DQogICAgICAgIGlmICh0cmltKCRfUE9TVFsnYXBwX2luY2x1ZGUnXSkpIHsNCiAgICAgICAgICAgICRmaWxlID0gZmlsZV9nZXRfY29udGVudHMoJ3RwbC9pbmNsdWRlLmh0bWwnKTsNCiAgICAgICAgICAgICRmaWxlID0gc3RyX3JlcGxhY2UoIjwlYXBwaWQlPiIsICRhcHAtPmlkLCAkZmlsZSk7DQogICAgICAgICAgICAkcGF0aCA9ICR6YnAtPnVzZXJzZGlyIC4gJ3RoZW1lLycgLiAkYXBwLT5pZCAuICcvaW5jbHVkZS5waHAnOw0KICAgICAgICAgICAgQGZpbGVfcHV0X2NvbnRlbnRzKCRwYXRoLCAkZmlsZSk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAkYXBwLT5uYW1lID0gdHJpbSgkX1BPU1RbJ2FwcF9uYW1lJ10pOw0KICAgICRhcHAtPnVybCA9IHRyaW0oJF9QT1NUWydhcHBfdXJsJ10pOw0KICAgICRhcHAtPm5vdGUgPSB0cmltKCRfUE9TVFsnYXBwX25vdGUnXSk7DQogICAgJGFwcC0+YWRhcHRlZCA9ICRfUE9TVFsnYXBwX2FkYXB0ZWQnXTsNCg0KICAgIGlmIChpc3NldCgkX1BPU1RbJ2FwcF92ZXJzaW9uJ10pKSB7DQogICAgICAgICRhcHAtPnZlcnNpb24gPSAoZmxvYXQpICRfUE9TVFsnYXBwX3ZlcnNpb24nXTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkYXBwLT52ZXJzaW9uID0gdHJpbSgoaW50KSAkX1BPU1RbJ2FwcF92ZXJzaW9uMSddKSAuICcuJyAuIHRyaW0oKGludCkgJF9QT1NUWydhcHBfdmVyc2lvbjInXSk7DQogICAgICAgIGlmICh0cmltKCRfUE9TVFsnYXBwX3ZlcnNpb24zJ10pICE9IG51bGwpIHsNCiAgICAgICAgICAgICRhcHAtPnZlcnNpb24gLj0gJy4nIC4gdHJpbSgoaW50KSAkX1BPU1RbJ2FwcF92ZXJzaW9uMyddKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGlmICgkYXBwLT52ZXJzaW9uID09PSAxKSB7DQogICAgICAgICRhcHAtPnZlcnNpb24gPSAnMS4wJzsNCiAgICB9DQoNCiAgICAkYXBwLT5wdWJkYXRlID0gZGF0ZSgnWS1tLWQnLCBzdHJ0b3RpbWUoJF9QT1NUWydhcHBfcHViZGF0ZSddKSk7DQogICAgJGFwcC0+bW9kaWZpZWQgPSBkYXRlKCdZLW0tZCcsIHRpbWUoKSk7DQoNCiAgICAkYXBwLT5hdXRob3JfbmFtZSA9IHRyaW0oJF9QT1NUWydhcHBfYXV0aG9yX25hbWUnXSk7DQogICAgJGFwcC0+YXV0aG9yX2VtYWlsID0gdHJpbSgkX1BPU1RbJ2FwcF9hdXRob3JfZW1haWwnXSk7DQogICAgJGFwcC0+YXV0aG9yX3VybCA9IHRyaW0oJF9QT1NUWydhcHBfYXV0aG9yX3VybCddKTsNCiAgICAkYXBwLT5zb3VyY2VfbmFtZSA9IHRyaW0oJF9QT1NUWydhcHBfc291cmNlX25hbWUnXSk7DQogICAgJGFwcC0+c291cmNlX2VtYWlsID0gdHJpbSgkX1BPU1RbJ2FwcF9zb3VyY2VfZW1haWwnXSk7DQogICAgJGFwcC0+c291cmNlX3VybCA9IHRyaW0oJF9QT1NUWydhcHBfc291cmNlX3VybCddKTsNCg0KICAgICRhcHAtPnBhdGggPSB0cmltKCRfUE9TVFsnYXBwX3BhdGgnXSk7DQogICAgJGFwcC0+aW5jbHVkZSA9IHRyaW0oJF9QT1NUWydhcHBfaW5jbHVkZSddKTsNCiAgICAkYXBwLT5sZXZlbCA9IChpbnQpICRfUE9TVFsnYXBwX2xldmVsJ107DQogICAgJGFwcC0+cHJpY2UgPSAoZmxvYXQpICRfUE9TVFsnYXBwX3ByaWNlJ107DQoNCiAgICBpZiAocHJvcGVydHlfZXhpc3RzKCRhcHAsICdwaHB2ZXInKSkgew0KICAgICAgICAkYXBwLT5waHB2ZXIgPSB0cmltKCRfUE9TVFsnYXBwX3BocHZlciddKTsNCiAgICB9DQogICAgaWYgKHByb3BlcnR5X2V4aXN0cygkYXBwLCAnYWR2YW5jZWRfZXhpc3RzZnVuY3Rpb25zJykpIHsNCiAgICAgICAgJGFwcC0+YWR2YW5jZWRfZXhpc3RzZnVuY3Rpb25zID0gdHJpbSgkX1BPU1RbJ2FwcF9hZHZhbmNlZF9leGlzdHNmdW5jdGlvbnMnXSk7DQogICAgfQ0KDQogICAgJGFwcC0+YWR2YW5jZWRfZGVwZW5kZW5jeSA9IHRyaW0oJF9QT1NUWydhcHBfYWR2YW5jZWRfZGVwZW5kZW5jeSddKTsNCiAgICAkYXBwLT5hZHZhbmNlZF9jb25mbGljdCA9IHRyaW0oJF9QT1NUWydhcHBfYWR2YW5jZWRfY29uZmxpY3QnXSk7DQogICAgJGFwcC0+YWR2YW5jZWRfcmV3cml0ZWZ1bmN0aW9ucyA9IHRyaW0oJF9QT1NUWydhcHBfYWR2YW5jZWRfcmV3cml0ZWZ1bmN0aW9ucyddKTsNCg0KICAgICRhcHAtPmRlc2NyaXB0aW9uID0gdHJpbSgkX1BPU1RbJ2FwcF9kZXNjcmlwdGlvbiddKTsNCg0KICAgIGlmIChHZXRWYXJzKCdhcHBfc2lkZWJhcnNfc2lkZWJhcjEnKSkgew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyMSA9ICR6YnAtPm9wdGlvblsnWkNfU0lERUJBUl9PUkRFUiddOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRhcHAtPnNpZGViYXJzX3NpZGViYXIxID0gJyc7DQogICAgfQ0KICAgIGlmIChHZXRWYXJzKCdhcHBfc2lkZWJhcnNfc2lkZWJhcjInKSkgew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyMiA9ICR6YnAtPm9wdGlvblsnWkNfU0lERUJBUjJfT1JERVInXTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyMiA9ICcnOw0KICAgIH0NCiAgICBpZiAoR2V0VmFycygnYXBwX3NpZGViYXJzX3NpZGViYXIzJykpIHsNCiAgICAgICAgJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjMgPSAkemJwLT5vcHRpb25bJ1pDX1NJREVCQVIzX09SREVSJ107DQogICAgfSBlbHNlIHsNCiAgICAgICAgJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjMgPSAnJzsNCiAgICB9DQogICAgaWYgKEdldFZhcnMoJ2FwcF9zaWRlYmFyc19zaWRlYmFyNCcpKSB7DQogICAgICAgICRhcHAtPnNpZGViYXJzX3NpZGViYXI0ID0gJHpicC0+b3B0aW9uWydaQ19TSURFQkFSNF9PUkRFUiddOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRhcHAtPnNpZGViYXJzX3NpZGViYXI0ID0gJyc7DQogICAgfQ0KICAgIGlmIChHZXRWYXJzKCdhcHBfc2lkZWJhcnNfc2lkZWJhcjUnKSkgew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyNSA9ICR6YnAtPm9wdGlvblsnWkNfU0lERUJBUjVfT1JERVInXTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyNSA9ICcnOw0KICAgIH0NCiAgICBpZiAoR2V0VmFycygnYXBwX3NpZGViYXJzX3NpZGViYXI2JykpIHsNCiAgICAgICAgJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjYgPSAkemJwLT5vcHRpb25bJ1pDX1NJREVCQVI2X09SREVSJ107DQogICAgfSBlbHNlIHsNCiAgICAgICAgJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjYgPSAnJzsNCiAgICB9DQogICAgaWYgKEdldFZhcnMoJ2FwcF9zaWRlYmFyc19zaWRlYmFyNycpKSB7DQogICAgICAgICRhcHAtPnNpZGViYXJzX3NpZGViYXI3ID0gJHpicC0+b3B0aW9uWydaQ19TSURFQkFSN19PUkRFUiddOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRhcHAtPnNpZGViYXJzX3NpZGViYXI3ID0gJyc7DQogICAgfQ0KICAgIGlmIChHZXRWYXJzKCdhcHBfc2lkZWJhcnNfc2lkZWJhcjgnKSkgew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyOCA9ICR6YnAtPm9wdGlvblsnWkNfU0lERUJBUjhfT1JERVInXTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkYXBwLT5zaWRlYmFyc19zaWRlYmFyOCA9ICcnOw0KICAgIH0NCiAgICBpZiAoR2V0VmFycygnYXBwX3NpZGViYXJzX3NpZGViYXI5JykpIHsNCiAgICAgICAgJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjkgPSAkemJwLT5vcHRpb25bJ1pDX1NJREVCQVI5X09SREVSJ107DQogICAgfSBlbHNlIHsNCiAgICAgICAgJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjkgPSAnJzsNCiAgICB9DQoNCiAgICAkYXBwLT5TYXZlSW5mb0J5WG1sKCk7DQoNCiAgICAkdCA9ICcmdG9rZW49JyAuICR6YnAtPkdldFRva2VuKCdBcHBDZW50cmUnKTsNCiAgICAkemJwLT5TZXRIaW50KCdnb29kJywgJzxhIGhyZWY9InN1Ym1pdC5waHA/dHlwZT10aGVtZSZpZD0nIC4gJGFwcC0+aWQgLiAkdCAuICciPicgLiAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc3VibWl0dGVkIHN1Y2Nlc3NmdWxseSddIC4gJzwvYT4nKTsNCiAgICBSZWRpcmVjdCgkX1NFUlZFUlsiSFRUUF9SRUZFUkVSIl0pOw0KfQ0KDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5faGVhZGVyLnBocCc7DQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fdG9wLnBocCc7DQoNCj8+DQo8ZGl2IGlkPSJkaXZNYWluIj4NCg0KICA8ZGl2IGNsYXNzPSJkaXZIZWFkZXIiPjw/cGhwIGVjaG8gJGJsb2d0aXRsZTsgPz48L2Rpdj4NCjxkaXYgY2xhc3M9IlN1Yk1lbnUiPjw/cGhwIEFwcENlbnRyZV9TdWJNZW51cyhHZXRWYXJzKCdpZCcsICdHRVQnKSA9PSAnJyA/IDYgOiAnJyk7ID8+PC9kaXY+DQogIDxkaXYgaWQ9ImRpdk1haW4yIj4NCg0KPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+DQo8P3BocCBlY2hvICc8aW5wdXQgaWQ9InRva2VuIiBuYW1lPSJ0b2tlbiIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJyAuICR6YnAtPkdldFRva2VuKCdBcHBDZW50cmUnKSAuICciLz4nOyA/Pg0KICA8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0idGFibGVCb3JkZXIgdGFibGVCb3JkZXItdGhjZW50ZXIiPg0KICAgIDx0cj4NCiAgICAgIDx0aCB3aWR0aD0nMjglJz4mbmJzcDs8L3RoPg0KICAgICAgPHRoPiZuYnNwOzwvdGg+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2lkJ107ID8+PC9iPjxici8+DQogICAgICAgICAgPHNwYW4gY2xhc3M9Im5vdGUiPiZuYnNwOyZuYnNwOzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9pZF9ub3RlJ107ID8+PC9zcGFuPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2lkIiBuYW1lPSJhcHBfaWQiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5pZDsgPz4iIDw/cGhwIGVjaG8gKCRhcHAtPmlkKSA/ICdyZWFkb25seT0icmVhZG9ubHkiJyA6ICcnOyA/PiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfbmFtZSddOyA/PjwvYj48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfbmFtZSIgbmFtZT0iYXBwX25hbWUiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5uYW1lOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsncHVibGlzaF91cmwnXTsgPz48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfdXJsIiBuYW1lPSJhcHBfdXJsIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+dXJsOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX2ludHJvJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX25vdGUiIG5hbWU9ImFwcF9ub3RlIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+bm90ZTsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FkYXB0ZWRfemJsb2dfdmVyc2lvbiddOyA/PjwvYj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8c2VsZWN0IG5hbWU9ImFwcF9hZGFwdGVkIiBpZD0iYXBwX2FkYXB0ZWQiIHN0eWxlPSJ3aWR0aDo0MDBweDsiPg0KPD9waHAgZWNobyBBcHBDZW50cmVfQ3JlYXRlT3B0aW9uc09mVmVyc2lvbigkYXBwLT5hZGFwdGVkKTsgPz4NCiAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX3ZlcnNpb24nXTsgPz48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfdmVyc2lvbjEiIG5hbWU9ImFwcF92ZXJzaW9uMSIgc3R5bGU9IndpZHRoOjE3NXB4OyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIHN0ZXA9IjEiIHZhbHVlPSI8P3BocCBlY2hvIFNwbGl0QW5kR2V0KCRhcHAtPnZlcnNpb24sICcuJywgMCk7ID8+IiAvPiAuDQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfdmVyc2lvbjIiIG5hbWU9ImFwcF92ZXJzaW9uMiIgc3R5bGU9IndpZHRoOjE3NXB4OyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIHN0ZXA9IjEiIHZhbHVlPSI8P3BocCBlY2hvIFNwbGl0QW5kR2V0KCRhcHAtPnZlcnNpb24sICcuJywgMSk7ID8+IiAvPiAuDQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfdmVyc2lvbjMiIG5hbWU9ImFwcF92ZXJzaW9uMyIgc3R5bGU9IndpZHRoOjE3NXB4OyIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIHN0ZXA9IjEiIHZhbHVlPSI8P3BocCBlY2hvIFNwbGl0QW5kR2V0KCRhcHAtPnZlcnNpb24sICcuJywgMik7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydmaXJzdF9yZWxlYXNlX2RhdGUnXTsgPz48L2I+PGJyLz4NCiAgICAgICAgICA8c3BhbiBjbGFzcz0ibm90ZSI+Jm5ic3A7Jm5ic3A7PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZGF0ZV9mb3JtYXQnXTsgPz48L3NwYW4+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfcHViZGF0ZSIgbmFtZT0iYXBwX3B1YmRhdGUiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5wdWJkYXRlOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbGFzdF9tb2RpZmllZCddOyA/PjwvYj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9tb2RpZmllZCIgbmFtZT0iYXBwX21vZGlmaWVkIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+bW9kaWZpZWQ7ID8+IiByZWFkb25seT0icmVhZG9ubHkiIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2F1dGhvcl9uYW1lJ107ID8+PC9iPjwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2F1dGhvcl9uYW1lIiBuYW1lPSJhcHBfYXV0aG9yX25hbWUiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5hdXRob3JfbmFtZTsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2F1dGhvcl9lbWFpbCddOyA/PjwvYj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9hdXRob3JfZW1haWwiIG5hbWU9ImFwcF9hdXRob3JfZW1haWwiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5hdXRob3JfZW1haWw7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhdXRob3Jfd2Vic2l0ZSddOyA/PjwvYj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9hdXRob3JfdXJsIiBuYW1lPSJhcHBfYXV0aG9yX3VybCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmF1dGhvcl91cmw7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydzb3VyY2VfYXV0aG9yX25hbWUnXTsgPz48L2I+ICg8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9zb3VyY2VfbmFtZSIgbmFtZT0iYXBwX3NvdXJjZV9uYW1lIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+c291cmNlX25hbWU7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydzb3VyY2VfYXV0aG9yX2VtYWlsJ107ID8+PC9iPiAoPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnb3B0aW9uYWwnXTsgPz4pPC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfc291cmNlX2VtYWlsIiBuYW1lPSJhcHBfc291cmNlX2VtYWlsIiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+c291cmNlX2VtYWlsOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc291cmNlX2F1dGhvcl93ZWJzaXRlJ107ID8+PC9iPiAoPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnb3B0aW9uYWwnXTsgPz4pPC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfc291cmNlX3VybCIgbmFtZT0iYXBwX3NvdXJjZV91cmwiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5zb3VyY2VfdXJsOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnYXBwX21hbmFnZW1lbnRfcGFnZSddOyA/PjwvYj4gKDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTxici8+DQogICAgICAgICAgPHNwYW4gY2xhc3M9Im5vdGUiPiZuYnNwOyZuYnNwOzw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2FwcF9tYW5hZ2VtZW50X3BhZ2Vfbm90ZSddOyA/Pjwvc3Bhbj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9wYXRoIiBuYW1lPSJhcHBfcGF0aCIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPnBhdGg7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfZW1iZWRkaW5nX3BhZ2UnXTsgPz48L2I+ICg8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydvcHRpb25hbCddOyA/Pik8YnIvPg0KICAgICAgICAgIDxzcGFuIGNsYXNzPSJub3RlIj4mbmJzcDsmbmJzcDs8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfZW1iZWRkaW5nX3BhZ2Vfbm90ZSddOyA/Pjwvc3Bhbj48L3A+PC90ZD4NCiAgICAgIDx0ZD48cD4mbmJzcDsNCiAgICAgICAgICA8aW5wdXQgaWQ9ImFwcF9pbmNsdWRlIiBuYW1lPSJhcHBfaW5jbHVkZSIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmluY2x1ZGU7ID8+IiAvPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfbWFuYWdlbWVudF9wZXJtaXNzaW9ucyddOyA/PjwvYj4gKDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxzZWxlY3QgbmFtZT0iYXBwX2xldmVsIiBpZD0iYXBwX2xldmVsIiBzdHlsZT0id2lkdGg6MjAwcHg7Ij4NCjw/cGhwDQppZiAoZnVuY3Rpb25fZXhpc3RzKCdPdXRwdXRPcHRpb25JdGVtc09mTWVtYmVyTGV2ZWwnKSkgew0KICAgIGVjaG8gT3V0cHV0T3B0aW9uSXRlbXNPZk1lbWJlckxldmVsKDEpOw0KfSBlbHNlIHsNCiAgICBlY2hvIENyZWF0ZU9wdG9pbnNPZk1lbWJlckxldmVsKDEpOw0KfQ0KPz4NCiAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCjw/cGhwIGlmIChwcm9wZXJ0eV9leGlzdHMoJGFwcCwgJ3BocHZlcicpKSB7ID8+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3BocF9yZXF1aXJlZF92ZXJzaW9uJ107ID8+PC9iPiAoPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnb3B0aW9uYWwnXTsgPz4pPC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPHNlbGVjdCBuYW1lPSJhcHBfcGhwdmVyIiBpZD0iYXBwX3BocHZlciIgc3R5bGU9IndpZHRoOjQwMHB4OyI+DQogICAgPD9waHAgZWNobyBBcHBDZW50cmVfUEhQVmVyc2lvbigkYXBwLT5waHB2ZXIpOyA/Pg0KICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KPD9waHAgfSA/Pg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhcHBfcHJpY2UnXTsgPz48L2I+PC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfcHJpY2UiIG5hbWU9ImFwcF9wcmljZSIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPnByaWNlOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+PHA+PGI+wrcgPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnZGVwZW5kZW50X2FwcHMnXTsgPz48L2I+KDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2FkdmFuY2VkX2RlcGVuZGVuY3kiIG5hbWU9ImFwcF9hZHZhbmNlZF9kZXBlbmRlbmN5IiBzdHlsZT0id2lkdGg6NTUwcHg7IiAgdHlwZT0idGV4dCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFwcC0+YWR2YW5jZWRfZGVwZW5kZW5jeTsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2NvbmZsaWN0X2FwcHMnXTsgPz48L2I+KDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2FkdmFuY2VkX2NvbmZsaWN0IiBuYW1lPSJhcHBfYWR2YW5jZWRfY29uZmxpY3QiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5hZHZhbmNlZF9jb25mbGljdDsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydyZXdyaXRlX2Z1bmN0aW9ucyddOyA/PjwvYj4oPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnb3B0aW9uYWwnXTsgPz4pPC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPGlucHV0IGlkPSJhcHBfYWR2YW5jZWRfcmV3cml0ZWZ1bmN0aW9ucyIgbmFtZT0iYXBwX2FkdmFuY2VkX3Jld3JpdGVmdW5jdGlvbnMiIHN0eWxlPSJ3aWR0aDo1NTBweDsiICB0eXBlPSJ0ZXh0IiB2YWx1ZT0iPD9waHAgZWNobyAkYXBwLT5hZHZhbmNlZF9yZXdyaXRlZnVuY3Rpb25zOyA/PiIgLz4NCiAgICAgICAgPC9wPjwvdGQ+DQogICAgPC90cj4NCjw/cGhwIGlmIChwcm9wZXJ0eV9leGlzdHMoJGFwcCwgJ2FkdmFuY2VkX2V4aXN0c2Z1bmN0aW9ucycpKSB7ID8+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2V4aXN0c19mdW5jdGlvbnMnXTsgPz48L2I+KDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxpbnB1dCBpZD0iYXBwX2FkdmFuY2VkX2V4aXN0c2Z1bmN0aW9ucyIgbmFtZT0iYXBwX2FkdmFuY2VkX2V4aXN0c2Z1bmN0aW9ucyIgc3R5bGU9IndpZHRoOjU1MHB4OyIgIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRhcHAtPmFkdmFuY2VkX2V4aXN0c2Z1bmN0aW9uczsgPz4iIC8+DQogICAgICAgIDwvcD48L3RkPg0KICAgIDwvdHI+DQo8P3BocCB9ID8+DQogICAgPHRyPg0KICAgICAgPHRkPjxwPjxiPsK3IDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2RldGFpbGVkX2Rlc2NyaXB0aW9uJ107ID8+PC9iPiAoPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnb3B0aW9uYWwnXTsgPz4pPC9wPjwvdGQ+DQogICAgICA8dGQ+PHA+Jm5ic3A7DQogICAgICAgICAgPHRleHRhcmVhIGNvbHM9IjMiIHJvd3M9IjYiIGlkPSJhcHBfZGVzY3JpcHRpb24iIG5hbWU9ImFwcF9kZXNjcmlwdGlvbiIgc3R5bGU9IndpZHRoOjU1MHB4OyI+PD9waHAgZWNobyBodG1sc3BlY2lhbGNoYXJzKCRhcHAtPmRlc2NyaXB0aW9uKTsgPz48L3RleHRhcmVhPg0KICAgICAgICA8L3A+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgIDx0ZD48cD48Yj7CtyA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydleHBvcnRfc2lkZWJhciddOyA/PjwvYj4gKDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ29wdGlvbmFsJ107ID8+KTwvcD48L3RkPg0KICAgICAgPHRkPjxwPiZuYnNwOw0KICAgICAgICAgIDxsYWJlbD4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iYXBwX3NpZGViYXJzX3NpZGViYXIxIiB2YWx1ZT0iMSINCiAgICAgICAgICAgIDw/cGhwDQogICAgICAgICAgICBpZiAoJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjEpIHsNCiAgICAgICAgICAgICAgICBlY2hvICdjaGVja2VkPSJjaGVja2VkIic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4NCiAgICAgICAgICAgIDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3NpZGViYXInXTsgPz48L2xhYmVsPg0KICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KICAgICAgICAgIDxsYWJlbD4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iYXBwX3NpZGViYXJzX3NpZGViYXIyIiB2YWx1ZT0iMSINCiAgICAgICAgICAgIDw/cGhwDQogICAgICAgICAgICBpZiAoJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjIpIHsNCiAgICAgICAgICAgICAgICBlY2hvICdjaGVja2VkPSJjaGVja2VkIic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+DQogICAgICAgICAgICA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ21zZyddWydzaWRlYmFyMiddOyA/PjwvbGFiZWw+DQogICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQogICAgICAgICAgPGxhYmVsPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJhcHBfc2lkZWJhcnNfc2lkZWJhcjMiIHZhbHVlPSIxIg0KICAgICAgICAgICAgPD9waHANCiAgICAgICAgICAgIGlmICgkYXBwLT5zaWRlYmFyc19zaWRlYmFyMykgew0KICAgICAgICAgICAgICAgIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgID8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4NCiAgICAgICAgICAgIDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3NpZGViYXIzJ107ID8+PC9sYWJlbD4NCiAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCiAgICAgICAgICA8bGFiZWw+DQogICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImFwcF9zaWRlYmFyc19zaWRlYmFyNCIgdmFsdWU9IjEiDQogICAgICAgICAgICA8P3BocA0KICAgICAgICAgICAgaWYgKCRhcHAtPnNpZGViYXJzX3NpZGViYXI0KSB7DQogICAgICAgICAgICAgICAgZWNobyAnY2hlY2tlZD0iY2hlY2tlZCInOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgPz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPg0KICAgICAgICAgICAgPD9waHAgZWNobyAkemJwLT5sYW5nWydtc2cnXVsnc2lkZWJhcjQnXTsgPz48L2xhYmVsPg0KICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KICAgICAgICAgIDxsYWJlbD4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iYXBwX3NpZGViYXJzX3NpZGViYXI1IiB2YWx1ZT0iMSINCiAgICAgICAgICAgIDw/cGhwDQogICAgICAgICAgICBpZiAoJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjUpIHsNCiAgICAgICAgICAgICAgICBlY2hvICdjaGVja2VkPSJjaGVja2VkIic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+DQogICAgICAgICAgICA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ21zZyddWydzaWRlYmFyNSddOyA/PjwvbGFiZWw+DQogICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQogICAgICAgICAgPGxhYmVsPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJhcHBfc2lkZWJhcnNfc2lkZWJhcjYiIHZhbHVlPSIxIg0KICAgICAgICAgICAgPD9waHANCiAgICAgICAgICAgIGlmICgkYXBwLT5zaWRlYmFyc19zaWRlYmFyNikgew0KICAgICAgICAgICAgICAgIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgID8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4NCiAgICAgICAgICAgIDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3NpZGViYXI2J107ID8+PC9sYWJlbD4NCiAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCiAgICAgICAgICA8bGFiZWw+DQogICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImFwcF9zaWRlYmFyc19zaWRlYmFyNyIgdmFsdWU9IjEiDQogICAgICAgICAgICA8P3BocA0KICAgICAgICAgICAgaWYgKCRhcHAtPnNpZGViYXJzX3NpZGViYXI3KSB7DQogICAgICAgICAgICAgICAgZWNobyAnY2hlY2tlZD0iY2hlY2tlZCInOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgPz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPg0KICAgICAgICAgICAgPD9waHAgZWNobyAkemJwLT5sYW5nWydtc2cnXVsnc2lkZWJhcjcnXTsgPz48L2xhYmVsPg0KICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KICAgICAgICAgIDxsYWJlbD4NCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iYXBwX3NpZGViYXJzX3NpZGViYXI4IiB2YWx1ZT0iMSINCiAgICAgICAgICAgIDw/cGhwDQogICAgICAgICAgICBpZiAoJGFwcC0+c2lkZWJhcnNfc2lkZWJhcjgpIHsNCiAgICAgICAgICAgICAgICBlY2hvICdjaGVja2VkPSJjaGVja2VkIic7DQogICAgICAgICAgICB9DQogICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+DQogICAgICAgICAgICA8P3BocCBlY2hvICR6YnAtPmxhbmdbJ21zZyddWydzaWRlYmFyOCddOyA/PjwvbGFiZWw+DQogICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQogICAgICAgICAgPGxhYmVsPg0KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJhcHBfc2lkZWJhcnNfc2lkZWJhcjkiIHZhbHVlPSIxIg0KICAgICAgICAgICAgPD9waHANCiAgICAgICAgICAgIGlmICgkYXBwLT5zaWRlYmFyc19zaWRlYmFyOSkgew0KICAgICAgICAgICAgICAgIGVjaG8gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgID8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz4NCiAgICAgICAgICAgIDw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3NpZGViYXI5J107ID8+PC9sYWJlbD4NCiAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8L3A+PC90ZD4NCiAgICA8L3RyPg0KICA8L3RhYmxlPg0KICA8cD48P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd0aGVtZV9sb2dvX3RpcHMnXTsgPz48L3A+DQogIDxwPjxici8+DQogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ1dHRvbiIgdmFsdWU9Ijw/cGhwIGVjaG8gJHpicC0+bGFuZ1snbXNnJ11bJ3N1Ym1pdCddOyA/PiIgaWQ9ImJ0blBvc3QiIG9uY2xpY2s9JycgLz4NCiAgPC9wPg0KICA8cD4mbmJzcDs8L3A+DQo8L2Zvcm0+DQoNCg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BY3RpdmVMZWZ0TWVudSgiYUFwcENlbnRyZSIpOzwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BZGRIZWFkZXJJY29uKCI8P3BocCBlY2hvICRibG9naG9zdCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2xvZ28ucG5nJzsgPz4iKTs8L3NjcmlwdD4NCiAgPC9kaXY+DQo8L2Rpdj4NCjw/cGhwDQpyZXF1aXJlICRibG9ncGF0aCAuICd6Yl9zeXN0ZW0vYWRtaW4vYWRtaW5fZm9vdGVyLnBocCc7DQoNClJ1blRpbWUoKTsNCg0K
AppCentre/tpl/include.htmlPD9waHANCiPms6jlhozmj5Lku7YNClJlZ2lzdGVyUGx1Z2luKCI8JWFwcGlkJT4iLCJBY3RpdmVQbHVnaW5fPCVhcHBpZCU+Iik7DQoNCmZ1bmN0aW9uIEFjdGl2ZVBsdWdpbl88JWFwcGlkJT4oKSB7fQ0KZnVuY3Rpb24gSW5zdGFsbFBsdWdpbl88JWFwcGlkJT4oKSB7fQ0KZnVuY3Rpb24gVW5pbnN0YWxsUGx1Z2luXzwlYXBwaWQlPigpIHt9
AppCentre/tpl/main.htmlPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQpyZXF1aXJlICcuLi8uLi8uLi96Yl9zeXN0ZW0vZnVuY3Rpb24vY19zeXN0ZW1fYWRtaW4ucGhwJzsNCiR6YnAtPkxvYWQoKTsNCiRhY3Rpb249J3Jvb3QnOw0KaWYgKCEkemJwLT5DaGVja1JpZ2h0cygkYWN0aW9uKSkgeyR6YnAtPlNob3dFcnJvcig2KTtkaWUoKTt9DQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCc8JWFwcGlkJT4nKSkgeyR6YnAtPlNob3dFcnJvcig0OCk7ZGllKCk7fQ0KDQppZiAoY291bnQoJF9QT1NUKSA+IDApIHsNCkNoZWNrSXNSZWZlcmVyVmFsaWQoKTsNCn0NCg0KJGJsb2d0aXRsZT0nPCVhcHBuYW1lJT4nOw0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX2hlYWRlci5waHAnOw0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX3RvcC5waHAnOw0KPz4NCjxkaXYgaWQ9ImRpdk1haW4iPg0KICA8ZGl2IGNsYXNzPSJkaXZIZWFkZXIiPjw/cGhwIGVjaG8gJGJsb2d0aXRsZTs/PjwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJTdWJNZW51Ij4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9ImRpdk1haW4yIj4NCjwhLS3ku6PnoIEtLT4NCiAgPC9kaXY+DQo8L2Rpdj4NCg0KPD9waHANCnJlcXVpcmUgJGJsb2dwYXRoIC4gJ3piX3N5c3RlbS9hZG1pbi9hZG1pbl9mb290ZXIucGhwJzsNClJ1blRpbWUoKTsNCj8+
AppCentre/update.phpPD9waHANCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9iYXNlLnBocCc7DQoNCnJlcXVpcmUgJy4uLy4uLy4uL3piX3N5c3RlbS9mdW5jdGlvbi9jX3N5c3RlbV9hZG1pbi5waHAnOw0KDQppZiAoJGJsb2d2ZXJzaW9uIDw9IDE1MTYyNikgew0KICAgIGlmIChjbGFzc19leGlzdHMoJ05ldHdvcmsnLCBmYWxzZSkgPT0gZmFsc2UpIHsNCiAgICAgICAgQXV0b2xvYWRDbGFzcygnTmV0d29yaycpOw0KICAgICAgICBpbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9uZXR3b3JrY3VybC5waHAnOw0KICAgICAgICBpbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9uZXR3b3JrZmlsZV9nZXRfY29udGVudHMucGhwJzsNCiAgICAgICAgaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvbmV0d29ya2Zzb2Nrb3Blbi5waHAnOw0KICAgIH0NCn0NCnJlcXVpcmUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLnBocCc7DQoNCiR6YnAtPkxvYWQoKTsNCg0KJHQgPSAnJnRva2VuPScgLiAkemJwLT5HZXRUb2tlbignQXBwQ2VudHJlJyk7DQoNCiRhY3Rpb24gPSAncm9vdCc7DQppZiAoISR6YnAtPkNoZWNrUmlnaHRzKCRhY3Rpb24pKSB7DQogICAgJHpicC0+U2hvd0Vycm9yKDYpOw0KICAgIGRpZSgpOw0KfQ0KDQppZiAoISR6YnAtPkNoZWNrUGx1Z2luKCdBcHBDZW50cmUnKSkgew0KICAgICR6YnAtPlNob3dFcnJvcig0OCk7DQogICAgZGllKCk7DQp9DQoNCiRibG9ndGl0bGUgPSAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbmFtZSddIC4gJy0nIC4gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ3N5c3RlbV91cGRhdGUnXTsNCg0KJGNoZWNrYmVnaW4gPSBmYWxzZTsNCiRub3d4bWwgPSAnJzsNCg0KZnVuY3Rpb24gdXBkYXRlZGJfY29tbW9uKCkNCnsNCiAgICBnbG9iYWwgJHpicCwgJHRhYmxlOw0KfQ0KDQpmdW5jdGlvbiB1cGRhdGVkYl8xNXRvMTYoKQ0Kew0KICAgIGdsb2JhbCAkemJwLCAkdGFibGU7DQogICAgWkJsb2dFeGNlcHRpb246OlN1c3BlbmRFcnJvckhvb2soKTsNCiAgICBpZiAoJHpicC0+ZGItPnR5cGUgPT0gJ215c3FsJykgew0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ1RhZyddIC4gIiBBREQgIGB0YWdfVHlwZWAgVElOWUlOVCBOT1QgTlVMTCBERUZBVUxUICcwJzsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydDYXRlZ29yeSddIC4gIiBBREQgIGBjYXRlX1R5cGVgIFRJTllJTlQgTk9UIE5VTEwgREVGQVVMVCAnMCc7Iik7DQogICAgfSBlbHNlaWYgKCR6YnAtPmRiLT50eXBlID09ICdzcWxpdGUnKSB7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnVGFnJ10gLiAiIEFERCAgdGFnX1R5cGUgaW50ZWdlciBOT1QgTlVMTCBERUZBVUxUIDA7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnQ2F0ZWdvcnknXSAuICIgQUREICBjYXRlX1R5cGUgaW50ZWdlciBOT1QgTlVMTCBERUZBVUxUIDA7Iik7DQogICAgfQ0KICAgIGlmICgkemJwLT5kYi0+dHlwZSA9PSAnbXlzcWwnKSB7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnUG9zdCddIC4gIiBNT0RJRlkgIGBsb2dfVGVtcGxhdGVgIFZBUkNIQVIoIDI1NSApIE5PVCBOVUxMIERFRkFVTFQgJyc7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnQ2F0ZWdvcnknXSAuICIgTU9ESUZZICBgY2F0ZV9UZW1wbGF0ZWAgVkFSQ0hBUiggMjU1ICkgTk9UIE5VTEwgREVGQVVMVCAnJzsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydDYXRlZ29yeSddIC4gIiBNT0RJRlkgIGBjYXRlX0xvZ1RlbXBsYXRlYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ0NvbW1lbnQnXSAuICIgTU9ESUZZICBgY29tbV9OYW1lYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ0NvbW1lbnQnXSAuICIgTU9ESUZZICBgY29tbV9FbWFpbGAgVkFSQ0hBUiggMjU1ICkgTk9UIE5VTEwgREVGQVVMVCAnJzsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydDb21tZW50J10gLiAiIE1PRElGWSAgYGNvbW1fSVBgIFZBUkNIQVIoIDI1NSApIE5PVCBOVUxMIERFRkFVTFQgJyc7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnQ29uZmlnJ10gLiAiIE1PRElGWSAgYGNvbmZfTmFtZWAgVkFSQ0hBUiggMjU1ICkgTk9UIE5VTEwgREVGQVVMVCAnJzsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydDb25maWcnXSAuICIgTU9ESUZZICBgY29uZl9WYWx1ZWAgTE9OR1RFWFQgTk9UIE5VTEw7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnTWVtYmVyJ10gLiAiIE1PRElGWSAgYG1lbV9OYW1lYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ01lbWJlciddIC4gIiBNT0RJRlkgIGBtZW1fUGFzc3dvcmRgIFZBUkNIQVIoIDI1NSApIE5PVCBOVUxMIERFRkFVTFQgJyc7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnTWVtYmVyJ10gLiAiIE1PRElGWSAgYG1lbV9FbWFpbGAgVkFSQ0hBUiggMjU1ICkgTk9UIE5VTEwgREVGQVVMVCAnJzsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydNZW1iZXInXSAuICIgTU9ESUZZICBgbWVtX0lQYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ01lbWJlciddIC4gIiBNT0RJRlkgIGBtZW1fQWxpYXNgIFZBUkNIQVIoIDI1NSApIE5PVCBOVUxMIERFRkFVTFQgJyc7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnTWVtYmVyJ10gLiAiIE1PRElGWSAgYG1lbV9UZW1wbGF0ZWAgVkFSQ0hBUiggMjU1ICkgTk9UIE5VTEwgREVGQVVMVCAnJzsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydNb2R1bGUnXSAuICIgTU9ESUZZICBgbW9kX0ZpbGVOYW1lYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ01vZHVsZSddIC4gIiBNT0RJRlkgIGBtb2RfSHRtbElEYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ01vZHVsZSddIC4gIiBNT0RJRlkgIGBtb2RfU291cmNlYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ1RhZyddIC4gIiBNT0RJRlkgIGB0YWdfVGVtcGxhdGVgIFZBUkNIQVIoIDI1NSApIE5PVCBOVUxMIERFRkFVTFQgJyc7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnVXBsb2FkJ10gLiAiIE1PRElGWSAgYHVsX01pbWVUeXBlYCBWQVJDSEFSKCAyNTUgKSBOT1QgTlVMTCBERUZBVUxUICcnOyIpOw0KICAgIH0NCiAgICBpZiAoJHpicC0+ZGItPnR5cGUgPT0gJ215c3FsJykgew0KICAgICAgICBAJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydQb3N0J10gLiAiIERST1AgSU5ERVggICIgLiAkemJwLT5kYi0+ZGJwcmUgLiAibG9nX1ZUU0MgOyIpOw0KICAgIH0NCiAgICBaQmxvZ0V4Y2VwdGlvbjo6UmVzdW1lRXJyb3JIb29rKCk7DQogICAgJHpicC0+b3B0aW9uWydaQ19MQVNUX1ZFUlNJT04nXSA9IDE2MjA5MDsNCiAgICAkemJwLT5TYXZlT3B0aW9uKCk7DQogICAgLy8kemJwLT5TZXRIaW50KCdnb29kJyk7DQogICAgLy9SZWRpcmVjdCgnLi91cGRhdGUucGhwP29rJyk7cmV0dXJuOw0KfQ0KDQpmdW5jdGlvbiB1cGRhdGVkYl8xNHRvMTUoKQ0Kew0KICAgIGdsb2JhbCAkemJwLCAkdGFibGU7DQoNCiAgICBpZiAoJHpicC0+ZGItPnR5cGUgPT0gJ215c3FsJykgew0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ1Bvc3QnXSAuICIgRFJPUCBJTkRFWCAgIiAuICR6YnAtPmRiLT5kYnByZSAuICJsb2dfVElTQyA7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnUG9zdCddIC4gIiBEUk9QIElOREVYICAiIC4gJHpicC0+ZGItPmRicHJlIC4gImxvZ19QVCA7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnUG9zdCddIC4gIiBBREQgSU5ERVggICIgLiAkemJwLT5kYi0+ZGJwcmUgLiAibG9nX1RQSVNDKGxvZ19UeXBlLGxvZ19Qb3N0VGltZSxsb2dfSXNUb3AsbG9nX1N0YXR1cyxsb2dfQ2F0ZUlEKSA7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnQ29tbWVudCddIC4gIiBEUk9QIElOREVYICAiIC4gJHpicC0+ZGItPmRicHJlIC4gImNvbW1fUFQgOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ0NvbW1lbnQnXSAuICIgRFJPUCBJTkRFWCAgIiAuICR6YnAtPmRiLT5kYnByZSAuICJjb21tX1JJTCA7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnQ29tbWVudCddIC4gIiBBREQgSU5ERVggICIgLiAkemJwLT5kYi0+ZGJwcmUgLiAiY29tbV9MUkkoY29tbV9Mb2dJRCxjb21tX1Jvb3RJRCxjb21tX0lzQ2hlY2tpbmcpIDsiKTsNCiAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJBTFRFUiBUQUJMRSAiIC4gJHRhYmxlWydDb21tZW50J10gLiAiIEFERCBJTkRFWCAgIiAuICR6YnAtPmRiLT5kYnByZSAuICJjb21tX0lzQ2hlY2tpbmcoY29tbV9Jc0NoZWNraW5nKSA7Iik7DQogICAgICAgICR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnQ2F0ZWdvcnknXSAuICIgQUREIElOREVYICAiIC4gJHpicC0+ZGItPmRicHJlIC4gImNhdGVfT3JkZXIoY2F0ZV9PcmRlcikgOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ01lbWJlciddIC4gIiBBREQgSU5ERVggICIgLiAkemJwLT5kYi0+ZGJwcmUgLiAibWVtX0FsaWFzKG1lbV9BbGlhcykgOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkdGFibGVbJ01lbWJlciddIC4gIiBBREQgSU5ERVggICIgLiAkemJwLT5kYi0+ZGJwcmUgLiAibWVtX0xldmVsKG1lbV9MZXZlbCkgOyIpOw0KICAgIH0gZWxzZWlmICgkemJwLT5kYi0+dHlwZSA9PSAnc3FsaXRlJykgew0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkNSRUFURSBJTkRFWCAiIC4gJHpicC0+ZGItPmRicHJlIC4gImNhdGVfT3JkZXIgb24gIiAuICR0YWJsZVsnQ2F0ZWdvcnknXSAuICIoY2F0ZV9PcmRlcikgOyIpOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkNSRUFURSBJTkRFWCAiIC4gJHpicC0+ZGItPmRicHJlIC4gIm1lbV9BbGlhcyBvbiAiIC4gJHRhYmxlWydNZW1iZXInXSAuICIobWVtX0FsaWFzKSA7Iik7DQogICAgfQ0KICAgIC8qDQogICAgaWYgKCR6YnAtPmRiLT50eXBlID09ICdteXNxbCcgfHwgJHpicC0+ZGItPnR5cGUgPT0gJ3NxbGl0ZScpIHsNCiAgICAgICAgJHpicC0+ZGItPkRlbFRhYmxlKCRHTE9CQUxTWyd0YWJsZSddWydDb25maWcnXSk7DQogICAgICAgICRzID0gJHpicC0+ZGItPnNxbC0+Q3JlYXRlVGFibGUoJEdMT0JBTFNbJ3RhYmxlJ11bJ0NvbmZpZyddLCAkR0xPQkFMU1snZGF0YWluZm8nXVsnQ29uZmlnJ10pOw0KICAgICAgICAkemJwLT5kYi0+UXVlcnlNdWxpdCgkcyk7DQogICAgICAgIGlmICgkemJwLT5kYi0+dHlwZSA9PSAnbXlzcWwnKSB7DQogICAgICAgICAgICAkemJwLT5kYi0+UXVlcnkoIkFMVEVSIFRBQkxFICIgLiAkR0xPQkFMU1sndGFibGUnXVsnQ29uZmlnJ10gLiAiIEFERCBJTkRFWCAgIiAuICR6YnAtPmRiLT5kYnByZSAuICJjb25mX05hbWUoY29uZl9OYW1lKSA7Iik7DQogICAgICAgIH0gZWxzZWlmICgkemJwLT5kYi0+dHlwZSA9PSAnc3FsaXRlJykgew0KICAgICAgICAgICAgJHpicC0+ZGItPlF1ZXJ5KCJDUkVBVEUgSU5ERVggIiAuICR6YnAtPmRiLT5kYnByZSAuICJjb25mX05hbWUgb24gIiAuICRHTE9CQUxTWyd0YWJsZSddWydDb25maWcnXSAuICIoY29uZl9OYW1lKSA7Iik7DQogICAgICAgIH0NCiAgICAgICAgYXJyYXlfdW5zaGlmdCgkemJwLT5jb25maWdzLCAkemJwLT5jb25maWdzWydzeXN0ZW0nXSwgJHpicC0+Y29uZmlnc1snY2FjaGUnXSk7DQogICAgICAgIGZvcmVhY2ggKCR6YnAtPmNvbmZpZ3MgYXMgJGMpIHsNCiAgICAgICAgICAgICRjLT5TYXZlKCk7DQogICAgICAgIH0NCiAgICB9Ki8NCiAgICAkemJwLT5vcHRpb25bJ1pDX0xBU1RfVkVSU0lPTiddID0gMTUwMTAxOw0KICAgICR6YnAtPlNhdmVPcHRpb24oKTsNCiAgICAvLyR6YnAtPlNldEhpbnQoJ2dvb2QnKTsNCiAgICAvL1JlZGlyZWN0KCcuL3VwZGF0ZS5waHA/b2snKTtyZXR1cm47DQp9DQoNCmlmIChpc3NldCgkX0dFVFsndXBkYXRlZGInXSkpIHsNCiAgICAvL2lmICgkemJwLT52ZXJzaW9uID49IDE1MDEwMSAmJiAkemJwLT52ZXJzaW9uIDwgMTcwMDAwICYmIChpbnQpICR6YnAtPm9wdGlvblsnWkNfTEFTVF9WRVJTSU9OJ10gPCAxNTAxMDEpIHsNCiAgICAvLyAgICB1cGRhdGVkYl8xNHRvMTUoKTsNCiAgICAvL30NCiAgICBpZiAoJHpicC0+dmVyc2lvbiA+PSAxNjIwOTAgJiYgJHpicC0+dmVyc2lvbiA8IDE3MDAwMCAmJiAoaW50KSAkemJwLT5vcHRpb25bJ1pDX0xBU1RfVkVSU0lPTiddIDwgMTYyMDkwKSB7DQogICAgICAgIHVwZGF0ZWRiXzE1dG8xNigpOw0KICAgIH0NCiAgICBpZiAoZGVmaW5lZChaQ19WRVJTSU9OX01BSk9SKSAmJiBkZWZpbmVkKFpDX1ZFUlNJT05fTUlOT1IpKSB7DQogICAgICAgIGlmIChaQ19WRVJTSU9OX01BSk9SID09PSAnMScgJiYgWkNfVkVSU0lPTl9NSU5PUiA9PT0gJzUnKSB7DQogICAgICAgICAgICBpZiAoaXNfZGlyKCR6YnAtPnBhdGggLiAnL3piX3N5c3RlbS9hcGknKSkgew0KICAgICAgICAgICAgICAgIEBycm1kaXIoJHpicC0+cGF0aCAuICcvemJfc3lzdGVtL2FwaScpOyAvLyBGaXggYnVnISEhDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAkemJwLT5TZXRIaW50KCdnb29kJyk7DQogICAgUmVkaXJlY3QoJy4vdXBkYXRlLnBocD9vaycpOw0KICAgIHJldHVybjsNCn0NCg0KaWYgKEdldFZhcnMoJ3VwZGF0ZScsICdHRVQnKSAhPSAnJykgew0KICAgICR1cmwgPSBBUFBDRU5UUkVfU1lTVEVNX1VQREFURSAuICcnIC4gR2V0VmFycygndXBkYXRlJywgJ0dFVCcpIC4gJy54bWwnOw0KICAgICRmID0gQXBwQ2VudHJlX0dldEh0dHBDb250ZW50KCR1cmwpOw0KICAgICR4bWwgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoJGYpOw0KICAgIGlmICgkeG1sKSB7DQogICAgICAgIGZvcmVhY2ggKCR4bWwtPmNoaWxkcmVuKCkgYXMgJGZpbGUpIHsNCiAgICAgICAgICAgICRmdWxsID0gJHpicC0+cGF0aCAuIHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJGZpbGVbJ25hbWUnXSk7DQogICAgICAgICAgICAkZGlyID0gZGlybmFtZSgkZnVsbCk7DQogICAgICAgICAgICBpZiAoIWZpbGVfZXhpc3RzKCRkaXIgLiAnLycpKSB7DQogICAgICAgICAgICAgICAgQG1rZGlyKCRkaXIsIDA3NTUsIHRydWUpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkZiA9IGJhc2U2NF9kZWNvZGUoJGZpbGUpOw0KICAgICAgICAgICAgQGZpbGVfcHV0X2NvbnRlbnRzKCRmdWxsLCAkZik7DQogICAgICAgIH0NCiAgICAgICAgJHpicC0+U2V0SGludCgnZ29vZCcpOw0KICAgIH0NCiAgICBSZWRpcmVjdCgnLi91cGRhdGUucGhwP3VwZGF0ZWRiJyk7DQp9DQoNCmlmIChHZXRWYXJzKCdyZXN0b3JlJywgJ0dFVCcpICE9ICcnKSB7DQogICAgJGZpbGUgPSBiYXNlNjRfZGVjb2RlKEdldFZhcnMoJ3Jlc3RvcmUnLCAnR0VUJykpOw0KICAgICRmaWxlID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkZmlsZSk7DQogICAgJGhhc2ggPSAnaGFzaCcgLiBzdHJ0b3VwcGVyKEdldFZhcnMoJ2hhc2gnLCAnR0VUJykpOw0KDQogICAgJHVybCA9IEFQUENFTlRSRV9TWVNURU1fVVBEQVRFIC4gJycgLiAkR0xPQkFMU1snYmxvZ3ZlcnNpb24nXSAuICcvJyAuICRmaWxlOw0KICAgICRmID0gQXBwQ2VudHJlX0dldEh0dHBDb250ZW50KCR1cmwpOw0KDQogICAgJGYyID0gJGY7DQogICAgJGNyYzMyID0gc3Vic3RyKHN0cnRvdXBwZXIoZGVjaGV4KEFwcENlbnRyZV9jcmMzMl9zaWduZWQoJGYyKSkpLCAtOCk7DQogICAgJG1kNSA9IHN0cnRvdXBwZXIobWQ1KCRmMikpOw0KICAgICRmMiA9IHN0cl9yZXBsYWNlKCJcclxuIiwgIlxyIiwgJGYyKTsNCiAgICAkZjIgPSBzdHJfcmVwbGFjZSgiXG4iLCAiXHIiLCAkZjIpOw0KICAgICRtZDVfciA9IHN0cnRvdXBwZXIobWQ1KCRmMikpOw0KICAgICRmMiA9IHN0cl9yZXBsYWNlKCJcciIsICJcbiIsICRmMik7DQogICAgJG1kNV9uID0gc3RydG91cHBlcihtZDUoJGYyKSk7DQoNCiAgICBpZiAoc3RyaXBvcygkaGFzaCwgJGNyYzMyKSA9PT0gZmFsc2UgJiYgc3RyaXBvcygkaGFzaCwgJG1kNSkgPT09IGZhbHNlICYmIHN0cmlwb3MoJGhhc2gsICRtZDVfcikgPT09IGZhbHNlICYmIHN0cmlwb3MoJGhhc2gsICRtZDVfbikgPT09IGZhbHNlKSB7DQogICAgICAgIGRpZTsNCiAgICB9DQoNCiAgICAkZmlsZSA9ICR6YnAtPnBhdGggLiBzdHJfcmVwbGFjZSgnXFwnLCAnLycsICRmaWxlKTsNCiAgICAkZGlyID0gZGlybmFtZSgkZmlsZSk7DQogICAgaWYgKCFmaWxlX2V4aXN0cygkZGlyIC4gJy8nKSkgew0KICAgICAgICBAbWtkaXIoJGRpciwgMDc1NSwgdHJ1ZSk7DQogICAgfQ0KDQogICAgQGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkZik7DQogICAgZWNobyAnPGltZyBzcmM9IicgLiAkemJwLT5ob3N0IC4gJ3piX3N5c3RlbS9pbWFnZS9hZG1pbi9vay5wbmciIHdpZHRoPSIxNiIgYWx0PSIiIC8+JzsNCiAgICBkaWUoKTsNCn0NCg0KaWYgKEdldFZhcnMoJ2NoZWNrJywgJ0dFVCcpID09ICdub3cnKSB7DQogICAgJHIgPSBBcHBDZW50cmVfR2V0SHR0cENvbnRlbnQoQVBQQ0VOVFJFX1NZU1RFTV9VUERBVEUgLiAkemJwLT52ZXJzaW9uIC4gJy54bWwnKTsNCiAgICAvL2ZpbGVfcHV0X2NvbnRlbnRzKCR6YnAtPnVzZXJzZGlyIC4gJ2NhY2hlL25vdy54bWwnLCAkcik7DQogICAgJG5vd3htbCA9ICRyOw0KICAgICRjaGVja2JlZ2luID0gdHJ1ZTsNCn0NCg0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX2hlYWRlci5waHAnOw0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX3RvcC5waHAnOw0KDQokbmV3dmVyc2lvbl9qc29uID0gU2VydmVyX1NlbmRSZXF1ZXN0KEFQUENFTlRSRV9TWVNURU1fVVBEQVRFIC4gJ2NoZWNrLycgLiAoJHpicC0+Q29uZmlnKCdBcHBDZW50cmUnKS0+Y2hlY2tiZXRhID09IHRydWUgPyAnYmV0YS8nIDogJycpKTsNCiRuZXd2ZXJzaW9uX2pzb24gPSBqc29uX2RlY29kZSgkbmV3dmVyc2lvbl9qc29uKTsNCmlmICghaXNfb2JqZWN0KCRuZXd2ZXJzaW9uX2pzb24pKSB7DQogICAgJG5ld3ZlcnNpb24gPSAkYmxvZ3ZlcnNpb247DQogICAgJG5vd2J1aWxkID0gKGludCkgJGJsb2d2ZXJzaW9uOw0KICAgICRuZXdidWlsZCA9IChpbnQpIHN1YnN0cigkbmV3dmVyc2lvbiwgKHN0cnJwb3MoJG5ld3ZlcnNpb24sICcgJykgKyAxKSk7DQp9IGVsc2Ugew0KICAgICRuZXd2ZXJzaW9uID0gJG5ld3ZlcnNpb25fanNvbi0+dGFyZ2V0LT5uYW1lIC4gJyBCdWlsZCAnIC4gJG5ld3ZlcnNpb25fanNvbi0+dGFyZ2V0LT5idWlsZDsNCiAgICAkbm93YnVpbGQgPSAoaW50KSAkbmV3dmVyc2lvbl9qc29uLT5zb3VyY2UtPmJ1aWxkOw0KICAgICRuZXdidWlsZCA9IChpbnQpICRuZXd2ZXJzaW9uX2pzb24tPnRhcmdldC0+YnVpbGQ7DQogICAgaWYgKCRub3didWlsZCA9PSAwKSB7DQogICAgICAgICRub3didWlsZCA9IChpbnQpICRibG9ndmVyc2lvbjsNCiAgICB9DQp9DQo/Pg0KPGRpdiBpZD0iZGl2TWFpbiI+DQoNCiAgPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICRibG9ndGl0bGU7ID8+PC9kaXY+DQo8ZGl2IGNsYXNzPSJTdWJNZW51Ij48P3BocCBBcHBDZW50cmVfU3ViTWVudXMoMyk7ID8+PC9kaXY+DQogIDxkaXYgaWQ9ImRpdk1haW4yIj4NCg0KICAgICAgICAgICAgPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+DQoNCjxwPg0KPD9waHANCmlmICgkemJwLT52ZXJzaW9uID49IDE1MDEwMSAmJiAoaW50KSAkemJwLT5vcHRpb25bJ1pDX0xBU1RfVkVSU0lPTiddIDwgMTUwMTAxKSB7DQogICAgZWNobyAnPGlucHV0IGlkPSJ1cGRhdGVub3ciIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0ibG9jYXRpb24uaHJlZj1cJz91cGRhdGVkYlwnIiB2YWx1ZT0iJyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkYXRhYmFzZV91cGRhdGUnXSAuICciIC8+JzsNCn0NCmlmICgkemJwLT52ZXJzaW9uID49IDE2MjA5MCAmJiAoaW50KSAkemJwLT5vcHRpb25bJ1pDX0xBU1RfVkVSU0lPTiddIDwgMTYyMDkwKSB7DQogICAgZWNobyAnPGlucHV0IGlkPSJ1cGRhdGVub3ciIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0ibG9jYXRpb24uaHJlZj1cJz91cGRhdGVkYlwnIiB2YWx1ZT0iJyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydkYXRhYmFzZV91cGRhdGUnXSAuICciIC8+JzsNCn0NCj8+DQogICAgICAgICAgICAgIDwvcD48aHIvPg0KDQogICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGNsYXNzPSJ0YWJsZUJvcmRlciB0YWJsZUJvcmRlci10aGNlbnRlciI+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgPHRoIHdpZHRoPSc1MCUnPjw/cGhwIGVjaG8gJHpicC0+bGFuZ1snQXBwQ2VudHJlJ11bJ2N1cnJlbnRfdmVyc2lvbiddOyA/PjwvdGg+DQogICAgICAgICAgICAgICAgICA8dGg+PD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnbGF0ZXN0X3ZlcnNpb24nXTsgPz48L3RoPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPSdjZW50ZXInIGlkPSdub3cnPlotQmxvZ1BIUCANCjw/cGhwDQppZiAoZGVmaW5lZCgnWkNfVkVSU0lPTl9GVUxMJykpIHsNCiAgICBlY2hvIFpDX1ZFUlNJT05fRlVMTDsNCn0gZWxzZSB7DQogICAgZWNobyBaQ19CTE9HX1ZFUlNJT047DQp9DQo/Pg0KPC90ZD4NCiAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0nY2VudGVyJyBpZD0nbGFzdCc+Wi1CbG9nUEhQIDw/cGhwIGVjaG8gJG5ld3ZlcnNpb247ID8+PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICAgICAgICA8cD4NCg0KPD9waHANCmlmICgoJG5ld2J1aWxkIC0gJG5vd2J1aWxkKSA+IDApIHsNCiAgICBlY2hvICc8aW5wdXQgaWQ9InVwZGF0ZW5vdyIgdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJsb2NhdGlvbi5ocmVmPVwnP3VwZGF0ZT0nIC4gJG5vd2J1aWxkIC4gJy0nIC4gJG5ld2J1aWxkIC4gJ1wnIiB2YWx1ZT0iJyAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd1cGdyYWRlX3Byb2dyYW0nXSAuICciIC8+JzsNCn0NCj8+DQogICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgPGhyLz4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGl2SGVhZGVyIj48P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWyd2ZXJpZnlfY29yZV9maWxlJ107ID8+Jm5ic3A7Jm5ic3A7PHNwYW4gaWQ9ImNoZWNrbm93Ij48YSBocmVmPSI/Y2hlY2s9bm93IiB0aXRsZT0iPD9waHAgZWNobyAkemJwLT5sYW5nWydBcHBDZW50cmUnXVsnc3RhcnRfY2hlY2snXTsgPz4iPjxpbWcgc3JjPSJpbWFnZXMvcmVmcmVzaC5wbmciIHdpZHRoPSIxNiIgYWx0PSI8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydjaGVjayddOyA/PiIgLz48L2E+PC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBjbGFzcz0idGFibGVCb3JkZXIgdGFibGVCb3JkZXItdGhjZW50ZXIiPg0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0nNzglJz48P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydmaWxlbmFtZSddOyA/PjwvdGg+DQogICAgICAgICAgICAgICAgICA8dGggaWQ9Il9zIj48P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydzdGF0ZXMnXTsgPz48L3RoPg0KICAgICAgICAgICAgICAgIDwvdHI+DQo8P3BocA0KJGkgPSAwOw0KLy9pZiAoZmlsZV9leGlzdHMoJHpicC0+dXNlcnNkaXIgLiAnY2FjaGUvbm93LnhtbCcpKSB7DQppZiAoJG5vd3htbCAhPSAnJykgew0KICAgICRpID0gMDsNCiAgICBsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyh0cnVlKTsNCiAgICAvLyR4bWw9c2ltcGxleG1sX2xvYWRfZmlsZSgkemJwLT51c2Vyc2RpciAuICdjYWNoZS9ub3cueG1sJyk7DQogICAgJHhtbCA9IHNpbXBsZXhtbF9sb2FkX3N0cmluZygkbm93eG1sKTsNCiAgICBpZiAoJHhtbCkgew0KICAgICAgICBmb3JlYWNoICgkeG1sLT5jaGlsZHJlbigpIGFzICRmaWxlKSB7DQogICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGYgPSAkemJwLT5wYXRoIC4gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkZmlsZVsnbmFtZSddKSkpIHsNCiAgICAgICAgICAgICAgICAkZiA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmKTsNCiAgICAgICAgICAgICAgICAkbmV3Y3JjMzIgPSBzdWJzdHIoc3RydG91cHBlcihkZWNoZXgoQXBwQ2VudHJlX2NyYzMyX3NpZ25lZCgkZikpKSwgLTgpOw0KICAgICAgICAgICAgICAgICRtZDUgPSBzdHJ0b3VwcGVyKG1kNSgkZikpOw0KICAgICAgICAgICAgICAgICRmID0gc3RyX3JlcGxhY2UoIlxyXG4iLCAiXHIiLCAkZik7DQogICAgICAgICAgICAgICAgJGYgPSBzdHJfcmVwbGFjZSgiXG4iLCAiXHIiLCAkZik7DQogICAgICAgICAgICAgICAgJG1kNV9yID0gc3RydG91cHBlcihtZDUoJGYpKTsNCiAgICAgICAgICAgICAgICAkZiA9IHN0cl9yZXBsYWNlKCJcciIsICJcbiIsICRmKTsNCiAgICAgICAgICAgICAgICAkbWQ1X24gPSBzdHJ0b3VwcGVyKG1kNSgkZikpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbmV3Y3JjMzIgPSAnJzsNCiAgICAgICAgICAgICAgICAkbWQ1ID0gJyc7DQogICAgICAgICAgICAgICAgJG1kNV9yID0gJyc7DQogICAgICAgICAgICAgICAgJG1kNV9uID0gJyc7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRhciA9IGFycmF5KCRmaWxlWydjcmMzMiddLCRmaWxlWydtZDUnXSwkZmlsZVsnbWQ1X3InXSwkZmlsZVsnbWQ1X24nXSk7DQoNCiAgICAgICAgICAgIGlmIChpbl9hcnJheSgkbmV3Y3JjMzIsICRhcikgfHwgaW5fYXJyYXkoJG1kNSwgJGFyKSB8fCBpbl9hcnJheSgkbWQ1X3IsICRhcikgfHwgaW5fYXJyYXkoJG1kNV9uLCAkYXIpKSB7DQogICAgICAgICAgICAgICAgZWNobyAnPHRyIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48dGQ+PGI+JyAuIHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJGZpbGVbJ25hbWUnXSkgLiAnPC9iPjwvdGQ+JzsNCiAgICAgICAgICAgICAgICAkcyA9ICc8aW1nIHNyYz0iJyAuICR6YnAtPmhvc3QgLiAnemJfc3lzdGVtL2ltYWdlL2FkbWluL29rLnBuZyIgd2lkdGg9IjE2IiBhbHQ9IiIgLz4nOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkaSArPSAxOw0KICAgICAgICAgICAgICAgIGVjaG8gJzx0cj48dGQ+PGI+JyAuIHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJGZpbGVbJ25hbWUnXSkgLiAnPC9iPjwvdGQ+JzsNCiAgICAgICAgICAgICAgICAkcyA9ICc8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCkiIG9uY2xpY2s9InJlc3RvcmUoXCcnIC4gYmFzZTY0X2VuY29kZSgkZmlsZVsnbmFtZSddKSAuICdcJyxcJ2ZpbGUnIC4gbWQ1KCRmaWxlWyduYW1lJ10pIC4gJ1wnLFwnJyAuICRmaWxlWydjcmMzMiddIC4gJGZpbGVbJ21kNSddIC4gJGZpbGVbJ21kNV9yJ10gLiAkZmlsZVsnbWQ1X24nXSAuICdcJykiIGNsYXNzPSJyZXNvdHJlZmlsZSBidXR0b24iIHRpdGxlPSLov5jljp/ns7vnu5/mlofku7YiPjxpbWcgc3JjPSInIC4gJHpicC0+aG9zdCAuICd6Yl9zeXN0ZW0vaW1hZ2UvYWRtaW4vZXhjbGFtYXRpb24ucG5nIiB3aWR0aD0iMTYiIGFsdD0iIj48L2E+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVjaG8gJzx0ZCBjbGFzcz0idGRDZW50ZXIiIGlkPSJmaWxlJyAuIG1kNSgkZmlsZVsnbmFtZSddKSAuICciPicgLiAkcyAuICc8L3RkPjwvdHI+JzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBlY2hvICc8dHI+PHRoIGNvbHNwYW49IjIiPicgLiAkaSAuICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhdXRvbWF0aWNhbGx5X3VwZGF0ZV9maWxlcyddIC4gJy48L3RyPic7DQogICAgLy9AdW5saW5rKCR6YnAtPnVzZXJzZGlyIC4gJ2NhY2hlL25vdy54bWwnKTsNCn0NCj8+DQoNCiAgICAgICAgICAgICAgPC90YWJsZT4NCjw/cGhwIGlmICgkaSA+IDApIHsgPz4NCiAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0iYnV0dG9uIiBpZD0iYXV0b3Jlc3RvciIgb25jbGljaz0icmVzdG9yZWF1dG8oKTskKHRoaXMpLmhpZGUoKTsiIHZhbHVlPSI8P3BocCBlY2hvICR6YnAtPmxhbmdbJ0FwcENlbnRyZSddWydhdXRvbWF0aWNhbGx5X3VwZGF0ZV9maWxlcyddOyA/PiIgY2xhc3M9ImJ1dHRvbiIgLz4NCiAgICAgICAgICAgICAgPC9wPg0KICAgIDw/cGhwDQp9DQo/Pg0KICAgICAgICAgICAgICA8cD4gPC9wPg0KICAgICAgICAgICAgPC9mb3JtPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KDQokKCIjYXV0b3Jlc3RvciIpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24oKXtyZXN0b3Jlc2luZ2xlKCk7JCh0aGlzKS5oaWRlKCl9KTsNCg0KZnVuY3Rpb24gcmVzdG9yZXNpbmdsZSgpew0KICBpZigkKCJhLnJlc290cmVmaWxlIikuZ2V0KDApKXsNCiAgICAkKCJhLnJlc290cmVmaWxlIikuZ2V0KDApLmNsaWNrKCk7DQogICAgc2V0VGltZW91dCgicmVzdG9yZXNpbmdsZSgpIiwxMDAwKTsNCiAgfQ0KfQ0KDQoNCmZ1bmN0aW9uIHJlc3RvcmUoZixpZCxoYXNoKXsNCiAgICAkLmdldChibG9naG9zdCsiemJfdXNlcnMvcGx1Z2luL0FwcENlbnRyZS91cGRhdGUucGhwP3Jlc3RvcmU9IitmKyImaGFzaD0iK2hhc2gsIGZ1bmN0aW9uKGRhdGEpew0KICAgICAgICAvL2FsZXJ0KGRhdGEpOw0KICAgICAgICAkKCcjJytpZCkuaHRtbChkYXRhKTsNCiAgICB9KTsNCn0NCjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BY3RpdmVMZWZ0TWVudSgiYUFwcENlbnRyZSIpOzwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5BZGRIZWFkZXJJY29uKCI8P3BocCBlY2hvICRibG9naG9zdCAuICd6Yl91c2Vycy9wbHVnaW4vQXBwQ2VudHJlL2xvZ28ucG5nJzsgPz4iKTs8L3NjcmlwdD4NCiAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8P3BocA0KcmVxdWlyZSAkYmxvZ3BhdGggLiAnemJfc3lzdGVtL2FkbWluL2FkbWluX2Zvb3Rlci5waHAnOw0KWkJsb2dFeGNlcHRpb246OlN1c3BlbmRFcnJvckhvb2soKTsNCmlmICgkemJwLT5kYi0+dHlwZSA9PSAnbXlzcWwnKSB7DQogICAgQCR6YnAtPmRiLT5RdWVyeSgiQUxURVIgVEFCTEUgIiAuICR0YWJsZVsnUG9zdCddIC4gIiBEUk9QIElOREVYICAiIC4gJHpicC0+ZGItPmRicHJlIC4gImxvZ19WVFNDIDsiKTsNCn0NClpCbG9nRXhjZXB0aW9uOjpSZXN1bWVFcnJvckhvb2soKTsNClJ1blRpbWUoKTs=
aHR0cHM6Ly9sb2NhbGhvc3QvCkQ6L3BocHN0dWR5X3Byby9aQlAv